@charset "UTF-8";
:root{font-family:"Segoe UI",Arial,sans-serif;color-scheme:dark;--bg:#061321;--surface:rgba(8,22,39,.74);--raised:rgba(77,154,226,.09);--text:#f1f7ff;--muted:#b6cee2;--line:rgba(113,184,243,.26);--accent:#8dccff;--on-accent:#102a45;--soft:rgba(44,139,235,.15);--radius:20px;--page-width:1480px;--shadow:0 18px 50px #00000059,inset 0 1px 0 #c4e8ff26;--wallpaper:linear-gradient(#02091424,#08061b52),url('../backgrounds/dark-nebula.jpg');--glass-edge:#b5deff59;--progress-track:#8bc9ff26;--row:rgba(83,154,222,.055);--button-blue:linear-gradient(180deg,#216dce 0%,#1857b5 52%,#123e93 100%);--button-soft:linear-gradient(180deg,#245686,#163656);--button-edge:#6fb7f1;--button-depth:#09295f;--button-text:#f4faff;--button-soft-edge:#4b88bd;--focus-ring:#a8e3ff}
:root[data-theme=light]{color-scheme:light;--bg:#e5f2fc;--surface:rgba(247,252,255,.72);--raised:rgba(46,126,204,.07);--text:#13304c;--muted:#405b74;--line:rgba(48,118,182,.25);--accent:#1756a1;--on-accent:#fff;--soft:rgba(54,141,230,.12);--shadow:0 16px 40px #22578d24,inset 0 1px 0 #ffffffcc;--wallpaper:linear-gradient(#1739571a,#17395726),url('../backgrounds/light-nebula.jpg');--glass-edge:#ffffffd9;--progress-track:#327dd62b;--row:rgba(59,135,211,.045);--button-soft:linear-gradient(180deg,#edf9ff,#c6e3fb);--button-edge:#4e91de;--button-depth:#174d99;--button-text:#154276;--button-soft-edge:#79adde;--focus-ring:#1756a1}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{color:inherit}button,a{touch-action:manipulation}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:hover,a:hover{filter:brightness(1.08)}img{object-fit:cover}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,p{margin:0}h2{font-size:21px;letter-spacing:-.6px;font-weight:650}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:20px;top:-80px;background:var(--accent);color:var(--on-accent);padding:15px;z-index:100}.skip:focus{top:10px}
.site-shell{container:app / inline-size;max-width:var(--page-width);margin:0 auto;transition:max-width .25s}.site{background:var(--bg)}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-block:1px solid var(--line);background:var(--surface)}.brand-group,.brand,.top-actions{display:flex;align-items:center}.brand-group{gap:18px}.brand{gap:12px;font-size:18px;font-weight:700;letter-spacing:-.5px}.brand img{object-fit:contain}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.6px;font-weight:600;margin-top:2px}.icon-button{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:transparent;font-size:29px}.icon-button:hover{background:var(--raised)}.top-actions{gap:16px}.coin-pill{font-size:14px;white-space:nowrap}.coin-pill>span:first-child{color:#d7b775;font-size:20px;margin-right:7px}.coin-label{color:var(--muted);margin-left:4px;font-size:12px}.profile-button{display:flex;align-items:center;gap:8px;background:transparent;font-size:12px;padding:0}.profile-button img{border-radius:50%;border:2px solid var(--line)}.theme-toggle{border:1px solid var(--line)}
.workspace{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:850px}.sidebar{border-right:1px solid var(--line);padding:36px 16px 25px;display:flex;flex-direction:column;gap:6px}.nav-label,.tiny-label{font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:650}.nav-label{padding:0 12px 15px}.sidebar>a,.sidebar>button{display:flex;gap:12px;align-items:center;padding:13px 12px;min-height:47px;background:none;text-align:left;border-radius:9px;color:var(--muted);font-size:13px}.sidebar>a>span:first-child,.sidebar>button>span{font-size:19px;width:22px}.sidebar>a.active{background:var(--soft);color:var(--accent);font-weight:600}.sidebar small{font-size:9px;margin-left:auto}.nav-count{margin-left:auto;font-size:10px}.sidebar-bottom{margin-top:auto;padding:80px 12px 0}.sidebar-bottom p{font-size:17px;line-height:1.6;letter-spacing:-.4px;margin-top:12px}.team-legend{margin-top:28px;font-size:10px;line-height:2.5;color:var(--muted)}.team-legend i{display:inline-block;width:5px;height:11px;border-radius:1px;margin-right:9px;vertical-align:middle}.red{background:#cd0000}.blue{background:#104e8b}main{padding:35px 30px 0;min-width:0}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:650;margin-bottom:8px}h1{font-size:clamp(26px,3vw,39px);line-height:1.2;letter-spacing:-1.5px;font-weight:600}.welcome p{color:var(--muted);font-size:13px;margin-top:9px}.season-label{border-left:1px solid var(--line);padding-left:24px;color:var(--muted);font-size:10px;line-height:1.8;white-space:nowrap}.season-label>span{font-size:22px;color:var(--accent);float:left;margin-right:12px;line-height:1.7}.season-label strong{color:var(--text);font-weight:500}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:24px 24px 19px}.panel-heading .eyebrow{margin-bottom:5px}.presence{color:var(--accent);font-size:10px;white-space:nowrap;display:flex;align-items:center;gap:6px}.presence i{width:6px;height:6px;background:var(--accent);border-radius:50%}.presence small{font-size:8px;color:var(--muted)}.chat-topic{border-block:1px solid var(--line);padding:10px 24px;font-size:10px;color:var(--muted);background:var(--raised)}.chat-topic>span{margin-right:6px;color:var(--accent)}.messages{padding:20px 24px 13px;height:355px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.date-divider{display:flex;align-items:center;gap:10px;font-size:9px;color:var(--muted);margin-bottom:23px}.date-divider:before,.date-divider:after{content:"";height:1px;flex:1;background:var(--line)}.message{display:flex;gap:11px;position:relative;padding-left:10px;margin-bottom:20px;min-width:0}.message:before,.rank-avatar:before{position:absolute;content:"";width:3px;height:36px;left:0;top:2px;background:var(--team-color);border-radius:2px}.avatar{border-radius:12px;width:36px;height:36px;flex:none}.message-content{flex:1;min-width:0}.message-meta{display:flex;align-items:baseline;gap:7px;font-size:10px;flex-wrap:wrap;margin-bottom:5px}.message-meta strong{font-size:12px}.message-meta>span{font-size:8px;color:var(--muted)}.message-meta time{color:var(--muted);margin-left:auto;font-size:9px}.message p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.reaction{border:1px solid var(--line);background:var(--raised);border-radius:6px;font-size:10px;margin-top:7px;padding:4px 8px;min-height:28px}.reaction[aria-pressed=true]{border-color:var(--accent)}.own p{color:var(--accent)}.composer{display:flex;gap:10px;align-items:center;margin:10px 24px 0;padding:6px 6px 6px 14px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.composer input{width:100%;min-width:0;background:none;border:0;color:var(--text);height:35px;font-size:12px}.composer input::placeholder{color:var(--muted)}.composer button{height:38px;width:40px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);border-radius:8px;flex:none}.chat-footnote{font-size:9px;color:var(--muted);padding:11px 24px 17px}.right-column{display:grid;gap:20px}.personal{padding:22px}.score{position:relative;padding:3px 0 18px}.score>strong{font-size:39px;letter-spacing:-1.5px;line-height:1.2;font-weight:550;display:block}.score>span:not(.score-symbol){font-size:10px;color:var(--muted)}.score-symbol{position:absolute;right:0;top:7px;background:var(--soft);color:var(--accent);font-size:25px;width:42px;height:42px;border-radius:50%;text-align:center}.mini-stats{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);padding:14px 0}.mini-stats>div+div{padding-left:16px;border-left:1px solid var(--line)}.mini-stats strong{font-size:18px;font-weight:550;display:block}.mini-stats span{font-size:9px;color:var(--muted)}.personal-foot{display:flex;justify-content:space-between;margin-top:13px;font-size:10px;color:var(--muted)}.personal-foot strong{color:var(--accent);font-weight:650}.personal-foot strong span{font-weight:400;color:var(--muted);font-size:9px;margin-left:4px}.ranking .panel-heading{padding:20px 20px 13px}.ranking h2{font-size:19px}.ranking-symbol{font-size:25px;color:var(--accent)}select{border:1px solid var(--line);border-radius:7px;background:var(--raised);color:var(--text);min-height:37px;padding:7px 10px}.ranking select{margin:0 20px;width:calc(100% - 40px);font-size:11px}.ranking-list{padding:2px 20px;margin:9px 0 0;list-style:none}.ranking-list li{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid var(--line)}.ranking-list li:last-child{border:0}.rank-position{font-size:11px;color:var(--muted);width:12px}.rank-avatar{position:relative;padding-left:8px;height:30px}.rank-avatar:before{height:26px;width:3px}.rank-avatar img{width:30px;height:30px;border-radius:9px}.rank-name{font-size:11px;min-width:0}.rank-name small{display:block;font-size:8px;color:var(--muted);margin-top:1px}.rank-points{margin-left:auto;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.rank-points small{display:block;font-size:8px;color:var(--muted)}.ranking-caption{padding:9px 20px 17px;font-size:8px;color:var(--muted)}.games{grid-column:1/-1;padding-top:4px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.section-heading>span{font-size:10px;color:var(--muted)}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.game-card{display:flex;flex-direction:column;text-align:left;padding:20px 22px;border-radius:var(--radius);border:1px solid var(--line);min-height:170px;background:var(--surface);position:relative}.game-number{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.game-card>strong{font-size:29px;letter-spacing:-1px;font-weight:550;margin:12px 0 1px}.game-card>span:not(.game-number){font-size:10px;color:var(--muted)}.game-card .game-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:20px;width:100%;font-size:9px}.game-bottom b{font-size:20px;font-weight:400;color:var(--accent)}.memory{background:var(--soft)}footer{display:flex;gap:15px;font-size:9px;color:var(--muted);padding:25px 0}footer>span:last-child{margin-left:auto}
dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:25px;max-width:460px;width:calc(100% - 32px);box-shadow:0 24px 100px #0005}dialog::backdrop{background:#06101599;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}dialog p{line-height:1.8;color:var(--muted);margin:15px 0;font-size:14px}.primary{background:var(--accent);color:var(--on-accent);border-radius:8px;padding:12px 20px;margin-top:12px;font-weight:600}.menu-dialog{height:100%;max-height:100%;width:min(350px,90%);max-width:350px;margin:0;border-radius:0;border-width:0 1px 0 0;padding:25px}.menu-dialog nav{display:grid;margin-top:30px}.menu-dialog nav>a,.menu-dialog nav>button{padding:18px 0;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:16px;display:flex;justify-content:space-between}.menu-dialog small{color:var(--muted);font-size:11px}#profile-settings label{display:block;margin-bottom:8px}#profile-settings select{width:100%}.noscript{padding:20px;text-align:center}
@container app (max-width:1100px){.workspace{grid-template-columns:1fr}.sidebar{display:none}.dashboard{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.season-label{display:none}.messages{padding-inline:20px}.message-meta>span{font-size:8px}.brand-group{gap:12px}}
@container app (max-width:760px){.topbar{padding:0 16px;height:72px}.top-actions{gap:10px}.brand-group{gap:8px}.brand{font-size:15px;gap:8px}.brand img{width:32px;height:32px}.brand small{font-size:6px;letter-spacing:1px}.coin-label,.profile-button>span{display:none}.coin-pill{font-size:12px}.coin-pill>span:first-child{margin-right:3px}.icon-button{width:38px;height:40px}.profile-button img{width:34px;height:34px}.theme-toggle{width:36px;height:36px}.workspace{min-height:0}main{padding:26px 17px 0}.welcome{margin-bottom:23px}h1{font-size:29px;letter-spacing:-1px}.welcome p{font-size:11px;line-height:1.8;max-width:280px}.eyebrow{font-size:8px}.dashboard{grid-template-columns:minmax(0,1fr);gap:22px}.chat{order:0}.games{order:2}.right-column{order:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.panel-heading{padding:20px 18px 16px}h2{font-size:20px}.chat-topic{padding:10px 18px;font-size:9px}.messages{padding:18px 16px 8px;height:360px}.message{gap:9px;padding-left:9px}.message-meta{gap:5px}.message-meta>span{display:none}.message p{font-size:12px}.composer{margin:5px 16px 0;padding-left:11px}.composer input{font-size:11px}.chat-footnote{padding:10px 16px 15px;font-size:8px}.presence{font-size:9px}.presence small{display:none}.game-grid{grid-template-columns:1fr;gap:12px}.game-card{min-height:145px;padding:20px}.game-card>strong{font-size:29px}.game-card .game-bottom{margin-top:12px}.section-heading>span{display:none}.section-heading{margin-bottom:15px}.personal{padding:20px}.ranking .panel-heading{padding:20px 18px 13px}footer{flex-wrap:wrap;font-size:8px}footer>span:last-child{margin-left:0;width:100%}}
@container app (max-width:480px){.right-column{grid-template-columns:minmax(0,1fr)}.personal .score{padding-bottom:14px}.score>strong{font-size:34px}.personal .mini-stats{padding:12px 0}.coin-pill{display:none}.top-actions{gap:8px}.brand{font-size:14px}.presence{gap:4px}.panel-heading{gap:7px}.chat h2{font-size:20px}.ranking-list li{padding:12px 0}.rank-name{font-size:12px}.rank-name small{font-size:9px}.rank-points{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-shell{transition:none}}

/* Live account screens and empty states. */
.auth-page{min-height:100svh;display:flex;flex-direction:column}.auth-top{display:flex;justify-content:space-between;align-items:center;padding:28px 6vw;gap:20px}.auth-wordmark{font-weight:700;font-size:20px;letter-spacing:-.5px}.auth-wordmark span{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:3px}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) 410px;align-items:center;gap:70px;max-width:1120px;width:100%;margin:auto;padding:55px 35px 90px}.auth-intro h1{font-size:clamp(32px,4vw,54px);line-height:1.13;letter-spacing:-2px;margin:18px 0 25px}.auth-intro>p{font-size:16px;color:var(--muted);line-height:1.9}.auth-note{border-left:3px solid var(--accent);padding-left:18px;margin-top:40px;color:var(--muted);font-size:12px;max-width:330px}.auth-card{padding:34px}.auth-card h2{font-size:28px}.auth-card>p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.8}.auth-form{display:grid;margin-top:25px}.auth-form label{font-size:12px;font-weight:600;margin-bottom:8px}.auth-form input{width:100%;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;min-height:47px;padding:11px 13px;margin-bottom:19px;font-size:16px}.auth-form .primary{margin:5px 0 0;display:flex;justify-content:space-between;min-height:47px;align-items:center}.auth-card .auth-help{font-size:14px;margin-top:24px}.auth-help .text-button{display:inline-flex;align-items:center}.auth-footer{padding:22px 6vw;margin-top:auto;font-size:11px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.form-alert,.form-notice{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--soft);padding:13px 16px;border-radius:7px;margin-bottom:20px;font-size:13px}.form-alert{border-left-color:#d87575}.password-card{width:calc(100% - 32px);max-width:480px;margin:30px auto 60px}.password-card h1{font-size:29px}.text-button{background:none;color:var(--muted);text-decoration:underline;padding:12px 0;min-height:44px;margin-top:10px}.empty-chat{min-height:355px;padding:55px 32px 35px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.empty-symbol{color:var(--accent);font-size:32px}.empty-chat h3,.games-empty h3{font-size:18px;font-weight:600;letter-spacing:-.5px;margin:15px 0 8px}.empty-chat>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:330px}.chat-team-preview{display:flex;gap:10px;text-align:left;align-items:center;margin-top:28px;font-size:12px}.chat-team-preview small{display:block;font-size:10px;color:var(--muted)}.composer-disabled{color:var(--muted);font-size:11px;justify-content:space-between;min-height:48px;padding-right:15px}.ranking-seasons{padding:0 20px 20px}.ranking-seasons details{border:1px solid var(--line);border-radius:10px;margin-top:10px;overflow:hidden}.ranking-seasons summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px;font-size:17px;font-weight:650;list-style:none}.ranking-seasons summary::-webkit-details-marker{display:none}.ranking-seasons summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.ranking-seasons summary small{font-size:9px;font-weight:400;display:block;color:var(--muted);margin-top:2px}.ranking-seasons details[open]>summary{background:var(--soft);color:var(--accent)}.disclosure-arrow{transition:transform .15s}.ranking-seasons details[open] .disclosure-arrow{transform:rotate(180deg)}.season-content{padding:14px;color:var(--muted);font-size:12px;line-height:1.8}.season-content small{display:block;margin-top:8px;font-size:10px}.games-empty{display:flex;gap:25px;align-items:center;padding:22px 28px}.games-empty h3{margin-top:0}.games-empty p{color:var(--muted);font-size:12px;line-height:1.8}.profile-summary{display:flex;align-items:center;gap:18px;margin:24px 0}.profile-summary .rank-avatar{height:64px;padding-left:12px}.profile-summary .rank-avatar:before{height:60px}.profile-summary .rank-avatar img{height:64px;width:64px;border-radius:18px}.profile-summary p{margin:0;font-size:12px}.profile-facts{font-size:13px}.profile-facts>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.profile-facts dt{color:var(--muted)}.profile-facts dd{margin:0;text-align:right}.profile-password{display:block;text-align:center}.profile-button>.rank-avatar{height:38px;padding-left:0}.profile-button>.rank-avatar:before{content:none}.profile-button>.rank-avatar img{height:38px;width:38px;border-radius:50%}.profile-button>span:last-child{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand>span{max-width:360px;overflow-wrap:anywhere}
@media(max-width:760px){.auth-top{padding:21px 22px}.auth-wordmark{font-size:18px}.auth-layout{grid-template-columns:1fr;gap:28px;padding:20px 22px 40px;max-width:470px}.auth-intro h1{font-size:32px;letter-spacing:-1.2px;margin:10px 0 16px}.auth-intro>p{font-size:13px}.auth-note{display:none}.auth-card{padding:26px}.auth-card h2{font-size:25px}.auth-footer{font-size:9px;padding:18px 22px;gap:15px}.password-card{margin-top:20px}.games-empty{padding:20px;gap:18px}}
@container app (max-width:760px){.profile-button>.rank-avatar{display:block}.brand-group{min-width:0}.brand{min-width:0}.brand>span{max-width:190px}.top-actions{flex-shrink:0}.empty-chat{padding:30px 20px;min-height:340px}.games-empty{align-items:start}.profile-button>span:last-child{display:none}}
@container app (max-width:380px){.brand>span{max-width:155px;font-size:12px}.topbar{padding-inline:10px}.brand-group{gap:4px}.brand{gap:5px}.brand img{width:28px;height:28px}}

/* Dedicated rankings: season, overall standings, then individual games. */
.archive-snapshot{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}.archive-list{list-style:none;margin:20px 0 0;padding:0}.archive-row{display:flex;align-items:center;gap:15px;padding:15px 4px;border-bottom:1px solid var(--line)}.archive-row:last-child{border-bottom:0}.archive-place{width:48px;flex:none;font-size:16px;color:var(--muted);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:7px}.place-medal{font-size:19px}.podium-place .archive-place{color:var(--text);font-weight:650}.archive-row .rank-avatar{position:relative;flex:none;padding-left:10px;width:48px;height:38px}.archive-row .rank-avatar img{width:38px;height:38px;border-radius:11px}.archive-name{min-width:0;flex:1}.archive-name strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.archive-name small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.archive-stats{display:block;font-size:11px;color:var(--muted);margin-top:6px}.archive-points{margin-left:auto;min-width:46px;text-align:right;font-variant-numeric:tabular-nums;flex:none}.archive-points strong{font-size:21px;font-weight:600;color:var(--accent)}.archive-points small{display:block;font-size:10px;color:var(--muted)}.archive-footnote{color:var(--muted);font-size:11px;line-height:1.8;margin-top:17px}.archive-games{display:grid;gap:22px;margin-top:24px}.archive-game{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.archive-game-heading{display:flex;align-items:center;gap:20px;justify-content:space-between}.archive-game-heading h3{font-size:19px;letter-spacing:-.4px;line-height:1.4;margin:5px 0 0;overflow-wrap:anywhere}.archive-participants{font-size:11px;color:var(--muted);white-space:nowrap}.archive-winners{font-size:12px;color:var(--accent);background:var(--soft);border-radius:8px;padding:10px 13px;margin-top:16px;overflow-wrap:anywhere}.archive-winners>span{margin-right:7px}.archive-game .archive-list{margin-top:10px}
@container app (max-width:760px){.archive-game{padding:16px}.archive-game-heading{align-items:flex-start;gap:8px;flex-direction:column}.archive-game-heading h3{font-size:17px}.archive-row{gap:9px;padding-block:14px}.archive-place{width:35px;font-size:13px;gap:3px}.place-medal{font-size:15px}.archive-name strong{font-size:13px}.archive-name small,.archive-stats{font-size:10px}.archive-points strong{font-size:19px}.archive-points{min-width:35px}.archive-row .rank-avatar{width:40px;height:32px;padding-left:8px}.archive-row .rank-avatar img{width:32px;height:32px;border-radius:9px}.archive-row .rank-avatar:before{height:30px}.archive-game .archive-row{gap:7px;padding-inline:0}.archive-game .archive-place{width:29px}.archive-game .place-medal{display:none}}
.right-column>:only-child{grid-column:1/-1}
.rankings-welcome{align-items:flex-end}.back-link{font-size:12px;color:var(--accent);padding:10px 0;white-space:nowrap}.season-rankings{display:grid;gap:22px}.season-ranking>summary{display:flex;align-items:center;gap:24px;cursor:pointer;list-style:none;padding:24px 28px;min-height:99px}.season-ranking>summary::-webkit-details-marker{display:none}.season-ranking>summary:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}.season-ranking[open]>summary{background:var(--soft);border-bottom:1px solid var(--line)}.season-year{font-size:30px;letter-spacing:-1px;font-weight:600;line-height:1.2}.season-year small{display:block;letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:500;margin-top:6px;color:var(--muted)}.season-ranking[open] .season-year{color:var(--accent)}.season-summary-note{margin-left:auto;font-size:12px;color:var(--muted)}.season-ranking>summary>.disclosure-arrow{font-size:22px;color:var(--accent)}.season-ranking[open]>summary>.disclosure-arrow{transform:rotate(180deg)}.season-ranking-content{padding:28px}.ranking-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.ranking-section-heading h2{font-size:24px}.ranking-section-description{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.8}.ranking-empty{margin-top:20px;padding:24px;border:1px dashed var(--line);border-radius:12px;background:var(--bg)}.ranking-empty strong{font-size:14px;font-weight:550}.ranking-empty p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:6px;max-width:650px}.individual-rankings{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.individual-empty{display:flex;align-items:center;gap:20px}.individual-empty>.empty-symbol{flex:none}.menu-dialog a[aria-current=page]{color:var(--accent);font-weight:600}
@container app (max-width:760px){.rankings-welcome{display:block}.rankings-welcome p{max-width:none}.back-link{display:inline-block;margin-top:10px}.season-ranking>summary{padding:20px;gap:15px;min-height:85px}.season-year{font-size:27px}.season-summary-note{display:none}.season-ranking>summary>.disclosure-arrow{margin-left:auto}.season-ranking-content{padding:20px}.ranking-section-heading h2{font-size:21px}.ranking-empty{padding:18px}.individual-rankings{padding-top:23px;margin-top:25px}.individual-empty{align-items:flex-start;gap:14px}.individual-empty>.empty-symbol{font-size:25px}}

/* Glass surfaces sit directly over a separate illustration for each theme. */
body{isolation:isolate;min-height:100svh}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--wallpaper) center center / cover no-repeat}
.site-shell{width:calc(100% - 48px);margin:24px auto 0}.site{background:transparent}.topbar,.panel,.sidebar,dialog{background:linear-gradient(125deg,#d8eeff0b,transparent 45%,#a9cfff04),var(--surface);backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);border:1px solid var(--line);box-shadow:var(--shadow)}.topbar{border-radius:20px;border-top-color:var(--glass-edge)}.workspace{grid-template-columns:190px minmax(0,1fr);gap:28px;min-height:calc(100svh - 130px);align-items:start}.sidebar{margin-top:30px;border-radius:20px;padding:23px 13px;min-height:570px}.sidebar-bottom{padding-top:60px}.sidebar>a.active{box-shadow:inset 0 1px 0 var(--glass-edge)}main{padding:35px 0 0}.panel{border-top-color:var(--glass-edge)}.welcome h1{font-weight:650}.welcome p{font-size:14px}.season-ranking>summary{background:var(--raised)}.season-ranking[open]>summary{background:var(--soft)}.season-ranking-content{padding:28px}.ranking-empty,.composer,.archive-game{background:var(--raised)}.ranking-empty{border-style:solid}.archive-game{box-shadow:inset 0 1px 0 var(--glass-edge)}.archive-winners{background:var(--soft)}.chat-topic{background:var(--raised)}.auth-card{border-top-color:var(--glass-edge)}.auth-form input{background:var(--raised)}.menu-dialog{border-radius:0;background:var(--surface)}.auth-page main{padding:34px}.auth-layout{padding:55px 35px 90px}.back-link{background:var(--surface);border:1px solid var(--line);padding:10px 15px;border-radius:10px;backdrop-filter:blur(12px)}
/* Medal colors identify the first three places; bars compare with the highest score. */
.archive-list{display:grid;gap:10px;margin-top:22px}.archive-row{--bar-start:#779ee6;--bar-end:#b0d7fa;display:grid;grid-template-columns:54px minmax(0,1fr) 65px;gap:18px;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--row);box-shadow:inset 0 1px 0 #ffffff08}.archive-row:last-child{border-bottom:1px solid var(--line)}.archive-place{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:15px;background:var(--raised);border:1px solid var(--line);font-size:16px;font-weight:700;color:var(--text)}.place-medal{font-size:29px;display:inline}.rank-regular .place-medal{font-size:15px}.archive-game .place-medal{display:inline}.rank-gold{--bar-start:#dca940;--bar-end:#ffe0a0;background:linear-gradient(110deg,#d2a44815,transparent 75%),var(--row)}.rank-silver{--bar-start:#95a4b8;--bar-end:#e0e9f6;background:linear-gradient(110deg,#c3d0e314,transparent 75%),var(--row)}.rank-bronze{--bar-start:#bd7d51;--bar-end:#efb787;background:linear-gradient(110deg,#ce925515,transparent 75%),var(--row)}.rank-gold .archive-place{background:linear-gradient(135deg,#ffe5a1,#dba343);border-color:#ffe3a570;color:#493215;box-shadow:0 6px 18px #d9a23524}.rank-silver .archive-place{background:linear-gradient(135deg,#eef3fb,#97a7bf);border-color:#e1edff80;color:#2d3a4e;box-shadow:0 6px 18px #a7b8cc18}.rank-bronze .archive-place{background:linear-gradient(135deg,#edbb91,#b4774a);border-color:#f7c59670;color:#402817;box-shadow:0 6px 18px #ba805018}.ranking-player{min-width:0}.ranking-player-top{display:flex;align-items:center;gap:12px;min-width:0}.archive-row .rank-avatar{width:52px;height:42px;flex:none;padding-left:10px}.archive-row .rank-avatar img{width:42px;height:42px;border-radius:12px;border:1px solid var(--line)}.archive-row .rank-avatar:before{height:38px}.archive-name strong{font-size:15px}.archive-name small{font-size:11px;margin-top:4px}.ranking-progress{height:8px;background:var(--progress-track);border-radius:99px;overflow:hidden;margin-top:12px;box-shadow:inset 0 1px 2px #101c3020}.ranking-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--bar-start),var(--bar-end));box-shadow:0 0 13px #8fabd32b}.archive-points{min-width:0}.archive-points strong{font-size:23px;color:var(--text)}.archive-points small{font-size:11px}.archive-game .archive-row{padding:14px}.archive-game .archive-place{width:48px;height:48px}.archive-game .archive-list{margin-top:16px}.archive-footnote{font-size:12px}
:root[data-theme=light] .archive-row{--bar-start:#477cbd;--bar-end:#82aedb}:root[data-theme=light] .rank-gold{--bar-start:#b98528;--bar-end:#e5bb63}:root[data-theme=light] .rank-silver{--bar-start:#6d809a;--bar-end:#aebed2}:root[data-theme=light] .rank-bronze{--bar-start:#9e623e;--bar-end:#d79a6c}
@container app (max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr);gap:0}}
@container app (max-width:760px){.topbar{border-radius:16px}.workspace{gap:0}.welcome p{font-size:12px}.season-ranking-content{padding:18px}.archive-row,.archive-game .archive-row{grid-template-columns:42px minmax(0,1fr) 43px;gap:10px;padding:13px 10px}.archive-place,.archive-game .archive-place{width:40px;height:43px;border-radius:12px}.place-medal{font-size:25px}.rank-regular .place-medal{font-size:13px}.ranking-player-top{gap:8px}.archive-row .rank-avatar{width:40px;height:32px;padding-left:8px}.archive-row .rank-avatar img{width:32px;height:32px;border-radius:9px}.archive-row .rank-avatar:before{height:28px}.archive-name strong{font-size:13px}.archive-name small{font-size:10px;line-height:1.5}.archive-points strong{font-size:19px}.archive-points small{font-size:9px}.ranking-progress{height:7px;margin-top:10px}.archive-game{padding:14px 10px}.archive-game-heading,.archive-winners{margin-inline:3px}.archive-game .archive-row{gap:8px}.back-link{margin-top:15px}main{padding-top:27px}}
@media(max-width:760px){.site-shell{width:calc(100% - 24px);margin-top:12px}.auth-layout{padding:20px 22px 40px}.auth-page main{padding:26px}.auth-layout.auth-card{padding:26px}}
@media(max-width:360px){.site-shell{width:calc(100% - 16px);margin-top:8px}.season-ranking-content{padding:14px 10px}.archive-row,.archive-game .archive-row{grid-template-columns:34px minmax(0,1fr) 34px;gap:7px;padding:12px 7px}.archive-place,.archive-game .archive-place{width:33px;height:39px;border-radius:10px}.place-medal{font-size:23px}.archive-game{padding:12px 7px}.archive-name strong{font-size:12px}.ranking-player-top{gap:6px}.archive-name small{font-size:9px}.archive-row .rank-avatar{width:35px;height:29px;padding-left:6px}.archive-row .rank-avatar img{width:29px;height:29px}}
/* Clearer daylight glass: preserve the wallpaper contours under a soft reflection. */
:root[data-theme=light] :is(.topbar,.panel,.sidebar,dialog){background:linear-gradient(125deg,#ffffff20,transparent 42%,#ffffff08),var(--surface);backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);border-color:var(--line);border-top-color:var(--glass-edge)}
:root[data-theme=light] .archive-row{border-color:var(--line);box-shadow:inset 0 1px 0 #ffffff40,0 4px 14px #29456908}
@supports not (backdrop-filter:blur(1px)){.panel,.topbar,.sidebar,dialog{background:#202d40}:root[data-theme=light] .panel,:root[data-theme=light] .topbar,:root[data-theme=light] .sidebar,:root[data-theme=light] dialog{background:#d0d9e4}}

/* Public information uses the same glass design without requiring a login. */
.legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 19px;font-size:13px;line-height:1.6}.legal-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}.legal-links a:hover,.legal-links a[aria-current=page]{color:var(--accent);text-decoration-color:currentColor}footer{flex-wrap:wrap;align-items:center}footer>.legal-links{margin-left:auto}.auth-footer{gap:12px 25px}.menu-dialog>.legal-links{display:grid;gap:0;margin-top:18px}.menu-dialog>.legal-links>a{font-size:13px;padding:9px 0;min-height:38px;border:0}.public-shell{max-width:1120px}.public-main{max-width:820px;margin:0 auto;padding-top:35px}.public-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 4px 18px}.public-context .eyebrow{margin:0}.public-context>span:last-child{font-size:11px;color:var(--muted)}.public-home-link{font-size:13px;padding:10px 0;white-space:nowrap;color:var(--accent)}.public-home-link span{margin-left:8px}.legal-content{padding:38px 42px}.legal-content h1{font-size:clamp(28px,4vw,39px);margin:0 0 26px;overflow-wrap:anywhere}.legal-content h2{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin:30px 0 12px}.legal-content p{font-size:15px;line-height:1.85;margin:0 0 17px;color:var(--muted);overflow-wrap:anywhere}.legal-content p strong{color:var(--text);font-weight:650}.legal-content ul{padding-left:22px;margin:12px 0 24px;color:var(--muted);font-size:15px;line-height:1.85}.legal-content li+li{margin-top:6px}.legal-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.public-footer{max-width:820px;margin:0 auto;padding:25px 4px 35px;gap:12px}.public-footer>.legal-links{margin-left:0;flex:1}.public-footer>span:last-child{margin-left:0}.contact-content h1{margin-bottom:14px}.legal-content .public-intro{margin-bottom:24px}.contact-form{margin-top:26px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block}.contact-form textarea{font:inherit;font-size:16px;line-height:1.65;resize:vertical;min-height:180px;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--text);padding:13px 15px;margin-bottom:20px}.contact-form textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.contact-form .primary{width:fit-content;min-width:210px;gap:24px}.contact-form .contact-privacy{font-size:12px;line-height:1.8;margin:18px 0 0}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}.legal-content .form-alert,.legal-content .form-notice{font-size:13px;color:var(--text)}
@media(max-width:760px){footer>.legal-links{margin-left:0;width:100%}.legal-links{gap:3px 17px;font-size:13px}.auth-footer{align-items:flex-start}.public-shell .topbar{padding-inline:16px}.public-shell .top-actions{gap:13px}.public-home-link{font-size:11px}.public-home-link span{margin-left:3px}.public-main{padding-top:25px}.public-context{display:block;margin-bottom:14px}.public-context>span:last-child{display:block;margin-top:5px;font-size:10px}.legal-content{padding:25px 22px}.legal-content h1{font-size:29px;letter-spacing:-1px}.legal-content h2{font-size:18px;margin-top:25px}.legal-content p,.legal-content ul{font-size:14px;line-height:1.85}.contact-fields{grid-template-columns:minmax(0,1fr);gap:0}.contact-form .primary{width:100%}.public-footer{padding-inline:8px}.public-footer>span:last-child{width:auto}.public-page .brand>span{max-width:170px}}
@media(max-width:360px){.public-shell .topbar{padding-inline:12px;gap:10px}.public-shell .top-actions{gap:8px}.public-page .brand{font-size:13px}.public-page .brand>span{max-width:118px}.legal-content{padding:23px 17px}.legal-content h1{font-size:26px}}
/* Account dropdown and self-service profile. */
.account-menu{position:fixed;inset:auto;margin:0;width:300px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:12px;border:1px solid var(--glass-edge);border-radius:20px;background:var(--surface);color:var(--text);backdrop-filter:blur(28px) saturate(120%);box-shadow:0 20px 70px #0005}.account-menu::backdrop{background:transparent}.account-identity{padding:10px 13px 18px;margin-bottom:6px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.account-identity strong{display:block;color:var(--text);margin-top:3px;overflow-wrap:anywhere}.account-menu nav{display:grid;gap:3px}.account-menu nav>a,.account-menu nav>button,.account-logout{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:45px;padding:10px 13px;border-radius:10px;background:transparent;text-align:left;font-size:15px}.account-menu nav>a:hover,.account-menu nav>a[aria-current=page]{background:var(--soft);color:var(--accent)}.account-menu nav>button:disabled{color:var(--muted);cursor:default;filter:none}.account-menu small{font-size:10px;border:1px solid var(--line);border-radius:6px;padding:2px 6px}.account-menu nav>a>span{font-size:14px;color:var(--muted)}.account-menu form{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.account-logout{color:#ffb0b0}.account-logout:hover{background:#dc646412}:root[data-theme=light] .account-menu{background:linear-gradient(125deg,#ffffff20,#ffffff08),var(--surface)}:root[data-theme=light] .account-logout{color:#a12f3d}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}.profile-card{padding:28px;min-width:0}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-form label{display:block}.profile-form input[readonly]{color:var(--muted);border-style:dashed}.profile-hint{font-size:12px;line-height:1.7;color:var(--muted);margin:-6px 0 24px}.profile-form fieldset,.default-avatar-form fieldset{padding:0;margin:0;border:0;min-width:0}.profile-form legend,.default-avatar-form legend{font-size:14px;font-weight:600;margin-bottom:14px;padding:0}.profile-form legend small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.location-fields{grid-template-columns:100px minmax(0,1fr)}.birthday-fields{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px}.profile-avatar-preview{display:flex;align-items:center;gap:18px;margin-top:24px}.profile-avatar-preview .rank-avatar{width:108px;height:96px;padding-left:12px;flex:none}.profile-avatar-preview .rank-avatar img{width:96px;height:96px;border:1px solid var(--line);border-radius:20px}.profile-avatar-preview .rank-avatar:before{height:90px}.profile-avatar-preview strong{font-size:18px;overflow-wrap:anywhere}.profile-avatar-preview p{color:var(--muted);font-size:12px;margin-top:5px}.avatar-upload{border-bottom:1px solid var(--line);padding-bottom:25px}.avatar-upload input[type=file]{font-size:12px;padding:9px;overflow:hidden}.avatar-upload input::file-selector-button{background:var(--soft);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:7px;margin-right:8px;cursor:pointer}.avatar-upload .profile-hint{margin-bottom:13px}.default-avatar-form{margin-top:25px}.profile-avatar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.avatar-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 5px;border:1px solid var(--line);border-radius:12px;cursor:pointer;min-width:0;background:var(--raised)}.avatar-option[hidden]{display:none}.avatar-option img{width:56px;height:56px;border-radius:10px}.avatar-option span{font-size:10px;text-align:center;line-height:1.4}.avatar-option input{position:absolute;top:6px;left:6px;margin:0;accent-color:var(--accent)}.avatar-option:has(input:checked){border-color:var(--accent);background:var(--soft);box-shadow:inset 0 0 0 1px var(--accent)}.avatar-option:focus-within{outline:2px solid var(--accent);outline-offset:3px}.secondary{width:100%;margin-top:18px;min-height:46px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--accent);padding:10px 14px;font-weight:600}.avatar-reset{margin-top:12px}.avatar-reset .text-button{font-size:12px}.profile-button>.rank-avatar{display:inline-block;height:38px}.profile-button>.rank-avatar img{width:38px;height:38px}.profile-button>.rank-avatar:before{content:none}
@container app (max-width:860px){.profile-layout{grid-template-columns:minmax(0,1fr)}.profile-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-card{padding:23px}.profile-layout .profile-hint{font-size:11px}}
@container app (max-width:480px){.profile-button>span:not(.rank-avatar){display:none}.profile-button>.rank-avatar{display:inline-block}.profile-card{padding:22px 18px}.profile-fields{gap:12px}.birthday-fields{gap:10px}.profile-avatar-preview{gap:14px}.profile-avatar-preview strong{font-size:16px}.profile-form input{padding-inline:10px}}
/* Navigation is in the burger menu; every page gets the full content width. */
.workspace{display:block;min-height:calc(100svh - 130px)}.workspace>main{width:100%}.profile-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.games-ranking-link{display:inline-block;margin-top:18px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.games-empty h2{font-size:23px}.chat-layout{display:grid;grid-template-columns:190px minmax(0,1fr);border-top:1px solid var(--line)}.chat-contacts{padding:20px 12px;border-right:1px solid var(--line);background:var(--raised);min-width:0}.chat-contacts h3{margin:0 10px 16px;font-size:13px;font-weight:600}.chat-contacts-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 10px 8px;font-size:12px;color:var(--muted)}.chat-contacts-label small{font-size:9px}.chat-people{list-style:none;margin:0;padding:0;max-height:495px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.chat-people li{margin:0}.chat-people button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:9px 10px;text-align:left;border-radius:8px;background:transparent;color:var(--text);font-size:13px;overflow-wrap:anywhere;cursor:default;filter:none}.chat-team-icon{display:block;flex:0 0 24px;width:24px;height:24px;object-fit:contain}.chat-people button>span:last-child{min-width:0}.chat-conversation{min-width:0}.chat-conversation .chat-topic{border-top:0}.chat-conversation .empty-chat{min-height:520px}.chat-conversation .empty-chat p{max-width:370px}.chat-conversation .chat-footnote{line-height:1.7}
@container app (max-width:1100px){.dashboard{grid-template-columns:minmax(0,1fr)}.right-column{grid-template-columns:1fr}.chat-layout{grid-template-columns:190px minmax(0,1fr)}}
@container app (max-width:860px){.profile-layout{grid-template-columns:minmax(0,1fr)}}
@container app (max-width:600px){.chat-layout{grid-template-columns:minmax(0,1fr)}.chat-contacts{border-right:0;border-bottom:1px solid var(--line);padding:16px}.chat-contacts h3{margin-left:0;margin-bottom:12px}.chat-contacts-label{margin:16px 0 8px}.chat-people{display:flex;gap:6px;max-height:none;overflow-x:auto;max-width:100%;padding-bottom:4px}.chat-people li{flex:none}.chat-people button{white-space:nowrap;border:1px solid var(--line);border-radius:8px;padding-right:12px}.chat-conversation .empty-chat{min-height:420px}.games-empty{align-items:flex-start}.games-empty h2{font-size:20px}}
/* Compact personal overview and upcoming team dates above the full-width chat. */
.dashboard{grid-template-columns:minmax(0,1fr)}.dashboard-overview{margin-bottom:24px;padding:16px 28px 0}.overview-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.overview-top h1{font-size:26px;letter-spacing:-.7px;overflow-wrap:anywhere}.overview-season{font-size:11px;white-space:nowrap;color:var(--muted)}.overview-stats{display:grid;grid-template-columns:1.2fr 1.1fr 1fr 1.2fr;gap:20px;margin:12px 0 16px}.overview-stats>div+div{border-left:1px solid var(--line);padding-left:23px}.overview-stats dt{font-size:12px;color:var(--muted);margin-bottom:5px}.overview-stats dd{margin:0;line-height:1.4;font-size:27px;font-weight:650;font-variant-numeric:tabular-nums}.overview-stats dd small{font-size:13px;font-weight:400;color:var(--muted)}.overview-rank{display:inline-flex;align-items:center;gap:8px;color:var(--accent)}.overview-rank>span[aria-hidden]{font-size:25px}.overview-unranked{display:block;font-size:17px;font-weight:550;padding-top:5px}.overview-coins{color:#f1cc85}:root[data-theme=light] .overview-coins{color:#885e20}.overview-stats .overview-time{font-size:22px;padding-top:3px}.overview-time small{display:block;margin-top:3px}.overview-events{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin:0 -28px;background:var(--raised)}.overview-event{display:flex;align-items:center;gap:12px;min-width:0;min-height:76px;padding:12px 18px;transition:background .15s ease}.overview-event+.overview-event{border-left:1px solid var(--line)}.overview-event:hover{background:var(--soft)}.overview-event:focus-visible{outline-offset:-4px}.event-copy{min-width:0}.event-arrow{margin-left:auto;padding-left:6px;color:var(--accent);font-size:18px;flex:none}.event-state{color:var(--accent);font-size:11px;white-space:nowrap}.event-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;font-size:20px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.overview-event h2{font-size:11px;letter-spacing:0;color:var(--muted);font-weight:500;margin-bottom:5px}.overview-event p{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;font-size:13px;overflow-wrap:anywhere}.overview-event strong{font-weight:600}.overview-event time{color:var(--accent);font-size:12px;white-space:nowrap}.overview-event .event-empty{color:var(--muted);font-size:12px}
@container app (max-width:1050px){.overview-events{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-event:nth-child(odd){border-left:0}.overview-event:nth-child(n+3){border-top:1px solid var(--line)}}
@container app (max-width:760px){.dashboard-overview{padding:16px 20px 0;margin-bottom:20px}.overview-top h1{font-size:24px}.overview-season{font-size:10px}.overview-stats{grid-template-columns:1fr 1fr;gap:14px 16px;margin-block:14px}.overview-stats>div+div{padding-left:0;border-left:0}.overview-stats>div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}.overview-stats>div:nth-child(n+3){border-top:1px solid var(--line);padding-top:12px}.overview-stats dd{font-size:25px}.overview-unranked{font-size:15px}.overview-stats dt{font-size:11px}.overview-stats .overview-time{font-size:18px}.overview-events{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:-20px}.overview-event{gap:9px;padding:12px;min-height:72px}.overview-event h2{font-size:10px}.overview-event p{font-size:12px}.overview-event:nth-child(odd){border-left:0}.overview-event:nth-child(n+3){border-top:1px solid var(--line)}.overview-event .event-icon{width:32px;height:32px;font-size:18px}.overview-event .event-arrow{font-size:16px;padding-left:0}}

/* Event scoring separates raw game scores from seasonal award points. */
.archive-row{grid-template-columns:54px minmax(0,1fr) minmax(85px,auto)}.archive-points{max-width:170px;overflow-wrap:anywhere}.archive-points strong{font-size:clamp(17px,2vw,23px)}.event-status{font-size:10px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;color:var(--muted);white-space:nowrap}.event-status.is-live{color:var(--accent);background:var(--soft)}.event-period{font-size:11px;color:var(--muted);margin:4px 0 16px}.archive-game-heading{flex-wrap:wrap}.archive-game-heading>div{margin-right:auto}.event-card{padding:25px}.event-card h2{margin:15px 0 8px}.event-card .event-period{margin-bottom:18px}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@container app (max-width:760px){.archive-row,.archive-game .archive-row{grid-template-columns:40px minmax(0,1fr) 76px}.archive-points strong{font-size:17px}.archive-points small{font-size:9px}.event-grid{grid-template-columns:minmax(0,1fr)}}

/* Shared calendar with team colors for every entry. */
.team-color-marker{display:inline-block;flex:0 0 4px;width:4px;height:1em;min-height:12px;border-radius:2px;background:var(--team-color,#808080);align-self:center}.overview-people{display:flex;flex-wrap:wrap;gap:4px 12px}.overview-person{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}
.calendar-shell{padding:28px}.calendar-head{display:flex;justify-content:space-between;align-items:center;gap:24px}.calendar-team{font-size:12px;color:var(--muted);margin-bottom:7px}.calendar-title{font-size:clamp(23px,3vw,32px);letter-spacing:-.8px}.calendar-view-switch{display:flex;gap:4px;background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:4px;flex-shrink:0}.calendar-switch-btn{padding:9px 18px;border-radius:8px;font-size:13px;color:var(--muted)}.calendar-switch-btn.is-active{background:var(--soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--line)}.calendar-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.calendar-meta p{display:flex;gap:18px;flex-wrap:wrap}.calendar-meta>a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.calendar-month-nav,.calendar-year-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}.calendar-month-label,.calendar-year-label{font-size:23px;font-weight:600;text-align:center}.calendar-nav-btn{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:var(--raised);border-radius:11px;font-size:22px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekday{text-align:center;padding:8px;color:var(--muted);font-size:12px}.calendar-day{min-width:0;min-height:128px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--row)}.calendar-day-empty{border-color:transparent;background:none}.calendar-day-top{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;margin-bottom:12px}.calendar-day-number{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.calendar-day-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--soft)}.calendar-today-badge{font-size:9px;color:var(--accent);font-weight:600}.calendar-day-events{display:grid;gap:7px}.calendar-event-badge{display:flex;align-items:flex-start;gap:5px;padding:6px;border:1px solid var(--line);border-radius:7px;background:var(--raised);font-size:11px;line-height:1.6}.calendar-event-text,.calendar-year-text{min-width:0;overflow-wrap:anywhere}.calendar-event-icon,.calendar-year-icon{flex:none}.calendar-day-empty-text{display:none}.calendar-empty-month{padding:12px 0;color:var(--muted);font-size:13px}.calendar-mobile-date{display:none}.calendar-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.calendar-year-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--row);overflow:hidden}.calendar-year-card-head{padding:17px 18px;border-bottom:1px solid var(--line);background:var(--raised)}.calendar-year-card-head h2{font-size:17px;letter-spacing:0}.calendar-year-card-head a{display:block}.calendar-year-list{display:grid;gap:10px;padding:16px 18px}.calendar-year-entry{display:flex;gap:9px;align-items:baseline;font-size:12px}.calendar-year-date{flex:0 0 23px;font-variant-numeric:tabular-nums;color:var(--muted)}.calendar-year-empty{color:var(--muted);font-size:12px}.calendar-event-birthday .calendar-event-icon,.calendar-event-birthday .calendar-year-icon{color:var(--accent)}
@container app (max-width:1050px){.calendar-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-shell{padding:22px}.calendar-day{padding:7px}.calendar-event-badge{flex-wrap:wrap;padding:4px}}
@container app (max-width:760px){.calendar-head{align-items:flex-start;flex-direction:column;gap:18px}.calendar-meta{align-items:flex-start}.calendar-meta p{gap:8px 16px}.calendar-grid-weekdays{display:none}.calendar-grid-days{grid-template-columns:minmax(0,1fr);gap:12px}.calendar-day{display:none;min-height:0;padding:15px}.calendar-day-has-events,.calendar-day-today{display:block}.calendar-mobile-date{display:inline;font-weight:400;color:var(--muted)}.calendar-day-number{font-size:14px}.calendar-today-badge{font-size:11px}.calendar-event-badge{padding:9px 11px;font-size:13px;gap:9px;flex-wrap:nowrap}.calendar-day-today .calendar-day-empty-text{display:block;font-size:12px;color:var(--muted)}.calendar-month-label,.calendar-year-label{font-size:21px}}
@container app (max-width:520px){.calendar-shell{padding:19px 16px}.calendar-year-grid{grid-template-columns:minmax(0,1fr)}.calendar-title{font-size:24px}.calendar-meta p{flex-direction:column}.calendar-year-entry{font-size:13px}}

/* User management: shared theme surfaces, compact directory and responsive forms. */
.users-create{display:inline-block;padding:12px 17px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--accent);font-weight:600;white-space:nowrap}.users-directory{padding:24px}.users-filters{display:flex;gap:15px;align-items:end;flex-wrap:wrap}.users-filters>div{flex:1;min-width:150px}.users-filters>div:first-child{flex:2}.users-filters .secondary{width:auto;margin:0;padding-inline:22px;min-height:45px}.users-filters select,.users-edit-layout select{width:100%;background:var(--raised);min-height:44px}.users-count{margin:22px 0 9px;font-size:12px;color:var(--muted)}.users-list{list-style:none;margin:0;padding:0}.users-list li+li{border-top:1px solid var(--line)}.users-row{display:grid;grid-template-columns:42px minmax(130px,1.4fr) minmax(100px,1fr) minmax(100px,1fr) auto;align-items:center;gap:16px;padding:15px 0}.users-row:hover{background:var(--raised)}.users-row>img{border-radius:12px}.users-name{min-width:0;overflow-wrap:anywhere}.users-name strong{font-size:14px;font-weight:600}.users-name small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.users-team{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.users-badges{display:flex;gap:5px;flex-wrap:wrap}.users-badges>span{border:1px solid var(--line);border-radius:6px;padding:3px 7px;font-size:10px;color:var(--muted)}.users-edit-label{font-size:12px;color:var(--accent)}.users-empty{padding:22px 0;color:var(--muted)}.users-edit-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start}.users-side{display:grid;gap:24px;min-width:0}.users-edit-layout .profile-card{min-width:0}.users-edit-layout .profile-fields select{margin:0 0 18px}.users-filters input{margin-bottom:0}.users-checkbox{display:flex!important;gap:11px;align-items:flex-start;font-size:13px!important;cursor:pointer}.users-checkbox input{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:2px 0 0!important;accent-color:var(--accent)}.users-checkbox small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.users-avatar-preview{display:flex;align-items:center;gap:20px;margin:20px 0;overflow-wrap:anywhere}.users-avatar-preview img{border-radius:18px}.users-side .auth-form{margin-block:18px}.users-side .auth-form .secondary{margin-top:4px}.users-actions details{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.users-actions summary{cursor:pointer;font-size:14px;font-weight:600}.users-actions details>p{font-size:12px;color:var(--muted);margin-top:12px}.users-danger{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--raised);color:#ffb5b5;font-weight:600}:root[data-theme=light] .users-danger{color:#9b2632}.users-password-label{display:block;margin:15px 0 6px;font-size:12px}.users-temporary-password{display:block;max-width:100%;width:360px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--text);font-family:monospace;font-size:16px}.users-temporary-password+p{font-size:12px;margin-top:8px}
@container app (max-width:1000px){.users-row{grid-template-columns:42px minmax(120px,1.5fr) minmax(100px,1fr) minmax(100px,1fr)}.users-edit-label{display:none}.users-edit-layout{grid-template-columns:minmax(0,1fr)}}
@container app (max-width:600px){.users-heading{align-items:flex-start;flex-direction:column;gap:16px}.users-directory{padding:18px 16px}.users-filters>div{flex-basis:100%;min-width:0}.users-filters .secondary{width:100%}.users-row{grid-template-columns:38px minmax(0,1fr);gap:5px 12px;padding-block:16px}.users-row>img{width:38px;height:38px;grid-row:1/3}.users-team,.users-badges{grid-column:2}.users-edit-layout{gap:18px}.users-edit-layout .profile-card{padding:22px 18px}.users-avatar-preview{gap:14px}.users-avatar-preview img{width:72px;height:72px}.users-edit-layout .profile-fields{grid-template-columns:minmax(0,1fr)}.users-side{gap:18px}}

.users-row-inactive>img{opacity:.5;filter:grayscale(1)}.users-row-inactive>.users-name{color:var(--muted)}

/* Compact row actions with keyboard-accessible labels and hover hints. */
.users-row-actions{display:flex;gap:8px;justify-self:end;margin-left:auto}.users-icon-action{display:inline-flex;align-items:center;justify-content:center;position:relative;width:46px;height:46px;flex:0 0 46px;border:1px solid var(--line);border-radius:13px;background:var(--raised);color:var(--text);font-size:22px;line-height:1;text-decoration:none;cursor:pointer}.users-icon-action:hover,.users-icon-action:focus-visible{background:var(--soft);border-color:var(--accent)}.users-icon-action:disabled{cursor:default}.users-icon-action:disabled>span{opacity:.35}.users-icon-action::after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 9px);z-index:20;width:max-content;max-width:min(260px,70vw);padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--select-option-bg);color:var(--text);font-size:12px;font-weight:400;line-height:1.4;text-align:left;box-shadow:0 5px 18px #0003;opacity:0;visibility:hidden;pointer-events:none}.users-icon-action:hover::after,.users-icon-action:focus-visible::after{opacity:1;visibility:visible}.users-name:hover{color:var(--accent)}.users-actions details{scroll-margin-top:24px}
@container app (max-width:1000px){.users-row{grid-template-columns:42px minmax(0,1fr) auto;gap:6px 16px}.users-row>img{grid-column:1;grid-row:1/4}.users-name,.users-team,.users-badges{grid-column:2}.users-row-actions{grid-column:3;grid-row:1/4}}
@container app (max-width:600px){.users-row{grid-template-columns:38px minmax(0,1fr);gap:6px 12px}.users-row-actions{grid-column:1/-1;grid-row:4;margin-top:8px}.users-icon-action{width:44px;height:44px;flex-basis:44px}}

/* Native select popups need opaque colors instead of translucent glass surfaces. */
:root{--select-option-bg:#182230;--select-option-text:#f0f4fa;--select-option-selected-bg:#355780;--select-option-selected-text:#fff}
:root[data-theme=light]{--select-option-bg:#d0d9e4;--select-option-text:#202e43;--select-option-selected-bg:#b7cce6;--select-option-selected-text:#172b45}
select{color:var(--text)}select option,select optgroup{background-color:var(--select-option-bg);color:var(--select-option-text)}select option:checked{background-color:var(--select-option-selected-bg);color:var(--select-option-selected-text)}select option:disabled{color:var(--muted)}

/* Dashboard shortcuts for administrators and moderators. */
/* Compact dashboard shortcuts for administrators and moderators. */
.overview-admin-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-bottom:16px}
.overview-admin-bar .overview-top h1{font-size:20px;margin:0;letter-spacing:-.4px}
.overview-admin-bar .heading-symbol{font-size:22px}
.overview-admin{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0}
.overview-admin a{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--raised)}
.overview-admin a:hover,.overview-admin a:focus-visible{background:var(--soft);border-color:var(--accent)}
.overview-admin svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
@container app (max-width:480px){.overview-admin-bar{gap:10px;padding-bottom:14px}.overview-admin{gap:6px}.overview-admin a{border-radius:10px}}

.calendar-day:target{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--soft);scroll-margin-top:24px}.event-card:target,#wolpernopoly:target{border-color:var(--accent);scroll-margin-top:24px}.games-empty .event-status{display:inline-block;margin-bottom:10px}

