:root{
  --bg:#070811;--panel:#1a1828;--panel2:#242238;--line:#3b3d5a;--ink:#f8fafc;--muted:#c7ccde;--black:#03040a;
  --pink:#ff3e93;--cyan:#29e7ff;--lime:#a8ff35;--amber:#ffd657;--red:#ff405c;--green:#80f2c7;
  --radius:18px;--display:Impact,"Arial Black",system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--font:system-ui,-apple-system,Segoe UI,Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg);color:var(--ink);font-family:var(--font);touch-action:manipulation}body{margin:0;min-height:100svh;background:radial-gradient(circle at 12% 0,rgba(255,62,147,.32),transparent 32%),radial-gradient(circle at 88% 5%,rgba(41,231,255,.24),transparent 38%),linear-gradient(135deg,#080813,#201426 50%,#07131d);overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}.aurora{display:none}.app{width:min(1710px,100%);margin:0 auto;padding:10px 12px 16px}.compact-hero{margin:0 0 10px}.compact-title{width:min(430px,100%);border:2px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));box-shadow:0 18px 50px rgba(0,0,0,.35);padding:10px 14px}.compact-title h1{margin:0;font:900 clamp(1.55rem,3vw,2.35rem)/.9 var(--display);letter-spacing:.01em;text-transform:uppercase;text-shadow:0 4px 0 #000,0 0 18px rgba(255,62,147,.5)}.compact-title .tagline{margin:6px 0 0;color:#e8e0ef;font-weight:850;font-size:.8rem}.main-grid{display:grid;grid-template-columns:minmax(300px,390px) minmax(650px,1fr) minmax(260px,320px);gap:12px;align-items:start}.mpc-panel,.sequencer-panel,.side-panel .card{border:2px solid rgba(255,255,255,.13);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.043));box-shadow:0 20px 56px rgba(0,0,0,.36);backdrop-filter:blur(16px);padding:12px}.lcd-wrap{background:#03050b;border:3px solid #000;border-radius:17px;padding:8px;margin-bottom:10px}.lcd{min-height:42px;border-radius:12px;padding:9px 11px;background:linear-gradient(#153825,#07170d);color:#93ff9a;font:900 .74rem/1.32 var(--mono);text-transform:uppercase;text-shadow:0 0 8px rgba(147,255,154,.5)}#visualizer{display:none}.transport{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr 1fr;gap:7px;margin-bottom:10px}.btn,.tool-row button,.presets button,.vault-grid button,.twist-grid button{border:2px solid #05050a;border-radius:12px;min-height:38px;color:#090a12;font-weight:1000;text-transform:uppercase;letter-spacing:.01em;box-shadow:0 4px 0 #000;transition:transform .05s,box-shadow .05s,filter .12s}.btn:active,.tool-row button:active,.presets button:active,.vault-grid button:active,.twist-grid button:active,.bank-buttons button:active,.pattern-buttons button:active,.pad:active,.step:active{transform:translateY(3px);box-shadow:0 1px 0 #000!important}.start-audio{background:linear-gradient(180deg,#fff38a,#ffc52e)}.play{background:linear-gradient(180deg,#c2ff56,#8ee832)}.stop{background:linear-gradient(180deg,#ff7086,#ff405c);color:#fff}.record{background:linear-gradient(180deg,#f0f4ff,#ccd5ea)}.record.on{background:linear-gradient(180deg,#ff7bae,#ff2d78);color:white;box-shadow:0 4px 0 #000,0 0 18px rgba(255,62,147,.55)}.ghost{background:linear-gradient(180deg,#f1f5ff,#cbd5e1)}.control-strip{display:grid;gap:7px;margin-bottom:10px}.control-strip label{display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;color:#e7e9f6;font-weight:1000;text-transform:uppercase;font-size:.68rem}.control-strip output{background:#1c2034;color:var(--cyan);padding:2px 8px;border-radius:999px;font:900 .68rem var(--mono)}.control-strip input[type=range]{grid-column:1/-1;width:100%;height:18px;accent-color:var(--cyan)}.section-title{margin:0 0 7px;color:#b4b8cc;font:900 .66rem var(--mono);letter-spacing:.16em;text-transform:uppercase}.bank-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.bank-buttons button,.pattern-buttons button{border:2px solid #000;border-radius:11px;min-height:34px;background:#2a2d49;color:#edf2ff;font-weight:1000;text-transform:uppercase;font-size:.63rem;box-shadow:0 4px 0 #000}.bank-buttons button.active,.pattern-buttons button.active{background:var(--active,#ff3e93)!important;color:#05050a}.pads{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:rgba(0,0,0,.25);border:2px solid rgba(255,255,255,.08);border-radius:16px;padding:8px}.pad{height:clamp(54px,6.4vh,66px);min-height:54px;border:2px solid #000;border-radius:13px;background:linear-gradient(145deg,#333652,#181a2b);color:white;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;padding:5px;box-shadow:0 4px 0 #000;overflow:hidden}.pad-key{align-self:flex-start;background:rgba(255,255,255,.09);border-radius:6px;padding:1px 5px;color:#cdd2e7;font:900 .52rem var(--mono)}.pad-name{font:900 clamp(.50rem,.86vw,.68rem)/1.05 var(--display);letter-spacing:.01em;text-transform:uppercase;max-width:100%;overflow:hidden;text-overflow:ellipsis}.pad-num{font:900 .48rem var(--mono);color:var(--bank-color,#ff3e93)}.pad.hit{background:var(--bank-color,#ff3e93);color:#05050a;transform:translateY(3px);box-shadow:0 1px 0 #000}.pad.hit .pad-num{color:#05050a}.key-help,.rec-help{margin-top:7px;color:#c7ccde;font:800 .60rem var(--mono)}.rec-help{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px}.rec-help.on{color:#fff;background:rgba(255,62,147,.22);border-color:rgba(255,62,147,.8)}.panel-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.eyebrow{margin:0 0 2px;color:var(--cyan);font:900 .62rem var(--mono);letter-spacing:.16em;text-transform:uppercase}.panel-head h2{margin:0;font:900 clamp(1.2rem,2vw,1.7rem)/.88 var(--display);text-transform:uppercase;text-shadow:0 3px 0 #000}.pattern-buttons{display:grid;grid-template-columns:repeat(4,40px);gap:6px}.tool-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}.tool-row button{min-height:36px;background:#edf2ff;font-size:.62rem}.step-scroll{background:rgba(0,0,0,.23);border:2px solid rgba(255,255,255,.08);border-radius:16px;padding:8px;overflow:visible}.step-numbers,.grid-row{display:grid;grid-template-columns:minmax(82px,112px) repeat(16,minmax(24px,1fr));gap:4px;width:100%;min-width:0}.step-numbers{margin-bottom:4px}.step-numbers div{font:900 .55rem var(--mono);color:#9299b6;text-align:center}.grid{display:grid;gap:4px}.grid-row{margin-bottom:0}.rowlabel{height:27px;border-left:4px solid var(--bank-color,#ff3e93);border-radius:7px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 4px;color:white;font:900 .50rem var(--display);text-transform:uppercase;overflow:hidden}.rowlabel span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mute{flex:0 0 auto;width:22px;height:20px;min-height:20px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:rgba(0,0,0,.22);color:white;font:900 .56rem var(--mono);box-shadow:none}.mute.is-muted{background:#ff405c}.step{height:27px;width:auto;border:2px solid #000;border-radius:7px;background:#292d49;box-shadow:0 2px 0 #000}.step.beat{background:#343957}.step.on{background:var(--bank-color,#ff3e93)}.step.playhead{outline:3px solid white;outline-offset:1px}.step.recorded{animation:recflash .22s ease}@keyframes recflash{0%{transform:scale(1.12);filter:brightness(1.8)}100%{transform:scale(1)}}.side-panel{display:grid;gap:12px}.presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}.presets button{min-height:38px;background:linear-gradient(180deg,#f8fbff,#d9e6f8);font-size:.62rem}.track-name{display:grid;gap:6px;color:#e9edf7;font-weight:1000}.track-name input,.vault-grid select,textarea{border:2px solid #000;border-radius:11px;background:#f8fafc;color:#111827;padding:8px;font-weight:850}.vault-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:9px}.vault-grid.two{grid-template-columns:repeat(2,1fr)}.vault-grid button{background:linear-gradient(180deg,#d7fff0,#64e7bd);font-size:.62rem}.vault-grid.two button{background:linear-gradient(180deg,#ffeab2,#ffc848)}textarea{width:100%;height:72px;margin-top:9px;font:800 .68rem/1.25 var(--mono);resize:vertical;user-select:text}.twist-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.twist-grid button{background:linear-gradient(180deg,#e7d7ff,#b68cff);font-size:.62rem}.mini-controls{margin:10px 0 0}.toast{position:fixed;z-index:99;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%,110px);opacity:0;background:white;color:#02030a;border:3px solid #000;border-radius:16px;padding:12px 20px;font-weight:1000;box-shadow:0 16px 45px rgba(0,0,0,.45);transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (min-width:1180px) and (min-height:700px){html,body{height:100%;overflow:hidden}.app{height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.main-grid{min-height:0}.mpc-panel,.sequencer-panel,.side-panel{min-height:0;overflow:hidden}.sequencer-panel{display:grid;grid-template-rows:auto auto auto}.pad{height:clamp(52px,6vh,64px)}.step,.rowlabel{height:clamp(24px,3.0vh,27px)}}
@media (max-width:1250px){html,body{overflow:auto}.main-grid{grid-template-columns:1fr}.side-panel{grid-template-columns:1fr 1fr}.step-numbers,.grid-row{grid-template-columns:minmax(76px,100px) repeat(16,minmax(20px,1fr))}.step,.rowlabel{height:28px}.mpc-panel{max-width:520px}.sequencer-panel{width:100%}.side-panel{width:100%}}
@media (max-width:740px){.app{padding:8px}.transport{grid-template-columns:1fr 1fr}.record{grid-column:1/-1}.bank-buttons{grid-template-columns:repeat(2,1fr)}.side-panel{grid-template-columns:1fr}.tool-row{grid-template-columns:1fr 1fr}.vault-grid,.vault-grid.two{grid-template-columns:1fr 1fr}.presets{grid-template-columns:1fr 1fr}.pads{gap:5px}.pad{height:58px}.step-numbers,.grid-row{grid-template-columns:minmax(66px,80px) repeat(16,minmax(17px,1fr));gap:2px}.step,.rowlabel{height:24px;border-radius:5px}.rowlabel{font-size:.42rem}.mute{display:none}.compact-title{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* v5: compact iPad/iPhone sequencer without pad wall */
.bank-buttons button.active{background:var(--bank-color)!important;color:#05050a!important}
.bank-buttons button.queued{outline:3px solid #fff;outline-offset:1px;filter:brightness(1.25)}
.bank-buttons button.queued::after{content:" NACH 16";display:block;font:900 .48rem var(--mono);color:#fff;background:#000;border-radius:999px;margin:3px auto 0;padding:1px 4px;width:max-content;max-width:90%}
.pc-link{display:flex;align-items:center;justify-content:center;text-decoration:none;border:2px solid #05050a;border-radius:12px;min-height:38px;background:linear-gradient(180deg,#e9d5ff,#a78bfa);color:#05050a;font-weight:1000;text-transform:uppercase;box-shadow:0 4px 0 #000;font-size:.66rem}.pc-link:active{transform:translateY(3px);box-shadow:0 1px 0 #000}
.compact-mode{overflow:hidden}.compact-mode .app{width:min(1720px,100%);height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:8px;overflow:hidden}.top-console{display:grid;grid-template-columns:260px minmax(260px,1fr) minmax(420px,520px);grid-template-areas:"brand screen transport" "knobs knobs knobs";gap:8px;align-items:stretch}.mini-brand{grid-area:brand;border:2px solid rgba(255,255,255,.14);border-radius:16px;background:linear-gradient(135deg,rgba(255,62,147,.24),rgba(255,255,255,.06));box-shadow:0 14px 34px rgba(0,0,0,.28);padding:9px 12px}.mini-brand h1{margin:0;font:900 clamp(1.35rem,2.2vw,2.05rem)/.86 var(--display);text-transform:uppercase;text-shadow:0 3px 0 #000}.mini-brand p{margin:5px 0 0;color:#f1e9f8;font-weight:900;font-size:.73rem}.mini-screen{grid-area:screen;background:#03050b;border:3px solid #000;border-radius:16px;padding:7px}.compact-mode .mini-screen .lcd{min-height:50px;height:100%;display:flex;align-items:center;font-size:.7rem}.top-transport{grid-area:transport;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;align-items:center}.top-transport .btn,.top-transport .pc-link{height:100%;min-height:47px}.top-knobs{grid-area:knobs;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border:2px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(0,0,0,.16);padding:7px 9px}.top-knobs label{display:grid;grid-template-columns:1fr auto;gap:2px 6px;align-items:center;color:#e9edf7;font-weight:1000;text-transform:uppercase;font-size:.62rem}.top-knobs output{background:#111827;color:var(--cyan);padding:1px 7px;border-radius:999px;font:900 .62rem var(--mono)}.top-knobs input[type=range]{grid-column:1/-1;width:100%;height:16px;accent-color:var(--cyan)}.compact-workbench{min-height:0;display:grid;grid-template-columns:minmax(720px,1fr) minmax(270px,330px);gap:10px;align-items:stretch;overflow:hidden}.compact-sequencer{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:10px;overflow:hidden}.compact-row.top-row{display:grid;grid-template-columns:minmax(400px,1fr) auto;gap:10px;align-items:end;margin-bottom:6px}.compact-bank .bank-buttons{grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:0}.compact-bank .bank-buttons button{min-height:31px;font-size:.56rem}.pattern-mini{min-width:286px}.compact-mode .pattern-buttons{grid-template-columns:repeat(8,32px);gap:5px}.compact-mode .pattern-buttons button{min-height:31px}.compact-tools{margin-bottom:6px}.compact-tools button{min-height:30px}.compact-step-scroll{min-height:0;overflow:hidden;padding:7px}.compact-mode .step-numbers,.compact-mode .grid-row{grid-template-columns:minmax(86px,104px) repeat(16,minmax(20px,1fr));gap:3px}.compact-mode .step-numbers{margin-bottom:3px}.compact-mode .grid{gap:3px}.compact-mode .step,.compact-mode .rowlabel{height:min(25px,calc((100svh - 245px)/17));min-height:19px;border-radius:6px}.compact-mode .rowlabel{font-size:.47rem}.compact-mode .step{border-width:2px}.compact-side{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;overflow:hidden}.compact-side .card{padding:10px;border-radius:16px}.compact-side .presets{grid-template-columns:repeat(2,1fr);gap:6px}.compact-side .presets button{min-height:30px;font-size:.55rem}.compact-side .twist-grid{grid-template-columns:repeat(2,1fr);gap:6px}.compact-side .twist-grid button{min-height:30px}.compact-side .track-name{font-size:.68rem}.compact-side .track-name input{padding:7px}.compact-side textarea{height:42px}.compact-vault{grid-template-columns:.8fr 1fr 1fr}.compact-export button{min-height:30px}.pc-mode .compact-title{width:min(520px,100%)}.pc-mode .pad{height:clamp(49px,5.4vh,62px)}.pc-mode .pads{gap:6px}.pc-mode .mpc-panel{overflow:hidden}.pc-mode .main-grid{grid-template-columns:minmax(300px,370px) minmax(650px,1fr) minmax(260px,320px)}
@media (max-width:1100px){.compact-mode{overflow:auto}.compact-mode .app{height:auto;min-height:100svh;overflow:visible}.top-console{grid-template-columns:1fr;grid-template-areas:"brand" "screen" "transport" "knobs"}.mini-brand{padding:7px 10px}.mini-brand h1{font-size:1.45rem}.mini-brand p{font-size:.68rem}.top-transport{grid-template-columns:repeat(5,minmax(0,1fr))}.top-transport .btn,.top-transport .pc-link{min-height:38px;font-size:.58rem}.top-knobs{grid-template-columns:repeat(5,1fr);gap:5px;padding:6px}.top-knobs label{font-size:.52rem}.compact-workbench{grid-template-columns:1fr;overflow:visible}.compact-side{grid-template-columns:1fr 1fr;grid-template-rows:auto;overflow:visible}.compact-side .vault-card{grid-column:1/-1}.compact-row.top-row{grid-template-columns:1fr}.pattern-mini{min-width:0}.compact-mode .pattern-buttons{grid-template-columns:repeat(8,1fr)}.compact-mode .step-numbers,.compact-mode .grid-row{grid-template-columns:minmax(74px,86px) repeat(16,minmax(17px,1fr));gap:2px}.compact-mode .step,.compact-mode .rowlabel{height:23px}.compact-mode .rowlabel{font-size:.42rem}.compact-bank .bank-buttons{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.compact-mode .app{padding:5px;gap:5px}.top-console{gap:5px}.mini-screen{display:none}.top-transport{grid-template-columns:repeat(5,1fr);gap:4px}.top-transport .btn,.top-transport .pc-link{min-height:34px;border-radius:9px;font-size:.50rem;padding:2px}.top-knobs{grid-template-columns:repeat(5,1fr);gap:4px}.top-knobs label{font-size:.46rem}.top-knobs output{font-size:.46rem;padding:1px 4px}.top-knobs input[type=range]{height:14px}.compact-sequencer{padding:6px}.compact-bank .section-title,.pattern-mini .section-title{font-size:.54rem;margin-bottom:4px}.compact-bank .bank-buttons{grid-template-columns:repeat(4,1fr);gap:4px}.compact-bank .bank-buttons button{min-height:27px;font-size:.48rem;border-radius:8px}.compact-mode .pattern-buttons{gap:3px}.compact-mode .pattern-buttons button{min-height:27px;border-radius:8px}.compact-tools{gap:4px;margin-bottom:4px}.compact-tools button{min-height:28px;font-size:.50rem;border-radius:8px}.compact-step-scroll{padding:5px}.compact-mode .step-numbers,.compact-mode .grid-row{grid-template-columns:60px repeat(16,minmax(12px,1fr));gap:2px}.compact-mode .step-numbers div{font-size:.43rem}.compact-mode .grid{gap:2px}.compact-mode .step,.compact-mode .rowlabel{height:20px;min-height:20px;border-radius:5px}.compact-mode .step{border-width:1.5px}.compact-mode .rowlabel{font-size:.34rem;padding:0 2px;border-left-width:3px}.compact-mode .mute{display:none}.compact-side{grid-template-columns:1fr 1fr;gap:5px}.compact-side .card{padding:6px;border-radius:12px}.compact-side .section-title{font-size:.50rem;margin-bottom:4px}.compact-side .presets{gap:4px}.compact-side .presets button,.compact-side .twist-grid button{min-height:27px;font-size:.47rem;border-radius:8px}.compact-side .vault-card{display:none}.toast{font-size:.75rem;padding:8px 12px}}

/* v6: echte iPad-Kompaktansicht */
body.ipad-mode{background:linear-gradient(135deg,#140817 0%,#151225 48%,#071722 100%);}
body.ipad-mode .app{width:min(1366px,100%);padding:8px 10px 10px;}
body.ipad-mode .ipad-console{display:grid;grid-template-columns:minmax(370px,.95fr) minmax(520px,1.65fr);gap:10px;align-items:start;margin:0 0 8px;}
body.ipad-mode .ipad-transport{display:grid;grid-template-columns:1.05fr .9fr .9fr .9fr 1.25fr;gap:7px;align-items:stretch;border:2px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.07);box-shadow:0 14px 40px rgba(0,0,0,.25);padding:8px;}
body.ipad-mode .ipad-transport .btn,body.ipad-mode .pc-link{min-height:38px;border-radius:12px;font-size:.76rem;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;text-transform:uppercase;font-weight:1000;box-shadow:0 4px 0 #000;border:2px solid #05050a;}
body.ipad-mode .pc-link{background:#eaf1ff;color:#05050a;}
body.ipad-mode .ipad-knobs{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:7px;border:2px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.07);padding:8px;}
body.ipad-mode .ipad-knobs label{display:grid;grid-template-columns:1fr auto;gap:3px;color:#f2f4ff;font-weight:950;text-transform:uppercase;font-size:.64rem;line-height:1.05;}
body.ipad-mode .ipad-knobs output{background:#12172a;color:#29e7ff;border-radius:999px;padding:1px 6px;font:900 .58rem var(--mono);}
body.ipad-mode .ipad-knobs input[type=range]{grid-column:1/-1;width:100%;height:17px;accent-color:#29e7ff;}
body.ipad-mode .ipad-workbench{display:grid;grid-template-columns:minmax(640px,1fr) minmax(248px,292px);gap:10px;align-items:start;}
body.ipad-mode .sequencer-panel,body.ipad-mode .side-panel .card{border-radius:18px;padding:10px;border:2px solid rgba(255,255,255,.13);}
body.ipad-mode .ipad-topline{display:grid;grid-template-columns:1.25fr .75fr;gap:8px;align-items:start;margin-bottom:8px;}
body.ipad-mode .section-title{font-size:.58rem;margin-bottom:4px;letter-spacing:.11em;}
body.ipad-mode .bank-buttons{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin:0;}
body.ipad-mode .bank-buttons button{min-height:29px;padding:2px 3px;border-radius:9px;font-size:.57rem;box-shadow:0 3px 0 #000;}
body.ipad-mode .bank-buttons button.queued,body.ipad-mode .pattern-buttons button.queued{outline:2px solid #ffd657;outline-offset:1px;background:#ffd657!important;color:#111!important;}
body.ipad-mode .pattern-buttons{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;}
body.ipad-mode .pattern-buttons button{min-height:29px;padding:0;border-radius:9px;font-size:.68rem;box-shadow:0 3px 0 #000;}
body.ipad-mode .tool-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 7px;}
body.ipad-mode .tool-row button{min-height:30px;border-radius:10px;font-size:.58rem;box-shadow:0 3px 0 #000;}
body.ipad-mode .compact-step-scroll{overflow:visible!important;background:rgba(0,0,0,.18);border-radius:14px;border:1px solid rgba(255,255,255,.08);padding:8px;}
body.ipad-mode .step-numbers{display:grid;grid-template-columns:94px repeat(16,minmax(20px,1fr));gap:4px;margin-bottom:3px;}
body.ipad-mode .step-numbers div{font:900 .55rem var(--mono);text-align:center;color:#9da6c0;}
body.ipad-mode .grid{display:grid;gap:4px;}
body.ipad-mode .grid-row{display:grid;grid-template-columns:94px repeat(16,minmax(20px,1fr));gap:4px;}
body.ipad-mode .rowlabel{min-height:36px;border-radius:10px;padding:0 5px;border-left:4px solid var(--bank-color);font-size:.55rem;}
body.ipad-mode .rowlabel span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.ipad-mode .rowlabel .mute{width:19px;height:19px;min-height:0;border-radius:6px;font-size:.55rem;}
body.ipad-mode .step{height:36px;border-radius:8px;border-width:2px;}
body.ipad-mode .side-panel{display:grid;gap:8px;}
body.ipad-mode .presets{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;}
body.ipad-mode .presets button{min-height:31px;border-radius:10px;font-size:.58rem;box-shadow:0 3px 0 #000;}
body.ipad-mode .twist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;}
body.ipad-mode .twist-grid button{min-height:31px;border-radius:10px;font-size:.6rem;box-shadow:0 3px 0 #000;}
body.ipad-mode .track-name{font-size:.7rem;font-weight:900;display:block;margin-bottom:5px;}
body.ipad-mode .track-name input{height:32px;border-radius:9px;font-size:.78rem;}
body.ipad-mode .vault-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-bottom:5px;}
body.ipad-mode .vault-grid.two{grid-template-columns:repeat(2,1fr);}
body.ipad-mode .vault-grid button,body.ipad-mode .vault-grid select{min-height:31px;border-radius:9px;font-size:.58rem;font-weight:1000;}
body.ipad-mode textarea#jsonBox{height:42px;min-height:42px;font-size:.62rem;border-radius:9px;}
body.ipad-mode .bottom-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:7px;color:#e9edf8;opacity:.9;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
body.ipad-mode .bottom-brand strong{font:900 1rem var(--display);text-shadow:0 2px 0 #000;color:#fff;}
body.ipad-mode .bottom-brand span{font-size:.68rem;color:#bcc6da;}
body.ipad-mode .top-console,body.ipad-mode .mini-brand,body.ipad-mode .mini-screen{display:none!important;}

@media (min-width:900px) and (min-height:650px){
  body.ipad-mode{overflow:hidden;}
  body.ipad-mode .app{height:100svh;display:grid;grid-template-rows:auto 1fr auto;}
  body.ipad-mode .ipad-workbench{min-height:0;}
}
@media (max-width:899px){
  body.ipad-mode{overflow-y:auto;}
  body.ipad-mode .ipad-console{grid-template-columns:1fr;}
  body.ipad-mode .ipad-workbench{grid-template-columns:1fr;}
  body.ipad-mode .step-scroll{overflow-x:auto!important;}
  body.ipad-mode .step-numbers,body.ipad-mode .grid-row{grid-template-columns:86px repeat(16,28px);}
  body.ipad-mode .bottom-brand{flex-direction:column;gap:2px;align-items:flex-start;}
}
@media (max-height:720px) and (min-width:900px){
  body.ipad-mode .app{padding-top:5px;padding-bottom:5px;}
  body.ipad-mode .ipad-console{gap:7px;margin-bottom:6px;}
  body.ipad-mode .ipad-transport,.ipad-mode .ipad-knobs{padding:6px;}
  body.ipad-mode .ipad-transport .btn,body.ipad-mode .pc-link{min-height:34px;font-size:.68rem;}
  body.ipad-mode .ipad-knobs label{font-size:.58rem;}
  body.ipad-mode .step{height:32px;}
  body.ipad-mode .rowlabel{min-height:32px;font-size:.5rem;}
  body.ipad-mode .presets button,body.ipad-mode .twist-grid button,body.ipad-mode .vault-grid button,body.ipad-mode .vault-grid select{min-height:28px;font-size:.54rem;}
  body.ipad-mode textarea#jsonBox{height:34px;min-height:34px;}
  body.ipad-mode .bottom-brand{margin-top:4px;}
}


/* v7: iPad fit and immediate bank editing */
body.ipad-mode .ipad-workbench{
  grid-template-columns:minmax(0,1fr) minmax(220px,260px) !important;
  width:100%;
}
body.ipad-mode .side-panel,
body.ipad-mode .compact-side{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-auto-flow:row !important;
  min-width:0 !important;
  overflow:visible !important;
}
body.ipad-mode .side-panel .card{min-width:0;}
body.ipad-mode .presets{grid-template-columns:repeat(2,minmax(0,1fr));}
body.ipad-mode .twist-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
body.ipad-mode .vault-card{grid-column:auto !important;}
body.ipad-mode .sequencer-panel{min-width:0;}
body.ipad-mode .compact-step-scroll{min-width:0;}
body.ipad-mode .step-numbers,
body.ipad-mode .grid-row{
  grid-template-columns:82px repeat(16,minmax(16px,1fr)) !important;
  gap:3px !important;
}
body.ipad-mode .rowlabel{min-width:0;}
body.ipad-mode .step{min-width:0;}
body.ipad-mode .bank-buttons button{font-size:.54rem;}
body.ipad-mode .pattern-buttons button{font-size:.62rem;}
body.ipad-mode .tool-row button{font-size:.54rem;}
body.ipad-mode .presets button,
body.ipad-mode .twist-grid button{font-size:.54rem;}
@media (max-width:1180px){
  body.ipad-mode .ipad-workbench{grid-template-columns:1fr !important;}
  body.ipad-mode .side-panel{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  body.ipad-mode .vault-card{grid-column:auto !important;}
}
@media (max-height:720px) and (min-width:900px){
  body.ipad-mode .ipad-workbench{grid-template-columns:minmax(0,1fr) minmax(205px,240px) !important;gap:7px;}
  body.ipad-mode .step-numbers,body.ipad-mode .grid-row{grid-template-columns:76px repeat(16,minmax(14px,1fr)) !important;gap:2px !important;}
  body.ipad-mode .step{height:30px;}
  body.ipad-mode .rowlabel{min-height:30px;font-size:.46rem;}
  body.ipad-mode .side-panel{gap:6px;}
  body.ipad-mode .presets button,body.ipad-mode .twist-grid button,body.ipad-mode .vault-grid button,body.ipad-mode .vault-grid select{min-height:26px;font-size:.50rem;}
  body.ipad-mode textarea#jsonBox{height:30px;min-height:30px;}
}
@media (max-width:899px){
  body.ipad-mode .ipad-workbench{grid-template-columns:1fr !important;}
  body.ipad-mode .side-panel{grid-template-columns:1fr !important;}
}

/* v8: platzsparende iPad-Oberfläche */
:root{--v8-version:'v8';}
body.v8-mode{overflow:hidden;background:linear-gradient(135deg,#130917 0%,#141725 48%,#071722 100%);}
body.v8-mode .app{width:100%;max-width:none;height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding:6px 10px 4px;gap:6px;overflow:hidden;}
.v8-top{display:grid;grid-template-columns:minmax(360px,520px) minmax(520px,1fr);gap:8px;align-items:stretch;min-height:48px;}
.v8-transport,.v8-knobs{border:2px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.07);box-shadow:0 10px 24px rgba(0,0,0,.25);padding:6px;}
.v8-transport{display:grid;grid-template-columns:1fr .9fr .9fr .9fr .8fr .6fr;gap:6px;}
.v8-transport .btn,.v8-transport .pc-link{min-height:34px;border-radius:11px;border:2px solid #03040a;box-shadow:0 3px 0 #000;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font:1000 .68rem var(--display);text-transform:uppercase;}
.v8-transport .pc-link{background:#eaf1ff;color:#080a10;}
.v8-transport .pc-link.slim{font-size:.7rem;}
.v8-knobs{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:7px;}
.v8-knobs label{display:grid;grid-template-columns:1fr auto;gap:2px;color:#f6f7ff;font-weight:950;text-transform:uppercase;font-size:.58rem;line-height:1;}
.v8-knobs output{background:#101426;color:#29e7ff;border-radius:999px;padding:1px 5px;font:900 .54rem var(--mono);}
.v8-knobs input[type=range]{grid-column:1/-1;width:100%;height:16px;accent-color:#2be7ff;}
body.v8-mode .compact-workbench{display:grid;grid-template-columns:minmax(0,1fr) 185px !important;gap:8px;min-height:0;overflow:hidden;}
body.v8-mode .sequencer-panel{min-width:0;overflow:hidden;border-radius:17px;padding:8px;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.045));}
body.v8-mode .top-row{display:grid;grid-template-columns:1.08fr .92fr;gap:7px;margin-bottom:6px;}
body.v8-mode .section-title{font-size:.48rem;letter-spacing:.10em;margin-bottom:3px;color:#b9c1d2;line-height:1.1;}
body.v8-mode .section-title b{color:#fff;}
body.v8-mode .bank-buttons{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin:0;}
body.v8-mode .bank-buttons button{min-height:26px;border-radius:8px;font-size:.47rem;padding:1px 2px;box-shadow:0 2px 0 #000;}
body.v8-mode .pattern-buttons{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;}
body.v8-mode .pattern-buttons button{min-height:26px;border-radius:8px;font-size:.58rem;box-shadow:0 2px 0 #000;}
body.v8-mode .pattern-buttons button.queued{outline:2px solid #ffd657;outline-offset:1px;background:#ffd657!important;color:#111!important;}
body.v8-mode .tool-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-bottom:3px;}
body.v8-mode .tool-row button{min-height:28px;border-radius:9px;font-size:.52rem;box-shadow:0 2px 0 #000;}
body.v8-mode .tiny-help{margin:0 0 5px;color:#aeb6c6;font:800 .49rem var(--mono);letter-spacing:.03em;}
body.v8-mode .step-scroll{overflow:visible!important;background:rgba(0,0,0,.18);border-radius:13px;border:1px solid rgba(255,255,255,.08);padding:6px;min-width:0;}
body.v8-mode .step-numbers,body.v8-mode .grid-row{grid-template-columns:68px repeat(16,minmax(12px,1fr)) !important;gap:3px!important;}
body.v8-mode .step-numbers{margin-bottom:3px;}
body.v8-mode .step-numbers div{font:900 .45rem var(--mono);color:#9fa8bd;text-align:center;}
body.v8-mode .grid{gap:3px;}
body.v8-mode .rowlabel{height:31px;min-height:31px;border-radius:8px;border-left-width:3px;font-size:.42rem;padding:0 3px;}
body.v8-mode .rowlabel span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.v8-mode .mute{display:none!important;}
body.v8-mode .step{height:31px;min-height:31px;border-radius:7px;border-width:1.6px;min-width:0;}
body.v8-mode .side-panel{min-width:0;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto;gap:6px;overflow:visible!important;}
body.v8-mode .side-panel .card{min-width:0;padding:7px;border-radius:14px;border:2px solid rgba(255,255,255,.10);background:rgba(255,255,255,.07);}
body.v8-mode .preset-line{display:grid;grid-template-columns:1fr 54px;gap:5px;}
body.v8-mode .preset-line select,body.v8-mode .preset-line button,.big-save{min-height:30px;border-radius:9px;border:2px solid #02030a;font:1000 .54rem var(--display);box-shadow:0 2px 0 #000;background:#eaf1ff;color:#090b10;text-transform:uppercase;}
body.v8-mode .preset-line select{font-family:system-ui,sans-serif;font-weight:900;text-transform:none;padding:0 5px;}
body.v8-mode .hidden-presets{display:none!important;}
body.v8-mode .compact-twists{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;}
body.v8-mode .compact-twists button{min-height:28px;border-radius:9px;font-size:.50rem;box-shadow:0 2px 0 #000;}
body.v8-mode #visualizer{display:block;width:100%;height:42px;border-radius:10px;border:2px solid #02030a;background:#040816;}
body.v8-mode .save-open-card{padding-bottom:8px;}
body.v8-mode .big-save{width:100%;background:#8df1cb;}
.bottom-brand{height:24px;display:flex;align-items:center;justify-content:center;gap:10px;color:#e8edf7;text-transform:uppercase;letter-spacing:.04em;line-height:1;}
.bottom-brand strong{font:1000 .9rem var(--display);text-shadow:0 2px 0 #000;}
.bottom-brand span{font:900 .54rem var(--mono);color:#b7c0ce;}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;z-index:1000;padding:18px;}
.modal.show{display:flex;}
.modal-box{width:min(520px,94vw);background:#222638;border:3px solid #fff;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.65);padding:14px;color:#fff;}
.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font:1000 1rem var(--display);text-transform:uppercase;}
.modal-head button{width:38px;height:34px;border-radius:10px;border:2px solid #000;background:#ff405c;color:#fff;font-size:1.2rem;font-weight:1000;}
.modal .track-name{display:block;font-weight:900;margin-bottom:8px;}
.modal .track-name input,.modal textarea,.modal select{width:100%;border:2px solid #000;border-radius:10px;padding:8px;font-weight:900;}
.modal .vault-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:6px;}
.modal .vault-grid.two{grid-template-columns:repeat(2,1fr);}
.modal .vault-grid button,.modal .vault-grid select{min-height:36px;border:2px solid #000;border-radius:10px;font:1000 .68rem var(--display);}
.modal textarea{height:90px;background:#f7f7f7;color:#111;font-family:var(--mono);font-size:.72rem;resize:vertical;}
body.v8-mode .toast{font-size:.72rem;padding:8px 12px;}

@media (max-height:720px) and (min-width:900px){
  body.v8-mode .app{padding:4px 8px 3px;gap:4px;}
  .v8-top{min-height:42px;grid-template-columns:minmax(340px,480px) minmax(480px,1fr);gap:6px;}
  .v8-transport,.v8-knobs{padding:5px;}
  .v8-transport .btn,.v8-transport .pc-link{min-height:30px;font-size:.60rem;}
  .v8-knobs label{font-size:.52rem;}
  .v8-knobs input[type=range]{height:13px;}
  body.v8-mode .compact-workbench{grid-template-columns:minmax(0,1fr) 172px!important;gap:6px;}
  body.v8-mode .sequencer-panel{padding:6px;}
  body.v8-mode .bank-buttons button,body.v8-mode .pattern-buttons button{min-height:23px;font-size:.43rem;}
  body.v8-mode .tool-row button{min-height:25px;font-size:.47rem;}
  body.v8-mode .tiny-help{font-size:.43rem;margin-bottom:3px;}
  body.v8-mode .step-scroll{padding:5px;}
  body.v8-mode .step-numbers,body.v8-mode .grid-row{grid-template-columns:60px repeat(16,minmax(11px,1fr))!important;gap:2px!important;}
  body.v8-mode .rowlabel{height:27px;min-height:27px;font-size:.36rem;}
  body.v8-mode .step{height:27px;min-height:27px;border-radius:6px;}
  body.v8-mode .side-panel{gap:5px;}
  body.v8-mode .side-panel .card{padding:5px;border-radius:12px;}
  body.v8-mode .preset-line{grid-template-columns:1fr 45px;gap:4px;}
  body.v8-mode .preset-line select,body.v8-mode .preset-line button,.big-save{min-height:26px;font-size:.45rem;}
  body.v8-mode .compact-twists button{min-height:24px;font-size:.43rem;}
  body.v8-mode #visualizer{height:34px;}
  .bottom-brand{height:20px;}
  .bottom-brand strong{font-size:.78rem}.bottom-brand span{font-size:.46rem;}
}
@media (max-width:900px){body.v8-mode{overflow:auto;}body.v8-mode .app{height:auto;overflow:visible;}body.v8-mode .compact-workbench{grid-template-columns:1fr!important;}body.v8-mode .side-panel{grid-template-columns:1fr!important}.v8-top{grid-template-columns:1fr}.v8-knobs{grid-template-columns:1fr 1fr}.bottom-brand{position:static;margin:8px 0 0;}}


/* v9: iPad landscape space fit - more grid, less empty air */
:root{--v9-version:'v9';}
body.v9-mode{overflow:hidden;}
body.v9-mode .app{
  width:100vw;max-width:100vw;height:100svh;max-height:100svh;
  padding:4px max(8px,env(safe-area-inset-right)) 3px max(8px,env(safe-area-inset-left));
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:5px;overflow:hidden;
}
body.v9-mode .v8-top{min-height:36px;grid-template-columns:minmax(340px,620px) minmax(0,1fr);gap:6px;align-items:stretch;}
body.v9-mode .v8-transport,body.v9-mode .v8-knobs{padding:4px 5px;border-radius:14px;}
body.v9-mode .v8-transport{grid-template-columns:.95fr .75fr .8fr .75fr .72fr .55fr;gap:5px;}
body.v9-mode .v8-transport .btn,body.v9-mode .v8-transport .pc-link{min-height:28px;border-radius:10px;font-size:.58rem;box-shadow:0 2px 0 #000;line-height:1.05;padding:0 4px;}
body.v9-mode .v8-knobs{grid-template-columns:repeat(5,minmax(54px,1fr));gap:5px;}
body.v9-mode .v8-knobs label{font-size:.47rem;letter-spacing:.01em;}
body.v9-mode .v8-knobs output{font-size:.45rem;padding:1px 4px;}
body.v9-mode .v8-knobs input[type=range]{height:11px;}
body.v9-mode .compact-workbench{width:100%;max-width:100%;min-height:0;display:grid!important;grid-template-columns:minmax(0,1fr) clamp(150px,12vw,176px)!important;gap:6px;overflow:hidden;}
body.v9-mode .sequencer-panel{display:flex!important;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:6px;border-radius:15px;}
body.v9-mode .top-row{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);gap:5px;margin:0 0 4px 0;align-items:end;}
body.v9-mode .section-title{font-size:.43rem;letter-spacing:.09em;margin:0 0 2px 0;line-height:1.05;}
body.v9-mode .bank-buttons,body.v9-mode .pattern-buttons{gap:3px;}
body.v9-mode .bank-buttons button,body.v9-mode .pattern-buttons button{min-height:24px;border-radius:8px;font-size:.42rem;box-shadow:0 2px 0 #000;padding:0 2px;}
body.v9-mode .pattern-buttons button{font-size:.54rem;}
body.v9-mode .tool-row{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin:0 0 4px 0;}
body.v9-mode .tool-row button{min-height:29px;border-radius:9px;font-size:.50rem;box-shadow:0 2px 0 #000;}
body.v9-mode .tiny-help{display:none!important;}
body.v9-mode .compact-step-scroll,body.v9-mode .step-scroll{flex:1 1 auto;min-height:0;overflow:hidden!important;display:flex;flex-direction:column;padding:6px;border-radius:13px;margin-top:2px;}
body.v9-mode .step-numbers{flex:0 0 15px;margin:0 0 3px 0;}
body.v9-mode .step-numbers,body.v9-mode .grid-row{grid-template-columns:82px repeat(16,minmax(16px,1fr))!important;gap:3px!important;}
body.v9-mode .step-numbers div{font-size:.45rem;}
body.v9-mode .grid{flex:1 1 auto;min-height:0;display:grid!important;grid-template-rows:repeat(8,minmax(32px,1fr));gap:4px;}
body.v9-mode .grid-row{height:auto;min-height:0;margin:0;}
body.v9-mode .rowlabel,body.v9-mode .step{height:100%;min-height:32px;max-height:62px;border-radius:8px;}
body.v9-mode .rowlabel{font-size:.43rem;padding:0 4px;border-left-width:3px;}
body.v9-mode .step{border-width:2px;box-shadow:0 2px 0 #000;}
body.v9-mode .step.on{box-shadow:0 2px 0 #000,0 0 12px color-mix(in srgb,var(--bank-color,#ff3e93) 75%,transparent);}
body.v9-mode .step.playhead{outline:3px solid rgba(255,255,255,.95);outline-offset:1px;}
body.v9-mode .side-panel{min-width:0;overflow:hidden!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto;gap:5px;}
body.v9-mode .side-panel .card{min-width:0;overflow:hidden;padding:6px;border-radius:12px;}
body.v9-mode .preset-line{grid-template-columns:1fr;gap:0;}
body.v9-mode #presetLoad{display:none!important;}
body.v9-mode .preset-line select{width:100%;min-width:0;min-height:30px;font-size:.54rem;padding:0 4px;}
body.v9-mode .compact-twists{gap:4px;}
body.v9-mode .compact-twists button{min-height:27px;font-size:.46rem;border-radius:8px;padding:0 2px;}
body.v9-mode #visualizer{height:48px;max-height:48px;}
body.v9-mode .big-save{min-height:30px;font-size:.50rem;}
body.v9-mode .bottom-brand{height:19px;gap:8px;margin:0;}
body.v9-mode .bottom-brand strong{font-size:.74rem;}
body.v9-mode .bottom-brand span{font-size:.43rem;}
body.v9-mode .toast{bottom:max(26px,env(safe-area-inset-bottom));}

@media (max-height:700px) and (min-width:900px){
  body.v9-mode .app{padding-top:3px;gap:4px;}
  body.v9-mode .v8-top{min-height:32px;}
  body.v9-mode .v8-transport .btn,body.v9-mode .v8-transport .pc-link{min-height:25px;font-size:.52rem;}
  body.v9-mode .v8-knobs label{font-size:.42rem;}
  body.v9-mode .v8-knobs input[type=range]{height:9px;}
  body.v9-mode .compact-workbench{grid-template-columns:minmax(0,1fr) clamp(142px,11vw,166px)!important;gap:5px;}
  body.v9-mode .sequencer-panel{padding:5px;}
  body.v9-mode .top-row{grid-template-columns:minmax(0,1.05fr) minmax(285px,.95fr);gap:4px;margin-bottom:3px;}
  body.v9-mode .bank-buttons button,body.v9-mode .pattern-buttons button{min-height:22px;font-size:.38rem;}
  body.v9-mode .tool-row button{min-height:25px;font-size:.44rem;}
  body.v9-mode .compact-step-scroll,body.v9-mode .step-scroll{padding:5px;}
  body.v9-mode .step-numbers{flex-basis:12px;margin-bottom:2px;}
  body.v9-mode .step-numbers,body.v9-mode .grid-row{grid-template-columns:72px repeat(16,minmax(14px,1fr))!important;gap:2px!important;}
  body.v9-mode .grid{grid-template-rows:repeat(8,minmax(28px,1fr));gap:3px;}
  body.v9-mode .rowlabel,body.v9-mode .step{min-height:28px;}
  body.v9-mode .rowlabel{font-size:.36rem;}
  body.v9-mode .side-panel{gap:4px;}
  body.v9-mode .side-panel .card{padding:5px;}
  body.v9-mode #visualizer{height:36px;max-height:36px;}
  body.v9-mode .bottom-brand{height:16px;}
}

@media (max-width:900px){
  body.v9-mode{overflow:auto;}
  body.v9-mode .app{height:auto;max-height:none;overflow:visible;}
  body.v9-mode .compact-workbench{grid-template-columns:1fr!important;}
  body.v9-mode .side-panel{grid-template-columns:1fr!important;}
  body.v9-mode .v8-top{grid-template-columns:1fr;}
  body.v9-mode .v8-knobs{grid-template-columns:repeat(2,1fr);}
}


/* v10: readable iPad layout + desktop auto variant support */
:root{--v10-version:'v10';}
body.v10-mode .app{gap:6px;padding:6px max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left));}
body.v10-mode .v8-top{min-height:44px;grid-template-columns:minmax(420px,620px) minmax(0,1fr);gap:8px;}
body.v10-mode .v8-transport,body.v10-mode .v8-knobs{padding:5px 6px;border-radius:15px;}
body.v10-mode .v8-transport{grid-template-columns:.9fr .75fr .82fr .86fr .66fr .52fr;gap:6px;}
body.v10-mode .v8-transport .btn,body.v10-mode .v8-transport .pc-link{min-height:34px;border-radius:11px;font-size:.70rem;letter-spacing:.01em;}
body.v10-mode .v8-knobs{grid-template-columns:repeat(5,minmax(64px,1fr));gap:8px;}
body.v10-mode .v8-knobs label{font-size:.58rem;line-height:1.05;}
body.v10-mode .v8-knobs output{font-size:.54rem;padding:1px 6px;}
body.v10-mode .v8-knobs input[type=range]{height:13px;}
body.v10-mode .compact-workbench{grid-template-columns:minmax(0,1fr) clamp(185px,13vw,220px)!important;gap:8px;}
body.v10-mode .sequencer-panel{padding:8px;border-radius:17px;}
body.v10-mode .top-row{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:8px;margin-bottom:6px;align-items:end;}
body.v10-mode .section-title{font-size:.56rem;letter-spacing:.07em;margin-bottom:4px;line-height:1.05;}
body.v10-mode .bank-buttons,body.v10-mode .pattern-buttons{gap:5px;}
body.v10-mode .bank-buttons button{min-height:33px;border-radius:10px;font-size:.57rem;padding:0 4px;}
body.v10-mode .pattern-buttons button{min-height:33px;border-radius:10px;font-size:.70rem;padding:0 4px;}
body.v10-mode .tool-row{gap:8px;margin-bottom:6px;}
body.v10-mode .tool-row button{min-height:37px;border-radius:11px;font-size:.64rem;letter-spacing:.01em;}
body.v10-mode .compact-step-scroll,body.v10-mode .step-scroll{padding:9px;border-radius:16px;margin-top:2px;}
body.v10-mode .step-numbers{flex-basis:18px;margin-bottom:4px;}
body.v10-mode .step-numbers,body.v10-mode .grid-row{grid-template-columns:104px repeat(16,minmax(22px,1fr))!important;gap:5px!important;}
body.v10-mode .step-numbers div{font-size:.56rem;font-weight:1000;}
body.v10-mode .grid{grid-template-rows:repeat(8,minmax(38px,1fr));gap:6px;}
body.v10-mode .rowlabel,body.v10-mode .step{min-height:38px;border-radius:10px;}
body.v10-mode .rowlabel{font-size:.62rem;padding:0 8px;border-left-width:4px;}
body.v10-mode .rowlabel span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.v10-mode .step{border-width:2px;}
body.v10-mode .side-panel{gap:7px;grid-template-rows:auto auto auto auto;}
body.v10-mode .side-panel .card{padding:8px;border-radius:14px;}
body.v10-mode .preset-line select{min-height:34px;font-size:.62rem;}
body.v10-mode .compact-twists{gap:6px;}
body.v10-mode .compact-twists button{min-height:33px;font-size:.57rem;border-radius:10px;}
body.v10-mode #visualizer{height:44px;max-height:44px;}
body.v10-mode .big-save{min-height:34px;font-size:.58rem;}
body.v10-mode .bottom-brand{height:20px;}
body.v10-mode .bottom-brand strong{font-size:.82rem;}.bottom-brand span{font-size:.50rem;}

@media (max-height:720px) and (min-width:900px){
  body.v10-mode .app{padding:4px 7px 3px;gap:5px;}
  body.v10-mode .v8-top{min-height:38px;grid-template-columns:minmax(390px,580px) minmax(0,1fr);gap:6px;}
  body.v10-mode .v8-transport .btn,body.v10-mode .v8-transport .pc-link{min-height:31px;font-size:.62rem;}
  body.v10-mode .v8-knobs label{font-size:.50rem;} body.v10-mode .v8-knobs input[type=range]{height:11px;}
  body.v10-mode .compact-workbench{grid-template-columns:minmax(0,1fr) clamp(168px,12vw,202px)!important;gap:6px;}
  body.v10-mode .sequencer-panel{padding:6px;}
  body.v10-mode .top-row{grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:6px;margin-bottom:4px;}
  body.v10-mode .section-title{font-size:.49rem;margin-bottom:3px;}
  body.v10-mode .bank-buttons button{min-height:29px;font-size:.49rem;}
  body.v10-mode .pattern-buttons button{min-height:29px;font-size:.62rem;}
  body.v10-mode .tool-row{gap:6px;margin-bottom:4px;} body.v10-mode .tool-row button{min-height:31px;font-size:.55rem;}
  body.v10-mode .compact-step-scroll,body.v10-mode .step-scroll{padding:6px;}
  body.v10-mode .step-numbers{flex-basis:14px;margin-bottom:3px;}
  body.v10-mode .step-numbers,body.v10-mode .grid-row{grid-template-columns:94px repeat(16,minmax(18px,1fr))!important;gap:4px!important;}
  body.v10-mode .step-numbers div{font-size:.48rem;}
  body.v10-mode .grid{grid-template-rows:repeat(8,minmax(32px,1fr));gap:4px;}
  body.v10-mode .rowlabel,body.v10-mode .step{min-height:32px;border-radius:8px;}
  body.v10-mode .rowlabel{font-size:.52rem;padding:0 5px;}
  body.v10-mode .side-panel .card{padding:6px;} body.v10-mode #visualizer{height:36px;max-height:36px;}
  body.v10-mode .preset-line select{min-height:30px;font-size:.55rem;} body.v10-mode .compact-twists button{min-height:28px;font-size:.49rem;} body.v10-mode .big-save{min-height:30px;font-size:.50rem;}
  body.v10-mode .bottom-brand{height:17px;}
}

/* v10 desktop polish */
body.v10-pc-mode .app{width:min(1760px,100%);padding:10px 12px 16px;}
body.v10-pc-mode .compact-title{width:min(460px,100%);padding:10px 14px;}
body.v10-pc-mode .compact-title h1{font-size:clamp(1.9rem,2.8vw,3.1rem);}
body.v10-pc-mode .main-grid{grid-template-columns:minmax(320px,380px) minmax(760px,1fr) minmax(300px,350px);gap:14px;}
body.v10-pc-mode .transport .btn{font-size:.78rem;min-height:46px;}
body.v10-pc-mode .bank-buttons button,body.v10-pc-mode .pattern-buttons button{font-size:.68rem;}
body.v10-pc-mode .tool-row button{font-size:.72rem;min-height:38px;}
body.v10-pc-mode .rowlabel{font-size:.58rem;min-width:100px;}
body.v10-pc-mode .step-numbers,body.v10-pc-mode .grid-row{grid-template-columns:minmax(100px,116px) repeat(16,minmax(26px,1fr));gap:5px;}
body.v10-pc-mode .step,body.v10-pc-mode .rowlabel{height:clamp(30px,3.4vh,42px);}

/* v11: more usable space, step numbers inside first step row, clearer spacing */
:root{--v11-version:'v11';}
body.v11-mode .app{padding-top:5px;}
body.v11-mode .v8-top{min-height:38px;grid-template-columns:minmax(410px,590px) minmax(0,1fr);gap:7px;}
body.v11-mode .v8-transport,body.v11-mode .v8-knobs{padding:4px 6px;border-radius:14px;}
body.v11-mode .v8-transport .btn,body.v11-mode .v8-transport .pc-link{min-height:31px;font-size:.66rem;}
body.v11-mode .v8-knobs label{font-size:.52rem;}
body.v11-mode .v8-knobs input[type=range]{height:10px;}
body.v11-mode .compact-workbench{grid-template-columns:minmax(0,1fr) clamp(160px,10.5vw,190px)!important;gap:8px;}
body.v11-mode .top-row{margin-bottom:9px;gap:11px;align-items:end;}
body.v11-mode .section-title{font-size:.58rem;letter-spacing:.08em;margin-bottom:5px;}
body.v11-mode .bank-buttons,body.v11-mode .pattern-buttons{gap:6px;}
body.v11-mode .bank-buttons button,body.v11-mode .pattern-buttons button{min-height:36px;border-radius:11px;}
body.v11-mode .bank-buttons button{font-size:.61rem;}
body.v11-mode .pattern-buttons button{font-size:.78rem;}
body.v11-mode .tool-row{margin:0 0 11px 0;gap:12px;grid-template-columns:1fr 1fr 1fr;}
body.v11-mode .tool-row button{min-height:39px;font-size:.68rem;border-radius:12px;}
body.v11-mode .compact-step-scroll,body.v11-mode .step-scroll{padding:9px 9px 10px;margin-top:0;}
body.v11-mode .step-numbers{display:none!important;height:0!important;margin:0!important;}
body.v11-mode .step-numbers,body.v11-mode .grid-row{grid-template-columns:108px repeat(16,minmax(23px,1fr))!important;gap:5px!important;}
body.v11-mode .grid{grid-template-rows:repeat(8,minmax(42px,1fr));gap:7px;}
body.v11-mode .rowlabel,body.v11-mode .step{min-height:42px;border-radius:11px;}
body.v11-mode .rowlabel{font-size:.67rem;padding:0 8px;}
body.v11-mode .step.top-number{position:relative;}
body.v11-mode .step.top-number::before{content:attr(data-num);position:absolute;top:4px;left:50%;transform:translateX(-50%);font:1000 .66rem var(--mono);color:#aeb8d4;opacity:.9;pointer-events:none;}
body.v11-mode .step.top-number.on::before{color:#10131f;}
body.v11-mode .side-panel{grid-template-rows:auto auto auto auto;gap:6px;}
body.v11-mode .side-panel .card{padding:7px;border-radius:13px;}
body.v11-mode .preset-line select{min-height:33px;font-size:.60rem;}
body.v11-mode .compact-twists button{min-height:31px;font-size:.54rem;}
body.v11-mode #visualizer{height:38px;max-height:38px;}
body.v11-mode .big-save{min-height:32px;font-size:.55rem;}
body.v11-mode .bottom-brand span{font-size:.52rem;}

@media (max-height:720px) and (min-width:900px){
  body.v11-mode .app{gap:4px;padding:4px 6px 2px;}
  body.v11-mode .v8-top{min-height:34px;grid-template-columns:minmax(390px,560px) minmax(0,1fr);gap:5px;}
  body.v11-mode .v8-transport .btn,body.v11-mode .v8-transport .pc-link{min-height:28px;font-size:.58rem;}
  body.v11-mode .v8-knobs label{font-size:.46rem;} body.v11-mode .v8-knobs output{font-size:.46rem;}
  body.v11-mode .compact-workbench{grid-template-columns:minmax(0,1fr) clamp(150px,9.6vw,178px)!important;gap:6px;}
  body.v11-mode .sequencer-panel{padding:6px;}
  body.v11-mode .top-row{gap:9px;margin-bottom:7px;}
  body.v11-mode .bank-buttons,body.v11-mode .pattern-buttons{gap:5px;}
  body.v11-mode .bank-buttons button{min-height:32px;font-size:.53rem;}
  body.v11-mode .pattern-buttons button{min-height:32px;font-size:.70rem;}
  body.v11-mode .tool-row{gap:10px;margin-bottom:8px;}
  body.v11-mode .tool-row button{min-height:34px;font-size:.59rem;}
  body.v11-mode .compact-step-scroll,body.v11-mode .step-scroll{padding:7px;}
  body.v11-mode .step-numbers,body.v11-mode .grid-row{grid-template-columns:100px repeat(16,minmax(19px,1fr))!important;gap:4px!important;}
  body.v11-mode .grid{grid-template-rows:repeat(8,minmax(36px,1fr));gap:5px;}
  body.v11-mode .rowlabel,body.v11-mode .step{min-height:36px;border-radius:9px;}
  body.v11-mode .rowlabel{font-size:.58rem;}
  body.v11-mode .step.top-number::before{font-size:.56rem;top:3px;}
  body.v11-mode #visualizer{height:32px;max-height:32px;}
  body.v11-mode .side-panel .card{padding:5px;}
}

/* PC v11: visible switch back to iPad version */
body.v11-pc-mode .transport{grid-template-columns:1fr 1fr 1fr 1.25fr .9fr .75fr;}
body.v11-pc-mode .ipad-switch{background:linear-gradient(180deg,#eaf1ff,#cbd5e1);color:#080a10;text-decoration:none;display:flex;align-items:center;justify-content:center;}
body.v11-pc-mode .step-numbers{display:none!important;}
body.v11-pc-mode .step.top-number{position:relative;}
body.v11-pc-mode .step.top-number::before{content:attr(data-num);position:absolute;top:4px;left:50%;transform:translateX(-50%);font:1000 .62rem var(--mono);color:#aeb8d4;}
body.v11-pc-mode .step.top-number.on::before{color:#10131f;}
