:root{--ok-blue: #56B4E9;--ok-orange: #E69F00;--ok-green: #009E73;--ok-yellow: #F0E442;--ok-verm: #D55E00;--ok-purple: #CC79A7;--panel: rgba(12, 16, 22, .72);--line: #3a4450}body:not(.dev) .panel,body:not(.dev) .perf,body:not(.dev) .status{display:none}body.dev .perf{left:var(--gl);top:calc(var(--gt) + 56px)}body.dev .status{left:var(--gl);top:calc(var(--gt) + 100px)}.playbtns{position:fixed;top:var(--gt);left:var(--gl);display:none;gap:8px;z-index:3}body.playing:not(.menu-open):not(.shot):not(.video):not(.video-nohud) .playbtns{display:flex}.pbtn{width:48px;height:48px;border-radius:8px;border:0;background:var(--panel);color:var(--fg);padding:0;font:800 13px ui-monospace,Menlo,Consolas,monospace;cursor:pointer}.pbtn[hidden]{display:none}.pbtn:focus-visible{outline:2px solid var(--ok-yellow);outline-offset:2px}.pausebtn{font-size:15px}.pitbtn{border:2px solid var(--ok-blue);color:#8fd0f5}.pitbtn[aria-pressed=true]{background:var(--ok-blue);color:#06141c}.resetbtn{position:fixed;top:calc(14% + 48px);left:50%;transform:translate(-50%);min-width:120px;height:52px;border-radius:10px;border:2px solid #fff;background:#aa1e1ee6;color:#fff;z-index:3;font:800 16px ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;cursor:pointer}.resetbtn[hidden]{display:none}body.menu-open .resetbtn,body.shot .resetbtn,body:not(.playing) .resetbtn{display:none}.rotate{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%);display:none;z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;max-width:80vw;text-align:center;font-size:14px}.rotate button{background:none;border:0;color:var(--dim);font-size:16px;margin-left:6px;cursor:pointer}@media(orientation:portrait){body.rotate-hint.playing:not(.menu-open) .rotate{display:block}}.screen{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box}.screen.hidden{display:none}.screen.loading{background:radial-gradient(ellipse at 50% 35%,#26313d,#10151c 70%)}.screen.error,.screen.ctx{background:#0a0d12e6;z-index:30}.screen.menu{background:linear-gradient(90deg,#0a0d12d1,#0a0d128c 55%,#0a0d1226);justify-content:flex-start}body.paused .screen.menu{background:#0a0d128c;justify-content:center}.screen .card{background:#10151cf0;border:1px solid var(--line);border-radius:12px;padding:20px 22px;width:min(460px,100%);max-height:100%;overflow:auto;box-sizing:border-box;box-shadow:0 10px 40px #00000073}.screen.menu .card{margin-left:max(0px,calc(8vw - 40px))}.screen.menu[data-view=help] .card,.screen.menu[data-view=credits] .card{width:min(720px,100%)}.screen h1{margin:0 0 4px;font-size:26px;letter-spacing:.02em}.screen h1 small{font-size:12px;font-weight:400;color:var(--dim);margin-left:6px}.screen h2{margin:0 0 12px;font-size:20px}.screen h3{margin:14px 0 6px;font-size:14px;color:var(--ok-blue)}.screen .sub{margin:0 0 16px;color:var(--dim)}.screen button{font:600 14px ui-monospace,Menlo,Consolas,monospace;color:var(--fg);background:#232c37;border:1px solid var(--line);border-radius:8px;padding:10px 14px;cursor:pointer;min-height:44px}.screen button:hover{background:#2c3744}.screen button:focus-visible,.screen select:focus-visible,.screen input:focus-visible{outline:2px solid var(--ok-yellow);outline-offset:2px}.screen button.primary{background:#0b6e55;border-color:var(--ok-green);color:#fff}.screen button.primary:hover{background:#0d8566}.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}.acts.hero button{flex:1 1 160px;font-size:16px;min-height:52px}.acts.col{flex-direction:column;align-items:stretch}.acts a,.links a{color:var(--ok-blue)}.links{display:flex;gap:10px;margin-top:14px}.trackpick{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap}.trackpick span{opacity:.75;margin-right:4px}.trackpick button{min-height:36px;padding:6px 12px}.trackpick button.on{border-color:var(--ok-blue);color:var(--ok-blue);font-weight:600}.links button{background:none;border-color:transparent;color:var(--ok-blue);text-decoration:underline;padding:6px 4px;min-height:36px}.progress{height:10px;background:#2a3039;border-radius:5px;overflow:hidden;margin:10px 0 8px}.progress i{display:block;height:100%;width:0;background:var(--ok-blue);transition:width .2s}.stage{color:var(--dim);font-size:12px;min-height:16px}.screen .msg{line-height:1.5}.screen .detail{color:var(--dim);font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:auto;margin:8px 0 0}.screen .detail:empty{display:none}.settings{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.settings label{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:32px}.settings label.chk{justify-content:flex-start;cursor:pointer}.settings select{background:#1c232c;color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:13px ui-monospace,Menlo,Consolas,monospace;min-height:34px;min-width:170px}.settings input[type=checkbox]{width:20px;height:20px;accent-color:var(--ok-green);margin:0}.settings .hint{color:var(--dim);font-size:11px;margin-top:-4px}.settings .kbd{color:var(--dim);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:11px;margin-left:auto}.settings fieldset.assists{border:1px solid var(--line);border-radius:8px;padding:6px 10px 8px;margin:0;display:grid;gap:6px;min-width:0}.settings legend{padding:0 4px;color:var(--dim)}.settings legend .apreset{color:var(--ok-blue);margin-left:4px}.settings .presets{display:flex;gap:6px;flex-wrap:wrap}.settings .presets button{flex:1 1 0;min-width:0;min-height:44px;padding:6px 4px;font-size:12px}.settings .presets button.on{border-color:var(--ok-blue);color:var(--ok-blue);background:#1c2a38}.settings .help2{display:grid;grid-template-columns:1fr;gap:2px}.settings .pct{gap:8px;justify-content:flex-end;min-height:0}.settings .pct input[type=range]{width:150px;accent-color:var(--ok-blue);margin:0;height:28px}.settings .pct output{min-width:4.5ch;text-align:right;color:var(--fg)}.settings .help2[data-on="0"] .pct{display:none}.settings .lt{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px}.settings .nl{color:var(--ok-orange);font-size:10px;border:1px solid var(--ok-orange);border-radius:3px;padding:0 4px;white-space:nowrap}.settings fieldset.assists select{width:150px;min-width:0;flex:none}.settings label>select{max-width:62%;min-width:0;text-overflow:ellipsis}.settings>*{min-width:0}@media(max-width:440px),(max-height:500px){.settings .presets{display:grid;grid-template-columns:1fr 1fr}.settings .presets button{min-height:44px}}.tablewrap{overflow-x:auto}table.help{border-collapse:collapse;width:100%;font-size:12px}table.help th,table.help td{text-align:left;padding:5px 8px;border-bottom:1px solid #262e38;vertical-align:top}table.help thead th{color:var(--ok-blue)}table.help tbody th{font-weight:600;white-space:nowrap}.note{color:var(--dim);font-size:12px}.credits{font-size:12px;line-height:1.5}.credits .notice{border-left:3px solid var(--ok-orange);padding:6px 10px;background:#e69f0014;margin:0 0 8px;font-size:13px}.credits ul{margin:0;padding-left:18px}.credits li{margin:3px 0}.credits a{color:var(--ok-blue)}.credits .small{color:var(--dim);font-size:11px}body.menu-open .touch,body.menu-open .warn{display:none}body:not(.playing):not(.shot) .touch{display:none}body.shot .screen.loading{display:none}@media(max-height:500px),(max-width:600px){.warn{top:42%;font-size:14px;padding:4px 10px}.resetbtn{top:calc(42% + 34px)}}@media(max-height:500px){.screen .card{padding:12px 16px}.screen.menu .card{width:min(780px,100%);margin-left:0}.screen.menu[data-view=pause] .card{width:min(520px,100%)}section[data-view=start]:not([hidden]){display:grid;grid-template-columns:1fr 1.1fr;column-gap:18px;grid-template-areas:"h form" "sub form" "acts form" "rl form" "tracks form" "links form";grid-template-rows:auto auto auto auto auto 1fr}section[data-view=start] .rl-box{grid-area:rl;margin-top:8px}section[data-view=start] .trackpick{grid-area:tracks;margin-top:8px}section[data-view=start] h1{grid-area:h;font-size:22px}section[data-view=start] .sub{grid-area:sub;margin-bottom:8px;font-size:12px}section[data-view=start] .acts.hero{grid-area:acts;flex-direction:column;align-items:stretch;margin-top:4px}section[data-view=start] .acts.hero button{flex:none;min-height:46px}section[data-view=start] .links{grid-area:links;align-self:end;margin-top:6px}section[data-view=start] .formslot{grid-area:form}section[data-view=start] .settings{margin-top:0;padding-top:0;border-top:0;gap:4px}.settings label{min-height:30px}.settings select{min-height:30px;padding:4px 6px}.acts.col{display:grid;grid-template-columns:1fr 1fr}.acts.col button{min-height:40px}.screen h2{margin-bottom:8px}}body:not(.playing):not(.shot) .warn{display:none}
