@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--raised:#fbfaf7;--panel:#f8f7f3;--well:#f1f0eb;--body:#ecebe6;--line:#dedcd5;--line-strong:#c9c6bd;--faint:#8a8882;--muted:#6e6c66;--text-2:#46443f;--ink:#18181a;--on-ink:#f8f7f3;--screen:#232427;--screen-line:#36383d;--screen-text:#f2efe6;--screen-dim:#8c8a83;--screen-signal:#ff7a45;--screen-pas:#4fd08a;--signal-tint:#ffe6db;--signal-hover:#ff7a45;--signal:#ff5b1f;--signal-pressed:#d9440f;--on-signal:#fff;--pas:#2fa866;--pas-tint:#ddf2e5;--pas-ink:#1d6b41;--cepat:#e8a317;--cepat-tint:#fbefd2;--cepat-ink:#7a5408;--lambat:#3b7be0;--lambat-tint:#dce7fa;--lambat-ink:#1f4c94;--missed:#a3a099;--meleset:#d93a2b;--meleset-tint:#f9ddd9;--meleset-ink:#8e2219;--star:#c9a227;--focus:#3b7be0;--pad-crash:#1f7a74;--pad-crash2:#3a9890;--pad-splash:#5aa79f;--pad-ride:#2c6a7f;--pad-rideBell:#4e8ea3;--pad-china:#6f8784;--pad-hihat:#9c7a2e;--pad-hihatOpen:#b58c3e;--pad-hihatPedal:#7c7660;--pad-snare:#3e5c8a;--pad-snare2:#7088b0;--pad-tom1:#6b4c8c;--pad-tom2:#85679f;--pad-tom3:#a086b5;--pad-kick:#18181a;--on-pad:#fff;--r-key:8px;--r-panel:14px;--r-pill:999px;--edge:0 1px 0 #18181a0a;--lift:0 24px 60px #18181a2e, 0 2px 8px #18181a14;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.12s;--dur-base:.2s;--font:"Inter Tight Variable", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Mono", Consolas, monospace;--bg:var(--body);--bg-elev:var(--raised);--card:var(--panel);--fill:var(--well);--fill-2:#e4e2dc;--text:var(--ink);--tint:var(--signal);--tint-2:var(--text-2);--material:#fbfaf7d1;--font-round:var(--font);--r-s:var(--r-key);--r-m:var(--r-key);--r-l:var(--r-panel);--shadow:var(--edge);font-family:var(--font);color:var(--ink);background:var(--body);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--raised:#25262a;--panel:#1c1d20;--well:#222326;--body:#141416;--line:#33353a;--line-strong:#44464c;--faint:#6f6d68;--muted:#9a978f;--text-2:#c4c1b9;--ink:#edebe5;--on-ink:#141416;--signal-tint:#3a2117;--signal-hover:#ff8a5c;--signal:#ff6a2e;--signal-pressed:#e0501a;--pas:#3dbe78;--pas-tint:#183326;--pas-ink:#8be0b1;--cepat:#f0b02a;--cepat-tint:#352a12;--cepat-ink:#f5cf7d;--lambat:#5b93ee;--lambat-tint:#18243a;--lambat-ink:#a9c6f6;--missed:#6f6d68;--meleset:#ef5545;--meleset-tint:#3a1a17;--meleset-ink:#f5a59c;--star:#e0b93a;--focus:#5b93ee;--pad-crash:#3ba39c;--pad-crash2:#5bbdb5;--pad-splash:#86cbc3;--pad-ride:#4d93ab;--pad-rideBell:#73b0c4;--pad-china:#94a8a5;--pad-hihat:#c29b4c;--pad-hihatOpen:#d8b46a;--pad-hihatPedal:#a39d84;--pad-snare:#6e8fc4;--pad-snare2:#93abd3;--pad-tom1:#9a7bc0;--pad-tom2:#af95ce;--pad-tom3:#c3aedc;--pad-kick:#edebe5;--on-pad:#141416;--fill-2:#2c2d31;--material:#1c1d20d1;--edge:0 1px 0 #0000004d;--lift:0 24px 60px #00000080}}*{box-sizing:border-box}html,body{overflow-x:clip}body{background:var(--body);min-height:100vh;margin:0}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:600}p{margin:0}.glyph{vertical-align:middle;flex:none;display:inline-block}button{font:inherit;cursor:pointer;border-radius:var(--r-key);background:var(--ink);color:var(--on-ink);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:0;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:550;line-height:1.2;display:inline-flex}button:hover:not(:disabled){background:var(--text-2)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button.ghost{background:var(--panel);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}button.ghost:hover:not(:disabled){background:var(--well);box-shadow:inset 0 0 0 1px var(--line-strong)}button.plain{color:var(--ink);background:0 0;padding:6px 8px}button.small{padding:6px 11px;font-size:13px}button.wide{width:100%}button.warn-btn{background:var(--cepat);color:var(--ink)}button.danger{background:var(--meleset);color:#fff}button.danger:hover:not(:disabled){background:var(--meleset-ink)}button.ghost.danger{background:var(--panel);color:var(--meleset)}select,input[type=number],input[type=text],input:not([type]),textarea{font:inherit;background-color:var(--well);color:var(--ink);border-radius:var(--r-key);box-shadow:inset 0 0 0 1px var(--line);appearance:none;border:0;padding:7px 10px}select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:28px}input[type=number]{width:72px;font-family:var(--mono);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--ink)}kbd{font-family:var(--mono);background:var(--well);color:var(--muted);box-shadow:inset 0 -1px 0 var(--line);border-radius:5px;padding:1px 6px;font-size:11px}.muted{color:var(--muted);font-size:13px;line-height:1.5}.warn{color:var(--cepat-ink);background:var(--cepat-tint);border-radius:var(--r-key);padding:8px 12px;font-size:13px}.seg-ctl{background:var(--well);border-radius:var(--r-key);box-shadow:inset 0 0 0 1px var(--line);gap:2px;padding:3px;display:inline-flex}.seg-ctl button{color:var(--text-2);background:0 0;border-radius:6px;padding:6px 13px;font-size:13px;font-weight:500}.seg-ctl button:hover:not(:disabled){background:var(--fill-2);color:var(--ink)}.seg-ctl button.on{background:var(--raised);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong), var(--edge);font-weight:600}.seg-ctl.small button{padding:4px 10px;font-size:12px}.switch{cursor:pointer;color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.switch input{appearance:none;border-radius:var(--r-pill);background:var(--fill-2);width:38px;height:22px;box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;transition:background var(--dur-base) var(--ease-out);flex:none;margin:0;position:relative}.switch input:after{content:"";background:var(--raised);width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked{background:var(--ink);box-shadow:none}.switch input:checked:after{transform:translate(16px)}.switch input:disabled{opacity:.4}.section-label,.ctl-label,.stat-label,.ro-label,.pad-table th,.tl-scale,.lb{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:500}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;background:var(--material);-webkit-backdrop-filter:saturate(140%)blur(16px);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 24px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.logo{border-radius:var(--r-key);background:var(--ink);width:32px;height:32px;color:var(--signal);place-items:center;display:grid}.brand h1{letter-spacing:-.01em;font-size:16px;font-weight:650}.tagline{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;font-size:10.5px}.status{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);background:var(--panel);border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--line);justify-self:end;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:flex}.status .dot{background:var(--missed);border-radius:50%;width:7px;height:7px}.status.ok .dot{background:var(--pas);box-shadow:0 0 0 3px var(--pas-tint)}.status.ok{color:var(--ink)}@media (width<=860px){.topbar{grid-template-columns:1fr auto}.topbar .seg-ctl{grid-area:2/1/auto/-1;justify-self:center}.tagline{display:none}}main.page{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px}.large-title{letter-spacing:-.03em;overflow-wrap:anywhere;min-width:0;margin:2px 0;font-size:28px;font-weight:650}.page-sub{color:var(--muted);margin-bottom:16px}.layout{grid-template-columns:minmax(0,1fr) 360px;gap:20px;display:grid}.stage,.side{flex-direction:column;gap:16px;display:flex}.full{grid-column:1/-1}@media (width<=960px){.layout{grid-template-columns:1fr}}.card{background:var(--panel);border-radius:var(--r-panel);box-shadow:inset 0 0 0 1px var(--line), var(--edge);padding:18px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-head h2{letter-spacing:-.01em;font-size:16px;font-weight:600}.section-label{margin:0 4px 8px}.readout{background:var(--screen);border-radius:var(--r-key);padding:2px;display:inline-flex;box-shadow:inset 0 1px 3px #00000080}.ro-cell{flex-direction:column;gap:2px;min-width:76px;padding:6px 14px 7px;display:flex}.ro-cell+.ro-cell{border-left:1px solid var(--screen-line)}.ro-value{font-family:var(--mono);color:var(--screen-text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:24px;font-weight:500;line-height:1.1}.ro-value.signal{color:var(--screen-signal)}.ro-value.pas{color:var(--screen-pas)}.ro-label{color:var(--screen-dim);font-size:9.5px}.monitor{background:var(--screen);border-radius:var(--r-key);width:100%;min-height:150px;font-family:var(--mono);color:var(--screen-pas);white-space:pre-wrap;margin:0;padding:10px 12px;font-size:12px;box-shadow:inset 0 1px 3px #00000080}.led{background:var(--fill-2);width:8px;height:8px;box-shadow:inset 0 0 0 1px var(--line-strong);vertical-align:1px;border-radius:50%;margin-right:4px;display:inline-block}.led.on{background:var(--pas);box-shadow:0 0 0 3px var(--pas-tint)}.feedback{text-align:center;min-height:160px;padding:12px 0 6px}.feedback-main{letter-spacing:-.04em;font-size:clamp(52px,8vw,92px);font-weight:700;line-height:1}.feedback-sub{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:10px;font-size:16px;display:flex}.feedback.idle .feedback-main{color:var(--ink)}.feedback.countin .feedback-main{color:var(--signal)}.feedback.calib .feedback-main{color:var(--text-2);font-size:56px}.grade-pas .feedback-main{color:var(--pas)}.grade-cepat .feedback-main{color:var(--cepat)}.grade-lambat .feedback-main{color:var(--lambat)}.grade-meleset .feedback-main,.grade-missed .feedback-main{color:var(--meleset)}.feedback .ms{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.pad-chip{color:#fff;border-radius:var(--r-pill);padding:2px 10px;font-size:12px;font-weight:600}.silent-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.pop{animation:pop .22s var(--ease-out)}@keyframes pop{0%{opacity:.4;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.beats{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:8px 0 4px;display:flex}.beat-dot{border-radius:var(--r-key);width:40px;height:40px;font-family:var(--mono);background:var(--well);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);transition:background var(--dur-fast);place-items:center;font-weight:500;display:grid}.beat-dot.on{background:var(--ink);color:var(--on-ink);box-shadow:none}.beat-dot.accent.on{background:var(--signal);color:var(--on-signal)}.beat-dot.countin.on{background:var(--missed);color:#fff}.beats.silent .beat-dot{opacity:.35}.bar-label{text-align:center;width:100%;color:var(--muted);font-family:var(--mono);font-size:11px}.meter{width:100%;height:auto;margin:6px 0 4px;display:block}.zone-miss{fill:var(--meleset-tint)}.zone-ok{fill:var(--cepat-tint)}.zone-pas{fill:var(--pas-tint)}.center-line{stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:3 3}.meter-label{fill:var(--muted);font-family:var(--mono);font-size:12px}.meter-label.pas{fill:var(--pas)}.meter-tick{fill:var(--faint);font-family:var(--mono);font-size:10px}.pads{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.pad{border-radius:var(--r-key);-webkit-user-select:none;user-select:none;touch-action:manipulation;cursor:pointer;background:var(--raised);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--line-strong);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:10px 8px;min-height:72px;padding:10px;display:grid}.pad:hover{background:var(--panel)}.pad:active{box-shadow:inset 0 0 0 1px var(--line);transform:translateY(1px)}.pad-glyph{grid-area:1/1;place-items:center;display:grid}.pad-name{grid-area:2/1/auto/-1;font-size:13px;font-weight:550}.pad kbd{grid-area:1/2;justify-self:end}.pad.hit{animation:padhit .22s var(--ease-out)}.pad.expect{box-shadow:inset 0 0 0 2px var(--signal), 0 1px 0 var(--line-strong)}@keyframes padhit{0%{background:color-mix(in srgb, var(--pad) 22%, var(--raised))}to{background:var(--raised)}}.strip{flex-direction:column;gap:14px;display:flex}.strip-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10.5px}.strip-bar.prev{opacity:.55}.strip-grid{align-items:center;gap:2px;display:grid}.strip-head{text-align:center;font-family:var(--mono);color:var(--faint);font-size:10px}.strip-head.beat{color:var(--ink)}.strip-pad{font-size:12px;font-weight:600}.strip-cell{background:var(--well);border-radius:4px;place-items:center;height:20px;display:grid}.strip-cell.beat{background:var(--fill-2)}.strip-cell.play{outline:1.5px solid var(--signal)}.strip-dot{border-radius:50%;width:11px;height:11px}.metro{flex-direction:column;gap:14px;display:flex}.start{border-radius:var(--r-key);background:var(--signal);color:var(--on-signal);padding:13px;font-size:16px}.start:hover:not(:disabled){background:var(--signal-hover)}.start.stop{background:var(--ink);color:var(--on-ink)}.bpm{justify-content:center;align-items:center;gap:14px;display:flex}.bpm-value{text-align:center;background:var(--screen);border-radius:var(--r-key);padding:8px 18px;box-shadow:inset 0 1px 3px #00000080}.bpm-value span{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--screen-text);font-size:46px;font-weight:500;line-height:1}.bpm-value small{color:var(--screen-dim);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:10px;display:block}.round{border-radius:var(--r-key);background:var(--panel);width:40px;height:40px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);padding:0;font-size:22px}.round:hover:not(:disabled){background:var(--well)}.fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.fields label{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:13px;display:flex}.fields select{width:100%;min-width:0;color:var(--ink)}.fields label.check,.auto label.check{color:var(--ink);flex-direction:row;align-items:center;gap:8px}.auto{border-top:1px solid var(--line);padding-top:12px;font-size:14px}.auto-desc{color:var(--muted);margin:6px 0 0;line-height:2.1}.auto-desc input{width:58px;padding:3px 6px}.stars{text-align:center}.star-row{vertical-align:middle;gap:4px;display:inline-flex}.star{color:var(--line-strong);display:inline-flex}.star.on{color:var(--star)}.stat-grid{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;display:grid}.stat{background:var(--well);border-radius:var(--r-key);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat.big .stat-value{color:var(--pas)}.stat-value{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px;font-weight:500}.stat-hint{color:var(--faint);font-size:11px}.tendency{text-align:center;margin:6px 0;font-size:14px;font-weight:600}.tendency.terburu{color:var(--cepat-ink)}.tendency.terlambat{color:var(--lambat-ink)}.tendency.seimbang{color:var(--pas-ink)}.grade-bar{border-radius:var(--r-pill);background:var(--well);gap:2px;height:6px;display:flex;overflow:hidden}.seg.pas{background:var(--pas)}.seg.cepat{background:var(--cepat)}.seg.lambat{background:var(--lambat)}.seg.meleset{background:var(--meleset)}.seg.missed{background:var(--missed)}.legend{font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-top:8px;font-size:11px;display:flex}.legend .pas{color:var(--pas-ink)}.legend .cepat{color:var(--cepat-ink)}.legend .lambat{color:var(--lambat-ink)}.legend .meleset{color:var(--meleset-ink)}.legend .missed{color:var(--muted)}.tt-compare{background:var(--well);border-radius:var(--r-key);box-shadow:inset 0 0 0 1px var(--line);margin-top:12px;padding:12px}.tt-compare h3{margin-bottom:6px;font-size:14px}.tt-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tt-row div{flex-direction:column;font-size:14px;display:flex}.tt-verdict{margin:8px 0 0;font-weight:600}.pad-table,.map-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:14px}.pad-table th{text-align:left;padding-bottom:6px}.pad-table td,.pad-table th,.map-table td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:8px 6px}.pad-table td:first-child,.map-table td:first-child{font-weight:600}.pad-table td+td{font-family:var(--mono);font-size:13px}.setup-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=1100px){.setup-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.setup-grid{grid-template-columns:1fr}}.setup-block{background:var(--well);border-radius:var(--r-key);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.setup-block h3{font-size:14px;font-weight:600}.inputs{margin:0;padding-left:0;font-size:14px;list-style:none}.map-table{margin-top:0}.map-table .notes{color:var(--muted);font-family:var(--mono);font-size:12px}.map-table tr.learning td{background:var(--cepat-tint)}.map-table td:last-child{text-align:right}.calib-progress{gap:6px;display:flex}.calib-progress span{background:var(--fill-2);border-radius:3px;width:12px;height:12px}.calib-progress span.on{background:var(--pas)}.calib-value{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.toast{z-index:40;background:var(--ink);max-width:calc(100vw - 32px);color:var(--on-ink);border-radius:var(--r-pill);box-shadow:var(--lift);animation:pop .22s var(--ease-out);padding:11px 18px;font-size:14px;font-weight:500;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.foot{text-align:center;color:var(--faint);font-family:var(--mono);letter-spacing:.06em;padding:20px;font-size:10.5px}.lesson,.students{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=1000px){.lesson,.students{grid-template-columns:1fr}}.library{flex-direction:column;gap:20px;display:flex;position:sticky;top:76px}.list{background:var(--panel);border-radius:var(--r-panel);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.list-item{text-align:left;width:100%;color:var(--ink);background:0 0;border-radius:0;align-items:center;gap:12px;padding:10px 12px;font-weight:400;display:flex;position:relative}.list-item:hover:not(:disabled){background:var(--well)}.list-item+.list-item{border-top:1px solid var(--line)}.list-item:active{transform:none}.list-item.on{background:var(--well)}.list-item.on:after{content:"";background:var(--signal);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.list-icon{border-radius:var(--r-key);width:30px;height:30px;color:var(--on-ink);background:var(--ink);font-family:var(--mono);flex:none;place-items:center;font-size:11px;font-weight:500;display:grid}.list-text{flex-direction:column;flex:1;min-width:0;display:flex}.list-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:550;overflow:hidden}.list-sub{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.chev{color:var(--faint);font-size:16px}.import-btn{justify-content:center;align-items:center;gap:8px;display:flex}.lesson-main{flex-direction:column;gap:16px;min-width:0;display:flex}.song-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.song-head>div:first-child{flex:320px;min-width:0}.head-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.song-meta{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{background:var(--panel);border-radius:var(--r-pill);font-family:var(--mono);color:var(--text-2);box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-size:11px;display:inline-flex}.chip.tint{background:var(--signal-tint);color:var(--signal-pressed);box-shadow:none}.chip.small{vertical-align:1px;padding:1px 7px;font-size:10px}.chart-card{padding:0;position:relative;overflow:hidden}.chart-canvas{width:100%;height:340px;display:block}.chart-canvas.scrub{cursor:grab}.chart-canvas.scrub:active{cursor:grabbing}.hud{justify-content:flex-end;align-items:center;gap:10px;min-height:40px;display:flex}.hud-word{letter-spacing:-.03em;font-size:30px;font-weight:700}.hud-word.pas{color:var(--pas)}.hud-word.cepat{color:var(--cepat)}.hud-word.lambat{color:var(--lambat)}.hud-word.missed,.hud-word.wrongPad,.hud-word.extra{color:var(--meleset)}.combo{background:var(--ink);color:var(--on-ink);border-radius:var(--r-pill);font-family:var(--mono);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:4px 10px;font-size:13px;display:inline-flex}.combo svg{color:var(--signal)}.countdown{font-family:var(--mono);color:var(--signal);pointer-events:none;place-items:center;font-size:112px;font-weight:500;display:grid;position:absolute;inset:0}.progress{background:var(--well);height:3px}.progress>div{background:var(--signal);height:100%;transition:width .2s linear}.transport{flex-wrap:wrap;align-items:center;gap:14px 22px;display:flex}.play-btn{background:var(--signal);width:56px;height:56px;color:var(--on-signal);box-shadow:0 0 0 4px var(--signal-tint);border-radius:50%;padding:0}.play-btn:hover:not(:disabled){background:var(--signal-hover)}.play-btn:active:not(:disabled){background:var(--signal-pressed)}.play-btn.stop{background:var(--ink);color:var(--on-ink);box-shadow:0 0 0 4px var(--fill-2)}.play-btn.stop:hover:not(:disabled){background:var(--text-2)}.icon-btn{border-radius:var(--r-key);background:var(--panel);width:40px;height:40px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--line-strong);padding:0}.icon-btn:hover:not(:disabled){background:var(--well)}.icon-btn.on{background:var(--ink);color:var(--signal);box-shadow:none}.icon-btn.danger{color:var(--meleset)}.ctl-group{flex-direction:column;gap:6px;display:flex}.toggles{flex-wrap:wrap;gap:20px;display:flex}.toggles .switch{gap:10px}.robot-note{color:var(--muted);font-size:12px}.from-chip{align-items:center;gap:6px;display:inline-flex}.from-chip button{color:var(--muted);background:0 0;padding:0 4px;font-size:13px}.from-chip button:hover:not(:disabled){color:var(--ink);background:0 0}.live{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}@media (width<=700px){.live{grid-template-columns:repeat(3,minmax(0,1fr))}}.timeline{border-top:1px solid var(--line);padding:30px 16px 10px}.tl-track{background:var(--well);border-radius:var(--r-key);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;height:32px;box-shadow:inset 0 0 0 1px var(--line);position:relative}.tl-section{background:var(--raised);box-shadow:inset 0 0 0 1px var(--line);border-radius:5px;margin-left:2px;position:absolute;top:4px;bottom:4px;overflow:hidden}.tl-section span{color:var(--text-2);white-space:nowrap;font-size:11px;font-weight:550;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.tl-fill{background:color-mix(in srgb, var(--cepat) 55%, transparent);border-radius:4px;position:absolute;top:4px;bottom:4px}.tl-played{background:color-mix(in srgb, var(--signal) 16%, transparent);border-radius:var(--r-key);pointer-events:none;position:absolute;top:0;bottom:0}.tl-cursor{background:var(--ink);pointer-events:none;width:2px;margin-left:-1px;transition:left 80ms;position:absolute;top:-5px;bottom:-5px}.tl-track.drag .tl-cursor{transition:none}.tl-cursor span{background:var(--ink);color:var(--on-ink);font-family:var(--mono);white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:10.5px;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.tl-playhead{background:var(--signal);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.tl-scale{justify-content:space-between;gap:12px;margin-top:6px;display:flex}.tl-scale .muted{font-family:var(--font);text-transform:none;letter-spacing:0;font-size:12px}.tl-loop{border-radius:var(--r-key);background:color-mix(in srgb, var(--signal) 14%, transparent);box-shadow:inset 0 0 0 2px var(--signal);pointer-events:none;transition:left 80ms,width 80ms;position:absolute;top:0;bottom:0}.tl-track.drag .tl-loop{transition:none}.tl-loop span{background:var(--signal);color:var(--on-signal);font-family:var(--mono);white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:10.5px;position:absolute;bottom:calc(100% + 3px);left:0}.tl-track.looping{margin-top:16px}.loop-ctl{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pass-chip{background:var(--ink);color:var(--on-ink);border-radius:var(--r-pill);font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;padding:4px 12px;font-size:12px}.pass-chip b{color:var(--faint);font-weight:400}.pass-chip b.pas{color:var(--screen-pas)}.passes{justify-content:center;align-items:flex-end;gap:8px;margin:6px 0 14px;display:flex}.pass-col{font-family:var(--mono);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;display:flex}.pass-bar{background:var(--well);width:20px;height:56px;box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;align-items:flex-end;display:flex;overflow:hidden}.pass-bar>div{background:var(--lambat);width:100%}.pass-bar>div.ok{background:var(--cepat)}.pass-bar>div.pas{background:var(--pas)}.sheet-backdrop{z-index:30;background:#1414166b;place-items:center;padding:20px;animation:.18s ease-out fade;display:grid;position:fixed;inset:0}.sheet{background:var(--raised);border-radius:var(--r-panel);width:min(540px,100%);max-height:calc(100vh - 40px);box-shadow:inset 0 0 0 1px var(--line), var(--lift);animation:rise .26s var(--ease-out);text-align:center;padding:24px;overflow:auto}.sheet h2{margin-top:4px;font-size:20px}.sheet .score{font-family:var(--mono);letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:60px;font-weight:500;line-height:1.05}.sheet .msg{color:var(--muted);margin:4px 0 14px}.sheet .stat-grid{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr))}.sheet .pad-table{text-align:left}.sheet>p.muted:first-child{font-family:var(--mono);letter-spacing:.02em;font-size:11px}.sheet-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.saved-note{color:var(--pas-ink);background:var(--pas-tint);border-radius:var(--r-pill);align-items:center;gap:6px;margin:14px 0 0;padding:4px 12px;font-size:13px;font-weight:550;display:inline-flex}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}}.sheet.wide{width:min(1000px,100%)}.sheet.small{text-align:left;width:min(440px,100%)}.sheet.small h2{margin-bottom:8px}.kit-card{margin-bottom:16px}.kit-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:14px;display:grid}.kit-pad{background:var(--raised);border-radius:var(--r-key);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px var(--line);align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.kit-pad:hover{background:var(--well)}.kit-pad input{accent-color:var(--ink);width:16px;height:16px;margin:0}.kit-pad.off{opacity:.45}.kit-row{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.student-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.student-pick{background:var(--panel);border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--line);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:10.5px;display:inline-flex}.student-pick select{font-family:var(--font);letter-spacing:0;text-transform:none;border-radius:var(--r-pill);color:var(--ink);box-shadow:none;font-size:14px;font-weight:550}.avatar{border-radius:var(--r-key);background:var(--ink);color:var(--on-ink);font-family:var(--mono);letter-spacing:.02em;flex:none;place-items:center;font-weight:500;display:inline-grid}.list-icon.score{background:var(--fill-2);color:var(--ink);font-variant-numeric:tabular-nums}.list-icon.score.s1{background:var(--lambat);color:#fff}.list-icon.score.s2{background:var(--cepat);color:var(--ink)}.list-icon.score.s3{background:var(--pas);color:#fff}.list.sessions{box-shadow:none;background:0 0;border-radius:0}.list.sessions .list-item{padding-left:4px;padding-right:4px}.empty{text-align:center;margin:0;padding:18px 0}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:48px 20px;display:flex}.empty-mark{border-radius:var(--r-panel);background:var(--well);width:56px;height:56px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);place-items:center;display:grid}.profile-head{align-items:center;gap:14px;display:flex}.head-actions{align-items:center;gap:8px;display:flex}.live.tiles{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=900px){.live.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.pad-table.wide td:first-child{font-family:var(--font)}.pad-table .stars{text-align:left}tr.click{cursor:pointer}tr.click:hover td{background:var(--well)}.progress-chart{width:100%;height:auto;display:block}.pc-grid{stroke:var(--line)}.pc-goal{stroke:var(--pas);stroke-dasharray:4 4;opacity:.8}.pc-axis{fill:var(--faint);font-family:var(--mono);font-size:10.5px}.pc-line{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round}.pc-dot{fill:var(--missed);stroke:var(--panel);stroke-width:2px}.pc-dot.s1{fill:var(--lambat)}.pc-dot.s2{fill:var(--cepat)}.pc-dot.s3{fill:var(--pas)}.pc-dot.click{cursor:pointer}.pc-dot.click:hover{r:7}.form{flex-direction:column;gap:12px;display:flex}.field{color:var(--muted);text-align:left;flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.field input,.field textarea,.field select{width:100%;padding:9px 12px;font-size:15px}.field textarea{resize:vertical;min-height:84px}.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.field-row input[type=number]{width:100%}.card-dialog{text-align:left;grid-template-columns:340px minmax(0,1fr);align-items:start;gap:24px;width:min(1100px,100%);display:grid}@media (width<=860px){.card-dialog{grid-template-columns:1fr}}.card-form{flex-direction:column;gap:12px;display:flex}.card-form .sheet-actions{justify-content:flex-start}.card-preview{background:var(--well);border-radius:var(--r-panel);box-shadow:inset 0 0 0 1px var(--line);padding:12px}.card-preview .parent-card{border-radius:4px;width:100%;height:auto;display:block;box-shadow:0 2px 12px #0000001a}.replay{text-align:left;margin-top:18px}.replay-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.play-btn.small{width:40px;height:40px;box-shadow:none}.chart-card.flat{box-shadow:inset 0 0 0 1px var(--line);background:var(--panel);padding:0}.title-input.large-title{width:100%;box-shadow:none;border-radius:var(--r-key);background:0 0;margin-left:-10px;padding:4px 10px;font-size:28px;font-weight:650}.title-input.large-title:hover,.title-input.large-title:focus{background:var(--well);box-shadow:inset 0 0 0 1px var(--line);outline:none}.rec-dot{color:var(--signal);font-family:var(--mono);letter-spacing:.1em;align-items:center;gap:6px;font-size:12px;display:inline-flex}.rec-dot:before{content:"";background:var(--signal);border-radius:50%;width:8px;height:8px;animation:1s steps(2,start) infinite blink}@keyframes blink{to{opacity:.25}}.countdown-inline{font-family:var(--mono);color:var(--signal);text-align:center;min-width:36px;font-size:36px;font-weight:500}.play-btn.rec{background:var(--signal)}.play-btn.rec.stop{background:var(--ink);color:var(--signal)}.bpm-field{color:var(--muted);font-family:var(--mono);align-items:center;gap:6px;font-size:11px;display:inline-flex}.list-item .list-main{min-width:0;color:inherit;text-align:left;background:0 0;border-radius:0;flex:1;justify-content:flex-start;align-items:center;gap:12px;padding:0;font-weight:400;display:flex}.list-item .list-main:hover:not(:disabled){background:0 0}.se-mini{background:var(--panel);color:var(--text-2);min-width:26px;height:24px;box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;padding:0 6px;font-size:11px}.se-mini:hover:not(:disabled){background:var(--well);color:var(--ink)}.se-mini.danger-on{background:var(--meleset);color:#fff;box-shadow:none}.step-editor{-webkit-user-select:none;user-select:none;display:flex}.step-editor.disabled .se-cell{cursor:default}.se-labels{flex:none;width:116px}.se-label{white-space:nowrap;align-items:center;gap:8px;height:26px;font-size:13px;font-weight:500;display:flex}.se-bar-head{align-items:center;gap:4px;height:34px;padding:0 2px 6px;display:flex}.se-bar-head select{flex:1;min-width:0;padding:3px 24px 3px 8px;font-size:12px}.se-bar-no{font-family:var(--mono);color:var(--muted);min-width:18px;font-size:12px}.se-scroll{flex:1;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.se-bar{flex:none;width:340px}.se-bar.playing .se-bar-no{color:var(--signal)}.se-row{gap:2px;height:26px;padding:2px 0;display:grid}.se-cell{background:var(--well);min-width:0;box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;padding:0;transition:none}.se-cell:hover:not(:disabled),.se-cell.beat{background:var(--fill-2)}.se-cell.on{box-shadow:none}.se-cell.on:hover:not(:disabled){filter:brightness(1.08)}.se-cell.accent{box-shadow:inset 0 0 0 2px var(--ink)}.se-cell.now{outline:2px solid var(--signal);outline-offset:-1px}.se-cell:active:not(:disabled){transform:scale(.92)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{body.printing-card *{visibility:hidden}body.printing-card .print-area,body.printing-card .print-area *{visibility:visible}body.printing-card .print-area{box-shadow:none;background:#fff;border-radius:0;padding:0;position:fixed;inset:0}body.printing-card .print-area .parent-card{width:100%;height:auto;box-shadow:none;border-radius:0}@page{size:A4 portrait;margin:10mm}}:root{--glass:#fbfaf79e;--glass-strong:#fbfaf7c7;--glass-edge:#ffffffbf;--glass-line:#18181a17;--glass-blur:saturate(160%) blur(18px);--glass-shadow:0 10px 30px #18181a1f, 0 1px 3px #18181a14}@media (prefers-color-scheme:dark){:root{--glass:#20212594;--glass-strong:#202125c7;--glass-edge:#ffffff1f;--glass-line:#ffffff14;--glass-shadow:0 10px 30px #00000073, 0 1px 3px #0006}}.topbar{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-line);box-shadow:inset 0 -1px 0 var(--glass-edge)}.topbar .seg-ctl{background:var(--glass);border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--glass-line), inset 0 1px 0 var(--glass-edge);padding:4px}.topbar .seg-ctl button{border-radius:var(--r-pill);padding:6px 15px}.topbar .seg-ctl button.on{background:var(--ink);color:var(--on-ink);box-shadow:none}.topbar .status{background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-line), inset 0 1px 0 var(--glass-edge)}.mini-dock{z-index:25;border-radius:var(--r-pill);background:var(--glass-strong);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 0 0 1px var(--glass-line), inset 0 1px 0 var(--glass-edge), var(--glass-shadow);animation:rise .2s var(--ease-out);align-items:center;gap:8px;padding:6px 8px 6px 6px;display:flex;position:fixed;bottom:20px;right:24px}.mini-dock .play-btn{width:44px;height:44px;box-shadow:none}.mini-dock .icon-btn{border-radius:var(--r-pill);width:36px;height:36px;box-shadow:none;background:0 0}.mini-dock .icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 8%, transparent)}.mini-dock .icon-btn.on{background:var(--ink);color:var(--signal)}.mini-dock .md-read{font-family:var(--mono);flex-direction:column;padding:0 8px 0 4px;line-height:1.1;display:flex}.mini-dock .md-read b{font-variant-numeric:tabular-nums;font-size:16px;font-weight:500}.mini-dock .md-read span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9.5px}.toast{background:var(--glass-strong);color:var(--ink);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 0 0 1px var(--glass-line), inset 0 1px 0 var(--glass-edge), var(--glass-shadow)}.sheet-backdrop{-webkit-backdrop-filter:blur(6px)saturate(120%);background:#14141647}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass:var(--panel);--glass-strong:var(--raised)}.sheet-backdrop{background:#1414166b}}@media (prefers-reduced-transparency:reduce){:root{--glass:var(--panel);--glass-strong:var(--raised);--glass-blur:none}.sheet-backdrop{-webkit-backdrop-filter:none;background:#1414166b}}.no-glass{--glass:var(--panel);--glass-strong:var(--raised);--glass-blur:none}.no-glass .sheet-backdrop{-webkit-backdrop-filter:none;background:#1414166b}@media print{.topbar,.mini-dock,.toast{-webkit-backdrop-filter:none;box-shadow:none;background:#fff;position:static}}.topbar .status{color:var(--muted);gap:8px;max-width:100%;padding:6px 12px;font-weight:400}.topbar .status:hover:not(:disabled){background:var(--glass-strong);color:var(--ink)}.status-kit{font-family:var(--font);letter-spacing:0;color:var(--ink);text-overflow:ellipsis;max-width:160px;font-size:13px;font-weight:600;overflow:hidden}.status-dev{text-overflow:ellipsis;max-width:180px;overflow:hidden}.profile-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.profile-tile{text-align:left;white-space:normal;background:var(--raised);color:var(--ink);border-radius:var(--r-key);box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--line-strong);flex-direction:column;align-items:stretch;gap:4px;padding:12px 14px;font-weight:400;display:flex;position:relative}.profile-tile:hover:not(:disabled){background:var(--well)}.profile-tile.on{box-shadow:inset 0 0 0 2px var(--ink), 0 1px 0 var(--line-strong)}.profile-tile.on:after{content:"";background:var(--signal);border-radius:0 2px 2px 0;width:3px;position:absolute;top:10px;bottom:10px;left:0}.pt-head{align-items:center;gap:8px;display:flex}.pt-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.pt-meta{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:2px;font-size:11px;display:flex;overflow:hidden}.profile-detail{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:12px;margin-top:16px;padding-top:16px;display:grid}button.ghost.danger.confirm{background:var(--meleset);color:#fff;box-shadow:none}.doc-tag{vertical-align:2px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:9.5px;font-weight:500;display:inline-block}.doc-tag.baru{background:var(--pas-tint);color:var(--pas-ink)}.doc-tag.populer{background:var(--signal-tint);color:var(--signal-pressed)}.doc-search{background:var(--panel);border-radius:var(--r-key);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);align-items:center;gap:8px;padding:0 12px;display:flex}.doc-search:focus-within{box-shadow:inset 0 0 0 1px var(--line-strong), 0 0 0 2px var(--focus)}.doc-search input{min-width:0;box-shadow:none;background:0 0;border:0;outline:none;flex:1;padding:9px 0;font-size:14px}.doc-search input:focus-visible{outline:none}.doc-search.big{min-width:min(380px,100%)}.doc-search.big input{padding:12px 0;font-size:15px}.doc-empty{padding:8px 0}.doc-results{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.doc-results a{border-radius:var(--r-key);color:inherit;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;display:flex}.doc-results a:hover{background:var(--well)}.dr-cat{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px}.dr-title{font-weight:600}.dr-snip{color:var(--text-2);font-size:13px}.docs-hub{flex-direction:column;gap:20px;display:flex}.dh-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.dh-head>div{flex:420px;min-width:0}.dh-start{background:var(--line);border-radius:var(--r-panel);box-shadow:0 0 0 1px var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@media (width<=900px){.dh-start{grid-template-columns:repeat(2,minmax(0,1fr))}}.dh-step{background:var(--panel);color:inherit;flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;display:flex}.dh-step:hover{background:var(--raised)}.dh-step-no{font-family:var(--mono);color:var(--signal);font-size:12px}.dh-step-title{font-size:15px;font-weight:600}.dh-step-sum{color:var(--muted);font-size:13px}.dh-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:16px;display:grid}.dh-cat{flex-direction:column;gap:8px;display:flex}.dh-cat-head{align-items:center;gap:10px;display:flex}.dh-cat-head h3{flex:1;font-size:16px}.dh-cat-icon{border-radius:var(--r-key);background:var(--ink);width:32px;height:32px;color:var(--signal);place-items:center;display:grid}.dh-count{font-family:var(--mono);color:var(--muted);background:var(--well);border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--line);padding:1px 8px;font-size:11px}.dh-list{border-top:1px solid var(--line);margin:4px 0 0;padding:0;list-style:none}.dh-list li{border-bottom:1px solid var(--line)}.dh-list a{color:var(--ink);padding:8px 2px;font-size:14px;text-decoration:none;display:block}.dh-list a:hover{color:var(--signal-pressed)}.docs-page{grid-template-columns:260px minmax(0,1fr) 210px;align-items:start;gap:32px;display:grid}@media (width<=1180px){.docs-page{grid-template-columns:240px minmax(0,1fr)}.docs-toc{display:none}}@media (width<=820px){.docs-page{grid-template-columns:minmax(0,1fr)}.docs-side{max-height:none;position:static}}.docs-side{flex-direction:column;gap:12px;max-height:calc(100vh - 96px);padding-right:4px;display:flex;position:sticky;top:76px;overflow:auto}.ds-nav{flex-direction:column;gap:2px;display:flex}.ds-cat-btn{width:100%;color:var(--ink);background:0 0;justify-content:flex-start;padding:8px;font-size:14px;font-weight:550}.ds-cat-btn:hover:not(:disabled){background:var(--well)}.ds-cat-btn>span:first-of-type{text-align:left;flex:1}.ds-cat.here>.ds-cat-btn{color:var(--ink)}.ds-cat.here>.ds-cat-btn svg:first-child{color:var(--signal)}.ds-chev{transition:transform var(--dur-fast) var(--ease-out);color:var(--faint)}.ds-chev.open{transform:rotate(90deg)}.ds-cat ul{border-left:1px solid var(--line);margin:0 0 6px 15px;padding:0 0 0 16px;list-style:none}.ds-cat li a{color:var(--text-2);border-radius:6px;padding:5px 10px;font-size:13.5px;text-decoration:none;display:block;position:relative}.ds-cat li a:hover{background:var(--well);color:var(--ink)}.ds-cat li a[aria-current=page]{color:var(--ink);background:var(--well);font-weight:600}.ds-cat li a[aria-current=page]:before{content:"";background:var(--signal);width:2px;position:absolute;top:6px;bottom:6px;left:-17px}.docs-main{min-width:0;max-width:760px}.doc-crumbs{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.doc-crumbs a{color:var(--muted)}.doc-crumbs a:hover{color:var(--ink)}.doc-title{letter-spacing:-.03em;overflow-wrap:anywhere;margin:14px 0 8px;font-size:34px;font-weight:650;line-height:1.12}.doc-title .doc-tag{vertical-align:8px}.doc-meta{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;font-size:11px}.doc-lead{color:var(--text-2);border-bottom:1px solid var(--line);margin:18px 0 8px;padding-bottom:18px;font-size:18px;line-height:1.5}.docs-main p,.docs-main li{font-size:15.5px;line-height:1.65}.docs-main p{margin:12px 0}.docs-main a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);text-underline-offset:3px;text-decoration-thickness:1.5px}.docs-main a:hover{color:var(--signal-pressed)}.doc-sec h2{letter-spacing:-.02em;margin:36px 0 6px;scroll-margin-top:84px;font-size:22px;font-weight:650;position:relative}.doc-anchor{opacity:0;font-weight:400;position:absolute;left:-22px;color:var(--faint)!important;text-decoration:none!important}.doc-sec h2:hover .doc-anchor,.doc-anchor:focus-visible{opacity:1}.doc-steps{counter-reset:step;flex-direction:column;gap:10px;margin:14px 0;padding:0;list-style:none;display:flex}.doc-steps li{counter-increment:step;padding-left:40px;position:relative}.doc-steps li:before{content:counter(step, decimal-leading-zero);font-family:var(--mono);background:var(--ink);width:28px;height:24px;color:var(--on-ink);border-radius:6px;place-items:center;font-size:11px;display:grid;position:absolute;top:1px;left:0}.doc-list{margin:12px 0;padding-left:20px}.doc-list li{margin:4px 0}.doc-list li::marker{color:var(--signal)}.ui-ref{background:var(--well);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap;border-radius:5px;padding:1px 6px;font-size:.92em;font-weight:600}.docs-main kbd{color:var(--ink);padding:2px 7px;font-size:12px}.doc-callout{border-radius:var(--r-key);background:var(--well);box-shadow:inset 3px 0 0 var(--line-strong);margin:18px 0;padding:12px 16px}.doc-callout.tip{box-shadow:inset 3px 0 0 var(--pas);background:color-mix(in srgb, var(--pas-tint) 60%, var(--panel))}.doc-callout.penting{box-shadow:inset 3px 0 0 var(--signal);background:color-mix(in srgb, var(--signal-tint) 60%, var(--panel))}.doc-callout p{margin:4px 0 0}.dc-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.doc-table-wrap{margin:14px 0;overflow-x:auto}.doc-table{margin-top:0}.doc-table td+td{font-family:var(--font);font-size:14px}.doc-pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin:48px 0 24px;padding-top:20px;display:grid}.doc-pager .pg{border-radius:var(--r-key);background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);flex-direction:column;gap:4px;padding:14px 16px;display:flex;text-decoration:none!important}.doc-pager .pg:hover{background:var(--raised);box-shadow:inset 0 0 0 1px var(--line-strong)}.doc-pager .next{text-align:right;grid-column:2}.pg-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.pg-title{font-weight:600}.docs-toc{position:sticky;top:76px}.docs-toc ul{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.docs-toc a{color:var(--muted);border-left:2px solid #0000;margin-left:-1px;padding:5px 12px;font-size:13px;text-decoration:none;display:block}.docs-toc a:hover{color:var(--ink)}.docs-toc a.on{color:var(--ink);border-left-color:var(--signal);font-weight:550}.card-head a,.muted a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);text-underline-offset:3px}.mode-choice{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:12px;display:grid}.mode-text{color:var(--muted);white-space:normal;font-size:13px;line-height:1.45}.topbar-right{justify-self:end;align-items:center;gap:8px;min-width:0;display:flex}.topbar .lang-switch{background:var(--glass);border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--glass-line);padding:3px}.topbar .lang-switch button{border-radius:var(--r-pill);font-family:var(--mono);letter-spacing:.04em;padding:3px 9px;font-size:11px}.topbar .lang-switch button.on{background:var(--ink);color:var(--on-ink);box-shadow:none}.lib-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.lib-head .section-label{margin:0 4px}.file-sheet{text-align:left;flex-direction:column;gap:18px;width:min(860px,100%);display:flex}.fs-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fs-head h2{margin:0 0 4px}.fs-sec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.fs-sec-head .section-label{align-items:center;gap:8px;margin:0;display:flex}.fs-empty{background:var(--well);border-radius:var(--r-key);box-shadow:inset 0 0 0 1px var(--line);margin:0;padding:14px}.fs-list{background:var(--panel);border-radius:var(--r-panel);box-shadow:inset 0 0 0 1px var(--line);margin:0;padding:0;list-style:none;overflow:hidden}.fs-row{align-items:center;gap:12px;padding:10px 12px;display:flex;position:relative}.fs-row+.fs-row{border-top:1px solid var(--line)}.fs-row.on:after{content:"";background:var(--signal);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.fs-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fs-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:600;display:flex;overflow:hidden}.fs-meta{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.fs-rename{font:inherit;width:100%;padding:4px 8px;font-size:14px;font-weight:600}.fs-actions{flex:none;align-items:center;gap:4px;display:flex}.fs-foot{font-family:var(--mono);color:var(--text-2);border-top:1px solid var(--line);flex-direction:column;gap:4px;padding-top:12px;font-size:11px;display:flex}.fs-foot .muted{font-family:var(--font);font-size:12px}.sheet-backdrop{grid-template-columns:minmax(0,1fr)}.media-sheet{width:min(920px,100%)}.fs-section{flex-direction:column;gap:10px;display:flex}.fs-section .section-label{align-items:center;gap:6px;margin:0;display:flex}.media-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.media-row select{min-width:220px;max-width:100%}.media-row .grow{flex:1;min-width:220px}.grid-ctl{flex-wrap:wrap;gap:14px 24px;display:flex}.waveform{border-radius:var(--r-key);cursor:crosshair;width:100%;box-shadow:inset 0 0 0 1px var(--screen-line);display:block}.chip.mono{padding:5px 10px;font-size:12px}.warn-text{color:var(--meleset)}button.ghost.danger.danger-on{background:var(--meleset);color:#fff;box-shadow:none}button.ghost.on{background:var(--signal-tint);color:var(--signal-pressed);box-shadow:none}.mixer{align-items:center;display:inline-flex;position:relative}.mixer-pop{z-index:30;background:var(--raised);border-radius:var(--r-panel);width:280px;box-shadow:inset 0 0 0 1px var(--line), var(--lift);animation:rise .18s var(--ease-out);flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0}.fader{grid-template-columns:64px 1fr 30px;align-items:center;gap:10px;display:grid}.fader .ctl-label{margin:0}.fader-val{font-family:var(--mono);color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.video-card{flex-direction:column;gap:10px;display:flex}.video-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.video-frame{aspect-ratio:16/9;background:var(--screen);border-radius:var(--r-key);width:100%;max-width:860px;position:relative;overflow:hidden}.video-frame iframe,.video-frame video{border:0;width:100%;height:100%;position:absolute;inset:0}
