:root{--bg: #07080b;--ink: #e9e4d8;--dim: #77757080;--mute: #8a877f;--line: #2a2d36;--mono: Menlo, "SF Mono", Consolas, "DejaVu Sans Mono", monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);overflow:hidden}body{font:13px/1.4 var(--mono)}html{touch-action:manipulation}#stage{position:fixed;inset:0;touch-action:none;cursor:crosshair;outline:none}#stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#stage.impact canvas{filter:invert(1) grayscale(1) contrast(4)}.scope{position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease;background:radial-gradient(ellipse at center,transparent 40%,#000000a6 75%,#000000eb 100%)}.scope.on{opacity:1}@media (prefers-reduced-motion: reduce){.scope{transition:none}}.shots-switch{align-self:flex-start}.shots-list{overflow-y:auto;display:flex;flex-direction:column;gap:14px;min-height:0}.shot{margin:0}.shot img{display:block;width:100%;height:auto;border:1px solid var(--line)}.shot figcaption{margin-top:6px;color:var(--mute);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.shots-none{margin:8px 0;color:var(--mute)}.map-panel.keys-panel{width:min(480px,100%)}.keys-list{display:grid;grid-template-columns:1fr auto auto;gap:6px 12px;align-items:center}.keys-row{display:contents}.keys-key{min-width:9em;text-align:center}.keys-key.moved{color:#e9a23b}.keys-also,.keys-said{color:var(--mute)}.keys-also{white-space:nowrap;min-width:5ch}.keys-foot{display:flex;gap:12px;align-items:center}.hud{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;pointer-events:none}.hud-name{letter-spacing:.18em;text-transform:lowercase;color:var(--mute)}.hud-tools{display:flex;gap:8px}.hud-btn{pointer-events:auto;font:inherit;color:var(--mute);background:none;border:1px solid var(--line);padding:4px 10px;cursor:pointer}.hud-btn:hover,.hud-btn:focus-visible{color:var(--ink);border-color:var(--mute);outline:none}.caption{position:fixed;left:50%;bottom:16px;transform:translate(-50%);max-width:calc(100vw - 32px);padding:6px 12px;background:#07080bd9;border:1px solid var(--line);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s;pointer-events:none}.caption.on{opacity:1}.caption .key{color:var(--mute);margin-left:1ch}.note{position:fixed;top:48px;left:50%;transform:translate(-50%);padding:6px 12px;border:1px solid var(--line);background:var(--bg);color:var(--mute);opacity:0;transition:opacity .3s;pointer-events:none}.note.on{opacity:1}.fatal{position:fixed;inset:0;display:grid;place-items:center;white-space:pre;color:var(--mute)}.fatal a{color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.grid{position:fixed;inset:0;z-index:4;display:flex;flex-direction:column;background:var(--bg)}.grid[hidden]{display:none}.grid-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;color:var(--mute);border-bottom:1px solid var(--line)}.grid-body{flex:1;overflow-y:auto;overscroll-behavior:contain;margin:0 16px;padding-bottom:32px}.grid-label{margin:22px 0 10px;font:inherit;font-weight:400;color:var(--mute)}.grid-row{display:flex;gap:4px;margin-bottom:4px}.grid-tile{flex:none;padding:0;border:0;background:#12141a;cursor:zoom-in;overflow:hidden}.grid-tile img{display:block;width:100%;height:100%}.grid-tile:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.map{position:fixed;inset:0;z-index:12;display:grid;place-items:center;padding:16px;background:#050608d9}.map[hidden]{display:none}.map-panel{width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--bg);border:1px solid var(--line)}.map-head{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--mute)}.map-plan{position:relative;margin:0 auto}.map-credit{margin:0;font-size:11px;color:var(--mute);text-align:right}.map-credit a{color:inherit}.map-credit a:hover,.map-credit a:focus-visible{color:var(--ink)}.map-plan canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.map-room{position:absolute;transform:translate(-50%,-50%);font:inherit;font-size:12px;background:#07080be6;border:1px solid var(--line);padding:3px 8px;cursor:pointer;white-space:nowrap}.map-room:hover,.map-room:focus-visible{border-color:currentColor;outline:none}.map-room.here{border-color:currentColor}.map-list{display:none;flex-wrap:wrap;gap:6px}.map-room-item{font:inherit;font-size:12px;background:none;border:1px solid var(--line);padding:6px 10px;cursor:pointer}.map-room-item:hover,.map-room-item:focus-visible{border-color:currentColor;outline:none}.map-room-item.here:after{content:" · here";color:var(--mute)}@media (max-width: 600px){.map-room{display:none}.map-list{display:flex}}.map-you{position:absolute;transform:translate(-50%,-50%);color:#ffce6e;font-weight:700;text-shadow:0 0 6px rgb(255 206 110 / .8);pointer-events:none}.resolve,.flip{position:fixed;z-index:5;pointer-events:none}.flip{object-fit:fill;will-change:transform,opacity}.resolve-progress{position:fixed;z-index:5;color:var(--ink);background:var(--bg);padding:0 4px;pointer-events:none}.viewer{position:fixed;inset:0;z-index:10;background:#050608f2}.viewer-stage{position:absolute;inset:0 0 56px;overflow:hidden;touch-action:none;cursor:zoom-in}.viewer-img{position:absolute;transform-origin:0 0;user-select:none;-webkit-user-drag:none}.viewer-bar{position:absolute;left:0;right:0;bottom:0;min-height:56px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 16px;border-top:1px solid var(--line);background:var(--bg)}.viewer-title{color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-tools{display:flex;flex-wrap:wrap;gap:6px}.vbtn{font:inherit;color:var(--mute);background:none;border:1px solid var(--line);padding:4px 10px;cursor:pointer;text-decoration:none}.vbtn:hover,.vbtn:focus-visible{color:var(--ink);border-color:var(--mute);outline:none}.vbtn:disabled{opacity:.35;cursor:default}.vbtn[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.viewer-info{position:absolute;top:16px;right:16px;width:min(320px,calc(100vw - 32px));max-height:calc(100% - 104px);overflow:auto;padding:14px 16px;background:#07080bf0;border:1px solid var(--line)}.viewer-info h2{margin:0 0 10px;font:inherit;color:var(--ink)}.viewer-info dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}.viewer-info dt{color:var(--mute)}.viewer-info dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.viewer-error{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);color:var(--mute);text-align:center}.debug{position:fixed;left:16px;top:52px;margin:0;padding:6px 10px;z-index:20;color:var(--mute);background:#07080bd9;border:1px solid var(--line);font:11px/1.4 var(--mono);pointer-events:none}@media (prefers-reduced-motion: reduce){.caption,.note{transition:none}}@media (max-width: 600px){.viewer-tools .vbtn{padding:6px 10px}.caption{bottom:12px;font-size:11px;white-space:normal}}.map-peer{position:absolute;transform:translate(-50%,-50%);color:#96bee6;pointer-events:none}.hud-here{color:var(--mute);padding:4px 6px}.hud-here[hidden]{display:none}.emote-bar{position:fixed;top:48px;right:16px;display:flex;gap:6px;z-index:3}.emote-bar[hidden]{display:none}.emote-bar button{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:6px 10px;cursor:pointer}.caption .heart{pointer-events:auto;cursor:pointer;color:#eb6078;margin-left:1ch;background:none;border:0;font:inherit;padding:0}.name-form{position:fixed;top:48px;right:16px;z-index:3;display:flex;gap:8px;align-items:center;padding:8px 10px;background:var(--bg);border:1px solid var(--line);color:var(--mute)}.name-form[hidden]{display:none}.name-form input{font:inherit;color:var(--ink);background:#0d0f14;border:1px solid var(--line);padding:4px 6px;width:14ch}.name-msg{color:#eb786e}@media (max-width: 600px){.hud-btn .long{display:none}.hud{padding:12px 10px}.hud-tools{gap:4px}.hud-btn{white-space:nowrap;padding:4px 6px}.name-form input{font-size:16px}}.chat-form{position:fixed;left:50%;bottom:64px;transform:translate(-50%);z-index:3;display:flex;gap:8px;align-items:center;padding:6px 8px;background:var(--bg);border:1px solid var(--line)}.chat-form[hidden]{display:none}.chat-form input{font:inherit;color:var(--ink);background:#0d0f14;border:1px solid var(--line);padding:4px 6px;width:min(60ch,64vw)}.chat-msg{color:#eb786e}.chat-log{position:fixed;left:16px;bottom:16px;max-width:min(46ch,40vw);display:flex;flex-direction:column;gap:2px;color:var(--ink);font-size:12px;pointer-events:none;transition:opacity .4s}.chat-log:empty{display:none}.chat-log.idle{opacity:.35}.chat-log .chat-who{pointer-events:auto;font:inherit;background:none;border:0;padding:0;margin-right:1ch;color:var(--mute);cursor:pointer}@media (max-width: 600px){.chat-log{top:56px;bottom:auto;max-width:70vw}.chat-form input{font-size:16px}}@media (prefers-reduced-motion: reduce){.chat-log{transition:none}}.chat-form input:focus,.name-form input:focus,.admin-form input:focus{outline:none;border-color:var(--mute)}.admin-form{position:fixed;top:48px;left:50%;transform:translate(-50%);z-index:4;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;max-width:calc(100vw - 32px);background:var(--bg);border:1px solid var(--line);color:var(--mute)}.admin-form[hidden]{display:none}.admin-form input{font:inherit;color:var(--ink);background:#0d0f14;border:1px solid var(--line);padding:4px 6px;width:14ch}.admin-form b{color:var(--ink);font-weight:400}.admin-form button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.admin-msg{color:var(--ink)}@media (max-width: 600px){.admin-form input{font-size:16px}}.pad{position:fixed;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;padding:0 max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));pointer-events:none}.pad[hidden]{display:none}.pad button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;font:inherit;color:var(--ink);background:#07080b59;border:1px solid var(--line);min-width:64px;min-height:64px}.pad button.on{border-color:var(--ink)}.pad-run{display:flex;gap:12px}.pad-act{display:grid;grid-template-columns:auto auto;gap:10px;align-items:end;justify-items:end}.pad.no-fight .pad-act{grid-template-columns:auto}.pad .pad-jump{min-width:96px}.pad .pad-drop,.pad .pad-hit,.pad .pad-hook{min-width:56px;min-height:56px}.pad .pad-hook{grid-column:1 / -1}body.pad-on .chat-log{bottom:100px}body.pad-on .caption{left:max(16px,env(safe-area-inset-left));top:44px;bottom:auto;transform:none;max-width:calc(100vw - 240px)}body.pad-on .note{top:84px}body.side .hud{background:linear-gradient(#07080bcc,transparent)}.fight{position:fixed;top:48px;right:16px;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none;color:var(--ink);white-space:pre}.fight[hidden],.fight [hidden]{display:none}.fight-hp,.fight-board,.fight-streaks,.fight-feed{margin:0;padding:3px 8px;list-style:none;background:#07080bcc;border:1px solid var(--line)}.fight-board:empty,.fight-feed:empty{display:none}.fight-board li{color:var(--mute)}.fight-board li.me{color:var(--ink)}.fight-feed,.fight-streaks{color:var(--mute)}.fight-streaks.record{color:#e9a23b}@media (max-height: 500px){.fight{top:44px;font-size:11px;gap:3px}.fight-hp,.fight-board,.fight-streaks,.fight-feed{padding:2px 6px}}.fade{position:fixed;inset:0;z-index:60;background:#000;display:grid;place-items:center;color:#e9a23b;opacity:0;transition:opacity .3s ease;pointer-events:none}.fade.on{opacity:1;pointer-events:auto}.fade[hidden]{display:none}body.in-station .hud,body.in-station .hud-tools,body.in-station .chat-log,body.in-station .emote-bar,body.in-station .pad,body.in-station .fight:not(.station-fight),body.in-station .caption,body.in-station .name-form,body.in-station .admin-form,body.in-station .debug,body.in-station .viewer,body.in-station .grid,body.in-station .map,body.in-station .resolve-progress,body.in-station .resolve,body.in-station .flip{display:none!important}#stage canvas.station{z-index:1}.station-talk{position:fixed;right:16px;bottom:16px;z-index:2;display:flex;gap:6px}.station-talk .hud-btn{background:#07080bb3}@media (max-width: 600px){.station-talk{left:16px;right:16px;justify-content:flex-end;flex-wrap:wrap}}#stage.impact canvas.station{filter:none}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.ticket{position:fixed;inset:0;z-index:30;display:grid;place-items:start center;padding:max(16px,9vh) 16px 16px;background:#05060880}.ticket[hidden],.ticket-chip[hidden]{display:none}.ticket-box{font:16px/1.25 var(--mono);color:#e3ebf5;background:#0c1a33f2;padding:12px 14px;max-width:100%;border:6px solid #9aa3ad;border-image:linear-gradient(160deg,#dfe4ea,#7d8692 40%,#c7ced6 65%,#6c747f) 1;box-shadow:0 0 0 1px #23272e,0 12px 32px #000b}.ticket-line{white-space:pre;letter-spacing:0;font-variant-ligatures:none}.ticket-line:last-child{margin-top:6px;color:#9fb0c8}.ticket button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;white-space:pre;letter-spacing:0}.ticket-opt[aria-pressed=true]{color:#10131a;background:#ffd23f}.ticket button:hover,.ticket button:focus-visible{outline:none;background:#1f3766}.ticket-opt[aria-pressed=true]:hover,.ticket-opt[aria-pressed=true]:focus-visible{color:#10131a;background:#ffe070}.ticket-buy{color:#7dff9a!important}.ticket-topup{color:#8fd0ff!important}.ticket-close{color:#9fb0c8!important}.ticket-chip{position:fixed;top:12px;right:64px;z-index:30;padding:3px 8px;font:12px/1.4 var(--mono);color:#ffd23f;background:#0c1a33e0;border:1px solid #7d8692;pointer-events:none}.sound-toggle{position:fixed;top:12px;right:16px;z-index:30;padding:3px 8px;font:12px/1.4 var(--mono);color:#ffd23f;background:#0c1a33e0;border:1px solid #7d8692;cursor:pointer;letter-spacing:0;min-width:40px}.sound-toggle[aria-pressed=true]{color:#9fb0c8}.sound-toggle:hover,.sound-toggle:focus-visible{outline:none;background:#1f3766}@media (max-width: 360px){.ticket-box{font-size:13px;padding:10px}}body.side[data-arena=alps] .chat-log>*{background:#07080b33;border-radius:3px;padding:1px 6px;align-self:flex-start;text-shadow:0 0 3px #07080b}
