.app{max-width:880px;margin:0 auto;padding:32px 20px 220px}.header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:11px}h1{margin:0;font-size:32px;font-weight:650}.count,.banner{color:var(--muted)}.toolbar{gap:10px;margin-bottom:16px;display:flex}.toolbar input{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:10px;outline:none;flex:1;padding:10px 12px}.toolbar input:focus{border-color:var(--accent)}button{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 14px}button:disabled{opacity:.55;cursor:default}.banner{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;margin-bottom:12px;padding:12px 14px}.banner.error{color:var(--danger);border-color:#ff6b7a59}.banner.warn{color:#e6c07b;border-color:#e6c07b59}.banner p{margin:0 0 12px}.series-list,.title-list,.preset-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.series-list{margin-top:16px}.series{border:1px solid var(--border);background:var(--bg-row);border-radius:12px;overflow:hidden}.series.open{background:var(--bg-row-active);border-color:#4db6ff59}.series-row,.title-row{text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;width:100%;padding:12px 14px;display:grid}.series-row:hover,.title-row:hover{background:var(--bg-row-hover)}.series-row strong{letter-spacing:.04em;text-transform:uppercase;font-size:15px}.group-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.title-list{border-top:1px solid var(--border);background:#0000002e;gap:4px;padding:8px 10px 10px 36px}.title{border:1px solid #0000;border-radius:10px;overflow:hidden}.title.open{background:#00000029;border-color:#4db6ff40}.title-row{border-radius:10px;padding:8px 10px}.preset-list.nested{gap:6px;padding:0 8px 8px}.preset{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;overflow:hidden}.preset.open{background:var(--bg-row-active);border-color:#4db6ff59}.preset-row{text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:28px 1fr;align-items:center;gap:8px;width:100%;padding:10px 12px;display:grid}.preset-row:hover{background:var(--bg-row-hover)}.chevron{color:var(--muted);font-size:14px;line-height:1}.submenu{border-top:1px solid var(--border);background:#0000002e;padding:8px 10px 10px 36px}.submenu-status{color:var(--muted);margin:6px 0;font-size:13px}.mode-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.mode{border:1px solid #0000;border-radius:10px;overflow:hidden}.mode.open{background:#00000029;border-color:#4db6ff40}.mode-row{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;width:100%;padding:8px 10px;display:grid}.mode-row:hover{background:var(--bg-row-hover)}.mode-row strong{letter-spacing:.04em;text-transform:uppercase;font-size:13px}.mode-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.track-list{flex-direction:column;gap:6px;margin:0;padding:0 8px 8px;list-style:none;display:flex}.track{background:var(--bg-elevated);border:1px solid #0000;border-radius:10px;grid-template-columns:36px 1fr;align-items:center;gap:8px;padding:8px 10px;display:grid}.track:hover{background:var(--bg-row-hover)}.track.active{background:var(--bg-row-active);border-color:#4db6ff73}.track.in-stack{background:#3dd68c14;border-color:#3dd68c66}.track.audible:not(.active){border-color:#4db6ff59}.play{background:var(--play-soft);width:40px;height:40px;color:var(--play);border-color:#0000;border-radius:50%;padding:0;font-size:14px}.stack-btn{width:36px;height:36px;color:var(--muted);border-radius:10px;padding:0;font-size:16px;font-weight:650;line-height:1}.stack-btn.active{color:var(--play);background:#3dd68c29;border-color:#3dd68c8c}.meta{flex-direction:column;gap:3px;min-width:0;display:flex}.meta strong{font-size:15px}.meta span{color:var(--muted);font-size:13px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags em{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 7px;font-size:11px;font-style:normal}.player{border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#121821eb;border-radius:16px;align-items:center;gap:16px;width:min(840px,100% - 24px);padding:12px 16px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.player-stack{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.stack-rack{flex-direction:column;gap:8px;min-width:0;display:flex}.stack-head{align-items:baseline;gap:8px;display:flex}.stack-head strong{letter-spacing:.04em;text-transform:uppercase;font-size:13px}.stack-head span{color:var(--muted);font-size:12px}.stack-clear{margin-left:auto;padding:4px 10px;font-size:12px}.stack-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.slot{border:1px dashed var(--border);background:#0003;border-radius:10px;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;min-height:52px;padding:8px;display:grid}.slot.filled{background:#3dd68c14;border-style:solid;border-color:#3dd68c66}.slot.audible{border-color:#4db6ff73}.slot.stack-active{background:#3dd68c24;border-color:#3dd68cb3;box-shadow:inset 0 0 0 1px #3dd68c33}.slot-index{background:var(--bg-elevated);width:22px;height:22px;color:var(--muted);border-radius:6px;place-items:center;font-size:11px;font-weight:650;display:grid}.slot.filled .slot-index{color:var(--play);background:#3dd68c33}.slot-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.slot-meta strong,.slot-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot-meta strong{font-size:12px}.slot-meta span{color:var(--muted);font-size:11px}.slot-placeholder{color:var(--muted);grid-column:2/-1;font-size:12px}.slot-remove{width:28px;height:28px;color:var(--muted);border-radius:8px;padding:0;font-size:16px;line-height:1}.player-controls{justify-content:flex-end;align-items:center;gap:8px;display:flex}.player-controls .play{width:40px;height:40px;padding:0}.tail-toggle{letter-spacing:.02em;height:40px;color:var(--muted);white-space:nowrap;padding:0 12px;font-size:12px;font-weight:600}.tail-toggle.active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--bg-elevated))}.tempo-slider{color:var(--muted);grid-template-rows:auto auto;grid-template-columns:44px minmax(120px,180px);align-items:center;gap:2px 8px;margin-right:4px;font-size:11px;display:grid}.tempo-slider-value{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;grid-row:1/3;font-size:13px;font-weight:600}.tempo-slider-track{border-radius:999px;align-items:center;height:10px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000059}.tempo-slider-track input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.tempo-slider-track input[type=range]::-webkit-slider-runnable-track{background:0 0;height:10px}.tempo-slider-track input[type=range]::-moz-range-track{background:0 0;border:none;height:10px}.tempo-slider-track input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--bg);background:var(--text);border-radius:50%;width:14px;height:14px;margin-top:-2px;box-shadow:0 0 0 1px #fff3}.tempo-slider-track input[type=range]::-moz-range-thumb{border:2px solid var(--bg);background:var(--text);border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 1px #fff3}.tempo-slider-bounds{justify-content:space-between;line-height:1;display:flex}@media (width<=720px){.stack-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.app{padding-bottom:320px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f14;--bg-elevated:#121821;--bg-row:#161d27;--bg-row-hover:#1c2633;--bg-row-active:#1a2a3d;--border:#243044;--text:#e8eef6;--muted:#8b9bb0;--accent:#4db6ff;--accent-soft:#4db6ff24;--play:#3dd68c;--play-soft:#3dd68c29;--danger:#ff6b7a}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%, #16324a 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #132a22 0%, transparent 50%), var(--bg);color:var(--text);font-family:IBM Plex Sans,Segoe UI,system-ui,-apple-system,sans-serif}button,input{font:inherit}
