*{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}}.btn.selected{color:#fff;background:#1769aa;border-color:#1769aa}.btn img,.competition-mark img{object-fit:contain;vertical-align:middle}.pick-game{border:1px solid #dfe7ef;border-radius:14px;padding:14px}.pick-matchup{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:12px;margin-top:10px;display:grid}.pick-team{color:#182331;cursor:pointer;text-align:left;background:#fff;border:1px solid #cbd8e4;border-radius:12px;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;font-weight:700;display:flex}.pick-team img{object-fit:contain;flex:none;width:38px;height:38px}.pick-team.selected{color:#fff;background:#1769aa;border-color:#1769aa}.pick-team:disabled{cursor:not-allowed;opacity:.58}.pick-at{text-align:center}.picks-progress{color:#526273;background:#eef3f7;border-radius:999px;padding:8px 12px}.picks-progress.complete{color:#14733a;background:#e6f6eb}.stack label{gap:7px;display:grid}.stack input[type=file]{background:#f8fafc;border:1px solid #d7e0e8;border-radius:8px;margin-top:4px;padding:8px}@media (max-width:640px){.pick-matchup{grid-template-columns:1fr}.pick-at{padding:0}.pick-team{justify-content:center}}.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-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}.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}.responsive-table-wrap{width:100%;overflow:visible}.admin-role-badge{font-weight:700}.group-admin-row{border-top:1px solid #e5eaf0;grid-template-columns:minmax(180px,1fr) minmax(280px,1.7fr) auto;align-items:center;gap:14px;padding:12px 0;display:grid}.group-admin-row:first-of-type{border-top:0}.group-admin-name{align-items:center;gap:10px;display:flex}.invite-link-field{width:100%;min-width:0}.copy-invite-wrap{align-items:center;gap:8px;display:inline-flex;position:relative}.copy-icon-button{color:#1769aa;cursor:pointer;background:#f5f8fb;border:1px solid #cdd8e4;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.copy-icon-button.copied{color:#16753a;background:#e8f6ed;border-color:#a9d8b8}.copy-cards{width:18px;height:18px;display:block;position:relative}.copy-cards i{background:#f5f8fb;border:2px solid;border-radius:2px;width:12px;height:14px;position:absolute}.copy-cards i:first-child{top:1px;left:1px}.copy-cards i:last-child{top:5px;left:5px}.copy-check{font-size:22px;font-weight:800}.copy-confirmation{white-space:nowrap;color:#fff;background:#17324d;border-radius:7px;padding:6px 9px;font-size:.78rem}.competition-card-link{color:inherit;border:1px solid #e0e7ee;border-radius:12px;align-items:center;gap:12px;padding:12px;text-decoration:none;transition:all .15s;display:flex}.competition-card-link:hover{background:#f6faff;border-color:#7baed7}.group-card-title{color:inherit;text-decoration:none}@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){.group-admin-row{grid-template-columns:1fr}.copy-confirmation{white-space:normal}.responsive-table-wrap .table{min-width:700px}}.player-actions{flex-wrap:wrap;gap:7px}.game-intro{border:1px solid #e1e6eb;border-radius:12px;margin:0 0 18px;padding:12px 14px;line-height:1.45}.game-intro strong{margin-bottom:4px;display:block}.scoring-rules summary{cursor:pointer}.scoring-rules-body{margin-top:12px}.scoring-rules-body p{margin:7px 0}.rules-page{max-width:920px;margin:0 auto}.rules-hero h1{margin-bottom:8px}.rules-list{gap:8px;margin:0;padding-left:22px;display:grid}.rules-definition-grid,.rules-score-grid,.rules-example-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.rules-definition-grid>div,.rules-score-grid>div,.rules-example-grid>div{border:1px solid #e1e6eb;border-radius:10px;gap:4px;padding:12px;display:grid}.rules-definition-grid span,.rules-score-grid span,.rules-example-grid span{color:#667085}.rules-points{font-weight:700;color:inherit!important}.formula-box{background:#f7f9fb;border:1px solid #d8dee6;border-radius:10px;padding:12px 14px;font-weight:700}.scoring-rules-link{margin:-4px 0 4px}.brand-stack{flex-direction:column;align-items:flex-start;margin-right:auto;line-height:1.1;display:flex}.brand-stack .brand{margin-right:0}.bug-report-link{opacity:.72;text-underline-offset:2px;margin-top:4px;font-size:.72rem;font-weight:500;text-decoration:underline}.bug-report-link:hover{opacity:1}.admin-mode-control{white-space:nowrap;align-items:center;gap:7px;display:flex}.admin-mode-status{background:#ffffff14;border:1px solid #ffffff73;border-radius:999px;padding:6px 9px;font-size:.86rem;font-weight:700}.admin-mode-status.on{color:#6a4a00;background:#fff2cc;border-color:#f0d27a}.topbar-action-link{color:#fff;text-underline-offset:2px;opacity:.8;background:0 0;border:0;padding:0;font-size:.76rem;font-weight:600;text-decoration:underline}.topbar-action-link:hover{opacity:1}.setting-action-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.setting-status{color:#42505f;background:#e8edf3;border-radius:999px;padding:6px 10px;font-size:.84rem;font-weight:700}.setting-status.on{color:#236b34;background:#e4f5e8}.bug-details{resize:vertical;min-height:150px}@media (max-width:760px){.brand-stack{width:100%;margin-right:0}.admin-mode-control{width:100%}}.shell,.nav-inner{max-width:1280px}.ui-toggle,.nav-admin-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;display:inline-flex}.ui-toggle input,.nav-admin-toggle input{opacity:0;pointer-events:none;position:absolute}.ui-toggle-track,.nav-toggle-track{background:#c9d2dc;border-radius:999px;flex:none;align-items:center;width:38px;height:22px;padding:3px;transition:all .18s;display:inline-flex}.ui-toggle-thumb,.nav-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:all .18s;transform:translate(0);box-shadow:0 1px 3px #0003}.ui-toggle input:checked+.ui-toggle-track,.nav-admin-toggle input:checked+.nav-toggle-track{background:#2f9e5b}.ui-toggle input:checked+.ui-toggle-track .ui-toggle-thumb,.nav-admin-toggle input:checked+.nav-toggle-track .nav-toggle-thumb{transform:translate(16px)}.ui-toggle input:disabled+.ui-toggle-track{opacity:.55}.ui-toggle-text,.nav-toggle-state{min-width:24px;font-size:.78rem;font-weight:700}.nav-admin-toggle{color:#fff;white-space:nowrap;font-size:.82rem}.nav-toggle-track{background:#ffffff57}.nav-admin-toggle input:checked+.nav-toggle-track{background:#f3d77c}.nav-toggle-state{opacity:.9}.developer-tools-panel{margin-top:18px;padding:0;overflow:hidden}.developer-tools-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.92rem;display:flex}.developer-tools-panel>summary:after{content:"▾";color:#66717f}.developer-tools-panel[open]>summary:after{content:"▴"}.developer-tools-body{border-top:1px solid #e5e9ee;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 16px;display:grid}.developer-control{background:#fafbfc;border:1px solid #e1e6eb;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.developer-control.disabled{opacity:.52;background:#f3f5f7}.developer-inline-message{font-size:.75rem}.developer-tool-link.disabled{color:#7c8793;cursor:not-allowed;text-decoration:none}.standings-wide{width:100%}.season-standings-card{overflow:hidden}.season-total-table-wrap{overflow-x:auto}.season-total-table{min-width:760px}.season-total-table th,.season-total-table td{white-space:nowrap;padding-left:8px;padding-right:8px}.rank-movement-cell{width:26px;text-align:center!important;padding-right:2px!important}.rank-arrow{text-align:center;min-width:14px;font-size:.82rem;font-weight:900;display:inline-block}.rank-arrow.neutral{color:#9aa4ae}@media (max-width:1120px){.season-dashboard{grid-template-columns:1fr}}@media (max-width:760px){.developer-tools-body{grid-template-columns:1fr}.nav-admin-toggle{width:auto}}.season-standings-card,.season-performance-card{padding:14px 16px}.season-standings-card h2,.season-performance-card h2{margin-bottom:10px;font-size:1.25rem;line-height:1.2}.season-total-table-wrap{overflow:hidden}.season-total-table{table-layout:fixed;width:100%;font-size:.79rem}.season-total-table th,.season-total-table td{white-space:nowrap;padding:7px 4px;line-height:1.18}.season-total-table th{letter-spacing:-.01em;font-size:.72rem}.rank-cell{font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:flex}.rank-arrow{font-size:.72rem;font-weight:800;line-height:1}.rank-arrow.up{color:#16803c}.rank-arrow.down{color:#b42318}.rank-arrow.neutral{color:#98a2b3;font-size:.9rem}.player-name-cell{overflow-wrap:anywhere;white-space:normal!important}.season-chart-controls{flex-direction:column;gap:10px;display:flex}.player-filter-panel{padding:9px 10px}.player-filter-panel>.label{margin-bottom:5px}.player-filter-panel>.input{max-width:190px;padding:7px 9px;font-size:.82rem}.player-check-list{flex-wrap:wrap;gap:2px 10px;max-height:none;margin-top:6px;display:flex;overflow:visible}.chart-player-check{padding:4px 1px;font-size:.78rem}.all-check{padding-top:6px}.line-swatch{width:15px}.season-chart-panel{width:100%;min-width:0;padding:6px}.season-performance-card>.muted,.season-performance-card .muted{font-size:.78rem;line-height:1.3}@media (max-width:1100px){.season-dashboard{grid-template-columns:1fr}.season-total-table{font-size:.82rem}}@media (max-width:760px){.season-total-table-wrap{overflow-x:auto}.season-total-table{min-width:620px}}.nav-admin-toggle{gap:6px}.developer-control-copy{flex:auto;min-width:0}.developer-control-toggle{flex:none;justify-content:flex-end;min-width:76px}.developer-inline-message{color:#66717f;min-height:1.1em;margin-top:3px;font-size:.75rem}.bug-success{color:#236b34;flex-wrap:wrap;align-items:center;gap:10px;font-weight:600;display:flex}.bug-another-link{font-weight:700}.account-message{font-size:.9rem;font-weight:600}.account-message.error{color:#b42318}.account-message.success{color:#236b34}.admin-heading-row{align-items:center}.bug-count-link{color:#536273;background:#fff;border:1px solid #d9e0e7;border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:700;text-decoration:none}.bug-count-link.active{color:#9f1c1c;background:#fff3f3;border-color:#efb7b7}.bug-count-link:hover{text-underline-offset:2px;text-decoration:underline}.bug-report-admin-card{gap:8px}.bug-report-meta,.bug-report-source{font-size:.8rem}.bug-report-details-text{white-space:pre-wrap;line-height:1.45}.player-dropdown{z-index:3;width:min(320px,100%);position:relative}.player-dropdown>summary{cursor:pointer;background:#fff;border:1px solid #d8dee6;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:8px 11px;font-size:.84rem;font-weight:700;list-style:none;display:flex}.player-dropdown>summary::-webkit-details-marker{display:none}.player-dropdown>summary:after{content:"▾";color:#667085;margin-left:auto}.player-dropdown[open]>summary:after{content:"▴"}.player-dropdown-menu{background:#fff;border:1px solid #d8dee6;border-radius:10px;width:min(340px,90vw);padding:10px;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 10px 28px #14202d24}.player-dropdown-menu>.input{width:100%;padding:7px 9px;font-size:.82rem}.player-dropdown .player-check-list{max-height:260px;margin-top:5px;display:block;overflow-y:auto}.player-dropdown .chart-player-check{align-items:center;gap:7px;padding:6px 2px;font-size:.82rem;display:flex}.player-dropdown .all-check{border-bottom:1px solid #e7ebef;margin-top:5px;padding-bottom:8px}.season-chart-controls,.season-performance-card{overflow:visible}.season-dashboard{grid-template-columns:minmax(0,.82fr) minmax(0,1.48fr);gap:14px}.season-total-table-wrap{scrollbar-gutter:stable;max-height:min(62vh,620px);overflow:hidden auto}.season-total-table thead th{z-index:1;background:#fff;position:sticky;top:0}.season-chart-wrap{width:100%;overflow:visible}.season-chart-legend-scroll{scrollbar-width:thin;width:100%;margin-bottom:2px;padding:1px 0 7px;overflow:auto hidden}.season-chart-legend{align-items:center;gap:7px;width:max-content;min-width:100%;display:flex}.season-chart-legend-item{white-space:nowrap;background:#fff;border:1px solid #e1e6eb;border-radius:8px;flex:none;align-items:center;gap:6px;padding:5px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.season-chart-legend-dot{border-radius:50%;flex:none;width:8px;height:8px}.season-chart-wrap svg{width:100%;min-width:0;max-width:100%}@media (max-width:1100px){.season-dashboard{grid-template-columns:1fr}.season-total-table-wrap{max-height:520px}}.season-dashboard{grid-template-columns:minmax(560px,.9fr) minmax(0,1.1fr);align-items:start;gap:14px}.season-total-table-wrap{scrollbar-gutter:stable;width:100%;max-height:min(62vh,620px);overflow:hidden auto}.season-total-table{table-layout:fixed;width:100%;min-width:0;font-size:.78rem}.season-total-table th,.season-total-table td{padding:7px 3px}.season-total-table th:first-child{width:42px}.season-total-table th:nth-child(2){width:102px}.season-total-table th:nth-child(3){width:48px}.season-total-table th:nth-child(4){width:50px}.season-total-table th:nth-child(5){width:46px}.season-total-table th:nth-child(6){width:48px}.season-total-table th:nth-child(7){width:44px}.season-total-table th:nth-child(8){width:58px}.season-total-table th:nth-child(9){width:50px}.season-chart-svg-area{width:100%;position:relative}.season-chart-svg-area svg{width:100%;height:auto;display:block}.chart-hover-target{cursor:pointer;pointer-events:all}.season-chart-tooltip{z-index:8;color:#18212b;pointer-events:none;background:#fffffffa;border:1px solid #cfd6df;border-radius:8px;min-width:156px;max-width:190px;padding:8px 9px;font-size:.74rem;line-height:1.25;position:absolute;transform:translate(12px,-50%);box-shadow:0 8px 24px #14202d29}.season-chart-tooltip-title{white-space:nowrap;margin-bottom:6px;font-size:.78rem;font-weight:800}.season-chart-tooltip-grid{grid-template-columns:1fr auto;gap:3px 10px;display:grid}.season-chart-tooltip-grid span{color:#66717f}.season-chart-tooltip-grid strong{font-variant-numeric:tabular-nums}@media (max-width:1180px){.season-dashboard{grid-template-columns:1fr}.season-total-table-wrap{max-height:520px}}.preview-page{gap:20px}.preview-label,.competition-eyebrow{color:#315f88;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800;display:block}.competition-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.competition-card{flex-direction:column;align-items:flex-start;gap:16px;min-width:0;display:flex}.competition-card-copy{flex:1;min-width:0}.competition-card h2{margin:4px 0 8px}.competition-mark{color:#174d7d;background:#e9f2fa;border:1px solid #0f395e29;border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:.88rem;font-weight:900;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 3px 10px #0f395e1a}.competition-mark-large{border-radius:20px;width:76px;height:76px;font-size:1.15rem}.competition-mark img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.competition-mark-underlay{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.competition-mark-fallback{background:linear-gradient(145deg,#eaf4fc,#dceafa)}.competition-header{background:linear-gradient(135deg,#fff,#eef6fc);border:1px solid #cfdce8;border-radius:18px;align-items:center;gap:18px;padding:20px;display:flex;box-shadow:0 8px 24px #173e5f14}.competition-header-copy{min-width:0}.competition-header h1{margin:4px 0}.competition-meta{color:#526475;font-weight:700}.competition-switch{margin-left:auto}.context-token{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.context-token code{color:#31536f;background:#eef3f7;border-radius:7px;padding:5px 8px}.join-shell{place-items:center;min-height:calc(100vh - 170px);padding:30px 0;display:grid}.join-card{text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(520px,100%);padding:30px;display:flex}.join-card h1{margin:0}.join-actions{width:min(320px,100%);margin-top:4px}.join-security-note{color:#617080;margin:4px 0 0;font-size:.82rem}.invalid-invitation{background:#fafbfc;border-color:#d9dfe5}.demo-links{margin-top:2px}@media (max-width:900px){.competition-card-grid{grid-template-columns:1fr}.competition-card{grid-template-columns:auto 1fr;display:grid}.competition-card .btn{grid-column:1/-1;justify-self:start}}@media (max-width:620px){.competition-header{flex-wrap:wrap;align-items:flex-start}.competition-switch{text-align:center;width:100%;margin-left:0}.competition-card{display:flex}.join-card{padding:22px 18px}}.admin-tabs{flex-wrap:wrap;gap:8px;display:flex}.responsive-table{width:100%;overflow-x:auto}.admin-competition select,.admin-competition input{max-width:100%}@media (max-width:700px){.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-tabs .btn{width:100%}.admin-competition .row{align-items:stretch}.admin-competition .row>select,.admin-competition .row>input,.admin-competition .row>.btn{width:100%}.group-admin-row{gap:8px;grid-template-columns:1fr!important}.responsive-table .table{min-width:620px}}.competition-player-nav{background:#fff;border:1px solid #cfdce8;border-radius:14px;align-items:center;gap:6px;padding:5px;display:flex;overflow-x:auto;box-shadow:0 3px 10px #0000000a}.competition-player-link{color:#31536f;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;min-width:96px;padding:10px 15px;font-weight:800;text-decoration:none;display:inline-flex}.competition-player-link:hover{background:#eef6fc}.competition-player-link.active{color:#fff;background:#174d7d}.standings-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.standings-toolbar .row{margin:0}.standings-table td,.standings-table th{vertical-align:middle}.standing-me{background:#edf6ff}.you-label{color:#fff;text-transform:uppercase;letter-spacing:.04em;background:#174d7d;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:.7rem;font-weight:800;display:inline-block}@media (max-width:620px){.competition-player-nav{width:100%;padding:4px}.competition-player-link{min-width:88px;padding:9px 12px;font-size:.9rem}.standings-toolbar{align-items:stretch}.standings-toolbar>.row{width:100%}.standings-toolbar select{flex:1;min-width:0}.standings-table{min-width:610px}}.admin-home-card{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;min-height:120px;display:block}.admin-home-card:hover{background:#fbfdff;border-color:#b8c9d9}.admin-home-card h2{margin:0 0 14px;font-size:1.45rem}.admin-home-card p{margin:0}.admin-context-line{margin-top:-6px;font-size:.92rem}.admin-section-heading{align-items:center;margin-bottom:2px}.admin-week-selectors{width:100%}.admin-week-selectors .input{max-width:320px}.group-admin-row.compact{grid-template-columns:minmax(220px,1fr) auto}@media (max-width:700px){.admin-home-card{min-height:auto}.admin-section-heading{align-items:flex-start}.admin-week-selectors .input{width:100%;max-width:none}}.admin-home-link{color:inherit;min-height:120px;text-decoration:none;display:block}.admin-home-link:hover{background:#fbfdff;border-color:#b8c9d9}.admin-home-link h2{margin:0 0 14px;font-size:1.45rem}.admin-home-link p{margin:0}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.platform-group-launch{grid-template-columns:minmax(240px,1fr) auto}.platform-group-actions{justify-content:flex-end}@media (max-width:700px){.settings-grid,.platform-group-launch{grid-template-columns:1fr}.platform-group-actions{justify-content:flex-start}}.developer-summary-note{margin-left:10px;font-size:.82rem;font-weight:400}.developer-control{background:#fff;border:1px solid #d9e0e7;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.developer-control.disabled{opacity:.55}.developer-control-note{margin-top:2px;font-size:.78rem}.developer-tool-link{color:#1769aa;text-underline-offset:2px;font-size:.82rem;font-weight:700;text-decoration:underline}.button-link{cursor:pointer;background:0 0;border:0;padding:4px}.button-link:disabled{cursor:not-allowed;color:#8a96a3}.legacy-toggle{cursor:pointer;align-items:center;gap:7px;display:flex}.legacy-toggle input{opacity:0;pointer-events:none;position:absolute}.legacy-toggle-track{background:#b8c2cc;border-radius:999px;width:38px;height:22px;padding:2px;transition:all .15s;display:block}.legacy-toggle-track span{background:#fff;border-radius:50%;width:18px;height:18px;transition:all .15s;display:block}.legacy-toggle input:checked+.legacy-toggle-track{background:#2fa466}.legacy-toggle input:checked+.legacy-toggle-track span{transform:translate(16px)}.test-clock-drawer{border-top:1px solid #e5e9ee;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding-top:12px;display:flex}.test-clock-drawer .input{max-width:260px}.developer-message{grid-column:1/-1;font-size:.82rem}.admin-platform-scope{max-width:520px;margin-top:-2px}.stack label.switch-line{align-items:center;gap:8px;display:flex}.inline-field{align-items:center;gap:10px;font-weight:600;display:flex!important}.inline-field .input,.inline-field input{flex:none;width:86px}.admin-import-row{align-items:center}.action-message{font-weight:700}.action-message.success{color:#176b35;background:#eaf7ee;border-color:#a9d7b7}.action-message.error{color:#a51d1d;background:#fff0f0;border-color:#efb7b7}.bug-toolbar{padding-top:12px;padding-bottom:12px}.bug-report-admin-card.archived{opacity:.72;background:#f7f8fa}.bug-report-title-row{align-items:flex-start}.bug-report-actions{justify-content:flex-end}.bug-status-select{width:auto;min-width:130px}.btn.danger{color:#fff;background:#b42318;border-color:#b42318}.btn.danger:hover{background:#8f1b13;border-color:#8f1b13}@media (max-width:700px){.inline-field{justify-content:flex-start;width:100%}.bug-report-title-row{align-items:stretch}.bug-report-actions{justify-content:flex-start;width:100%}.bug-status-select{flex:1;min-width:0}}.missing-count{color:#b42318;font-weight:800}.owner-preview-banner{background:#fff8e6;border-color:#e8c77a;align-items:center;gap:12px;display:flex}.group-settings-shortcut{justify-content:space-between;align-items:center;gap:16px;display:flex}.standings-status-banner{color:#526273;background:#f7f9fb}.season-standings-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:start;gap:14px;display:grid}.developer-message.action-message{border:1px solid #a9d7b7;border-radius:8px;margin-top:10px;padding:10px 12px}.pick-team:not(:disabled){transition:background-color 80ms,border-color 80ms,color 80ms}.picks-progress .missing-count{margin-left:2px}@media (max-width:900px){.season-standings-layout{grid-template-columns:1fr}.group-settings-shortcut,.owner-preview-banner{flex-direction:column;align-items:flex-start}}.pick-game-meta{align-items:flex-start;gap:12px}.pick-final-score{color:#243447;text-align:right;font-weight:800}.your-pick-label{text-transform:uppercase;letter-spacing:.04em;opacity:.85;margin-top:2px;font-size:.72rem;display:block}.pick-result-row{justify-content:flex-end;margin-top:10px;display:flex}.pick-result-badge{border-radius:999px;align-items:center;padding:6px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.pick-result-badge.correct{color:#236b34;background:#e8f7ed}.pick-result-badge.wrong{color:#9b2c2c;background:#fff0f0}.pick-result-badge.neutral{color:#526273;background:#eef2f6}.status-missed{color:#8a5b00;font-weight:700}.standings-player-link{color:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.history-results-table{min-width:760px}.history-results-table td{vertical-align:middle}@media (max-width:700px){.pick-game-meta{flex-direction:column}.pick-final-score{text-align:left}.pick-result-row{justify-content:flex-start}}.pick-final-summary{white-space:nowrap;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex;overflow-x:auto}.pick-final-summary::-webkit-scrollbar{display:none}.pick-final-summary .pick-final-score{flex:none}.pick-final-summary .pick-result-badge{flex:none;padding:5px 9px}.pick-result-row{display:none}.season-standings-card{min-width:0!important;overflow:hidden!important}.season-standings-wrap{width:100%;overflow:visible}.season-standings-table{table-layout:auto;width:100%;font-size:.76rem;min-width:0!important}.season-standings-table th,.season-standings-table td{white-space:nowrap;padding:8px 5px}.season-standings-table th:nth-child(2),.season-standings-table td:nth-child(2){white-space:normal;min-width:72px}.season-standings-table .you-label{margin-left:4px;padding:1px 5px;font-size:.62rem}.week-import-control{flex-direction:column;gap:8px;display:flex}.import-week-select{min-width:210px;width:auto!important}.imported-weeks-summary{color:#526273;background:#f7f9fb;border:1px solid #dbe3ea;border-radius:8px;padding:8px 10px;font-size:.86rem}.imported-weeks-summary strong{color:#263746}.join-admin-offer{color:#234b6a;text-align:left;background:#eef7fd;border:1px solid #b8d8ef;border-radius:10px;flex-direction:column;gap:4px;width:min(420px,100%);padding:12px 14px;display:flex}.join-admin-choice{text-align:left;background:#fff;border:1px solid #d4dee7;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.join-admin-choice input{flex:none;width:18px;height:18px;margin-top:2px}.join-admin-choice span{flex-direction:column;gap:2px;display:flex}.join-admin-choice small{color:#617080}.owner-group-policy{border-color:#d6e1ea}.owner-policy-toggle,.owner-access-choice{align-items:flex-start;gap:10px;display:flex}.owner-policy-toggle input,.owner-access-choice input{flex:none;width:18px;height:18px;margin-top:2px}.owner-policy-toggle span,.owner-access-choice span{flex-direction:column;gap:2px;display:flex}.owner-policy-toggle small,.owner-access-choice small{color:#617080}.owner-access-choice.disabled{opacity:.6}.platform-owner-access-row{border-top:1px solid #e5eaf0;grid-template-columns:minmax(210px,.9fr) minmax(260px,1.25fr) minmax(155px,.55fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.platform-owner-access-row:first-of-type{border-top:0}.platform-invite-cell{min-width:0}.owner-policy{margin-top:4px;font-size:.76rem;font-weight:800}.owner-policy.allowed{color:#23733b}.owner-policy.blocked{color:#a12622}.owner-scope-ready{color:#216b36;background:#eef8f1;border-color:#aad8b7}.owner-scope-blocked{color:#79531a;background:#fff8e7;border-color:#ead2a4}@media (max-width:900px){.platform-owner-access-row{grid-template-columns:1fr}.platform-group-actions{justify-content:flex-start}.season-standings-table{font-size:.8rem}.season-standings-wrap{overflow-x:auto}.season-standings-table{min-width:610px!important}}@media (max-width:700px){.pick-final-summary{justify-content:flex-start;width:100%}.pick-game-meta{align-items:stretch}.week-import-control .admin-import-row{align-items:flex-start}.import-week-select{min-width:0;width:100%!important}}
