:root{color-scheme:dark;--bg:#111410;--panel:#191d17;--panel2:#20251d;--line:#32392c;--text:#f3f4ea;--muted:#a6ae9b;--lime:#ccff5f;--red:#ff938b;--amber:#edc778;font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a{ -webkit-tap-highlight-color:transparent}button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:7px;padding:11px 16px;font-weight:600}button:hover:not(:disabled){border-color:var(--muted)}.primary{background:var(--lime);color:#19220e;border-color:var(--lime)}.primary:hover:not(:disabled){background:#dbff90;border-color:#dbff90}.ghost{background:transparent}.small{font-size:.875rem;padding:8px 12px}.danger{color:var(--red)}a{color:var(--lime)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.045em;line-height:1.05;margin-bottom:14px}h2{font-size:1.3rem;letter-spacing:-.025em}h3{font-size:1rem}p{line-height:1.6;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--lime)}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;background:#141810}.brand{display:flex;gap:10px;align-items:center;font-weight:900;font-size:1.1rem;letter-spacing:-.035em;white-space:nowrap}.brand img{width:36px;height:36px}.brand span span{color:var(--lime)}.brand small{display:block;font-size:.625rem;color:var(--muted);font-weight:500;letter-spacing:.2em;margin-top:5px}.side-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:42px 12px 12px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{border:0;background:transparent;color:var(--muted);text-align:left;padding:13px 15px;display:flex;gap:12px;align-items:center;font-size:.925rem}.nav button.active{color:var(--lime);background:#29341b}.nav-icon{font-size:1.2rem;width:22px;text-align:center}.sidebar-bottom{margin-top:auto;padding-top:28px}.side-note{padding:18px 14px;background:#1e2518;border:1px solid var(--line);border-radius:9px;margin-bottom:24px}.side-note p{font-size:.8rem;margin:8px 0 0}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#343e29;color:var(--lime);font-size:.8rem;font-weight:bold;flex-shrink:0}.profile{display:flex;align-items:center;gap:10px;font-size:.85rem}.profile small{display:block;color:var(--muted);margin-top:4px}.profile button{margin-left:auto;border:0;padding:7px;background:transparent;color:var(--muted)}.main{min-width:0}.topbar{height:83px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:18px}.breadcrumb{font-size:.85rem;color:var(--muted)}.breadcrumb b{color:var(--text);font-weight:500}.top-right{display:flex;align-items:center;gap:14px}.season{font-size:.75rem;letter-spacing:.09em;color:var(--muted);text-transform:uppercase}.demo{color:var(--amber);border:1px solid #655430;background:#2b261b;border-radius:5px;font-size:.75rem;padding:5px 8px}.content{max-width:1500px;padding:38px 42px 24px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.page-heading .eyebrow{margin-bottom:12px;display:block}.page-heading p{margin-bottom:0;font-size:.925rem}.week-control label{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.week-control select{min-width:145px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px}.stat{border:1px solid var(--line);border-radius:10px;padding:21px 24px;background:var(--panel);position:relative}.stat-label{font-size:.875rem;color:var(--muted);display:block;margin-bottom:16px}.stat-value{font-size:2rem;letter-spacing:-.03em;font-weight:700}.stat-sub{font-size:.8rem;color:var(--muted);margin-top:9px}.stat-accent{color:var(--lime)}.stat-icon{position:absolute;right:21px;top:20px;color:#7d896b;font-size:1.15rem}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{padding:21px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-head h2{margin:0;font-size:1.1rem}.panel-head p{margin:5px 0 0;font-size:.8rem}.tag{font-size:.75rem;border:1px solid var(--line);border-radius:5px;padding:5px 8px;color:var(--muted);white-space:nowrap}.tag.green{color:var(--lime);background:#26321a;border-color:#3b4f25}.tag.red{color:var(--red)}.board-caption{display:flex;justify-content:space-between;padding:14px 24px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#1c2119}.game{padding:20px 24px;border-top:1px solid var(--line)}.game:first-of-type{border-top:0}.game-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.75rem;margin-bottom:12px}.matchup{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;gap:8px}.versus{text-align:center;color:#78826b;font-size:.75rem}.team{display:flex;align-items:center;text-align:left;gap:11px;padding:14px 13px;background:#1c2119;min-width:0;border-radius:7px;border-color:#3c4434}.team.selected{background:#2d3b1b;border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}.team:disabled{opacity:1;color:#838c79;border-color:#32392c}.team.selected:disabled{color:var(--text);border-color:#819b53;background:#28321d;box-shadow:none}.team-badge{width:37px;height:37px;flex-shrink:0;display:grid;place-items:center;font-weight:800;font-size:.75rem;border-radius:50%;background:#303a25;color:#d0d8c6;letter-spacing:-.04em}.team-name{font-size:.9rem;line-height:1.35}.team-name small{display:block;color:var(--muted);font-size:.7rem;font-weight:400}.line{margin-left:auto;font-size:1.025rem;font-weight:700;white-space:nowrap}.selected .line{color:var(--lime)}.game-source{margin-top:11px;font-size:.7rem;color:#929c85}.pick-slip{position:sticky;top:24px}.slip-body{padding:22px}.slip-count{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.slip-count strong{font-size:1.9rem;letter-spacing:-.05em}.slip-count span{color:var(--muted);font-size:.8rem}.progress{height:5px;background:#343c2c;display:flex;gap:4px;margin-bottom:22px}.progress i{flex:1;background:#343c2c}.progress i.filled{background:var(--lime)}.slot{display:flex;align-items:center;gap:10px;min-height:53px;border-bottom:1px solid var(--line);font-size:.85rem;padding:10px 0}.slot-num{font-size:.7rem;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#2e3626;color:var(--muted);flex-shrink:0}.slot strong{font-size:.8rem;display:block}.slot small{display:block;font-size:.7rem;color:var(--muted);margin-top:4px}.slot.empty{color:#828d76}.slot button{padding:3px 5px;border:0;background:transparent;margin-left:auto;color:var(--muted)}.slip-body>.primary{width:100%;margin-top:22px}.helper{font-size:.75rem;line-height:1.6;color:var(--muted);margin:13px 0 0}.saved{color:var(--lime)}.notice{padding:17px 20px;border:1px solid var(--line);border-radius:8px;background:#1c2316;font-size:.85rem;color:var(--muted);line-height:1.6;margin-bottom:22px}.notice strong{color:var(--text)}.rules-teaser{padding:23px 4px;font-size:.8rem;line-height:1.7;color:var(--muted)}.rules-teaser h3{color:var(--text);font-size:.85rem;margin-bottom:8px}.rules-teaser button{border:0;background:transparent;color:var(--lime);padding:6px 0;font-size:.8rem}.footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:36px;padding-top:20px;gap:16px;font-size:.7rem;color:#919b84;line-height:1.6}.empty-state{text-align:center;padding:54px 24px}.empty-state h2{margin-bottom:12px}.empty-state p{max-width:430px;margin:0 auto 20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.9rem}th{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;background:#1c2119}td,th{padding:18px 24px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td .avatar{margin-right:10px}tr.me{background:#232c1a}.rank{color:var(--lime);font-weight:700}.record{font-variant-numeric:tabular-nums;white-space:nowrap}.pool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.pool-card{padding:28px}.pool-card h2{font-size:1.5rem;margin-top:20px}.pool-card p{font-size:.875rem;min-height:50px}.pool-card button{margin-top:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.admin-box{padding:24px}.admin-box p{font-size:.85rem}.admin-box form{display:grid;gap:15px}.admin-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}label{display:grid;gap:8px;font-size:.85rem;color:var(--muted)}input,select{width:100%;padding:12px;border:1px solid #424d37;border-radius:6px;background:#12170f;color:var(--text);min-width:0}input:focus,select:focus{outline:2px solid var(--lime);outline-offset:2px}input[type=number]{font-variant-numeric:tabular-nums}.admin-game{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.admin-game:last-child{border-bottom:0}.admin-game p{font-size:.75rem;margin:6px 0 0}.admin-game-actions{display:flex;gap:7px}.rules{max-width:850px;padding:30px}.rules section+section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.rules li{color:var(--muted);font-size:.95rem;line-height:1.8;margin-bottom:7px}.auth{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr}.auth-intro{padding:60px clamp(35px,7vw,100px);background:#192211;border-right:1px solid #354628;display:flex;flex-direction:column;justify-content:space-between;gap:65px}.auth-intro h1{font-size:clamp(3.5rem,6.5vw,6rem);max-width:650px;line-height:.98;margin:24px 0}.auth-intro h1 em{font-style:normal;color:var(--lime)}.auth-intro p{max-width:450px;font-size:1rem}.auth-form{align-self:center;padding:45px;max-width:510px;width:100%;margin:auto}.auth-form h2{font-size:2rem;margin-bottom:12px}.auth-form form{display:grid;gap:20px;margin-top:28px}.auth-form .primary{margin-top:3px}.auth-toggle{display:flex;gap:10px;align-items:center;margin-top:24px;font-size:.85rem;color:var(--muted);flex-wrap:wrap}.auth-toggle button{border:0;background:transparent;padding:0;color:var(--lime)}.auth-bottom{display:flex;gap:30px;color:var(--muted);font-size:.8rem}.auth-bottom strong{display:block;color:var(--text);margin-bottom:8px}.loading{display:grid;place-items:center;min-height:100vh;color:var(--lime)}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:15px 22px;border:1px solid #6c824f;border-radius:8px;background:#29391d;color:#efffd9;box-shadow:0 10px 40px #0006;z-index:100;display:none;font-size:.875rem}#toast.show{display:block}#toast.error{background:#402821;border-color:#8b5546;color:#ffe1d6}dialog{width:min(540px,calc(100vw - 32px));border:1px solid #546342;border-radius:12px;background:var(--panel);color:var(--text);padding:30px}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}dialog h2{margin-right:30px}dialog form{display:grid;gap:18px}dialog .close{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:1.25rem;padding:2px 7px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.mobile-brand{display:none}.audit{font-size:.8rem}.audit li{margin-bottom:12px;line-height:1.6;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.spaced{margin-top:24px}
.panel{min-width:0}.team-name{min-width:0;overflow-wrap:anywhere}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.sidebar{min-width:0}
@media(max-width:680px){.stat-value{font-size:1.25rem!important;white-space:nowrap}}
@media(min-width:1600px){.content{padding-top:48px}.game{padding-top:24px;padding-bottom:24px}}
@media(max-width:1150px){.shell{grid-template-columns:205px 1fr}.sidebar{padding:28px 14px}.topbar{padding:0 26px}.content{padding:30px 26px}.work-grid{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.team{padding:12px 10px;gap:7px}.team-badge{display:none}.game{padding:18px}.panel-head{padding:19px}.slip-body{padding:18px}.brand{font-size:.95rem}.brand img{width:30px}.admin-grid{grid-template-columns:1fr}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:17px 22px}.sidebar>.brand{display:none}.side-label,.sidebar-bottom{display:none}.nav{flex-direction:row;gap:5px;overflow-x:auto}.nav button{white-space:nowrap;font-size:.85rem;padding:10px 13px}.nav-icon{display:none}.topbar{height:70px}.breadcrumb{display:none}.mobile-brand{display:flex}.work-grid{grid-template-columns:1fr 275px}.stats{gap:12px}.stat{padding:19px}.auth{grid-template-columns:1fr 1fr}.auth-intro{padding:35px}.auth-intro h1{font-size:3.6rem}.auth-form{padding:30px}.team-name{font-size:.8rem}.season{display:none}.admin-game{grid-template-columns:1fr}.profile-mobile{display:inline}}
@media(max-width:680px){.topbar{padding:0 20px}.top-right{gap:8px}.content{padding:26px 18px}.page-heading{align-items:flex-start;gap:14px}.page-heading h1{font-size:2.2rem}.page-heading p{font-size:.85rem}.week-control select{min-width:105px;padding:10px;font-size:.8rem}.stats{gap:8px;margin-bottom:22px}.stat{padding:15px 12px}.stat-label{font-size:.7rem;margin-bottom:12px}.stat-value{font-size:1.5rem}.stat-sub{font-size:.7rem}.stat-icon{display:none}.work-grid{grid-template-columns:1fr}.pick-slip{position:static}.team-badge{display:grid;width:30px;height:30px;font-size:.65rem}.team-name{font-size:.825rem}.line{font-size:.9rem}.team{padding:12px 9px}.game{padding:18px 15px}.footer{flex-direction:column;gap:6px}.pool-grid,.form-grid,.admin-grid{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.auth-intro{padding:28px;gap:28px;border-right:0;border-bottom:1px solid var(--line)}.auth-intro h1{font-size:3rem;margin:18px 0}.auth-intro>div:nth-child(2)>p,.auth-bottom{display:none}.auth-form{padding:35px 28px}.nav button{padding:9px 11px}.sidebar{padding:10px}.panel-head{padding:18px}.board-caption{padding:14px 18px}.rules{padding:23px}.admin-game-actions{flex-wrap:wrap}td,th{padding:15px}.topbar .brand{font-size:.95rem}.topbar .brand small{display:none}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}.panel{animation:appear .25s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:680px){.topbar{flex-wrap:wrap;height:auto;padding:16px 18px}.top-right{width:100%;justify-content:space-between}.page-heading{flex-wrap:wrap}.page-heading>div:first-child{flex:1;min-width:180px}.work-grid,.pool-grid,.admin-grid{grid-template-columns:minmax(0,1fr)}.matchup{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:5px}.team-badge{display:none}.team{min-height:64px}.team-name{font-size:.875rem}.stat-sub{overflow-wrap:anywhere}.game-meta{font-size:.75rem}}

.team-identity {display:inline-flex;flex-direction:column;vertical-align:middle;gap:4px}.team-identity small {font-size:12px;color:var(--muted,#9ca597);font-weight:400}

.weekly-toggle{padding:5px 12px;font-size:24px;line-height:1;background:transparent;border-color:transparent}.weekly-detail>td{padding:0 20px 12px;background:var(--panel2)}.weekly-detail table{width:100%;font-variant-numeric:tabular-nums}.weekly-detail th,.weekly-detail td{padding:14px 18px}.weekly-detail tbody th{background:transparent;color:var(--text);font-size:.9rem;letter-spacing:0;text-transform:none}.weekly-detail .helper{padding:12px 18px 0;margin:0}.weekly-detail[hidden]{display:none}

.team-details-link{border:0;background:transparent;padding:0;color:var(--text);font-weight:700;text-align:left}.team-details-link:hover{text-decoration:underline;color:var(--lime)}dialog.entry-dialog{width:min(900px,calc(100vw - 28px));max-height:90vh;overflow-y:auto}.entry-record{display:flex;flex-direction:column;gap:5px;background:var(--panel2);padding:18px;border-radius:10px;margin-bottom:18px}.entry-record strong{font-size:1.6rem}.entry-record span{color:var(--muted);font-size:.8rem}.entry-weeks{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;margin-bottom:14px}.entry-weeks button{flex:0 0 auto;display:grid;gap:5px;text-align:left}.entry-weeks small{font-size:.75rem;color:var(--muted)}.entry-weeks .selected{border-color:var(--lime);background:#2b3522}.entry-games{display:grid;gap:14px}.entry-game{border:1px solid var(--line);border-radius:12px;padding:18px}.entry-team{display:flex;justify-content:space-between;gap:16px;padding:12px 0}.entry-team.picked{color:var(--lime);font-weight:700}.entry-team small{display:block;font-size:.75rem;margin-top:4px}.entry-game .helper{margin-bottom:0}

.managed-game{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:8px}.managed-game legend{padding:0 6px;color:var(--muted);font-size:.8rem}.managed-matchup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.managed-matchup .team{justify-content:space-between}.managed-matchup .line{white-space:nowrap;flex-shrink:0}

.entry-selector{max-width:420px;margin-bottom:24px}.entry-selector select{font-weight:600}

.commissioner-dashboard{display:flex;align-items:center;gap:28px;padding:24px;margin-bottom:24px}.commissioner-dashboard label{min-width:220px;flex:1}.commissioner-dashboard>div{flex:1}.commissioner-dashboard p{margin:8px 0 0;font-size:.85rem}.admin-game-actions{flex-wrap:wrap}.primary.danger{background:#402821;color:#ffe1d6;border-color:#8b5546}@media(max-width:680px){.commissioner-dashboard{flex-direction:column;align-items:stretch;gap:18px}.commissioner-dashboard label{min-width:0}}
