@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin.woff2') format('woff2');font-display:swap;font-weight:100 900}
@font-face{font-family:"Roboto Condensed";src:url('/assets/fonts/roboto-condensed-latin.woff2') format('woff2');font-display:swap;font-weight:400 800}
:root{color-scheme:light;--ink:#101d33;--muted:#5c6879;--line:#d9e0e8;--surface:#fff;--canvas:#f3f6f9;--primary:#173f77;--secondary:#c89b3c;--primary-soft:#e9f0f8;--danger:#a1252d;--success:#166346;--shadow:0 12px 35px rgba(16,29,51,.08);--radius:14px;--focus:#0879ce}
body[data-current-sport="nfl"]{--primary:#173f77;--secondary:#c7323c;--primary-soft:#e9f0f8}
body[data-current-sport="nba"]{--primary:#a43a20;--secondary:#1d4f8c;--primary-soft:#f8eee9}
body[data-current-sport="nhl"]{--primary:#1b5668;--secondary:#bc862d;--primary-soft:#e8f2f4}
body[data-current-sport="mlb"]{--primary:#183e75;--secondary:#b6202a;--primary-soft:#e9eff8}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;overflow-x:clip;background:var(--canvas);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;padding-bottom:env(safe-area-inset-bottom)}
h1,h2,h3{text-wrap:balance}
.site-shell,.site-shell>*,.workspace-grid>*,.data-grid>*,.side-stack>*,.section-heading>*,.entry-intro>*,.extra-duels>*,.share-panel>*{min-width:0}
button,input{font:inherit}
button,a{touch-action:manipulation}
a{color:var(--primary);text-underline-offset:3px}
button{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
[hidden]{display:none!important}
.skip-link{position:fixed;left:12px;top:12px;z-index:50;transform:translateY(-160%);background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}
.skip-link:focus{transform:translateY(0)}
.top-nav{height:68px;padding:0 max(20px,calc((100vw - 1180px)/2),env(safe-area-inset-right)) 0 max(20px,calc((100vw - 1180px)/2),env(safe-area-inset-left));display:flex;align-items:center;gap:28px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font:800 21px/1 "Roboto Condensed",sans-serif;letter-spacing:-.02em}
.brand-mark{display:block;width:36px;height:36px;object-fit:contain}
.brand-word span{color:var(--primary)}
.primary-nav{display:flex;align-items:center;gap:6px;margin-right:auto}
.primary-nav a{padding:9px 11px;border-radius:8px;color:var(--muted);font-weight:700;text-decoration:none}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:var(--ink);background:var(--primary-soft)}
.account-link,.primary-button,.secondary-button,.text-button,.team-choice,.sport-switcher button,.icon-button{border:0;cursor:pointer}
.account-link{padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:800}
.account-link:hover,.secondary-button:hover,.icon-button:hover{background:var(--primary-soft);border-color:var(--primary)}
.nav-toggle{display:none;margin-left:auto}
.icon-button{display:grid;place-items:center;width:40px;height:40px;background:transparent;border-radius:8px}
.icon-button svg,.button-with-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.site-shell{width:min(1180px,calc(100% - 40px));margin:28px auto 64px;display:grid;gap:20px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:36px;align-items:end;overflow:hidden;border-top:4px solid var(--primary)}
.hero h1{max-width:720px;margin:3px 0 10px;font:800 clamp(36px,5.5vw,68px)/.96 "Roboto Condensed",sans-serif;letter-spacing:-.045em}
.hero-description{max-width:680px;color:var(--muted);font-size:17px;margin:0}
.eyebrow{margin:0 0 5px;color:var(--primary);font:800 12px/1.2 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.attribution{margin:15px 0 0;font-weight:800}
.hero-facts{min-width:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));border:1px solid var(--line);border-radius:11px;overflow:hidden}
.hero-facts div{padding:14px;border-left:1px solid var(--line);min-width:130px}
.hero-facts div:first-child{border-left:0}
.hero-facts dt{color:var(--muted);font-size:12px;font-weight:700}
.hero-facts dd{margin:4px 0 0;font:800 16px/1.2 "Roboto Condensed",sans-serif}
.sport-switcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sport-switcher button{min-width:0;min-height:70px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;gap:1px;text-align:left;color:var(--muted);box-shadow:0 5px 16px rgba(16,29,51,.04)}
.sport-switcher button[aria-pressed="true"]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--primary-soft);color:var(--ink)}
.sport-switcher button:hover{border-color:var(--primary)}
.sport-code{font:800 19px/1 "Roboto Condensed",sans-serif;color:var(--primary)}
.status-banner{min-height:42px;padding:10px 14px;border:1px solid #c7d7e6;border-radius:10px;background:#edf6fc;color:#174e73;font-weight:700;overflow-wrap:anywhere}
.status-banner.is-error{border-color:#edc4c7;background:#fff1f2;color:var(--danger)}
.status-banner.is-success{border-color:#b9decf;background:#edfaf5;color:var(--success)}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:20px;align-items:start}
.side-stack{display:grid;gap:20px}
.section-heading{display:flex;gap:18px;align-items:start;justify-content:space-between;margin-bottom:18px}
.section-heading h2,.duel-workspace h3,.extra-duels h3,.unavailable-state h3,.share-panel h2{margin:0;font:800 25px/1.1 "Roboto Condensed",sans-serif}
.status-pill{padding:6px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:800;white-space:nowrap}
.entry-intro,.extra-duels,.unavailable-state{padding:22px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,var(--primary-soft),#fff);display:flex;align-items:center;justify-content:space-between;gap:24px}
.entry-intro p,.extra-duels p,.unavailable-state p,.compact-panel p{margin:7px 0 0;color:var(--muted)}
.primary-button,.secondary-button{min-height:44px;padding:10px 16px;border-radius:9px;font-weight:800}
.primary-button{background:var(--primary);color:#fff}
.primary-button:hover{filter:brightness(.93)}
.primary-button:active,.secondary-button:active,.account-link:active,.sport-switcher button:active,.team-choice:active{transform:translateY(1px)}
.primary-button:disabled{opacity:.48;cursor:not-allowed}
.secondary-button{background:#fff;color:var(--ink);border:1px solid var(--line)}
.text-button{padding:8px;background:transparent;color:var(--primary);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.button-with-icon{display:inline-flex;gap:8px;align-items:center}
.progress-row{display:grid;grid-template-columns:1fr minmax(150px,220px);gap:20px;align-items:center;margin:8px 0 22px}
.progress-row div{display:grid}.progress-row span{color:var(--muted);font-size:13px}
progress{width:100%;height:10px;accent-color:var(--primary)}
.duel-card{padding:24px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,#fff,var(--primary-soft))}
.duel-number{text-align:center;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.duel-choices{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px}
.team-choice{min-height:168px;padding:18px;border:2px solid transparent;border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(16,29,51,.08);display:grid;justify-items:center;align-content:center;gap:8px;text-align:center}
.team-choice:hover{border-color:var(--primary);transform:translateY(-1px)}
.team-choice.is-picked{border-color:var(--primary);background:var(--primary-soft)}
.team-choice strong{font:800 21px/1.1 "Roboto Condensed",sans-serif}.team-choice>span:last-child{color:var(--muted);font-size:12px}
.team-logo{width:58px;height:58px;display:grid;place-items:center}.team-logo img{grid-area:1/1;width:54px;height:54px;object-fit:contain}.team-logo span{grid-area:1/1;width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900}.team-logo img:not([hidden])+span{display:none}
.versus{font:800 13px/1 "Roboto Condensed",sans-serif;color:var(--muted)}
.flow-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.extra-duels{margin-top:18px;background:#fff9ea;border-color:#ead9a6}
.metric{font:800 30px/1 "Roboto Condensed",sans-serif;color:var(--primary);font-variant-numeric:tabular-nums}
.order-list,.consensus-list{margin:0;padding:0;list-style:none;display:grid;gap:7px;counter-reset:rank}
.order-list li,.consensus-list li{display:flex;align-items:center;gap:9px;min-height:38px;padding:7px 9px;border-radius:8px;background:var(--canvas)}
.order-list li:not(.empty-row){counter-increment:rank}.order-list li:not(.empty-row)::before{content:counter(rank);width:22px;color:var(--muted);font-weight:800}
.empty-row{color:var(--muted)}
.badge-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.badge{padding:5px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:800}
.data-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;min-width:480px;font-variant-numeric:tabular-nums}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line)}th{background:var(--canvas);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}tbody tr:last-child td{border-bottom:0}
.community-panel .section-heading,.share-panel{align-items:center}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.room-card{padding:14px;border:1px solid var(--line);border-radius:9px}.room-card h3{margin:0;font-size:16px}.room-card p{margin:4px 0 0;color:var(--muted)}
.share-panel{display:flex;justify-content:space-between;gap:24px}.share-panel p{margin:5px 0 0;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);padding:28px max(20px,calc((100vw - 1180px)/2),env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,calc((100vw - 1180px)/2),env(safe-area-inset-left));display:flex;justify-content:space-between;gap:20px;background:#fff;color:var(--muted)}.site-footer div{display:grid;gap:3px}.site-footer-brand{font:800 18px/1 "Roboto Condensed",sans-serif;color:var(--ink);text-decoration:none}.site-footer nav{display:flex;flex-wrap:wrap;gap:16px}.site-footer a{color:inherit}
.article-shell{width:min(900px,calc(100% - 40px))}.article-hero{padding:clamp(25px,5vw,48px);border-top:4px solid var(--primary)}.article-hero h1{margin:3px 0 10px;font:800 clamp(38px,6vw,62px)/.98 "Roboto Condensed",sans-serif;letter-spacing:-.035em}.article-hero>p:last-child{margin:0;color:var(--muted);font-size:17px}.prose{padding:clamp(24px,5vw,52px)}.prose h2{margin:32px 0 8px;font:800 27px/1.1 "Roboto Condensed",sans-serif}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:#364358}.prose li+li{margin-top:8px}.formula{margin:24px 0;padding:18px;border-left:4px solid var(--secondary);background:var(--canvas);font:800 clamp(18px,3vw,24px)/1.25 "Roboto Condensed",sans-serif}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature-grid h2{margin:4px 0 9px;font:800 26px/1.1 "Roboto Condensed",sans-serif}.feature-grid p{color:var(--muted)}.feature-grid a{font-weight:800}
.profile-lookup{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:24px;align-items:end}.profile-lookup h2,.public-profile h2{margin:3px 0 7px;font:800 28px/1.1 "Roboto Condensed",sans-serif}.profile-lookup p{margin:0;color:var(--muted)}.profile-lookup form,.profile-lookup label{display:grid;gap:6px}.profile-lookup label{font-weight:800}.profile-lookup form>div{display:grid;grid-template-columns:1fr auto;gap:8px}.profile-lookup input{min-width:0;min-height:44px;padding:9px 11px;border:1px solid #b9c4d0;border-radius:8px;font:inherit}.public-profile h3{margin:25px 0 10px;font:800 21px/1.1 "Roboto Condensed",sans-serif}.profile-activity{display:grid;gap:8px}.activity-card{padding:13px;border:1px solid var(--line);border-radius:9px;display:flex;justify-content:space-between;gap:14px}.activity-card p{margin:3px 0 0;color:var(--muted)}
.app-dialog{width:min(560px,calc(100% - 28px));max-height:calc(100vh - 40px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:15px;padding:28px;color:var(--ink);box-shadow:0 28px 80px rgba(16,29,51,.28)}.app-dialog::backdrop{background:rgba(10,20,35,.65)}.app-dialog h2{margin:3px 38px 8px 0;font:800 29px/1.1 "Roboto Condensed",sans-serif}.dialog-close{position:absolute;right:14px;top:14px}.app-dialog form{display:grid;gap:12px;margin-top:20px}.app-dialog label{display:grid;gap:6px;font-weight:800}.app-dialog input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #b9c4d0;border-radius:8px}.app-dialog input:focus-visible,.profile-lookup input:focus-visible{border-color:var(--focus)}.field-help{margin:0;color:var(--muted);font-size:13px}.form-status{min-height:24px;color:var(--muted)}.dialog-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;color:var(--muted);margin:20px 0}.dialog-divider::before,.dialog-divider::after{content:"";height:1px;background:var(--line)}.review-list{display:grid;gap:8px}.review-pick{display:flex;justify-content:space-between;gap:12px;padding:10px;background:var(--canvas);border-radius:8px}.share-dialog canvas{display:block;width:100%;height:auto;background:var(--ink);border-radius:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}
@media(max-width:980px){.hero{grid-template-columns:1fr}.hero-facts{width:100%}.workspace-grid,.data-grid{grid-template-columns:1fr}.side-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.primary-nav{position:absolute;display:none;left:16px;right:16px;top:60px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.primary-nav.is-open{display:grid}.nav-toggle{display:grid}.account-link{margin-left:0}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.site-shell{width:min(100% - 24px,1180px);margin-top:14px}.panel{padding:18px}.hero h1{font-size:42px}.hero-facts{grid-template-columns:1fr}.hero-facts div,.hero-facts div:first-child{border-left:0;border-top:1px solid var(--line)}.hero-facts div:first-child{border-top:0}.sport-switcher button{min-height:62px;padding:9px}.sport-switcher button span:last-child{display:none}.side-stack{grid-template-columns:1fr}.duel-card{padding:14px}.duel-choices{gap:8px}.team-choice{min-height:150px;padding:10px}.team-choice strong{font-size:17px}.progress-row{grid-template-columns:1fr}.entry-intro,.extra-duels,.share-panel{align-items:stretch;flex-direction:column}.room-grid{grid-template-columns:1fr}.site-footer{display:grid}.flow-actions{gap:5px}.flow-actions .text-button{font-size:13px}.article-shell{width:calc(100% - 24px)}.feature-grid,.profile-lookup{grid-template-columns:1fr}.profile-lookup form>div{grid-template-columns:1fr}.activity-card{display:grid}}
@media(max-width:390px){.top-nav{padding:0 12px;gap:9px}.brand-word{font-size:18px}.account-link{padding:8px 9px}.site-shell{width:calc(100% - 16px)}.sport-switcher{gap:5px}.sport-switcher button{text-align:center}.duel-choices{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.team-choice{min-width:0}.team-choice strong{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.team-choice:hover{transform:none}}
