:root{color-scheme:dark;--bg:#000;--fg:#f4f5f2;--sub:#838d83;--quiet:#586057;--line:#252c24;--accent:#c9fb5a;--alert:#ff9682;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0;background:var(--bg);color:var(--fg);overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app{height:100dvh;max-height:100dvh;padding:0 max(16px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;max-width:1180px;margin:auto;overflow:hidden}.header{height:57px;flex:none;display:flex;align-items:center;gap:15px;border-bottom:1px solid #1b211a}.back{font-size:23px;text-decoration:none;color:#aab4a8;line-height:1;min-width:25px}.brand{font-size:12px;letter-spacing:.12em;font-weight:800;white-space:nowrap}.mark{color:var(--accent);font-weight:500;font-size:25px;line-height:0;vertical-align:-2px;margin-right:3px}.head-actions{margin-left:auto;display:flex;align-items:center;gap:12px;flex-shrink:0}.head-actions button{background:none;border:0;color:#bfc8b9;font-size:10px;letter-spacing:.1em;padding:8px 0;font-weight:750;white-space:nowrap}#help{border:1px solid #3d463a!important;border-radius:50%;font-size:13px!important;width:28px;height:28px;display:grid;place-items:center;padding:0!important}.home,.loading{flex:1;min-height:0;display:grid;place-items:center}.home-content{width:min(100%,500px);transform:translateY(-1vh)}.kicker,.home label,.hint,.or,.file-picker,.load-stage,.load-detail,.quiet{font-size:10px;letter-spacing:.12em;font-weight:750}.kicker{color:#9caa91;display:flex;align-items:center;gap:9px}.dot{display:inline-block;background:var(--accent);width:6px;height:6px;border-radius:50%;box-shadow:0 0 8px #c9fb5a55}h1{font-weight:800;font-size:clamp(53px,11vw,88px);line-height:.99;letter-spacing:-.075em;margin:22px 0}.accent{color:var(--accent)}.intro{color:#9fa89d;line-height:1.55;font-size:15px;max-width:370px;margin:0 0 clamp(20px,4vh,44px)}.home label{display:block;color:var(--sub);margin-bottom:8px}.url-field{display:flex;align-items:stretch;border-bottom:1px solid #5a6657}.url-field:focus-within{border-bottom-color:var(--accent)}.url-field input{flex:1;min-width:0;border:0;padding:13px 0;background:transparent;color:var(--fg);font-size:15px;outline:0}.url-field input::placeholder{color:#656f64}.url-field button{border:0;background:var(--accent);color:#060905;padding:0 18px;font-size:12px;font-weight:850;letter-spacing:.06em;min-height:45px}.or{margin:19px 0;color:#535e53;display:flex;gap:15px;align-items:center}.or:before,.or:after{content:"";display:block;height:1px;background:#202720;flex:1}.file-picker{display:flex;width:100%;border:1px solid #343d32;background:transparent;color:#d1d9cd;align-items:center;justify-content:space-between;padding:13px 14px;min-height:45px}.file-picker span{font-size:21px;color:var(--accent);font-weight:400;line-height:0}.hint{color:#576156;font-size:9px;letter-spacing:.05em;font-weight:450;margin-top:12px}.error{color:var(--alert);min-height:18px;font-size:12px;line-height:1.4}.loading{text-align:center}.loader-wrap{width:min(100%,400px)}.loader-symbol{font-size:68px;color:var(--accent);animation:drift 2s ease-in-out infinite alternate}@keyframes drift{to{transform:rotate(12deg)}}.load-title{font-size:25px;font-weight:750;letter-spacing:-.04em;margin:12px 0 8px}.load-stage{color:var(--accent);min-height:14px}.load-track{height:2px;background:#283027;margin:28px auto 13px;width:min(100%,320px)}#load-fill{height:100%;background:var(--accent);width:0%;transition:width .2s linear}.load-detail{font-size:11px;color:var(--sub);letter-spacing:0;font-weight:450;line-height:1.5;min-height:32px}.quiet{background:transparent;color:#869180;border:0;padding:14px 20px;margin-top:15px}.player{flex:1;min-height:0;display:flex;flex-direction:column}.track-meta{height:62px;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:10px}.track-titles{min-width:0;flex:1}.source-name{font-size:9px;letter-spacing:.12em;color:var(--accent);font-weight:750;margin-bottom:7px}.track-meta h2{font-size:clamp(16px,3.1vw,20px);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.025em;margin:0;max-width:100%}.live-indicator{font-size:9px;color:#9da799;letter-spacing:.07em;font-weight:700;white-space:nowrap;display:flex;gap:7px;align-items:center}.stage{position:relative;flex:1;min-height:85px;display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stage-top,.stage-bottom{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;font-weight:750;letter-spacing:.12em;color:var(--sub)}.stage-top{padding:12px 0 0}.stage-bottom{padding:0 0 9px;font-variant-numeric:tabular-nums}#beat-map{min-height:42px;flex:1;min-width:0;width:100%;height:100%;touch-action:none}.play-panel{flex:none;display:flex;flex-direction:column}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);padding:13px 0 10px}.metrics>div{display:flex;align-items:baseline;gap:8px}.metrics b{font-size:24px;letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-weight:700}.metrics span{color:var(--sub);font-size:8px;letter-spacing:.1em;font-weight:750}.transport{display:flex;align-items:center;justify-content:center;gap:28px;padding:17px 0 10px}.transport-small{height:46px;width:46px;border-radius:50%;display:grid;place-items:center;background:none;border:1px solid #465044;color:#c8d1c2;font-size:27px;font-weight:400}.transport-main{height:54px;min-width:153px;border:0;border-radius:30px;background:var(--accent);color:#080c04;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:850;font-size:17px}.transport-main span{font-size:12px;letter-spacing:.14em}.progress-wrap{padding:3px 0 5px}input[type=range]{width:100%;appearance:none;-webkit-appearance:none;background:transparent;height:22px;margin:0;--fill:0%;cursor:pointer;touch-action:pan-y}input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--accent) var(--fill),#343d32 var(--fill))}input[type=range]::-moz-range-track{height:3px;background:#343d32}input[type=range]::-moz-range-progress{height:3px;background:var(--accent)}input[type=range]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border-radius:50%;background:var(--accent);border:3px solid #000;box-shadow:0 0 0 1px var(--accent);margin-top:-6px}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--accent);border:3px solid #000;box-shadow:0 0 0 1px var(--accent)}.parameter{padding:10px 0 9px}.param-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.1em;font-weight:750;color:#aeb8aa;margin-bottom:7px}.param-head output{color:var(--accent);font-variant-numeric:tabular-nums}.tune-panel{flex:none;min-height:261px;display:flex;flex-direction:column}.tune-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line)}.tune-tabs button{border:0;background:none;color:#727d6e;font-size:10px;font-weight:750;letter-spacing:.08em;padding:12px 0 11px;position:relative}.tune-tabs button.active{color:var(--fg)}.tune-tabs button.active:after{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);content:""}.settings-section{min-height:0;display:flex;flex-direction:column;justify-content:space-around;flex:1}.settings-section .parameter{padding:5px 0}.setting-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #20261f;min-height:43px;gap:10px;font-size:10px;color:#abb7a8;font-weight:750;letter-spacing:.06em}.setting-row select{border:none;background:#050805;color:#e2e7de;text-align:right;min-height:35px;padding:0 7px;font-size:12px}.number-control{display:flex;align-items:center;gap:6px}.number-control button{height:31px;width:31px;color:#d3e0c6;background:#10150d;border:1px solid #364132;font-size:18px}.number-control input{width:60px;color:#fff;background:transparent;border:0;text-align:center;font-size:16px}.number-control span{color:var(--quiet)}.outline{border:1px solid #46523f;background:none;color:var(--accent);padding:8px 12px;font-weight:800;font-size:9px;letter-spacing:.08em}.bottom-nav{height:51px;min-height:51px;display:flex;align-items:center;gap:26px;border-top:1px solid var(--line);margin-top:12px}.nav-button{height:100%;background:none;color:#778173;border:0;padding:0 0 2px;font-size:11px;font-weight:800;letter-spacing:.09em;position:relative}.nav-button.active{color:var(--fg)}.nav-button.active:after{position:absolute;content:"";height:2px;bottom:0;left:0;right:0;background:var(--accent)}#audio-message{font-size:10px;color:var(--alert);flex:1;min-width:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dialog{background:#080b07;color:var(--fg);border:1px solid #3d493a;width:min(calc(100% - 30px),490px);max-height:calc(100dvh - 25px);padding:22px;box-shadow:0 0 0 100vmax #000d;overflow-y:auto}dialog::backdrop{background:#000d}.dialog-head{display:flex;justify-content:space-between;align-items:center;color:var(--accent);letter-spacing:.12em;font-weight:750;font-size:10px}.dialog-head button{background:none;border:0;color:#e2eadd;font-size:25px}dialog h2{font-size:30px;letter-spacing:-.05em;margin:24px 0 13px}dialog p{line-height:1.55;font-size:14px;color:#adb7a8}dialog .muted{font-size:12px;color:var(--sub)}.primary{min-height:43px;background:var(--accent);border:0;color:#080a05;font-weight:800;padding:0 18px;margin-top:10px}#match-list{display:flex;flex-direction:column;gap:1px;margin:14px 0}#match-list button{display:flex;gap:10px;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #293026;background:none;padding:13px 0;text-align:left;color:var(--fg);font-size:13px}#match-list button small{color:var(--accent);flex:none}@media (min-width:760px){.player{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto 1fr auto;column-gap:55px}.track-meta{grid-column:1/-1}.stage{grid-column:1;grid-row:2/4;min-height:300px}.play-panel,.tune-panel{grid-column:2;grid-row:2;align-self:center}.bottom-nav{grid-column:2;grid-row:3}.home-content{transform:translateY(-3vh)}}@media (max-height:700px){.header{height:45px}.track-meta{height:48px;min-height:48px}.source-name{margin-bottom:4px}.metrics{padding:5px 0}.metrics b{font-size:20px}.transport{padding:5px 0 4px}.transport-small{height:38px;width:38px}.transport-main{height:43px}.parameter{padding:4px 0}.bottom-nav{margin-top:4px;height:37px;min-height:37px}.stage-top{padding-top:5px}.stage-bottom{padding-bottom:5px}.tune-panel{min-height:220px}.setting-row{min-height:38px}.tune-tabs button{padding:7px 0}}@media (max-height:575px){.header{height:40px}.home h1{font-size:49px;margin:12px 0}.intro{font-size:13px;margin:0 0 17px}.home-content{transform:none}.or{margin:9px 0}.url-field button,.file-picker{min-height:38px}.track-meta{height:42px;min-height:42px}.metrics b{font-size:17px}.metrics{padding:4px 0}.transport{gap:20px;padding:3px 0}.transport-small{width:34px;height:34px;font-size:22px}.transport-main{height:38px;min-width:124px}.progress-wrap{padding:0}.parameter{padding:2px 0}.stage-top,.stage-bottom{font-size:8px}.tune-panel{min-height:195px}.settings-section .parameter{padding:1px 0}.setting-row{min-height:35px}}@media (max-width:350px){.brand{font-size:10px}.header{gap:9px}.metrics b{font-size:19px}.metrics span{font-size:7px}.track-meta h2{font-size:15px}.live-indicator{font-size:8px}.intro{font-size:14px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.device-route{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:10px 0;border:0;border-top:1px solid #202720;background:none;color:#899488;text-align:left;font-size:10px;font-weight:750;letter-spacing:.08em}.device-route #route-state{color:var(--accent);white-space:nowrap}.command-box{margin:13px 0 10px;display:flex;align-items:stretch;gap:8px;background:#11170e;border:1px solid #34412d;padding:8px}.command-box code{min-width:0;flex:1;overflow-x:auto;white-space:nowrap;align-self:center;font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#d8e5d1;scrollbar-width:thin}.command-box button{flex:none;align-self:center;border:1px solid #5c704c;padding:9px 12px;background:#192316;color:var(--accent);font-size:10px;font-weight:800}.script-download{display:inline-block;color:#a9b69e;font-size:10px;letter-spacing:.07em;text-decoration:underline;text-underline-offset:4px}.device-error{min-height:18px;font-size:12px!important;color:var(--alert)!important;margin:12px 0 5px!important}.device-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.device-actions .primary{margin:0;flex:1}.device-actions .outline{min-height:43px}@media (max-height:575px){.device-route{padding:7px 0;margin-top:6px}#device-dialog{padding:15px}#device-dialog h2{margin:13px 0 8px;font-size:26px}#device-dialog p{margin:9px 0}}
