/* PitchNexus design preview. Scoped visual layer; no data or behavior overrides. */
@font-face{font-family:Manrope;src:url('/static/fonts/Manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--pn-font:Manrope,Arial,Helvetica,sans-serif;--pn-ink:#102b26;--pn-green:#087f5b;--pn-mint:#46e5a3;--pn-paper:#f4f7f4;--pn-border:#dce6e0;--pn-muted:#526b61;--pn-shadow:0 5px 22px #153b2910}
body.pn-design{font-family:var(--pn-font);color:var(--pn-ink);background:var(--pn-paper);-webkit-font-smoothing:antialiased}
.pn-design :is(h1,h2,h3,h4){font-family:var(--pn-font);letter-spacing:-.035em}
.pn-design :is(button,input,select,textarea){font-family:var(--pn-font)}
.pn-design :is(.section-label,.section-eyebrow,.account-eyebrow){color:var(--pn-green);font-size:10px;font-weight:800;letter-spacing:.16em}
.pn-design :is(a,button,input,select,summary):focus-visible{outline:3px solid #11865b;outline-offset:4px}
.pn-design :is(button,a){-webkit-tap-highlight-color:transparent}
.pn-design .topbar{background:#0b221d;border-color:#ffffff18;box-shadow:0 3px 16px #071e1a16}
.pn-design .topbar .nav{padding-top:15px;padding-bottom:15px}
.pn-design .topbar .brand-logo{width:250px}
.pn-design .pn-header-search{background:#ffffff0b;border-color:#ffffff28;border-radius:9px;color:#fff}
.pn-design .pn-header-search input{color:#f5fbf7;font-size:12px}
.pn-design .pn-header-search input::placeholder{color:#b6c9c0;opacity:1}
.pn-design .pn-header-search button{background:#ffffff0b;color:var(--pn-mint)}
.pn-design .pn-search-results{border-color:var(--pn-border);box-shadow:0 18px 38px #061e2429}
.pn-design .topbar .pn-primary-links{gap:20px}
.pn-design .topbar .pn-primary-links a{position:relative;font-size:12px;font-weight:700;padding:10px 0;color:#c5d8cf}
.pn-design .topbar .pn-primary-links a:hover,.pn-design .topbar .pn-primary-links a[aria-current=page]{color:#fff}
.pn-design .topbar .pn-primary-links a[aria-current=page]::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--pn-mint);border-radius:2px}
.pn-design .topbar nav a.pn-account-link{background:var(--pn-mint);border-color:var(--pn-mint);color:#102b26;font-size:12px;border-radius:7px;min-height:42px}
.pn-design .topbar .pn-languages button{background:#ffffff09;border-color:#ffffff24;border-radius:7px}
.pn-design .topbar .pn-languages button[aria-pressed=true]{border-color:var(--pn-mint);box-shadow:inset 0 0 0 1px #46e5a350}
.pn-design .topbar :is(a,button):focus-visible{outline-color:var(--pn-mint)}
/* Brand-led introductions, with the decorative pitch kept behind readable copy. */
.pn-design :is(.page-hero,.matches-head,.team-profile-hero,.club-hero,.pn-account-intro,.my-teams-section-head){background-color:var(--pn-ink);background-image:linear-gradient(90deg,#102b26 35%,#102b26c9),url('/static/design-pitch.svg');background-position:center,right center;background-repeat:no-repeat;background-size:cover,520px auto;color:#fff}
.pn-design .page-hero{padding:28px 0 44px}
.pn-design .page-hero h1{font-size:clamp(32px,3.3vw,46px);font-weight:800;line-height:1.12;color:#fff;max-width:880px;margin-top:12px;margin-bottom:16px}
.pn-design .page-hero p{max-width:760px;color:#c5d7cf;line-height:1.8;font-size:14px}
.pn-design :is(.page-hero,.matches-head,.my-teams-section-head) .section-label{color:var(--pn-mint)}
.pn-design .page-hero .page-share-toolbar{padding-top:0;margin-bottom:12px}
.pn-design .page-hero .share-trigger{background:#ffffff0b;color:#d8f7e6;border-color:#ffffff35}
.pn-design .matches-head{padding:34px 36px;border-radius:18px}
.pn-design .matches-head h1{font-size:clamp(30px,3.2vw,43px);line-height:1.15;margin:12px 0 18px}
.pn-design .matches-head p{color:#c5d7cf;opacity:1;line-height:1.8;font-size:14px;max-width:850px}
.pn-design .my-teams-section-head{padding:32px;border-radius:18px}
.pn-design .my-teams-section-head h1{color:white;font-size:36px}
.pn-design .my-teams-section-head #myTeamsQuery,.pn-design .my-teams-section-head #myTeamsCount{color:#c5d7cf}
.pn-design .pn-account-intro{padding:34px;border-radius:18px;margin-bottom:26px}
.pn-design .pn-account-intro .account-eyebrow{color:var(--pn-mint)}
.pn-design .pn-account-intro h1{font-size:clamp(30px,3.5vw,43px);line-height:1.15;max-width:720px;margin:14px 0 18px}
.pn-design .pn-account-intro .account-intro{color:#c5d7cf;font-size:14px;line-height:1.8;margin-bottom:0}
/* Profiles: team identity is the main visual anchor. */
.pn-design :is(.team-profile-hero,.club-hero){padding:36px;border-radius:18px;border-color:#173d32;box-shadow:0 12px 35px #0e38221c;gap:28px}
.pn-design :is(.team-profile-logo-wrap,.club-logo-wrap){background:#fff;border:6px solid #ffffff20;background-clip:padding-box;border-radius:18px;padding:12px;flex:0 0 116px;width:116px;height:116px;box-shadow:0 3px 18px #0002}
.pn-design :is(.team-profile-name,.club-title){color:white;font-size:clamp(24px,2.5vw,34px);line-height:1.25;font-weight:800;letter-spacing:-.035em;overflow-wrap:anywhere}
.pn-design :is(.team-profile-club,.team-profile-club a,.club-eyebrow,.club-details a){color:var(--pn-mint)}
.pn-design :is(.club-subtitle,.club-details){color:#c5d7cf}
.pn-design .club-details strong{color:#e8f5ef}
.pn-design .team-profile-badge{background:#ffffff0b;border-color:#ffffff22;color:#d4e6dd;font-size:10px;font-weight:600}
.pn-design .team-profile-club a:focus-visible,.pn-design .club-details a:focus-visible{outline-color:var(--pn-mint)}
.pn-design .seo-profile-summary{font-size:13px;line-height:1.9;color:var(--pn-muted);margin:22px 0 30px}
.pn-design .team-profile-section{margin-top:38px}
.pn-design :is(.section-heading-row h2,.club-section-head h2){font-size:24px;font-weight:800;color:var(--pn-ink);margin-top:6px}
/* Calm, consistent data surfaces. */
.pn-design :is(.team-stat-card,.team-intelligence-card,.team-match-card,.standout-card,.account-card,.matches-page .panel,.detail-page .detail-panel,.prediction-guide,.club-table-card,.ranking-table-card){border:1px solid var(--pn-border);box-shadow:var(--pn-shadow);background:#fff;border-radius:14px}
.pn-design .team-stat-card{padding:24px 10px 20px;border-top:3px solid #b9d9c8}
.pn-design .team-stat-card:first-child{border-top-color:var(--pn-green)}
.pn-design .team-stat-card:last-child{background:#e8f5ec;border-color:#c7e3d1;border-top-color:var(--pn-green)}
.pn-design .team-stat-value{font-size:clamp(23px,2vw,30px);font-weight:800;color:var(--pn-ink);font-variant-numeric:tabular-nums;letter-spacing:-.045em}
.pn-design .team-stat-label{color:#526b61;letter-spacing:.04em;font-size:9px;margin-top:12px}
.pn-design .metric-help{border-color:#b9cdc1;background:#f7faf7;color:#365c4b;width:23px;height:23px;margin-left:3px}
.pn-design .team-intelligence-card{padding:26px}
.pn-design .team-intelligence-title{font-size:16px;font-weight:800;color:var(--pn-ink);margin-bottom:18px}
.pn-design .team-intel-row{min-height:45px;border-color:#e7eee9}
.pn-design .team-intel-label{font-size:12px;color:var(--pn-muted)}
.pn-design .team-intel-value{font-size:13px;font-variant-numeric:tabular-nums;color:var(--pn-ink)}
.pn-design .team-match-card{transition:border-color .18s,box-shadow .18s}
.pn-design .team-match-card[data-detail]:hover{border-color:#97bda9;box-shadow:0 8px 28px #153b2916}
.pn-design .match-card-header{background:#f3f8f4;border-color:#e3ebe5}
.pn-design .match-team-logo-wrap{border-radius:10px;background:#fff}
.pn-design :is(.match-team-name,.ranking-team-name,.club-team-link){color:var(--pn-ink)}
.pn-design .match-final-score{background:#eaf3ed;border-radius:10px;color:var(--pn-ink);font-variant-numeric:tabular-nums}
.pn-design .match-prediction{background:#f9fbf9}
.pn-design .prediction-cell{border-color:#e0e9e3;background:#fff;border-radius:10px}
.pn-design .prediction-cell.prediction-leading{background:#e6f6ec;border-color:#a6d9bc}
.pn-design .prediction-value{font-variant-numeric:tabular-nums;font-weight:800}
/* Filters and results retain their existing responsive layout. */
.pn-design .ranking-controls-section{background:var(--pn-paper);padding:24px 0 0}
.pn-design .ranking-controls-card{border-color:var(--pn-border);box-shadow:var(--pn-shadow);border-radius:14px;padding:24px}
.pn-design .rankings-results-section{background:var(--pn-paper);padding-top:30px}
.pn-design .ranking-table-card{overflow-x:auto}
.pn-design .ranking-table-card th{background:#eaf1eb;color:#436051;padding:17px 14px;font-size:10px;letter-spacing:.06em}
.pn-design .ranking-table-card td{border-color:#e9eeea;padding:18px 14px;font-variant-numeric:tabular-nums}
.pn-design .ranking-table-card tbody tr:hover{background:#f0f8f2}
.pn-design .ranking-table-card .rank{font-weight:800;color:#507260}
.pn-design .ranking-logo-wrap{padding:4px;border:1px solid #e5ebe6;border-radius:8px;background:#fff}
.pn-design .ranking-table-card .ranking-team-name{font-weight:800}
.pn-design .ranking-table-card .ranking-club-name{color:var(--pn-muted)}
.pn-design .ranking-explanation{border-left-color:var(--pn-green);background:#ebf2ec}
.pn-design .gender-button.active{background:var(--pn-ink);border-color:var(--pn-ink)}
.pn-design :is(.primary-button,.home-cta.primary){background:var(--pn-mint);color:var(--pn-ink);font-weight:800}
.pn-design :is(.matches-page .control,.ranking-controls-card select){border-color:#c7d9cd;border-radius:8px;min-height:44px;font-size:13px}
.pn-design .matches-page .panel{padding:24px}
.pn-design .matches-page .tab{font-size:13px;border-radius:8px;padding:12px 20px}
.pn-design .matches-page .tab.active{background:var(--pn-ink);color:#fff;border-color:var(--pn-ink)}
.pn-design .matches-page .field label{font-size:10px;color:#526b61;letter-spacing:.06em;margin-bottom:8px}
.pn-design .prediction-guide summary{font-size:14px}
.pn-design .guide-summary{font-size:12px}
.pn-design .standout-card{padding:24px}
.pn-design .standout-card h3{font-size:21px;color:var(--pn-ink)}
.pn-design .standout-card li{border-color:#e6eee8}
.pn-design :is(.club-table-card,.my-teams-table-card){border-color:var(--pn-border)}
.pn-design :is(.club-table-card,.my-teams-table-card) th{background:#eaf1eb}
.pn-design .club-filter-control{border-color:#bed0c4;border-radius:8px}
.pn-design .club-filter-toggle{background:#f1f7f1;color:var(--pn-green)}
/* Match centre. */
.pn-design .detail-page #content>.detail-panel:first-child{border-top:4px solid var(--pn-green);background:linear-gradient(135deg,#edf6ef,#fff 65%)}
.pn-design .detail-page .match-heading{font-weight:800;font-size:30px;color:var(--pn-ink)}
.pn-design .detail-page .detail-team img{background:#fff;border:1px solid #dce6e0;border-radius:14px;padding:8px;width:96px;height:96px}
.pn-design .detail-page .versus{background:var(--pn-ink);color:#fff;border-radius:12px;padding:12px 18px;font-variant-numeric:tabular-nums}
.pn-design .detail-page .outcome.leading{background:#e8f6ed;border-color:#9acdac}
.pn-design .detail-page .outcome strong{color:var(--pn-green);font-variant-numeric:tabular-nums}
.pn-design .detail-page .bar>span{background:var(--pn-green)}
.pn-design :is(.share-trigger,.pn-report-trigger,.share-option,.pn-button){border-radius:8px;font-family:var(--pn-font);font-size:12px;font-weight:700;line-height:1.5}
.pn-design .share-dialog{border-color:var(--pn-border);border-radius:18px;box-shadow:0 24px 100px #08241e50}
.pn-design .share-dialog::backdrop{background:#071e1aaa;backdrop-filter:blur(4px)}
.pn-design .account-card{padding:28px}
.pn-design .account-card h2{font-size:23px}
.pn-design .account-card input:not([type=checkbox]){font-size:16px;border-color:#c7d9cd}
.pn-design .pn-button.primary{background:var(--pn-green);border-color:var(--pn-green);color:#fff}
/* Footer. */
.pn-design .pn-footer{background:#0b221d;border-top:3px solid #24845f;padding-top:54px}
.pn-design .pn-footer h2{color:#eff9f3;font-size:10px;letter-spacing:.16em}
.pn-design .pn-footer p,.pn-design .pn-footer a{font-size:12px;color:#b7cbc0;line-height:1.9}
.pn-design .pn-footer .pn-footer-social{color:var(--pn-mint)}
.pn-design .pn-footer-bottom{border-color:#ffffff1a}
.pn-design .pn-footer-bottom p,.pn-design .pn-footer-bottom a{font-size:10px}
.pn-design .pn-chat-lazy .pn-chat-launcher{font-family:var(--pn-font);font-size:12px;background:var(--pn-mint);color:var(--pn-ink);box-shadow:0 6px 24px #0d39272b;border-color:#8aebba}
@media(max-width:1100px){.pn-design .topbar .nav{padding-top:12px;padding-bottom:12px}.pn-design .topbar .brand-logo{width:230px}}
@media(max-width:1200px){.pn-design .my-teams-table-card{background:transparent}.pn-design .my-teams-table-card thead tr{background:#eaf1eb}.pn-design .my-teams-table-card tbody tr{border-color:var(--pn-border);box-shadow:var(--pn-shadow)}}
@media(max-width:700px){
 .pn-design .page-hero{padding:20px 0 30px}
 .pn-design .page-hero h1{font-size:31px;line-height:1.2}
 .pn-design .page-hero p,.pn-design .matches-head p{font-size:13px}
 .pn-design :is(.matches-head,.pn-account-intro,.my-teams-section-head){padding:25px 22px;border-radius:14px}
 .pn-design .my-teams-section-head{flex-wrap:wrap;gap:8px}
 .pn-design .my-teams-section-head h1{font-size:29px}
 .pn-design :is(.team-profile-hero,.club-hero){padding:24px 20px;gap:18px;border-radius:14px}
 .pn-design :is(.team-profile-logo-wrap,.club-logo-wrap){flex-basis:85px;width:85px;height:85px;padding:8px;border-radius:12px;border-width:3px}
 .pn-design :is(.team-profile-name,.club-title){font-size:24px}
 .pn-design .team-stat-card{padding:20px 8px 16px}
 .pn-design .team-stat-value{font-size:26px}
 .pn-design .team-intelligence-card{padding:22px}
 .pn-design .ranking-controls-card{padding:20px}
 .pn-design .matches-page .panel{padding:18px}
 .pn-design .detail-page .detail-team img{width:66px;height:66px;padding:5px;border-radius:10px}
 .pn-design .detail-page .versus{font-size:22px;padding:10px 12px}
 .pn-design .account-card{padding:22px}
 .pn-design .pn-footer-grid{gap:32px}
}
@media(max-width:650px){
 .pn-design .topbar .nav{gap:9px 10px;padding:10px 0 7px}
 .pn-design .topbar .brand{max-width:165px}
 .pn-design .topbar .pn-primary-links{gap:32px}
 .pn-design .topbar .pn-primary-links a{font-size:12px;padding:6px 0 8px}
 .pn-design .topbar nav a.pn-account-link{padding:8px;min-height:40px;font-size:11px}
 .pn-design .topbar .pn-account-controls{gap:6px}
 .pn-design .topbar .pn-languages{gap:5px}
 .pn-design .topbar .pn-languages button{width:36px}
 .pn-design .topbar .pn-languages img{width:25px;height:17px}
 .pn-design .pn-header-search input{font-size:16px}
 .pn-design .pn-footer{padding-top:38px}
}
@media(max-width:420px){
 .pn-design .topbar .brand{max-width:145px}
 .pn-design :is(.team-profile-name,.club-title){font-size:22px}
 .pn-design .club-hero{flex-direction:column}
 .pn-design .detail-page .detail-team img{width:58px;height:58px}
 .pn-design .detail-page .versus{font-size:20px;padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pn-design *, .pn-design *::before,.pn-design *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep team links deliberate and mobile actions compact without reducing tap targets. */
.pn-design .ranking-team-name a{color:var(--pn-ink);text-decoration:none;font-weight:800}
.pn-design .ranking-team-name a:hover{color:var(--pn-green);text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){
 .pn-design :is(.page-share-toolbar,.club-toolbar)>button{flex:1 1 calc(50% - 5px);width:auto;min-height:44px;padding:10px 8px}
 .pn-design :is(.page-share-toolbar,.club-toolbar)>.pn-report-trigger{flex-basis:100%;background:transparent;border-color:#cdded3}
 .pn-design .match-toolbar .share-trigger,.pn-design .match-toolbar .pn-report-trigger{min-height:44px;flex:1 1 calc(50% - 8px);width:auto;padding:10px 8px}
}
