.tab-icon[data-v-a9ea48a4]{display:grid;place-items:center}.wave-err[data-v-18d7e90d]{font-size:calc(var(--u)*11.5);line-height:1.6;color:#d98a7a;max-width:calc(var(--u)*260)}.wave-ops[data-v-18d7e90d]{display:flex;align-items:center;gap:calc(var(--u)*10)}.wave-btn[data-v-18d7e90d]{height:calc(var(--u)*30);padding:0 calc(var(--u)*14);border-radius:calc(var(--u)*15);border:1px solid var(--accent-line);background:var(--accent-bg);color:var(--accent);font-size:calc(var(--u)*11.5)}.wave-btn--ghost[data-v-18d7e90d]{border-color:var(--line-2);background:transparent;color:var(--t3)}.spinner[data-v-7876436e]{position:absolute;width:22px;height:22px;border-radius:50%;border:2px solid rgba(23,18,10,.25);border-top-color:#17120a;animation:mgm-spin-data-v-7876436e .8s linear infinite}@keyframes mgm-spin-data-v-7876436e{to{transform:rotate(1turn)}}.fader[data-v-15009706]{position:relative;width:calc(var(--u)*45);height:calc(var(--u)*122);touch-action:none}.ticks[data-v-15009706]{position:absolute;left:50%;top:calc(var(--u)*8);transform:translateX(-50%);width:calc(var(--u)*20);height:calc(var(--u)*106);display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.tick[data-v-15009706]{height:1px;background:#2e2a26}.rail[data-v-15009706]{position:absolute;left:50%;top:calc(var(--u)*8);transform:translateX(-50%);width:calc(var(--u)*5);height:calc(var(--u)*106);border-radius:calc(var(--u)*2.5);background:#211f1c;overflow:hidden;display:flex;align-items:flex-end}.rail-fill[data-v-15009706]{width:100%;border-radius:calc(var(--u)*2.5);background:var(--accent)}.rail-thumb[data-v-15009706]{position:absolute;left:50%;transform:translateX(-50%);width:calc(var(--u)*22);height:calc(var(--u)*7);border-radius:calc(var(--u)*3.5);background:var(--t1);pointer-events:none;box-shadow:0 calc(var(--u)*2) calc(var(--u)*6) rgba(0,0,0,.45)}.fader.is-down .rail-thumb[data-v-15009706]{background:#fffdf8}.fader.is-down .rail-fill[data-v-15009706]{background:var(--accent-bright)}.quota-note[data-v-22c96993]{font-size:calc(var(--u)*10);color:var(--t3);line-height:1.5;padding-top:calc(var(--u)*2)}.value-now[data-v-291b3bf2]{text-align:center;font-family:var(--font-mono);font-size:calc(var(--u)*34);font-weight:500;color:var(--accent);padding:calc(var(--u)*6) 0 calc(var(--u)*14)}.value-range[data-v-291b3bf2]{width:100%;accent-color:var(--accent);height:calc(var(--u)*32)}.value-scale[data-v-291b3bf2]{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:calc(var(--u)*10);color:var(--t3);margin-bottom:calc(var(--u)*18)}.cta[data-v-291b3bf2]{width:100%}.login-lead[data-v-f26a5e86]{text-align:center;font-size:calc(var(--u)*15);font-weight:600;color:var(--t1)}.login-lead-sub[data-v-f26a5e86]{text-align:center;font-size:calc(var(--u)*11);color:var(--t3);margin-top:calc(var(--u)*6);margin-bottom:calc(var(--u)*14)}.login-qr[data-v-f26a5e86]{-webkit-touch-callout:default}.login-steps[data-v-f26a5e86]{display:flex;flex-direction:column;gap:calc(var(--u)*9);margin:calc(var(--u)*16) 0 calc(var(--u)*12);padding:0 calc(var(--u)*4)}.step[data-v-f26a5e86]{display:flex;align-items:flex-start;gap:calc(var(--u)*9);font-size:calc(var(--u)*12);line-height:1.5;color:var(--t2)}.step i[data-v-f26a5e86]{flex:0 0 calc(var(--u)*18);width:calc(var(--u)*18);height:calc(var(--u)*18);border-radius:calc(var(--u)*9);background:var(--accent-bg);color:var(--accent);font-family:var(--font-mono);font-size:calc(var(--u)*10);font-style:normal;font-weight:500;display:grid;place-items:center;margin-top:calc(var(--u)*1)}.step b[data-v-f26a5e86]{color:var(--t1);font-weight:500}.login-tip--sub[data-v-f26a5e86]{margin-top:calc(var(--u)*8);text-align:center;color:var(--t3);font-size:calc(var(--u)*11);line-height:1.6;min-height:calc(var(--u)*16)}.path-card[data-v-f26a5e86]{margin:calc(var(--u)*16) 0 calc(var(--u)*4);padding:calc(var(--u)*14);border-radius:calc(var(--u)*16);background:var(--accent-bg);border:1px solid var(--accent-line)}.path-head[data-v-f26a5e86]{display:flex;align-items:center;gap:calc(var(--u)*8);font-size:calc(var(--u)*12.5);color:var(--t1);font-weight:500;margin-bottom:calc(var(--u)*6)}.path-tag[data-v-f26a5e86]{flex:0 0 auto;font-size:calc(var(--u)*9.5);line-height:1;padding:calc(var(--u)*4) calc(var(--u)*6);border-radius:calc(var(--u)*6);background:var(--accent);color:var(--ink);font-weight:600}.path-body[data-v-f26a5e86]{font-size:calc(var(--u)*11);line-height:1.6;color:var(--t4)}.path-btn[data-v-f26a5e86]{width:100%;margin-top:calc(var(--u)*10);height:calc(var(--u)*38)}.alt-line[data-v-f26a5e86]{margin-top:calc(var(--u)*10);font-size:calc(var(--u)*11);line-height:1.6;color:var(--t3);text-align:center}.login-alt[data-v-f26a5e86]{margin-top:calc(var(--u)*16);padding-top:calc(var(--u)*14);border-top:1px solid var(--line-3);font-size:calc(var(--u)*10.5);line-height:1.7;color:var(--t3);text-align:center}.login-alt b[data-v-f26a5e86]{color:var(--t2);font-weight:500}.qr-loading[data-v-f26a5e86]{font-size:calc(var(--u)*12);color:#666}.mini-name[data-v-7d7551ba]{font-size:calc(var(--u)*12.5);color:var(--t1);margin-bottom:calc(var(--u)*4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-ops[data-v-7d7551ba]{display:flex;align-items:center;gap:calc(var(--u)*10);flex:0 0 auto}.login-btn[data-v-7d7551ba]{height:calc(var(--u)*30);border-radius:calc(var(--u)*15);border:1px solid var(--line-2);background:var(--surface-2);font-size:calc(var(--u)*11.5);padding:0 calc(var(--u)*12)}.rec-name[data-v-634e17a6]{font-size:calc(var(--u)*12.5);color:var(--t1);margin-bottom:calc(var(--u)*4);word-break:break-all}.set-row[data-v-3c1f0c00]{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*14);padding:calc(var(--u)*14) 0;width:100%;background:none;border:0;text-align:left}.set-row--btn[data-v-3c1f0c00]{color:var(--t1)}.set-text[data-v-3c1f0c00]{min-width:0}.set-label[data-v-3c1f0c00]{font-size:calc(var(--u)*13);color:var(--t1);margin-bottom:calc(var(--u)*4)}.set-sub[data-v-3c1f0c00]{font-size:calc(var(--u)*10.5);color:var(--t3);line-height:1.5}.set-meta[data-v-3c1f0c00]{display:flex;flex-direction:column;gap:calc(var(--u)*4);margin-top:calc(var(--u)*18);font-size:calc(var(--u)*10);color:var(--t6)}.act[data-v-7635705e]{justify-content:flex-start;padding:calc(var(--u)*14) 0;background:none;border:0;border-bottom:1px solid var(--line-3);text-align:left;width:100%;color:var(--t1)}.act-label[data-v-7635705e]{font-size:calc(var(--u)*13);margin-bottom:calc(var(--u)*4)}:root{--bg:#0c0b0a;--surface:#151412;--surface-2:#161513;--surface-3:#121110;--surface-4:#0f0e0d;--surface-5:#1b1916;--line:#26231f;--line-2:#2a2724;--line-3:#232120;--t1:#f7f5f1;--t2:#a19c93;--t3:#6e6961;--t4:#7a756c;--t5:#8a857c;--t6:#4a453c;--accent:#e8c268;--accent-bright:#f2b84b;--accent-bg:#211b10;--accent-line:#5a4a22;--chip-bg:#241d0f;--ink:#17120a;--font-cn:"Noto Sans SC","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",sans-serif;--font-latin:"Inter Tight","Inter",-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--u:calc(min(100vw, 560px)/390);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{height:100%;margin:0;background:#070706}body{font-family:var(--font-cn);color:var(--t1);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input{font-family:inherit;color:inherit}.app{position:relative;display:flex;flex-direction:column;width:100%;max-width:560px;margin:0 auto;height:100vh;height:100dvh;background:var(--bg);padding-top:var(--sat);overflow:hidden}@media(min-width:561px){body{background:#070706}.app{box-shadow:0 0 calc(var(--u)*40) rgba(0,0,0,.65)}}.screen{background:var(--bg)}.content,.screen{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.content{gap:calc(var(--u)*14);padding:calc(var(--u)*14) calc(var(--u)*20);overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain}.content::-webkit-scrollbar{width:0;height:0}.content--top8{padding-top:calc(var(--u)*8)}.content--practice{padding-top:calc(var(--u)*6);padding-bottom:max(calc(var(--u)*20),var(--sab))}.grow{flex:1 1 auto;min-height:0}.tabbar{flex:0 0 auto;padding:calc(var(--u)*12) calc(var(--u)*21) max(calc(var(--u)*21),var(--sab));display:flex;align-items:flex-start;background:var(--bg)}.tabbar .pill{width:100%;height:calc(var(--u)*62);background:var(--surface-2);border:1px solid var(--line-2);border-radius:calc(var(--u)*36);padding:calc(var(--u)*4)}.tab,.tabbar .pill{display:flex;align-items:center}.tab{flex:1;height:100%;border:0;padding:0;background:transparent;border-radius:calc(var(--u)*26);flex-direction:column;justify-content:center;gap:calc(var(--u)*4);color:var(--t5);font-family:inherit}.tab svg{display:block;width:calc(var(--u)*18);height:calc(var(--u)*18)}.tab span{font-size:calc(var(--u)*10);font-weight:500;letter-spacing:.04em;line-height:1}.tab.is-active{background:var(--accent);color:var(--ink)}.tab.is-active span{font-weight:600}.icon-btn{border:0;background:transparent;width:calc(var(--u)*26);height:calc(var(--u)*26);color:var(--t1)}.icon-btn,.round-btn{padding:0;display:grid;place-items:center;flex:0 0 auto}.round-btn{width:calc(var(--u)*36);height:calc(var(--u)*36);border-radius:calc(var(--u)*18);border:0;background:var(--surface-5);color:var(--accent)}.round-btn--ghost{background:transparent}.chip{height:calc(var(--u)*36);border-radius:calc(var(--u)*18);display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:calc(var(--u)*11);font-weight:500;border:1px solid var(--line-2);background:var(--surface-2);color:var(--t1);padding:0}.chip--ab{width:calc(var(--u)*84);color:var(--accent);background:var(--accent-bg);border-color:var(--accent-line)}.chip--ab:not(.is-on){color:var(--t3);background:var(--surface-2);border-color:var(--line-2)}.chip--speed{width:calc(var(--u)*84);font-family:var(--font-mono);font-size:calc(var(--u)*11.5);font-weight:500}.switch{width:calc(var(--u)*48);height:calc(var(--u)*28);border-radius:calc(var(--u)*14);border:0;padding:0;background:#26231f;position:relative;transition:background .18s;flex:0 0 auto}.switch:after{content:"";position:absolute;top:calc(var(--u)*4);left:calc(var(--u)*4);width:calc(var(--u)*20);height:calc(var(--u)*20);border-radius:calc(var(--u)*10);background:#8a857c;transition:transform .18s,background .18s}.switch.is-on{background:var(--accent)}.switch.is-on:after{transform:translateX(calc(var(--u)*20));background:var(--ink)}.cta{height:calc(var(--u)*54);flex:0 0 auto;border-radius:calc(var(--u)*27);border:0;background:var(--accent);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*8);font-size:calc(var(--u)*14);font-weight:600}.cta:disabled{background:#2a2724;color:var(--t3)}.cta svg{display:block}.stepper{display:flex;align-items:center;gap:calc(var(--u)*9)}.step-btn{width:calc(var(--u)*30);height:calc(var(--u)*30);border-radius:calc(var(--u)*15);border:0;padding:0;background:#211f1c;display:grid;place-items:center;color:var(--t1)}.step-btn.plus{background:var(--accent);color:var(--ink)}.step-btn:disabled{background:#1a1816;color:var(--t6)}.step-value{width:calc(var(--u)*58);text-align:center;font-family:var(--font-mono);font-size:calc(var(--u)*13);font-weight:500;color:var(--t1)}.sheet-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:40}.sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:560px;max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border-top-left-radius:calc(var(--u)*24);border-top-right-radius:calc(var(--u)*24);border-top:1px solid var(--line-2);padding-bottom:var(--sab);z-index:41;animation:sheet-in .2s ease-out}@keyframes sheet-in{0%{transform:translate(-50%,12%);opacity:.6}to{transform:translate(-50%);opacity:1}}.sheet-head{display:flex;align-items:center;justify-content:space-between;height:calc(var(--u)*56);flex:0 0 auto;padding:0 calc(var(--u)*20);border-bottom:1px solid var(--line-3)}.sheet-title{font-size:calc(var(--u)*15);font-weight:600}.sheet-body{padding:calc(var(--u)*18) calc(var(--u)*20) calc(var(--u)*24);overflow-y:auto;-webkit-overflow-scrolling:touch}.toast-host{position:fixed;left:50%;bottom:calc(var(--u)*120 + var(--sab));transform:translateX(-50%);z-index:60;display:flex;flex-direction:column;gap:calc(var(--u)*8);width:-moz-max-content;width:max-content;max-width:86vw;pointer-events:none}.toast{background:rgba(28,25,21,.96);border:1px solid var(--line-2);color:var(--t1);font-size:calc(var(--u)*12.5);line-height:1.45;padding:calc(var(--u)*10) calc(var(--u)*16);border-radius:calc(var(--u)*14);text-align:center;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(calc(var(--u)*8))}to{opacity:1;transform:translateY(0)}}.empty{flex:1 1 auto;min-height:calc(var(--u)*240);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u)*12);text-align:center;padding:calc(var(--u)*24)}.empty-title{font-size:calc(var(--u)*15);font-weight:500;color:var(--t1)}.empty-sub{font-size:calc(var(--u)*12);line-height:1.6;color:var(--t3);max-width:calc(var(--u)*240)}.empty .cta{margin-top:calc(var(--u)*6);padding:0 calc(var(--u)*28)}.skeleton{background:linear-gradient(90deg,#171513,#1e1b18 50%,#171513);background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite;border-radius:calc(var(--u)*8);color:transparent}@keyframes skeleton{0%{background-position:0 0}to{background-position:-200% 0}}.is-hidden{display:none!important}.track-head{justify-content:space-between;height:calc(var(--u)*48);flex:0 0 auto}.track-head,.track-id{display:flex;align-items:center}.track-id{gap:calc(var(--u)*12);min-width:0}.cover{width:calc(var(--u)*44);height:calc(var(--u)*44);border-radius:calc(var(--u)*12);-o-object-fit:cover;object-fit:cover;display:block;flex:0 0 auto}.cover,.cover--g1{background-image:linear-gradient(135deg,#8a5f2e,#3d2417)}.cover--g2{background-image:linear-gradient(135deg,#4d6b85,#1a2433)}.cover--g3{background-image:linear-gradient(135deg,#6b5294,#211a38)}.cover--g4{background-image:linear-gradient(135deg,#38706b,#142a29)}.track-meta{display:flex;flex-direction:column;gap:calc(var(--u)*3);min-width:0}.track-title{font-family:var(--font-latin);font-size:calc(var(--u)*16);font-weight:600;color:var(--t1);line-height:1.15}.track-artist,.track-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:calc(var(--u)*11);color:var(--t2);line-height:1.2}.wave-card{flex:1 1 auto;min-height:calc(var(--u)*186);background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--u)*20);padding:calc(var(--u)*16);display:flex;flex-direction:column;gap:calc(var(--u)*8);position:relative;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;height:calc(var(--u)*18);flex:0 0 auto}.card-label{font-size:calc(var(--u)*11.5);font-weight:500;color:var(--t2);line-height:1}.card-meta{font-family:var(--font-mono);font-size:calc(var(--u)*9.5);color:var(--t3);line-height:1}.card-meta--accent{color:var(--accent)}.ref-pick{border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:calc(var(--u)*4);font-family:inherit;font-size:calc(var(--u)*11.5);font-weight:500;color:var(--t2)}.wave-wrap{position:relative;flex:1 1 auto;min-height:calc(var(--u)*96);touch-action:none}.wave-wrap canvas{display:block;width:100%;height:100%}.time-row{display:flex;align-items:center;justify-content:space-between;height:calc(var(--u)*18);flex:0 0 auto}.time-now{font-size:calc(var(--u)*12);font-weight:500;color:var(--accent)}.time-now,.time-total{font-family:var(--font-mono)}.time-total{font-size:calc(var(--u)*11);color:var(--t3)}.wave-empty{position:absolute;inset:0;flex-direction:column;justify-content:center;gap:calc(var(--u)*8);font-size:calc(var(--u)*11.5);color:var(--t3);text-align:center;padding:0 calc(var(--u)*24)}.transport,.wave-empty{display:flex;align-items:center}.transport{height:calc(var(--u)*62);flex:0 0 auto}.transport .mid{flex:1;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*16)}.play-btn{width:calc(var(--u)*56);height:calc(var(--u)*56);border-radius:calc(var(--u)*28);border:0;padding:0;background:var(--accent);display:grid;place-items:center;flex:0 0 auto}.play-btn:disabled{background:#2a2724}.rack-head{display:flex;align-items:center;justify-content:space-between;height:calc(var(--u)*18);flex:0 0 auto}.rack-title{font-size:calc(var(--u)*12);font-weight:500;color:var(--t2)}.rack-action{font-size:calc(var(--u)*11);color:var(--accent);background:none;border:0;padding:0}.rack{display:flex;gap:calc(var(--u)*6);height:calc(var(--u)*204);flex:0 0 auto}.strip{flex:1;height:100%;background:var(--surface-3);border:1px solid var(--line-2);border-radius:calc(var(--u)*16);padding:calc(var(--u)*10);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u)*8);min-width:0}.strip-name{font-size:calc(var(--u)*12);color:var(--t1);background:none;border:0;padding:0;white-space:nowrap}.strip-name,.strip-val{font-weight:500;line-height:1}.strip-val{font-family:var(--font-mono);font-size:calc(var(--u)*11);color:var(--t2)}.fader{position:relative;width:calc(var(--u)*45);height:calc(var(--u)*122);touch-action:none}.fader .ticks{position:absolute;left:50%;top:calc(var(--u)*8);transform:translateX(-50%);width:calc(var(--u)*20);height:calc(var(--u)*106);display:flex;flex-direction:column;justify-content:space-between}.fader .tick{height:1px;background:#2e2a26}.fader .track{top:calc(var(--u)*8);height:calc(var(--u)*106);background:#211f1c}.fader .fill,.fader .track{position:absolute;left:50%;transform:translateX(-50%);width:calc(var(--u)*5);border-radius:calc(var(--u)*2.5)}.fader .fill{bottom:calc(var(--u)*8);background:var(--accent)}.fader .thumb{position:absolute;left:50%;transform:translateX(-50%);width:calc(var(--u)*22);height:calc(var(--u)*7);border-radius:calc(var(--u)*3.5);background:var(--t1)}.strip.is-muted{background:var(--surface-4);border-color:var(--line-3)}.strip.is-muted .strip-name{color:var(--t3)}.strip.is-muted .fader .fill{background:#3a3630}.strip.is-muted .fader .thumb{background:#544f47}.strip.is-muted .strip-val{font-family:var(--font-cn);font-size:calc(var(--u)*10);font-weight:400;color:var(--t3)}.strip.is-absent{opacity:.45}.params{display:flex;gap:calc(var(--u)*8);height:calc(var(--u)*54);flex:0 0 auto}.param{flex:1;height:100%;border-radius:calc(var(--u)*14);background:var(--surface);border:1px solid var(--line-3);padding:calc(var(--u)*9) calc(var(--u)*12);display:flex;flex-direction:column;justify-content:center;gap:calc(var(--u)*2);text-align:left;overflow:hidden}.param-label{font-size:calc(var(--u)*9.5);color:var(--t3);line-height:1}.param-value{font-family:var(--font-mono);font-size:calc(var(--u)*13);font-weight:500;color:var(--t1);line-height:1.15;white-space:nowrap}.page-head{display:flex;align-items:center;justify-content:space-between;height:calc(var(--u)*52);flex:0 0 auto}.page-title{font-size:calc(var(--u)*26);font-weight:600;color:var(--t1);line-height:1.2;margin:0}.search{height:calc(var(--u)*46);flex:0 0 auto;border-radius:calc(var(--u)*16);background:var(--surface);border:1px solid var(--line-3);display:flex;align-items:center;gap:calc(var(--u)*10);padding:0 calc(var(--u)*14)}.search svg{flex:0 0 calc(var(--u)*18)}.search input{flex:1;min-width:0;border:0;background:transparent;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:calc(var(--u)*12);color:var(--t1)}.search input::-webkit-search-cancel-button{-webkit-appearance:none}.search input::-moz-placeholder{color:var(--t3)}.search input:-ms-input-placeholder{color:var(--t3)}.search input::placeholder{color:var(--t3)}.segments{display:flex;align-items:center;gap:calc(var(--u)*22);height:calc(var(--u)*34);flex:0 0 auto;overflow-x:auto;scrollbar-width:none}.segments::-webkit-scrollbar{display:none}.seg{position:relative;border:0;background:none;padding:0;height:calc(var(--u)*34);display:flex;align-items:center;flex:0 0 auto;font-family:inherit;font-size:calc(var(--u)*12.5);color:var(--t4);line-height:1}.seg.is-on{color:var(--t1);font-weight:500}.seg.is-on:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:calc(var(--u)*2.5);border-radius:calc(var(--u)*2);background:var(--accent)}.guest-hint{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*10);min-height:calc(var(--u)*38);padding:calc(var(--u)*8) calc(var(--u)*12);border-radius:calc(var(--u)*12);background:var(--accent-bg);border:1px solid var(--accent-line);line-height:1.5;color:var(--t4)}.guest-hint,.guest-login{flex:0 0 auto;font-size:calc(var(--u)*11)}.guest-login{border:0;background:var(--accent);color:var(--ink);font-weight:600;height:calc(var(--u)*26);padding:0 calc(var(--u)*12);border-radius:calc(var(--u)*13)}.section-label{font-size:calc(var(--u)*11);color:var(--t4);line-height:1;height:calc(var(--u)*15);flex:0 0 auto}.section-row{display:flex;align-items:center;justify-content:space-between;height:calc(var(--u)*18);flex:0 0 auto}.section-sort{font-size:calc(var(--u)*11);color:var(--t2);background:none;border:0;padding:0}.resume{height:calc(var(--u)*84);flex:0 0 auto;border-radius:calc(var(--u)*18);background:var(--surface);border:1px solid var(--line);padding:calc(var(--u)*12) calc(var(--u)*14) calc(var(--u)*12) calc(var(--u)*12);display:flex;align-items:center;gap:calc(var(--u)*12)}.resume .cover{width:calc(var(--u)*60);height:calc(var(--u)*60);border-radius:calc(var(--u)*14)}.resume-meta{flex:1;display:flex;flex-direction:column;gap:calc(var(--u)*5);min-width:0}.resume-title{font-family:var(--font-latin);font-size:calc(var(--u)*14);font-weight:600;color:var(--t1);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-sub{font-size:calc(var(--u)*10.5);color:var(--t2);line-height:1.2}.resume-play{width:calc(var(--u)*30);height:calc(var(--u)*30);border:0;background:none;padding:0;flex:0 0 calc(var(--u)*30)}.song-list{display:flex;flex-direction:column;gap:calc(var(--u)*8)}.song{display:flex;align-items:center;gap:calc(var(--u)*12);height:calc(var(--u)*68);flex:0 0 auto;width:100%;border:0;background:none;padding:0;text-align:left}.song .cover{width:calc(var(--u)*48);height:calc(var(--u)*48);border-radius:calc(var(--u)*12)}.song.is-picked .song-title{color:var(--accent)}.song-meta{flex:1;display:flex;flex-direction:column;gap:calc(var(--u)*4);min-width:0}.song-title{font-size:calc(var(--u)*13.5);font-weight:500;color:var(--t1);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-title--latin{font-family:var(--font-latin);font-weight:600}.song-sub{font-size:calc(var(--u)*10.5);color:var(--t3);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-tail{flex:0 0 auto;display:flex;align-items:center;gap:calc(var(--u)*8)}.task-badge{font-size:calc(var(--u)*10);line-height:1;padding:calc(var(--u)*5) calc(var(--u)*8);border-radius:calc(var(--u)*8);background:var(--accent-bg);color:var(--accent);white-space:nowrap}.task-badge--fail{background:#2a1512;color:#d98a7a}.task-badge--queue{background:#1d1b18;color:var(--t4)}.practice-head{display:flex;align-items:center;gap:calc(var(--u)*10);height:calc(var(--u)*40);flex:0 0 auto}.back{border:0;background:none;padding:0;width:calc(var(--u)*24);height:calc(var(--u)*24);display:grid;place-items:center;color:var(--t1);flex:0 0 auto}.practice-title{flex:1;font-size:calc(var(--u)*17);font-weight:600;color:var(--t1);line-height:1.2}.save-preset{border:0;background:none;padding:0;font-size:calc(var(--u)*11);color:var(--accent)}.loop-card{min-height:calc(var(--u)*190);flex:0 0 auto;border-radius:calc(var(--u)*20);background:var(--surface);border:1px solid var(--line);padding:calc(var(--u)*16);display:flex;flex-direction:column;gap:calc(var(--u)*8);overflow:hidden}.loop-readout{gap:calc(var(--u)*16);height:calc(var(--u)*46);flex:0 0 auto}.loop-readout,.point{display:flex;align-items:center}.point{gap:calc(var(--u)*7)}.point-tag{font-family:var(--font-latin);font-size:calc(var(--u)*10);font-weight:700;color:var(--t3);line-height:1}.point-time{font-family:var(--font-mono);font-size:calc(var(--u)*23);font-weight:500;color:var(--t1);line-height:1.1}.dash,.point-time--empty{color:var(--t6)}.dash{font-family:var(--font-latin);font-size:calc(var(--u)*15);font-weight:300;line-height:1}.loop-bar{position:relative;height:calc(var(--u)*44);flex:0 0 auto;touch-action:none}.loop-track{left:0;right:0;background:#26231f}.loop-fill,.loop-track{position:absolute;top:50%;transform:translateY(-50%);height:calc(var(--u)*10);border-radius:calc(var(--u)*5)}.loop-fill{background:var(--accent)}.loop-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(var(--u)*16);height:calc(var(--u)*44);display:grid;place-items:center}.loop-handle:after{content:"";width:calc(var(--u)*3);height:calc(var(--u)*30);border-radius:calc(var(--u)*1.5);background:var(--t1)}.loop-play{position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(var(--u)*8);height:calc(var(--u)*8);border-radius:calc(var(--u)*4);background:var(--ink);pointer-events:none}.loop-foot{display:flex;align-items:center;justify-content:space-between;height:calc(var(--u)*16);flex:0 0 auto}.loop-hint{font-size:calc(var(--u)*9.5);color:var(--t3);line-height:1}.loop-len{font-family:var(--font-mono);font-size:calc(var(--u)*10);font-weight:500;color:var(--t2);line-height:1}.speed-card{height:calc(var(--u)*172);flex:0 0 auto;border-radius:calc(var(--u)*20);background:var(--surface);border:1px solid var(--line);padding:calc(var(--u)*16);display:flex;flex-direction:column;gap:calc(var(--u)*8)}.curve{flex:1 1 auto;min-height:calc(var(--u)*92)}.curve svg{display:block;width:100%;height:100%}.card-caption{font-size:calc(var(--u)*9.5);color:var(--t3);line-height:1.2}.steppers{border-radius:calc(var(--u)*20);background:var(--surface);border:1px solid var(--line);flex-direction:column}.step-row,.steppers{display:flex;flex:0 0 auto}.step-row{height:calc(var(--u)*64);align-items:center;justify-content:space-between;padding:0 calc(var(--u)*16)}.step-text{display:flex;flex-direction:column;gap:calc(var(--u)*3);min-width:0}.step-label{font-size:calc(var(--u)*11.5);font-weight:500;color:var(--t1);line-height:1}.step-sub{font-size:calc(var(--u)*9.5);color:var(--t3);line-height:1}.divider{height:1px;flex:0 0 1px;background:var(--line-3)}.metro{height:calc(var(--u)*78);flex:0 0 auto;border-radius:calc(var(--u)*20);background:var(--surface);border:1px solid var(--line);padding:0 calc(var(--u)*16);display:flex;align-items:center;justify-content:space-between}.metro-label{font-size:calc(var(--u)*11);color:var(--t2);line-height:1}.metro-text{display:flex;flex-direction:column;gap:calc(var(--u)*4)}.metro-read{display:flex;align-items:center;gap:calc(var(--u)*7)}.metro-bpm{font-size:calc(var(--u)*19);font-weight:500;color:var(--t1);line-height:1.1}.metro-bpm,.metro-unit{font-family:var(--font-mono)}.metro-unit{font-size:calc(var(--u)*9.5);color:var(--t3);line-height:1}.metro-right{display:flex;align-items:center;gap:calc(var(--u)*10)}.metro-step{width:calc(var(--u)*26);height:calc(var(--u)*26);border-radius:calc(var(--u)*13);border:0;background:#211f1c;color:var(--t1);display:grid;place-items:center;padding:0}.profile-card{height:calc(var(--u)*96);flex:0 0 auto;border-radius:calc(var(--u)*20);background:var(--surface);padding:0 calc(var(--u)*16);display:flex;align-items:center;gap:calc(var(--u)*13);width:100%;text-align:left;border:1px solid var(--line)}.avatar{width:calc(var(--u)*56);height:calc(var(--u)*56);border-radius:calc(var(--u)*28);flex:0 0 calc(var(--u)*56);background-image:linear-gradient(135deg,#9c7a47,#382517);background-size:cover;background-position:50%}.profile-meta{flex:1;display:flex;flex-direction:column;gap:calc(var(--u)*7);align-items:flex-start;min-width:0}.profile-name{font-size:calc(var(--u)*15);font-weight:500;color:var(--t1);line-height:1.2}.plan-chip{height:calc(var(--u)*20);border-radius:calc(var(--u)*9);background:var(--chip-bg);padding:0 calc(var(--u)*8);display:inline-flex;align-items:center;font-size:calc(var(--u)*9.5);color:var(--accent);white-space:nowrap}.chev{width:calc(var(--u)*18);height:calc(var(--u)*18);flex:0 0 calc(var(--u)*18);color:var(--t3)}.stats{height:calc(var(--u)*88);flex:0 0 auto;border-radius:calc(var(--u)*20);background:var(--surface);border:1px solid var(--line);padding:calc(var(--u)*14) 0;display:flex}.stat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u)*5);min-width:0}.stat-value{font-family:var(--font-mono);font-size:calc(var(--u)*17);font-weight:500;color:var(--t1);line-height:1.1}.stat-label{font-size:calc(var(--u)*9.5);color:var(--t3);line-height:1}.quota{flex:0 0 auto;border-radius:calc(var(--u)*20);background:var(--surface);border:1px solid var(--line);padding:calc(var(--u)*14) calc(var(--u)*16);display:flex;flex-direction:column;gap:calc(var(--u)*9)}.quota-row{display:flex;align-items:center;justify-content:space-between;height:calc(var(--u)*16)}.quota-label{color:var(--t2)}.quota-label,.quota-value{font-size:calc(var(--u)*10.5)}.quota-value{font-family:var(--font-mono);font-weight:500;color:var(--t1)}.bar{height:calc(var(--u)*6);background:#26231f;overflow:hidden}.bar,.bar i{border-radius:calc(var(--u)*3)}.bar i{display:block;height:100%;background:var(--accent)}.menu{border-radius:calc(var(--u)*20);background:var(--surface);border:1px solid var(--line);overflow:hidden;flex:0 0 auto}.menu-row{height:calc(var(--u)*54);display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--u)*16);width:100%;background:none;border:0;font-size:calc(var(--u)*12.5);color:var(--t1);text-align:left}.menu-row .chev{color:#5a554d;width:calc(var(--u)*16);height:calc(var(--u)*16);flex:0 0 calc(var(--u)*16)}.menu .divider{background:var(--line-3)}.foot{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*6);padding:calc(var(--u)*6) 0 calc(var(--u)*4);flex:0 0 auto}.version{line-height:1}.legal,.version{font-size:calc(var(--u)*9.5);color:var(--t6);text-align:center}.legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:calc(var(--u)*6);line-height:1.4}.legal a{color:var(--t6);text-decoration:none}.legal .sep{color:#332f2a}.login-qr{width:calc(var(--u)*232);height:calc(var(--u)*232);margin:calc(var(--u)*6) auto calc(var(--u)*10);border-radius:calc(var(--u)*14);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.login-qr img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.login-qr--dead:after{content:"二维码已过期，点击刷新";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.92);color:#333;font-size:calc(var(--u)*12)}.login-tip{font-size:calc(var(--u)*12);line-height:1.7;color:var(--t2);text-align:center}.login-tip b{color:var(--t1);font-weight:500}.login-actions{display:flex;gap:calc(var(--u)*10);justify-content:center;margin-top:calc(var(--u)*14)}.login-btn{height:calc(var(--u)*38);border-radius:calc(var(--u)*19);border:1px solid var(--line-2);background:var(--surface-2);color:var(--t1);font-size:calc(var(--u)*12);padding:0 calc(var(--u)*16)}.login-btn--primary{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:600}.upload-panel{display:flex;flex-direction:column;gap:calc(var(--u)*10)}.upload-name{font-size:calc(var(--u)*12.5);color:var(--t1);word-break:break-all}.upload-bar{height:calc(var(--u)*6);border-radius:calc(var(--u)*3);background:#26231f;overflow:hidden}.upload-bar i{display:block;height:100%;background:var(--accent);transition:width .2s}.upload-hint{font-size:calc(var(--u)*11);color:var(--t3);line-height:1.6}.mini-list{display:flex;flex-direction:column}.mini-row{min-height:calc(var(--u)*52);display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*10);border-bottom:1px solid var(--line-3);font-size:calc(var(--u)*12.5)}.mini-row:last-child{border-bottom:0}.mini-sub{font-size:calc(var(--u)*10.5);color:var(--t3);line-height:1.5}.mini-del{border:0;background:none;color:#d98a7a;padding:0;flex:0 0 auto}.mini-del,.sheet-note{font-size:calc(var(--u)*11)}.sheet-note{color:var(--t3);line-height:1.7;margin:calc(var(--u)*8) 0 0}