@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/muse/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(/muse/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(/muse/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(/muse/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(/muse/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(/muse/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(/muse/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}:root{--bg:#121117;--panel:#1b1a22;--panel2:#23212c;--line:#302d3b;--text:#eceaf4;--muted:#9b97ad;--accent:#9c7cf4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);margin:0}body{padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overscroll-behavior-y:none}button,input,select{font:inherit;color:inherit}button{background:var(--panel2);border:1px solid var(--line);touch-action:manipulation;border-radius:10px;padding:7px 11px}button:disabled{opacity:.4}button:active{transform:scale(.97)}button.ghost{background:0 0}button.add{background:var(--accent);color:#111;border-color:var(--accent);font-weight:700}input,select{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:16px}.loading{text-align:center;color:var(--muted);padding:40px}.app{max-width:600px;margin:0 auto;padding:8px 12px 40px}.row{flex-wrap:wrap;align-items:center;display:flex}.gap{gap:8px}.small{font-size:12.5px}.muted{color:var(--muted)}.center{text-align:center}.mono{font-family:ui-monospace,Menlo,monospace}.big{font-size:22px;font-weight:700}.warn{color:#ffb74d}h3{color:var(--muted);margin:18px 0 8px;font-size:15px;font-weight:600}h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;font-size:13px}section{margin-top:10px}.top{z-index:5;background:linear-gradient(180deg, var(--bg) 70%, transparent);padding:calc(8px + env(safe-area-inset-top)) 0 10px;justify-content:space-between;align-items:center;gap:14px;display:flex;position:sticky;top:0}.top-left{flex:none;align-items:center;gap:6px;display:inline-flex}.menu-btn{border:1px solid var(--line);background:var(--panel2);width:36px;height:36px;color:var(--text);border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.menu-btn:hover{border-color:#5a5470}.brand{-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:8px;display:inline-flex}.brand-mark{flex:none;display:block}.brand-name{letter-spacing:-.035em;color:#f4f0ff;font-family:Inter Tight Variable,-apple-system,sans-serif;font-size:23px;font-weight:650;line-height:1;animation:.5s ease-out both brand-in}.brand small{color:var(--muted);border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:2px 6px;font-family:inherit;font-size:10px;font-weight:500}@keyframes brand-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.brand-name{animation:none}}.keypick{flex:auto;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.keypick select{min-width:0;max-width:140px;padding:6px;font-size:15px}.mode-pick{min-width:0;display:inline-flex;position:relative}.mode-pick select{color:#0000;appearance:none;max-width:128px;padding-right:24px}.mode-pick:after{content:"";border-right:2px solid var(--text);border-bottom:2px solid var(--text);pointer-events:none;width:6px;height:6px;margin-top:-5px;position:absolute;top:50%;right:10px;transform:rotate(45deg)}.mode-pick select option{color:var(--text);background:var(--panel2)}.mode-face{pointer-events:none;white-space:nowrap;text-overflow:ellipsis;font-size:15px;position:absolute;top:50%;left:7px;right:22px;overflow:hidden;transform:translateY(-50%)}.mode-pick select:focus-visible+.mode-face{text-decoration:underline}.pill{border-radius:999px;flex:none;padding:5px 10px;font-size:13px}@media (width<=420px){.top{gap:12px}.brand-name{font-size:21px}.keypick{gap:5px}.mode-pick select{max-width:112px}.mode-face{letter-spacing:-.01em;font-size:14px}.pill{padding:5px 8px}}.pill.on{background:var(--accent);color:#111;border-color:var(--accent)}.keyline{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.meter-pick{align-items:center;gap:5px;display:inline-flex}.meter-pick select{max-width:140px;padding:3px 6px;font-size:13px}.bpm-inline select{font-variant-numeric:tabular-nums;min-width:4.2em;max-width:5.5em}.play-row{flex-wrap:wrap;align-items:center}.meter-note{margin:2px 0 8px;padding:0 2px}.meter-badge{border:1px solid var(--line);background:var(--panel2);color:var(--text);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.strip{background:radial-gradient(120% 80% at 0% 0%, #9c7cf412, transparent 55%), var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px 12px 10px;box-shadow:inset 0 1px #ffffff09}.chips{scrollbar-width:none;align-items:stretch;gap:8px;min-height:54px;padding-bottom:8px;display:flex;overflow-x:auto}.chip{background:var(--panel2);border:1px solid var(--line);text-align:center;border-radius:12px;flex:none;min-width:64px;padding:6px 8px 4px;position:relative}.chip.locked{border-color:#ffd54f8c}.chip .sym,.tchord .sym{letter-spacing:-.02em;font-size:17px;font-weight:700}.chip .rn,.tchord .rn{color:var(--muted);letter-spacing:.02em;font-size:11.5px}.chip-actions{justify-content:center;align-items:center;gap:4px;display:flex}.chip-actions button{color:var(--muted);background:0 0;border:none;padding:0 6px;font-size:13px}.melchips{color:var(--muted);white-space:nowrap;align-self:center;font-size:13px}.timeline{scrollbar-width:none;align-items:stretch;gap:10px;min-height:140px;padding:2px 2px 8px;display:flex;overflow-x:auto}.tbar{flex-direction:column;flex:none;gap:6px;min-width:92px;display:flex}.tmel,.tbass{flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:5px;min-height:36px;display:flex}.tbass{min-height:32px}.tnote{background:linear-gradient(#2a2733 0%,#1f1d27 100%);border:1px solid #ffffff14;border-radius:11px;align-items:stretch;gap:0;transition:border-color .18s,transform .12s;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.tnote.bass{background:linear-gradient(#243038 0%,#1a2228 100%);border-color:#6fb0a859}.tnote:active{transform:scale(.97)}.tnote.playing{z-index:2;transform:scale(1.06);box-shadow:0 0 0 2px #ffd54f8c,0 0 18px #ffd54f59}.tbar.playing .tchord{border-color:#ffd54fa6;box-shadow:inset 0 1px #ffffff14,0 0 0 2px #ffd54f59,0 8px 22px #00000047}.tbar.playing .tchord .sym{color:#ffe082}.play-ribbon{background:linear-gradient(#2a2436 0%,#1a1722 100%);border:1px solid #ffd54f47;border-radius:12px;margin:8px 0 10px;padding:8px 10px 10px;overflow:hidden}.play-ribbon-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.play-ribbon-live{letter-spacing:.06em;text-transform:uppercase;color:#111;background:#ffd54f;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.play-ribbon-time{font-variant-numeric:tabular-nums;margin-left:auto}.play-ribbon-view{background:#00000047;border-radius:8px;height:78px;position:relative;overflow:hidden}.play-ribbon-playhead{z-index:3;pointer-events:none;background:#ffd54f;width:2px;position:absolute;top:0;bottom:0;left:72px;box-shadow:0 0 10px #ffd54fb3}.play-ribbon-playhead:before{content:"";border-top:7px solid #ffd54f;border-left:5px solid #0000;border-right:5px solid #0000;position:absolute;top:0;left:-4px}.play-ribbon-world{will-change:transform;position:absolute;top:0;bottom:0;left:0}.play-ribbon-chord{color:#d8ccff;white-space:nowrap;text-overflow:ellipsis;background:#c4b0ff2e;border:1px solid #c4b0ff40;border-radius:6px;height:18px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px;transition:background .12s,color .12s,box-shadow .12s;position:absolute;top:6px;overflow:hidden}.play-ribbon-chord.on{color:#ffe082;background:#ffd54f47;border-color:#ffd54f8c;box-shadow:0 0 12px #ffd54f59}.play-ribbon-note{white-space:nowrap;text-overflow:ellipsis;opacity:.72;background:#2a2733f2;border:1px solid;border-radius:8px;height:22px;padding:0 6px;font-size:11px;font-weight:700;line-height:20px;transition:opacity .1s,transform .1s,box-shadow .1s;position:absolute;overflow:hidden}.play-ribbon-note.on{opacity:1;box-shadow:0 0 0 1px var(--glow,#ffd54f), 0 0 14px #ffd54f73;background:#322c40;transform:scale(1.06)}.play-ribbon-note.bass{background:#243038f2}.tnote-play{color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;padding:5px 7px 4px;font-size:12.5px;font-weight:600;line-height:1.1;display:flex}.tnote-play small{opacity:.88;margin-top:1px;font-size:9.5px;font-weight:500}.tnote .tx{color:var(--muted);opacity:.75;background:0 0;border:none;border-left:1px solid #ffffff0f;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.tnote .tx:hover{color:var(--text);opacity:1;background:#ffffff0a}.tchord{text-align:center;cursor:pointer;background:linear-gradient(165deg,#2c2936 0%,#1d1b24 72%);border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:0;min-width:86px;padding:0;transition:border-color .2s,box-shadow .2s,transform .12s;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 6px 16px #0000002e}.tchord:active{transform:scale(.985)}.tchord-body{padding:10px 10px 8px}.tchord .sym{letter-spacing:-.025em;font-size:17.5px;font-weight:700}.tchord .rn{color:#a8a3ba;margin-top:2px;font-size:11px}.tchord .chip-actions{background:#0000002e;border-top:1px solid #ffffff0f;gap:3px;margin:0;padding:5px 6px 6px}.tchord .ticon{color:#9b97ad;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:28px;height:26px;padding:0;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.tchord .ticon:hover{color:var(--text);background:#ffffff0d}.tchord .ticon.lock.on{color:#ffd54f;background:#ffd54f1f;border-color:#ffd54f47}.tchord .ticon.danger:hover{color:#ff8e8e;background:#ff646414}.tchord.locked,.tbar.locked .tchord{border-color:#ffd54f6b;box-shadow:inset 0 1px #ffd54f1a,0 0 0 1px #ffd54f1f,0 8px 18px #0003}.tchord.locked .sym{color:#ffe9a8}.tbar.nc .tchord{opacity:.9;box-shadow:none;background:#23212ca6;border-style:dashed;border-color:#ffffff1f}.ui-icon{display:block}.lock-shackle{transition:d .18s}.harm-banner{background:#4fd1a51a;border:1px solid #4fd1a559;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 6px;padding:8px 10px;display:flex}.harm-banner-text{font-size:13.5px;line-height:1.35}.harm-banner-text b{color:#7fd0a8}.fit-badge{color:#7fd0a8;white-space:nowrap;background:#7fd0a81f;border:1px solid #3a6b55;border-radius:999px;padding:0 5px;font-size:10px;font-weight:700}.rel-legend{flex-wrap:wrap;gap:10px;margin:4px 0 8px;display:flex}.rel-legend i{vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.reltag{border:1px solid;border-radius:999px;padding:1px 7px;font-size:11.5px}.input{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px}.seg{background:var(--panel2);border-radius:10px;gap:2px;margin-bottom:8px;padding:3px;display:flex}.seg button{background:0 0;border:none;border-radius:8px;flex:1;padding:7px 3px;font-size:13px}.seg button.on{background:#3a3550;font-weight:600}.small-seg button{padding:6px 2px;font-size:12.5px}.pal-block{margin-bottom:8px}.pal-label{letter-spacing:.02em;margin:0 0 4px 2px;font-size:11.5px}.palette{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.pal{border:1.5px solid var(--line);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:54px;padding:6px 2px 5px;line-height:1.15;display:flex}.pal .pal-rn{color:var(--text);font-size:14px;font-weight:700}.pal .pal-sym{color:var(--muted);margin-top:1px;font-size:11px}.pal .pal-mood{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:10px;overflow:hidden}.pal.mood-clash{opacity:.34;filter:grayscale(.55);border-color:var(--line)}.pal.mood-clash .pal-rn{color:var(--muted)}@media (width<=360px){.palette{gap:3px}.pal{padding:6px 0 5px}.pal .pal-rn{letter-spacing:-.02em;white-space:nowrap;font-size:12px}.pal .pal-sym{font-size:10px}}@media (width<=340px){.pal .pal-rn{letter-spacing:-.03em;font-size:10.5px}.pal .pal-mood{font-size:9px}.top{flex-wrap:wrap;row-gap:4px}.keypick{flex:100%;justify-content:flex-start}}.root-move{white-space:nowrap;font-size:12px;font-weight:700}.root-move.root-up{color:#7fd0a8}.root-move.root-down{color:#f0a070}.root-move.root-same{color:var(--muted)}.root-arrow{vertical-align:middle;margin-right:2px;font-size:18px;font-weight:800;line-height:1;display:inline-block}.root-arrow.root-up{color:#7fd0a8}.root-arrow.root-down{color:#f0a070}.root-arrow.root-same{color:var(--muted);font-size:14px}.vis-title .root-arrow{margin-right:6px;font-size:22px}.root-badge{white-space:nowrap;vertical-align:middle;border:1px solid;border-radius:999px;align-items:center;gap:2px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.root-badge.tight{margin-left:4px;padding:0 5px;font-size:10px}.root-badge.root-up{color:#7fd0a8;background:#7fd0a81f;border-color:#3a6b55}.root-badge.root-down{color:#f0a070;background:#f0a0701f;border-color:#6b4a32}.root-badge.root-same{color:var(--muted);border-color:var(--line);background:0 0}.nprank-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.typed{flex:1;gap:6px;min-width:200px;margin-top:2px;display:flex}.typed input{flex:1;min-width:0}.toggle{align-items:center;gap:4px;display:flex}.mood{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px}.moodbar{gap:6px;display:flex}.moodbar input{flex:1;min-width:0}.interp{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.mchip{border:1.5px solid;border-radius:999px;align-items:center;gap:2px;padding:2px 4px;font-size:13px;display:inline-flex}.mchip button{color:inherit;background:0 0;border:none;padding:0 6px;font-size:15px}.dchip{border-radius:999px;padding:3px 9px;font-size:12.5px}.input-head{align-items:stretch;gap:8px;margin-bottom:8px;display:flex}.input-head .seg{margin-bottom:0}.input-head .part-tabs{flex:auto;min-width:0}.input-head .input-pane{flex:none;width:9.5em}.input-head .input-pane button{padding:7px 4px;font-size:12px}.write-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.write-tools .legend{flex:auto;margin-top:0}.rest-btn{padding:4px 12px;font-size:12px;font-weight:600}.part-meter{border:1px solid var(--line);background:var(--panel2);border-radius:12px;margin:0 0 2px;padding:10px}.part-meter-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.part-meter-head-text{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.part-meter-title{letter-spacing:.02em;font-size:13px;font-weight:700}.part-meter-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.part-meter-actions{flex-wrap:wrap;flex:none;gap:4px;display:flex}.part-meter-actions .pill{padding:3px 9px;font-size:12px}.part-meter-actions .pill.quiet:not(.on){color:var(--muted);background:0 0}.part-meter-block{flex-direction:column;gap:6px;display:flex}.part-meter-sigs{flex-wrap:wrap;justify-content:flex-start;gap:4px;display:flex}.part-meter-subdiv{border-top:1px solid #ffffff0a;padding-top:2px}.part-meter-sigs .pill{text-align:center;min-width:2.6em;padding:4px 9px;font-size:12px}.part-meter-grid{grid-template-columns:repeat(auto-fit,minmax(28px,1fr));gap:3px;margin-top:8px;display:grid}.pm-cell{min-height:34px;color:var(--muted);background:#00000038;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:11px;display:flex}.pm-cell.pulse{border-color:#7fd0a847}.pm-cell.tone{color:#cfe4ff;background:#9ecbff1f}.pm-cell.rest{color:#bdb8d4;background:#bdb8d41a}.pm-beat{font-variant-numeric:tabular-nums;opacity:.75;font-size:9px}.pm-mark{font-size:12px;line-height:1}.tnote.rest{color:#bdb8d4;background:linear-gradient(#2a2733 0%,#1c1a22 100%);border-color:#bdb8d459}.tnote-rest{letter-spacing:.02em;align-items:center;padding:6px 8px;font-size:12px;font-weight:600;display:inline-flex}.mood-head{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 6px;display:flex}.mood-head b{font-size:13px}.ghead-mood{color:var(--accent);font-weight:600}.cof-legend{white-space:nowrap;text-overflow:ellipsis;cursor:help;margin:6px 0 4px;overflow:hidden}.mood-miss{color:#f0c070;margin:6px 2px 0}.presets{flex-wrap:wrap;gap:5px;max-height:none;margin-top:8px;display:flex}.preset{white-space:nowrap;background:0 0;border:1.5px solid;border-radius:999px;padding:3px 8px;font-size:12px;line-height:1.25}.slider{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:12.5px;display:flex}.slider input{accent-color:var(--accent);flex:1;padding:0}.visuals{background:var(--panel);border:1.5px solid var(--line);border-radius:14px;padding:10px}.vis-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.vis-title{font-size:17px}.vis-body svg{width:100%;height:auto;display:block}.vis-body svg.circle,.cof-block svg.circle{width:calc(100% + 12px);max-width:none;margin-inline:-6px}.vis-section{margin-bottom:6px}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:11px;height:11px;margin-right:4px;display:inline-block}.legend i.ring{background:0 0;border:2.5px solid #8fa8c8}.guitar-row{align-items:center;gap:14px;display:flex}.guitar-row svg.guitar{width:52%;max-width:220px}.guitar-meta{flex-direction:column;gap:6px;display:flex}svg .kname{fill:#555;text-anchor:middle;font-size:9px}svg .kname.on{fill:#111;font-size:10px;font-weight:700}svg .kname.tonic{fill:#1f8f80;font-weight:700}svg .kname.black{fill:#e8e4f4;font-size:8px;font-weight:600}svg .kname.black.on{fill:#111}svg .kname.black.tonic{fill:#7fd9c8}svg .finger circle{fill:#111;stroke:#fff;stroke-width:1.2px}svg .finger text{fill:#fff;text-anchor:middle;dominant-baseline:middle;font-size:11px;font-weight:700}svg .meldot{fill:#ffd54f;stroke:#111;stroke-width:1px}svg .fretno{fill:#bbb;text-anchor:end;font-size:11px}svg .openmute{fill:#ddd;text-anchor:middle;font-size:15px}svg .gfinger{fill:#111;text-anchor:middle;dominant-baseline:middle;font-size:11px;font-weight:800}svg .sname{fill:#888;text-anchor:middle;font-size:10px}svg .vlhead{fill:#ddd;text-anchor:middle;font-size:14px;font-weight:700}svg .vlnote{fill:#ddd;font-size:12px}svg .vldelta{text-anchor:middle;font-size:11px;font-weight:700}.connections{background:radial-gradient(90% 80% at 100% 0,#c4b0ff14,#0000 55%),linear-gradient(165deg,#26232f 0%,#1a1822 100%);border:1px solid #c4b0ff38;border-radius:14px;margin:12px 0 4px;padding:12px 12px 10px}.conn-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.conn-head h3{letter-spacing:-.01em;margin:0 0 4px;font-size:15px}.conn-head p{max-width:52ch;margin:0}.conn-mode{flex:none}.conn-bridges{scrollbar-width:thin;align-items:stretch;gap:10px;padding:2px 2px 8px;display:flex;overflow-x:auto}.conn-bridge{cursor:pointer;background:#00000038;border:1px solid #ffffff14;border-radius:12px;flex:none;width:min(320px,86vw);padding:8px 10px 10px;transition:border-color .15s,background .15s}.conn-bridge:hover{border-color:#c4b0ff59}.conn-bridge.on{background:#7fd3ff0f;border-color:#7fd3ff8c}.conn-bridge-head{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.conn-bridge-syms{align-items:baseline;gap:8px;font-size:16px;display:flex}.conn-arrow{color:var(--muted);font-weight:600}.conn-bridge-meta{line-height:1.3}.conn-bridge .vl{width:100%;height:auto;display:block}.conn-bridge-foot{flex-direction:column;gap:6px;margin-top:6px;display:flex}.conn-bridge-mel{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.conn-hint{margin:0}.conn-step{white-space:nowrap;background:#0003;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.conn-step i{opacity:.85;border-radius:1px;width:6px;height:2px}.conn-step small{opacity:.95;font-size:10px;font-weight:700}.conn-within{flex-direction:column;gap:8px;margin-top:10px;display:flex}.conn-subhead{text-transform:uppercase;letter-spacing:.04em;color:#8fa8c8;margin:0;font-size:12px}.conn-within-bar{background:#00000029;border:1px solid #ffffff12;border-radius:10px;padding:8px 10px}.conn-within-bar.on{border-color:#7fd3ff73}.conn-within-head{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.conn-seq{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0;display:flex}.conn-seq-label{letter-spacing:.05em;text-transform:uppercase;color:#8fa8c8;min-width:52px;font-size:10px;font-weight:700}.conn-seq-line{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.conn-seq-plain{width:100%}.conn-tone{background:#2a2733;border-radius:8px;flex-direction:column;align-items:center;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.conn-tone small{opacity:.85;font-size:9px}.conn-tone.bass{background:#243038}.conn-roles{margin-top:2px}svg .cname{fill:#ddd;text-anchor:middle;font-size:13.5px;font-weight:700}svg .cname.dark{fill:#111}svg .ccenter{text-anchor:middle;font-size:20px;font-weight:800}svg .cmove{text-anchor:middle;font-size:12px;font-weight:700}svg .cdir{fill:#8f8aa3;text-anchor:middle;font-size:10px}svg .cdir.cw{fill:#7fd0a8}svg .cdir.ccw{fill:#f0a070}svg .cstep{text-anchor:middle;fill:#8f8aa3;font-size:9px;font-weight:700}svg .cstep.cw{fill:#7fd0a8}svg .cstep.ccw{fill:#f0a070}svg .cstep.home{fill:#bdb8d4}svg .cstep.long{letter-spacing:-.02em;font-size:8px}svg .ceffect{text-anchor:middle;font-size:9.5px}svg .ceffect.soft{font-size:8px;font-weight:500}svg .cadd{fill:#bdb8d4;text-anchor:middle;pointer-events:none;font-size:8.5px;font-weight:600}svg .cdot-pill{text-anchor:middle;fill:#f4f1ff;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:8.5px;font-weight:800}svg .cdot-pill.dark{fill:#121117}svg .cdot-hit:hover rect{stroke:#eceaf4;stroke-width:2.2px}svg .cnode-hit:hover circle:nth-of-type(2){stroke:#eceaf4;stroke-width:2px}svg .tgrid line{stroke:#34313f;stroke-width:1px}svg .tnode{fill:#1d1c24;stroke:#4a4658}svg .tnode.tonic{stroke:#fff;stroke-width:2px}svg .tname{fill:#ddd;text-anchor:middle;font-size:10px;font-weight:600}svg .tcap{fill:#aaa;font-size:11px}svg .cnote{fill:#bbb;text-anchor:middle;font-size:10px}.suggestions .group{margin-bottom:8px}.ghead{text-transform:capitalize;align-items:center;gap:8px;margin:12px 0 6px;font-size:13px;font-weight:700;display:flex}.ghead i{border-radius:50%;width:10px;height:10px;display:inline-block}.best-fit-under-cof{border-top:1px solid var(--line);margin-top:12px;padding-top:4px}.best-fit-under-cof .ghead{margin-top:8px}.recent-chords{flex-direction:column;gap:6px;margin:8px 0 4px;display:flex}.recent-chords-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recent-chords-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex:none;font-size:11px;font-weight:700}.recent-chords-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.recent-chord{border:1.5px solid var(--line);background:var(--panel2);border-radius:999px;align-items:baseline;gap:5px;padding:4px 9px;font-size:13px;line-height:1.2;display:inline-flex}.recent-chord b{font-size:13.5px;font-weight:700}.recent-chord small{color:var(--muted);font-size:11px}.recent-chord.now{background:#9c7cf41f;box-shadow:inset 0 0 0 1px #9c7cf440}.recent-now{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:9.5px;font-weight:700}.recent-moves{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.recent-moves li{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:12px;line-height:1.35;display:flex}.recent-move-pair b{font-weight:700}.recent-move-root{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.recent-move-root.root-up{color:#7fd0a8}.recent-move-root.root-down{color:#f0a070}.recent-move-root.root-same{color:var(--muted)}.recent-move-nrt{color:#b9a7ff;white-space:nowrap;font-size:11px}.recent-move-effect{color:var(--muted);white-space:nowrap}.strip-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 8px;padding:0 2px;display:flex}.card-viz-toggle{gap:4px;display:inline-flex}.card-viz-toggle .pill{text-transform:none;padding:2px 10px;font-size:12px;font-weight:600}.card-note-legend{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:0;display:flex}.card-note-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.card-note-legend i.ring{background:0 0;border:2px solid #8fa8c8;border-radius:2px;width:8px;height:8px}.card-piano{-webkit-overflow-scrolling:touch;margin-top:6px;overflow-x:auto}.card-piano .piano-card{width:auto;max-width:100%;height:44px;display:block}.card-piano .kname.card-k{font-size:7px;font-weight:700}svg.staff-card .staff-name.prior{fill:#8fa8c8}.tchord-piano,.tchord-staff{-webkit-overflow-scrolling:touch;background:#00000047;border-bottom:1px solid #ffffff0f;padding:6px 6px 0;overflow-x:auto}.tchord-piano .piano-card{width:auto;max-width:100%;height:40px;margin:0 auto;display:block}.tchord-piano .kname.card-k{font-size:7px;font-weight:700}.tchord-staff .staff-card{width:auto;max-width:100%;height:48px;margin:0 auto;display:block}svg.staff-card .staff-line{stroke:#6a6578;stroke-width:1px}svg.staff-card .staff-line.ledger{stroke:#7a758c}svg.staff-card .staff-clef{fill:#9b97ad;dominant-baseline:alphabetic;font-family:Noto Music,Segoe UI Symbol,serif;font-size:26px}svg.staff-card .staff-acc{fill:#e8e4f4;text-anchor:end;font-size:10px;font-weight:700}svg.staff-card .staff-name{fill:#bdb8d4;text-anchor:middle;font-size:7.5px;font-weight:600}.card{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-left:5px solid;border-radius:12px;gap:8px;margin-bottom:7px;padding:9px 10px;display:flex}.card.sel{background:#262333;border-color:#5a5470}.card{content-visibility:auto;contain-intrinsic-size:auto 150px}.lazy-loading{padding:12px 4px}.card-main{flex:1;min-width:0}.card-top{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.card-top .sym{font-size:19px;font-weight:800}.card-top .rn{color:var(--muted);font-size:14px}.rar{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}.rar.colorful{color:#ce93d8}.rar.adventurous{color:#ffb74d}.tags{flex-wrap:wrap;align-items:center;gap:5px;margin:5px 0 3px;display:flex}.tag{color:#111;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.shift{color:var(--text);font-size:12px}.fit{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 6px;font-size:11px}.breathe{letter-spacing:.02em;color:#9ab8a8;background:#9ab8a814;border:1px dashed #9ab8a880;border-radius:999px;padding:0 7px;font-size:11px;font-weight:600}.ghead-breathe{color:#8aa898;font-size:12px;font-weight:500}.why{color:#cfcbe0;font-size:13px;line-height:1.3}.card-actions{flex-direction:column;justify-content:center;gap:6px;display:flex}.card-actions button{width:40px;height:36px;padding:0;font-size:16px}.sheet{z-index:20;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-inner{background:var(--bg);width:100%;max-width:600px;max-height:92vh;padding:14px 14px calc(30px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:18px 18px 0 0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.evidence{padding-left:18px}.evidence li{margin-bottom:8px}.cons{border-radius:6px;margin-left:4px;padding:0 5px;font-size:10.5px}.cons.high{background:#2e7d32}.cons.medium{background:#6d5d1a}.cons.low{background:#5d2a2a}.dims{grid-template-columns:1fr 1fr;gap:6px 14px;margin:10px 0;display:grid}.dim{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.dim span{width:82px}.dim .bar{background:var(--panel2);border-radius:3px;flex:1;height:6px;overflow:hidden}.dim .bar i{background:var(--accent);height:100%;display:block}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;background:#333044;border-radius:12px;max-width:90vw;padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}.toast-offer{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:max-content;display:flex}.toast-offer .pill{min-height:36px}.foot{text-align:center;margin-top:20px}.melody-input svg{touch-action:manipulation;width:100%;height:auto}.fit-explainer{color:var(--text);background:#8fa8c814;border:1px solid #8fa8c838;border-radius:10px;margin:8px 0 2px;padding:0;font-size:13px;line-height:1.4}.fit-explainer>summary{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;padding:7px 12px;font-size:12px;font-weight:600;list-style:none}.fit-explainer>summary::-webkit-details-marker{display:none}.fit-explainer>summary:after{content:" ▾";opacity:.7;font-size:10px}.fit-explainer[open]>summary{color:var(--text);border-bottom:1px solid #8fa8c82e}.fit-explainer[open]>summary:after{content:" ▴"}.fit-explainer-body{padding:8px 12px 10px}.fit-explainer p{margin:0 0 6px}.fit-explainer p:last-child{margin-bottom:0}.fit-explainer .fit-why{color:var(--muted);font-size:12px}.fit-label{letter-spacing:.04em;text-transform:uppercase;color:#8fa8c8;vertical-align:middle;min-width:3.4em;margin-right:6px;font-size:10.5px;font-weight:700;display:inline-block}.fit-scale,.fit-chars{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.fit-deg,.fit-chip{color:#e8e4f4;background:#a693f529;border:1px solid #a693f559;border-radius:999px;padding:2px 7px;font-size:11.5px;font-weight:600}.fit-chip{background:#3fc9b424;border-color:#3fc9b466}.fit-rel{color:var(--muted);flex-wrap:wrap;gap:8px 12px;margin:0 0 6px;padding:0;font-size:12px;list-style:none;display:flex}.fit-rel i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}svg .maxis{fill:#8a869a;font-size:10.5px}svg .mlabel{fill:#ddd;paint-order:stroke;stroke:#15141b;stroke-width:3px;font-size:10px;font-weight:600}svg .mlabel.sel{font-size:12px}.journey,.lore{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px}.journey summary,.lore summary{cursor:pointer;font-weight:700}.journey .row{margin-top:8px}.journey select{padding:6px;font-size:15px}.jchips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.jchip{color:#111;text-align:center;cursor:pointer;border:none;border-radius:10px;padding:5px 9px;font-weight:700}.jchip small{font-size:11px;font-weight:500;display:block}.lorecard{background:#201e18;border-left:4px solid #ffd54f;border-radius:8px;margin:8px 0;padding:6px 10px}.lorebadge{color:#111;background:#ffd54f;border-radius:6px;padding:1px 6px;font-size:10.5px;font-weight:800}.listen{flex-wrap:wrap;align-items:center;gap:10px;min-height:40px;margin:10px 0 4px;display:flex}.listen-src{flex:none}.listen-src button{padding:4px 10px;font-size:12px}.listen .live{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.listen .live b{font-size:18px}.listen .conf{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.listen .holdbar,.listen .level{background:#2c2a36;border-radius:3px;height:6px;display:inline-block;overflow:hidden}.listen .holdbar{width:54px}.listen .holdbar i{background:#7cd992;height:100%;transition:width 80ms linear;display:block}.listen .level{width:40px}.listen .level i{background:#8fa8c8;height:100%;display:block}.listen .added{color:#7cd992;font-size:12px}button.rec{color:#fff;background:#c62828;border-color:#c62828}.instr-collapsed{border:1px solid var(--line);background:var(--panel2);border-radius:10px;margin-top:8px;padding:0}.instr-collapsed>summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 10px;font-size:12.5px;font-weight:600;list-style:none}.instr-collapsed>summary::-webkit-details-marker{display:none}.instr-collapsed>summary:after{content:" ▾";opacity:.65;font-size:10px}.instr-collapsed[open]>summary{border-bottom:1px solid var(--line)}.instr-collapsed[open]>summary:after{content:" ▴"}.instr-collapsed .instr-parts{margin-top:0;padding:8px 10px 10px}.instr-parts{flex-direction:column;gap:5px;margin-top:8px;display:flex}.instr-part{grid-template-columns:3.6em 1fr;align-items:center;gap:6px 8px;min-width:0;display:grid}.instr-part-label{letter-spacing:.05em;text-transform:uppercase;color:#8fa8c8;text-align:right;font-size:10px;font-weight:700;line-height:1.1}.instr-part .instr{margin-top:0}.instr{flex-wrap:wrap;align-items:center;gap:4px;margin-top:10px;display:flex}.instr .pill{padding:4px 8px;font-size:12px}.instr .loading{color:var(--muted);align-items:center;gap:6px;padding-left:2px;display:inline-flex;position:relative}.about{color:var(--muted);margin:18px 4px 0;font-size:13px}.about summary{cursor:pointer;color:#cfcfe0}.about p{margin:8px 0;line-height:1.45}.about a{color:#b9a7ff}.legend i.bar{vertical-align:2px;border-radius:3px;width:14px;height:5px}.legend i.dot{background:#ffd54f;border:1px solid #111;border-radius:50%;width:10px;height:10px}.legend i.dot.bass{background:#6fb0a8}.bass-input{border-top:1px solid #6fb0a82e;padding-top:4px}.instr-status{min-height:16px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11.5px;line-height:16px;overflow:hidden}.instr-status .loading{color:#b9b4d6}@media (width<=420px){.input-head{flex-wrap:wrap}.input-head .input-pane{width:100%}.instr-part{grid-template-columns:1fr;gap:3px}.instr-part-label{text-align:left}}.artists{flex-direction:column;gap:8px;display:flex}.band-request-stack{flex-direction:column;gap:8px;margin-top:6px;display:flex}.band-request{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:7px;padding:10px 12px;display:flex}.band-request h4{margin:0}.band-request input,.band-request-song{width:100%}.band-request-song{resize:vertical;background:var(--panel2);border:1px solid var(--line);min-height:72px;color:var(--text);font:inherit;border-radius:10px;padding:8px 10px;line-height:1.35}.band-request-songbox{border-style:dashed}.band-request-actions{flex-direction:column;gap:6px;display:flex}.cof-block{margin-top:8px}.cof-instr{flex-wrap:wrap;justify-content:center;margin-top:6px}.cof-instr .pill{padding:4px 8px;font-size:12px}.band-request-recent{border-top:1px solid var(--line);margin-top:2px;padding-top:6px}.band-request-recent ul{margin:4px 0 0;padding-left:18px}.band-request-recent a{color:#9ecbff}.artist-card{text-align:left;background:var(--panel2);border-radius:12px;flex-direction:column;gap:6px;width:100%;padding:10px 12px;display:flex}.artist-card .ac-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.artist-card .ac-head b{font-size:17px}.artist-card p{margin:0}.polbars{flex-direction:column;gap:4px;display:flex}.polbar .polhead{color:#cfcbe0;text-transform:lowercase;align-items:center;gap:8px;font-size:11.5px;display:flex}.polbar .pole{white-space:nowrap;text-overflow:ellipsis;max-width:28%;color:var(--muted);flex:none;overflow:hidden}.polbar .pole.left{text-align:right}.polbar .pole.right{text-align:left}.polbar .track{background:linear-gradient(90deg,#6b8cff 0%,#7b68d9 45%,#b070c8 70%,#c45a7a 100%);border-radius:4px;flex:1;height:8px;position:relative;box-shadow:inset 0 0 0 1px #ffffff0f}.polbar .track .marker{pointer-events:none;background:#f2efff;border:2px solid #e8e2ff;border-radius:50%;width:12px;height:12px;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #14121e8c,0 1px 4px #00000073}.polbar p{margin:2px 0 8px}.artist-detail h2{margin:6px 0 2px}.artist-detail h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 6px;font-size:13px}.artist-detail .back{margin-bottom:4px}.tryit{background:var(--panel2);border-radius:12px;margin-bottom:8px;padding:10px}.tryit-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.tryit-chords{margin:6px 0;font-size:15px;font-weight:700}.tryit p{margin:6px 0}.cat{color:#c9bff7;text-transform:capitalize;margin:10px 0 4px;font-size:12px}.tech{border-left:3px solid #4a4366;margin-bottom:10px;padding:4px 0 6px 10px}.tech-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tech p{margin:4px 0}.evid{color:#bdb8d4;white-space:nowrap;background:#2c2a36;border-radius:8px;padding:1px 6px;font-size:10px}.evid.documented{color:#a5e8cf;background:#1f4d3f}.evid.lesson-derived{color:#e8dfa5;background:#3d3a1f}.chips-row{flex-wrap:wrap;gap:5px;margin:4px 0;display:flex}.techchip{background:#262333;border-color:#4a4366;border-radius:12px;padding:3px 8px;font-size:12px}.techchip.on{background:#4a4366}.kbinfo{background:#1f1d28;border-radius:10px;margin:4px 0;padding:8px}.kbinfo p{margin:4px 0}.hint{color:#cfc8ef}.cite a{color:#b9a7ff;margin-left:2px;font-size:10px;text-decoration:none}.work{margin-bottom:6px}.work summary{cursor:pointer}.sources a{color:#b9a7ff;word-break:break-word}.guide li,.sources li{margin-bottom:4px}.linkish{color:#b9a7ff;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.tension{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:9px 10px}.tension-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tension-head-left{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.tension-title{color:var(--text);text-transform:none;letter-spacing:.01em;margin:0;font-size:15px;font-weight:800}.tension-head select{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:3px 6px;font-size:13px}.tmsg{color:#cfcbe0;margin:2px 0 6px}.tension-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.tension svg{display:block}.tlabel{fill:#bdb8d4;font-size:10px}.tlabel.ghost{font-weight:700}.tmel-cols{align-items:flex-start;margin:2px 0 0;display:flex}.tmel-col{cursor:pointer;flex-direction:column;align-items:center;gap:2px;min-height:4px;padding:2px 1px;display:flex}.tmel-col.on{background:#ffffff0a;border-radius:6px}.tbreak{margin-top:6px}.tbreak-top{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.tbreak-top b{margin-right:2px;font-size:14px}.tmetric-row{flex-wrap:wrap;flex:1;gap:5px;display:flex}.tmetric{border:1px solid var(--line);background:var(--panel2);color:#cfcbe0;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.tmetric.rub{color:#7fd3ff;background:#7fd3ff1f;border-color:#3a5a6b}.tmetric.ok{color:#7fd0a8;background:#7fd0a81a;border-color:#2f5a48}.tdetails-btn{padding:2px 8px;font-size:12px}.tdetails{margin:4px 0 0;line-height:1.35}.tmel-link{flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;display:flex}.tmel-chip{color:#7fd3ff;background:#7fd3ff1f;border:1px solid #3a5a6b;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.tlegend i.band{background:#4fd1a559}.tlegend i.debt{background:#f0a0508c}.tlegend i.ceil{border-top:2px dashed #ef5b5b;border-radius:0;width:12px;height:0}.tlegend i.melring{vertical-align:-1px;background:0 0;border:1.5px solid #7fd3ff;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.tbar.on{outline-offset:2px;border-radius:12px;outline:2px solid #7fd0a8a6}.tbar.on .tchord{border-color:#7fd0a8}.timeline.chords-only{align-items:flex-start;min-height:0}.timeline.chords-only .tbar.on{outline-offset:0;outline:none}.timeline.chords-only .tchord.sel,.timeline.chords-only .tbar.on:not(.playing) .tchord{border-color:#7fd0a8;box-shadow:inset 0 1px #ffffff0f,0 0 0 2px #7fd0a880,0 8px 20px #00000038}.guide-page{margin-top:4px}.guide-hero h2{letter-spacing:.01em;margin:4px 0 6px;font-size:22px;font-weight:800}.guide-hero p{margin:0 0 12px;line-height:1.45}.guide-toc,.guide-theory-toc{flex-wrap:wrap;gap:5px;margin:0 0 14px;padding:0;display:flex}.guide-toc a,.guide-theory-toc a{color:var(--muted);border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:3px 8px;font-size:11.5px;line-height:1.3;text-decoration:none}.guide-toc a:hover,.guide-theory-toc a:hover{color:var(--text);border-color:#5d5680}.guide-workflow{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:10px 12px}.guide-workflow h3{color:var(--text);text-transform:none;letter-spacing:0;margin:0 0 6px;font-size:14px}.guide-workflow ol{margin:0;padding-left:1.2em}.guide-workflow li{margin:4px 0;font-size:13.5px;line-height:1.4}.guide-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:0 0 10px;padding:12px 12px 10px}.guide-card h3{color:var(--text);text-transform:none;letter-spacing:0;margin:0 0 8px;font-size:16px;font-weight:700}.guide-use,.guide-mus{margin:0 0 8px;font-size:13.5px;line-height:1.45}.guide-kicker{letter-spacing:.04em;text-transform:uppercase;color:#7fd0a8;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.guide-kicker.mus{color:#9ecbff}.guide-tip{margin:0 0 8px}.guide-card .pill{margin-top:2px}.guide-theory{background:radial-gradient(120% 80% at 0% 0%, #7fd0a814, transparent 55%), radial-gradient(100% 70% at 100% 0%, #9ecbff1a, transparent 50%), var(--panel);border:1px solid #9ecbff47;border-radius:16px;margin:18px 0 8px;padding:14px 12px 10px}.guide-theory-head h2{letter-spacing:.01em;margin:0 0 6px;font-size:20px;font-weight:800}.guide-theory-head p{margin:0 0 10px;font-size:13.5px;line-height:1.45}.guide-theory-group{border:1px solid var(--line);background:#0000002e;border-radius:12px;margin:0 0 8px;padding:10px 11px 8px}.guide-theory-group h3{color:#cfe4ff;text-transform:none;letter-spacing:0;margin:0 0 6px;font-size:15px;font-weight:700}.guide-theory-intro{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.45}.guide-theory-list{margin:0;padding-left:1.15em}.guide-theory-list li{margin:5px 0;font-size:13.5px;line-height:1.42}.guide-theory-list b{color:var(--text);font-weight:700}.guide-foot{margin:16px 0 8px}.card-rank{color:#7fd0a8;min-width:1.4em;font-size:11px;font-weight:700}.path-block{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:8px 0 12px;padding:9px 10px}.path-block-bottom{margin-top:14px;margin-bottom:4px}.path-row{flex-direction:column;gap:6px;margin:4px 0 0;display:flex}.path-chip{background:var(--panel2);border:1px solid var(--line);text-align:left;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;display:flex}.path-chip.on{border-color:#7fd0a8}.path-chip .path-syms{font-size:14px;font-weight:700;line-height:1.35}.path-chip .path-mel{color:#7fd3ff;margin-top:2px;font-size:12px}.path-chip .path-why{color:var(--muted,#8f8aa3);margin-top:3px;font-size:11px;line-height:1.35}.path-actions{gap:4px;display:flex}.tstatus{align-items:center;gap:6px;font-weight:700;display:inline-flex}.tstatus i{border-radius:50%;width:9px;height:9px;display:inline-block}.tlegend{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.tlegend i{vertical-align:middle;border-radius:2px;width:12px;height:7px;margin-right:4px;display:inline-block}.treason{color:#a5e8cf;background:#1f3d35;border-radius:9px;padding:1px 7px;font-size:11px}.treason.warn{color:#f3b49f;background:#45261f}.nextpick{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:8px 0 12px;padding:9px 10px}.nextpick-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.nextpick-svg{width:100%;height:auto;max-height:180px;display:block}.nextpick .nplabel{fill:#8f8aa3;font-size:10px}.nextpick .nplabel.on{font-size:11px;font-weight:700}.nextpick-ranks{flex-direction:column;gap:3px;margin-top:6px;display:flex}.nprank{text-align:left;cursor:pointer;width:100%;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:18px minmax(36px,auto) 1fr minmax(28px,auto);align-items:center;gap:6px;padding:4px 6px;display:grid}.nprank:hover{background:#ffffff08}.nprank.on{border-color:var(--line);background:#ffffff0d}.nprank-i{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.nprank-name{white-space:nowrap;font-size:14px;font-weight:700}.nprank-bar{background:#2a2736;border-radius:3px;height:6px;display:block;overflow:hidden}.nprank-bar i{border-radius:3px;height:100%;display:block}.nprank-meta{text-align:right;white-space:nowrap;font-size:11px}.nextpick-break{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.nextpick-break-top{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.nextpick-break-top b{font-size:18px}.nextpick-break .why{margin:4px 0 2px;line-height:1.35}.drawer-root{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);touch-action:none;background:#08070c99;justify-content:flex-start;animation:.28s ease-out both drawer-fade;display:flex;position:fixed;inset:0}.drawer{background:var(--bg);border-right:1px solid var(--line);will-change:transform;touch-action:pan-y;width:min(100%,420px);height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-radius:0 18px 18px 0;outline:none;flex-direction:column;animation:.28s cubic-bezier(.22,1,.36,1) both drawer-slide;display:flex;box-shadow:16px 0 48px #00000073}.drawer.menu-only{width:min(74vw,320px)}.drawer-brand{align-items:center;gap:9px;padding-left:4px;display:inline-flex}.drawer-brand .brand-name{font-size:20px;animation:none}.drawer.menu-only .drawer-head{border-bottom:none;padding:14px 12px 6px}.drawer-close{color:var(--muted)}.drawer-section{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.75;padding:16px 12px 6px;font-size:11px;font-weight:600}.drawer-row{text-align:left;width:100%;box-shadow:none;color:var(--text);background:0 0;border:none;border-radius:10px;align-items:center;gap:13px;padding:10px 12px;transition:background .15s;display:flex}.drawer-row:hover,.drawer-row:focus-visible{background:#ffffff0d}.drawer-row:active{background:#ffffff14}.drawer-row.active{background:#a58bf524}.drawer-row.active .drawer-ico,.drawer-row.active b{color:#c9b8ff}.drawer-ico{color:var(--muted);flex:none}.drawer-row-text{flex-direction:column;gap:1px;min-width:0;display:flex}.drawer-row-text b{font-size:15px;font-weight:550}.drawer-row-text span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.drawer-root.closing{pointer-events:none;animation:.26s ease-in both drawer-fade-out}.drawer-root.closing .drawer{animation:.26s cubic-bezier(.4,0,1,1) both drawer-slide-out}.drawer-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.drawer-title{letter-spacing:-.02em;letter-spacing:.01em;font-family:Inter Tight Variable,-apple-system,sans-serif;font-size:18px;font-weight:700}.drawer-nav{flex-direction:column;gap:2px;padding:0 8px 12px;display:flex;overflow-y:auto}.drawer-link{text-align:left;background:linear-gradient(165deg,#2c2936 0%,#1d1b24 100%);border:1px solid #ffffff14;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 14px;display:flex;box-shadow:inset 0 1px #ffffff0d}.drawer-link b{font-size:15px}.drawer-link span{font-size:12.5px;line-height:1.3}.drawer-link:hover{border-color:#9c7cf473}.drawer-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 12px 24px;overflow-y:auto}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide{0%{transform:translate(-100%)}to{transform:translate(0,0)}}@keyframes drawer-fade-out{0%{opacity:1}to{opacity:0}}@keyframes drawer-slide-out{0%{transform:translate(0,0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.drawer-root,.drawer,.drawer-root.closing,.drawer-root.closing .drawer{animation:none}}.tutorial-launch{vertical-align:middle;padding:3px 10px;font-size:12px;font-weight:600}.tutorial-root{z-index:50;background:#08070cb8;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out drawer-fade;display:flex;position:fixed;inset:0}.tutorial-panel{background:radial-gradient(120% 80% at 0% 0%, #9c7cf41f, transparent 55%), var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;width:min(100%,720px);padding:12px 12px 14px;display:flex;box-shadow:0 18px 48px #00000073}.tutorial-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tutorial-title{letter-spacing:-.02em;font-family:Inter Tight Variable,-apple-system,sans-serif;font-size:20px;font-weight:700;line-height:1.1}.tutorial-sub{margin:4px 0 0}.tutorial-stage{aspect-ratio:16/9;background:#0c0b10;border:1px solid #ffffff0f;border-radius:12px;overflow:hidden}.tutorial-video{background:#0c0b10;width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.tutorial-root{animation:none}}.mref{padding-bottom:12px}.mref-hero h2{letter-spacing:-.02em;margin:10px 0 4px;font-family:Inter Tight Variable,-apple-system,sans-serif;font-size:22px;font-weight:700}.mref-hero p{margin:0 0 12px;font-size:13.5px;line-height:1.4}.mref-seg{background:var(--panel2);border-radius:10px;gap:2px;margin-bottom:8px;padding:3px;display:flex}.mref-seg button{background:0 0;border:none;border-radius:8px;flex:1;padding:7px 4px;font-size:12.5px}.mref-seg button.on{background:#3a3550;font-weight:600}.mref-search{background:var(--panel2);border:1px solid var(--line);border-radius:10px;width:100%;margin-bottom:10px;padding:8px 10px;font-size:15px}.mref-list{flex-direction:column;gap:8px;display:flex}.mref-card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:10px 12px}.mref-card-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.mref-pill{color:#111;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}.mref-desc{color:#cfcbe0;margin:6px 0 4px;font-size:13.5px;line-height:1.35}.mref-axes{grid-template-columns:1fr 1fr;gap:4px 10px;margin:6px 0;display:grid}.mref-axis{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.mref-axis span{flex:none;width:52px}.mref-axis i{background:var(--panel2);border-radius:3px;flex:1;height:5px;display:block;overflow:hidden}.mref-axis i b{background:var(--accent);height:100%;display:block}.mref-block{margin-top:8px}.mref-block h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:600}.mref-block ul{margin:0;padding-left:16px}.mref-block li{margin-bottom:6px;font-size:13px;line-height:1.3}.tag.soft{background:var(--panel2);color:var(--text);border:1px solid var(--line);font-weight:500}.mref-note{margin:0 0 8px;line-height:1.35}.tdrums{flex-wrap:wrap;align-items:center;gap:4px;min-height:22px;margin-top:4px;display:flex}.tdrum-chip{color:#f0d2b8;cursor:pointer;background:linear-gradient(#3a2e28 0%,#2a221c 100%);border:1px solid #e8a87c73;border-radius:8px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:inline-flex}.tdrum-chip small{opacity:.7;font-variant-numeric:tabular-nums}.tdrum-chip.playing{box-shadow:0 0 0 2px #ffd54f80,0 0 14px #e8a87c59}.play-ribbon-note.drums{background:#3a2e28f2}.drum-pad{flex-direction:column;gap:10px;margin-top:4px;display:flex}.drum-theory-strip{background:radial-gradient(120% 80% at 0 0,#e8a87c1f,#0000 55%),linear-gradient(165deg,#2a2420 0%,#1a1714 100%);border:1px solid #e8a87c47;border-radius:12px;padding:10px 12px}.drum-theory-lead{color:#f3e6d8;margin:0 0 8px;font-size:13px;line-height:1.4}.drum-pillars{color:#cbb8a8;gap:4px;margin:0;padding-left:1.1em;font-size:12px;line-height:1.35;display:grid}.drum-kits{background:linear-gradient(165deg,#2a2420e6,#161210f2);border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.drum-kits-head{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.drum-kits-kicker{letter-spacing:.04em;text-transform:uppercase;color:#e8a87c;font-size:11px;font-weight:700}.drum-kits-row{flex-wrap:wrap;gap:6px;display:flex}.drum-kit-chip{color:#f0e6dc;cursor:pointer;text-align:left;background:#1c1814;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 11px;display:flex}.drum-kit-chip:hover{border-color:#e8a87c80}.drum-kit-chip.on{background:linear-gradient(160deg,#e8a87c2e,#241f1a);border-color:#e8a87cbf;box-shadow:0 0 0 1px #e8a87c33}.drum-kit-name{font-size:12px;font-weight:650}.drum-kit-tags{color:#a89484;font-size:10px}.drum-patterns{flex-wrap:wrap;gap:6px;display:flex}.drum-pattern-chip{color:#f0e6dc;cursor:pointer;text-align:left;background:#252018;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%;padding:7px 10px;display:flex}.drum-pattern-chip:hover{border-color:#e8a87c8c}.drum-pattern-name{font-size:12px;font-weight:650}.drum-pattern-tags{color:#a89484;font-size:10px}.drum-grid-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.drum-grid{border-collapse:separate;border-spacing:2px;width:max-content;min-width:100%;font-size:11px}.drum-voice-h,.drum-col-h{color:#9a8b7c;text-align:center;padding:2px;font-weight:500}.drum-col-h.beat{color:#e8d5c4;font-weight:700}.drum-col-h.play,.drum-cell.play{background:#ffd54f1f;border-radius:4px}.drum-voice-label{text-align:left;vertical-align:middle;padding-right:4px}.drum-voice-btn{color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:0;min-width:64px;padding:2px 4px;display:flex}.drum-voice-id{color:#f0d2b8;font-size:11px;font-weight:700}.drum-voice-name{color:#a89484;font-size:9px}.drum-voice-role{color:#7a6a5c;text-transform:uppercase;letter-spacing:.04em;font-size:8px}.drum-hit{color:#0000;cursor:pointer;background:#1c1916;border:1px solid #ffffff14;border-radius:6px;width:28px;height:28px;font-size:12px;font-weight:700;line-height:1}.drum-hit.on{color:#1a120c;background:linear-gradient(#e8a87c 0%,#c47850 100%);border-color:#e8a87ccc}.drum-hit.on.ghost{color:#cbb8a8;background:#3a322c;border-color:#e8a87c59;font-weight:500}.drum-hit.on.accent{background:linear-gradient(#ffd54f 0%,#e8a87c 100%);box-shadow:0 0 8px #ffd54f59}.drum-footer{flex-direction:column;gap:6px;display:flex}.drum-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drum-actions .add{padding:6px 12px;font-size:12px}.drum-ascii{color:#cbb8a8;background:#14110f;border:1px solid #ffffff0f;border-radius:8px;margin:0;padding:8px 10px;font-size:11px;line-height:1.35;overflow-x:auto}.drum-hit-count{margin:0}.tryit-howto{background:linear-gradient(135deg,#e8a87c14,#c4b0ff0f);border:1px solid #e8a87c38;border-radius:10px;margin:6px 0 8px;padding:8px 10px}.tryit-howto-label{letter-spacing:.06em;text-transform:uppercase;color:#e8a87c;margin-bottom:4px;font-size:10px;font-weight:700}.tryit-howto p{margin:0;line-height:1.4}.drum-tension{background:radial-gradient(100% 80% at 100% 0,#ffd54f14,#0000 50%),linear-gradient(165deg,#262018 0%,#181410 100%);border:1px solid #ffd54f38;border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.drum-tension-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.drum-tension-kicker{letter-spacing:.07em;text-transform:uppercase;color:#e8c984;margin-right:8px;font-size:10px;font-weight:700}.drum-budget{color:#121117;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:650;display:inline-block}.drum-tension-msg{color:#f0e6d4;margin:0;font-size:13px;line-height:1.35}.drum-t-meters{grid-template-columns:1fr 1fr;gap:4px 10px;display:grid}.drum-t-meter{grid-template-columns:52px 1fr 32px;align-items:center;gap:6px;font-size:11px;display:grid}.drum-t-meter-label{color:#a89484}.drum-t-meter-track{background:#2a241c;border-radius:4px;height:6px;display:block;overflow:hidden}.drum-t-meter-track i{background:linear-gradient(90deg,#6fb0a8,#e8a87c 55%,#ffd54f);border-radius:4px;height:100%;display:block}.drum-t-meter-val{font-variant-numeric:tabular-nums;color:#cbb8a8;text-align:right}.drum-t-reasons{flex-wrap:wrap;gap:4px;display:flex}.drum-t-chip{color:#f0d2b8;background:#e8a87c1f;border:1px solid #e8a87c59;border-radius:8px;padding:2px 7px;font-size:10px}.drum-t-curve-label{margin-bottom:4px}.drum-t-bars{align-items:flex-end;gap:4px;height:56px;display:flex}.drum-t-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:18px;max-width:40px;height:100%;display:flex;position:relative}.drum-t-bar i{opacity:.85;border-radius:4px 4px 2px 2px;width:100%;min-height:4px;display:block}.drum-t-bar.on i{opacity:1;outline:2px solid #ffd54fb3}.drum-t-bar em{color:#9a8b7c;font-size:9px;font-style:normal}.drum-t-rel{color:#ffd54f;font-size:11px;position:absolute;top:0}.drum-t-levers summary{cursor:pointer;color:#e8c984;font-size:12px;font-weight:600}.drum-t-levers ul{color:#cbb8a8;margin:6px 0 0;padding-left:1.1em;font-size:12px;line-height:1.35}.drum-t-theory{gap:4px;margin-top:8px;display:grid}.drum-t-theory p{color:#a89484;margin:0}.drum-keytones{background:radial-gradient(90% 70% at 0 0,#6fb0a824,#0000 55%),linear-gradient(165deg,#1e2828 0%,#141a1a 100%);border:1px solid #6fb0a852;border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.drum-keytones-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.drum-keytones-kicker{letter-spacing:.07em;text-transform:uppercase;color:#6fb0a8;font-size:10px;font-weight:700}.drum-keytones-pairs,.drum-scale-row{flex-wrap:wrap;gap:6px;display:flex}.drum-keytone-chip,.drum-scale-chip{cursor:pointer;color:#d8ece8;text-align:left;background:#1a2222;border:1px solid #6fb0a859;border-radius:9px;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 9px;display:flex}.drum-keytone-chip:hover,.drum-scale-chip:hover{border-color:#6fb0a8bf}.drum-keytone-voice{color:#6fb0a8;font-size:10px;font-weight:700}.drum-keytone-note{font-size:12px;font-weight:650}.drum-scale-tones{flex-direction:column;gap:4px;display:flex}.drum-scale-chip b{color:#ffe082;font-size:12px}.drum-scale-chip span{color:#9ab5b0;font-size:10px}.drum-voice-tune{color:#6fb0a8;letter-spacing:.02em;font-size:9px;font-weight:600}.transport{background:linear-gradient(180deg, var(--panel2), var(--panel));border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:10px 0 6px;padding:10px 12px;display:grid}.transport-side{align-items:center;gap:10px;display:flex}.transport-left{justify-content:flex-end}.transport-right{justify-content:flex-start}.t-icon{flex:none;display:block}.t-btn,.t-play,.t-mini,.t-chip{color:var(--text);justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s,transform 80ms,box-shadow .15s;display:inline-flex}.t-btn{background:var(--panel2);border:1px solid var(--line);border-radius:50%;width:46px;height:46px}.t-btn:hover:not(:disabled){background:#2b2836;border-color:#4a4560}.t-btn.on{background:color-mix(in srgb, var(--accent) 22%, var(--panel2));border-color:var(--accent);color:var(--accent)}.t-play{background:var(--accent);color:#15121f;width:64px;height:64px;box-shadow:0 4px 18px color-mix(in srgb, var(--accent) 40%, transparent);border:none;border-radius:50%}.t-play:hover:not(:disabled){filter:brightness(1.08)}.t-play.playing{background:var(--text);box-shadow:0 4px 18px #eceaf438}.t-btn:active:not(:disabled),.t-play:active:not(:disabled),.t-mini:active:not(:disabled),.t-chip:active:not(:disabled){transform:scale(.94)}.t-btn:disabled,.t-play:disabled,.t-mini:disabled,.t-chip:disabled{opacity:.38;cursor:default;box-shadow:none}.t-btn:focus-visible,.t-play:focus-visible,.t-mini:focus-visible,.t-chip:focus-visible,.t-bpm:focus-within{outline:2px solid var(--accent);outline-offset:2px}.t-bpm{cursor:pointer;flex-direction:column;gap:1px;position:relative}.t-bpm select{appearance:none;text-align:center;text-align-last:center;width:100%;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;padding:0;font-size:15px;font-weight:700;line-height:1}.t-bpm select:focus{outline:none}.t-bpm-unit{letter-spacing:.08em;color:var(--muted);pointer-events:none;font-size:8.5px}.transport-export{justify-content:center;gap:10px;margin-bottom:8px;display:flex}.t-chip{min-width:96px;height:36px;color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:999px;gap:6px;padding:0 14px;font-size:13px}.t-chip:hover:not(:disabled){color:var(--text);border-color:#4a4560}.t-mini{background:var(--panel2);border:1px solid var(--line);color:#f4f2fa;border-radius:10px;width:36px;min-width:36px;height:36px}@media (width<=360px){.transport{gap:8px;padding:8px}.transport-side{gap:6px}}@media (width<=340px){.transport{gap:6px}.transport-side{gap:5px}.transport .t-btn{width:40px;height:40px}.transport .t-play{width:56px;height:56px}}.t-mini{background:0 0;border-color:#0000;border-radius:8px;width:28px;min-width:28px;height:28px;position:relative}.t-mini svg{width:16px;height:16px}.t-mini:hover:not(:disabled){background:#ffffff12;border-color:#0000}.t-mini:before{content:"";position:absolute;inset:-8px}@media (pointer:coarse){.t-mini{width:28px;min-width:28px;height:28px}}.card-actions{align-items:center}.card-actions button.t-mini{width:28px;height:28px}.stage,.stage-main{display:contents}.suggest-rail,.play-hint,.listen-ico,.guide-jump,.pol-legend{display:none}@media (width>=1024px){.app{--muted:#d0cbdf;max-width:1180px;padding:16px 28px 64px}.stage{grid-template-columns:minmax(0,1.12fr) minmax(320px,420px);align-items:start;column-gap:22px;display:grid}.stage-main{min-width:0;display:block}.suggest-rail{scrollbar-width:thin;background:#1c1b24;border-radius:16px;align-self:start;min-width:0;max-height:calc(100vh - 88px);padding:12px 12px 8px;display:block;position:sticky;top:72px;overflow:auto}.suggest-rail-title{color:#f4f1fb;letter-spacing:0;text-transform:none;margin:0 0 8px;font-size:15px;font-weight:700}.suggest-rail .best-fit-under-cof{border-top:none;margin-top:0;padding-top:0}.visuals .best-fit-under-cof{display:none}.strip,.input,.mood,.visuals,.journey,.lore,.tension,.connections,.nextpick,.path-block,.guide-card,.guide-workflow,.guide-theory,.band-request,.transport,.instr-collapsed,.play-ribbon,.part-meter,.fit-explainer,.drum-theory-strip,.drum-kits,.drum-keytones,.drum-tension,.tutorial-panel,.harm-banner,.tryit-howto{box-shadow:none;border-color:#0000}.strip{background:#1b1a22}.transport{background:#262432}.input,.mood,.visuals,.journey,.lore,.tension,.path-block,.nextpick,.guide-card,.guide-workflow{background:#1b1a22}.play-ribbon{background:#241f30}.part-meter,.instr-collapsed,.fit-explainer{background:#262432}.tchord,.chip,.pal,.path-chip,.conn-bridge,.conn-within-bar,.guide-theory-group,.tryit,.nprank,.tnote,.recent-chord,.drum-hit,.drum-kit-chip,.drum-pattern-chip,.pm-cell{box-shadow:none;border-color:#0000}.tchord{background:#2c2936}.pal,.path-chip,.chip,.tryit{background:#2a2836}.suggest-rail .card,.visuals .card{background:#262432;border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000}.card.sel{background:#302c3e}.tchord .chip-actions{background:#221f2b;border-top-color:#0000}.tchord-piano,.tchord-staff{background:#1a1822;border-bottom-color:#0000}.guide-theory{background:#1b1a22;border-color:#0000}.guide-theory-group{background:#262432}.conn-bridge{background:#221f2c}.connections{background:#1b1a22}.nextpick-break{border-top-color:#0000}.band-request-song,.band-request input,.typed input,.moodbar input{background:#262432;border-color:#0000}.small{font-size:14px;line-height:1.45}.why,.guide-use,.guide-mus,.guide-theory-intro,.guide-theory-list li,.fit-explainer,.fit-explainer .fit-why,.path-chip .path-why,.about,.about p,.polbar p,.conn-hint,.recent-moves li{color:#efeaf8}.muted,.small.muted,.why{color:#e4dff2}.small.muted,.muted{color:#d0cbdf}.brand small,.meter-badge,.play-ribbon-live,.play-ribbon-chord,.play-ribbon-note,.tnote-play small,.fit-badge,.pal-label,.pal .pal-sym,.pal .pal-mood,.root-badge,.root-badge.tight,.part-meter-meta,.pm-cell,.pm-beat,.recent-chords-label,.recent-chord small,.recent-now,.recent-move-nrt,.card-rank,.rar,.fit,.breathe,.cons,.tmetric,.tmel-chip,.treason,.nprank-i,.nprank-meta,.path-chip .path-mel,.path-chip .path-why,.guide-kicker,.drawer-row-text span,.t-bpm-unit,.chip .rn,.tchord .rn,.ghead,.input-head .input-pane button,.rest-btn,.preset,.dchip,.tutorial-launch,.listen .conf,.listen .added,.instr-status,.cat,.evid,.cite a,.lorebadge,.jchip small,.tdetails-btn,.fit-label,.fit-deg,.fit-chip,.fit-rel,.dim,.legend,.slider,.conn-step,.conn-step small,.conn-seq-label,.conn-tone,.conn-tone small,.conn-subhead,.nplabel,.drum-kits-kicker,.drum-kit-name,.drum-kit-tags,.drum-pattern-name,.drum-pattern-tags,.drum-grid,.drum-voice-id,.drum-voice-name,.drum-voice-role,.drum-ascii,.drum-actions .add,.drum-pillars,.drum-t-meter,.drum-t-chip,.drum-keytones-kicker,.drum-keytone-voice,.drum-keytone-note,.drum-scale-chip b,.drum-scale-chip span,.drum-voice-tune,.drum-t-bar em,.tryit-howto-label,.mref-axis,.card-viz-toggle .pill,.part-meter-actions .pill,.part-meter-sigs .pill,.instr-part-label,.instr .pill,.listen-src button,.cof-instr .pill,.techchip,.shift,.ghead-breathe{font-size:13px}.t-bpm-unit{letter-spacing:.04em}.pm-beat{opacity:1}.guide-kicker,.recent-chords-label,.instr-part-label,.drum-voice-role,.tryit-howto-label,.drum-kits-kicker,.drum-keytones-kicker{letter-spacing:.03em}svg .cdir,svg .cstep,svg .ceffect,svg .ceffect.soft,svg .cadd,svg .cdot-pill,svg .tname,svg .tcap,svg .cnote,svg .sname,svg .maxis,svg .mlabel,svg .fretno,svg .finger text{font-size:12px}.transport .t-btn{background:#32303c;border-color:#0000}.transport .t-btn.on{background:color-mix(in srgb, var(--accent) 28%, #32303c);color:#efe8ff;border-color:#0000}.t-chip{color:#d8d3e6;background:#262432;border-color:#0000}.nextpick .nplabel,.nextpick .nplabel.on{font-size:13px}svg.piano:not(.piano-card) .kname,svg.piano:not(.piano-card) .kname.on,svg.piano:not(.piano-card) .kname.black,svg.piano:not(.piano-card) .kname.black.on{font-size:12px}.play-hint{text-align:center;color:#d0cbdf;margin:2px 0 8px;font-size:13px;font-weight:650;display:block}.transport.idle :is(.t-btn,.t-play):disabled,.transport-export.idle .t-chip:disabled{opacity:1;color:#c8c3d4;box-shadow:none;filter:none;cursor:default;background:#3e3c48;border-color:#0000}.transport.idle .t-play:disabled{color:#ddd8ea;background:#4a4758}.pol-legend{margin:2px 0 8px;display:block}.pol-each,.guide-toc,.guide-theory-toc{display:none}.guide-jump{color:#d0cbdf;align-items:center;gap:8px;margin:0 0 14px;font-size:13px;font-weight:650;display:flex}.guide-jump select{background:#262432;border:none;border-radius:10px;flex:1;min-width:0;font-size:14px}.listen-emoji{display:none}.listen-ico{align-items:center;gap:6px;display:inline-flex}.drawer-section{text-transform:none;letter-spacing:.01em;opacity:1;color:#d0cbdf;font-size:13px;font-weight:650}.card-actions{align-items:center}.t-mini,.card-actions button.t-mini{color:#f7f4ff;background:0 0;border-color:#0000}}.drawer-head-left{align-items:center;gap:6px;min-width:0;display:inline-flex}.drawer-head-left .drawer-title{white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.tool{flex-direction:column;gap:12px;padding-top:12px;display:flex}.tool-intro{margin:0;line-height:1.45}.tool-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-presets,.tool-chips{flex-wrap:wrap;gap:6px;display:flex}.tool-chip{background:var(--panel2);border:1.5px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;min-width:54px;padding:6px 9px 5px;line-height:1.15;display:flex}.tool-chip b{letter-spacing:-.01em;font-size:16px;font-weight:700}.tool-chip small{color:var(--muted);font-size:11px}.tool-chip.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--panel2))}.tool-actions{flex-wrap:wrap;gap:8px;display:flex}.tool-actions button{min-height:40px}.tool-hear{align-items:center;gap:6px;display:inline-flex}.tool-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.tool-card h4{margin:0;font-size:15px}.tool-card .muted{margin:0}.tool-meter{flex-direction:column;gap:4px;display:flex}.tool-meter-head{color:var(--muted);font-size:12.5px}.tool-meter-track{background:#2a2836;border-radius:999px;height:8px;overflow:hidden}.tool-meter-track i{background:var(--accent);border-radius:999px;height:100%;transition:width .25s;display:block}.tool-meter-poles{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.tool-check{align-items:center;gap:8px;font-size:13px;display:inline-flex}.tool textarea,.tool input[type=text]{width:100%;font-size:16px}.tool textarea{resize:vertical;background:var(--panel2);border:1px solid var(--line);min-height:120px;color:var(--text);border-radius:10px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.4}.tool-note{color:var(--muted);margin:0;font-size:12.5px}.tool-warn{color:#f0c070;margin:0;font-size:13px}.arc-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;height:auto}.arc-bg{fill:#17161d;stroke:var(--line)}.arc-grid{stroke:#2c2a36;stroke-dasharray:3 4}.arc-axis{fill:var(--muted);font-size:10px}.arc-stroke{fill:none;stroke:#9c7cf4;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.arc-target{fill:#9c7cf4;opacity:.55}.arc-measured{fill:#eceaf4;stroke:#121117;stroke-width:2px}.arc-sym{fill:#eceaf4;text-anchor:middle;font-size:10.5px;font-weight:700}.arc-legend{flex-wrap:wrap;align-items:center;gap:6px;margin:-6px 0 0;display:flex}.arc-key{display:inline-block}.arc-key.line{background:#9c7cf4;border-radius:2px;width:16px;height:3px}.arc-key.dot{background:#eceaf4;border-radius:50%;width:9px;height:9px;margin-left:8px}.tool .seg button{white-space:nowrap}.tool select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:15px}.ear-q{text-transform:none;letter-spacing:-.01em;color:var(--text);font-size:17px!important}.ear-both{align-self:flex-start}.ear-opts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ear-opt{background:var(--panel2);border:1.5px solid var(--line);border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;padding:10px;transition:border-color .2s,opacity .2s;display:flex}.ear-opt.right{border-color:#4caf50}.ear-opt.wrong{border-color:#e57373}.ear-opt.dim{opacity:.75}.ear-hear{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:56px;font-size:22px;font-weight:700;display:flex}.ear-pick{min-height:40px}.ear-reveal{flex-direction:column;align-items:center;gap:4px;min-height:40px;display:flex}.ear-reveal b{font-size:18px}.ear-moods{flex-wrap:wrap;justify-content:center;gap:4px 8px;font-size:12px;display:flex}.ear-moods i{font-style:normal}.ear-result{flex-direction:column;gap:8px;display:flex}.ear-result p{margin:0;font-size:14px;line-height:1.45}.ear-good{color:#a5d6a7}.ear-bad{color:#ef9a9a}.ear-result .add{align-self:flex-start;min-width:110px;min-height:40px}.ear-stats{color:var(--muted);gap:16px;font-size:13px;display:flex}.ear-stats b{color:var(--text);margin-left:4px;font-size:15px}.ear-reset{align-self:flex-start}.song-head{gap:6px}.song-key{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.song-summary{margin:0;font-size:15px;line-height:1.45}.song-curve{width:100%;height:auto}.song-peak{fill:#f44336;stroke:#121117;stroke-width:2px}.song-peak-name{color:var(--text);margin-right:10px;font-weight:600}.song-artist{text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr;gap:3px;padding:9px 10px;display:grid}.song-artist-name{font-size:15px;font-weight:700}.song-artist-bar{background:#2a2836;border-radius:999px;height:5px;overflow:hidden}.song-artist-bar i{background:var(--accent);border-radius:999px;height:100%;display:block}.hum-rec{align-items:flex-start}.hum-mic{border-radius:999px;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-size:16px;font-weight:700;display:inline-flex}.hum-dot{background:#e53935;border-radius:50%;width:12px;height:12px}.hum-mic.on{border-color:#e53935}.hum-mic.on .hum-dot{animation:1s infinite hum-pulse}@keyframes hum-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.hum-mic.on .hum-dot{animation:none}}.hum-live{align-items:center;gap:10px;width:100%;min-height:24px;display:flex}.hum-live b{min-width:44px;font-size:20px}.hum-level{background:#2a2836;border-radius:999px;flex:1;height:6px;overflow:hidden}.hum-level i{background:#81c784;height:100%;transition:width 80ms;display:block}.hum-keys{grid-template-columns:repeat(13,1fr);gap:3px;display:grid}.hum-key{touch-action:manipulation;background:#24222d;border-radius:6px;justify-content:center;align-items:flex-end;min-height:64px;padding:0;font-size:10px;display:flex}.hum-key.in{background:#3a3550}.hum-key.blk{background:#15141a;min-height:52px}.hum-key.blk.in{background:#2c2840}.hum-key span{color:var(--muted);padding-bottom:4px}.hum-key:active{background:var(--accent)}.hum-roll{width:100%;height:auto}.hum-note{fill:#81d4fa}.hum-results{flex-direction:column;gap:10px;display:flex}.hum-card h4{text-transform:none;letter-spacing:0;font-size:16px}.tool-label{color:var(--muted);margin:0 0 6px;font-size:12.5px}.cad-head{align-items:center;gap:8px;display:flex}.cad-head h4{text-transform:none;letter-spacing:0;font-size:16px}.cad-best{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--text);border-radius:999px;padding:2px 8px;font-size:11px}.cad-card.best{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.sec-base{gap:6px}.sec-slider{flex-direction:column;gap:2px;display:flex}.sec-slider input[type=range]{width:100%;accent-color:var(--accent)}.contrast-track{position:relative;overflow:visible}.contrast-track i{background:linear-gradient(90deg,#7986cb,#9c7cf4 50%,#f06292)}.contrast-target{background:#eceaf4;border-radius:2px;width:3px;height:16px;margin-left:-1.5px;position:absolute;top:-4px}.sec-words{flex-wrap:wrap;gap:4px;display:flex}.tool-card.stale{opacity:.6}.contrast-poles{height:14px;color:var(--muted);font-size:11px;position:relative}.contrast-poles span{white-space:nowrap;position:absolute;top:0}.contrast-poles span:nth-child(2),.contrast-poles span:nth-child(3){transform:translate(-50%)}.sec-words .tag{background:var(--panel2);color:var(--text);border:1px solid var(--line);font-weight:500}.blend-pick{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;display:grid}.blend-pick select{width:100%;min-width:0}.blend-swap{font-size:16px}.blend-lean{color:var(--text)}.polbar .track .marker.ghost{opacity:.35;transform:translate(-50%,-50%)scale(.75)}.blend-legend{margin-top:4px}.blend-tool .polbar .pole{width:74px;max-width:none}.pill.smooth-it{align-items:center;gap:4px;padding:2px 9px 2px 7px;font-size:12px;font-weight:600;display:inline-flex}@media (width<=420px){.card-note-legend{gap:6px 9px}.pill.smooth-it{padding:2px 8px}.smooth-label{display:none}}.smooth-offer span{min-width:0}.taste-row{align-items:center;gap:6px;margin-top:6px;display:flex}.taste-btn{width:34px;min-width:34px;height:30px;color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:9px;justify-content:center;align-items:center;padding:0;display:inline-flex}.taste-btn:hover{color:var(--text);border-color:#4a4560}.taste-btn:active{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--text)}.sheet .taste-row{margin:4px 0 10px}.taste-sum{margin:0;font-size:14px;line-height:1.45}.taste-like{color:#a5d6a7}.taste-pass{color:#ef9a9a}.taste-reset{align-self:flex-start}.tool-intro svg{vertical-align:-2px}.practice-controls{gap:8px}.practice-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.practice-row .tool-label{min-width:52px;margin:0}.practice-stage{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.practice-go{gap:8px}.practice-now{flex-wrap:wrap;align-items:baseline;gap:10px;min-height:44px;display:flex}.practice-chord{letter-spacing:-.02em;font-size:36px;font-weight:700;line-height:1}.practice-count{color:var(--accent);font-size:36px;font-weight:700;line-height:1}.practice-beats{gap:8px;display:flex}.practice-beats i{background:#2a2836;border-radius:50%;width:14px;height:14px;transition:background 60ms}.practice-beats i.on{background:var(--accent)}.practice-bars{gap:6px}.practice-words{margin:0;font-size:14px}.practice-legend{color:var(--muted);gap:14px;display:flex}.practice-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.practice-split{flex-direction:column;gap:6px;display:flex}.practice-split-row{grid-template-columns:64px 1fr;align-items:center;gap:8px;display:grid}.practice-stack{background:#2a2836;border-radius:999px;height:10px;display:flex;overflow:hidden}.practice-stack i{height:100%;display:block}.release-msg{margin:0;font-size:14px;line-height:1.45}.release-scroll{overflow-x:auto}.release-scroll svg{display:block}.release-tag{font-size:11px;font-weight:600}.release-legend{color:var(--muted);flex-wrap:wrap;gap:12px;display:flex}.release-legend i{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.release-options{flex-direction:column;gap:10px;display:flex}.release-option{border-left:3px solid var(--line)}.release-option-head{align-items:baseline;gap:10px;display:flex}.release-option-head h4{text-transform:none;letter-spacing:0;min-width:84px;font-size:15px}.release-sym{letter-spacing:-.01em;font-size:22px}.release-tool .tool-card h4{text-transform:none;letter-spacing:0}.release-link{min-height:0;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.release-link:hover{text-decoration:underline}.tool-row .seg.hum-rate{flex:0 auto;margin-bottom:0}.seg.hum-rate button{flex:none;min-height:36px;padding:7px 12px}svg.piano .pkey{outline:none}svg.piano .pkey:focus-visible>rect:first-child{stroke:var(--accent);stroke-width:3.5px}.tutorial-launch,.linkish{position:relative}.tutorial-launch:after{content:"";position:absolute;inset:-11px -3px}.linkish:after{content:"";position:absolute;inset:-14px -6px}.t-bpm select{margin:-12px 0 -22px;padding:12px 0 22px}.hit-sel{isolation:isolate;display:inline-flex;position:relative}.hit-sel:before{content:"";z-index:-1;background:var(--panel2);border:1px solid var(--line);pointer-events:none;border-radius:10px;position:absolute;inset:0}.meter-pick .hit-sel select{appearance:none;background:0 0;border-color:#0000;height:43px;margin:-9px 0;padding:0 22px 0 10px}.meter-pick .hit-sel select option{background:var(--panel2);color:var(--text)}.hit-sel:after{content:"";border-right:2px solid var(--text);border-bottom:2px solid var(--text);pointer-events:none;width:5px;height:5px;margin-top:-5px;position:absolute;top:50%;right:8px;transform:rotate(45deg)}.share-wrap{display:inline-flex;position:relative}.t-chip.on{color:var(--text);border-color:#4a4560}.share-menu{z-index:40;background:var(--panel2);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:2px;width:250px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000073}.share-menu [role=menuitem]{text-align:left;width:100%;min-height:48px;color:var(--text);background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:11px;padding:10px;display:flex}.share-menu [role=menuitem]:hover,.share-menu [role=menuitem]:focus-visible{background:#ffffff0f;outline:none}.share-menu [role=menuitem]>svg{color:var(--muted);flex:none;margin-top:2px}.share-menu [role=menuitem]>span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.share-menu b{font-size:14px;font-weight:600}.share-menu small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.share-menu .err small{color:#f0a070}.share-progress{background:#2a2836;border-radius:999px;height:4px;margin-top:4px;display:block;overflow:hidden}.share-progress em{background:var(--accent);height:100%;transition:width .2s;display:block}.qr-panel{width:min(100%,360px)}.qr-card{background:#fff;border-radius:12px;width:min(100%,300px);margin:2px auto 0;padding:6px}.qr-card svg{width:100%;height:auto;display:block}.qr-caption{text-align:center;overflow-wrap:anywhere;margin:0}.qr-too-long{margin:6px 2px}.qr-actions{justify-content:center;display:flex}
