:root{color:#e5e7eb;font-synthesis:none;text-rendering:optimizelegibility;background:#090d14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% 0,#172033 0,#0000 30rem),#090d14;min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}code,pre,textarea{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.site-header{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#090d14db;border-bottom:1px solid #202838;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{letter-spacing:-.05em;color:#081017;background:#8ff0bd;border-radius:11px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.brand strong,.brand small{display:block}.brand strong{font-size:.98rem}.brand small{color:#7e8a9e;margin-top:2px;font-size:.75rem}nav{gap:8px;display:flex}nav a{color:#8e9aae;border-radius:9px;padding:9px 13px;font-size:.88rem}nav a:hover,nav a.active{color:#f3f4f6;background:#151c28}.page-shell{width:min(1180px,90vw);margin:0 auto;padding:72px 0 90px}.hero{grid-template-columns:1.5fr .5fr;align-items:end;gap:48px;padding:42px 0 64px;display:grid}.eyebrow{color:#8ff0bd;letter-spacing:.18em;margin:0 0 12px;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.055em;max-width:800px;margin-bottom:20px;font-size:clamp(2.7rem,6vw,5.8rem);line-height:.94}h2{letter-spacing:-.025em;margin-bottom:8px;font-size:clamp(1.45rem,2vw,2rem)}h3{margin:20px 0 8px;font-size:1.3rem}.hero-copy,.admin-header>div>p:last-child{color:#9aa7ba;max-width:690px;font-size:1.05rem;line-height:1.7}.hero-status{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.status-pill{color:#9aa7ba;background:#121925;border:1px solid #354052;border-radius:999px;align-items:center;width:fit-content;padding:6px 9px;font-size:.73rem;font-weight:700;display:inline-flex}.status-pill--good{color:#9cf4c4;background:#0f251a;border-color:#24553b}.status-pill--warn{color:#ffc28a;background:#271c12;border-color:#634225}.notice{color:#bbc4d2;background:#111825;border:1px solid #2b374b;border-radius:12px;margin-bottom:16px;padding:14px 16px}.notice--error{color:#ffc4c4;background:#251218;border-color:#5c2a32}.notice--success{color:#a7f4c9;background:#10231a;border-color:#27543b}.section-block{margin-top:60px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.muted{color:#778398;font-size:.84rem}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.card,.state-card,.editor-card,.test-card,.login-card{background:linear-gradient(150deg,#18202ef0,#0d131df0);border:1px solid #242e3d;border-radius:18px;box-shadow:0 18px 50px #00000024}.card{min-height:210px;padding:24px}.card-topline{justify-content:space-between;align-items:center;display:flex}.league-number{color:#4e5d73;letter-spacing:-.06em;font-size:1.8rem;font-weight:900}.card p{color:#8d99ab}.card code{color:#69778d;overflow-wrap:anywhere;margin-top:16px;font-size:.72rem;display:inline-block}.state-card{padding:24px}.state-card p{color:#8d99ab;margin:18px 0 0}.state-card pre{color:#b7c8d9;background:#090e16;border-radius:12px;max-height:350px;margin:18px 0 0;padding:18px;font-size:.78rem;line-height:1.55;overflow:auto}.roadmap{border-top:1px solid #202838;margin-top:72px;padding-top:32px}.roadmap-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.roadmap-grid div{background:#0d131e;border:1px solid #202838;border-radius:14px;min-height:120px;padding:18px}.roadmap-grid strong{color:#445269;font-size:1.5rem;display:block}.roadmap-grid span{color:#bbc5d3;margin-top:24px;font-weight:650;display:block}.admin-shell{padding-top:58px}.admin-header{justify-content:space-between;align-items:end;gap:32px;margin-bottom:38px;display:flex}.admin-header h1{margin-bottom:12px;font-size:clamp(2.6rem,5vw,4.8rem)}.admin-identity{color:#9aa7ba;flex-direction:column;align-items:flex-end;gap:8px;font-size:.86rem;display:flex}.login-card{gap:18px;width:min(540px,100%);padding:28px;display:grid}.login-card label{color:#aeb8c7;gap:7px;font-size:.83rem;font-weight:700;display:grid}input{color:#eef2f7;background:#0b111b;border:1px solid #344157;border-radius:10px;outline:none;width:100%;padding:12px 13px}input:focus,textarea:focus{border-color:#69c99a;box-shadow:0 0 0 3px #69c99a1f}.primary-button,.secondary-button,.ghost-button{border:0;border-radius:10px;padding:11px 14px;font-weight:800}.primary-button{color:#07130d;background:#8ff0bd}.primary-button:hover{background:#a4f6ca}.secondary-button{color:#d6dee9;background:#273245}.ghost-button{color:#8f9caf;background:0 0}button:disabled{cursor:wait;opacity:.55}.admin-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);align-items:start;gap:18px;display:grid}.editor-card,.test-card{padding:24px}.editor-card textarea{resize:vertical;color:#bcd1e4;background:#080d14;border:1px solid #344157;border-radius:12px;outline:none;width:100%;min-height:390px;margin:10px 0 16px;padding:16px;line-height:1.55}.button-row{flex-wrap:wrap;gap:9px;display:flex}.test-card ul{margin:24px 0;padding:0;list-style:none}.test-card li{color:#aab5c5;border-bottom:1px solid #202a39;grid-template-columns:24px 1fr;gap:8px;padding:10px 0;display:grid}.test-card li span{color:#8ff0bd;font-weight:900}@media (width<=800px){.site-header{padding:0 4vw}.brand small{display:none}.hero,.admin-grid{grid-template-columns:1fr}.hero-status{align-items:flex-start}.card-grid,.roadmap-grid{grid-template-columns:1fr}.admin-header{flex-direction:column;align-items:flex-start}.admin-identity{align-items:flex-start}}@media (width<=560px){.site-header{flex-direction:column;align-items:flex-start;padding-top:14px;padding-bottom:12px}.site-header nav{width:100%}.site-header nav a{text-align:center;flex:1}.page-shell{width:min(92vw,1180px);padding-top:36px}.hero{padding-top:24px}h1{font-size:2.8rem}.section-heading{flex-direction:column;align-items:flex-start}}select{font:inherit;color:#eef2f7;background:#0b111b;border:1px solid #344157;border-radius:10px;outline:none;min-width:0;padding:11px 36px 11px 12px}select:focus{border-color:#69c99a;box-shadow:0 0 0 3px #69c99a1f}.site-header nav{justify-content:flex-end}.site-header nav a{white-space:nowrap}.state-card a:not(.primary-button):not(.secondary-button):not(.ghost-button),.section-heading h2 a{color:#dfe7f1}.state-card a:hover,.section-heading h2 a:hover{color:#8ff0bd}.playoffs-shell{width:min(1540px,94vw)}.playoff-arena-section{margin-top:54px}.playoff-arena-heading{width:min(1180px,100%);margin-inline:auto}.playoff-arena-scroll{width:100%;padding:8px 0 22px;overflow-x:auto}.playoff-arena{grid-template-columns:minmax(520px,1fr) 310px minmax(520px,1fr);align-items:center;gap:22px;min-width:1400px;display:grid}.arena-league{min-width:0}.arena-league-heading{border-bottom:1px solid #202838;justify-content:space-between;align-items:flex-end;gap:14px;min-height:86px;margin-bottom:14px;padding:0 4px 12px;display:flex}.arena-league-heading--right{text-align:right;flex-direction:row-reverse}.arena-league-heading h3{margin:0;font-size:1.08rem}.arena-rounds{grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;align-items:stretch;gap:14px;display:grid}.arena-round{background:#0a1019b8;border:1px solid #202838;border-radius:16px;min-width:0;padding:12px}.arena-round-heading{color:#91a0b5;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:.78rem;display:flex}.arena-round-heading span{color:#64748b}.arena-round-matches{align-content:space-around;gap:12px;height:calc(100% - 30px);display:grid}.arena-match{background:#101827;border:1px solid #29364a;border-radius:12px;position:relative;overflow:visible;box-shadow:0 10px 26px #0003}.arena-match--title{border-color:#4f8f72;box-shadow:0 0 0 1px #8ff0bd14,0 14px 34px #00000040}.arena-match-label{color:#6f8098;letter-spacing:.12em;border-bottom:1px solid #253247;padding:6px 10px;font-size:.62rem;font-weight:900}.arena-team{border-left:3px solid #0000;justify-content:space-between;align-items:center;gap:10px;min-height:61px;padding:10px 11px;display:flex}.arena-team+.arena-team{border-top:1px solid #253247}.arena-team--winner{background:#19543940;border-left-color:#8ff0bd}.arena-team-name{min-width:0}.arena-team-name strong,.arena-team-name span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.arena-team-name strong{font-size:.88rem}.arena-team-name span{color:#718096;margin-top:3px;font-size:.72rem}.arena-score{font-variant-numeric:tabular-nums;flex:none;font-size:1.02rem}.arena-league--left .arena-match:after,.arena-league--right .arena-match:before{content:"";border-top:1px solid #3b4a61;width:14px;position:absolute;top:50%}.arena-league--left .arena-match:after{right:-15px}.arena-league--right .arena-match:before{left:-15px}.arena-cross-final{z-index:2;background:radial-gradient(circle at 50% 0,#8ff0bd1f,#0d131dfa 55%);border:2px solid #5f9d7e;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000057,0 0 0 8px #8ff0bd06}.arena-cross-final:before,.arena-cross-final:after{content:"";border-top:2px solid #5f9d7e;width:24px;position:absolute;top:50%}.arena-cross-final:before{right:100%}.arena-cross-final:after{left:100%}.arena-cross-title{text-align:center;border-bottom:1px solid #2a3a4f;padding:18px 18px 15px}.arena-cross-title h3{margin:0;font-size:1.15rem}.arena-cross-team{justify-content:space-between;align-items:center;gap:14px;min-height:92px;padding:15px 17px;display:flex}.arena-cross-team+.arena-cross-team{border-top:1px solid #2a3a4f}.arena-cross-team--winner{background:#19543952}.arena-cross-team>div{min-width:0}.arena-cross-team span,.arena-cross-team strong,.arena-cross-team small{display:block}.arena-cross-team span{color:#8ff0bd;letter-spacing:.11em;font-size:.62rem;font-weight:900}.arena-cross-team>div>strong{margin-top:5px;font-size:1rem}.arena-cross-team small{color:#75839a;margin-top:3px}.arena-cross-team>strong{font-variant-numeric:tabular-nums;flex:none;font-size:1.35rem}.arena-cross-final--empty,.arena-empty{color:#69778d;background:#0d131e8c;border:1px dashed #344157;border-radius:16px;place-items:center;min-height:180px;padding:22px;display:grid}@media (width<=980px){.site-header{align-items:flex-start;padding-top:12px;padding-bottom:12px}.site-header nav{max-width:68%}}@media (width<=700px){.site-header{flex-direction:column}.site-header nav{justify-content:flex-start;width:100%;max-width:none}.site-header nav a{flex:0 auto}.playoffs-shell{width:94vw}}.roster-shell{width:min(1280px,94vw)}.roster-hero{align-items:flex-end}.roster-manager-line{color:#aeb8c7;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 0;display:flex}.roster-manager-line strong{color:#e8edf4}.roster-manager-line span:before{content:"·";color:#536177;margin-right:10px}.roster-two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.roster-list-card{padding:0;overflow:hidden}.roster-list-heading{border-bottom:1px solid #202838;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.roster-list-heading h2{margin:0;font-size:1.15rem}.roster-player-list{display:grid}.roster-player-row{border-bottom:1px solid #182130;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:10px 18px;display:grid}.roster-player-row:last-child{border-bottom:0}.roster-player-index{color:#536177;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:900}.roster-player-name{min-width:0}.roster-player-name strong,.roster-player-name span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.roster-player-name strong{color:#e8edf4}.roster-player-name span{color:#718096;margin-top:4px;font-size:.76rem;font-weight:700}.roster-empty{color:#718096;padding:22px}.roster-week-heading{align-items:flex-end}.roster-matchup-card{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:stretch;padding:0;display:grid;overflow:hidden}.roster-matchup-card>div:not(.roster-result){align-content:center;gap:5px;min-height:118px;padding:20px 22px;display:grid}.roster-matchup-card>div>strong{font-size:1.1rem}.roster-matchup-card>div>span{color:#d8e1eb;font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:900}.roster-matchup-opponent{text-align:right}.roster-result{color:#74839a;background:#0a1019;border-inline:1px solid #253247;place-items:center;min-height:118px;font-size:1.65rem;font-weight:950;display:grid}.roster-result--w{color:#8ff0bd;background:#19543947}.roster-result--l{color:#ff9c9c;background:#6e212133}.roster-result--t{color:#d7dee8}@media (width<=760px){.roster-two-column,.roster-matchup-card{grid-template-columns:1fr}.roster-result{border:1px solid #253247;border-inline:0;min-height:56px}.roster-matchup-opponent{text-align:left}.roster-week-heading{align-items:stretch}}
