:root{color-scheme:dark;--ink:#11191d;--coal:#1b2326;--yellow:#ffd000;--ice:#d9edf2;--line:#324047;--muted:#9caaae;--red:#d74538}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;letter-spacing:0}body{background:#10171a;color:#f4f7f5}.app{min-height:100vh;background:linear-gradient(160deg,#1d272a 0%,#10171a 58%);padding:0 24px 24px}.topbar{max-width:1420px;margin:auto;height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #354146}.brand{display:flex;align-items:center;gap:11px;color:#f6f7f2;text-decoration:none;font-size:14px;font-weight:800}.brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:2px solid var(--yellow)}.brand strong{color:var(--yellow)}.game-name{display:flex;align-items:center;gap:10px;font-weight:900;font-size:16px}.live-dot{width:8px;height:8px;background:var(--yellow);border-radius:50%;box-shadow:0 0 13px var(--yellow)}.game-tag{font-size:10px;color:var(--ink);background:var(--yellow);padding:3px 5px;font-weight:900}.icon-button{border:1px solid #47575e;background:#1d292d;color:#fff;font-size:25px;width:40px;height:40px;cursor:pointer}.icon-button:hover{border-color:var(--yellow)}.layout{max-width:1420px;margin:22px auto 0;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.game-shell{min-width:0;background:#182125;border:1px solid #3a474c;box-shadow:0 18px 50px #0005}.scorebar{height:91px;display:grid;grid-template-columns:1fr 142px 1fr;align-items:center;padding:0 27px;background:#202b2f;border-bottom:3px solid var(--yellow)}.side{display:flex;align-items:center;gap:12px;min-width:0}.side.away{justify-content:flex-end;text-align:right}.team-badge{flex:none;width:46px;height:46px;background:var(--yellow);color:#12191b;display:grid;place-items:center;font-weight:1000;font-size:23px;transform:skew(-8deg)}.team-badge.away-badge{background:#deedf0}.team-details{min-width:0}.team-name{display:block;font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shots{display:flex;gap:5px;margin-top:8px;min-height:13px}.away .shots{justify-content:flex-end}.shot-dot{width:12px;height:12px;border:1.5px solid #73848a;border-radius:50%}.shot-dot.goal{background:var(--yellow);border-color:var(--yellow)}.shot-dot.fail{background:#465256;border-color:#465256}.shot-dot.current{border-color:var(--yellow);box-shadow:0 0 7px var(--yellow)}.score{display:flex;align-items:center;justify-content:center;gap:10px;font-size:55px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.score-divider{color:var(--yellow);font-size:32px}.arena{position:relative;height:clamp(360px,54vw,590px);overflow:hidden;background:#1c2a2e}.arena canvas{width:100%;height:100%;display:block}.arena-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 10px 50px #07101455,inset 0 -25px 70px #12212680}.arena-label{position:absolute;left:19px;bottom:15px;padding:7px 11px;background:#0c1719b8;border-left:3px solid var(--yellow);font-size:11px;font-weight:900;color:#e9f1f0}.result-flash{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) scale(.75);opacity:0;pointer-events:none;color:var(--yellow);font-size:clamp(36px,6vw,84px);font-weight:1000;text-shadow:0 4px 0 #101719,0 8px 24px #000;white-space:nowrap;transition:opacity .24s,transform .24s}.result-flash.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.result-flash.fail{color:#fff}.center-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(#07121794,#071217df);padding:24px;text-align:center}.center-overlay[hidden]{display:none}.opening{max-width:520px}.eyebrow{color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:1px}.opening h1{font-size:clamp(64px,12vw,130px);line-height:.9;margin:16px 0;color:#fff;font-weight:1000;text-shadow:7px 7px 0 #161f21}.opening p{font-size:17px;line-height:1.5;margin:20px auto 26px;max-width:440px;color:#d1e0e3}.mode-buttons{display:flex;justify-content:center;gap:10px}.mode-buttons button,.next-button{min-height:48px;padding:11px 16px;font-size:14px;font-weight:900;border:1px solid var(--yellow);cursor:pointer}.mode-buttons button span,.next-button span{margin-left:10px}.primary,.next-button{background:var(--yellow);color:var(--ink)}.secondary{background:#152227;color:var(--yellow)}.mode-buttons button:hover,.next-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.control-area{min-height:160px;padding:18px 28px 21px;background:#1c262a}.control-heading{display:flex;justify-content:space-between;color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.6px}.control-heading span:last-child{color:#bbc8cb}.prompt{margin:12px 0 15px;font-size:20px;font-weight:800}.directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.directions[hidden],.next-button[hidden]{display:none}.directions button{display:flex;align-items:center;justify-content:center;gap:11px;min-height:55px;border:1px solid #526166;background:#26343a;color:#f6f9f7;font-weight:800;font-size:15px;cursor:pointer}.directions button:hover,.directions button:focus-visible{background:#35464b;border-color:var(--yellow);outline:none}.mini-net{position:relative;width:28px;height:20px;border:2px solid #b2c9cf;border-bottom-width:3px;display:block;flex:none}.mini-net i{position:absolute;width:7px;height:7px;background:var(--yellow);border-radius:50%}.directions button:nth-child(1) i{top:2px;left:2px}.directions button:nth-child(2) i{top:2px;right:2px}.directions button:nth-child(3) i{bottom:2px;left:2px}.directions button:nth-child(4) i{bottom:2px;right:2px}.next-button{width:100%}.sidepanel{background:#172125;border:1px solid #3a474c;display:flex;flex-direction:column;padding:25px 22px 18px;min-height:0}.panel-section{padding-bottom:22px;border-bottom:1px solid #425056}.panel-section h2{font-size:29px;margin:10px 0 12px;line-height:1.08}.panel-section p{font-size:14px;line-height:1.6;color:#b5c3c6;margin:0}.panel-rule{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #354248}.panel-rule span{font-size:20px;font-weight:900;color:var(--yellow)}.panel-rule p{font-size:13px;line-height:1.5;margin:2px 0 0;color:#d2dadd}.panel-footer{margin-top:auto;padding-top:21px;display:flex;align-items:center;gap:9px;color:#d9e1e2;font-size:13px;font-weight:800}.mark{background:var(--yellow);color:#111;font-weight:1000;padding:5px 8px;transform:skew(-8deg)}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidepanel{display:none}.app{padding:0 14px 20px}.arena{height:clamp(380px,58vw,570px)}}@media(max-width:560px){.topbar{height:62px}.brand{font-size:11px}.brand img{width:34px;height:34px}.game-name{font-size:13px}.game-tag{font-size:9px}.layout{margin-top:10px}.scorebar{height:76px;grid-template-columns:1fr 90px 1fr;padding:0 10px}.team-badge{width:30px;height:30px;font-size:16px}.side{gap:5px}.team-name{font-size:10px}.score{font-size:40px;gap:4px}.score-divider{font-size:22px}.shot-dot{width:8px;height:8px}.shots{gap:3px;margin-top:5px}.arena{height:min(57vh,520px);min-height:335px}.opening h1{font-size:64px}.opening p{font-size:14px}.mode-buttons{flex-direction:column}.control-area{padding:14px;min-height:166px}.prompt{font-size:17px}.directions{gap:5px}.directions button{flex-direction:column;gap:4px;font-size:11px;padding:6px 2px}.mini-net{width:25px;height:16px}.arena-label{font-size:9px;left:10px;bottom:10px}}
.panel-section p+p{margin-top:14px}
@media(max-width:900px){.sidepanel{display:block}}
.top-actions{display:flex;align-items:center;gap:10px}.player-name{font-size:13px;font-weight:900;color:#ffd000}.text-button{border:1px solid #526166;background:#223137;color:#fff;padding:9px 11px;font-weight:800;cursor:pointer}.top-actions [hidden],.sidepanel [hidden]{display:none}.stats-panel,.leaderboard-panel{padding-top:19px}.sidepanel h3{margin:8px 0 13px;font-size:19px}.sidepanel h4{margin:17px 0 8px;font-size:13px;color:#b9ced1}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.stats-grid div{background:#243237;padding:8px 4px;text-align:center}.stats-grid strong{display:block;color:#ffd000;font-size:22px}.stats-grid span{font-size:11px}.account-links{display:flex;gap:10px;margin-top:12px}.account-links button{background:none;border:0;color:#bed4d9;text-decoration:underline;cursor:pointer;padding:0;font-size:12px}.ranking-tabs{display:flex;gap:4px}.ranking-tabs button,.auth-tabs button{background:#25363d;border:1px solid #51646d;color:#d6e5e7;font-weight:800;cursor:pointer;padding:8px}.ranking-tabs button{font-size:11px;flex:1}.ranking-tabs .selected,.auth-tabs .selected{background:#ffd000;border-color:#ffd000;color:#142026}.ranking-list{padding-left:24px;margin:13px 0 0}.ranking-list li{padding:6px 0;border-bottom:1px solid #354248;color:#d8e4e5;font-size:13px}.ranking-list li::marker{color:#ffd000;font-weight:900}.ranking-list li:not(:only-child){display:list-item}.ranking-list li span{display:inline-block;max-width:130px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.ranking-list li strong{float:right;color:#ffd000}.recent-row{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid #354248;font-size:12px}.recent-row strong{color:#ffd000}.auth-gate{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:24px;background:#071216ed}.auth-gate[hidden],.auth-form[hidden]{display:none}.auth-card{width:min(100%,590px);background:#1c292d;border:1px solid #567079;box-shadow:0 20px 80px #000a;padding:25px 30px;color:#f2f7f6}.auth-card h2{font-size:33px;margin:9px 0 7px}.auth-card>p{color:#c3d4d6;line-height:1.45;margin:0 0 15px}.auth-tabs{display:flex;gap:6px;margin:14px 0}.auth-tabs button{flex:1;font-size:13px}.auth-form{display:grid;gap:10px}.auth-form label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#d9e5e6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-form input:not([type=checkbox]),.auth-form select,.delete-dialog input{width:100%;min-height:40px;background:#0e1b20;border:1px solid #60747c;color:#fff;padding:8px 10px;font:inherit;border-radius:0}.auth-form input:focus,.auth-form select:focus,.delete-dialog input:focus{outline:2px solid #ffd000;outline-offset:1px}.consent{display:flex!important;grid-template-columns:18px 1fr;align-items:start;gap:10px!important;line-height:1.4;font-weight:normal!important}.consent input{margin:2px 0 0}.consent a,.help-text a{color:#ffd000}.auth-submit{min-height:44px;border:0;font-weight:900;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-error{color:#ffb9af!important;background:#562723;padding:10px;margin:8px 0 0!important;font-size:13px}.help-text{font-size:12px!important;margin:0!important}.delete-dialog{max-width:440px;background:#1c292d;color:#fff;border:1px solid #60747c;padding:24px}.delete-dialog::backdrop{background:#071216df}.delete-dialog h2{margin-top:0}.delete-dialog p{line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.dialog-actions button{border:1px solid #ffd000;padding:10px 12px;font-weight:800;cursor:pointer}@media(max-width:700px){.game-name{display:none}.player-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-gate{padding:8px}.auth-card{padding:19px}.form-row{gap:7px}.sidepanel{padding:20px}}
:root{--miss:#dc7467}
.series-progress{margin-top:11px;color:#d9e5e7;font-size:13px;font-weight:800;letter-spacing:.15px}
.shot-dot.fail.miss{background:var(--miss);border-color:var(--miss)}
.sound-button{font-size:19px;line-height:1}
.menu-opening .eyebrow{display:block;font-size:16px;letter-spacing:.7px;text-shadow:0 2px 8px #000}
.role-switch{width:min(100%,620px);max-width:620px}
.role-switch h1{font-size:clamp(42px,5vw,66px);line-height:.98;letter-spacing:-1px;margin:14px 0}
.role-switch p{max-width:560px;font-size:16px;line-height:1.38;margin:15px auto 20px}
.role-switch .mode-buttons button{min-height:62px;max-width:430px;width:100%;font-size:18px}
@media(max-width:560px){.series-progress{font-size:11px}}
@media(max-width:560px){.center-overlay{padding:12px}.role-switch h1{font-size:clamp(36px,10vw,48px);margin:10px 0}.role-switch p{font-size:13px;line-height:1.3;margin:10px auto 13px}.role-switch .mode-buttons button{min-height:50px;font-size:14px}}
@media(max-width:560px){.menu-opening .eyebrow{font-size:13px}}
.telegram-entry{display:flex;justify-content:center;min-height:52px;margin:14px 0}.telegram-entry iframe{max-width:100%}.auth-card #closeAuthGate{margin-top:14px}.auth-card .auth-form{margin-top:14px}
.telegram-entry[hidden],#telegramSetup[hidden]{display:none}
/* Compact controls remain below the rink, with the score visible above them. */
.right-column{min-width:0;display:flex;flex-direction:column;gap:18px}
.arena{height:clamp(400px,calc(100dvh - 350px),590px)}
.game-shell .control-area{min-height:0;padding:9px 16px 11px;text-align:center}
.game-shell .control-heading{line-height:1.1;font-size:10px}
.game-shell .series-progress{margin-top:3px;font-size:11px;line-height:1.2}
.game-shell .prompt{margin:4px 0 6px;font-size:18px;line-height:1.2;text-align:center}
.game-shell .directions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.game-shell .directions button{min-height:46px;gap:8px;padding:4px 6px;font-size:14px}
.game-shell .next-button{min-height:46px}
@media(max-width:900px){.arena{height:clamp(320px,calc(100dvh - 350px),570px)}}
@media(max-width:700px){.game-shell .directions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.game-shell .directions button{min-height:42px;gap:5px;font-size:12px}}
@media(max-width:560px){.game-shell .control-area{padding:7px 10px 9px}.game-shell .control-heading{font-size:9px}.game-shell .series-progress{font-size:10px}.game-shell .prompt{font-size:16px;margin:3px 0 5px}.game-shell .directions button{flex-direction:row;min-height:42px;font-size:11px}.game-shell .mini-net{width:23px;height:16px}}
.guest-note{padding:15px 14px;background:#263034;border:1px solid #ffd000;border-left:4px solid #ffd000;color:#f3f8f7}
.guest-note[hidden]{display:none}
.guest-note strong{display:block;color:#ffd000;font-size:16px;line-height:1.2}
.guest-note p{margin:9px 0 13px;font-size:13px;line-height:1.4;color:#dce8e9}
.guest-note button{width:100%;min-height:42px;padding:8px 6px;background:#ffd000;border:1px solid #ffd000;color:#11191d;font-size:12px;font-weight:900;cursor:pointer}
.guest-note button:hover,.guest-note button:focus-visible{background:#ffe366;outline:2px solid #fff;outline-offset:2px}
.menu-opening .menu-guest-hint{max-width:440px;margin:17px auto 0;color:#e4eff0;font-size:13px;line-height:1.4}
.menu-guest-hint button{display:inline;padding:0;background:none;border:0;color:#ffd000;font:inherit;font-weight:900;text-decoration:underline;cursor:pointer}
.menu-guest-hint button:hover,.menu-guest-hint button:focus-visible{color:#ffe680;outline:2px solid #ffd000;outline-offset:3px}
.has-profile .menu-guest-hint{display:none}
@media(max-width:560px){.menu-opening .menu-guest-hint{margin-top:11px;font-size:12px}}
