:root{--bg:#f4f6f8;--card:#fff;--ink:#12202b;--muted:#6c7882;--line:#e1e6ea;--accent:#1d5c8a;--good:#16835b;--shadow:0 8px 28px rgba(16,35,50,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.container{max-width:1180px;margin:auto;padding:0 22px}.topbar{background:#fff;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.nav{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;color:var(--ink);text-decoration:none;font-size:18px}.links{display:flex;gap:20px}.links a{color:var(--muted);text-decoration:none;font-size:14px}.links a:hover{color:var(--accent)}.page{padding-top:34px;padding-bottom:60px}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:28px 0 24px}.hero h1,h1{font-size:38px;line-height:1.05;margin:6px 0 10px}.hero p{color:var(--muted);margin:0;max-width:620px}.eyebrow{letter-spacing:.13em;color:var(--accent)}.eyebrow,.live-pill,.status{font-size:11px;font-weight:800}.live-pill,.status{padding:9px 12px;border-radius:999px;background:#eaf6f1;color:var(--good)}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:18px}.stats>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.stats span{display:block;font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.1em}.stats strong{font-size:28px;margin-top:6px;display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow);margin-bottom:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.section-head h1,.section-head h2{margin:4px 0}.button{display:inline-block;border:0;border-radius:9px;padding:10px 15px;background:var(--accent);color:white;text-decoration:none;font-weight:700;cursor:pointer}.button.secondary{background:#edf2f5;color:var(--ink)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:12px}td,th{border-bottom:1px solid var(--line)}td{padding:15px 12px}tr:last-child td{border-bottom:0}.rank{font-weight:800}.team-link{color:var(--ink);text-decoration:none;font-weight:700}.points{font-weight:800;text-align:right}.empty,.muted{color:var(--muted)}.empty{text-align:center;padding:28px}.team-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.team-card{margin:0}.team-card-head{display:flex;justify-content:space-between;gap:15px}.team-card h2{margin:0;font-size:19px}.roster-mini{margin-top:18px;display:grid;grid-gap:10px;gap:10px}.roster-mini div{display:grid;grid-template-columns:24px 1fr;grid-gap:5px;gap:5px}.roster-mini b{color:var(--accent)}.roster-mini span{grid-column:2;color:var(--muted);font-size:13px}.market-banner{background:linear-gradient(135deg,#fff,#eef5fa)}.priority-list{display:grid}.priority-row{display:grid;grid-template-columns:34px 1fr auto;grid-gap:10px;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.priority-row:last-child{border-bottom:0}.priority-row span{font-weight:800;color:var(--accent)}.priority-row small{color:var(--muted)}.priority-row.done{opacity:.55}.status.closed{background:#eef0f2;color:#65717b}.search{border:1px solid var(--line);border-radius:9px;padding:10px 12px;min-width:250px}.auth{min-height:calc(100vh - 68px);display:grid;place-items:center}.auth-card{width:min(440px,100%)}form{grid-gap:15px;gap:15px;margin-top:22px}form,label{display:grid}label{font-size:13px;font-weight:700;grid-gap:7px;gap:7px}input{font:inherit;border:1px solid var(--line);border-radius:9px;padding:12px}.tiny{font-size:11px;color:var(--muted);margin-top:15px}@media(max-width:760px){.links{gap:9px}.links a:nth-child(3),.links a:nth-child(4){display:none}.hero{display:block}.live-pill{display:inline-block;margin-top:18px}.stats,.team-grid{grid-template-columns:1fr}.search{min-width:0;width:100%}.section-head{align-items:flex-start;flex-direction:column}}.table-wrap{overflow-x:auto}.align-right{text-align:right}.rank-badge{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2f5;font-size:13px;font-weight:800}.rank-badge.top-three{background:#e6f1f8;color:var(--accent)}.page-intro{margin:8px 0 0}.team-link:hover{color:var(--accent)}.team-card{scroll-margin-top:90px}.team-card:target{border-color:var(--accent);box-shadow:0 0 0 2px rgba(29,92,138,.1),var(--shadow)}.team-card-head{align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}.team-rank{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:5px}.owner-name{margin:6px 0 0;font-size:13px}.team-points{text-align:right;white-space:nowrap}.team-points strong{display:block;font-size:26px;line-height:1}.team-points span{display:block;margin-top:5px;font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:800}.roster-count{margin:14px 0 4px;color:var(--muted);font-size:11px;font-weight:700}.roster-group{margin-top:18px}.roster-group-title{display:grid;grid-template-columns:28px 1fr auto;align-items:center;grid-gap:8px;gap:8px;margin-bottom:7px}.roster-group-title strong{font-size:12px}.roster-group-title small{color:var(--muted);font-size:11px}.position-badge{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#edf4f8;color:var(--accent);font-size:10px;font-weight:900}.player-list{border-top:1px solid var(--line)}.player-row{display:flex;justify-content:space-between;min-height:35px;padding:7px 2px;border-bottom:1px solid var(--line);font-size:13px}.player-row:last-child{border-bottom:0}.player-name{font-weight:600}.nhl-team{flex:0 0 auto;min-width:34px;text-align:center;padding:3px 6px;border-radius:5px;background:#f0f3f5;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.04em}@media(max-width:760px){.team-card{padding:18px}.team-points strong{font-size:22px}td,th{white-space:nowrap}}.rank-change{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800}.rank-change.up{background:#eaf6f1;color:#16835b}.rank-change.down{background:#fbecec;color:#b84444}.rank-change.neutral{background:#f0f3f5;color:#7a858e}.player-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px}.player-name{min-width:0}.player-meta{display:grid;grid-template-columns:42px 64px;align-items:center;grid-gap:8px;gap:8px}.player-points{width:64px;text-align:right;white-space:nowrap;font-size:12px;font-weight:800;color:var(--ink)}.nhl-team{min-width:0;width:42px}.player-row-stats{grid-template-columns:minmax(0,1fr) auto}.player-details{display:grid;grid-template-columns:38px 88px 62px;align-items:center;grid-gap:8px;gap:8px}.player-statline{font-size:11px;color:var(--muted);text-align:right;white-space:nowrap}.player-row-stats .player-points{width:auto;min-width:62px;text-align:right}@media(max-width:520px){.player-details{grid-template-columns:34px 76px 58px;gap:5px}.player-statline{font-size:10px}.player-row-stats .player-points{min-width:58px;font-size:11px}}.brand-logo{display:flex;align-items:center;gap:10px}.brand-image{width:82px;height:48px;object-fit:cover;object-position:center;border-radius:8px}.brand-logo span{font-weight:800;white-space:nowrap}@media(max-width:760px){.brand-logo span{display:none}.brand-image{width:72px;height:42px}}.market-error-box{margin-bottom:18px;padding:14px 16px;border:1px solid #e8b7b7;background:#fff2f2;color:#a13b3b;border-radius:12px;font-size:14px;font-weight:700}.market-error{color:#a13b3b}.market-turn-card{border-top:4px solid var(--accent)}.market-step{display:flex;align-items:flex-start;gap:12px;margin:24px 0 16px}.market-step-two{margin-top:30px}.market-step-number{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:13px;font-weight:800}.market-step h3{margin:2px 0 4px;font-size:17px}.market-step p{margin:0;font-size:13px}.market-roster{display:grid;grid-gap:18px;gap:18px}.market-roster-group{border:1px solid var(--line);border-radius:12px;overflow:hidden}.market-roster-list{display:grid;grid-template-columns:repeat(2,1fr)}.market-roster-player{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;color:var(--ink);font:inherit}.market-roster-player:hover{background:#f6f9fb}.market-roster-player.selected{background:#eaf3f9;box-shadow:inset 3px 0 0 var(--accent);font-weight:800}.market-roster-player small{color:var(--muted);font-size:11px;font-weight:800}.market-search{width:100%;min-width:0}.market-search-results{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.market-player-result{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;cursor:pointer;color:var(--ink);font:inherit}.market-player-result:hover{border-color:#b9cbd8;background:#f8fafb}.market-player-result.selected{border-color:var(--accent);background:#edf6fb}.market-player-result>span:first-child{display:grid;grid-gap:3px;gap:3px}.market-player-result small{color:var(--muted);font-size:12px}.market-confirm{margin-top:24px;border:1px solid #c9ddd5;background:#f1f8f5;border-radius:14px;padding:18px;justify-content:space-between;gap:20px}.market-confirm,.market-swap{display:flex;align-items:center}.market-swap{margin-top:9px;gap:15px}.market-swap span{display:grid;grid-gap:3px;gap:3px}.market-swap small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.market-history{margin-top:14px}.market-history-row{padding:13px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(180px,1fr) 2fr;grid-gap:20px;gap:20px;font-size:14px}.market-history-row:last-child{border-bottom:0}.priority-row.current{background:#f1f7fb;margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;border-radius:8px}.priority-row.current small{color:var(--accent);font-weight:800}.button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:760px){.market-roster-list{grid-template-columns:1fr}.market-confirm{align-items:stretch;flex-direction:column}.market-confirm .button{width:100%}.market-history-row{grid-template-columns:1fr;gap:5px}.market-swap{align-items:flex-start}}.user-nav{display:flex;align-items:center;gap:12px;margin-left:8px}.user-nav-info{display:flex;flex-direction:column;line-height:1.15}.user-nav-info strong{font-size:.85rem}.user-nav-info span{font-size:.72rem;opacity:.72}.user-nav-info small{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.65}.nav-logout{border:1px solid;border-radius:8px;padding:6px 9px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.78rem}.nav-logout:hover{opacity:.75}.nav-logout:disabled{cursor:wait;opacity:.5}@media (max-width:850px){.user-nav-info small,.user-nav-info span{display:none}.user-nav{gap:6px;margin-left:0}}.account-card{max-width:640px}.password-form{display:grid;grid-gap:18px;gap:18px;margin-top:24px}.password-form label{display:grid;grid-gap:8px;gap:8px;font-weight:700}.password-form input{width:100%}.account-success{margin:0;padding:12px 14px;border-radius:8px;background:rgba(34,197,94,.12);font-weight:700}.user-nav-actions{display:flex;align-items:center;gap:12px}.nav-account{padding:6px 4px;font-size:.78rem;white-space:nowrap}.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.rules-card{min-width:0}.rules-card h2{margin-top:8px}.rules-wide{grid-column:1/-1}.rules-prizes,.rules-roster{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:24px 0}.rules-prizes>div,.rules-roster>div{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--border,#dbe2e8);border-radius:12px;text-align:center}.rules-prizes strong,.rules-roster strong{font-size:1.6rem}.rules-prizes span,.rules-roster span{font-size:.82rem;opacity:.7}.rules-points{display:grid;grid-gap:0;gap:0;margin-top:20px}.rules-points>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--border,#dbe2e8)}.rules-points>div:last-child{border-bottom:0}.rules-points strong{font-size:1.15rem}.rules-market-flow{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin:24px 0}.rules-market-flow>div{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--border,#dbe2e8);border-radius:12px}.rules-market-flow strong{color:#075985;font-size:1.25rem}.rules-market-flow span{font-size:.85rem;line-height:1.35}@media (max-width:800px){.rules-grid{grid-template-columns:1fr}.rules-wide{grid-column:auto}.rules-market-flow{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.rules-market-flow,.rules-prizes,.rules-roster{grid-template-columns:1fr}}.commissioner-heading{align-items:flex-start}.commissioner-identity{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.commissioner-identity small,.commissioner-identity span{font-size:.72rem;color:#6b7280}.commissioner-identity small{font-weight:800;letter-spacing:.12em;color:#075985}.commissioner-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:20px}.commissioner-stat{display:flex;flex-direction:column;gap:4px}.commissioner-stat>span{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.commissioner-stat>strong{font-size:1.35rem}.commissioner-stat>small{color:#6b7280}.commissioner-section{margin-bottom:20px}.commissioner-status{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.commissioner-status.open{background:#e7f7ef;color:#087443}.commissioner-status.closed{background:#eef1f4;color:#64748b}.commissioner-status.completed{background:#e8f1f8;color:#075985}.commissioner-market-grid,.commissioner-system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:20px}.commissioner-current-turn,.commissioner-market-grid>div,.commissioner-next-market,.commissioner-system-grid>div{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid #dbe2e8;border-radius:10px}.commissioner-current-turn span,.commissioner-market-grid span,.commissioner-next-market span,.commissioner-system-grid span{color:#6b7280;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.commissioner-current-turn{margin-top:12px;background:#f0f7fb}.commissioner-next-market{margin-top:12px}.commissioner-next-market small{color:#6b7280;line-height:1.4}.commissioner-table-wrap{overflow-x:auto;margin-top:20px}.commissioner-table{width:100%;border-collapse:collapse;min-width:760px}.commissioner-table td,.commissioner-table th{padding:13px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.commissioner-table th{font-size:.72rem;color:#64748b;text-transform:uppercase;letter-spacing:.07em}.commissioner-table tbody tr:last-child td{border-bottom:0}.commissioner-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e8f1f8;color:#075985;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.commissioner-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:20px}.commissioner-tools>div{display:flex;justify-content:space-between;gap:15px;padding:16px;border:1px solid #dbe2e8;border-radius:10px}.commissioner-tools span{color:#94a3b8;font-size:.8rem}@media (max-width:900px){.commissioner-market-grid,.commissioner-stats,.commissioner-system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.commissioner-heading{display:block}.commissioner-identity{align-items:flex-start;margin-top:12px}.commissioner-market-grid,.commissioner-stats,.commissioner-system-grid,.commissioner-tools{grid-template-columns:1fr}}.nhl-team-badge{display:inline-flex;align-items:center;justify-content:center;min-width:36px;max-width:90px;padding:4px 7px;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.04em;line-height:1.2;vertical-align:middle;overflow:hidden}.team-details-link{margin-top:12px}.team-detail-table{min-width:580px}.team-detail-table th[scope=row]{color:var(--ink);font-size:13px;text-transform:none;letter-spacing:normal;font-weight:600}.team-detail-table td:last-child,.team-detail-table th:last-child{text-align:right}.goalie-offense{display:block;color:var(--muted);font-weight:400;margin-top:5px}.team-points-breakdown{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.team-points-breakdown>div{background:#f4f6f8;border-radius:9px;padding:14px}.team-points-breakdown span{display:block;color:var(--muted);font-size:12px}.team-points-breakdown strong{display:block;margin-top:7px;font-size:24px}.team-data-warning{padding:12px;background:#fff3cd;color:#624700;border-radius:8px}@media(max-width:760px){.team-points-breakdown{grid-template-columns:repeat(2,1fr)}}.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:start}.game-card{margin:0;min-width:0}.game-card-status{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;color:var(--muted)}.game-state{background:#edf2f5;color:var(--ink);border-radius:20px;padding:6px 10px;font-weight:700}.game-state-live{background:#eaf6f1;color:#126c4b}.game-matchup{display:grid;grid-gap:12px;gap:12px;font-size:17px;margin:22px 0 12px}.game-side{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.game-side strong{font-size:25px}.game-visitor{grid-column:2;font-size:10px;color:var(--muted);font-weight:400}.game-clock{color:var(--accent);font-size:13px;font-weight:700}.game-pool-group{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.game-pool-group h3{font-size:15px;margin:0}.game-pool-group h3 a{color:var(--accent);text-decoration:none}.game-owner{font-size:11px;margin:5px 0 10px}.game-player-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.game-player-list li{padding:10px;border-radius:8px;background:#f6f8fa}.game-player-list .game-producer{background:#eaf6f1;border-left:3px solid var(--good)}.game-player-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px}.game-player-head>span{flex-shrink:0;font-size:10px;color:var(--muted)}.game-player-list small{display:block;font-size:10px;margin-top:5px}.game-player-stats{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.5}.game-credit{font-size:12px;color:#126c4b;margin-top:8px}.games-warning{padding:15px;background:#fff3cd;color:#624700;border-radius:9px}.games-warning p{margin:5px 0}.games-date-nav{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;margin:24px 0}.games-date-nav>div{text-align:center}.games-date-nav h2{font-size:19px;margin:0 0 7px}.games-date-nav>div>a,.games-date-nav>div>span{font-size:12px;color:var(--accent)}.games-filter{display:flex;align-items:flex-end;gap:12px;margin:0 0 22px}.games-filter select{max-width:100%;border:1px solid var(--line);border-radius:9px;background:white;padding:10px;font:inherit}@media(max-width:760px){.games-grid{grid-template-columns:1fr}.games-date-nav{gap:6px}.games-date-nav h2{font-size:15px}.games-date-nav .button{padding:10px}.games-date-nav .button span{display:none}.games-filter{align-items:stretch}.games-filter label{min-width:0;flex:1 1}.games-filter button{align-self:flex-end}.topbar .nav{height:auto;min-height:68px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:10px}.topbar .links{flex-wrap:wrap;gap:12px;width:100%;align-items:center}.topbar .links a:nth-child(3),.topbar .links a:nth-child(4){display:inline}}.games-refresh{display:flex;justify-content:flex-end;margin:-12px 0 18px}.games-refresh>div{text-align:right;max-width:100%}.games-refresh .tiny{margin:7px 0}.games-refresh button:disabled{opacity:.55;cursor:wait}.game-provisional{color:var(--accent);font-size:12px;margin-top:8px}@media(max-width:760px){.games-refresh{justify-content:flex-start;margin:0 0 18px}.games-refresh>div{text-align:left}}.mobile-label,.mobile-nhl,.mobile-owner{display:none}@media(max-width:600px){.container{padding-left:12px;padding-right:12px}.card{padding:14px}.standings-table{table-layout:fixed}.standings-table td,.standings-table th{padding:10px 4px;font-size:12px}.standings-table th:first-child{width:34px}.standings-table th:nth-child(2){width:38px;font-size:0}.standings-table th:nth-child(2):after{content:"Évol.";font-size:10px}.standings-table th:last-child{width:55px}.standings-table .team-link{font-size:12px;overflow-wrap:anywhere}.standings-table .rank-badge{width:26px;height:26px}.mobile-owner{display:block;margin-top:4px;font-size:10px;overflow-wrap:anywhere}.team-profile-page h1{font-size:28px;overflow-wrap:anywhere}.team-profile-page .team-card-head{gap:10px}.team-profile-page .team-card-head>div:first-child{min-width:0}.team-profile-page h2{font-size:18px}.team-profile-page .team-points strong{font-size:23px}.team-profile-page .team-detail-table{min-width:0;width:100%;table-layout:fixed}.team-profile-page .team-detail-table td,.team-profile-page .team-detail-table th{padding:10px 4px;font-size:11px;overflow-wrap:anywhere}.team-profile-page .team-detail-table th[scope=row]{font-size:12px}.team-roster-table .desktop-label,.team-roster-table .nhl-column{display:none}.team-roster-table .mobile-label{display:inline}.team-roster-table .mobile-nhl{display:block;margin-top:4px}.team-roster-table .nhl-team-badge{padding:3px 5px;font-size:9px;min-width:30px}.team-roster-table td:not(.nhl-column),.team-roster-table th:not(:first-child):not(.nhl-column){text-align:right}.team-roster-table th:not(:first-child):not(.nhl-column){width:30px}.team-roster-table th:last-child{width:48px!important}.team-roster-table td:not(.nhl-column){white-space:nowrap;overflow-wrap:normal;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.team-profile-page .team-points-breakdown{gap:8px}.team-profile-page .team-points-breakdown>div{padding:10px}}.topbar .desktop-header{display:none}.mobile-header{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;position:relative;padding:8px 12px;min-height:72px}.mobile-brand{justify-self:center;line-height:0}.mobile-brand img{width:100px;height:auto}.mobile-avatar,.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer}.mobile-menu-toggle{border:0;background:transparent;color:var(--ink);border-radius:8px}.mobile-avatar{justify-self:end;border:0;border-radius:50%;background:var(--accent);color:white;font:700 14px Arial,sans-serif}.mobile-login{justify-self:end;color:var(--accent);text-decoration:none;font-size:12px}.mobile-header a:focus-visible,.mobile-header button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.mobile-header-panel{position:absolute;top:calc(100% + 4px);z-index:50;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #12202b20;padding:8px}.mobile-header-panel[hidden]{display:none}.mobile-pages{left:12px;width:min(260px,calc(100vw - 24px))}.mobile-pages a{display:block;padding:13px 12px;color:var(--ink);text-decoration:none;border-radius:7px;font-size:14px}.mobile-pages a[aria-current=page]{background:#eaf3fb;color:var(--accent);font-weight:700}.mobile-account{right:12px;width:min(280px,calc(100vw - 24px))}.mobile-account .user-nav{display:block;margin:0}.mobile-account .user-nav-info{padding:10px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.mobile-account .user-nav-info small,.mobile-account .user-nav-info span{display:block}.mobile-account .user-nav-actions{display:flex;flex-direction:column;align-items:stretch;gap:0}.mobile-account .nav-account,.mobile-account .nav-logout{text-align:left;display:block;padding:13px 12px;margin:0;border:0;border-radius:7px;background:white;font:14px Arial,sans-serif;color:var(--ink);text-decoration:none}.mobile-account .nav-account:hover,.mobile-account .nav-logout:hover,.mobile-pages a:hover{background:#f4f6f8}@media(min-width:761px){.mobile-header{padding:10px 28px;min-height:80px}.mobile-brand img{width:110px}.mobile-pages{left:28px}.mobile-account{right:28px}}.mobile-pages a{display:flex;align-items:center;gap:12px}.navigation-icon{flex-shrink:0;color:var(--accent)}.button.secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}.button.secondary:hover:not(:disabled){background:#eaf3fb}.button.secondary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.standings-page{padding-top:16px;padding-bottom:16px}.standings-page>.card{padding:16px 20px;margin-bottom:0}.standings-heading{margin-bottom:10px;gap:12px}.standings-heading h1{font-size:25px;margin:4px 0;line-height:1.15}.standings-season{margin:0;color:var(--muted);font-size:12px}.standings-page .standings-table th{padding:9px 10px}.standings-page .standings-table td{padding:7px 10px}.standings-page .rank-badge{width:26px;height:26px}.standings-page .rank-change{padding:4px 7px}@media(max-width:760px){.standings-heading{flex-direction:row;align-items:center}.standings-heading h1{font-size:21px}.standings-heading .button{font-size:11px;padding:8px 10px;flex-shrink:0}}@media(max-width:600px){.standings-page{padding-top:10px;padding-bottom:10px}.standings-page>.card{padding:12px 10px}.standings-heading{align-items:flex-start}.standings-heading h1{font-size:19px}.standings-heading .eyebrow{font-size:9px}.standings-page .standings-table th{padding:7px 3px;font-size:9px}.standings-page .standings-table td{padding:5px 3px;font-size:12px;line-height:1.2}.standings-page .standings-table .mobile-owner{margin-top:2px;font-size:10px;line-height:1.15}.standings-page .rank-change{padding:3px 4px;font-size:10px}.standings-page .rank-badge{width:23px;height:23px}.standings-page .standings-table th:nth-child(2){font-size:0}}.nhl-team-logo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:30px;vertical-align:middle}.nhl-team-logo img{display:block;width:34px;height:28px;object-fit:contain}@media(max-width:600px){.team-roster-table .nhl-team-logo{height:20px;width:28px}.team-roster-table .nhl-team-logo img{width:26px;height:20px}}.team-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.team-card-footer .team-details-link{flex-shrink:0;margin-top:0}.team-star{min-width:0;text-align:right;display:grid;grid-gap:4px;gap:4px}.team-star-label{color:#896100;font-weight:700;font-size:12px}.team-star-label>span{color:#b58000}.team-star strong{font-size:13px;overflow-wrap:anywhere}.team-star-points{color:var(--muted);font-size:11px}@media(max-width:600px){.team-card-footer{gap:10px}.team-card-footer .button{font-size:11px;padding:9px}.team-star strong{font-size:12px}.team-star-label{font-size:11px}}.roster-sort-button{display:inline-flex;align-items:center;gap:4px;border:0;padding:5px 0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.roster-sort-button:hover{color:var(--accent)}.roster-sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.sort-arrow{color:var(--muted);font-size:12px;letter-spacing:0}.sort-arrow.active{color:var(--accent)}@media(max-width:600px){.roster-sort-button{gap:2px}.team-roster-table th:last-child{width:58px!important}}.standings-page{max-width:850px}.standings-page .standings-table{table-layout:fixed}.standings-page .standings-table th:first-child{width:48px}.standings-page .standings-table th:nth-child(2){width:76px}.standings-page .standings-table th:last-child{width:78px}.standings-page .standings-table .team-link{overflow-wrap:anywhere}@media(max-width:600px){.standings-page .standings-table th:first-child{width:32px}.standings-page .standings-table th:nth-child(2){width:38px}.standings-page .standings-table th:last-child{width:55px}}.standings-with-performances{max-width:1180px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.standings-with-performances>.card{padding:14px}.standings-with-performances .standings-heading{flex-wrap:wrap;gap:8px}.standings-with-performances .standings-heading h1{font-size:22px}.standings-with-performances .standings-heading .button{font-size:11px;padding:7px 9px}.standings-with-performances .standings-table td,.standings-with-performances .standings-table th{padding:6px 5px}.standings-with-performances .standings-table .team-link{font-size:13px}.standings-with-performances .standings-table th:first-child{width:36px}.standings-with-performances .standings-table th:nth-child(2){width:65px}.standings-with-performances .standings-table th:last-child{width:62px}.performances-card{padding:16px;margin:0}.performances-card h2{margin:5px 0 12px;font-size:22px}.performance-period{border-top:1px solid var(--line);padding-top:10px;margin-top:12px}.performance-period h3{margin:0;font-size:15px}.performance-period p{margin:4px 0 8px;color:var(--muted);font-size:11px}.performances-card h4{color:var(--accent);margin:12px 0 4px;font-size:12px}.performance-list{list-style:none;padding:0;margin:0}.performance-list li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.performance-list li>div{flex:1 1;min-width:0}.performance-list strong{display:block;font-size:12px;overflow-wrap:anywhere}.performance-list a{color:var(--muted);font-size:11px;text-decoration:none;overflow-wrap:anywhere}.performance-list a:hover{text-decoration:underline}.performance-list .performance-team{color:var(--ink);font-size:12px;font-weight:700}.performance-points{font-size:14px;font-weight:800;text-align:right;white-space:nowrap}.performance-points small{display:block;color:var(--muted);font-size:9px}.performance-empty{color:var(--muted);font-size:12px;margin:8px 0}.performances-page{max-width:700px}.performances-page>.button{margin-bottom:14px}@media(max-width:760px){.standings-with-performances{display:block;max-width:850px}.desktop-performances{display:none}.standings-with-performances .standings-table th:nth-child(2){width:38px}.standings-with-performances .standings-table th:last-child{width:55px}.standings-with-performances .standings-heading h1{font-size:19px}}.games-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.games-heading h1{font-size:28px;margin:0}.games-heading .page-intro{font-size:12px;margin:4px 0 0}.games-heading .games-date-nav{margin:0;gap:14px}.games-heading .games-date-nav h2{font-size:16px;margin:0 0 3px}.games-heading .games-date-nav .button{padding:8px 12px}.games-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card,white)}.games-toolbar .games-filter{margin:0;gap:8px}.games-toolbar .games-filter label{font-size:12px}.games-toolbar .games-filter select{display:block;padding:8px;margin-top:4px}.games-toolbar .games-filter .button{padding:8px 12px}.games-toolbar .games-refresh{margin:0}.games-toolbar .games-refresh .tiny{margin:4px 0 0;font-size:10px}.games-toolbar .games-refresh .button{padding:8px 12px}@media(max-width:760px){.games-heading{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px}.games-heading h1{font-size:24px}.games-heading .games-date-nav{gap:8px}.games-heading .games-date-nav h2{font-size:14px}.games-toolbar{flex-wrap:wrap;gap:10px;padding:10px;margin-bottom:12px}.games-toolbar .games-filter,.games-toolbar .games-refresh{width:100%}.games-toolbar .games-refresh>div{width:100%;text-align:left}.games-toolbar .games-refresh button{float:right;margin-left:8px}}.games-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:12px;gap:12px}.games-toolbar .games-date-nav{margin:0;gap:8px}.games-toolbar .games-date-nav h2{font-size:14px;margin:0 0 3px;white-space:nowrap}.games-toolbar .games-date-nav .button{padding:8px 10px}.games-toolbar .games-date-nav .button span{display:none}.games-toolbar .games-refresh{justify-self:end}@media(max-width:1000px){.games-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.games-toolbar .games-date-nav{grid-column:1/-1;grid-row:1;justify-self:center;width:min(100%,420px)}.games-toolbar .games-filter{width:100%;min-width:0}.games-toolbar .games-refresh{width:100%}}@media(max-width:560px){.games-toolbar{grid-template-columns:minmax(0,1fr)}.games-toolbar .games-refresh>div{text-align:left}}.games-date-nav h2:first-letter{text-transform:uppercase}.mobile-header{grid-template-columns:110px minmax(0,1fr) 110px}.header-actions{justify-content:flex-end;gap:10px}.header-actions,.theme-toggle{display:flex;align-items:center}.theme-toggle{position:relative;justify-content:space-between;flex-shrink:0;width:58px;height:30px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted);cursor:pointer}.theme-toggle svg{width:18px;height:18px;z-index:1;pointer-events:none}.theme-toggle-thumb{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:var(--card);box-shadow:0 1px 4px #0003;transition:transform .2s ease}.theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translateX(28px)}.theme-toggle[aria-checked=false] svg:first-child{color:#9b6500}.theme-toggle[aria-checked=true] svg:nth-child(2){color:var(--accent)}html[data-theme=dark]{color-scheme:dark;--bg:#0d1721;--card:#1a2937;--ink:#f1f5f9;--muted:#adbed0;--line:#354b5e;--border:#354b5e;--accent:#70c5ff;--good:#79dfa6;--shadow:0 8px 28px #0003}html[data-theme=dark] .topbar{background:#101e2b}html[data-theme=dark] :is(input,select,textarea,.mobile-header-panel,.mobile-account .nav-account,.mobile-account .nav-logout,.market-roster-player,.market-player-result){background:var(--card);color:var(--ink);border-color:var(--line)}html[data-theme=dark] .button{background:#255f86;color:#f1f5f9}html[data-theme=dark] .button.secondary{background:transparent;color:var(--accent);border-color:var(--accent)}html[data-theme=dark] :is(.button.secondary:hover:not(:disabled),.mobile-pages a:hover,.mobile-pages a[aria-current=page],.mobile-account .nav-account:hover,.mobile-account .nav-logout:hover,.market-roster-player:hover,.market-roster-player.selected,.market-player-result:hover,.market-player-result.selected,.priority-row.current,.commissioner-current-turn){background:#233d51}html[data-theme=dark] .market-banner{background:linear-gradient(135deg,#1a2937,#152535)}html[data-theme=dark] :is(.rank-badge,.position-badge,.team-points-breakdown>div,.game-state,.game-player-list li,.status.closed,.rank-change.neutral,.commissioner-status.closed){background:#293c4e;color:var(--muted)}html[data-theme=dark] :is(.rank-badge.top-three,.commissioner-badge,.commissioner-status.completed){background:#24465e;color:var(--accent)}html[data-theme=dark] :is(.rank-change.up,.live-pill,.status:not(.closed),.game-state-live,.game-player-list .game-producer,.market-confirm,.commissioner-status.open){background:#1c3b32;color:var(--good)}html[data-theme=dark] .game-credit{color:var(--good)}html[data-theme=dark] .rank-change.down{background:#492d36;color:#ff9da5}html[data-theme=dark] :is(.games-warning,.team-data-warning){background:#3d3420;color:#f3d98a}html[data-theme=dark] :is(.team-star-label,.team-star-label>span){color:#f3d17a}html[data-theme=dark] a{color:var(--accent)}html[data-theme=dark] .team-link{color:var(--ink)}html[data-theme=dark] .mobile-avatar{background:#57b7f2;color:#102331}@media(max-width:400px){.mobile-header{grid-template-columns:92px minmax(0,1fr) 92px;padding-inline:8px}.header-actions{gap:6px}.header-actions .mobile-avatar{width:32px;height:32px;font-size:12px}.mobile-brand img{width:86px}.theme-toggle{width:50px}.theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translateX(20px)}}@media(prefers-reduced-motion:reduce){.theme-toggle-thumb{transition:none}}html[data-theme=dark] .market-error-box{border:1px solid #77505a;background:#492d36;color:#ff9da5}html[data-theme=dark] .market-error{color:#ff9da5}html[data-theme=dark] .market-confirm{border:1px solid #3e6453}html[data-theme=dark] .rules-prizes>div,html[data-theme=dark] .rules-roster>div{border:1px solid var(--border,var(--line))}html[data-theme=dark] .rules-points>div{border-bottom:1px solid var(--border,var(--line))}html[data-theme=dark] .rules-market-flow>div{border:1px solid var(--border,var(--line))}html[data-theme=dark] .rules-market-flow strong{color:var(--accent)}html[data-theme=dark] .commissioner-identity small,html[data-theme=dark] .commissioner-identity span{color:var(--muted)}html[data-theme=dark] .commissioner-identity small{color:var(--accent)}html[data-theme=dark] .commissioner-stat>small,html[data-theme=dark] .commissioner-stat>span,html[data-theme=dark] .commissioner-status.closed{color:var(--muted)}html[data-theme=dark] .commissioner-status.completed{color:var(--accent)}html[data-theme=dark] .commissioner-current-turn,html[data-theme=dark] .commissioner-market-grid>div,html[data-theme=dark] .commissioner-next-market,html[data-theme=dark] .commissioner-system-grid>div{border:1px solid var(--line)}html[data-theme=dark] .commissioner-current-turn span,html[data-theme=dark] .commissioner-market-grid span,html[data-theme=dark] .commissioner-next-market small,html[data-theme=dark] .commissioner-next-market span,html[data-theme=dark] .commissioner-system-grid span{color:var(--muted)}html[data-theme=dark] .commissioner-table td,html[data-theme=dark] .commissioner-table th{border-bottom:1px solid var(--line)}html[data-theme=dark] .commissioner-table th{color:var(--muted)}html[data-theme=dark] .commissioner-badge{color:var(--accent)}html[data-theme=dark] .commissioner-tools>div{border:1px solid var(--line)}html[data-theme=dark] .team-star-label,html[data-theme=dark] .team-star-label>span{color:#f3d17a}.logo-dark,html[data-theme=dark] .logo-light{display:none}html[data-theme=dark] .logo-dark{display:block}html[data-theme=dark] .nhl-team-logo{background:#e8edf2;border:1px solid #c6d1db;border-radius:6px}html[data-theme=dark] .nhl-team-logo img{width:30px;height:24px}@media(max-width:600px){html[data-theme=dark] .team-roster-table .nhl-team-logo{height:24px;width:30px}html[data-theme=dark] .team-roster-table .nhl-team-logo img{width:24px;height:20px}}