:root{--bg:#0c101adb;--line:#ffffff1f;--text:#e8ecf4;--dim:#9aa5b8;--accent:#8fd6c8;--warn:#e6b566;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--text);background:#000;margin:0;overflow:hidden}#stage{width:100%;height:100%;display:block;position:fixed;inset:0}body.idle,body.idle *{cursor:none!important}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--line);cursor:pointer;background:#ffffff12;border-radius:10px;min-height:44px;padding:10px 14px;transition:background .2s}button:hover{background:#ffffff24}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.on{border-color:var(--accent);background:#8fd6c838}button.primary{background:var(--accent);color:#06222a;border:none;padding:14px 34px;font-size:1.15rem;font-weight:600}.start{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03050ab8;place-items:center;padding:24px;transition:opacity 1.2s;display:grid;position:fixed;inset:0;overflow:auto}.start.hide{opacity:0;pointer-events:none}.start .card{text-align:center;max-width:560px}.start h1{letter-spacing:.04em;margin:0 0 6px;font-size:2.6rem;font-weight:300}.start p{color:var(--dim);margin:10px 0;line-height:1.55}.start .note{border:1px solid var(--line);text-align:left;border-radius:12px;margin:18px 0;padding:12px 16px;font-size:.9rem}.start .row{flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0;display:flex}.start label{color:var(--dim);align-items:center;gap:8px;display:inline-flex}.bar{background:var(--bg);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;align-items:stretch;gap:10px;max-width:calc(100vw - 16px);padding:6px 10px;transition:opacity .6s;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.grp{border-right:1px solid var(--line);flex-direction:column;align-items:center;padding:0 4px;display:flex}.grp:last-of-type{border-right:none}.cap{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:2px 0 1px;font-size:.7rem}.grp .row{align-items:center;gap:2px;display:flex}.grp .val{text-overflow:ellipsis;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;width:136px;font-size:.88rem;overflow:hidden}.grp .val.num{width:56px}.stp{place-items:center;min-width:40px;min-height:40px;padding:6px;display:grid}.acts{align-items:center;gap:4px;display:flex}.act{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:68px;height:52px;padding:4px 2px;display:flex}.act .lbl{white-space:nowrap;font-size:.7rem;line-height:1}.ic{line-height:0;display:block}.ic svg{display:block}body.icons-only .act .lbl{display:none}body.icons-only .act{width:48px}.bar .rec{color:#ff9a9a;align-items:center;padding:0 6px;font-size:.85rem;display:none}.bar .rec.on{display:flex}@media (width<=1280px){.grp.narrow-hide{display:none}}@media (width<=720px){.grp .val{width:84px;font-size:.8rem}.act{width:48px}.act .lbl{display:none}}body.idle .bar,body.idle .panel:not(.open){opacity:0;pointer-events:none}body.bar-hidden .bar{display:none}.handle{opacity:.22;background:#0a0c1480;min-width:36px;min-height:36px;padding:4px 10px;font-size:1.1rem;line-height:1;display:none;position:fixed;bottom:10px;right:10px}.handle:hover,.handle:focus-visible{opacity:.8}body.bar-hidden .handle{display:block}body.idle .handle{opacity:0}.stopped{z-index:10;background:#000;place-items:center;display:grid;position:fixed;inset:0}.stopped button{opacity:.55;padding:16px 40px;font-size:1.1rem}.toast{background:var(--bg);border:1px solid var(--line);opacity:0;pointer-events:none;text-align:center;border-radius:12px;max-width:90vw;padding:10px 18px;transition:opacity .5s;position:fixed;top:22px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.panel a{color:var(--accent)}.panel{background:var(--bg);border-left:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;width:min(464px,100vw);transition:transform .35s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}.panel.open{transform:none}.phead{align-items:center;gap:8px;padding:10px 12px 0;display:flex}.phead strong{flex:1;font-size:1.05rem;font-weight:500}.phead .act{width:60px;height:46px}.tabs{grid-template-columns:repeat(var(--tabs,7), 1fr);gap:4px;padding:8px 10px 0;display:grid}.tabs button{text-overflow:ellipsis;white-space:nowrap;border-radius:10px;min-width:0;min-height:38px;padding:6px 1px;font-size:.76rem;overflow:hidden}.tabs button.on{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);background:#8fd6c838}@media (width<=480px){.tabs{grid-template-columns:repeat(4,1fr)}}.ghlink{color:var(--accent);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.ghlink svg{fill:currentColor;width:20px;height:20px}details{border:1px solid var(--line);border-radius:12px;margin:10px 0}summary{cursor:pointer;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);align-items:center;padding:10px 14px;font-size:.82rem;font-weight:600;list-style:none;display:flex}summary:before{content:"▸";margin-right:8px;font-size:.8rem;transition:transform .2s}details[open]>summary:before{transform:rotate(90deg)}summary.hint{text-transform:none;letter-spacing:0;padding:6px 0;font-weight:400}.sec{padding:2px 14px 12px}details details{border:none;margin:4px 0}.scenes{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.thumb{flex-direction:column;align-items:center;gap:4px;padding:4px;display:flex}.thumb canvas{background:#000;border-radius:6px;width:100%;height:auto;display:block}.thumb span{text-align:center;font-size:.78rem;line-height:1.2}.keys{border-collapse:collapse;font-size:.9rem}.keys td{vertical-align:top;padding:4px 10px 4px 0}.grid3 button{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.grid3 small{color:var(--dim);font-size:.78rem}.pages{flex:1;padding:14px 16px 90px;overflow-y:auto}.page{display:none}.page.on{display:block}.grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.grid button{text-align:left}.grid button small{color:var(--dim);margin-top:2px;font-size:.78rem;display:block}.chips{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.chips button{padding:6px}.chips i{border-radius:6px;height:18px;margin-bottom:4px;display:block}.chips span{font-size:.82rem}.slider{margin:12px 0}.slider label{justify-content:space-between;margin-bottom:4px;font-size:.92rem;display:flex}.slider output{color:var(--dim);font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:28px;accent-color:var(--accent)}select,input[type=text]{border:1px solid var(--line);background:#ffffff12;border-radius:10px;width:100%;padding:10px}select option{background:#151a26}.rowb{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.rowb button{flex:1}.hint{color:var(--dim);margin:8px 0;font-size:.85rem;line-height:1.5}.status{background:#ffffff0d;border-radius:8px;margin:8px 0;padding:8px 10px;font-size:.9rem}.meter{color:var(--dim);grid-template-columns:110px 1fr 14px;align-items:center;gap:8px;margin:6px 0;font-size:.82rem;display:grid}.meter .track{background:#ffffff14;border-radius:4px;height:8px;position:relative}.meter .track:after{content:"";background:var(--line);width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.meter .dot{background:var(--accent);border-radius:50%;width:12px;height:12px;margin-left:-6px;transition:left .5s linear;position:absolute;top:-2px}.meter .q{background:#555;border-radius:50%;width:10px;height:10px}.check{align-items:center;gap:10px;margin:10px 0;font-size:.92rem;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent)}kbd{background:#ffffff1a;border-radius:5px;padding:1px 7px;font-size:.85rem}@media (prefers-reduced-motion:reduce){.panel,.start,.bar,.stopped{z-index:10;background:#000;place-items:center;display:grid;position:fixed;inset:0}.stopped button{opacity:.55;padding:16px 40px;font-size:1.1rem}.toast{transition:none}}body:has(.panel.open) .bar{opacity:0;pointer-events:none}
