:root{--studio-0:#050a20;--studio-1:#0a1540;--studio-2:#101f5c;--panel:#081034e6;--panel-solid:#0b1748;--rule:#2b3c8f;--ink:#f6f2e9;--ink-2:#c3cdf2;--ink-3:#98a6dc;--ink-fallen:#5d6690;--light:#fff3d4;--gold:#ffc83d;--gold-deep:#e9a400;--seal:#f0532f;--seal-deep:#b8301a;--onair:#d42a1c;--band:#f6f2e9;--band-ink:#0a1540;--display:"Black Han Sans", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--ui:"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "Menlo", "Consolas", monospace;--gap:12px;--pad:16px;--rail-w:300px;--desk-w:320px;--radius:4px;--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;accent-color:var(--gold)}*,:before,:after{box-sizing:border-box}html,body{background:var(--studio-0);height:100%;color:var(--ink);font:15px/1.5 var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body{caret-color:var(--gold);overflow:hidden}::selection{background:var(--gold);color:var(--studio-0)}*{scrollbar-width:thin;scrollbar-color:var(--rule) transparent}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}kbd{font:600 11px/1 var(--mono);opacity:.75;border:1px solid;border-radius:2px;padding:3px 5px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#stage{background:var(--studio-0);width:100%;height:100%;display:block;position:fixed;inset:0}.studio{grid-template-columns:auto minmax(0, 1fr) var(--rail-w);pointer-events:none;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"desk bug rail""desk hole rail""desk lower lower";display:grid;position:fixed;inset:0}.studio>*{pointer-events:auto}.cue,.studio>.hole{pointer-events:none}.bug{margin:var(--pad);font-family:var(--display);grid-area:bug;justify-self:start;align-items:stretch;gap:0;font-size:17px;line-height:1;display:flex}.bug>*{align-items:center;margin:0;padding:9px 12px;display:flex}.onair{background:var(--onair);color:#fff;letter-spacing:.04em;gap:8px}.lamp{background:#fff;border-radius:50%;width:9px;height:9px;animation:1.2s steps(2,jump-none) infinite lamp}@keyframes lamp{50%{opacity:.25}}.studio[data-replay] .onair{background:var(--ink-3);color:var(--studio-0)}.studio[data-replay] .lamp{background:var(--studio-0);border-radius:2px;animation:none}.studio[data-mode=local] .onair{background:var(--studio-2);color:var(--ink-2)}.studio[data-mode=local] .lamp{background:var(--ink-3);animation:none}.episode{font:inherit;background:var(--band);color:var(--band-ink)}.clock{background:var(--studio-0);color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums;border:1px solid var(--rule);font-size:15px}.mode{font-family:var(--ui);color:var(--ink-2);background:var(--panel);border:1px solid var(--rule);border-left:0;font-size:13px;font-weight:600}.mode:empty{display:none}.desk-toggle{border:1px solid var(--rule);background:var(--panel);color:var(--ink);font:600 13px/1 var(--ui);border-left:0}.desk{width:var(--desk-w);gap:var(--gap);padding:20px var(--pad);background:var(--panel-solid);border-right:1px solid var(--rule);flex-direction:column;grid-area:desk;display:flex;overflow-y:auto}.desk[hidden]{display:none}.desk>:not(.desk-panels){flex-shrink:0}.desk-tabs{border:1px solid var(--rule);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.desk-tab{min-height:38px;color:var(--ink-2);font:700 13px/1.2 var(--ui);background:0 0;border:0;padding:8px 4px}.desk-tab+.desk-tab{border-left:1px solid var(--rule)}.desk-tab:hover{background:#101f5cb3}.desk-tab[aria-selected=true]{background:var(--studio-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--gold)}.desk-tab:focus-visible{outline-offset:-3px}.desk-panels{flex:1 1 0;min-height:160px;margin:0 -6px;padding:6px;overflow-y:auto}.tabpanel{gap:var(--gap);flex-direction:column;display:flex}.tabpanel[hidden]{display:none}.desk-run{gap:var(--gap);padding-top:var(--gap);border-top:1px solid var(--rule);flex-direction:column;display:flex}.hint{color:var(--ink-2);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.45}fieldset.pick-set{border:0;min-width:0;margin:0;padding:0}.pick-set>legend{margin-bottom:6px;padding:0}.ghost,.ghost-small{border:1px solid var(--ink-2);border-radius:var(--radius);background:0 0;font-weight:700}.ghost{padding:8px 14px;font-size:13px}.ghost-small{white-space:nowrap;padding:5px 10px;font-size:13px}.ghost:hover:not(:disabled),.ghost-small:hover:not(:disabled){background:var(--studio-2)}.ghost:disabled,.ghost-small:disabled{border-color:var(--rule);color:var(--ink-3)}.map-card,.swatch{cursor:pointer;display:block;position:relative}.pick-input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.pick-face{border:1px solid var(--rule);border-radius:var(--radius);background:var(--studio-0);flex-direction:column;gap:6px;height:100%;padding:6px;display:flex}.pick-face:hover{background:#101f5cb3}.pick-input:checked+.pick-face{background:var(--studio-2);border-color:var(--gold)}.pick-input:focus-visible+.pick-face{outline:3px solid var(--gold);outline-offset:2px}.map-cards{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:8px;display:grid}.map-thumb{aspect-ratio:5/3;background:var(--studio-0);border-radius:2px;width:100%;display:block}.map-name{font:700 13px/1.3 var(--ui)}.map-blurb{color:var(--ink-2);word-break:keep-all;overflow-wrap:anywhere;font-size:13px;line-height:1.4}.swatches{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.swatch-face{text-align:center;align-items:center}.swatch-canvas{border-radius:2px;display:block}.swatch-name{font:700 12px/1.3 var(--ui)}.move-list,.photo-list{margin:0;padding:0;list-style:none}.move{padding:10px 0}.move+.move,.photo-list li+li{border-top:1px solid #2b3c8f80}.move-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.move-name{border:1px solid var(--rule);border-radius:var(--radius);background:var(--studio-0);min-width:0;color:var(--ink);font:700 15px/1.3 var(--ui);padding:7px 10px}.move-name:focus-visible{outline-offset:0}.move-name[data-invalid]{border-color:#ff8a70}.move-base{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 8px;font-size:13px;overflow:hidden}.move-knobs{grid-template-columns:1.5fr 1fr 1fr;gap:6px;display:grid}.knob{flex-direction:column;gap:2px;min-width:0;display:flex}.knob-caption{color:var(--ink-2);font-size:13px;font-weight:700}.knob-select{appearance:none;border:1px solid var(--rule);border-radius:var(--radius);background-color:var(--studio-0);background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);width:100%;min-width:0;min-height:36px;color:var(--ink);font:600 13px var(--ui);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px;padding:6px 24px 6px 8px}.move[data-off] .move-name,.move[data-off] .move-base{color:var(--ink-3)}.move-add{padding-top:var(--gap);border-top:1px solid var(--rule);flex-direction:column;gap:6px;display:flex}.move-add-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.move-reset{align-self:flex-start}.photo-section{flex-direction:column;gap:6px;display:flex}.photo-count{font:400 12px var(--mono);color:var(--ink-3)}.photo-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 0;display:grid}.photo-face{place-items:center;width:32px;height:32px;display:grid}.photo-face .ball{width:32px;height:32px;font-size:13px}.photo-thumb{object-fit:cover;background:var(--studio-0);border-radius:50%;width:32px;height:32px;display:block}.photo-face-wide{background:var(--studio-0);border:1px solid var(--rule);border-radius:2px;width:56px}.photo-face-wide .photo-thumb{border-radius:2px;width:100%;height:100%}.photo-main{flex-direction:column;min-width:0;display:flex}.photo-name{align-items:baseline;gap:6px;min-width:0;font-size:15px;font-weight:600;display:flex}.photo-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-times{font:400 12px var(--mono);color:var(--ink-3);white-space:nowrap}.photo-state{color:var(--ink-2);word-break:keep-all;overflow-wrap:anywhere;font-size:13px;line-height:1.4}.photo-row[data-tone=error] .photo-state{color:#ff8a70}.photo-actions{gap:6px;display:flex}.photo-empty{color:var(--ink-2);padding:8px 0;font-size:13px}.desk-title{font:400 26px/1.1 var(--display);letter-spacing:.01em;margin:0 0 4px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--ink-2);font-size:13px;font-weight:700}textarea{resize:vertical;border:1px solid var(--rule);border-radius:var(--radius);background:var(--studio-0);width:100%;min-height:220px;color:var(--ink);font:16px/1.55 var(--ui);padding:12px}textarea::placeholder{color:var(--ink-3)}textarea:focus-visible{outline-offset:0}.desk-count{font:400 20px/1.2 var(--display);margin:0}.desk-count .warn{color:var(--gold)}.desk-issues{color:var(--gold);margin:0;padding:0;font-size:13px;list-style:none}.desk-issues:empty{display:none}.start{border-radius:var(--radius);background:var(--gold);width:100%;min-height:64px;color:var(--studio-0);font:400 26px/1 var(--display);transition:transform .16s var(--ease-out), background-color .16s var(--ease-out);border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex;box-shadow:0 6px 18px #00000059}.start:hover:not(:disabled){background:#ffd567}.start:active:not(:disabled){transform:translateY(1px)scale(.99)}.start:focus-visible{outline-color:var(--ink);outline-offset:3px}.start:disabled{background:var(--studio-2);color:var(--ink-3);box-shadow:none}.start[data-armed]{background:var(--seal-deep);color:#fff}.start-key{font-size:11px}.desk-block{color:var(--gold);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.desk-block:empty{display:none}.desk-error{color:#ff8a70;min-height:1.5em;margin:0;font-size:15px;font-weight:600}.share{padding-top:var(--gap);border-top:1px solid var(--rule);margin-top:auto}.share-label{color:var(--ink-2);margin:0 0 6px;font-size:13px;font-weight:700}.share-row{gap:6px;display:flex}.share-url{border:1px solid var(--rule);border-radius:var(--radius);background:var(--studio-0);min-width:0;color:var(--ink-2);font:13px var(--mono);flex:1;padding:8px 10px}.share-copy{border:1px solid var(--ink-2);border-radius:var(--radius);background:0 0;padding:8px 14px;font-weight:700}.share-copy:hover{background:var(--studio-2)}.rail{gap:var(--gap);min-height:0;padding:var(--pad) var(--pad) var(--gap) 0;flex-direction:column;grid-area:rail;display:flex}.witness,.roster{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);padding:14px}.witness{position:relative}.rail-title{font:400 19px/1.1 var(--display);margin:0 0 10px}.rail-count{font-family:var(--mono);color:var(--ink-2);font-size:13px}.witness .rail-title{align-items:center;min-height:44px;margin-bottom:6px;padding-right:56px;display:flex}.seal{color:var(--seal);opacity:0;position:absolute;top:6px;right:8px;transform:rotate(-9deg)}.seal text{font-family:var(--display)}.witness[data-sealed] .seal{opacity:.95;animation:stamp .42s var(--ease-out)}.witness[data-sealed=local] .seal{color:var(--ink-3)}@keyframes stamp{0%{opacity:0;transform:rotate(-9deg)scale(1.6)}to{opacity:.95;transform:rotate(-9deg)scale(1)}}.facts{gap:6px;margin:0;font-size:13px;display:grid}.facts>div{grid-template-columns:60px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.facts dt{color:var(--ink-2);font-weight:600}.facts dd{overflow-wrap:anywhere;margin:0}.verify{border:1px solid var(--ink-2);border-radius:var(--radius);background:0 0;width:100%;margin-top:12px;padding:8px 10px;font-size:13px;font-weight:700}.verify:hover:not(:disabled){background:var(--studio-2)}.verify:disabled{border-color:var(--rule);color:var(--ink-3)}.verify-result{min-height:1.4em;margin:6px 0 0;font-size:13px;font-weight:600}.verify-result[data-ok=true]{color:#7fe0a6}.verify-result[data-ok=false]{color:#ff8a70}.moves-log{margin-top:10px;font-size:13px}.moves-log summary{color:var(--ink-2);cursor:pointer;padding:4px 0;font-weight:700}.moves-list{max-height:9.5em;margin:4px 0 0;padding:0 0 0 20px;overflow-y:auto}.moves-list .moves-base{color:var(--ink-2)}.witness-note{color:var(--ink-2);margin:10px 0 0;font-size:13px;line-height:1.45}.roster{flex-direction:column;flex:1;min-height:0;display:flex}.roster-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.roster-list li+li{border-top:1px solid #2b3c8f80}.roster-item{text-align:left;background:0 0;border:0;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:5px 4px;font-size:15px;display:grid}.roster-item:hover{background:#101f5cb3}.roster-item[aria-pressed=true]{background:var(--studio-2);box-shadow:inset 0 0 0 1px var(--gold)}.ball{width:24px;height:24px;font:700 11px/1 var(--mono);color:#101010;background:var(--c,var(--gold));border-radius:50%;place-items:center;display:grid}.roster-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-state{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px}.roster-item[data-out] .roster-name{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}.roster-item[data-out] .ball{color:var(--ink);background:#59618a}.roster-item[data-win] .roster-state{color:var(--gold);font-weight:700}.roster-empty{color:var(--ink-3);margin:0;font-size:13px}.cue{font:400 clamp(96px, 17vmin, 230px) / 1 var(--display);color:var(--light);text-shadow:0 10px 40px #0000008c;font-variant-numeric:tabular-nums;grid-area:hole;place-self:end center;margin-bottom:2vh}.cue:empty{display:none}.lower-third{margin:0 var(--pad) var(--pad);grid-template:"remaining caption tapes""crawl crawl crawl"/auto minmax(0,1fr) auto;grid-area:lower;display:grid;box-shadow:0 12px 32px #00000073}.remaining{background:var(--gold);color:var(--studio-0);grid-area:remaining;align-items:center;gap:12px;padding:10px 18px;display:flex}.remaining-label{font:400 17px/1.05 var(--display);width:2.2em}.digits{font:400 44px/1 var(--display);gap:3px;display:flex}.digit{background:var(--studio-0);width:.72em;height:1.12em;color:var(--gold);border-radius:2px;place-items:center;display:grid}.digit[data-dim]{color:var(--ink-fallen)}.caption{background:var(--band);min-width:0;color:var(--band-ink);grid-area:caption;align-items:center;gap:14px;margin:0;padding:10px 20px;display:flex}.caption-tag{background:var(--band-ink);color:var(--band);font:400 16px/1 var(--display);flex:none;padding:5px 9px 4px}.caption-main{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:400 clamp(24px, 2.6vw, 40px) / 1.15 var(--display);overflow:hidden}.studio[data-phase=result] .caption{background:var(--gold)}.studio[data-phase=result] .caption-tag{background:var(--seal-deep);color:#fff}.tapes-open{background:var(--band-ink);color:var(--band);font:400 17px/1 var(--display);border:0;grid-area:tapes;align-items:center;gap:8px;padding:0 18px;display:flex}.tapes-open:hover{background:var(--studio-2)}.crawl{background:var(--studio-0);border-top:2px solid var(--gold);grid-area:crawl;overflow:hidden}.crawl-line{white-space:nowrap;color:var(--ink-2);margin:0;padding:7px 16px;font-size:18px;font-weight:600}.crawl-line b{color:var(--ink)}.crawl-line[data-scroll]{animation:crawl var(--crawl-dur,10s) linear infinite;display:inline-block}@keyframes crawl{0%,18%{transform:translate(0)}92%,to{transform:translateX(calc(-1 * var(--crawl-shift,0px)))}}@media (hover:none) and (pointer:coarse){kbd{display:none}.desk-tab,.move-name,.knob-select{min-height:44px}.ghost,.ghost-small{min-height:40px}}.tapes{background:var(--panel-solid);border-left:1px solid var(--rule);z-index:2;flex-direction:column;width:min(400px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-16px 0 40px #00000073}.tapes[hidden]{display:none}.tapes-head{padding:18px var(--pad);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;display:flex}.tapes-title{font:400 24px/1 var(--display);margin:0}.tapes-close{border:1px solid var(--rule);border-radius:var(--radius);background:0 0;align-items:center;gap:8px;padding:6px 10px;font-weight:700;display:flex}.tapes-list{padding:8px var(--pad) var(--pad);margin:0;list-style:none;overflow-y:auto}.tape{border-bottom:1px solid #2b3c8f99;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;display:grid}.tape-no{font:400 18px/1.2 var(--display);margin:0}.tape-meta{color:var(--ink-2);grid-column:1;margin:0;font-size:13px}.tape-winner{grid-column:1;margin:0;font-weight:700}.tape-badge{border:1px solid var(--seal);color:#ff8a70;vertical-align:2px;margin-left:8px;padding:1px 6px;font-size:13px;font-weight:700;display:inline-block}.tape-play{border:1px solid var(--ink-2);border-radius:var(--radius);background:0 0;grid-area:1/2/span 3;align-self:center;padding:8px 12px;font-weight:700}.tape-play:hover{background:var(--studio-2)}.tapes-empty{color:var(--ink-3);padding:12px 0}.deck{width:min(640px,100% - 32px);margin-bottom:var(--gap);background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);grid-area:hole;place-self:end center;align-items:center;gap:12px;padding:10px 14px;display:flex}.deck[hidden]{display:none}.deck button{border:1px solid var(--ink-2);border-radius:var(--radius);white-space:nowrap;background:0 0;padding:7px 12px;font-weight:700}.deck-scrub{flex:1;min-width:160px}.noscript{background:var(--gold);color:var(--studio-0);margin:0;padding:16px;position:fixed;inset:auto 0 0}.studio[data-phase=countdown] .desk,.studio[data-phase=fight] .desk{display:none}.studio[data-desk-open] .desk{display:flex}@media (max-width:900px){body{overflow:auto}#stage{height:46svh;position:absolute}.studio{pointer-events:auto;grid-template:"hole"46svh"lower""desk""rail"/minmax(0,1fr);min-height:100%;position:relative;inset:auto}.bug{grid-area:hole;align-self:start;margin:10px;font-size:13px}.bug>*{padding:7px 9px}.clock{font-size:13px}.mode{display:none}.lower-third{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"remaining caption""crawl crawl""tapes tapes";margin:0}.remaining{padding:8px 12px}.digits{font-size:32px}.caption{gap:8px;padding:8px 12px}.caption-main{white-space:normal;word-break:keep-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:22px;display:-webkit-box}.crawl-line{font-size:16px}.desk-title{order:-4}.desk-run{padding:0 0 var(--gap);border-top:0;border-bottom:1px solid var(--rule);order:-3}.desk-panels{flex:0 auto;max-height:min(72svh,640px)}.tapes-open{justify-content:center;padding:12px}.desk{border-right:0;border-bottom:1px solid var(--rule);width:auto}.studio[data-phase=countdown] .desk,.studio[data-phase=fight] .desk{display:flex}.rail{padding:var(--pad)}.roster-list{max-height:50vh}.deck{flex-wrap:wrap;row-gap:8px;width:calc(100% - 20px)}.deck-scrub{flex-basis:100%;order:-1;min-height:32px}.deck-time{margin-right:auto}}@media (prefers-reduced-motion:reduce){.lamp,.witness[data-sealed] .seal,.crawl-line[data-scroll]{animation:none}.crawl-line{white-space:normal}.start{transition:none}}.hole{grid-area:hole}.desk-toggle[hidden],.studio:not([data-phase=countdown]):not([data-phase=fight]) .desk-toggle{display:none}