/* Password visibility controls shared by login, password changes and account management. */
.password-field{position:relative;display:block;min-width:0;width:100%}.auth-form .password-field{margin-bottom:19px}.password-field>input{display:block;width:100%;padding-right:52px;margin-bottom:0}.password-field>.password-visibility-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);line-height:1}.password-visibility-toggle:hover{color:var(--accent);background:var(--soft)}.password-field>input::-ms-reveal,.password-field>input::-ms-clear{display:none}.password-field--temporary{max-width:360px}.password-field--temporary+p{font-size:12px;margin-top:8px}

/* Database-driven game list and active-event countdown. */
.games-list{display:grid;grid-template-columns:minmax(0,1fr)}.game-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;min-width:0;padding:22px 20px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.game-event:last-child{border-bottom:0}.game-event h2{grid-column:1;grid-row:1;margin:0;font-size:17px;overflow-wrap:anywhere}.game-event.is-active h2{font-size:22px}.game-event>.event-status{grid-column:2;grid-row:1;justify-self:end;align-self:start}.game-event .event-period{grid-column:1;grid-row:2;margin:0;font-size:12px;line-height:1.7}.game-event:target{background:var(--soft);border-radius:12px}.game-countdown{grid-column:1/-1;grid-row:3;width:100%;max-width:480px;padding:18px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft);margin:12px 0}.game-countdown[hidden]{display:none}.countdown-label{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:14px}.countdown-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;text-align:center}.countdown-units>span{padding:12px 3px;border-radius:9px;background:var(--surface);border:1px solid var(--line);min-width:0}.countdown-units strong{display:block;font-size:clamp(21px,3vw,32px);line-height:1.2;font-variant-numeric:tabular-nums;color:var(--text)}.countdown-units small{display:block;margin-top:6px;font-size:9px;color:var(--muted)}.countdown-progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;margin-top:18px;background:var(--progress-track);color:var(--accent)}.countdown-progress::-webkit-progress-bar{background:var(--progress-track)}.countdown-progress::-webkit-progress-value{background:var(--accent);border-radius:5px}.countdown-progress::-moz-progress-bar{background:var(--accent);border-radius:5px}.game-actions{grid-column:1/-1;grid-row:4;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.game-event:not(.is-active) .game-actions{grid-column:2;grid-row:2;justify-content:flex-end}.game-event>.games-ranking-link{grid-column:2;grid-row:2;justify-self:end}.game-event .games-ranking-link{margin:0;font-size:12px;align-self:center}.game-play{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 15px;border-radius:8px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:13px}.game-play[hidden],.game-availability[hidden]{display:none}.game-availability{font-size:12px;color:var(--muted)}.games-seasons .ranking-empty{margin-top:0}
@container app (max-width:600px){.game-event{padding:18px 14px;gap:9px 10px}.game-event h2{font-size:15px}.game-event.is-active h2{font-size:20px}.game-event>.event-status{font-size:9px;padding:4px 6px}.game-event .event-period,.game-event .games-ranking-link{font-size:11px}.game-countdown{padding:14px 10px}.countdown-units{gap:5px}.countdown-units strong{font-size:25px}.countdown-units small{font-size:9px}}

/* Blue game buttons: a light top edge, gradient face and a small pressed depth. */
:root body :is(.primary,.game-play){color:#fff;background:var(--button-blue);border:1px solid var(--button-edge);box-shadow:inset 0 1px 0 #ffffff55,inset 0 -1px 0 #05296955,0 3px 0 var(--button-depth),0 6px 14px #061b4930;text-shadow:0 1px 1px #08285566;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
:root body :is(.secondary,.admin-button,.voucher-button,.users-create,.back-link,.logins-statistics-link,.overview-admin>a,.admin-links>a,.users-icon-action){background:var(--button-soft);color:var(--button-text);border:1px solid var(--button-soft-edge);box-shadow:inset 0 1px 0 #ffffff33,0 2px 0 var(--button-depth),0 4px 10px #082a491f;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
:root body :is(.overview-admin>a,.admin-links>a)>span:last-child{color:inherit}:root body .admin-links a>span:first-of-type{color:var(--button-text);opacity:.85}
:root body .icon-button{background:var(--button-soft);color:var(--button-text);border:1px solid var(--button-soft-edge);box-shadow:inset 0 1px 0 #ffffff2e,0 2px 0 var(--button-depth)}
:root body :is(.primary,.secondary,.game-play,.admin-button,.voucher-button,.users-create,.back-link,.logins-statistics-link,.overview-admin>a,.admin-links>a,.users-icon-action,.icon-button):focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
@media(hover:hover){:root body :is(.primary,.secondary,.game-play,.admin-button,.voucher-button,.users-create,.back-link,.logins-statistics-link,.overview-admin>a,.admin-links>a,.users-icon-action,.icon-button):not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px)}}
:root body :is(.primary,.secondary,.game-play,.admin-button,.voucher-button,.users-create,.back-link,.logins-statistics-link,.overview-admin>a,.admin-links>a,.users-icon-action,.icon-button):not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 2px 4px #061b4940,0 1px 0 var(--button-depth)}
:root body :is(.primary,.secondary,.admin-button,.voucher-button,.users-icon-action,.icon-button):disabled{opacity:.48;filter:saturate(.4);cursor:not-allowed;box-shadow:none}
:root[data-theme] body .users-danger{background:linear-gradient(180deg,#9d3d50,#702539);border-color:#da8191;color:#fff;box-shadow:inset 0 1px 0 #ffffff30,0 2px 0 #4b1725}
.countdown-progress::-webkit-progress-value{background:linear-gradient(90deg,#268de8,#66d9d0)}.countdown-progress::-moz-progress-bar{background:linear-gradient(90deg,#268de8,#66d9d0)}
@media(prefers-reduced-motion:reduce){:root body :is(.primary,.secondary,.game-play,.admin-button,.voucher-button,.users-create,.back-link,.logins-statistics-link,.overview-admin>a,.admin-links>a,.users-icon-action,.icon-button){transition:none;transform:none}}

/* Black text on the light wallpaper; card and button palettes remain scoped separately. */
:root[data-theme=light] :is(.auth-wordmark,.auth-intro,.welcome,.public-context,.section-heading,footer){--text:#000;--muted:#000;color:#000}
:root[data-theme=light] footer .legal-links a{color:#000;text-decoration-color:currentColor}
.users-edit-layout .primary + .profile-hint{margin-top:16px}
.form-notice.profile-welcome{font-size:18px;line-height:1.6}
#user-delete label[for=confirm_login]{-webkit-user-select:none;user-select:none}

.heading-with-icon{display:flex;align-items:center;gap:.4em;line-height:1.25}
.heading-with-icon>span:last-child{min-width:0}
.heading-symbol{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.15em;height:1.15em;line-height:1;letter-spacing:0}
.heading-counter{display:block;flex:none;width:auto;height:1em;object-fit:contain}

/* Shared team balances above the member's own standings. */
.ranking-team-coins{padding:24px 28px;margin-bottom:24px}.ranking-team-coins .ranking-section-heading{margin-bottom:16px}.team-coins-season{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.team-coins-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:0;padding:0;list-style:none}.team-coins-item{display:flex;align-items:center;gap:18px;min-width:0;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.team-coins-item>img,.team-coins-fallback{width:76px;height:76px;flex:0 0 76px;object-fit:contain}.team-coins-fallback{display:grid;place-items:center;font-size:52px}.team-coins-item>div{min-width:0}.team-coins-item h3{margin:0 0 4px;font-size:16px;font-weight:600;overflow-wrap:anywhere}.team-coins-item p{display:flex;flex-wrap:wrap;gap:4px 9px;align-items:baseline}.team-coins-item strong{font-size:28px;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--accent);overflow-wrap:anywhere}.team-coins-item p span{font-size:12px;color:var(--muted)}
@container app (max-width:600px){.ranking-team-coins{padding:20px 16px}.team-coins-item{padding:12px;gap:14px}.team-coins-item>img,.team-coins-fallback{width:64px;height:64px;flex-basis:64px}.team-coins-item strong{font-size:25px}}

/* Header controls: joypad shortcut, sliding day/night switch and avatar-only account menu. */
:root body .theme-toggle--pill{--switch-width:88px;position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:4px;width:var(--switch-width);height:42px;padding:3px;flex:none;border-radius:999px;border:1px solid #789fcd66;background:linear-gradient(180deg,#10223b,#233b5a);box-shadow:inset 0 2px 5px #020b1b66,0 1px 0 #ffffff18;overflow:hidden;transition:background .25s ease,border-color .25s ease}
:root[data-theme=light] body .theme-toggle--pill{background:linear-gradient(180deg,#d1e4f6,#eff8ff);border-color:#8ab4db88;box-shadow:inset 0 2px 4px #3f70942b,0 1px 0 #ffffffcc}
.theme-toggle--pill:before{content:"";position:absolute;z-index:-1;inset:4px auto 4px 4px;width:calc(50% - 6px);border-radius:999px;background:linear-gradient(145deg,#fffef9,#fff0cc);box-shadow:0 2px 5px #082f6033,inset 0 1px 0 #fff;transform:translateX(0);transition:transform .28s cubic-bezier(.22,.8,.25,1),background .25s ease}
:root[data-theme=dark] .theme-toggle--pill:before{transform:translateX(calc(var(--switch-width) / 2));background:linear-gradient(145deg,#557daf,#2d527f);box-shadow:0 2px 5px #0005,inset 0 1px 0 #b9dfff66}
.theme-choice{display:grid;place-items:center;pointer-events:none;transition:opacity .25s ease,transform .28s ease}
.theme-choice svg{width:22px;height:22px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.theme-choice--sun{color:#edaa27}.theme-choice--sun circle{fill:#ffd15b;stroke:#e6a01c}.theme-choice--sun path{stroke:#e5a12a}
.theme-choice--moon{color:#2e5a96;opacity:.7}.theme-choice--moon path:first-child{fill:#608ecc;stroke:currentColor}.theme-choice--moon .moon-spark{stroke:currentColor;stroke-width:1.5}
:root[data-theme=dark] .theme-choice--sun{opacity:.55;transform:scale(.88)}
:root[data-theme=dark] .theme-choice--moon{opacity:1;color:#e0efff}.theme-toggle--pill .theme-choice--moon{transition:opacity .25s ease,transform .28s ease}
:root[data-theme=dark] .theme-choice--moon path:first-child{fill:#d4eaff}
:root body .theme-toggle--pill:not(:disabled):is(:hover,:active){transform:none;filter:none;box-shadow:inset 0 2px 5px #08223c33,0 0 0 2px #77baff33}
:root body .topbar .games-shortcut{background:transparent;border-color:transparent;box-shadow:none}
:root body .topbar .games-shortcut:hover{background:var(--soft)}
.games-shortcut .joypad-icon{width:32px;height:27px;overflow:visible}
.joypad-icon .joypad-body{fill:#294f88;stroke:#17355e;stroke-width:1.4;stroke-linejoin:round}
.joypad-icon .joypad-shine{fill:none;stroke:#86b9eb;stroke-width:1.5;stroke-linecap:round;opacity:.7}
.joypad-icon .joypad-controls{fill:none;stroke:#edf6ff;stroke-width:2;stroke-linecap:round}
.joypad-icon .joypad-button-a{fill:#a0d2ff;stroke:none}.joypad-icon .joypad-button-b{fill:#f6c869;stroke:none}
:root[data-theme=dark] .joypad-icon .joypad-body{fill:#8db8e6;stroke:#c2deff}.joypad-icon .joypad-controls{paint-order:stroke fill}
:root[data-theme=dark] .joypad-icon .joypad-controls{stroke:#183857}
:root body .topbar .profile-button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:3px;border-radius:50%}
.topbar .profile-button>.rank-avatar{display:block;flex:none;width:38px;height:38px;max-width:none;overflow:visible}
.topbar .profile-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
@container app (max-width:600px){:root body .topbar .theme-toggle--pill{--switch-width:76px;height:40px}.topbar .top-actions{gap:6px}.topbar .brand-group{flex:1;overflow:hidden}.topbar .brand>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .brand small{overflow:hidden;text-overflow:ellipsis}.topbar .brand img{flex:none}.topbar #menu-open{flex:none}.topbar .brand-group{margin-right:6px}}
@container app (max-width:380px){.topbar .brand-group .brand>span{display:none}.topbar .top-actions{gap:4px}}
@media(prefers-reduced-motion:reduce){.theme-toggle--pill:before,.theme-toggle--pill .theme-choice,:root body .theme-toggle--pill{transition:none}}

.ranking-team-filter{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 24px}.ranking-team-filter label{font-size:14px;font-weight:600}.ranking-team-filter label small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.ranking-team-filter select{width:260px;max-width:100%;min-height:44px;margin:0;padding:10px 36px 10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--text);font:inherit}.ranking-team-filter select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Lifetime gaming counters and the team's own coin. */
.overview-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.overview-stats .overview-coin-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.overview-coin-icon{object-fit:contain;flex:none}
.overview-gaming-breakdown{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:4px}
.overview-gaming-breakdown span{display:inline-flex;align-items:center;gap:4px}
.overview-gaming-breakdown img{object-fit:contain}
@container app (max-width:1000px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stats>div+div{padding-left:0;border-left:0}.overview-stats>div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}.overview-stats>div:nth-child(n+3){border-top:1px solid var(--line);padding-top:12px}}

/* Keep the mobile overview short enough to reach the chat quickly. */
@container app (max-width:600px){
 .dashboard-overview{padding:12px 12px 0;margin-bottom:16px}
 .dashboard-overview .overview-top h1{font-size:20px}
 .overview-stats{gap:8px 12px;margin:10px 0 12px}
 .overview-stats>div{min-width:0}
 .overview-stats>div:nth-child(even){padding-left:12px}
 .overview-stats>div:nth-child(n+3){padding-top:8px}
 .overview-stats dt{font-size:11px;line-height:1.4;margin-bottom:4px}
 .overview-stats dd{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
 .overview-stats dd small{font-size:11px}
 .overview-unranked{font-size:13px;padding-top:0}
 .overview-stats .overview-time{font-size:17px;padding-top:0}
 .overview-stats .overview-coin-line,.overview-gaming-breakdown{gap:4px 8px}
 .overview-coin-icon{width:24px;height:24px}
 .overview-gaming-breakdown{margin-top:0}
 .overview-events{grid-template-columns:minmax(0,1fr);margin-inline:-12px}
 .overview-events .overview-event{min-height:52px;padding:8px 12px;gap:10px;border-left:0}
 .overview-event+.overview-event{border-top:1px solid var(--line)}
 .overview-event .event-icon{width:28px;height:28px;font-size:17px;border-radius:8px}
 .overview-event .event-copy{flex:1}
 .overview-event h2{font-size:11px;margin-bottom:2px}
 .overview-event p{font-size:12px;gap:2px 8px;line-height:1.4}
 .overview-event .overview-people{gap:2px 8px}
 .overview-minigames p{display:none}
 .overview-minigames h2{margin:0;font-size:12px;color:var(--text)}
}
@container app (min-width:481px) and (max-width:600px){.overview-events{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-event:nth-child(even){border-left:1px solid var(--line)}.overview-event:nth-child(2){border-top:0}}

/* Long public game-catalog labels remain readable on small screens. */
:root body a.games-catalog-link{white-space:normal;max-width:100%;min-width:0;overflow-wrap:break-word}
.minigames-welcome{flex-wrap:wrap}.minigames-welcome>div{flex:1 1 360px}
:root body .kf-heading{flex-wrap:wrap}

/* Admin-only unread contact indicator, including narrow headers. */
.profile-button,.overview-ticket-link{position:relative;overflow:visible}
.profile-button>.contact-count-badge,.overview-ticket-link>.contact-count-badge{position:absolute;display:grid;place-items:center;top:-7px;right:-8px;min-width:21px;height:21px;padding:0 5px;border:2px solid var(--bg);border-radius:999px;background:#e83d56;color:#fff;font-size:11px;font-weight:700;line-height:1;pointer-events:none;z-index:1}
.overview-ticket-live{display:contents}.overview-admin .overview-ticket-link{background:var(--button-soft);color:var(--button-text);border:1px solid var(--button-soft-edge);box-shadow:inset 0 1px 0 #ffffff33,0 2px 0 var(--button-depth),0 4px 10px #082a491f;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.overview-admin .overview-ticket-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
.account-menu .account-contacts-link{display:flex;align-items:center;justify-content:space-between;gap:12px}
.contact-menu-count{flex-shrink:0;border-radius:999px;background:#e83d56;color:#fff;padding:3px 7px;font-size:10px;line-height:1.4}
