@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@500;700;800&display=swap";:root{color:var(--text,#f3f1ea);background:var(--background,#0d0e0d);font-family:DM Mono,monospace}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:#0d0e0d;margin:0}button,select,input{font:inherit}.app{width:100%;height:100dvh;min-height:0;color:var(--text);background:var(--background);grid-template-rows:52px 28px minmax(0,1fr);transition:color .16s,background .16s;display:grid;overflow:hidden}.topbar{z-index:5;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:9px;height:52px;padding:0 14px;display:flex;position:relative}.brand{height:40px;color:var(--text);letter-spacing:.08em;align-items:center;gap:7px;font:800 1.05rem Syne,sans-serif;text-decoration:none;display:inline-flex}.brand img{object-fit:contain;width:38px;height:38px;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 38%, transparent))}.brand span{color:var(--text)}.topbar p{color:var(--muted);margin:0 auto;font-size:.68rem}.midi{background:var(--elevated);height:34px;color:var(--text);cursor:pointer;border:0;padding:0 11px;font-size:.58rem;font-weight:700}.theme-toggle{border:1px solid var(--border-strong);background:var(--surface);width:32px;height:32px;color:var(--accent);cursor:pointer;border-radius:50%;flex:0 0 32px;place-items:center;padding:0;transition:transform .14s,color .14s,border-color .14s;display:grid}.theme-toggle:hover{border-color:var(--accent);transform:rotate(8deg)scale(1.05)}.theme-toggle:active{transform:scale(.92)}.theme-toggle svg{display:block}.ui-mode-toggle{border:1px solid var(--border-strong);background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:50%;flex:0 0 32px;place-items:center;padding:0;transition:transform .14s,color .14s,border-color .14s,background .16s;display:grid}.ui-mode-toggle:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.ui-mode-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.app[data-ui-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-weight:500}.app[data-ui-mode=light] button,.app[data-ui-mode=light] input,.app[data-ui-mode=light] select,.app[data-ui-mode=light] small,.app[data-ui-mode=light] label{font-weight:500}.app[data-ui-mode=light] .topbar{background:color-mix(in srgb, var(--background) 96%, transparent)}.app[data-ui-mode=light] .help-backdrop{background:#23272261}.app[data-ui-mode=light] .help-panel{background:var(--surface);box-shadow:0 28px 80px #20261f38, inset 0 3px 0 var(--accent)}.app[data-ui-mode=light] .folder-error{color:#862d20;background:#fff0ec}.app[data-ui-mode=light] .song-carousel-delete:hover{color:#a82f20;background:#ffe9e4}.app[data-ui-mode=light] .master-record{color:#8e3f30;background:#fff2ef;border-color:#c9aaa3}.loop-generator-link{border:1px solid var(--border-strong);height:32px;color:var(--accent);background:var(--surface);letter-spacing:.08em;align-items:center;gap:6px;padding:0 9px;font-size:.54rem;font-weight:700;text-decoration:none;transition:border-color .14s,transform .14s,background .14s;display:inline-flex}.loop-generator-link:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.loop-page-open{grid-template-rows:52px minmax(0,1fr)}.loop-page-open>.topbar .loop-generator-link{border-color:var(--accent);background:var(--accent-soft)}.loop-generator{background:radial-gradient(circle at 90% 0, color-mix(in srgb, var(--loop-accent-3) 16%, transparent), transparent 35%), radial-gradient(circle at 4% 80%, color-mix(in srgb, var(--loop-accent-2) 12%, transparent), transparent 30%), var(--background);min-height:0;padding:clamp(18px,3vw,38px);overflow-y:auto}.loop-header{grid-template-columns:130px minmax(0,1fr) auto;align-items:end;gap:22px;max-width:1380px;margin:0 auto 18px;display:grid}.loop-header>div>span,.loop-progress-heading span,.loop-status span{color:var(--accent);letter-spacing:.18em;font-size:.56rem}.loop-header h1{color:var(--text);letter-spacing:-.055em;align-items:center;gap:11px;margin:3px 0;font:800 clamp(1.7rem,4vw,3.4rem)/.95 Syne,sans-serif;display:flex}.loop-header h1 svg{width:.8em;height:.8em;color:var(--loop-accent-3)}.loop-header p{color:var(--muted);margin:8px 0 0;font-size:.62rem}.loop-back{border:1px solid var(--border-strong);background:var(--surface);height:36px;color:var(--text);cursor:pointer;padding:0 12px;font-size:.56rem}.loop-back:hover{border-color:var(--accent);color:var(--accent)}.loop-live{color:var(--muted);align-self:center;align-items:center;gap:8px;font-size:.54rem;display:flex}.loop-live i{background:var(--loop-accent-2);width:7px;height:7px;box-shadow:0 0 12px var(--loop-accent-2);border-radius:50%}.loop-progress{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);max-width:1380px;margin:0 auto 12px;padding:13px 15px 15px}.loop-progress-heading{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.loop-progress-heading strong{color:var(--text);font-size:.64rem}.loop-stage-grid{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.loop-stage-grid div{border:1px solid var(--border);min-width:0;height:31px;color:var(--muted);background:var(--elevated);align-items:center;gap:7px;padding:0 9px;font-size:.5rem;display:flex}.loop-stage-grid b{color:var(--border-strong)}.loop-stage-grid div.active{border-color:color-mix(in srgb, var(--accent) 62%, var(--border));color:var(--text);background:var(--accent-soft)}.loop-stage-grid div.active b{color:var(--accent)}.loop-progress-bar{background:var(--border);height:3px;margin-top:9px;overflow:hidden}.loop-progress-bar i{background:linear-gradient(90deg, var(--accent), var(--loop-accent-2), var(--loop-accent-3), var(--loop-accent-4));height:100%;box-shadow:0 0 12px var(--accent);transition:width .28s;display:block}.loop-workspace{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:1380px;margin:0 auto;display:grid}.loop-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);min-width:0;box-shadow:inset 4px 0 0 var(--panel-accent);padding:clamp(15px,2vw,24px)}.loop-import{--panel-accent:var(--accent)}.loop-create{--panel-accent:var(--loop-accent-3)}.loop-panel-title{grid-template-columns:42px 1fr;gap:11px;margin-bottom:18px;display:grid}.loop-panel-title>span{color:var(--panel-accent);font:800 1.3rem Syne,sans-serif}.loop-panel h2{color:var(--text);letter-spacing:-.02em;margin:0;font:700 .93rem Syne,sans-serif}.loop-panel-title p{color:var(--muted);margin:4px 0 0;font-size:.54rem}.loop-drop{border:1px dashed color-mix(in srgb, var(--accent) 55%, var(--border));min-height:95px;color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 45%, transparent);text-align:center;cursor:pointer;place-content:center;gap:5px;display:grid;position:relative}.loop-drop input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.loop-drop strong{font:700 .67rem Syne,sans-serif}.loop-drop small{color:var(--muted);font-size:.48rem}.loop-audio{width:100%;height:30px;accent-color:var(--accent);margin-top:8px}.loop-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0;display:grid}.loop-fields label{min-width:0;color:var(--muted);letter-spacing:.08em;gap:5px;font-size:.48rem;display:grid}.loop-fields .wide{grid-column:1/-1}.loop-fields input,.loop-fields select{border:1px solid var(--border-strong);background:var(--elevated);width:100%;min-width:0;height:37px;color:var(--text);border-radius:0;outline:0;padding:0 10px;font-size:.58rem}.loop-fields input:focus,.loop-fields select:focus{border-color:var(--panel-accent)}.loop-action{border:1px solid var(--accent);background:var(--accent);width:100%;height:42px;color:var(--background);cursor:pointer;justify-content:space-between;align-items:center;padding:0 13px;font:700 .62rem Syne,sans-serif;display:flex}.loop-action.secondary{border-color:var(--loop-accent-3);background:var(--loop-accent-3)}.loop-action:disabled{opacity:.38;cursor:wait}.loop-pad-preview{grid-template-columns:repeat(4,1fr);gap:5px;margin:13px 0;display:grid}.loop-pad-preview div{border:1px solid color-mix(in srgb, var(--pad-color) 50%, var(--border));background:color-mix(in srgb, var(--pad-color) 8%, var(--elevated));min-height:55px;box-shadow:inset 3px 0 0 var(--pad-color);padding:7px;transition:filter .18s,background .18s;position:relative;overflow:hidden}.loop-pad-preview div.active{background:color-mix(in srgb, var(--pad-color) 25%, var(--elevated));filter:brightness(1.3)}.loop-pad-preview span{color:var(--pad-color);font-size:.45rem}.loop-pad-preview b{color:var(--text);margin-top:7px;font:700 .55rem Syne,sans-serif;display:block}.loop-pad-preview i{background:var(--pad-color);width:28%;height:2px;box-shadow:0 0 6px var(--pad-color);position:absolute;bottom:7px;right:6px}.loop-status{border:1px solid var(--border);background:var(--elevated);align-items:center;gap:14px;max-width:1380px;min-height:46px;margin:12px auto 0;padding:8px 12px;display:flex}.loop-status>div{gap:2px;min-width:0;display:grid}.loop-status strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.loop-status a{color:var(--background);background:var(--accent);margin-left:auto;padding:8px 10px;font-size:.53rem;font-weight:700;text-decoration:none}.loop-result-audio{width:min(280px,30vw);height:30px;accent-color:var(--loop-accent-2)}.loop-status small{color:var(--loop-accent-2);margin-left:auto;font-size:.53rem}.loop-status.error{border-color:#ff785a}.loop-status.error strong{color:#ff785a}.help-button{border:1px solid var(--border-strong);background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:50%;flex:0 0 32px;place-items:center;padding:0;transition:color .14s,border-color .14s,transform .14s;display:grid}.help-button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.help-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050605d1;place-items:center;padding:24px;animation:.16s ease-out help-in;display:grid;position:fixed;inset:0}.help-panel{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface) 94%, #000);width:min(1120px,100%);max-height:min(880px,100vh - 48px);box-shadow:0 28px 90px #0000008c, inset 0 3px 0 var(--accent);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.help-panel>header{border-bottom:1px solid var(--border);grid-template-columns:50px minmax(0,1fr) 40px;align-items:start;gap:16px;padding:24px 26px 20px;display:grid}.help-title-icon{border:1px solid var(--accent);width:48px;height:48px;color:var(--accent);background:var(--accent-soft);place-items:center;display:grid}.help-title-icon svg{width:24px;height:24px}.help-panel header span,.help-panel h3 span,.help-panel footer span{color:var(--accent);letter-spacing:.14em;font-size:.55rem}.help-panel h2{letter-spacing:-.04em;margin:3px 0 5px;font:800 clamp(1.35rem,3vw,2rem) Syne,sans-serif}.help-panel header p{color:var(--muted);margin:0;font-size:.62rem}.help-close{border:1px solid var(--border-strong);background:var(--elevated);width:36px;height:36px;color:var(--text);cursor:pointer;padding:0;font-size:1.45rem;line-height:1}.help-close:hover{border-color:var(--accent);color:var(--accent)}.help-content{background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;min-height:0;display:grid;overflow-y:auto}.help-content article{background:var(--surface);padding:22px 26px}.help-content article.help-wide{grid-column:1/-1}.help-content h3{text-transform:uppercase;align-items:center;gap:10px;margin:0 0 16px;font:700 .85rem Syne,sans-serif;display:flex}.keyboard-pad-guide{border:1px solid var(--border);background:var(--elevated);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:-4px 0 17px;padding:11px;display:grid}.keyboard-pad-guide section>strong{color:var(--accent);letter-spacing:.08em;margin-bottom:6px;font-size:.5rem;display:block}.keyboard-pad-guide section>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.keyboard-pad-guide b{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));min-height:28px;color:var(--text);background:var(--accent-soft);place-items:center;font-size:.55rem;display:grid}.keyboard-pad-guide p{color:var(--muted);text-align:center;grid-column:1/-1;margin:2px 0 0;font-size:.52rem}.keyboard-pad-guide p strong{color:var(--accent)}.keyboard-pad-guide p span{padding:0 5px}.help-content ul{gap:13px;margin:0;padding:0;list-style:none;display:grid}.help-content li{grid-template-columns:132px minmax(0,1fr);align-items:start;gap:15px;display:grid}.help-controls{align-items:center;gap:4px;min-height:28px;display:flex}.help-key,.help-pad{border:1px solid color-mix(in srgb, var(--accent) 58%, var(--border-strong));background:var(--elevated);min-width:27px;height:27px;color:var(--text);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--accent) 30%, #000);white-space:nowrap;place-items:center;padding:0 6px;font-size:.48rem;font-weight:700;display:inline-grid}.help-key.wide{min-width:58px}.help-pad{background:var(--accent-soft);width:27px;color:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 25%, transparent), inset 0 -2px 0 var(--accent);border-radius:4px;padding:0}.help-plus,.help-x2,.help-swap{color:var(--muted);font-size:.55rem}.help-x2{background:var(--accent);color:var(--background);align-self:flex-start;margin-left:-8px;padding:1px 3px}.help-theme-dot{border:2px solid var(--accent);background:conic-gradient(var(--accent), var(--accent-soft), var(--text), var(--accent));border-radius:50%;width:27px;height:27px}.help-content li strong{color:var(--text);margin:1px 0 3px;font:700 .66rem Syne,sans-serif;display:block}.help-content li p{color:var(--muted);margin:0;font-size:.56rem;line-height:1.55}.help-panel footer{border-top:1px solid var(--border);color:var(--muted);padding:13px 26px;font-size:.55rem}.help-panel footer span{margin-right:9px}@keyframes help-in{0%{opacity:0}to{opacity:1}}.dot{background:#555;border-radius:50%;width:7px;height:7px;display:inline-block}.dot.online{background:var(--accent);box-shadow:0 0 8px var(--accent)}.mobile-deck-switch{display:none}.surface-mode-switch{border-bottom:1px solid var(--border);background:var(--background);justify-content:center;align-items:center;gap:2px;min-width:0;padding:3px 8px;display:flex}.surface-mode-switch button{border:1px solid var(--border-strong);background:var(--surface);height:21px;color:color-mix(in srgb, var(--text) 88%, white);letter-spacing:.06em;cursor:pointer;padding:0 10px;font-size:.53rem;font-weight:700}.surface-mode-switch button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.decks{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;min-height:0;display:grid;overflow:hidden}.deck{border-right:1px solid var(--border);grid-template-rows:45px 43px 34px 38px 52px minmax(0,1fr);min-width:0;height:100%;min-height:0;padding:7px 9px 9px;display:grid;position:relative;overflow:hidden}.quality-warning{pointer-events:none;z-index:8;color:#ffd68a;background:#301f0bf5;border:1px solid #e8a13a;align-items:center;gap:8px;min-height:30px;padding:6px 9px;font-size:.5rem;display:flex;position:absolute;top:48px;left:10px;right:10px;box-shadow:0 5px 18px #00000059}.quality-warning strong{color:#ffbd4a}.quality-warning details{pointer-events:auto;margin-left:auto}.quality-warning summary{cursor:pointer}.quality-warning ul{background:#241709;border:1px solid #e8a13a;width:min(420px,92%);margin:0;padding:8px 8px 8px 24px;position:absolute;top:28px;right:0}.quality-warning .dismiss-warning{pointer-events:auto;color:inherit;cursor:pointer;background:0 0;border:0;margin-left:2px;font-size:.8rem;line-height:1}.deck:last-child{border-right:0}@media (width>=701px){.decks.unified-stems{grid-template-rows:minmax(0,1fr);padding-top:212px;position:relative}.decks.unified-stems .unified-bank{grid-template-rows:minmax(0,1fr);padding-top:0;position:static}.decks.unified-stems .deck-header{z-index:4;background:var(--background);width:auto;height:45px;position:absolute;top:0;left:9px;right:9px}.decks.unified-stems .unified-bank-a>.deck-transport,.decks.unified-stems .unified-bank-a>.performance-strip,.decks.unified-stems .unified-bank-a>.pitch-strip,.decks.unified-stems .unified-bank-a>.fx-strip{z-index:3;background:var(--background);position:absolute;left:9px;right:9px}.decks.unified-stems .unified-bank-a>.deck-transport{height:43px;top:45px}.decks.unified-stems .unified-bank-a>.performance-strip{height:34px;top:88px}.decks.unified-stems .unified-bank-a>.pitch-strip{height:38px;top:122px}.decks.unified-stems .unified-bank-a>.fx-strip{height:52px;top:160px}.decks.unified-stems .unified-bank-b>.deck-transport,.decks.unified-stems .unified-bank-b>.performance-strip,.decks.unified-stems .unified-bank-b>.pitch-strip,.decks.unified-stems .unified-bank-b>.fx-strip{display:none}.decks.unified-stems .deck-pads{padding-top:7px}}.deck-header{z-index:40;border-bottom:1px solid var(--border);grid-template-columns:minmax(90px,.62fr) minmax(0,2.38fr);align-items:center;gap:7px;min-width:0;min-height:0;display:grid;position:relative;overflow:visible}.deck-header>div:first-child{gap:2px;min-width:0;display:grid}.load-progress{border:1px solid var(--border-strong);background:var(--surface);grid-template-columns:minmax(0,1fr) 18px;align-items:center;min-width:0;height:14px;display:grid;position:relative;overflow:hidden}.load-progress>i{background:color-mix(in srgb, var(--accent) 26%, transparent);transition:width .12s linear;position:absolute;inset:0 auto 0 0}.load-progress>small{z-index:1;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;padding-left:4px;font-size:.39rem;position:relative;overflow:hidden}.load-progress>button{z-index:1;border:0;border-left:1px solid var(--border-strong);background:var(--elevated);color:var(--text);cursor:pointer;align-self:stretch;padding:0;position:relative}.deck-header span{color:var(--accent);letter-spacing:.12em;font-size:.62rem}.deck-header strong{text-overflow:ellipsis;white-space:nowrap;font:700 clamp(.7rem,1.15vw,1rem) Syne,sans-serif;overflow:hidden}.deck-library{justify-content:flex-end;gap:4px;min-width:0;display:flex;position:relative}.deck-library button,.deck-library select{border:1px solid var(--border-strong);background-color:var(--surface);min-width:0;height:30px;color:color-mix(in srgb, var(--text) 92%, white);padding:5px 7px;font-size:.57rem;font-weight:600}.deck-library button{color:var(--accent);cursor:pointer}.deck-library button:disabled{opacity:.3;cursor:not-allowed}.deck-library .reload-song{flex:0 0 32px;place-items:center;width:32px;padding:0;display:grid}.deck-library .reload-song svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.folder-browser{border:1px solid var(--border-strong);background:var(--surface);align-items:stretch;min-width:190px;max-width:min(280px,31vw);height:30px;display:flex;position:relative}.folder-browser.folder-import{flex:0 0 30px;width:30px;min-width:30px;max-width:30px}.folder-import>.folder-loading{z-index:31;border:1px solid var(--border-strong);background:var(--surface);min-width:62px;height:22px;position:absolute;top:calc(100% + 4px);left:0}.deck-library .folder-browser button{border:0;border-right:1px solid var(--border-strong);background:0 0;height:28px}.folder-root,.folder-open{flex:0 0 30px;place-items:center;width:30px;display:grid;padding:0!important}.folder-root svg,.folder-open svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.folder-open:disabled{opacity:.28}.folder-open:not(:disabled){color:var(--accent);box-shadow:inset 0 0 10px color-mix(in srgb, var(--accent) 18%, transparent);background:var(--accent-soft)!important}.folder-path{align-items:stretch;min-width:0;display:flex;overflow:hidden}.folder-path button{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:86px;overflow:hidden;color:color-mix(in srgb, var(--text) 84%, white)!important}.folder-path button:after{content:"›";color:var(--accent);margin-left:5px}.folder-path button.current{color:var(--accent)!important}.folder-list{z-index:30;border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface) 97%, #000);scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface);width:min(360px,52vw);max-height:184px;position:absolute;top:32px;right:0;overflow-y:auto;box-shadow:0 14px 30px #00000080}.deck-library .folder-list .folder-entry,.audio-file-entry{border:0;border-bottom:1px solid var(--border);width:100%;height:23px;color:color-mix(in srgb, var(--text) 92%, white);text-align:left;white-space:nowrap;align-items:center;gap:7px;padding:0 8px;display:flex;overflow:hidden}.deck-library .folder-list .folder-entry span,.audio-file-entry span{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.folder-entry svg,.audio-file-entry svg{fill:none;stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 14px;width:14px;height:14px}.folder-entry svg:last-child{width:12px;color:var(--accent);flex-basis:12px}.audio-file-entry{color:color-mix(in srgb, var(--text) 78%, white);cursor:default}.audio-file-entry svg{color:var(--muted)}.deck-library .folder-list .folder-entry:hover,.deck-library .folder-list .folder-entry.selected{background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.folder-browser>.pack-ready,.folder-browser>.pack-invalid,.folder-browser>.folder-loading{min-width:86px;color:var(--muted);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;flex:auto;place-items:center;padding:0 7px;font-size:.5rem;display:grid;overflow:hidden}.folder-browser>.pack-ready{color:var(--accent)}.folder-browser>.folder-loading{color:var(--accent);animation:.8s step-end infinite record-pulse}.folder-error{z-index:31;color:#ffc0ad;background:#2a1714;border:1px solid #df765f;width:100%;padding:5px 7px;font-size:.5rem;position:absolute;top:calc(100% + 4px);left:0}.song-carousel{border:1px solid var(--border-strong);background:var(--surface);flex:280px;grid-template-columns:25px minmax(0,1fr) 25px;min-width:150px;height:30px;display:grid;overflow:hidden}.deck-library .song-carousel-arrow{background:var(--elevated);border:0;place-items:center;width:25px;height:28px;padding:0;display:grid}.song-carousel-arrow:first-child{border-right:1px solid var(--border-strong)!important}.song-carousel-arrow:last-child{border-left:1px solid var(--border-strong)!important}.song-carousel-arrow svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.song-carousel-viewport{scroll-snap-type:x mandatory;scrollbar-width:none;min-width:0;display:flex;overflow:auto hidden}.song-carousel-viewport::-webkit-scrollbar{display:none}.song-carousel-empty{width:100%;color:var(--muted);letter-spacing:.08em;place-items:center;font-size:.48rem;display:grid}.song-carousel-item{scroll-snap-align:center;border-right:1px solid color-mix(in srgb, var(--song-color) 42%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--song-color) 16%, var(--surface)), color-mix(in srgb, var(--song-color) 5%, var(--surface)));min-width:118px;max-width:155px;box-shadow:inset 3px 0 0 color-mix(in srgb, var(--song-color) 78%, transparent);flex:1 0 118px;grid-template-columns:minmax(0,1fr) 26px;transition:background .15s,filter .15s,box-shadow .15s;display:grid}.song-carousel-item:hover{background:color-mix(in srgb, var(--song-color) 23%, var(--surface));filter:brightness(1.08)}.song-carousel-item.selected{background:color-mix(in srgb, var(--song-color) 30%, var(--surface));box-shadow:inset 3px 0 0 var(--song-color), inset 0 -2px 0 var(--song-color), 0 0 12px color-mix(in srgb, var(--song-color) 18%, transparent)}.deck-library .song-carousel-select{height:28px;color:var(--text);text-align:left;background:0 0;border:0;align-content:center;gap:1px;padding:2px 6px;display:grid;overflow:hidden}.song-carousel-select strong{color:color-mix(in srgb, var(--song-color) 72%, var(--text));text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;overflow:hidden}.song-carousel-select small{color:var(--muted);letter-spacing:.07em;font-size:.39rem}.song-carousel-item.selected .song-carousel-select strong{color:color-mix(in srgb, var(--song-color) 68%, white)}.song-carousel-item.selected .song-carousel-select small{color:color-mix(in srgb, var(--song-color) 55%, var(--text))}.deck-library .song-carousel-delete{border:0;border-left:1px solid var(--border);width:26px;height:28px;color:var(--muted);background:0 0;place-items:center;padding:0;display:grid}.deck-library .song-carousel-delete:hover{color:#ff907c;background:#321b18}.song-carousel-delete svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.deck-library select{appearance:none;text-overflow:ellipsis;white-space:nowrap;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 10px) 12px,calc(100% - 6px) 12px;background-repeat:no-repeat;background-size:4px 4px,4px 4px;min-width:0;max-width:132px;padding-right:27px;font-size:.62rem}.deck-library select option{color:#fff;background:#171917;font-size:.68rem}.deck-transport{border-bottom:1px solid var(--border);align-items:center;gap:5px;min-width:0;min-height:0;display:flex;overflow:hidden}.transport{border:1px solid var(--border-strong);display:flex}.transport button{border:0;border-right:1px solid var(--border-strong);background:var(--elevated);min-width:29px;height:29px;color:var(--text);cursor:pointer;white-space:nowrap;padding:0 7px}.transport .restart{flex:0 0 29px;place-items:center;width:29px;padding:0;display:grid;overflow:hidden}.transport .restart svg{fill:currentColor;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;display:block}.transport button:last-child{border-right:0}.transport button:hover:not(:disabled){color:var(--accent)}.transport .play{background:var(--accent);color:var(--background)}.transport button:disabled{opacity:.3;cursor:not-allowed}.master-record{color:#bf8274;cursor:pointer;background:#1d1715;border:1px solid #49342f;min-width:82px;height:32px;padding:0 8px;font-size:.5rem;font-weight:700}.master-record i{background:#d45842;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.master-record.active{color:#ff806a;background:#381914;border-color:#ff6045;box-shadow:inset 0 0 14px #ff60452e}.master-record.active i{background:#ff3b2f;animation:1s step-end infinite record-pulse;box-shadow:0 0 9px #ff3b2f}.master-record:disabled{opacity:.3;cursor:not-allowed}.output-meter{background:#42d66b;border-radius:2px;flex:0 0 6px;width:6px;height:24px;transition:background 60ms linear;box-shadow:0 0 7px #42d66b73}.output-meter.hot{background:#ffbf37;box-shadow:0 0 8px #ffbf37b3}.output-meter.clip{background:#ff453a;box-shadow:0 0 10px #ff453ae6}.deck-transport>span{color:#b5b7ae;flex:none;font-size:.51rem}.deck-transport>small{min-width:0;color:color-mix(in srgb, var(--text) 78%, white);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:.52rem;overflow:hidden}.bpm{color:color-mix(in srgb, var(--text) 84%, white);align-items:center;gap:5px;font-size:.59rem;display:flex}.bpm input{border:1px solid var(--border-strong);background:var(--surface);width:40px;height:27px;color:var(--text);text-align:center;padding:0 3px}.mode{border:1px solid var(--border-strong);background:var(--surface);min-width:29px;height:27px;color:color-mix(in srgb, var(--text) 84%, white);cursor:pointer;padding:0 5px;font-size:.54rem;font-weight:700}.mode.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.mode.loop-align{border-color:color-mix(in srgb, var(--accent) 65%, var(--border-strong));min-width:68px;color:var(--accent);justify-content:center;align-items:center;gap:3px;display:inline-flex}.mode.loop-align:hover:not(:disabled){background:var(--accent-soft);box-shadow:inset 0 0 10px color-mix(in srgb, var(--accent) 18%, transparent)}.mode.loop-align:disabled{opacity:.3;cursor:not-allowed}.mode.loop-align svg{fill:none;stroke:currentColor;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.mode.loop-align.processing svg{animation:1.4s linear infinite warp-spin}.warp-progress{border-color:var(--accent)}.warp-progress>i{background:linear-gradient(90deg, var(--accent), #fff)}@keyframes warp-spin{to{transform:rotate(360deg)}}.performance-strip{border-bottom:1px solid var(--border);align-items:center;gap:3px;min-width:0;min-height:0;padding:3px 0;display:flex;overflow:hidden}.performance-strip>span{color:color-mix(in srgb, var(--text) 80%, white);letter-spacing:.08em;font-size:.54rem}.performance-strip button{border:1px solid var(--border-strong);background:var(--surface);min-width:25px;height:25px;color:color-mix(in srgb, var(--text) 86%, white);cursor:pointer;padding:0 5px;font-size:.52rem;font-weight:700}.performance-strip button:hover{border-color:var(--accent);color:var(--accent)}.performance-strip button:disabled{opacity:.28;cursor:not-allowed}.performance-strip .downbeat{min-width:65px;color:var(--accent)}.performance-strip .scene-label{margin-left:auto}.performance-strip .scene.saved{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.performance-strip.presets-armed{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 42%, transparent)}.pitch-strip{border-bottom:1px solid var(--border);align-items:center;gap:4px;min-width:0;min-height:0;padding:4px 0;display:flex;overflow:hidden}.pitch-strip>span{color:color-mix(in srgb, var(--text) 80%, white);letter-spacing:.08em;flex:0 0 48px;font-size:.56rem}.pitch-strip button{border:1px solid var(--border-strong);background:var(--surface);min-width:46px;height:27px;color:var(--text);cursor:pointer;padding:0 6px;font-size:.54rem;font-weight:700}.pitch-strip button:hover,.pitch-strip .pitch-reset{border-color:var(--accent);color:var(--accent)}.pitch-strip small{min-width:0;color:color-mix(in srgb, var(--text) 72%, white);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:.47rem;overflow:hidden}.fx-strip{border-bottom:1px solid var(--border);align-items:center;gap:4px;min-width:0;min-height:0;padding:4px 0;display:flex;overflow:hidden}.fx-strip>span{color:color-mix(in srgb, var(--text) 80%, white);letter-spacing:.08em;flex:0 0 34px;font-size:.56rem;line-height:1.25}.fx-buttons{grid-template-columns:repeat(3,minmax(0,auto));gap:2px;min-width:0;display:grid}.fx-strip button{border:1px solid var(--border-strong);background:var(--surface);min-width:0;color:color-mix(in srgb, var(--text) 84%, white);text-overflow:ellipsis;cursor:pointer;white-space:nowrap;padding:4px 5px;font-size:.49rem;overflow:hidden}.fx-strip button.active{color:#8bdcff;background:#172932;border-color:#8bdcff}.fx-strip .hold{align-self:stretch;min-width:36px}.fx-strip .echo-mode{border-color:var(--accent);min-width:39px;color:var(--accent);align-self:stretch}.fx-strip .targets{text-align:center;border-color:#45483f;place-content:center;align-self:stretch;gap:1px;min-width:78px;display:grid}.fx-strip .targets b{color:var(--text);font-size:.55rem}.fx-strip .targets small{color:var(--accent);font-size:.48rem}.fx-strip .targets em{display:none}.fx-strip .targets.active{background:#312817;border-color:#fc5;box-shadow:inset 0 0 12px #ffcc551f}.fx-strip .targets.active b,.fx-strip .targets.active small{color:#fc5}.fx-depth{background:#282a26;flex:1;min-width:50px;max-width:130px;height:4px;margin-left:auto;overflow:hidden}.fx-depth i{background:#8bdcff;height:100%;transition:width 30ms linear;display:block;box-shadow:0 0 8px #8bdcff}.deck-pads{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-width:0;min-height:0;padding-top:7px;display:grid;overflow:hidden}.track{border:1px solid color-mix(in srgb, var(--pad-color) 55%, #353731);background:linear-gradient(115deg, color-mix(in srgb, var(--pad-color) 12%, #1a1b18), #1a1b18 60%);color:#f3f1ea;min-width:0;min-height:0;box-shadow:inset 3px 0 0 var(--pad-color);position:relative;overflow:hidden}.track:hover{border-color:var(--pad-color)}.track[draggable=true]{cursor:grab}.track.dragging{opacity:.34;filter:saturate(.45)}.track.drag-over{z-index:2;background:color-mix(in srgb, var(--pad-color) 28%, #171815);box-shadow:0 0 0 2px var(--pad-color), 0 0 24px color-mix(in srgb, var(--pad-color) 62%, transparent), inset 0 0 20px color-mix(in srgb, var(--pad-color) 24%, transparent);border-color:#fff;transform:scale(.985)}.track-toggle{width:100%;height:calc(100% - 22px);min-height:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-rows:14px minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 6px;padding:5px 6px 3px 8px;display:grid}.track-heading{align-items:center;gap:7px;min-width:0;display:flex}.drag-grip{color:#62655e;cursor:grab;font:.75rem/1 sans-serif}.track:hover .drag-grip{color:var(--pad-color)}.track strong{text-overflow:ellipsis;white-space:nowrap;font:700 .66rem Syne,sans-serif;overflow:hidden}.track .octave-badge{border:1px solid color-mix(in srgb, var(--pad-color) 65%, #555);color:var(--pad-color);letter-spacing:.04em;flex:none;padding:2px 4px;font:700 .45rem DM Mono,monospace}.track small,.pad-number{letter-spacing:.09em;font-size:.48rem}.pad-number{color:color-mix(in srgb, var(--pad-color) 80%, #aaa);flex:none}.track small{color:var(--pad-color);text-align:right}.track.muted{color:#6d6f69;background:#121311}.track.muted small{color:#ff785a}.track.fx-target{z-index:1;border-color:#fc5;animation:.88s step-end infinite fx-target-blink;box-shadow:inset 3px 0 #fc5,0 0 18px #fc53}.track.fx-target small{color:#fc5}.track.empty{color:color-mix(in srgb, var(--pad-color) 62%, #777);background:color-mix(in srgb, var(--pad-color) 7%, #11120f);border-style:dashed;grid-template-rows:auto 1fr auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 7px;padding:7px;display:grid}.track.empty strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.58rem;overflow:hidden}.track.empty .empty-wave{grid-column:1/-1;width:100%}.track.empty small{text-align:right;grid-column:1/-1}.jump-pad{border:1px solid color-mix(in srgb, var(--pad-color) 62%, #353731);background:linear-gradient(135deg, color-mix(in srgb, var(--pad-color) 17%, #151613), #151613 70%);color:#f3f1ea;text-align:left;cursor:pointer;min-height:0;box-shadow:inset 3px 0 0 var(--pad-color);grid-template-rows:auto 1fr;grid-template-columns:1fr auto;padding:7px;display:grid}.jump-pad:hover:not(:disabled){border-color:var(--pad-color);background:color-mix(in srgb, var(--pad-color) 20%, #151613)}.jump-pad:disabled{opacity:.35;cursor:not-allowed}.jump-pad span,.jump-pad small{color:#777971;letter-spacing:.08em;font-size:.55rem}.jump-pad small{text-align:right}.jump-pad strong{color:var(--pad-color);grid-column:1/-1;align-self:end;font:700 1.6rem Syne,sans-serif}.empty-wave{background:#292a27;height:1px}.waveform{border-top:1px solid color-mix(in srgb, var(--pad-color) 14%, #292a27);border-bottom:1px solid color-mix(in srgb, var(--pad-color) 14%, #292a27);background:linear-gradient(180deg, color-mix(in srgb, var(--pad-color) 4%, transparent), transparent 48%, color-mix(in srgb, var(--pad-color) 4%, transparent));grid-column:1/-1;width:100%;height:100%;min-height:18px;position:relative;overflow:hidden}.waveform svg{width:100%;height:100%;display:block}.waveform path{stroke-width:.28px;vector-effect:non-scaling-stroke}.waveform-base{fill:color-mix(in srgb, var(--pad-color) 20%, #4b4e47);stroke:color-mix(in srgb, var(--pad-color) 36%, #6a6d65)}.waveform-progress{fill:color-mix(in srgb, var(--pad-color) 70%, transparent);stroke:var(--pad-color)}.waveform-progress.muted{fill:#ff785a61;stroke:#ff785a}.waveform-center{stroke:#ffffff17;stroke-width:.25px;vector-effect:non-scaling-stroke}.waveform .playhead{stroke:#fff;stroke-width:.55px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #000)}.volume{border-top:1px solid #2f302c;align-items:center;gap:5px;height:22px;padding:0 7px;display:flex}.volume span{color:#777971;font-size:.52rem}.volume input{width:100%;height:3px;accent-color:var(--pad-color);cursor:pointer}.track:has(.variant) .track-toggle{height:calc(100% - 44px)}.variant{border-top:1px solid #2f302c;align-items:center;gap:5px;height:22px;padding:0 7px;display:flex}.variant span{color:#777971;font-size:.52rem}.variant select{width:100%;min-width:0;height:18px;color:var(--pad-color);background:#171815;border:1px solid #353731;font:600 .5rem DM Mono,monospace}.app[data-ui-mode=light] .track{border-color:color-mix(in srgb, var(--pad-color) 38%, #7f897c);background:linear-gradient(115deg, color-mix(in srgb, var(--pad-color) 8%, #f5f7f2), #f5f7f2 62%);color:#171a17}.app[data-ui-mode=light] .track.muted{color:#4b534b;background:#dfe3dc}.app[data-ui-mode=light] .track.empty{color:#4b534b;background:color-mix(in srgb, var(--pad-color) 5%, #edf0ea)}.app[data-ui-mode=light] .drag-grip,.app[data-ui-mode=light] .pad-number,.app[data-ui-mode=light] .track small,.app[data-ui-mode=light] .volume span,.app[data-ui-mode=light] .variant span{color:#465046}.app[data-ui-mode=light] .track.muted small{color:#8c2f22}.app[data-ui-mode=light] .track.fx-target small{color:#6b5000}.app[data-ui-mode=light] .track .octave-badge{border-color:color-mix(in srgb, var(--pad-color) 42%, #778174);color:#263026;background:#ffffff9e}.app[data-ui-mode=light] .jump-pad{border-color:color-mix(in srgb, var(--pad-color) 42%, #7f897c);background:linear-gradient(135deg, color-mix(in srgb, var(--pad-color) 9%, #f5f7f2), #f5f7f2 72%);color:#171a17}.app[data-ui-mode=light] .jump-pad:hover:not(:disabled){background:color-mix(in srgb, var(--pad-color) 14%, #f5f7f2)}.app[data-ui-mode=light] .jump-pad span,.app[data-ui-mode=light] .jump-pad small{color:#465046}.app[data-ui-mode=light] .jump-pad strong{color:#202720}.app[data-ui-mode=light] .empty-wave{background:#aeb6ac}.app[data-ui-mode=light] .waveform{border-color:color-mix(in srgb, var(--pad-color) 18%, #c1c7bd)}.app[data-ui-mode=light] .waveform-base{fill:color-mix(in srgb, var(--pad-color) 18%, #aeb6ac);stroke:#657064}.app[data-ui-mode=light] .waveform-center{stroke:#171a172e}.app[data-ui-mode=light] .waveform .playhead{stroke:#171a17;filter:drop-shadow(0 0 1px #fff)}.app[data-ui-mode=light] .volume,.app[data-ui-mode=light] .variant{border-top-color:#c6ccc1}.app[data-ui-mode=light] .variant select{color:#263026;background:#fafbf7;border-color:#879184}.app[data-ui-mode=light] .fx-strip button.active{color:#124f64;background:#d9edf3;border-color:#17617a}.app[data-ui-mode=light] .fx-strip .targets.active{background:#f6e7bd;border-color:#876000}.app[data-ui-mode=light] .fx-strip .targets.active b,.app[data-ui-mode=light] .fx-strip .targets.active small{color:#6b5000}.app[data-ui-mode=light] .fx-depth{background:#c4cbc0}.track.midi-pressed,.jump-pad.midi-pressed{z-index:1;background:color-mix(in srgb, var(--pad-color) 55%, #171815);box-shadow:0 0 0 2px var(--pad-color), 0 0 24px color-mix(in srgb, var(--pad-color) 75%, transparent), inset 0 0 22px color-mix(in srgb, var(--pad-color) 35%, transparent);border-color:#fff;animation:.18s ease-out midi-pad-press}.track,.jump-pad{transition:transform .18s,filter .18s,border-color .18s,box-shadow .18s,background-color .18s}.track.pad-sequence-active,.jump-pad.pad-sequence-active{z-index:2;background:color-mix(in srgb, var(--pad-color) 52%, #171815);box-shadow:0 0 0 2px var(--pad-color), 0 0 26px color-mix(in srgb, var(--pad-color) 78%, transparent), inset 0 0 24px color-mix(in srgb, var(--pad-color) 38%, transparent);filter:brightness(1.42)saturate(1.22);border-color:#fff;transform:scale(.975)}.ui-sequence-active{border-color:color-mix(in srgb, var(--accent) 80%, #fff);background:color-mix(in srgb, var(--accent-soft) 55%, transparent);box-shadow:inset 0 0 18px color-mix(in srgb, var(--accent) 20%, transparent);transition:border-color .18s,background .18s,box-shadow .18s}.ui-sequence-active button{border-color:color-mix(in srgb, var(--accent) 60%, var(--border-strong));color:color-mix(in srgb, var(--accent) 78%, var(--text))}.midi-pressed:not(.track):not(.jump-pad){outline-offset:2px;outline:2px solid #fff;animation:.18s ease-out midi-control-press}@keyframes midi-pad-press{0%{filter:brightness(1.8);transform:scale(.95)}45%{transform:scale(1.025)}to{filter:brightness();transform:scale(1)}}@keyframes midi-control-press{0%{filter:brightness(2);transform:scale(.92)}to{filter:brightness();transform:scale(1)}}@keyframes fx-target-blink{0%,48%{filter:brightness(1.45)}49%,to{filter:brightness(.72)}}@keyframes record-pulse{0%,49%{opacity:1}50%,to{opacity:.25}}@media (prefers-reduced-motion:reduce){.track,.jump-pad,.ui-sequence-active{transition-duration:1ms}.track.pad-sequence-active,.jump-pad.pad-sequence-active{transform:none}}@media (width<=1180px) and (width>=701px){.topbar p{display:none}.topbar .midi{margin-left:auto}.deck{padding-inline:6px}.deck-header{grid-template-columns:58px minmax(0,1fr);gap:4px}.deck-header>div:first-child strong{display:none}.deck-library button,.deck-library select{padding-inline:4px}.deck-library select{max-width:100px}.transport button{min-width:26px;padding-inline:5px}.deck-transport>small,.pitch-strip small,.fx-strip>span{display:none}.fx-strip .targets{min-width:58px}.fx-strip .targets b{display:none}.fx-depth{min-width:22px}}@media (width<=700px){.app.loop-page-open{grid-template-rows:46px minmax(0,1fr)}.loop-generator-link{justify-content:center;width:29px;padding:0}.loop-generator-link span{display:none}.loop-generator{padding:14px 9px 28px}.loop-header{grid-template-columns:1fr auto;align-items:start;gap:10px}.loop-header>div{grid-area:2/1/auto/-1}.loop-header h1{font-size:1.65rem}.loop-header p{line-height:1.45}.loop-back{grid-area:1/1;justify-self:start}.loop-header>.loop-live{grid-area:1/2;align-self:center}.loop-stage-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.loop-stage-grid div{justify-content:center;height:27px;padding:0}.loop-stage-grid span{display:none}.loop-workspace{grid-template-columns:1fr}.loop-pad-preview div{min-height:48px}.loop-status{flex-direction:column;align-items:stretch}.loop-status a,.loop-status small{text-align:center;margin-left:0}.app{grid-template-rows:46px 28px 32px minmax(0,1fr)}.surface-mode-switch{padding-inline:4px}.surface-mode-switch button{flex:1;padding-inline:3px;font-size:.4rem}.topbar{flex-wrap:nowrap;gap:6px;height:46px;min-height:0;padding:0 8px}.topbar p{display:none}.brand{font-size:1.05rem}.help-button,.theme-toggle,.ui-mode-toggle{flex-basis:29px;width:29px;height:29px}.help-backdrop{padding:8px}.help-panel{max-height:calc(100vh - 16px)}.help-panel>header{grid-template-columns:40px minmax(0,1fr) 36px;gap:10px;padding:17px}.help-title-icon{width:40px;height:40px}.help-content{grid-template-columns:1fr}.help-content article.help-wide{grid-column:auto}.help-content article{padding:18px}.help-content li{grid-template-columns:105px minmax(0,1fr);gap:10px}.midi{min-width:30px;margin-left:auto;padding:0 8px;font-size:0}.midi .dot{margin:0}.mobile-deck-switch{border-bottom:1px solid var(--border);background:var(--background);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;padding:3px 8px 2px;display:grid}.mobile-deck-switch button{border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);letter-spacing:.09em;cursor:pointer;font-size:.5rem;font-weight:700}.mobile-deck-switch button+button{border-left:0}.mobile-deck-switch button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.decks{grid-template-columns:1fr}.deck{border:0;grid-template-rows:40px 38px 28px 31px 50px minmax(0,1fr);padding:4px 6px 6px;display:none}.deck.mobile-active{display:grid}.deck-header{grid-template-columns:49px auto minmax(0,1fr);gap:4px}.deck-header>div:first-child strong{display:none}.deck-header span{font-size:.5rem}.deck-library button,.deck-library select{height:27px;padding:0 5px;font-size:.48rem}.deck-library>.folder-browser>.folder-root{width:28px;font-size:0;overflow:hidden}.deck-library .reload-song{flex-basis:28px;width:28px;padding:0}.deck-library .reload-song svg{width:16px;height:16px}.deck-library select{background-position:calc(100% - 9px) 11px,calc(100% - 5px) 11px;flex:1;max-width:100px;padding-right:23px;font-size:.52rem}.deck-transport{gap:3px}.transport button{min-width:25px;height:25px;padding:0 4px;font-size:.57rem}.transport .restart{flex-basis:25px;width:25px}.transport .restart svg{width:15px;height:15px}.master-record{width:34px;min-width:34px;height:29px;padding:0;font-size:0;overflow:hidden}.master-record i{width:7px;height:7px;margin:0}.output-meter{flex-basis:4px;width:4px;height:21px}.bpm{gap:2px;font-size:.42rem}.bpm input{width:34px;height:23px;font-size:.5rem}.mode{min-width:23px;height:23px;padding:0 3px;font-size:.43rem}.mode.loop-align{min-width:25px;padding:0}.mode.loop-align span,.deck-transport>span,.deck-transport>small{display:none}.performance-strip{gap:2px;padding:2px 0}.performance-strip>span:first-child,.performance-strip .scene-label{display:none}.performance-strip button{min-width:22px;height:22px;padding:0 4px;font-size:.42rem}.performance-strip .downbeat{min-width:57px}.performance-strip .scene:first-of-type{margin-left:auto}.pitch-strip{gap:3px;padding:2px 0}.pitch-strip>span,.pitch-strip small{display:none}.pitch-strip button{flex:1;min-width:0;height:24px;padding:0 4px;font-size:.44rem}.fx-strip{grid-template-rows:22px 18px;grid-template-columns:minmax(0,1fr) 35px 34px 42px;gap:2px;padding:3px 0;display:grid;position:relative}.fx-strip>span{display:none}.fx-buttons{grid-area:1/1/auto/-1;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;width:100%}.fx-strip button{padding:0 2px;font-size:.37rem}.fx-strip .echo-mode{grid-area:2/2;min-width:0}.fx-strip .hold{grid-area:2/3;min-width:0}.fx-strip .targets{grid-area:2/4;min-width:0}.fx-strip .targets b,.fx-strip .targets em{display:none}.fx-strip .targets small{font-size:.37rem}.fx-depth{grid-area:2/1;width:100%;min-width:0;max-width:none;margin:auto 0}.deck-pads{gap:4px;padding-top:5px}.track-toggle{grid-template-rows:13px minmax(0,1fr);gap:2px 4px;height:calc(100% - 18px);padding:4px 4px 2px 6px}.track-heading{gap:3px}.drag-grip{display:none}.track strong{font-size:.52rem}.track small,.pad-number{font-size:.4rem}.track .octave-badge{padding:1px 2px;font-size:.36rem}.volume{gap:3px;height:18px;padding-inline:5px}.volume span{font-size:.4rem}.jump-pad{padding:5px}.jump-pad strong{font-size:1.1rem}.jump-pad span,.jump-pad small{font-size:.43rem}.track.empty{padding:5px}.track.empty strong{font-size:.48rem}}@media (height<=720px) and (width>=701px){.app{grid-template-rows:44px minmax(0,1fr)}.topbar{height:44px}.deck{grid-template-rows:39px 37px 28px 32px 44px minmax(0,1fr)}.deck-header>div:first-child strong,.pitch-strip small{display:none}.deck-pads{padding-top:5px}.track-toggle{height:calc(100% - 18px)}.volume{height:18px}.fx-strip .targets em{display:none}}
