*{box-sizing:border-box}html,body{color:#17202a;background:#f3f5f8;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.shell{max-width:1120px;margin:0 auto;padding:24px 18px 60px}.topbar{color:#fff;background:#1f6fb2;align-items:center;min-height:62px;display:flex}.nav-inner{flex-wrap:wrap;align-items:center;gap:18px;width:100%;max-width:1120px;margin:0 auto;padding:0 18px;display:flex}.brand{margin-right:auto;font-weight:800}.nav-link{opacity:.95}.user-chip{white-space:nowrap;background:#ffffff24;border-radius:999px;align-items:center;gap:4px;padding:7px 10px;display:flex}.user-chip span{opacity:.9}.card{background:#fff;border:1px solid #d9e0e7;border-radius:14px;padding:18px;box-shadow:0 3px 10px #0000000a}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.muted{color:#66717f}.btn{color:#fff;background:#1f6fb2;border:0;border-radius:10px;padding:10px 14px;font-weight:700}.btn.secondary{color:#17202a;background:#e8edf3}.btn.danger{background:#a33}.btn:disabled{opacity:.5;cursor:not-allowed}.input{background:#fff;border:1px solid #c8d1db;border-radius:10px;width:100%;padding:10px 12px}.label{margin-bottom:4px;font-size:.9rem;font-weight:700;display:block}.team-pick{text-align:left;background:#fff;border:2px solid #d8dee6;border-radius:14px;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.team-pick.selected{background:#edf6ff;border-color:#1f6fb2}.team-pick:disabled{cursor:not-allowed}.team-pick.locked-unselected{opacity:.42}.team-pick.locked-selected{opacity:1;background:#edf6ff;border-color:#1f6fb2}.logo{object-fit:contain;width:42px;height:42px}.game-line{grid-template-columns:minmax(160px,1fr) 44px minmax(160px,1fr) minmax(160px,.7fr);align-items:center;gap:10px;display:grid}.score{font-size:1.4rem;font-weight:800}.badge{background:#e8edf3;border-radius:999px;padding:4px 9px;font-size:.82rem}.badge.live{color:#8b1d1d;background:#ffe8e8}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e1e6eb;padding:10px}h1,h2,h3{margin-top:0}.hero{padding:44px 0 10px}@media (max-width:760px){.grid-2,.game-line{grid-template-columns:1fr}.desktop-only{display:none}.user-chip{order:10}}.admin-toggle{color:#fff;background:#ffffff1a;border:1px solid #ffffff8c;border-radius:999px;padding:8px 11px;font-weight:700}.admin-toggle.on{color:#6a4a00;background:#fff2cc;border-color:#f0d27a}.segmented{background:#e8edf3;border-radius:10px;padding:3px;display:inline-flex}.segment{color:#42505f;background:0 0;border:0;border-radius:8px;padding:7px 12px;font-weight:700}.segment.active{color:#17202a;background:#fff;box-shadow:0 1px 3px #0000001a}.badge.success{color:#236b34;background:#e4f5e8}.status-correct{color:#236b34;font-weight:700}.status-wrong{color:#9b2c2c;font-weight:700}.score-input{max-width:90px}.compact-stack{gap:3px}.compact-table th,.compact-table td{padding-top:7px;padding-bottom:7px}.between{justify-content:space-between}.test-clock-banner{border-style:dashed}.link-button{color:#1f6fb2;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.link-button:hover{text-decoration:underline}details.card>summary{list-style:none}details.card>summary::-webkit-details-marker{display:none}.setting-row{border-bottom:1px solid #e5e9ee;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.setting-row input{width:18px;height:18px;margin-top:4px}.setting-row>span{flex-direction:column;gap:3px;display:flex}.notice{background:#f7f9fb;border:1px solid #d9e0e7;border-radius:10px;padding:12px 14px}.chart-wrap{width:100%;overflow-x:auto}.chart-wrap svg{width:100%;min-width:640px;height:auto;display:block}.chart-axis{stroke:currentColor;stroke-width:1.2px;opacity:.45}.chart-grid{stroke:currentColor;stroke-width:1px;opacity:.1}.chart-line{fill:none;stroke:currentColor;stroke-width:3px}.chart-point{fill:currentColor}.chart-missed{fill:none;stroke:currentColor;stroke-width:2px;opacity:.55}.chart-label{fill:currentColor;opacity:.72;font-size:12px}.chart-missed-label{fill:currentColor;opacity:.65;font-size:11px}.schedule-grid{grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr);gap:14px;max-width:560px;display:grid}.switch-line{align-items:center;gap:8px;font-weight:700;display:flex}.switch-line input{width:18px;height:18px}.season-dashboard{grid-template-columns:minmax(320px,.78fr) minmax(620px,1.65fr);align-items:start;gap:16px;display:grid}.season-standings-card{min-width:0;overflow:auto}.season-performance-card{min-width:0}.season-chart-controls{grid-template-columns:210px minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.player-filter-panel{border:1px solid #e1e6eb;border-radius:12px;min-width:0;padding:12px}.player-check-list{border-top:1px solid #edf0f3;max-height:340px;margin-top:8px;overflow:auto}.chart-player-check{align-items:center;gap:8px;padding:7px 2px;font-size:.9rem;display:flex}.chart-player-check input{flex:none;width:16px;height:16px}.all-check{padding-top:10px}.line-swatch{background:hsl(var(--swatch-hue) 68% 42%);border-radius:999px;flex:none;width:20px;height:3px}.season-chart-panel{border:1px solid #e1e6eb;border-radius:12px;min-width:0;padding:8px;overflow-x:auto}.season-chart-wrap svg{width:100%;min-width:720px;height:auto;display:block}.chart-week-grid{stroke:currentColor;stroke-width:1px;opacity:.045}.chart-axis-title{fill:currentColor;opacity:.75;font-size:13px;font-weight:700}.chart-empty{justify-content:center;align-items:center;min-height:390px;display:flex}@media (max-width:1050px){.season-dashboard{grid-template-columns:1fr}}@media (max-width:760px){.schedule-grid,.season-chart-controls{grid-template-columns:1fr}.player-check-list{max-height:220px}}.version-badge{vertical-align:middle;opacity:.88;background:#ffffff29;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-block}.season-standings-card,.season-chart-panel{overflow:visible}.season-chart-wrap{width:100%;overflow:visible}.season-chart-wrap svg{width:100%;min-width:0;max-width:100%}.responsive-table-wrap{width:100%;overflow:visible}.admin-role-badge{font-weight:700}@media (max-width:980px){.season-standings-card,.season-chart-panel,.season-chart-wrap,.responsive-table-wrap{overflow-x:auto}.season-chart-wrap svg{min-width:720px}}@media (max-width:640px){.responsive-table-wrap .table{min-width:700px}}
