@import "https://fonts.googleapis.com/css2?family=VT323&family=Chakra+Petch:wght@400;500;700&display=swap";:root{--bg:#050806;--bg-2:#0a110c;--panel:#0d1610;--line:#1f3a27;--line-hot:#2f6b40;--text:#b8f5c4;--phosphor:#59ff8a;--muted:#5f8a69;--accent:#ffb000;--accent-ink:#1a0f00;--hit:#59ff8a;--miss:#ff2e4d;--radius:4px;--head-h:56px;--font-ui:"VT323", "Chakra Petch", ui-monospace, monospace;--font-body:"Chakra Petch", "VT323", system-ui, sans-serif;--glow:0 0 6px #59ff8a8c, 0 0 18px #59ff8a2e;--glow-red:0 0 8px #ff2e4db3, 0 0 22px #ff2e4d4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{color:var(--text);font:15px/1.5 var(--font-body);-webkit-tap-highlight-color:transparent;margin:0}body{background:var(--bg) url(/ui/bg.webp) center / cover fixed no-repeat}body:before{content:"";z-index:-1;background:radial-gradient(at 50% 40%,#050806b8,#050806f0 75%);position:fixed;inset:0}body:after{content:"";z-index:100;pointer-events:none;background:radial-gradient(#0000 55%,#000000a6 100%);animation:6s step-end infinite flicker;position:fixed;inset:0}body:has(.main--play):after{display:none}@keyframes flicker{0%,to{opacity:1}47%{opacity:.86}48%{opacity:1}83%{opacity:.92}84%{opacity:1}}@media (prefers-reduced-motion:reduce){body:after{animation:none}}a{color:var(--phosphor);text-decoration:none}h1,h2,h3{font-family:var(--font-ui);letter-spacing:.04em;color:var(--phosphor);text-shadow:var(--glow);font-weight:400}h1{margin:0 0 16px;font-size:clamp(30px,5vw,46px);line-height:1.1}h2{margin:28px 0 12px;font-size:26px}h2:before{content:"> ";color:var(--muted)}input,textarea,select{font:inherit;color:var(--phosphor);border:1px solid var(--line-hot);border-radius:var(--radius);width:100%;caret-color:var(--phosphor);background:#0009;padding:10px 12px}select{width:auto;font-family:var(--font-ui);padding:4px 10px;font-size:18px}input:focus,textarea:focus,select:focus{outline:1px solid var(--phosphor);box-shadow:var(--glow)}::placeholder{color:var(--muted)}::selection{background:var(--phosphor);color:#000}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--miss)}.hint{color:var(--accent)}.spacer{flex:1}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:60dvh;display:flex}.empty{color:var(--muted);text-align:center;font-family:var(--font-ui);padding:40px 0;font-size:20px}.blink:after{content:"_";animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.btn{font-family:var(--font-ui);letter-spacing:.05em;text-transform:uppercase;color:var(--phosphor);border:1px solid var(--line-hot);border-radius:var(--radius);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;text-shadow:var(--glow);background:linear-gradient(#0f1d13,#08100a);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:20px;line-height:1;transition:background .1s,border-color .1s,color .1s;display:inline-flex;box-shadow:inset 0 1px #59ff8a26,inset 0 -2px #0009,0 2px #000}.btn:hover:not(:disabled){border-color:var(--phosphor);background:linear-gradient(#16301d,#0b170e)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px 4px #000000b3}.btn:disabled{opacity:.35;cursor:default}.btn--sm{padding:6px 12px;font-size:17px}.btn--icon{min-width:42px;padding:8px 12px}.btn--ghost{box-shadow:none;background:0 0;border-color:#0000}.btn--primary{color:var(--accent);text-shadow:0 0 6px #ffb00099;border-color:#6b4a00}.btn--primary:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(#2a1d00,#120c00)}.btn--danger{color:var(--miss);text-shadow:0 0 6px #ff2e4d80;border-color:#5a1220}.btn--found{color:#fff;border-color:var(--miss);text-shadow:0 0 6px #fff;box-shadow:var(--glow-red), inset 0 -2px 0 #00000080;background:linear-gradient(#a3102a,#5c0616);animation:2.4s ease-in-out infinite alarm}.btn--found:hover:not(:disabled){background:linear-gradient(#c4173a,#700a1d);border-color:#ff6a80}@keyframes alarm{50%{box-shadow:0 0 2px #ff2e4d66,inset 0 -2px #00000080}}.btn--none{color:var(--text)}.btn--google{font-family:var(--font-body);text-transform:none;color:#1a1a1a;text-shadow:none;background:#e8e2d0;border-color:#fff;padding:12px 22px;font-size:16px}.btn--google:hover:not(:disabled){background:#fffbea}.link{color:var(--muted);font:inherit;font-family:var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0;font-size:18px}.topbar{z-index:20;height:var(--head-h);padding:0 max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#030604e0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 1px #59ff8a0f}.topbar--compact{--head-h:48px}.brand{align-items:center;height:100%;display:flex}.brand img{filter:drop-shadow(0 0 6px #59ff8a59);height:70%}.topbar__nav{font-family:var(--font-ui);letter-spacing:.04em;align-items:center;gap:20px;font-size:20px;display:flex}.topbar__nav a{color:var(--muted)}.topbar__nav a:hover{color:var(--phosphor);text-shadow:var(--glow)}.rec{color:var(--miss);text-shadow:var(--glow-red);animation:1.4s step-end infinite blink}.me{align-items:center;gap:8px;display:flex}.me img{filter:grayscale()sepia()hue-rotate(70deg)saturate(2.5)brightness(.9);border:1px solid var(--line-hot);border-radius:2px;width:26px;height:26px}.main{min-height:calc(100dvh - var(--head-h))}.page{max-width:1200px;margin:0 auto;padding:24px 16px 64px}.boot{z-index:90;color:var(--phosphor);font-family:var(--font-ui);text-shadow:var(--glow);cursor:pointer;animation:.35s ease-in forwards boot-off;animation-delay:var(--boot-ms,2.6s);background:#000;padding:24px;font-size:clamp(16px,2.6vw,22px);line-height:1.35;position:fixed;inset:0}.boot p{white-space:pre;opacity:0;margin:0;animation:10ms forwards line-in}.boot .warn{color:var(--miss);text-shadow:var(--glow-red)}@keyframes line-in{to{opacity:1}}@keyframes boot-off{0%{filter:brightness();transform:scaleY(1)}60%{filter:brightness(3);transform:scaleY(.006)}to{opacity:0;visibility:hidden;transform:scaleY(0)}}.hero{gap:8px;padding:16px 0 8px;display:grid}.hero__logo{--logo:url(/ui/logo.webp?v=2);width:min(560px,90%);animation:3.2s ease-in-out infinite alternate logo-glow;position:relative}.hero__logo img{width:100%;animation:4.3s step-end infinite logo-jitter;display:block}.hero__logo-ghost,.hero__logo-slice{background:var(--logo) center / 100% 100% no-repeat;pointer-events:none;opacity:0;position:absolute;inset:0}.hero__logo-ghost{mix-blend-mode:screen}.hero__logo-ghost--r{filter:sepia()saturate(8)hue-rotate(-60deg)brightness(.9);animation:4.3s step-end infinite logo-split-r}.hero__logo-ghost--c{filter:sepia()saturate(8)hue-rotate(130deg)brightness(.9);animation:4.3s step-end infinite logo-split-c}.hero__logo-slice{animation:4.3s step-end infinite logo-tear}@keyframes logo-glow{0%{filter:drop-shadow(0 0 8px #59ff8a38)brightness(.97)}to{filter:drop-shadow(0 0 16px #59ff8a6b)brightness(1.04)}}@keyframes logo-jitter{0%,21%,25.5%,47%,48%,73%,78%,to{transform:none}22%{transform:translate(-4px)skew(-4deg)}23%{transform:translate(5px,1px)}24%{transform:translate(-2px,-1px)skew(2deg)}47.5%{transform:translate(3px)}74%{transform:translate(6px)skew(5deg)}75.5%{transform:translate(-5px)}77%{transform:translate(2px)skew(-2deg)}}@keyframes logo-split-r{0%,21%,25.5%,73%,78%,to{opacity:0;transform:none}22%{opacity:.85;transform:translate(-7px,1px)}23.5%{opacity:.7;transform:translate(-3px)}74%{opacity:.9;transform:translate(-9px,-1px)}76%{opacity:.6;transform:translate(-4px,1px)}}@keyframes logo-split-c{0%,21%,25.5%,73%,78%,to{opacity:0;transform:none}22%{opacity:.85;transform:translate(7px,-1px)}23.5%{opacity:.7;transform:translate(3px)}74%{opacity:.9;transform:translate(9px,1px)}76%{opacity:.6;transform:translate(4px,-1px)}}@keyframes logo-tear{0%,21%,25.5%,47%,48.5%,73%,78%,to{opacity:0;clip-path:inset(0 0 100%);transform:none}22%{opacity:1;clip-path:inset(18% 0 66%);transform:translate(14px)}23%{opacity:1;clip-path:inset(52% 0 34%);transform:translate(-10px)}24.5%{opacity:1;clip-path:inset(70% 0 18%);transform:translate(6px)}47.5%{opacity:1;clip-path:inset(40% 0 50%);transform:translate(-8px)}74%{opacity:1;clip-path:inset(30% 0 56%);transform:translate(-18px)}75.5%{opacity:1;clip-path:inset(60% 0 28%);transform:translate(12px)}77%{opacity:1;clip-path:inset(8% 0 80%);transform:translate(-5px)}}@media (prefers-reduced-motion:reduce){.hero__logo,.hero__logo img{animation:none}.hero__logo{filter:drop-shadow(0 0 12px #59ff8a4d)}.hero__logo-ghost,.hero__logo-slice{display:none}}.hero__tag{font-family:var(--font-ui);color:var(--phosphor);text-shadow:var(--glow);margin:0;font-size:clamp(22px,3.5vw,30px)}.hero__tag em{color:var(--miss);text-shadow:var(--glow-red);font-style:normal}.hero p{color:var(--muted);max-width:600px;margin:0}.filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 16px;display:flex}.chips{scrollbar-width:none;gap:6px;max-width:100%;display:flex;overflow-x:auto}.chip{font-family:var(--font-ui);letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:#0000008c;padding:3px 12px;font-size:19px}.chip:hover{color:var(--phosphor)}.chip--on{color:#000;background:var(--phosphor);border-color:var(--phosphor);box-shadow:var(--glow)}.chip--icon{place-items:center;padding:5px 12px;line-height:0;display:inline-grid}.chip__icon{margin-right:6px}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.card{color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#111a13,#070c08);transition:border-color .15s,box-shadow .15s;display:block;overflow:hidden;box-shadow:0 6px 20px #0009}.card:hover{border-color:var(--phosphor);box-shadow:var(--glow), 0 6px 20px #0009}.card--skeleton{background:repeating-linear-gradient(0deg,#0b120d 0 3px,#070b08 3px 6px);height:270px;animation:.4s linear infinite static-roll}@keyframes static-roll{to{background-position:0 6px}}.card__cover{aspect-ratio:16/10;color:var(--muted);font-family:var(--font-ui);background:#000;place-items:center;font-size:22px;display:grid;position:relative;overflow:hidden}.card__cover img{object-fit:cover;filter:saturate(.55)contrast(1.1)brightness(.85);width:100%;height:100%;transition:filter .2s,transform .4s}.card:hover .card__cover img{filter:saturate(.9)contrast(1.15)brightness();transform:scale(1.04)}.card__cover:after{content:"";mix-blend-mode:overlay;pointer-events:none;background:linear-gradient(#0000,#ffffff1f,#0000);height:18%;position:absolute;top:-20%;left:0;right:0}.card:hover .card__cover:after{animation:1.6s linear infinite tracking}@keyframes tracking{to{top:110%}}.card__layout,.badge{font-family:var(--font-ui);letter-spacing:.05em;color:var(--phosphor);text-shadow:var(--glow);background:#000000bf;border-radius:2px;padding:0 8px;font-size:17px;position:absolute;top:8px;left:8px}.card__layout:before{content:"▶ "}.badge{color:var(--muted);text-shadow:none;left:auto;right:8px}.badge--live{color:var(--miss);text-shadow:var(--glow-red)}.badge--live:before{content:"● "}.editor__bar .badge{position:static}.badge--played{color:var(--accent);border:1px solid}.card--played .card__cover img{opacity:.55;filter:grayscale(.6);transition:opacity .15s,filter .15s}.card--played:hover .card__cover img{opacity:1;filter:none}.card__body{border-top:1px solid var(--line);background:linear-gradient(90deg,#e8e2d00f,#0000 40%);padding:10px 14px 12px}.card__body h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:22px;overflow:hidden}.card__body p{margin:0;font-size:13px}.main--play{height:calc(100dvh - var(--head-h));min-height:0;overflow:hidden}.play{height:100%;padding:8px 12px max(8px, env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.play__head{min-height:40px;font-family:var(--font-ui);align-items:center;gap:10px;display:flex}.play__title{flex-direction:column;min-width:0;line-height:1.1;display:flex}.play__title b{color:var(--phosphor);text-shadow:var(--glow);text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:400;overflow:hidden}.play__title span{letter-spacing:.05em;font-size:17px}.progress{flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:50%;margin-left:auto;display:flex}.progress span{background:var(--line);width:12px;height:8px}.progress .is-now{background:var(--accent);box-shadow:0 0 6px var(--accent)}.progress .is-hit{background:var(--hit);box-shadow:0 0 6px var(--hit)}.progress .is-miss{background:var(--miss);box-shadow:0 0 6px var(--miss)}.play__tips{text-align:center;font-family:var(--font-ui);letter-spacing:.04em;margin:0;font-size:16px}.stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.stage__frame{cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:10px;outline:10px solid #121813;animation:.45s ease-out tune-in;position:relative;box-shadow:0 0 0 11px #000,0 0 0 13px #26332a,0 16px 50px #000c,0 0 60px #59ff8a14}@keyframes tune-in{0%{filter:brightness(4)contrast(.3)blur(3px);clip-path:inset(49% 0)}35%{filter:brightness(2)contrast(.6)blur(1px);clip-path:inset(0)}to{filter:none;clip-path:inset(0)}}.stage__frame.is-marking{cursor:crosshair;box-shadow:0 0 0 11px #000, 0 0 0 13px var(--miss), var(--glow-red), 0 16px 50px #000c}.stage__frame.is-reveal{cursor:default;overflow:hidden}@property --zs{syntax:"<number>";inherits:true;initial-value:1}.stage__canvas{transform-origin:0 0;--zs:1;border-radius:10px;transition:transform 3.2s cubic-bezier(.45,0,.2,1) .6s,--zs 3.2s cubic-bezier(.45,0,.2,1) .6s;position:absolute;inset:0;overflow:hidden}.stage__canvas>img{pointer-events:none;width:100%;height:100%;display:block}.stage__box{z-index:3;border:calc(2px / var(--zs)) solid var(--hit);box-shadow:0 0 0 9999px #00000073, var(--glow);pointer-events:none;border-radius:2px;animation:.35s ease-out pop;position:absolute}.stage__box:before{content:attr(data-label);bottom:100%;left:calc(-2px / var(--zs));font:calc(16px / var(--zs)) / 1.2 var(--font-ui);letter-spacing:.08em;padding:0 calc(6px / var(--zs));background:var(--hit);color:#000;position:absolute}.stage__canvas.is-focus .stage__box{animation:.6s ease-out 3.8s both lock-on}@keyframes lock-on{0%{opacity:0;scale:1.3}25%{opacity:1}40%{opacity:.1;scale:1}60%{opacity:1}75%{opacity:.4}to{opacity:1;scale:1}}.stage__box+.stage__box{box-shadow:var(--glow)}.stage__pin{z-index:4;scale:calc(1 / var(--zs));pointer-events:none;border:2px solid #fff;border-radius:50%;width:26px;height:26px;margin:-13px 0 0 -13px;animation:.3s ease-out pop;position:absolute}.stage__pin:before,.stage__pin:after{content:"";background:#fff;position:absolute;top:50%;left:50%}.stage__pin:before{width:40px;height:1px;margin-left:-20px}.stage__pin:after{width:1px;height:40px;margin-top:-20px}.stage__pin.is-hit{border-color:var(--hit);box-shadow:var(--glow)}.stage__pin.is-miss{border-color:var(--miss);box-shadow:var(--glow-red)}@keyframes pop{0%{opacity:0;transform:scale(.6)}}.lens{z-index:5;border:2px solid var(--phosphor);box-shadow:0 0 0 4px #000, 0 0 0 5px var(--line-hot), var(--glow), 0 10px 30px #000c;pointer-events:none;background-color:#000;border-radius:50%;position:absolute;overflow:hidden}.lens__img{background-repeat:no-repeat;position:absolute;inset:0}.lens__cross:before,.lens__cross:after{content:"";background:var(--miss);box-shadow:0 0 4px var(--miss);position:absolute;top:50%;left:50%}.lens__cross:before{width:22px;height:1px;margin-left:-11px}.lens__cross:after{width:1px;height:22px;margin-top:-11px}.lens__zoom{z-index:1;font:15px/1.2 var(--font-ui);color:var(--phosphor);background:#000000b3;padding:0 6px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.controls{background:linear-gradient(#00000059,#0000008c),url(/ui/panel.webp) 50%/320px;border:1px solid #2a3a2e;border-radius:6px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:8px 10px;display:flex;box-shadow:inset 0 1px #ffffff0f,inset 0 -2px 6px #0009,0 4px 14px #0009}.controls__group{border:1px solid var(--line);border-radius:var(--radius);background:#000000b3;align-items:center;gap:2px;padding:2px;display:flex;box-shadow:inset 0 2px 6px #000c}.controls__group .btn{box-shadow:none;background:0 0;border:0}.controls__value{text-align:center;min-width:52px;font:20px/1 var(--font-ui);color:var(--accent);text-shadow:0 0 6px #ffb00099;font-variant-numeric:tabular-nums}.controls__answer{align-items:center;gap:10px;margin-left:auto;display:flex}.verdict{font:24px/1 var(--font-ui);letter-spacing:.05em}.verdict.is-hit{color:var(--hit);text-shadow:var(--glow)}.verdict.is-miss{color:var(--miss);text-shadow:var(--glow-red);animation:.3s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.done__score{color:var(--accent);text-shadow:0 0 10px #ffb000b3,0 0 40px #ffb0004d;margin:0;font-size:120px}.done__score span{color:var(--muted);text-shadow:none;font-size:56px}.done>p{font-family:var(--font-ui);margin:0;font-size:22px}.panel{border:1px solid var(--line);background:#080e0ae0;border-radius:6px;flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:inset 0 0 30px #0009}.create{max-width:560px}.create h2{margin:0}.create .btn{align-self:flex-start}.login h1{margin:0}.editor{flex-direction:column;gap:16px;display:flex}.editor__bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.drop{border:1px dashed var(--line-hot);text-align:center;color:var(--muted);cursor:pointer;background:#00000080;border-radius:6px;flex-direction:column;gap:4px;padding:22px 16px;display:flex}.drop:hover{border-color:var(--phosphor)}.drop b{color:var(--phosphor);font-family:var(--font-ui);font-size:20px;font-weight:400}.strip__bar{margin-bottom:-6px}.order{border:1px solid var(--line-hot);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:10px;padding:12px;display:flex}.order__bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.order__note{color:var(--accent);margin:0}.order__grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.order__grid.is-dragging{cursor:grabbing}.order__tile{flex-direction:column;gap:6px;transition:transform .15s;display:flex}.order__tile.is-held{z-index:1;transform:scale(1.04)}.order__img{aspect-ratio:4/3;border:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;border-radius:3px;position:relative;overflow:hidden}.order__tile.is-held .order__img{border-color:var(--phosphor);box-shadow:var(--glow);opacity:.85}.order__img img{object-fit:contain;pointer-events:none;width:100%;height:100%}.order__n,.order__cover{font-family:var(--font-ui);color:var(--phosphor);background:#000000bf;border-radius:3px;padding:0 7px;font-size:16px;position:absolute;top:4px}.order__n{left:4px}.order__cover{color:var(--accent);right:4px}.order__nudge{justify-content:space-between;gap:6px;display:flex}.order__nudge .btn{flex:1}@media (width<=640px){.order__grid{grid-template-columns:repeat(2,1fr)}}.strip{gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.strip__item{border:1px solid var(--line);cursor:pointer;background:#000;border-radius:3px;flex:none;width:96px;height:72px;padding:0;position:relative;overflow:hidden}.strip__item.is-on{border-color:var(--phosphor);box-shadow:var(--glow)}.strip__item img{object-fit:cover;width:100%;height:100%}.strip__n,.strip__tag{font:15px/1.2 var(--font-ui);color:var(--phosphor);background:#000c;padding:0 5px;position:absolute}.strip__n{top:2px;left:2px}.strip__tag{background:var(--miss);color:#fff;bottom:2px;right:2px}.strip__tag.is-none{color:var(--muted);background:#1d2b21}.scene p{margin:0}.boxed{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;max-width:100%;margin:0 auto;position:relative}.boxed img{pointer-events:none;border-radius:4px;width:100%;height:100%;display:block}.boxed__box{border:2px solid var(--miss);box-shadow:var(--glow-red);background:#ff2e4d26;position:absolute}.boxed__box.is-draft{border-style:dashed}.boxed__del{background:var(--miss);color:#fff;width:26px;height:26px;font:20px/1 var(--font-ui);cursor:pointer;border:0;border-radius:2px;position:absolute;top:-12px;right:-12px}.footer{text-align:center;font-family:var(--font-ui);letter-spacing:.05em;padding:16px 16px 24px;font-size:17px}.footer a{color:var(--muted)}.legal{max-width:760px}.legal li{margin-bottom:6px}@media (width<=640px){.topbar__nav{gap:12px;font-size:18px}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.card__body{padding:8px 10px}.card__body h3{font-size:19px}.controls{gap:8px;padding:6px}.controls__group .btn{min-width:36px;padding:6px 8px}.controls__value{min-width:42px}.controls__answer{width:100%;margin-left:0}.controls__answer>*{flex:1}.play__tips{display:none}.progress{max-width:40%}.progress span{width:8px;height:6px}.stage__frame{outline-width:5px;box-shadow:0 0 0 6px #000,0 0 0 7px #26332a,0 10px 30px #000c}.done__score{font-size:90px}}.lang{border:1px solid var(--line);border-radius:var(--radius);font:18px/1.4 var(--font-ui);letter-spacing:.05em;color:var(--line-hot);cursor:pointer;background:0 0;padding:0 8px}.lang span{color:var(--muted)}.lang .is-on{color:var(--phosphor);text-shadow:var(--glow)}.lang:hover{border-color:var(--line-hot)}@media (width<=640px){.rec{display:none}}.mode{border:1px solid var(--line-hot);color:var(--muted);margin-left:8px;padding:0 6px;font-style:normal}.mode--ranked{color:var(--accent);text-shadow:0 0 6px #ffb00099;border-color:#6b4a00}.results{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:32px;padding-top:40px;display:grid}.results__summary{flex-direction:column;gap:12px;display:flex}.results__summary>*{margin:0}.results__line{font:22px/1.3 var(--font-ui)}.results__rank{font:30px/1.2 var(--font-ui);color:var(--phosphor);text-shadow:var(--glow)}.results__name{gap:6px;max-width:420px;display:grid}.results__name label{color:var(--muted);font-size:14px}.board h2{margin:0 0 4px}.board table{border-collapse:collapse;width:100%;font:20px/1.4 var(--font-ui);font-variant-numeric:tabular-nums}.board th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:2px 8px;font-weight:400}.board td{border-bottom:1px dashed #1f3a2799;padding:3px 8px}.board td:first-child{color:var(--muted)}.board tr:nth-child(-n+3) td:first-child{color:var(--accent);text-shadow:0 0 6px #ffb00099}.board__name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-family:var(--font-body);font-size:15px;overflow:hidden}.board tr.is-me td,.board tr.is-me td:first-child{color:#000;background:var(--phosphor);text-shadow:none}.board tr.is-gap td{border-top:2px dotted var(--line-hot)}@media (width<=760px){.results{grid-template-columns:1fr;padding-top:16px}.board table{font-size:17px}.board th:nth-child(5),.board td:nth-child(5){display:none}}.results__vote{font-family:var(--font-ui);align-items:center;gap:8px;font-size:20px;display:flex}.vote{filter:grayscale()brightness(.8);font-size:18px}.vote.is-on{filter:none;border-color:var(--phosphor);box-shadow:var(--glow)}.vote--down.is-on{border-color:var(--miss);box-shadow:var(--glow-red)}.lb .chips{margin-bottom:16px}.lb .board{max-width:820px}.board__avatar{vertical-align:-4px;filter:grayscale()sepia()hue-rotate(70deg)saturate(2.5)brightness(.9);border-radius:2px;width:20px;height:20px;margin-right:8px}.board .small{margin:0 0 8px}.mybadges{font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;font-size:18px;display:flex}.badge-chip{border:1px solid var(--line);border-radius:var(--radius);filter:grayscale()brightness(.45);cursor:help;background:#00000080;place-items:center;width:32px;height:32px;font-size:17px;display:inline-grid}.badge-chip.is-on{filter:none;border-color:var(--accent);box-shadow:0 0 8px #ffb00059}.row-badges{letter-spacing:1px;cursor:help;margin-left:6px;font-size:13px}.unlock{background:#281c008c;border:1px solid #6b4a00;border-radius:6px;padding:10px 14px;box-shadow:0 0 18px #ffb0002e}.unlock__title{font:22px/1.2 var(--font-ui);color:var(--accent);text-shadow:0 0 8px #ffb00099;margin:0 0 6px;animation:.5s step-end 4 blink}.unlock ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.unlock li{align-items:center;gap:10px;animation:.6s ease-out both lock-on;display:flex}.unlock__icon{font-size:28px}.unlock li b{font:20px/1.1 var(--font-ui);color:var(--text);font-weight:400;display:block}.unlock li small{color:var(--muted)}.haunt{gap:10px;margin:0;padding:0;list-style:none;display:grid}.haunt__item{color:var(--text);border-radius:var(--radius);border:1px solid #0000;grid-template-columns:40px 160px 1fr;align-items:center;gap:12px;padding:6px;display:grid}.haunt__item:hover{border-color:var(--line-hot);background:#59ff8a0a}.haunt__rank{font:28px/1 var(--font-ui);color:var(--miss);text-shadow:var(--glow-red)}.haunt__item img{aspect-ratio:16/10;object-fit:cover;filter:saturate(.6)contrast(1.1);border-radius:3px;width:160px}.haunt__info{gap:2px;min-width:0;display:grid}.haunt__info b{font:22px/1.1 var(--font-ui);color:var(--phosphor);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.haunt__rate{font:18px/1.2 var(--font-ui);color:var(--miss)}.season{border-bottom:1px dashed var(--line);padding:8px 0}.season h3{margin:0 0 6px;font-size:20px}.season ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.season__w{align-items:baseline;gap:10px;display:flex}.season__w b{font-weight:500}.season__w--1 b{color:var(--accent);text-shadow:0 0 6px #ffb00080}@media (width<=640px){.haunt__item{grid-template-columns:30px 100px 1fr;gap:8px}.haunt__item img{width:100px}}.radio{position:relative}.radio__btn{border:1px solid var(--line);border-radius:var(--radius);height:30px;color:var(--muted);font:18px/1 var(--font-ui);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:2px 8px;display:flex}.radio__btn:hover{border-color:var(--line-hot)}.radio__btn.is-on{color:var(--phosphor);text-shadow:var(--glow);border-color:var(--line-hot)}.radio__btn.is-on svg{filter:drop-shadow(0 0 4px #59ff8a99)}.radio__set{top:calc(var(--head-h) + 6px);z-index:30;border:1px solid var(--line-hot);width:min(280px,100vw - 24px);box-shadow:0 14px 40px #000c, 0 0 0 1px #000, var(--glow);background:#0a0d0b url(/ui/radio-face.webp?v=1) 100%/175%;border-radius:10px;padding:10px;animation:.16s ease-out radio-in;display:grid;position:fixed;right:12px}@keyframes radio-in{0%{opacity:0;transform:translateY(-6px)}}.radio__main{gap:8px;min-width:0;display:grid}.radio__window{background:radial-gradient(at 50% 140%,#2a1a00,#0b0700 70%);border:1px solid #000;border-radius:6px;align-items:center;gap:6px;padding:4px 4px 4px 10px;display:flex;box-shadow:inset 0 0 12px #000000e6}.radio__lcd{font:34px/1 var(--font-ui);color:#3a2600;font-variant-numeric:tabular-nums;flex:1}.radio__set.is-on .radio__lcd{color:var(--accent);text-shadow:0 0 8px #ffb000b3}.radio__station{letter-spacing:.12em;color:var(--accent);text-shadow:0 0 6px #ffb00099;white-space:nowrap;text-overflow:ellipsis;justify-content:space-between;gap:6px;margin-top:2px;font-size:13px;display:flex;overflow:hidden}.radio__found{color:#8a6a3a;text-shadow:none;letter-spacing:.05em;flex:none}.radio__code{gap:6px;display:flex}.radio__code input{min-width:0;font:18px/1 var(--font-ui);letter-spacing:.2em;color:var(--accent);background:#0b0700;border:1px solid #3a2600;flex:1;padding:4px 8px}.radio__code input.is-wrong{border-color:var(--miss);animation:.3s shake}.radio__code button{font:16px var(--font-ui);color:var(--accent);border-radius:var(--radius);cursor:pointer;background:#1a1000;border:1px solid #3a2600;padding:0 10px}.radio__solved{font:15px/1.3 var(--font-ui);color:var(--accent)}.radio__solved ol{color:#c9a46a;columns:2;margin:4px 0 0;padding-left:22px}.radio__feedback{gap:4px;margin-top:8px;display:grid}.radio__feedback label{font:15px var(--font-ui);color:var(--phosphor)}.radio__feedback textarea{font:14px/1.4 var(--font-body);color:var(--text);resize:vertical;background:#0b0700;border:1px solid #3a2600;padding:6px 8px}.lname--1{color:var(--accent);text-shadow:0 0 6px #ffb0008c}.lname--1:before{content:"🕯️ "}.lname--2{color:#c9a0ff;text-shadow:0 0 8px #aa6effb3;border-radius:var(--radius);border:1px solid #aa6eff80;padding:0 4px}.lname--2:before{content:"📡 "}.lname--3{color:#ff5a6e;border-radius:var(--radius);text-shadow:2px 0 #00ffff80,-2px 0 #ff005099,0 0 10px #ff2e4dcc;border:1px solid #ff2e4d99;padding:0 4px;animation:4s step-end infinite lname-haunt}.lname--3:before{content:"🌑 "}@keyframes lname-haunt{0%,90%,to{opacity:1;transform:none}92%{opacity:.4;transform:translate(-2px)skew(-8deg)}94%{opacity:1;transform:translate(2px)}96%{opacity:.6;transform:none}}@media (prefers-reduced-motion:reduce){.lname--3{animation:none}}.radio__badge{font:16px/1.2 var(--font-ui);color:var(--phosphor);text-shadow:var(--glow);border:1px solid var(--line-hot);border-radius:var(--radius);background:#00000080;padding:4px 8px;animation:.2s ease-out radio-in}body.radio-haunt main{animation:1.4s steps(14,end) both radio-haunt}@keyframes radio-haunt{0%{filter:none;transform:none}10%{filter:hue-rotate(80deg)contrast(1.6)saturate(2);transform:translate(-6px)skew(4deg)}20%{filter:invert()hue-rotate(180deg);transform:translate(8px)}30%{filter:grayscale()contrast(2)brightness(1.4);transform:translateY(-3px)skew(-6deg)}45%{filter:none;clip-path:inset(30% 0 45%);transform:none}55%{filter:hue-rotate(-60deg)saturate(3);clip-path:none;transform:translate(-3px)}70%{filter:brightness(.4);transform:none}to{filter:none;clip-path:none;transform:none}}@media (prefers-reduced-motion:reduce){body.radio-haunt main{animation:none}}.radio__lcd small{color:#8a6a3a;text-shadow:none;margin-left:3px;font-size:14px}.radio__vu{width:50px;overflow:visible}.radio__vu-arc,.radio__vu-hot{stroke-width:4px;stroke:#6b5030}.radio__vu-hot{stroke:var(--miss)}.radio__vu-needle{stroke:#ffd27a;stroke-width:3px;stroke-linecap:round;transform-origin:60px 54px;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.radio__vu circle{fill:#6b5030}.radio__close{color:#8a6a3a;cursor:pointer;background:0 0;border:0;align-self:flex-start;width:24px;height:24px;font-size:20px;line-height:1}.radio__close:hover{color:var(--accent)}.radio__dial{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#1a1000,#0b0700);border:1px solid #000;border-radius:4px;outline:none;width:100%;height:26px;display:block;box-shadow:inset 0 0 8px #000000e6}.radio__dial:focus-visible{box-shadow:inset 0 0 8px #000000e6, 0 0 0 2px var(--accent)}.radio__dial:hover line:not(.radio__dial-needle){stroke:#a07a40}.radio__dial line{stroke:#6b5030;stroke-width:.8px;vector-effect:non-scaling-stroke}.radio__dial line.is-major{stroke:#a07a40}.radio__dial text{font:7px var(--font-ui);fill:#8a6a3a;text-anchor:middle}.radio__dial-needle{stroke:#4a1a20!important;stroke-width:2px!important}.radio__set.is-on .radio__dial-needle{filter:drop-shadow(0 0 3px var(--miss));stroke:var(--miss)!important}.radio__set.is-on .radio__dial text{fill:#c9a46a}.radio__controls{justify-content:space-between;align-items:center;gap:4px;display:flex}.radio__seek,.radio__power{width:30px;height:30px;color:var(--text);letter-spacing:-2px;cursor:pointer;background:radial-gradient(circle at 35% 30%,#2c332e,#0c0f0d);border:1px solid #000;border-radius:50%;flex:none;place-items:center;padding:0;font-size:10px;display:grid;box-shadow:0 2px 4px #000000b3,inset 0 1px #ffffff14}.radio__seek:active,.radio__power:active{transform:translateY(1px)}.radio__power{letter-spacing:0;color:#6a2a32;font-size:15px}.radio__power.is-on{color:var(--miss);text-shadow:var(--glow-red)}.knob{flex:none;justify-items:center;gap:3px;display:grid}.knob__body{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;outline:none;position:relative}.knob__body:active{cursor:grabbing}.knob__body:focus-visible .knob__cap{box-shadow:0 0 0 2px var(--accent), 0 3px 8px #000c}.knob__ticks{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.knob__ticks line{stroke:var(--line-hot);stroke-width:4px;stroke-linecap:round}.knob__ticks line.is-lit{stroke:var(--phosphor);filter:drop-shadow(0 0 2px var(--phosphor))}.knob__cap{background:url(/ui/knob.webp?v=1) 50%/cover;border-radius:50%;position:absolute;inset:16%;box-shadow:0 3px 8px #000c}.knob__cap--big{inset:0}.knob__label{font:13px/1 var(--font-ui);color:var(--muted);letter-spacing:.05em;white-space:nowrap}@media (width<=640px){.radio__freq{display:none}.brand img{height:44%}.topbar__nav{gap:8px;font-size:16px}.radio__btn{padding:2px 6px}}@media (width<=400px){.brand img{height:34%}.topbar__nav{gap:6px;font-size:15px}}.card__author{color:var(--text);text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.card__author:hover{color:var(--phosphor)}.board__link{color:inherit}.board__link:hover{color:var(--phosphor);text-decoration:underline}.creator{flex-direction:column;gap:12px;display:flex}.creator__head{flex-direction:row;align-items:center;gap:18px}.creator__avatar{border:1px solid var(--line-hot);filter:grayscale()sepia()hue-rotate(70deg)saturate(2.5)brightness(.9);width:88px;height:88px;box-shadow:var(--glow);border-radius:4px}.creator__info{gap:4px;min-width:0;display:grid}.creator__info h1,.creator__info p{margin:0}.creator__rank{font:22px/1.2 var(--font-ui);color:var(--accent);text-shadow:0 0 6px #ffb00080}.creator__badges{gap:6px;margin-top:4px;display:flex}.creator .filters h2{margin:0}@media (width<=640px){.creator__avatar{width:60px;height:60px}}.board tr.is-link{cursor:pointer}.board tr.is-link:hover td,.board tr.is-link:focus-visible td{color:var(--phosphor);background:#59ff8a14}.board tr.is-link:focus-visible{outline:1px solid var(--phosphor)}.board tr.is-link.is-me:hover td{color:#000;background:#7dffa3}.topbar{gap:8px}.brand{flex-shrink:0}.topbar__nav{min-width:0}.login-btn{border:1px solid var(--phosphor);border-radius:var(--radius);color:var(--phosphor);font-family:var(--font-ui);white-space:nowrap;text-shadow:var(--glow);align-items:center;gap:6px;padding:3px 10px;font-size:18px;line-height:1.2;display:inline-flex;box-shadow:inset 0 0 8px #59ff8a26}.login-btn:hover{background:var(--phosphor);color:var(--bg);text-shadow:none}.login-btn svg{background:#fff;border-radius:2px;flex:none;padding:1px}@media (width<=400px){.login-btn{padding:4px 6px}.login-btn__text{display:none}}.logout__icon{font-size:18px;display:none}.mode{white-space:nowrap}@media (width<=640px){.logout__text{display:none}.logout__icon{display:inline}.me{gap:6px}.me img{width:22px;height:22px}.lb .chips{flex-wrap:wrap}}@media (width<=360px){.me img,.nav__play{display:none}.lang{padding:0 4px}}.grid--landscape{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.grid--landscape .card__cover{aspect-ratio:16/9}.grid--portrait{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.grid--portrait .card__cover{aspect-ratio:3/4}.grid--portrait .card--skeleton{height:320px}.card__cover--portrait img{object-fit:cover}@media (width<=640px){.grid--landscape{grid-template-columns:1fr}.grid--portrait{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}.cctv{z-index:2;pointer-events:none;border-radius:10px;position:absolute;inset:0;overflow:hidden}.cctv__noise{background:var(--noise) repeat;opacity:.16;mix-blend-mode:overlay;background-size:256px 256px;animation:.6s steps(6,end) infinite grain;position:absolute;inset:-50%}@keyframes grain{0%{transform:translate(0)}17%{transform:translate(-7%,4%)}33%{transform:translate(5%,-9%)}50%{transform:translate(-11%,-3%)}67%{transform:translate(9%,7%)}83%{transform:translate(-3%,11%)}to{transform:translate(0)}}.cctv__band{mix-blend-mode:screen;background:linear-gradient(#0000,#ffffff12 45%,#ffffff1f 50%,#0000);height:10%;animation:8s linear infinite band;position:absolute;top:-12%;left:0;right:0}@keyframes band{0%{top:-12%}70%,to{top:112%}}.fx--cctv .stage__canvas>img{animation:5s ease-in-out infinite agc}@keyframes agc{0%,to{filter:contrast(1.08)saturate(.85)brightness()}50%{filter:contrast(1.12)saturate(.8)brightness(1.07)}}.cctv__osd{font:17px/1 var(--font-ui);letter-spacing:.08em;color:#ffffffd1;text-shadow:1px 1px #000,0 0 4px #000c;position:absolute}.cctv__osd--tl{top:10px;left:12px}.cctv__osd--tr{top:10px;right:12px}.cctv__osd--tr i{color:#ff2e4d;font-style:normal;animation:1s step-end infinite blink}.cctv__osd--bl{bottom:10px;left:12px}.stage:not(.fx--none) .lens:before{content:"";z-index:1;background:var(--noise) repeat;opacity:.05;mix-blend-mode:overlay;pointer-events:none;background-size:256px 256px;border-radius:50%;position:absolute;inset:0}@media (width<=640px){.cctv__osd{font-size:12px}.cctv__osd--tl,.cctv__osd--tr{top:6px}.cctv__osd--bl{bottom:6px}}@media (prefers-reduced-motion:reduce){.cctv__noise,.cctv__band,.stage__canvas>img,.cctv--camcorder .cctv__osd--tl{animation:none}}.fx--camcorder .stage__canvas>img{filter:sepia(.22)saturate(1.15)contrast(1.06)brightness(1.03)}.cctv--camcorder .cctv__noise{opacity:.11}.cctv--camcorder .cctv__band{background:linear-gradient(#0000,#ffffff29,#0000);height:5%;animation:2.6s steps(12,end) infinite band-low}@keyframes band-low{0%,to{top:86%}50%{top:90%}}.cctv--camcorder .cctv__osd{color:#fff;font-size:20px}.cctv--camcorder .cctv__osd--tl{animation:1.4s step-end infinite blink}.cctv__osd--br{text-align:right;line-height:1.15;bottom:12px;right:14px}.fx--nightvision .stage__canvas>img{filter:grayscale()sepia()hue-rotate(65deg)saturate(3.2)brightness(1.15)contrast(1.25)}.cctv--nightvision .cctv__noise{opacity:.28}.cctv--nightvision .cctv__osd{color:#c8ffd2}.fx-preview{background:#000;border-radius:6px;width:220px;max-width:100%;position:relative;overflow:hidden}.fx-preview img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.fx-preview .cctv{border-radius:6px}.fx-preview .cctv__osd{font-size:11px}.fx-preview.fx--cctv img{filter:contrast(1.1)saturate(.82)}.fx-preview.fx--camcorder img{filter:sepia(.22)saturate(1.15)contrast(1.06)brightness(1.03)}.fx-preview.fx--nightvision img{filter:grayscale()sepia()hue-rotate(65deg)saturate(3.2)brightness(1.15)contrast(1.25)}.fx-pick{gap:8px;display:grid}.fx-pick p{margin:0}.pill{border:1px solid var(--line-hot);font:16px/1.4 var(--font-ui);letter-spacing:.05em;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:1px 10px;display:inline-flex}.pill--live{color:var(--miss);text-shadow:0 0 6px #ff2e4d80;border-color:#5a1220}.pill--live:before{content:"●";animation:1.4s step-end infinite blink}.pill--anomaly{color:#fff;border-color:var(--miss);background:#ff2e4d40}.ed{height:calc(100dvh - var(--head-h));--canvas-h:calc(100dvh - var(--head-h) - 190px);flex-direction:column;display:flex;position:relative}.ed-head{border-bottom:1px solid var(--line);background:#030604bf;align-items:center;gap:10px;padding:10px 16px;display:flex}.ed-back{font:26px/1 var(--font-ui);color:var(--muted);padding:0 6px}.ed-back:hover{color:var(--phosphor)}.ed-title{width:auto;min-width:0;font:28px/1.1 var(--font-ui);color:var(--phosphor);text-shadow:var(--glow);background:0 0;border:1px solid #0000;flex:0 460px;padding:4px 8px}.ed-title:hover{border-color:var(--line)}.ed-title:focus{border-color:var(--line-hot);box-shadow:none}.ed-save{font:16px/1 var(--font-ui);color:var(--muted);min-width:90px}.ed-save.is-saving{color:var(--accent)}.ed-save.is-error{color:var(--miss)}.ed-body{flex:1;grid-template-columns:210px minmax(0,1fr) 300px;min-height:0;display:grid}.ed-rail{border-right:1px solid var(--line);background:#00000059;flex-direction:column;gap:10px;padding:14px 12px;display:flex;overflow-y:auto}.ed-rail__head{font:18px/1 var(--font-ui);letter-spacing:.06em;justify-content:space-between;display:flex}.ed-add{border:1px dashed var(--line-hot);height:54px;color:var(--phosphor);font:19px/1 var(--font-ui);letter-spacing:.04em;cursor:pointer;background:#59ff8a0a;border-radius:6px;position:relative;overflow:hidden}.ed-add:hover:not(:disabled){border-color:var(--phosphor);background:#59ff8a17}.ed-add:disabled{cursor:progress}.ed-add b{vertical-align:-2px;font-size:24px}.ed-add span{position:relative}.ed-add__bar{background:#59ff8a2e;transition:width .3s;position:absolute;inset:0 auto 0 0}.ed-error{color:var(--miss);margin:0;font-size:13px}.ed-scenes{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ed-scene{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:26px 1fr;align-items:center;gap:6px;padding:4px;display:grid;position:relative}.ed-scene:hover{background:#59ff8a0d}.ed-scene.is-on{border-color:var(--phosphor);color:var(--phosphor);box-shadow:var(--glow);background:#59ff8a14}.ed-scene__n{font:17px/1 var(--font-ui)}.ed-scene img{aspect-ratio:16/10;object-fit:cover;background:#000;border-radius:4px;width:100%}.ed-scene__tag{font:13px/1.4 var(--font-ui);color:var(--muted);background:#000000bf;border-radius:3px;padding:0 6px;position:absolute;bottom:8px;left:36px}.ed-scene__tag.is-anomaly{background:var(--miss);color:#fff}.ed-rail__order{margin-top:auto}.ed-canvas{flex-direction:column;gap:12px;min-width:0;padding:16px 22px;display:flex;overflow-y:auto}.ed-tools,.ed-hint{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ed-tools b{font:22px/1 var(--font-ui);color:var(--phosphor);font-weight:400}.ed-stage{justify-content:center;display:flex}.ed-stage .boxed{box-shadow:0 0 0 1px var(--line), 0 12px 40px #0009;border-radius:6px;overflow:visible}.ed-stage .boxed>img{border-radius:6px}.boxed .cctv{z-index:1;border-radius:6px}.boxed__box{z-index:2}.fx--cctv .boxed>img{filter:contrast(1.1)saturate(.82)}.fx--camcorder .boxed>img{filter:sepia(.22)saturate(1.15)contrast(1.06)brightness(1.03)}.fx--nightvision .boxed>img{filter:grayscale()sepia()hue-rotate(65deg)saturate(3.2)brightness(1.15)contrast(1.25)}.ed-empty{border:2px dashed var(--line-hot);min-height:360px;color:var(--text);font:inherit;cursor:pointer;text-align:center;background:#59ff8a08;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.ed-empty:hover{border-color:var(--phosphor)}.ed-empty__icon,.st-empty__icon{font-size:46px}.ed-empty b{font:30px/1.1 var(--font-ui);color:var(--phosphor);text-shadow:var(--glow);font-weight:400}.ed-steps{counter-reset:step;text-align:left;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.ed-steps li{counter-increment:step;align-items:baseline;gap:10px;display:flex}.ed-steps li:before{content:counter(step);border:1px solid var(--line-hot);width:22px;height:22px;font:15px/1 var(--font-ui);color:var(--phosphor);border-radius:50%;flex:none;place-items:center;display:inline-grid}.ed-inspector{border-left:1px solid var(--line);background:#00000059;overflow-y:auto}.ed-inspector section{border-bottom:1px solid var(--line);gap:8px;padding:16px;display:grid}.ed-inspector section p{margin:0}.ed-inspector h3{letter-spacing:.08em;color:var(--muted);text-shadow:none;margin:0;font-size:17px}.fx-tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fx-tile{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#0006;border-radius:8px;gap:4px;padding:4px;display:grid}.fx-tile:hover{border-color:var(--line-hot)}.fx-tile.is-on{border-color:var(--phosphor);color:var(--phosphor);box-shadow:var(--glow)}.fx-tile .fx-preview{border-radius:5px;width:100%}.fx-tile .fx-preview .cctv__osd{font-size:9px}.fx-tile__name{font:16px/1.2 var(--font-ui);letter-spacing:.04em}.seg{border:1px solid var(--line-hot);border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:hidden}.seg button{color:var(--muted);font:17px/1.1 var(--font-ui);cursor:pointer;background:0 0;border:0;padding:8px 10px}.seg button+button{border-left:1px solid var(--line-hot)}.seg button.is-on{background:var(--phosphor);color:#000}.checks{gap:4px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.checks li{gap:8px;display:flex}.checks span{text-align:center;width:14px}.checks .is-ok{color:var(--phosphor)}.checks .is-todo{color:var(--accent)}.checks .is-soft{color:var(--muted)}.ed-danger{border-bottom:0!important}.link.danger{color:var(--miss);justify-self:start;font-size:16px}.ed-dropzone{z-index:30;border:3px dashed var(--phosphor);pointer-events:none;font:36px/1 var(--font-ui);color:var(--phosphor);text-shadow:var(--glow);background:#050c07e0;border-radius:14px;place-items:center;display:grid;position:absolute;inset:10px}@media (width<=1000px){.ed{--canvas-h:60dvh;height:auto}.ed-head{flex-wrap:wrap}.ed-title{flex:calc(100% - 50px);font-size:24px}.ed-save{min-width:0}.ed-head .btn{padding:6px 10px}}@media (width<=640px){.ed-head .pill{display:none}.ed-body{grid-template-columns:1fr}.ed-rail{border-right:0;border-bottom:1px solid var(--line)}.ed-scenes{padding-bottom:4px;display:flex;overflow-x:auto}.ed-scenes li{flex:none;width:120px}.ed-scene{grid-template-columns:1fr}.ed-scene__n{background:#000000bf;padding:0 4px;position:absolute;top:8px;left:8px}.ed-scene__tag{left:8px}.ed-rail__order{justify-self:start;margin-top:0}.ed-canvas{padding:14px 12px;overflow:visible}.ed-inspector{border-left:0;border-top:1px solid var(--line)}.ed-hide-sm{display:none}}.st{max-width:980px}.st-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.st-head h1{margin:0}.st-head p{margin:4px 0 0}.st-create{gap:10px;width:100%;margin-bottom:18px;display:flex}.st-create input{flex:1;font-size:17px}.st-empty{text-align:center;align-items:center;gap:14px;padding:36px 20px}.st-empty h2{margin:0}.st-empty h2:before{content:none}.st-empty .st-create{max-width:520px;margin:8px 0 0}.st-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.st-row{border:1px solid var(--line);color:var(--text);background:#080e0ad9;border-radius:10px;grid-template-columns:120px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:8px 14px 8px 8px;transition:border-color .15s,box-shadow .15s;display:grid}.st-row:hover{border-color:var(--phosphor);box-shadow:var(--glow)}.st-row__cover{aspect-ratio:16/10;background:#000;border-radius:6px;place-items:center;font-size:26px;display:grid;overflow:hidden}.st-row__cover img{object-fit:cover;width:100%;height:100%}.st-row__main{gap:2px;min-width:0;display:grid}.st-row__main b{font:22px/1.2 var(--font-ui);color:var(--phosphor);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.st-row__go{font:24px/1 var(--font-ui);color:var(--muted)}.st-row:hover .st-row__go{color:var(--phosphor)}@media (width<=640px){.st-row{grid-template-columns:84px minmax(0,1fr) auto;gap:10px}.st-row__go{display:none}.st-create{flex-direction:column}}.badge--review{color:var(--accent)}.mod-note{border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);background:#ffb0000f;margin:0;padding:10px 12px}.mod-note--bad{border-color:var(--miss);color:var(--miss);background:#ff2e4d0f}.strip__flag{background:var(--accent);color:var(--accent-ink);border-radius:3px;padding:0 4px;font-size:13px;position:absolute;top:3px;right:3px}.admin{flex-direction:column;gap:16px;display:flex}.admin__item p{margin:0}.admin__flag{position:static}.admin__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.admin__scene{aspect-ratio:4/3;border:1px solid var(--line);background:#000;border-radius:3px;display:block;position:relative;overflow:hidden}.admin__scene.is-flagged{border:2px solid var(--accent)}.admin__scene img{object-fit:contain;width:100%;height:100%}.admin__scores{color:var(--accent);background:#000c;padding:2px 6px;font-size:12px;position:absolute;bottom:0;left:0;right:0}.admin__item .row input{flex:1;width:auto;min-width:180px}.pill--review{color:var(--accent);border-color:var(--accent)}.ed-scene__flag{background:var(--accent);color:var(--accent-ink);border-radius:3px;padding:0 4px;font-size:12px;position:absolute;top:3px;right:3px}.menu-btn{display:none}.topbar__links{display:contents}.topbar__nav .rec{order:-1}.topbar__nav .radio{order:1}.topbar__nav .lang{order:2}.topbar__nav .me,.topbar__nav .login-btn{order:3}@media (width<=640px){.topbar__nav .radio{order:0}.menu-btn{border:1px solid var(--line-hot);border-radius:var(--radius);width:38px;height:32px;color:var(--phosphor);cursor:pointer;background:#00000080;order:1;place-items:center;font-size:18px;display:inline-grid}.menu-btn[aria-expanded=true]{border-color:var(--phosphor);box-shadow:var(--glow)}.topbar__links{display:none}.topbar__links.is-open{z-index:40;border-bottom:1px solid var(--line-hot);background:#030604;flex-direction:column;align-items:stretch;padding:6px 16px 16px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 16px 30px #000000b3}.topbar__links.is-open>a{color:var(--text);border-bottom:1px dashed var(--line);padding:12px 4px;font-size:24px;display:block}.topbar__links.is-open .lang{align-self:flex-start;margin-top:12px;padding:4px 14px;font-size:20px}.topbar__links.is-open .me,.topbar__links.is-open .login-btn{align-self:flex-start;margin-top:12px}.topbar__links.is-open .me img{width:28px;height:28px;display:inline}.topbar__links.is-open .logout__text,.topbar__links.is-open .login-btn__text{font-size:20px;display:inline}.topbar__links.is-open .logout__icon{display:none}}.board{overflow-x:auto}@media (width<=400px){.lb .board th:nth-child(4),.lb .board td:nth-child(4){display:none}.board__name{max-width:120px}.board table{font-size:16px}.board th,.board td{padding:3px 5px}}.play__title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pill--bad{color:var(--miss);border-color:var(--miss)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.report-btn{border-radius:var(--radius);color:var(--muted);font:16px/1.2 var(--font-ui);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.report-btn:hover{color:var(--miss);border-color:var(--miss)}.play__report .report-btn__text{display:none}.report{border:1px solid var(--line-hot);border-radius:var(--radius);background:var(--panel);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);padding:0;overflow-x:hidden;box-shadow:0 20px 60px #000000b3}.report::backdrop{background:#000000b3}.report__form,.report__done{flex-direction:column;gap:12px;padding:16px;display:flex}.report__done{text-align:center;color:var(--phosphor);align-items:center;padding:28px 16px}.report__done p{margin:0}.report__reasons{grid-template-columns:1fr 1fr;gap:6px;display:grid}.report__reason{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:8px 10px;display:flex;position:relative}.report__reason input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:0}.report__reason span{flex-direction:column;gap:2px;display:flex}.report__reason small{color:var(--muted);font-size:12px;line-height:1.3}.report__reason.is-on{border-color:var(--miss);background:#ff2e4d14}.report__reason:focus-within{outline:2px solid var(--phosphor)}.report__check{align-items:flex-start;gap:8px;display:flex}.report__check input{width:auto;margin-top:3px}@media (width<=420px){.report__reasons{grid-template-columns:1fr}}.adm{flex-direction:column;gap:16px;display:flex}.adm h1,.adm h2{margin:0}.adm__head{flex-direction:column;gap:10px;display:flex}.adm__tabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.adm__tab{color:var(--muted);font:20px/1 var(--font-ui);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.adm__tab:hover{color:var(--text)}.adm__tab.is-on{color:var(--phosphor);border-bottom-color:var(--phosphor);text-shadow:var(--glow)}.adm__count{background:var(--miss);color:#fff;text-align:center;min-width:20px;text-shadow:none;border-radius:999px;padding:0 6px;font-size:14px;line-height:20px}.adm__tiles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.adm__tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);flex-direction:column;gap:2px;padding:14px;display:flex}a.adm__tile:hover{border-color:var(--line-hot)}.adm__tile.is-hot{border-color:var(--accent)}.adm__tile.is-hot .adm__tile-value{color:var(--accent)}.adm__tile-label{color:var(--muted);font-size:13px}.adm__tile-value{font:40px/1.05 var(--font-ui);color:var(--phosphor);font-variant-numeric:tabular-nums}.adm__tile-sub{color:var(--muted);font-size:12px}.adm__chart{gap:8px}.adm__bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:2px;height:120px;display:flex}.adm__bar-slot{outline:none;flex:1;align-items:flex-end;height:100%;display:flex;position:relative}.adm__bar{background:var(--phosphor);opacity:.75;border-radius:4px 4px 0 0;width:100%;min-height:2px}.adm__bar-slot:hover .adm__bar,.adm__bar-slot:focus .adm__bar{opacity:1;box-shadow:var(--glow)}.adm__bar-tip{border:1px solid var(--line-hot);border-radius:var(--radius);background:var(--bg);color:var(--text);white-space:nowrap;z-index:2;pointer-events:none;padding:4px 8px;font-size:12px;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.adm__bar-slot:first-child .adm__bar-tip{left:0;transform:none}.adm__bar-slot:last-child .adm__bar-tip{left:auto;right:0;transform:none}.adm__bar-slot:hover .adm__bar-tip,.adm__bar-slot:focus .adm__bar-tip{display:block}.adm__bars-axis{justify-content:space-between;display:flex}.adm__log{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.adm__log li{grid-template-columns:120px 1fr;gap:10px;display:grid}.adm__filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.adm__search{flex:1;width:auto;min-width:200px}.adm__note{flex:1;width:auto;min-width:180px}.adm__list{flex-direction:column;gap:12px;display:flex}.adm__report-head{align-items:center;gap:12px;display:flex}.adm__report-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.adm__thumb{object-fit:cover;border:1px solid var(--line);background:#000;border-radius:3px;flex:none;width:72px;height:48px}.adm__avatar{background:var(--bg-2);border-radius:3px;flex:none;width:36px;height:36px}.adm__reports{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.adm__reports li{border-top:1px dashed var(--line);grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:8px 0;display:grid}.adm__reports p{overflow-wrap:anywhere;margin:0}.adm__rows{flex-direction:column;gap:6px;display:flex}.adm__row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);align-items:center;gap:12px;padding:10px 12px;display:flex}.adm__row.is-banned{border-color:#ff2e4d80}.adm__row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.adm__row-main>*{text-overflow:ellipsis;overflow:hidden}.adm__row-actions{flex:none;gap:6px;display:flex}@media (width<=640px){.adm__tiles{grid-template-columns:1fr 1fr}.adm__tile-value{font-size:32px}.adm__row{flex-wrap:wrap}.adm__row-actions{justify-content:flex-end;width:100%}.adm__log li{grid-template-columns:1fr;gap:0}.adm__reports li{grid-template-columns:1fr}}.profile{justify-content:center;display:flex}.profile__card{gap:12px;width:min(520px,100%)}.profile__card h1,.profile__card p{margin:0}.profile__label{font:18px/1 var(--font-ui);color:var(--phosphor)}.profile__card .row input{flex:1;width:auto}.profile__check{cursor:pointer;align-items:center;gap:10px;display:flex}.profile__check input{width:auto}.profile__check img{border-radius:3px;width:28px;height:28px}.profile__preview{border:1px dashed var(--line-hot);border-radius:var(--radius);padding:8px 10px}.me__profile{color:var(--text);align-items:center;gap:8px;display:inline-flex}.me__name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font:18px/1 var(--font-ui);overflow:hidden}@media (width<=900px){.me__name{display:none}}.play-loading{height:100%;font:24px/1 var(--font-ui);letter-spacing:.06em;color:var(--phosphor);text-shadow:var(--glow);justify-content:center;align-items:center;gap:12px;display:flex}.play-loading__icon{animation:.8s step-end infinite blink}.mode--pending{color:var(--muted);animation:1.2s step-end infinite blink}.share{flex-wrap:wrap;gap:8px;display:inline-flex;position:relative}.share__panel{z-index:30;border:1px solid var(--line-hot);min-width:200px;box-shadow:0 14px 30px #000000b3, var(--glow);background:#050806;border-radius:8px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.share__item{color:var(--text);font:19px/1.1 var(--font-ui);letter-spacing:.04em;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 12px;display:block}.share__item:hover{color:var(--phosphor);background:#59ff8a1a}.share__item--line:before,.share__item--fb:before,.share__item--x:before{content:"";border-radius:50%;width:10px;height:10px;margin-right:10px;display:inline-block}.share__item--line:before{background:#06c755}.share__item--fb:before{background:#1877f2}.share__item--x:before{background:#e7e9ea}.results__share{flex-wrap:wrap;gap:10px;display:flex}.play__share{padding:4px 8px}.haunt li{position:relative}.haunt__share{position:absolute;top:6px;right:6px}.creator__head .creator__share{align-self:flex-start;margin-left:auto}.vs-banner{color:var(--accent);font:19px/1.3 var(--font-ui);letter-spacing:.04em;text-shadow:0 0 6px #ffb00080;background:#281c0099;border:1px solid #6b4a00;border-radius:6px;justify-content:center;align-items:center;gap:12px;padding:4px 12px;display:flex}.vs-result{border:1px solid var(--line-hot);font:22px/1.2 var(--font-ui);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.vs-result b{color:var(--accent);font-weight:400}.vs-result.is-win{border-color:var(--phosphor);box-shadow:var(--glow)}.vs-result.is-win .vs-result__verdict{color:var(--phosphor)}.vs-result.is-lose .vs-result__verdict{color:var(--miss)}.pub{border:1px solid var(--line-hot);width:min(440px,100vw - 32px);color:var(--text);box-shadow:var(--glow), 0 30px 60px #000c;background:#050806;border-radius:12px;padding:0}.pub::backdrop{background:#000000b3}.pub__body{gap:12px;padding:20px;display:grid}.pub__body p{margin:0}.pub__title{font:32px/1 var(--font-ui);color:var(--miss);text-shadow:var(--glow-red)}.pub__qr{background:#fff;border-radius:8px;justify-self:center;width:200px;padding:8px}.pub__qr svg{width:100%;height:auto;display:block}.pub__link{gap:8px;display:flex}.pub__link input{flex:1;min-width:0;font-size:14px}@media (width<=640px){.share__panel{left:auto;right:0}}.btn--countdown{position:relative;overflow:hidden}.btn--countdown:after{content:"";background:var(--accent);height:3px;box-shadow:0 0 6px var(--accent);transform-origin:0;animation:countdown var(--countdown,1.5s) linear forwards;position:absolute;inset:auto 0 0}@keyframes countdown{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
