:root{--pitch: #0a1a12;--ink: #f2f5fa;--muted: #9aa8bd;--gold: #f5c84c;--gold-dim: #c89a2a;--panel: rgba(8, 14, 24, .9);--panel-edge: rgba(255, 255, 255, .12);--home: #4a9eff;--away: #ff6b5a;--good: #4ad17c;--bad: #ff5c5c;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--ui: clamp(11px, 1.7vh, 16px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#05080f;color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;font-size:var(--ui);overscroll-behavior:none;touch-action:none;user-select:none}#app{position:fixed;inset:0}#pitch{position:absolute;inset:0;width:100%;height:100%;display:block}#ui{position:absolute;inset:0;pointer-events:none}#ui>*{pointer-events:auto}#boot{position:absolute;inset:0;display:grid;place-content:center;gap:1.2em;justify-items:center;background:#05080f;z-index:50;transition:opacity .5s ease}#boot.hidden{opacity:0;pointer-events:none}.boot-mark{font-size:clamp(28px,7vh,64px);font-weight:900;letter-spacing:.22em;color:var(--gold);text-shadow:0 0 36px rgba(245,200,76,.35)}#boot-status{color:var(--muted);letter-spacing:.08em}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1em;padding:calc(1em + var(--safe-t)) calc(1.4em + var(--safe-r)) calc(1em + var(--safe-b)) calc(1.4em + var(--safe-l));background:radial-gradient(ellipse at 50% 40%,#050c1480,#03060ceb);overflow-y:auto;overscroll-behavior:contain}.eyebrow{font-size:.78em;letter-spacing:.4em;color:var(--gold-dim);text-transform:uppercase}.title{font-size:clamp(30px,10vh,86px);font-weight:900;letter-spacing:.12em;margin:0;color:var(--gold);text-shadow:0 6px 30px rgba(0,0,0,.7);line-height:.95}.subtitle{color:var(--muted);max-width:44ch;text-align:center;line-height:1.5}.row{display:flex;gap:.6em;flex-wrap:wrap;justify-content:center;align-items:center}.col{display:flex;flex-direction:column;gap:.5em}button{font:inherit;color:inherit;cursor:pointer;border-radius:.6em;border:1px solid var(--panel-edge);background:#ffffff12;padding:.7em 1.3em;letter-spacing:.12em;font-weight:700;text-transform:uppercase;transition:background .15s ease,transform .08s ease,border-color .15s ease}button:hover:not(:disabled){background:#ffffff24}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.4;cursor:default}button.primary{background:linear-gradient(180deg,var(--gold),var(--gold-dim));color:#19130a;border-color:transparent;box-shadow:0 6px 22px #f5c84c42}button.ghost{background:transparent}button.selected{border-color:var(--gold);background:#f5c84c29}.pill-group{display:inline-flex;border:1px solid var(--panel-edge);border-radius:.6em;overflow:hidden}.pill-group button{border:0;border-radius:0;padding:.5em 1em;background:transparent;font-size:.9em}.pill-group button.selected{background:var(--gold);color:#19130a}.field{display:flex;flex-direction:column;gap:.35em;align-items:center}.field label{font-size:.75em;letter-spacing:.3em;color:var(--muted);text-transform:uppercase}input[type=text]{font:inherit;font-weight:700;letter-spacing:.4em;text-align:center;text-transform:uppercase;background:#ffffff12;border:1px solid var(--panel-edge);border-radius:.6em;color:var(--ink);padding:.6em .8em;width:7em}input[type=text]:focus{outline:none;border-color:var(--gold)}.note{color:var(--muted);font-size:.85em;text-align:center;max-width:40ch}.note.bad{color:var(--bad)}.note.good{color:var(--good)}.picker{display:grid;grid-template-columns:1fr 1fr;gap:1em;width:min(100%,980px)}.picker h3{margin:0 0 .4em;font-size:.78em;letter-spacing:.34em;color:var(--muted);text-transform:uppercase;text-align:center}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.35em}.team-chip{display:flex;flex-direction:column;align-items:center;gap:.2em;padding:.45em .2em;border-radius:.5em;border:1px solid var(--panel-edge);background:#ffffff0d;cursor:pointer;font-size:.78em;font-weight:700;letter-spacing:.08em}.team-chip .swatch{width:100%;height:.5em;border-radius:.2em}.team-chip.selected{border-color:var(--gold);background:#f5c84c29}.captain-card{margin-top:.6em;padding:.7em .9em;border-radius:.6em;border:1px solid var(--panel-edge);background:var(--panel)}.captain-card .name{font-weight:800;letter-spacing:.08em}.captain-card .role{font-size:.72em;letter-spacing:.26em;color:var(--gold-dim);text-transform:uppercase}.captain-card .blurb{color:var(--muted);font-style:italic;font-size:.85em;margin:.35em 0 .5em}.stat{display:grid;grid-template-columns:5.5em 1fr;align-items:center;gap:.4em;font-size:.72em;letter-spacing:.14em;color:var(--muted);margin-bottom:.18em}.stat .bar{height:.42em;border-radius:.3em;background:#ffffff1a;overflow:hidden}.stat .bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold))}.hud{position:absolute;inset:0;pointer-events:none;padding:calc(.6em + var(--safe-t)) calc(.8em + var(--safe-r)) calc(.6em + var(--safe-b)) calc(.8em + var(--safe-l))}.scoreboard{position:absolute;top:calc(.5em + var(--safe-t));left:50%;transform:translate(-50%);display:flex;align-items:stretch;border-radius:.5em;overflow:hidden;background:#060b14d1;border:1px solid var(--panel-edge);font-weight:800;letter-spacing:.1em;backdrop-filter:blur(6px)}.scoreboard .side{display:flex;align-items:center;gap:.4em;padding:.35em .7em}.scoreboard .tag{width:.55em;height:1.3em;border-radius:.15em}.scoreboard .goals{font-size:1.35em;min-width:1.2em;text-align:center}.scoreboard .clock{display:grid;place-content:center;padding:.35em .75em;background:#00000059;font-variant-numeric:tabular-nums;letter-spacing:.12em}.scoreboard .half{font-size:.6em;color:var(--muted);letter-spacing:.24em;text-align:center}.bars{position:absolute;left:calc(.9em + var(--safe-l));bottom:calc(.9em + var(--safe-b));width:min(34vw,240px);display:flex;flex-direction:column;gap:.3em}.bar-row{display:grid;grid-template-columns:4.6em 1fr;align-items:center;gap:.45em;font-size:.68em;letter-spacing:.24em;color:var(--muted);text-transform:uppercase}.bar-row .track{height:.5em;border-radius:.3em;background:#00000080;border:1px solid var(--panel-edge);overflow:hidden}.bar-row .fill{height:100%;width:0%;transition:width .06s linear}.bar-row.charge .fill{background:linear-gradient(90deg,#ffb347,#ff5c4d)}.bar-row.stamina .fill{background:linear-gradient(90deg,#3fb7ff,#4ad17c)}.link-badge{position:absolute;top:calc(.6em + var(--safe-t));right:calc(.8em + var(--safe-r));display:flex;align-items:center;gap:.35em;font-size:.68em;letter-spacing:.22em;color:var(--muted);text-transform:uppercase;background:#060b14b3;border:1px solid var(--panel-edge);border-radius:.4em;padding:.3em .55em}.link-dot{width:.55em;height:.55em;border-radius:50%;background:var(--muted)}.link-dot.direct{background:var(--good)}.link-dot.relay{background:var(--gold)}.link-dot.offline{background:var(--bad)}.toast{position:absolute;top:24%;left:50%;transform:translate(-50%,-50%);font-size:clamp(22px,6vh,54px);font-weight:900;letter-spacing:.2em;color:var(--gold);text-shadow:0 6px 30px rgba(0,0,0,.8);opacity:0;transition:opacity .25s ease;text-align:center;pointer-events:none}.toast.show{opacity:1}.pause-btn{position:absolute;top:calc(.6em + var(--safe-t));left:calc(.8em + var(--safe-l));padding:.4em .7em;font-size:.8em}.touch{position:absolute;inset:0;pointer-events:none}.touch-stick-zone{position:absolute;left:0;bottom:0;width:48%;height:76%;pointer-events:auto;touch-action:none}.touch-left .touch-stick-zone{width:26%}.touch-right .touch-stick-zone{left:50%;width:26%}.touch-stick{position:fixed;width:112px;height:112px;margin-left:-56px;margin-top:-56px;border-radius:50%;border:2px solid rgba(255,255,255,.22);background:#ffffff0d;opacity:0;transition:opacity .12s ease,border-color .12s ease;pointer-events:none}.touch-stick.active{opacity:1}.touch-stick.sprint{border-color:var(--gold);box-shadow:0 0 22px #f5c84c59}.touch-knob{position:absolute;left:50%;top:50%;width:46%;height:46%;margin-left:-23%;margin-top:-23%;border-radius:50%;background:#ffffff80;box-shadow:0 2px 10px #0006}.touch-pad{position:absolute;right:calc(1.1em + var(--safe-r));bottom:calc(1.1em + var(--safe-b));display:grid;grid-template-areas:".     lob   ." "pass  .     shoot" ".     trick .";gap:.4em;pointer-events:auto}.touch-left .touch-pad{right:auto;left:28%}.touch-btn{width:clamp(48px,9.5vh,76px);height:clamp(48px,9.5vh,76px);border-radius:50%;font-size:clamp(8px,1.4vh,11px);letter-spacing:.08em;padding:0;background:#ffffff1a;border:2px solid rgba(255,255,255,.22);backdrop-filter:blur(3px);touch-action:none}.touch-btn.down{background:#ffffff4d;transform:scale(.94)}.btn-shoot{grid-area:shoot;border-color:#ff6e5ab3;background:conic-gradient(rgba(255,110,90,.75) var(--charge, 0%),rgba(255,255,255,.1) 0)}.btn-pass{grid-area:pass;border-color:#5abeff99}.btn-lob{grid-area:lob;border-color:#f5c84c99}.btn-trick{grid-area:trick;border-color:#96ffaa80}.lobby-list{display:flex;flex-direction:column;gap:.35em;width:min(100%,420px)}.seat{display:flex;align-items:center;justify-content:space-between;gap:.6em;padding:.5em .8em;border-radius:.5em;border:1px solid var(--panel-edge);background:var(--panel)}.seat .who{font-weight:700;letter-spacing:.06em}.seat .team-tag{font-size:.7em;letter-spacing:.2em;padding:.22em .55em;border-radius:.3em;text-transform:uppercase}.code-display{font-size:clamp(34px,11vh,76px);font-weight:900;letter-spacing:.3em;color:var(--gold);text-shadow:0 0 40px rgba(245,200,76,.3);padding-left:.3em}.rotate-hint{position:absolute;inset:0;display:none;place-content:center;text-align:center;gap:1em;background:#05080f;z-index:80;padding:2em;color:var(--muted);letter-spacing:.16em}@media (orientation: portrait) and (max-width: 900px){.rotate-hint{display:grid}}.result-score{font-size:clamp(40px,13vh,96px);font-weight:900;letter-spacing:.1em;font-variant-numeric:tabular-nums}.tiny{font-size:.72em;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}.controls-help{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5em;width:min(100%,720px)}.controls-help div{padding:.55em .75em;border-radius:.5em;border:1px solid var(--panel-edge);background:var(--panel);font-size:.85em}.controls-help b{color:var(--gold);letter-spacing:.1em}.bracket{display:flex;gap:.5em;width:100%;max-width:800px;justify-content:center;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:.4em;scrollbar-width:thin}.bracket-round{display:flex;flex-direction:column;gap:.22em;min-width:7.4em;max-width:11em;flex:1 1 7.4em;justify-content:space-around}.bracket-title{font-size:.62em;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:center;padding-bottom:.2em}.bracket-round.current .bracket-title{color:var(--gold)}.tie{border:1px solid var(--panel-edge);border-radius:.4em;background:var(--panel);padding:.16em .3em;display:flex;flex-direction:column;justify-content:center;gap:.05em;min-height:2.3em}.tie.empty{opacity:.25}.tie.empty .side{display:block;text-align:center}.tie.yours{border-color:var(--gold);box-shadow:0 0 14px #f5c84c2e}.tie .side{display:grid;grid-template-columns:.6em 1fr auto;align-items:center;gap:.3em;font-size:.68em;font-weight:700;letter-spacing:.06em;color:var(--muted)}.tie .side .dot{width:.55em;height:.55em;border-radius:.12em}.tie .side .goals{font-variant-numeric:tabular-nums;min-width:.8em;text-align:right}.tie .side.is-you .code{color:var(--gold)}.tie .side.through{color:var(--ink)}.tie .side.out{opacity:.45;text-decoration:line-through;text-decoration-thickness:1px}.tie-note{font-size:.6em;letter-spacing:.1em;color:var(--muted);text-align:right}.screen:has(.bracket){gap:.5em}.screen:has(.bracket) .title{font-size:clamp(18px,4.6vh,34px)}.bracket{flex:0 1 auto;min-height:0;overflow-y:auto}#app:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 85% 75% at 50% 48%,#0000 45%,#0000001f 75%,#00000061)}#ui,#boot{z-index:2}.key-hint{position:absolute;left:50%;bottom:calc(1.1em + var(--safe-b));transform:translate(-50%);padding:.45em .9em;border-radius:.5em;background:#060b14d1;border:1px solid var(--panel-edge);color:var(--muted);font-size:.74em;letter-spacing:.1em;white-space:nowrap;transition:opacity .6s ease;pointer-events:none}.key-hint b{color:var(--gold)}.diag{position:absolute;top:calc(2.6em + var(--safe-t));left:50%;transform:translate(-50%);min-width:min(92vw,310px);padding:.6em .8em;border-radius:.5em;background:#040810f0;border:1px solid var(--panel-edge);font-size:.72em;letter-spacing:.04em;z-index:10;pointer-events:none}.diag-title{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.4em;font-size:.9em}.diag-row{display:flex;justify-content:space-between;gap:.6em;padding:.1em 0;color:var(--muted)}.diag-row b{color:var(--ink);font-weight:700}.diag-row b.good{color:var(--good)}.diag-row b.warn{color:var(--gold)}.diag-row b.bad{color:var(--bad)}.diag-note{color:var(--muted);opacity:.7}
