:root{--bg:#f4f7f4;--ink:#111816;--muted:#5d6763;--line:#cbd6d0;--panel:#fff;--panel-2:#edf3ef;--teal:#0f766e;--teal-ink:#f4fffc;--amber:#b45309;--blue:#2563eb;--rose:#9f1239;--dark:#101615;--focus:#f59e0b;--shadow:0 18px 42px #1929231c;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a,input,select{letter-spacing:0}button{cursor:pointer}button:disabled{cursor:wait;opacity:.64}a{color:inherit}svg{flex:none;width:18px;height:18px}.app-frame{grid-template-rows:auto 1fr auto;gap:14px;width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:18px;display:grid}.topbar,.scope-panel,.mixer-panel,.preset-panel,.model-panel,.status-tile,.build-footer,.toast{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:12px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{width:46px;height:46px;color:var(--teal-ink);background:var(--teal);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.brand h1,.panel-head h2{color:var(--ink);margin:0;line-height:1.1}.brand h1{font-size:1.35rem}.brand p,.section-kicker,.model-meta,.build-footer,.status-tile span{color:var(--muted);margin:0;font-size:.82rem}.toplinks,.transport,.toggle-row,.stem-actions,.chip-row,.model-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-link,.icon-link,.command,.icon-command,.mini-command,.toggle,.preset{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:750;text-decoration:none;display:inline-flex}.tool-link,.command,.toggle,.preset{padding:9px 12px}.icon-link,.icon-command,.mini-command{width:40px;padding:0}.tool-link--primary,.command--primary,.preset.is-active,.toggle.is-active{border-color:var(--teal);background:var(--teal);color:var(--teal-ink)}.command.is-busy svg{animation:1.1s linear infinite spin}.console-grid{grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);grid-template-areas:"scope mixer""status mixer""presets model";gap:14px;min-height:0;display:grid}.scope-panel,.mixer-panel,.preset-panel,.model-panel{min-width:0;padding:14px}.scope-panel{grid-area:scope;grid-template-rows:auto minmax(320px,1fr) auto;gap:12px;display:grid}.mixer-panel{grid-area:mixer;align-content:start;gap:14px;display:grid}.preset-panel{grid-area:presets;gap:12px;display:grid}.model-panel{grid-area:model;gap:12px;display:grid}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.section-kicker{text-transform:uppercase;margin-bottom:4px;font-weight:800}.panel-head h2{font-size:1.05rem}.panel-icon{color:var(--teal)}.chip{border:1px solid var(--line);min-height:30px;color:var(--muted);background:var(--panel-2);border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:750}.visualizer{background:var(--dark);border-radius:8px;width:100%;height:100%;min-height:320px;display:block}.status-grid{grid-area:status;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.status-tile{min-width:0;min-height:76px;box-shadow:none;padding:11px}.status-tile span{align-items:center;gap:6px;font-weight:800;display:flex}.status-tile strong{overflow-wrap:anywhere;margin-top:10px;font-size:1rem;display:block}.global-controls{grid-template-columns:1fr;gap:10px;display:grid}.range-control,.stem-gain{grid-template-columns:minmax(74px,.7fr) minmax(110px,1fr) minmax(42px,auto);align-items:center;gap:8px;min-width:0;display:grid}.range-control{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;min-height:54px;padding:10px}.range-control span,.stem-gain span,.stem-title span{min-width:0;color:var(--ink);align-items:center;gap:6px;font-size:.86rem;font-weight:800;display:inline-flex}input[type=range]{width:100%;accent-color:var(--teal)}input[type=number],select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:6px;padding:8px 10px}output{color:var(--muted);text-align:right;font-size:.82rem;font-weight:750}.stem-list{gap:10px;display:grid}.stem-strip{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(112px,.9fr) minmax(170px,1.4fr) auto;align-items:center;gap:10px;min-width:0;padding:11px;display:grid}.stem-strip.is-muted{background:#f4f2f2}.stem-strip.is-solo{border-color:var(--blue)}.stem-strip.is-inverted{border-color:var(--rose)}.stem-title{gap:8px;min-width:0;display:grid}meter{width:100%;height:9px}.stem-gain{grid-template-columns:44px minmax(110px,1fr) 44px}.preset-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.preset{white-space:normal;width:100%;min-height:44px}.model-row{align-items:stretch}.model-row select{flex:260px}.model-meta{overflow-wrap:anywhere;line-height:1.35}.build-footer{box-shadow:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:11px 12px;display:flex}.build-footer strong,.build-footer a{color:var(--ink);font-weight:800}.toast{max-width:min(420px,100vw - 36px);color:var(--ink);box-shadow:var(--shadow);padding:12px 14px;display:none;position:fixed;bottom:78px;right:18px}.toast.is-visible{display:block}.toast.is-error{border-color:var(--rose);color:var(--rose)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.console-grid{grid-template-columns:1fr;grid-template-areas:"scope""status""mixer""presets""model"}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.app-frame{padding:10px}.topbar,.panel-head{flex-direction:column;align-items:stretch}.toplinks,.transport,.toggle-row{width:100%}.tool-link,.command,.toggle{flex:140px}.status-grid,.global-controls,.preset-grid,.stem-strip,.range-control,.stem-gain{grid-template-columns:1fr}output{text-align:left}}
