:root{--bg: #0d0221;--surface: #16062e;--surface-hi: #1f0a3d;--accent: #ff2e97;--accent-2: #00e5ff;--text: #f2e9ff;--text-dim: #9d8bb8;--on-accent: #1a0010;--border: rgba(157, 139, 184, .2);--border-strong: rgba(242, 233, 255, .34);--accent-soft: rgba(255, 46, 151, .14);--accent-2-soft: rgba(0, 229, 255, .1);--track: rgba(157, 139, 184, .24);--danger: #ff6b8b;--radius: 14px;--radius-sm: 9px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100vh;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--text);background:radial-gradient(ellipse 70% 38% at 50% 100%,rgba(255,46,151,.2),transparent 70%),radial-gradient(ellipse 60% 30% at 50% 0%,rgba(0,229,255,.06),transparent 70%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;left:-50%;right:-50%;bottom:0;height:58vh;background-image:linear-gradient(to right,rgba(255,46,151,.22) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,229,255,.14) 1px,transparent 1px);background-size:72px 72px;transform:perspective(420px) rotateX(62deg);transform-origin:bottom center;-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 85%);mask-image:linear-gradient(to top,rgba(0,0,0,.9),transparent 85%);opacity:.45;pointer-events:none;z-index:0}button,input,select{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}kbd{font-family:var(--font);font-size:11px;font-weight:600;padding:1px 6px;border-radius:5px;border:1px solid var(--border);border-bottom-width:2px;background:var(--surface-hi);color:var(--text-dim)}.dim{color:var(--text-dim);font-weight:500}.app{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:20px 24px 32px;display:flex;flex-direction:column;gap:16px}.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding:4px 2px}.brand{display:flex;align-items:center;gap:10px}.brand h1{margin:0;font-size:20px;font-weight:750;letter-spacing:.01em}.brand-mark{width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 14px #ff2e978c;align-self:center}.tagline{margin:0;color:var(--text-dim);flex:1 1 280px;text-align:right}.tabs{display:flex;gap:4px;padding:3px;border-radius:11px;background:#0d0221b3;border:1px solid var(--border);align-self:center}.tab{padding:6px 18px;border-radius:8px;color:var(--text-dim);font-weight:650;text-decoration:none;transition:color .15s,background-color .15s}.tab:hover{color:var(--text)}.tab.is-active{background:var(--surface-hi);color:var(--text);box-shadow:inset 0 0 0 1px #ff2e978c}.lang-switch{display:flex;gap:2px;padding:3px;border-radius:9px;background:#0d0221b3;border:1px solid var(--border);align-self:center}.lang-switch button{padding:3px 8px;border:0;border-radius:6px;background:none;color:var(--text-dim);font:650 11.5px var(--font);letter-spacing:.04em;cursor:pointer}.lang-switch button:hover{color:var(--text)}.lang-switch button[aria-pressed=true]{background:var(--surface-hi);color:var(--text)}.page{display:flex;flex-direction:column;gap:16px}.workspace{display:grid;grid-template-columns:264px minmax(0,1fr) 330px;gap:16px;align-items:start}.panel{background:#16062ee0;border:1px solid var(--border);border-radius:var(--radius);padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.panel-title{display:block;margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-hi);font-weight:600;cursor:pointer;transition:border-color .15s,background-color .15s,transform .08s}.btn:hover:not(:disabled){border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:default;opacity:.55}.btn-small{padding:6px 12px;font-size:13px}.btn-play{font-size:17px;font-weight:750;padding:13px 28px;background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 0 0 1px #ff2e9766,0 0 26px #ff2e976b}.btn-play:hover:not(:disabled){background:#ff4aa6;border-color:#ff4aa6;box-shadow:0 0 0 1px #ff2e978c,0 0 34px #ff2e978c}.btn-vary{font-size:17px;font-weight:750;padding:13px 26px;background:var(--accent-2-soft);border:1.5px solid var(--accent-2);color:var(--accent-2)}.btn-vary:hover:not(:disabled){background:#00e5ff2e;border-color:var(--accent-2)}.icon-btn{width:32px;height:32px;flex:none;display:inline-grid;place-items:center;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-dim);cursor:pointer;font-size:13px}.icon-btn:hover{background:var(--surface-hi);border-color:var(--border);color:var(--text)}.icon-btn-danger:hover{color:var(--danger)}.credit{padding:8px 0 0;font-size:12px;color:var(--text-dim);text-align:center}.credit a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:3px}.credit a:hover{text-decoration-color:var(--accent)}dialog.support{width:min(420px,calc(100% - 32px));padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:0 20px 60px #00000080,0 0 40px #ff2e9726}dialog.support::backdrop{background:#0d022199;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.support-body{padding:22px 22px 16px;display:flex;flex-direction:column;gap:10px}.support-body h2{margin:0 0 4px;font-size:22px;font-weight:750;line-height:1.15}.support-body p{margin:0;color:var(--text-dim)}.support-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.support-actions .btn{flex:1 1 auto;color:var(--text);text-decoration:none}.support-actions .btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.support-close{align-self:center;padding:8px;border:0;background:none;font:500 12.5px var(--font);color:var(--text-dim);cursor:pointer}.support-close:hover{color:var(--text)}.preset-rail{padding:14px 10px;display:flex;flex-direction:column;gap:12px}.preset-rail .panel-title{padding:0 6px 6px;font-size:11px}.preset-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.preset{width:100%;display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:9px;border:1px solid transparent;background:transparent;text-align:left;cursor:pointer;transition:background-color .15s,border-color .15s}.preset:hover{background:var(--surface-hi)}.preset-icon{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--surface-hi);color:var(--text-dim);transition:color .15s}.preset-label{min-width:0;font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-list-create .preset{border-color:var(--border)}.preset.is-active{background:var(--accent-soft);border-color:#ff2e978c;box-shadow:0 0 22px #ff2e9738}.preset.is-active .preset-icon{color:var(--accent);background:#ff2e971f;box-shadow:0 0 14px #ff2e9759}.stage{display:flex;flex-direction:column;gap:14px}.stage-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.stage-name{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}.stage-preset{font-size:18px;font-weight:700}.stage-file,.stage-duration{color:var(--text-dim);font-variant-numeric:tabular-nums}.badge{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim)}.waveform{position:relative;height:230px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(0,229,255,.04),transparent 40%,rgba(255,46,151,.06)),#10031f;overflow:hidden}.waveform canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.actions-main,.actions-secondary{display:flex;flex-wrap:wrap;gap:10px}.shortcuts{margin:-4px 0 0;font-size:12px;color:var(--text-dim)}.snippet{border:1px solid var(--border);border-radius:12px;background:#0d0221b3;overflow:hidden}.snippet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 14px;border-bottom:1px solid var(--border)}.snippet-title{font-size:13px;font-weight:600;color:var(--text-dim)}.snippet-code{margin:0;padding:12px 14px;font-family:var(--mono);font-size:13px;line-height:1.6;overflow-x:auto}.tok-kw{color:var(--accent)}.tok-fn{color:var(--accent-2)}.tok-str{color:#ffd166}.tok-num{color:#c3a6ff}.param-panel{padding:0;overflow:hidden}.param-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:0;background:transparent;text-align:left;cursor:pointer}.param-toggle:hover{background:#1f0a3d99}.param-toggle-hint{display:block;margin-top:3px;font-size:13px;color:var(--text-dim)}.chevron{font-size:22px;line-height:1;color:var(--text-dim);transition:transform .2s}.chevron.is-open{transform:rotate(90deg)}.param-summary{margin:0;padding:0 16px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.param-summary div{padding:8px 10px;border-radius:9px;background:var(--surface-hi)}.param-summary dt{font-size:11px;color:var(--text-dim)}.param-summary dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.param-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 170px);overflow-y:auto}.param-section{margin:0;padding:12px 12px 4px;border:1px solid var(--border);border-radius:11px;min-width:0}.param-section legend{padding:0 6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.param{padding:4px 0 10px}.param-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:13px}.param-value{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.param.is-disabled{opacity:.45}.segmented{display:flex;flex-wrap:wrap;gap:4px;padding:3px;margin:2px 0 12px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.segmented button{flex:1 1 auto;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer}.segmented button:hover{color:var(--text)}.segmented button.is-active{background:var(--surface-hi);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent-2)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;margin:0;background:transparent;cursor:pointer}input[type=range]:disabled{cursor:not-allowed}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--track) var(--fill-from, 0%),var(--accent-2) var(--fill-from, 0%),var(--accent-2) var(--fill-to, 0%),var(--track) var(--fill-to, 0%))}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--track) var(--fill-from, 0%),var(--accent-2) var(--fill-from, 0%),var(--accent-2) var(--fill-to, 0%),var(--track) var(--fill-to, 0%))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--text);border:2px solid var(--accent-2)}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--text);border:2px solid var(--accent-2)}.tray{display:flex;flex-direction:column;gap:12px}.tray-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.tray-count{margin-left:6px;font-weight:500;letter-spacing:0;text-transform:none}.tray-empty{margin:0;padding:14px;border:1px dashed var(--border);border-radius:11px;color:var(--text-dim)}.tray-empty strong{color:var(--text)}.tray-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:8px}.tray-item{display:flex;align-items:center;gap:4px;padding:6px 6px 6px 10px;border-radius:11px;border:1px solid var(--border);background:var(--surface-hi)}.tray-item.is-current{border-color:#ff2e978c}.tray-icon{display:grid;place-items:center;color:var(--text-dim);margin-right:4px}.tray-item.is-current .tray-icon{color:var(--accent)}.tray-name{flex:1;min-width:0;padding:5px 6px;border:1px solid transparent;border-radius:7px;background:transparent;font-weight:600;font-variant-numeric:tabular-nums}.tray-name:hover{border-color:var(--border)}.tray-name:focus{outline:none;border-color:var(--accent-2);background:var(--bg)}.callout{padding:12px 14px;border-radius:11px;border:1px solid rgba(0,229,255,.35);background:var(--accent-2-soft);line-height:1.55}.callout em{color:var(--accent-2);font-style:normal;font-weight:600}.param-row-end{display:inline-flex;align-items:baseline;gap:8px}.param-off{padding:0 6px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);font-size:11px;font-weight:600;cursor:pointer}.param-off:hover{color:var(--text);border-color:var(--border-strong)}.param-help,.section-intro{margin:5px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-dim)}.section-intro{margin:0 0 10px;color:#c9bce0}.param-help-wave{margin:-6px 0 10px}.switch{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch-track{position:relative;width:32px;height:18px;border-radius:999px;background:var(--track);transition:background-color .15s}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text);transition:transform .15s}.switch input:checked+.switch-track{background:var(--accent-2)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent-2);outline-offset:2px}.diagram{position:relative;margin:0 0 10px;padding:6px 8px 4px;border-radius:9px;background:#10031f;border:1px solid var(--border)}.diagram svg{display:block;width:100%;height:56px}.diagram-fill{fill:#00e5ff1f}.diagram-line{fill:none;stroke:var(--accent-2);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.diagram-line-pitch{stroke:var(--accent)}.diagram-segments{display:flex;gap:2px;margin-top:3px;font-size:11px;color:var(--text-dim)}.diagram-segments span{flex-basis:0;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:clip;border-top:2px solid var(--track);padding-top:1px}.diagram-tag{position:absolute;right:10px;padding:0 4px;border-radius:4px;background:#10031fd9;font-size:10.5px;color:var(--text-dim);font-variant-numeric:tabular-nums;pointer-events:none}.diagram-tag-top{top:4px}.diagram-tag-bottom{bottom:4px}.diagram-note{margin-top:2px;font-size:11.5px;color:var(--text-dim)}.field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:12px;color:var(--text-dim);font-weight:600}.field b{color:var(--text);font-weight:650;font-variant-numeric:tabular-nums}.field input:not([type=range]),.field select{padding:7px 9px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;font-weight:600}.field select{cursor:pointer}.field input:not([type=range]):focus,.field select:focus{outline:none;border-color:var(--accent-2)}.field-hint{margin:0;font-size:12px;line-height:1.45;color:var(--text-dim)}.check{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:15px;height:15px;margin:0;accent-color:var(--accent-2);cursor:pointer}.segmented-tight{margin:0;flex-wrap:nowrap}.segmented-tight button{padding:5px 10px;white-space:nowrap}.segmented button:disabled{opacity:.4;cursor:not-allowed}.icon-btn:disabled{opacity:.35;cursor:default;background:transparent;border-color:transparent}.btn-accent{background:var(--accent-2-soft);border:1.5px solid var(--accent-2);color:var(--accent-2)}.btn-accent:hover:not(:disabled){background:#00e5ff2e;border-color:var(--accent-2)}.btn-danger{border-color:var(--danger);color:var(--danger)}.chip{padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer}.chip:hover{color:var(--text);border-color:var(--border-strong)}.chip.is-active{color:var(--text);background:var(--surface-hi);border-color:var(--accent-2)}.subhead{margin:4px 0 0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.songbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px}.songbar .btn-play{min-width:132px}.btn-play.is-playing{background:var(--surface-hi);color:var(--accent);box-shadow:0 0 22px #ff2e974d}.field-name{flex:1 1 160px;max-width:240px}.field-bpm{flex:1 1 170px;max-width:240px}.songbar-end{display:flex;align-items:center;gap:4px;margin-left:auto}.songbar-end .btn{margin-left:6px}.music-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.track-list{padding:14px 10px}.track-list .panel-title{padding:0 6px 10px}.track-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.track-card{border-radius:11px;border:1px solid transparent;transition:background-color .15s,border-color .15s}.track-card.is-selected{background:#1f0a3db3;border-color:color-mix(in srgb,var(--track-color) 55%,transparent)}.track-head{display:flex;align-items:center;gap:4px;padding-right:6px}.track-select{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:9px 8px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.track-select:hover{background:var(--surface-hi)}.track-card.is-selected .track-select:hover{background:transparent}.track-dot{width:12px;height:12px;flex:none;border-radius:4px;background:var(--track-color);box-shadow:0 0 10px color-mix(in srgb,var(--track-color) 60%,transparent)}.track-name{flex:1;font-size:15px;font-weight:650}.track-count{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.track-card.is-muted .track-name,.track-card.is-muted .track-dot{opacity:.4}.mute-btn{padding:2px 8px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:11px;font-weight:700;cursor:pointer}.mute-btn:hover{color:var(--text);border-color:var(--border-strong)}.mute-btn.is-on{color:var(--danger);border-color:var(--danger)}.track-body{display:flex;flex-direction:column;gap:10px;padding:2px 10px 12px}.track-hint{margin:0;font-size:12.5px;line-height:1.5;color:#c9bce0}.roll-panel{display:flex;flex-direction:column;gap:10px;min-width:0}.roll-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.toolbar-group{display:flex;align-items:center;gap:6px}.toolbar-label{font-size:12px;font-weight:600;color:var(--text-dim)}.toolbar-note{font-size:12px;color:var(--accent-2);font-weight:600}.toolbar-end{margin-left:auto}.roll-scroll{position:relative;max-height:min(520px,calc(100vh - 300px));min-height:220px;overflow:auto;border-radius:11px;border:1px solid var(--border);background:#12042a;overscroll-behavior:contain}.roll-frame{display:flex;flex-direction:column;min-width:0}.roll-inner{position:relative}.roll-resize{position:relative;height:14px;margin-bottom:-4px;cursor:ns-resize;touch-action:none;border-radius:6px}.roll-resize:before{content:"";position:absolute;top:5px;left:50%;width:44px;height:4px;margin-left:-22px;border-radius:2px;background:var(--border-strong);transition:background .15s,width .15s,margin-left .15s}.roll-resize:hover:before,.roll-resize:active:before,.roll-resize:focus-visible:before{width:72px;margin-left:-36px;background:var(--accent-2);box-shadow:0 0 8px #00e5ff99}.roll-resize:focus-visible{outline-offset:-2px}.roll-ruler{position:sticky;top:0;z-index:3;display:flex;height:24px;background:#1a0736;border-bottom:1px solid var(--border)}.roll-corner{position:sticky;left:0;z-index:4;width:64px;flex:none;display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--text-dim);background:#1a0736;border-right:1px solid var(--border)}.roll-corner.is-drums{width:120px}.roll-bar{flex:none;padding:3px 6px;font-size:11.5px;font-weight:700;color:var(--text-dim);border-left:1px solid rgba(242,233,255,.34);font-variant-numeric:tabular-nums}.roll-body{display:flex}.roll-keys{position:sticky;left:0;z-index:2;width:64px;flex:none;display:flex;flex-direction:column;background:#1a0736;border-right:1px solid var(--border)}.roll-keys.is-drums{width:120px}.roll-key{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;border:0;border-bottom:1px solid rgba(13,2,33,.5);background:#e9e1f5;color:#2a1745;font-size:10.5px;font-weight:650;cursor:pointer;font-variant-numeric:tabular-nums}.roll-key.is-black{background:#2a1745;color:#b7a6d3}.roll-key.is-root{box-shadow:inset 4px 0 0 var(--accent);font-weight:800}.roll-key.is-out{opacity:.55}.roll-keys.is-drums .roll-key{justify-content:flex-start;background:var(--surface-hi);color:var(--text);font-size:12.5px}.roll-key:hover{filter:brightness(1.12)}.roll-key.is-down,.roll-key:active{background:var(--accent);color:var(--on-accent)}.roll-grid{position:relative;flex:none}.roll-grid canvas{display:block;cursor:crosshair;touch-action:none}.roll-playhead{position:absolute;top:0;bottom:0;left:0;width:2px;margin-left:-1px;background:var(--text);box-shadow:0 0 10px #f2e9ffcc;pointer-events:none;will-change:transform}.music-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.helper,.library,.guide{display:flex;flex-direction:column;gap:10px}.helper-intro{margin:0;font-size:13px;line-height:1.55;color:#c9bce0}.progressions{display:flex;flex-wrap:wrap;gap:6px}.helper-chords{margin:0;display:flex;flex-direction:column;gap:2px}.chord-seq{font-size:18px;font-weight:750;letter-spacing:.02em;color:var(--accent-2)}.helper .segmented{margin:0}.helper-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.song-list,.template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.song-item{display:flex;align-items:center;gap:4px;border-radius:10px;border:1px solid transparent}.song-item.is-current{border-color:#ff2e978c;background:var(--accent-soft)}.song-open,.template{flex:1;min-width:0;display:flex;flex-direction:column;padding:7px 10px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.song-open:hover,.template:hover{background:var(--surface-hi)}.song-item.is-current .song-open:hover{background:transparent}.song-name,.template-name{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-meta,.template-hint{font-size:12px;color:var(--text-dim)}.template{width:100%;border:1px dashed var(--border)}.library-actions{display:flex;flex-wrap:wrap;gap:8px}.guide-column{display:flex;flex-direction:column;gap:16px;min-width:0}.guide-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:1.5;color:#c9bce0}.guide-steps strong{color:var(--text)}@media (max-width: 1100px){.workspace{grid-template-columns:264px minmax(0,1fr)}.param-panel{grid-column:1 / -1}.param-body{max-height:none}.music-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.guide-column{grid-column:1 / -1}}@media (max-width: 900px){.music-workspace{grid-template-columns:minmax(0,1fr)}.tagline{text-align:left}}@media (max-width: 720px){.app{padding:14px 12px 24px}.workspace{grid-template-columns:minmax(0,1fr)}.preset-list{grid-template-columns:repeat(3,minmax(0,1fr))}.preset{flex-direction:column;text-align:center;gap:4px}.waveform{height:170px}.btn-play,.btn-vary{flex:1}.actions-main,.actions-secondary{flex:1 1 100%}.actions-secondary .btn{flex:1}.music-bottom{grid-template-columns:minmax(0,1fr)}.songbar-end{margin-left:0}}
