body.broadcast{height:100vh;display:flex;flex-direction:column;overflow:hidden}body.broadcast.embed .topbar,body.broadcast.embed .matchbar{display:none!important}.stage{position:relative;flex:1;min-height:0;background:#05070a}.stage canvas{display:block;width:100%;height:100%}.stage{touch-action:manipulation}.fsbtn{position:absolute;top:10px;right:10px;z-index:4;width:42px;height:42px;padding:0;display:grid;place-items:center;background:#080c12b8;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:8px}.zoompad{position:absolute;top:60px;right:10px;z-index:4;display:flex;flex-direction:column;gap:6px}.zoompad[hidden]{display:none}.zoompad button{width:42px;height:42px;padding:0;font:600 22px/1 system-ui,sans-serif;background:#080c12b8;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:8px}.zoompad button:hover{background:#080c12eb;border-color:#fff6}body.game .zoompad{display:none!important}.fsbtn:hover{background:#080c12eb;border-color:#fff6}.stage:fullscreen{width:100%;height:100%}.stage:-webkit-full-screen{width:100%;height:100%}body.pseudo-fs{overflow:hidden}body.pseudo-fs .stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;width:100vw;height:100vh;height:100dvh}.placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:15px}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font-family:system-ui,sans-serif}.scorebug{position:absolute;top:14px;left:16px;display:flex;align-items:stretch;background:#080c12db;border-radius:6px;overflow:hidden;box-shadow:0 2px 10px #0006}.scorebug span{padding:6px 10px;font-weight:700;letter-spacing:.04em}.scorebug .team{border-left:4px solid transparent;border-right:4px solid transparent}.scorebug .score{background:#f1f3f6;color:#0b0f14;font-variant-numeric:tabular-nums}.scorebug .clock{background:#1d2530;color:#7ee0a0;font-variant-numeric:tabular-nums}.ffbadge{position:absolute;top:14px;right:62px;background:#080c12cc;color:#ffd166;font-weight:700;padding:5px 10px;border-radius:6px}.replaybadge{position:absolute;top:56px;left:16px;background:#d7263d;color:#fff;font-weight:800;letter-spacing:.12em;padding:4px 10px;border-radius:4px}.toasts{position:absolute;top:60px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center}.toast{background:#080c12e0;color:#fff;padding:7px 14px;border-radius:6px;transition:opacity .5s}.toast.big{font-size:20px;font-weight:800;background:#d7263deb;padding:10px 22px}.toast.out{opacity:0}.ticker{position:absolute;left:16px;right:16px;bottom:14px;display:flex;flex-direction:column-reverse;gap:3px}.ticker .line{background:#080c12b8;color:#dfe6ee;padding:4px 10px;border-radius:4px;font-size:13px;max-width:760px;opacity:.75}.ticker .line.latest{opacity:1}.ticker .line b{color:#7ee0a0;margin-right:6px}.ticker .line.imp3{background:#d7263dd9;color:#fff}.hud.fast .ticker .line{font-size:15px;opacity:1}.card{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);background:#080c12eb;color:#fff;padding:22px 34px;border-radius:10px;text-align:center}.card h2{margin:0 0 6px;letter-spacing:.06em}.perfhud{position:absolute;bottom:70px;right:16px;background:#000000b3;color:#9fe;font:12px monospace;padding:4px 8px;border-radius:4px}.shouts{display:inline-flex;gap:4px}.editor-panel{position:fixed;top:96px;right:12px;bottom:12px;width:460px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;z-index:5}.editor-panel h3{margin:10px 0 6px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.editor-panel .board{position:relative;width:100%;aspect-ratio:105 / 68;background:#2f6b31;border-radius:6px;margin-bottom:8px}.editor-panel .slot{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:#e8eef6;color:#0b0f14;font-size:10px;display:grid;place-items:center;cursor:pointer;border:2px solid transparent}.editor-panel .slot.sel{border-color:#ffd166}.editor-panel .ghost{position:absolute;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:#ffd166cc}.editor-panel .row{display:flex;gap:8px;align-items:center;margin:4px 0;flex-wrap:wrap}.editor-panel .desc{color:var(--muted);font-size:12px;margin:2px 0 6px}.editor-panel .msg.err{color:#ff8080}.editor-panel .msg.warn{color:var(--warn)}.scorebug .reds{display:inline-flex;gap:2px;align-items:center}.scorebug .redcard{display:inline-block;width:7px;height:10px;background:#e0312a;border-radius:1px}@media (max-width: 820px),(max-height: 500px){body.broadcast{height:auto;min-height:100vh;overflow:visible}.stage{flex:none;height:100vh;height:100svh}.editor-panel{top:8px;right:8px;bottom:8px;left:8px;width:auto}.scorebug{top:10px;left:10px;font-size:12px}.ticker{left:10px;right:10px;bottom:10px}.ticker .line{font-size:12px}}body.game .scorebug,body.game .ticker,body.game .toasts{display:none!important}body.game .stage{height:100vh;min-height:0}body.game .fsbtn{display:none!important}canvas.pitch2d{display:block;touch-action:manipulation}.connlost{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:40;background:#782020e6;color:#fff;border-radius:6px;padding:5px 12px;font:600 12px system-ui,sans-serif;pointer-events:none}.hud.board .ticker{top:14px;bottom:auto;left:50%;right:auto;transform:translate(-50%);width:min(560px,46%);flex-direction:column;align-items:center}.hud.board .ticker .line{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud.board .ticker .line:not(.latest){display:none}.hud.board .toasts{top:54px}.hud.embedded .ticker{display:none}.scorebug .team{border-left-width:7px;border-right-width:7px}@media (max-width: 820px),(max-height: 500px){.hud.board .ticker{top:48px;left:10px;transform:none;width:calc(100% - 20px);align-items:flex-start}.hud.board .toasts{top:84px}}.boardbar{position:absolute;left:10px;bottom:10px;z-index:30;display:flex;flex-wrap:wrap;gap:2px;max-width:calc(100% - 20px);background:#080c12b8;border-radius:8px;padding:3px;font:600 12px system-ui,sans-serif}.boardbar button{background:transparent;color:#cfd8e3;border:0;border-radius:5px;padding:5px 9px;font:inherit;cursor:pointer;min-height:28px}.boardbar button:hover{background:#ffffff14}.boardbar button.active{background:#2c3a4d;color:#fff}.boardbar .sep{width:1px;background:#ffffff24;margin:4px 3px}.boardlegend{position:absolute;left:10px;bottom:50px;z-index:30;display:flex;flex-wrap:wrap;gap:4px 12px;max-width:calc(100% - 20px);background:#080c12b8;color:#dfe6ee;border-radius:8px;padding:6px 10px;font:12px system-ui,sans-serif;pointer-events:none}.boardlegend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}body.game .boardbar{bottom:8px;left:8px}.boardbar .toggle{display:none}@media (max-width: 820px){.boardbar button{padding:4px 7px;font-size:11px}}@media (max-width: 560px){.boardbar .toggle{display:inline-block}.boardbar:not(.open)>:not(.toggle){display:none}.boardbar.open{flex-direction:column;align-items:stretch}.boardbar.open .toggle{order:99}.boardbar.open .sep{width:auto;height:1px;margin:3px 4px}.boardbar.open button{text-align:left}.boardlegend{bottom:44px;font-size:11px;padding:4px 8px}}body.embed-boot .topbar,body.embed-boot .matchbar{display:none!important}.debugbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 12px;background:#0f1520;border-bottom:1px solid var(--line);font:12px system-ui,sans-serif;color:#cfd8e3}.debugbar button{min-height:28px}.debugbar .state{font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:4px;background:#1d2530;color:#7ee0a0;min-width:64px;text-align:center}.debugbar .state.paused{background:#3a2a10;color:#ffd166}.debugbar .pos{font-variant-numeric:tabular-nums;min-width:190px;color:#e8eef6}.debugbar .timeline{position:relative;flex:1;min-width:180px;height:26px;display:flex;align-items:center}.debugbar .timeline input{width:100%;margin:0}.debugbar .timeline .range{position:absolute;top:3px;height:4px;background:#ffd166;border-radius:2px;pointer-events:none}.debugbar .hint{color:var(--muted)}.debugbar .mark.on{background:#3a2a10;color:#ffd166;border-color:#ffd166}.inspector{position:absolute;top:60px;right:12px;z-index:35;width:330px;max-height:calc(100% - 80px);overflow:auto;background:#080c12f0;color:#e8eef6;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:10px 12px;font:12px system-ui,sans-serif}.inspector h3{margin:0 0 6px;font-size:14px}.inspector .close{position:absolute;top:6px;right:8px;background:transparent;border:0;color:#cfd8e3;font-size:16px;cursor:pointer}.inspector dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0 0 8px}.inspector dt{color:var(--muted)}.inspector dd{margin:0;font-variant-numeric:tabular-nums}.inspector table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.inspector th,.inspector td{text-align:left;padding:3px 4px;border-bottom:1px solid rgba(255,255,255,.08)}.inspector tr.chosen td{color:#7ee0a0;font-weight:700}.helpcard{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:36;background:#080c12f2;color:#e8eef6;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:12px 16px;font:13px system-ui,sans-serif}.helpcard kbd{display:inline-block;min-width:22px;padding:1px 6px;margin-right:6px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:#1d2530;font:12px ui-monospace,monospace;text-align:center}.helpcard div{margin:3px 0}
