*{box-sizing:border-box}:root{--navy: #0e1b2c;--ink: #10243b;--gold: #ffc928;--gold-dark: #b98a00;--blue: #1e6fd9;--red: #e23d4f;--green: #18a35a}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(120% 90% at 50% 40%,#1b3350 0%,var(--navy) 70%);color:#fff;font-family:ui-rounded,SF Pro Rounded,Nunito,Segoe UI,system-ui,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}#app{height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#top{flex:0 0 auto;display:flex;align-items:stretch;gap:10px;padding:10px 12px 6px}#coach{flex:1 1 auto;min-width:0;min-height:clamp(74px,13vh,112px);display:flex;flex-direction:column;justify-content:center;padding:8px 16px 10px;border-radius:18px;background:#fff;color:var(--ink);border-left:12px solid var(--blue);box-shadow:0 6px #00000040}#coach[data-kind=turn]{border-left-color:var(--gold)}#coach[data-kind=good]{border-left-color:var(--green);background:#eafff3}#coach[data-kind=close]{border-left-color:var(--gold);background:#fffbe8}#coach[data-kind=miss]{border-left-color:var(--red);background:#fff1f1}#coach.pop{animation:pop .32s cubic-bezier(.3,1.6,.5,1)}@keyframes pop{0%{transform:scale(.96) translateY(-6px);opacity:.4}to{transform:none;opacity:1}}#meta{font-size:clamp(11px,1.5vw,14px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#msg{font-size:clamp(19px,3.1vw,32px);font-weight:800;line-height:1.15}#chip{display:inline-block;vertical-align:.12em;margin-right:10px;padding:3px 12px;border-radius:999px;background:var(--blue);color:#fff;font-size:.62em;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}#chip:empty{display:none}#coach[data-kind=turn] #chip,#coach[data-kind=close] #chip{background:var(--gold);color:var(--ink)}#coach[data-kind=good] #chip{background:var(--green)}#coach[data-kind=miss] #chip{background:var(--red)}#why{font-size:clamp(14px,2.1vw,21px);font-weight:600;opacity:.8;margin-top:2px}#why:empty{display:none}#score{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 16px;border-radius:18px;background:#ffffff1a;font-size:clamp(17px,2.6vw,26px);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}#score:empty{display:none}#stage{flex:1 1 auto;position:relative;min-height:0}#rink{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;display:block}#buttons{position:absolute;right:14px;bottom:14px;display:flex;gap:12px;align-items:flex-end}button{font:inherit;font-weight:800;border:0;border-radius:18px;cursor:pointer;color:var(--ink);background:var(--gold);box-shadow:0 6px 0 var(--gold-dark),0 10px 18px #0000004d;touch-action:manipulation}button:active{transform:translateY(4px);box-shadow:0 2px 0 var(--gold-dark)}button.secondary{background:#e3ebf2;box-shadow:0 6px #8c9aa7,0 10px 18px #0000004d}button.secondary:active{box-shadow:0 2px #8c9aa7}#action,#second{min-height:64px;padding:12px 26px;font-size:clamp(20px,3vw,28px)}#action{min-width:170px}#action.nudge{animation:nudge 1.1s ease-in-out infinite}@keyframes nudge{0%,to{transform:none}50%{transform:scale(1.06)}}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;align-items:center;gap:14px;padding:20px;text-align:center;background:#0e1b2ced;overflow-y:auto;justify-content:flex-start}#overlay:before,#overlay:after{content:"";flex:1 0 0px}#overlay.show{display:flex}#overlay h1{margin:0;font-size:clamp(30px,6vw,56px)}#overlay p{margin:0;font-size:clamp(16px,2.6vw,22px);opacity:.92;max-width:34em}#overlay .big{font-size:clamp(34px,7vw,60px);font-weight:800;opacity:1}#overlay .row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}#overlay .row button{min-width:104px;min-height:76px;padding:10px 18px;font-size:clamp(20px,3.4vw,28px)}#overlay .row button small{display:block;font-weight:700;font-size:.52em;opacity:.75}#overlay .legend{display:flex;gap:22px;font-size:clamp(16px,2.4vw,22px);font-weight:700}#overlay .dot{display:inline-block;width:1em;height:1em;border-radius:50%;vertical-align:-.12em;margin-right:6px;border:2px solid #fff}#overlay .dot.us{background:var(--blue)}#overlay .dot.them{background:var(--red);border-color:#5a0f1a}#overlay .dot.you{background:var(--blue);border:4px solid var(--gold)}#overlay .note{font-size:13px;opacity:.6}#overlay p.small{font-size:clamp(13px,1.9vw,17px);opacity:.7}#overlay .stats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}#overlay .stat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;padding:8px 18px;border-radius:16px;background:#ffffff1a}#overlay .stat b{font-size:clamp(20px,3.2vw,30px)}#overlay .stat small{font-size:clamp(12px,1.6vw,15px);opacity:.75;font-weight:600}#overlay .stat.rank{min-width:220px}#overlay .bar{width:100%;height:10px;margin:4px 0;border-radius:999px;background:#ffffff2e;overflow:hidden}#overlay .fill{height:100%;border-radius:999px;background:var(--gold)}#overlay .levels{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:980px}#overlay .level{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;width:clamp(130px,17vw,172px);min-height:128px;padding:10px 8px;background:#fff;box-shadow:0 6px #9fb3c6,0 10px 18px #0000004d}#overlay .level:active{box-shadow:0 2px #9fb3c6}#overlay .level .num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;font-size:22px}#overlay .level .name{font-size:clamp(14px,1.9vw,18px);line-height:1.15}#overlay .level.locked{background:#5d6f82;color:#cfd8e0;box-shadow:0 6px #3b4a5a;cursor:default}#overlay .level.locked .num{background:transparent}#overlay .stars{font-size:24px;letter-spacing:2px}#overlay .stars .on{color:#f5b400;-webkit-text-stroke:1px #a67c00}#overlay .stars .off{color:#c9d3dc}#overlay .level.locked .stars .off{color:#7b8a99}#overlay .stars.huge{font-size:clamp(56px,11vw,96px);letter-spacing:8px;line-height:1}#overlay .stars.huge .off{color:#ffffff40}#overlay .row button.pos{min-width:92px;min-height:60px;font-size:clamp(17px,2.6vw,22px)}#overlay .row button.pos.sel{outline:4px solid #fff}#overlay .news{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}#overlay .news:empty{display:none}#overlay .news span{padding:6px 16px;border-radius:999px;background:#ffc9282e;border:2px solid var(--gold);font-weight:800;font-size:clamp(15px,2.3vw,21px)}#stage.offense #buttons{right:auto;left:14px;flex-direction:row-reverse}#overlay .row.packs button.pos{min-width:180px}input{-webkit-user-select:text;user-select:text}#overlay .teamslot{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}#overlay button.wide{min-height:52px;padding:8px 22px;font-size:clamp(16px,2.4vw,21px)}#overlay button.hw{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;padding:8px 20px;text-align:left;font-size:clamp(16px,2.4vw,21px)}#overlay button.hw small{font-size:.7em;font-weight:600;opacity:.8}#overlay button.hw.done{background:#bfeed3;box-shadow:0 6px #6fae8a}#overlay .forms{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}#overlay .card{display:flex;flex-direction:column;gap:10px;width:min(340px,90vw);padding:16px;border-radius:18px;background:#fff;color:var(--ink);text-align:left}#overlay .card h2{margin:0;font-size:22px}#overlay .card p{font-size:14px}#overlay .card button{min-height:54px;font-size:20px}#overlay .field{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:14px}#overlay .field input{font:inherit;font-size:22px;font-weight:800;padding:8px 12px;border:3px solid #b9c7d4;border-radius:12px;color:var(--ink);width:100%}#overlay .field input:focus{outline:none;border-color:var(--blue)}#overlay .error{color:#ffb3bb;font-weight:800;min-height:1.2em}#overlay .error:empty{display:none}#overlay .code{padding:14px 28px;border-radius:18px;background:#fff;color:var(--ink);font-size:clamp(34px,7vw,60px);font-weight:900;letter-spacing:.08em;-webkit-user-select:text;user-select:text}#overlay .board{border-collapse:collapse;width:min(680px,96%);font-size:clamp(15px,2.2vw,20px)}#overlay .board th{font-size:.7em;text-transform:uppercase;letter-spacing:.05em;opacity:.65;padding:4px 8px}#overlay .board td{padding:8px;border-top:1px solid rgba(255,255,255,.14);font-weight:700}#overlay .board td:nth-child(2){text-align:left}#overlay .board tr.me td{background:#ffc92833}
