/* Studio extension: a quiet timeline underneath the instrument. */
#instrument{max-width:1640px}.workspace{grid-template-columns:minmax(0,1fr) 248px;gap:28px}.sequence-tools{gap:10px}.grid-resolution{display:flex;align-items:center;gap:7px;font:11px 'Courier New',monospace;color:var(--muted)}.grid-resolution select{font-size:12px;min-height:28px;padding:3px 19px 3px 7px}.voice-name{font-size:14px}.voice-name small{font-size:10px}.voice-pad{font-size:12px}.sequence-footer{font-size:10px}.offgrid-mark{width:4px;height:4px;background:#161611;position:absolute;bottom:8px;right:4px;border-radius:50%}.step-meta{font-size:10px!important}.micro-editor{border-top:1px solid #636357;padding:15px 0 4px}.micro-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font:12px 'Courier New',monospace;color:var(--orange)}.micro-title>div{display:flex;gap:16px;color:var(--cream)}.micro-tools{display:flex;align-items:center;gap:15px;margin:15px 0 18px}.micro-tools>label{font:10px 'Courier New',monospace;display:flex;gap:9px;align-items:center;color:var(--muted)}.micro-tools select{min-height:30px;padding:4px 17px 4px 6px}.micro-tools>#openVoice{margin-left:auto;font-size:10px}#microSteps{display:flex;gap:4px;flex:1;max-width:300px}#microSteps button{min-width:0;flex:1;height:29px;border:1px solid #58584e;border-radius:1px;color:var(--muted);font:11px 'Courier New',monospace;padding:0}#microSteps button.on{background:var(--cream);color:var(--bg)}#microSteps button.selected{outline:1px solid var(--orange);outline-offset:2px}.step-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 23px}.step-control>span{font-size:10px}.step-control select{font-size:11px}.mutation-options{border-top:1px solid var(--line);margin-top:20px;padding-top:14px;display:grid;gap:12px}.mutation-options label{font:10px 'Courier New',monospace;color:var(--muted);display:flex;align-items:center;gap:10px}.mutation-options select{font-size:11px;min-height:29px;flex:1;min-width:0}.mutation-options input{width:100%;flex:1}.mutation-options output{min-width:26px;color:var(--cream)}.performance-buttons{margin-top:13px}.performance .scope-wrap{margin-top:15px}.performance .scope-wrap canvas{height:45px}.automation{border-top:1px solid #727263;margin-top:30px;padding:20px 0 0}.automation-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.automation-heading .section-label{font-size:13px}.automation-heading #automationVoice{color:var(--orange);margin-left:13px}.auto-actions{display:flex;align-items:center;gap:22px}.auto-actions .small-button{font-size:11px;min-height:29px;padding:6px 10px}.automation-row{display:grid;grid-template-columns:142px minmax(0,1fr) 48px;gap:14px;align-items:center;border-bottom:1px solid #292923;padding:6px 0}.auto-label{display:flex;flex-direction:column;gap:6px}.auto-label>select{font-size:12px;min-height:29px;background:transparent;border-color:transparent;padding-left:0}.auto-label>div{display:flex;align-items:center;justify-content:space-between}.auto-label>div select{font-size:10px;min-height:24px;padding:2px 21px 2px 6px}.auto-label button{font-size:20px;color:var(--muted);padding:0 6px}.auto-svg{width:100%;height:72px;display:block;touch-action:none;cursor:crosshair;background:#10100e}.auto-svg line{stroke:#34342c;stroke-width:.7;vector-effect:non-scaling-stroke}.auto-svg line.major{stroke:#686859}.auto-svg path{fill:none;stroke:#6d6d5f;stroke-width:1.4;vector-effect:non-scaling-stroke}.auto-svg path.written{stroke:var(--cream)}.auto-svg circle{fill:var(--orange)}.auto-svg .auto-playhead{stroke:var(--orange);stroke-width:1.5}.automation-row>output{font:10px 'Courier New',monospace;text-align:right;color:var(--orange)}.automation-footer{font:10px 'Courier New',monospace;color:var(--muted);display:flex;justify-content:space-between;gap:20px;line-height:1.5;padding:13px 0 0}.master-rack{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.rack-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.rack-heading>span,.sculpt-heading>span{font:10px 'Courier New',monospace;color:var(--muted);letter-spacing:.05em}.sculpt-range{display:flex;flex-direction:column;gap:9px;margin:0;min-width:0}.sculpt-range>span{font:11px 'Courier New',monospace;letter-spacing:.025em;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.sculpt-range output{color:var(--cream);font-variant-numeric:tabular-nums}.sculpt-range input{width:100%;margin:2px 0 5px;height:3px}.master{margin-top:26px}.voice-dialog{width:calc(100% - 44px);max-width:1120px;max-height:calc(100dvh - 44px);padding:0;overflow:auto;overscroll-behavior:contain}.voice-header{position:sticky;top:0;background:#11110ffa;backdrop-filter:blur(10px);border-bottom:1px solid #747464;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 29px;z-index:2}.voice-header h2{font-size:34px;margin-top:6px}.voice-header-actions{display:flex;gap:8px;align-items:center}.voice-header-actions .icon-button{font-size:27px;margin-left:9px}.voice-header-actions button[aria-pressed=true]{color:var(--orange);border-color:var(--orange)}#voicePanelBody{padding:23px 29px 30px}.voice-sequence{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}.voice-sequence label{display:flex;flex-direction:column;gap:8px;font:11px 'Courier New',monospace;color:var(--muted)}.voice-sequence label:first-child{margin-right:auto}.voice-sequence select{font-size:12px}.voice-sequence input[type=number]{font:15px 'Courier New',monospace;min-height:34px;border:1px solid var(--line);width:64px}.sculpt-section{margin-top:25px}.sculpt-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.sculpt-heading h3{font:13px 'Courier New',monospace;letter-spacing:.1em;color:var(--orange);font-weight:400;margin:0}.sculpt-heading>div{display:flex;gap:15px}.sculpt-heading label{display:flex;align-items:center;gap:9px;font:11px 'Courier New',monospace;color:var(--muted)}.sculpt-heading select{font-size:11px;min-height:30px}.sculpt-parameters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px 34px;padding-bottom:24px;border-bottom:1px solid var(--line)}.mod-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.mod-card{border:1px solid #45453b;background:#0e0e0c;border-radius:2px;padding:17px 18px}.mod-card h4{font:12px 'Courier New',monospace;letter-spacing:.08em;font-weight:400;margin:0 0 12px}.mod-graph svg{width:100%;height:62px;display:block;background:repeating-linear-gradient(90deg,transparent,transparent calc(25% - 1px),#292921 calc(25% - 1px),#292921 25%)}.mod-graph path{fill:none;stroke:var(--orange);stroke-width:1.5;vector-effect:non-scaling-stroke}.env-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.env-controls .sculpt-range>span{font-size:10px}.env-controls .sculpt-range:last-child{grid-column:1/-1}.lfo-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.lfo-selects{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:17px 0}.lfo-selects select{font-size:11px;min-width:0}.lfo-ranges{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.cross-labels,.cross-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:16px;align-items:center}.cross-labels{font:10px 'Courier New',monospace;color:var(--muted);margin-bottom:10px}.cross-row{padding:8px 0;border-bottom:1px solid #292922}.cross-row .sculpt-range>span{font-size:10px}.cross-row select{font-size:12px}
@media(max-width:1180px){.workspace{grid-template-columns:minmax(0,1fr) 221px;gap:23px}.voice-name{font-size:12px}.voice-name small{font-size:9px}.sequence-tools{gap:8px}.sequence-tools #liveRecord{margin-right:0;font-size:10px}.grid-resolution{font-size:10px}.grid-resolution select{font-size:11px}.micro-tools{gap:9px}.micro-tools>#openVoice{font-size:9px}.step-controls{gap:14px}.mutation-options select{font-size:10px}.automation-row{grid-template-columns:126px minmax(0,1fr) 42px;gap:12px}.sculpt-parameters{column-gap:26px}.voice-header-actions .small-button{font-size:10px;padding:9px}}
@media(max-width:930px){.workspace{grid-template-columns:minmax(0,1fr) 195px;gap:18px}.sequence .section-label{font-size:10px}.sequence-tools{gap:5px}.sequence-tools #liveRecord{font-size:9px}.grid-resolution{font-size:0}.grid-resolution select{font-size:11px;padding-right:14px}.micro-tools>#openVoice{font-size:9px;max-width:50px;white-space:normal;text-align:right;line-height:1.4}.micro-tools>label{font-size:9px;gap:4px}.micro-title{font-size:11px}.micro-title .text-button{font-size:10px}.step-controls{gap:13px 14px}.step-control>span{font-size:9px}.mutation-options label{font-size:9px;gap:6px}.mutation-options select{font-size:9px;padding-left:5px}.automation-heading .section-label{font-size:12px}.automation-row{grid-template-columns:111px minmax(0,1fr) 37px;gap:10px}.mod-card{padding:13px}.env-controls{gap:13px 10px}.sculpt-heading label{font-size:10px;gap:6px}.sculpt-heading select{font-size:10px}.voice-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 28px)}#voicePanelBody{padding:20px}.voice-header{padding:20px}.voice-header h2{font-size:30px}.cross-labels,.cross-row{gap:10px}.cross-row select{font-size:11px}.lfo-ranges{gap:13px}}
@media(max-width:720px){.workspace{display:block}.sequence .section-label{font-size:11px}.sequence-tools{gap:8px}.sequence-tools #liveRecord{font-size:10px}.micro-editor{padding-top:12px}.micro-tools{gap:9px;margin-bottom:20px}.micro-tools>label{font-size:10px;flex-direction:column;gap:5px}.micro-tools>#openVoice{font-size:10px;max-width:70px}.step-control>span{font-size:10px}.step-controls{gap:16px 14px}.sequence-footer{font-size:9px}.performance{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;row-gap:0;grid-template-areas:'heading heading' 'top top' 'field mutation' 'field buttons' 'field holds' 'bottom snapshot' 'scope scope';margin-top:25px;padding-top:20px}.performance .section-heading{grid-area:heading}.performance .field-top{grid-area:top;width:calc(50% - 10px)}.performance #field{grid-area:field;align-self:start}.performance .field-bottom{grid-area:bottom;align-self:start}.performance .mutation-options{grid-area:mutation;margin:0;padding:0;border:0;align-self:start;gap:10px}.performance .mutation-options label{font-size:9px;flex-wrap:wrap}.performance .mutation-options select{width:100%;flex-basis:100%;font-size:10px}.performance .performance-buttons{grid-area:buttons;align-self:center;height:34px;margin:8px 0}.performance .hold-buttons{grid-area:holds;align-self:start;height:32px;flex-direction:row;margin:0}.performance .snapshot{grid-area:snapshot;align-self:start;padding:8px 0;gap:8px}.performance .scope-wrap{grid-area:scope;margin-top:8px}.performance .scope-wrap canvas{height:34px}.performance .scope-wrap>div{font-size:9px;display:flex}.automation{margin-top:24px}.automation-heading{flex-wrap:wrap;gap:13px}.automation-heading .section-label{font-size:12px}.automation-heading #automationVoice{margin-left:5px}.auto-actions{gap:16px}.auto-actions .text-button{font-size:10px}.auto-actions .small-button{font-size:10px;min-height:27px}.automation-row{grid-template-columns:92px minmax(0,1fr) 28px;gap:8px}.auto-label>select{font-size:11px}.auto-label>div select{font-size:9px;padding-left:4px;padding-right:16px}.auto-label button{font-size:18px;padding:0 3px}.auto-svg{height:67px}.automation-row>output{font-size:8px}.automation-footer{font-size:9px;gap:10px}.automation-footer>span:last-child{display:none}.rack-heading .section-label{font-size:11px}.rack-heading>span{font-size:9px}.master-rack{margin-top:22px}.voice-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.voice-header{padding:17px;gap:13px;align-items:flex-start;flex-wrap:wrap}.voice-header h2{font-size:29px}.voice-header>.voice-header-actions{gap:6px}.voice-header-actions .small-button{font-size:9px;padding:8px;min-height:31px}.voice-header-actions .icon-button{position:absolute;right:13px;top:19px;margin:0}.voice-header-actions{width:100%}#voicePanelBody{padding:17px}.voice-sequence{gap:13px}.voice-sequence label:first-child{width:100%;margin:0}.voice-sequence label{font-size:10px;gap:6px;min-width:0}.voice-sequence select{font-size:10px;padding-left:6px}.voice-sequence input[type=number]{width:54px}.sculpt-heading{align-items:flex-start;gap:14px;flex-wrap:wrap}.sculpt-heading h3{font-size:12px}.sculpt-heading>div{gap:12px;width:100%}.sculpt-parameters{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.sculpt-range>span{font-size:11px}.mod-cards{grid-template-columns:1fr}.mod-card{padding:17px}.env-controls{grid-template-columns:repeat(3,1fr);gap:17px 15px}.env-controls .sculpt-range:last-child{grid-column:auto}.env-controls .sculpt-range>span{font-size:10px}.mod-graph svg{height:65px}.lfo-cards{grid-template-columns:1fr}.cross-labels{font-size:8px;gap:7px}.cross-row{gap:7px;grid-template-columns:1fr 1fr 1fr .8fr}.cross-row select{font-size:9px;padding:4px 15px 4px 5px}.cross-row .sculpt-range>span{font-size:9px}.cross-row .sculpt-range>span{font-size:0}.cross-row .sculpt-range output{font-size:10px}.sculpt-section{margin-top:28px}}
@media(max-width:390px){.step-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.sequence-tools{gap:6px}.micro-title{font-size:10px}.micro-title .text-button{font-size:9px}.micro-title>div{gap:12px}.performance .performance-buttons button{font-size:9px}.performance .hold-buttons button{font-size:8px}.performance{column-gap:14px}.performance .field-top{width:calc(50% - 7px)}.performance .snapshot{flex-wrap:wrap}.voice-header-actions .small-button{font-size:8px}.cross-row select{font-size:8px}.sculpt-heading h3{font-size:11px}.automation-row{grid-template-columns:85px minmax(0,1fr) 24px;gap:7px}}

.auto-svg .lfo-curve{stroke:var(--orange);stroke-width:1;stroke-dasharray:3 3;opacity:.65}.auto-actions{flex-wrap:wrap}@media(max-width:720px){.auto-actions{gap:14px}.automation-heading{gap:12px}}
/* Clear tempo control; native number spinners no longer cover the BPM value. */
.tempo-slider{display:flex;align-items:center;gap:13px;flex:0 0 auto;min-width:0}.tempo-readout{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.tempo-readout output{font:28px/1 Arial,sans-serif;font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.tempo-readout>span{font:11px 'Courier New',monospace;color:var(--muted)}.tempo-slider input[type=range]{width:100px;margin:0;height:20px;accent-color:var(--orange);flex-shrink:0}.transport{flex-wrap:wrap;row-gap:17px}.preset-area{min-width:0}.titlebar>div:first-child{min-width:0}h1{overflow-wrap:normal}.voice-sequence>label{min-width:0}.voice-sequence select{max-width:100%;width:100%;line-height:1.4;padding-block:8px;min-height:36px}.voice-sequence label:first-child{min-width:190px}.sculpt-media{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:20px;margin-top:22px}.portrait-panel{position:relative;min-width:0;border:1px solid #44443a;border-radius:2px;background:radial-gradient(ellipse at 50% 50%,#19150f,#0c0c0a 74%);overflow:hidden}.portrait-top,.portrait-bottom{position:absolute;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:1;pointer-events:none;font:10px 'Courier New',monospace;letter-spacing:.08em}.portrait-top{top:14px;color:var(--cream)}.portrait-top>span:last-child{font-size:9px;color:var(--orange)}.portrait-bottom{bottom:10px;font-size:8px;color:var(--muted);letter-spacing:.035em}.portrait-bottom button{pointer-events:auto;font-size:9px}.portrait-bottom button[aria-pressed=true]{color:var(--orange)}#soundPortrait{display:block;width:100%;height:290px;touch-action:none;cursor:grab}#soundPortrait:active{cursor:grabbing}.sample-loader{border:1px solid #45453b;min-width:0;border-radius:2px;padding:16px;display:flex;flex-direction:column;transition:border-color .15s,background .15s}.sample-loader.sample-active{border-color:#94603e}.sample-loader.dragging{border-color:var(--orange);background:#ff571d12}.sample-heading{display:flex;justify-content:space-between;gap:12px;font:10px 'Courier New',monospace;letter-spacing:.05em}.sample-heading>span:last-child{color:var(--muted);font-size:9px}.sample-body{position:relative;display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;text-align:center;padding-top:20px}.sample-symbol{display:flex;align-items:center;justify-content:center;height:28px;gap:4px;margin-bottom:15px;color:var(--orange)}.sample-symbol i{width:2px;height:9px;background:currentColor}.sample-symbol i:nth-child(2),.sample-symbol i:nth-child(6){height:17px}.sample-symbol i:nth-child(3),.sample-symbol i:nth-child(5){height:24px}.sample-symbol i:nth-child(4){height:12px}.sample-body strong{font:12px/1.4 'Courier New',monospace;max-width:100%;overflow-wrap:anywhere}.sample-body>span{font:10px/1.5 'Courier New',monospace;color:var(--muted);margin-top:6px}.sample-body .orange-button{flex:none;width:100%;margin-top:18px;min-height:37px;font-size:11px}.sample-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.sample-body>.text-button{font-size:9px;margin-top:8px}.sample-loader>p{font:10px/1.5 'Courier New',monospace;color:#c7c3b6;margin:13px 0 10px;min-height:30px}.sample-limit{font:8px/1.5 'Courier New',monospace;color:var(--muted);border-top:1px solid #32322a;padding-top:9px}.voice-dialog{scrollbar-gutter:stable}.voice-header-actions{flex-wrap:wrap;justify-content:flex-end}.voice-header-actions .icon-button{flex-shrink:0}
@media(max-width:1180px){.tempo-slider{gap:10px}.tempo-slider input[type=range]{width:83px}.transport{gap:15px}.sculpt-media{grid-template-columns:minmax(0,1fr) 230px;gap:17px}.portrait-bottom{font-size:7px;gap:8px}.portrait-bottom button{font-size:8px}}
@media(max-width:930px){.tempo-slider input[type=range]{width:100px}.transport .preset-area{margin-left:auto}.sculpt-media{grid-template-columns:minmax(0,1fr) 215px;gap:14px}.sample-loader{padding:13px}.portrait-top{font-size:9px}.portrait-top>span:last-child{font-size:8px}.portrait-bottom>span{max-width:120px;line-height:1.5}#soundPortrait{height:294px}}
@media(max-width:720px){.tempo-slider{flex:1;gap:12px;max-width:calc(100% - 58px)}.tempo-slider input[type=range]{width:auto;flex:1;min-width:60px}.tempo-readout output{font-size:27px}.transport .inline-control{margin-left:0;flex:1}.transport .bank-area{order:0}.transport .preset-area{order:1;width:100%;margin-left:0}.transport .preset-area .micro{display:block;font-size:10px}.transport .preset-area select{flex:1;min-width:0}.titlebar h1{font-size:clamp(30px,8.8vw,40px)}.sculpt-media{grid-template-columns:minmax(0,1fr);gap:13px;margin-top:18px}#soundPortrait{height:265px}.portrait-top{font-size:10px}.portrait-top>span:last-child{font-size:9px}.portrait-bottom{font-size:8px}.portrait-bottom>span{max-width:160px}.portrait-bottom button{font-size:9px}.sample-loader{padding:14px}.sample-body{display:grid;grid-template-columns:1fr auto;gap:6px 14px;text-align:left;align-items:center;padding-top:16px}.sample-symbol{display:none}.sample-body strong{grid-column:1;grid-row:1;font-size:12px}.sample-body>span{grid-column:1;grid-row:2;margin-top:0}.sample-body .orange-button{grid-column:2;grid-row:1/3;width:auto;margin:0;padding:10px;min-height:40px;font-size:10px}.sample-body>.text-button{grid-column:1/-1;justify-self:start;font-size:9px}.sample-loader>p{min-height:0;margin:12px 0}.sample-limit{font-size:8px}.voice-sequence label:first-child{width:100%;min-width:0}.voice-header-actions{justify-content:flex-start;padding-right:0}.voice-header h2{padding-right:35px}}
/* A time-aligned waveform and mirrored spectral field share one 3D view. */
#soundPortrait{height:330px}.portrait-panel{padding-bottom:38px}.portrait-bottom{bottom:49px}.portrait-timeline{position:absolute;left:16px;right:16px;bottom:12px;display:flex;align-items:center;gap:12px;border-top:1px solid #303027;padding-top:10px;font:9px 'Courier New',monospace;color:var(--muted)}.portrait-timeline input{flex:1;min-width:35px;height:10px;accent-color:var(--orange);margin:0}.portrait-timeline output{color:#c6b4a1;white-space:nowrap;font-size:9px;text-align:right;min-width:106px}.portrait-timeline label{font-size:8px}.portrait-top>span:last-child{white-space:nowrap}
@media(max-width:720px){#soundPortrait{height:290px}.portrait-timeline{gap:8px;left:14px;right:14px}.portrait-timeline output{min-width:94px;font-size:8px}.portrait-bottom{font-size:7px}.portrait-bottom>span{max-width:none}.portrait-bottom button{font-size:8px}}
/* Effect-specific controls, response diagrams and measured signal feedback. */

/* Resolution subdivides a fixed musical window; it does not create extra pages. */
html[data-grid="32"] .steps{gap:0}html[data-grid="32"] .step.half-start{margin-left:2px;border-radius:2px 0 0 2px;border-right-style:dashed;border-right-color:#777367}html[data-grid="32"] .step.half-end{margin-right:2px;border-radius:0 2px 2px 0;border-left:0}html[data-grid="32"] .step-meta{font-size:8px!important}.step.last-step{box-shadow:inset -2px 0 #ff571d}.step.inactive{opacity:.24}.voice-stack{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px;padding-block:8px}.voice-stack .voice-name{width:100%;font-size:12px}.voice-stack .voice-name small{display:inline;font-size:8px;margin-left:5px}.track-end{display:flex;align-items:center;gap:4px;font:8px 'Courier New',monospace;color:#a29e8f}.track-end select{font:9px 'Courier New',monospace;width:44px;min-height:21px;padding:1px 12px 1px 3px;background-color:#131310;border-color:#34342b}.sequence-length-controls{display:flex;align-items:center;gap:15px;margin:-2px 0 19px;font:9px 'Courier New',monospace;color:var(--muted)}.sequence-length-controls>label{display:flex;align-items:center;gap:7px}.sequence-length-controls select{width:53px;min-height:28px;padding:3px 15px 3px 6px;font:11px 'Courier New',monospace}.sequence-length-controls .small-button{font-size:9px;min-height:28px;padding:5px 10px}.sequence-length-controls .small-button.active{border-color:var(--orange);color:var(--orange);background:#ff571d0c}#loopStatus{font-size:8px;margin-left:auto}.sequence-tools #pageLabel{min-width:45px;text-align:center}
@media(max-width:720px){.voice-stack .voice-name{font-size:10px}.voice-stack .voice-name small{display:none}.track-end{font-size:7px;gap:3px}.track-end select{width:39px;font-size:8px}.sequence-length-controls{gap:10px}.sequence-length-controls>label{gap:5px;font-size:8px}#loopStatus{max-width:87px;text-align:right;line-height:1.5}html[data-grid="32"] .step .velocity{left:2px;right:2px}html[data-grid="32"] .step.half-start{margin-left:1px}html[data-grid="32"] .step.half-end{margin-right:1px}}
/* Keep two-digit ends readable without stealing width from the step grid. */
.track-controls{display:grid;grid-template-columns:24px minmax(0,1fr) 14px 14px;grid-template-rows:auto auto;gap:3px 4px;padding-block:5px}.voice-stack{display:contents}.track-controls .voice-pad{grid-column:1;grid-row:1/3}.track-controls .voice-name{grid-column:2;grid-row:1;padding:0;text-align:left}.track-controls .track-mute{grid-column:3;grid-row:1}.track-controls .track-solo{grid-column:4;grid-row:1}.track-end{grid-column:2/5;grid-row:2;gap:5px}.track-end select{width:52px;min-width:52px;flex:0 0 52px;padding-right:2px}
@media(max-width:720px){.track-controls{grid-template-columns:20px minmax(0,1fr) 12px 12px;column-gap:3px}.track-end{gap:3px}.track-end select{min-width:44px;width:44px;flex-basis:44px}.track-controls .voice-pad{width:20px}.track-controls .voice-name{font-size:9px}}

/* Sound portrait: a shared time axis for audio and its control envelopes. */
.portrait-panel{padding-bottom:0;background:radial-gradient(ellipse at 45% 35%,#151915,#0c0c0a 76%)}
.portrait-viewport{position:relative;min-width:0}#soundPortrait{height:360px}
.portrait-top{font-size:11px}.portrait-top>span:last-child{font-size:10px}
.portrait-bottom{left:16px;right:16px;bottom:8px;font-size:9px;gap:8px}.portrait-bottom>span{max-width:none;font-size:9px;letter-spacing:0}
.portrait-view-controls{display:flex;align-items:center;gap:5px;pointer-events:auto;flex-shrink:0}
.portrait-view-controls button{border:1px solid #3c3f34;background:#11130f;color:#cccbbd;min-width:26px;height:27px;padding:2px 6px;font:12px 'Courier New',monospace}
@media(hover:hover){.portrait-view-controls button:hover{border-color:#94947a;color:#f0ead7}}.portrait-view-controls button:disabled{opacity:.3}
.portrait-view-controls output{min-width:37px;text-align:center;color:#c9cabc;font:11px 'Courier New',monospace}
.portrait-view-controls #portraitFit{font-size:10px;margin-left:1px}.portrait-view-controls #portraitHold{font-size:9px;margin-left:3px;padding:2px 6px;border-color:transparent;background:transparent}
.portrait-workbench{border-top:1px solid #36382e;padding:12px 16px 11px;min-width:0;background:#10120fe6}
.portrait-modes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.portrait-modes button{font:11px 'Courier New',monospace;letter-spacing:.04em;color:#b3b4a7;border:1px solid #35392e;border-radius:2px;min-height:32px;padding:5px 2px;background:transparent}
@media(hover:hover){.portrait-modes button:hover{background:#21251d}}.portrait-modes button[aria-pressed=true]{color:#f2ebd6;background:#23271e;border-color:#94977d}
.portrait-modes [data-portrait-mode=amp][aria-pressed=true]{color:#f4dfac;border-color:#a69267;background:#f4dfac0b}
.portrait-modes [data-portrait-mode=pitch][aria-pressed=true]{color:#bea7df;border-color:#857099;background:#bea7df0c}
.portrait-modes [data-portrait-mode=filter][aria-pressed=true]{color:#70c7ba;border-color:#4a8b80;background:#70c7ba0c}
.portrait-envelope-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:14px 0 4px;min-height:74px;--env-color:#f4dfac}
.portrait-envelope-controls[data-envelope=pitch]{--env-color:#bea7df}.portrait-envelope-controls[data-envelope=filter]{--env-color:#70c7ba}
.portrait-envelope-controls>label{display:flex;min-width:0;flex-direction:column;gap:7px;font:10px 'Courier New',monospace;color:#c1c2b5}
.portrait-envelope-controls input{width:100%;min-width:0;accent-color:var(--env-color);height:14px;margin:0}.portrait-envelope-controls output{color:var(--env-color);font-size:11px;white-space:nowrap}
.portrait-envelope-caption{color:#898e7c;font:9px/1.5 'Courier New',monospace;min-height:14px;padding-top:4px}
.portrait-timeline{position:static;display:flex;gap:12px;padding:25px 0 8px;min-height:74px;border:0;font-size:11px}.portrait-timeline label{font-size:10px}.portrait-timeline input{height:16px}.portrait-timeline output{font-size:10px;min-width:110px}
.portrait-all-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 6px;align-content:center;min-height:74px;font:10px 'Courier New',monospace}.portrait-all-legend span:before{content:'';display:inline-block;width:8px;height:2px;background:currentColor;margin:0 5px 3px 0}.env-amp{color:#f4dfac}.env-pitch{color:#bea7df}.env-filter{color:#70c7ba}.portrait-all-legend small{grid-column:1/-1;color:#939a88;font-size:9px;line-height:1.5}
.portrait-workbench [hidden]{display:none!important}
@media(max-width:1180px){.portrait-bottom>span{display:none}.portrait-bottom{justify-content:flex-end}#soundPortrait{height:345px}}
@media(max-width:720px){#soundPortrait{height:330px}.portrait-top{font-size:10px}.portrait-workbench{padding:11px 12px 10px}.portrait-modes{gap:4px}.portrait-modes button{font-size:10px;min-height:34px}.portrait-envelope-controls{gap:7px}.portrait-envelope-controls>label{font-size:9px}.portrait-envelope-controls output{font-size:10px}.portrait-envelope-controls input{height:20px}.portrait-bottom{left:12px;right:12px}.portrait-view-controls{gap:6px}.portrait-view-controls button{height:28px;min-width:28px}.portrait-all-legend{font-size:9px}.portrait-timeline{gap:8px}.portrait-timeline output{min-width:102px;font-size:9px}}

.tone-character{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.tone-character>label{display:flex;flex-direction:column;gap:8px;font:10px 'Courier New',monospace;letter-spacing:.06em;color:var(--orange)}.tone-character select{width:100%;min-width:0;font:12px 'Courier New',monospace;min-height:36px}.tone-character p{margin:0 0 7px;font:12px/1.5 'Courier New',monospace;color:var(--cream)}.tone-character>div>span{font:10px/1.5 'Courier New',monospace;color:var(--muted)}
@media(max-width:720px){.tone-character{grid-template-columns:minmax(0,1fr);gap:12px}.tone-character p{font-size:11px}}

/* Fine time stays inside the same bar; the detail strip supplies larger targets. */
.fine-grid .steps,.fine-grid #stepNumbers{gap:0!important}
.fine-grid .step{min-width:0;border-radius:0;border-left:0;border-right:1px solid #34342c;padding:0}
.fine-grid .step.fine-start{border-left:1px solid #93907e}
.fine-grid .step.active{border-right-color:#777365}
.ultra-grid .step-meta,.ultra-grid .offgrid-mark,.ultra-grid .step-hint{display:none}
.ultra-grid .step.selected{outline-offset:-1px;z-index:1}
#tripletHints{margin-left:auto;font-size:12px;color:var(--muted)}
#tripletHints[aria-pressed=true]{color:var(--cream)}
.step-hint{position:absolute;right:2px;top:2px;z-index:2;font:12px 'Courier New',monospace;color:var(--bg);border:1px solid currentColor;border-radius:2px;line-height:12px;width:12px;height:14px}
.step-hint.applied{background:var(--orange);border-color:var(--orange)}
#microSteps{max-width:none;flex-wrap:wrap}#microSteps button{min-width:18px;min-height:34px}
.roll-editor{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.rhythm-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;font:13px 'Courier New',monospace;letter-spacing:.04em;margin-bottom:17px}
.rhythm-heading>span{color:var(--cream)}.rhythm-heading output,.timing-voice{color:var(--orange);margin-left:12px;font-size:12px}
.rhythm-heading .text-button{font-size:12px}
.roll-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:15px}
.roll-toolbar label,.timing-controls label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font:12px 'Courier New',monospace;min-width:0}
.roll-toolbar select,.timing-controls select{font-size:12px;width:100%;min-width:0;min-height:34px}
.roll-spacing{display:flex;align-items:center;gap:12px;margin:19px 0;font:12px 'Courier New',monospace;color:var(--muted)}
.roll-spacing label{white-space:nowrap;color:var(--cream)}.roll-spacing label output{color:var(--orange);margin-left:7px}.roll-spacing input{flex:1;min-width:35px}.roll-spacing>span{font-size:11px;white-space:nowrap}
.roll-curves{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.roll-curve{min-width:0}.roll-curve>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font:12px 'Courier New',monospace;color:var(--muted)}
.roll-curve select{font-size:11px;min-height:26px;padding:2px 19px 2px 5px;max-width:100px}
.roll-curve svg{width:100%;height:92px;background:#0d0d0b;touch-action:none;cursor:crosshair;display:block;border:1px solid #37372e}
.roll-curve path{fill:none;stroke:var(--cream);stroke-width:1.5;vector-effect:non-scaling-stroke}
.roll-curve.pitch path{stroke:#ab9bc7}.curve-handle{fill:var(--cream);stroke:#11110e;stroke-width:1.5;vector-effect:non-scaling-stroke}.pitch .curve-handle{fill:#ab9bc7}
.curve-zero{stroke:#676254;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.roll-hit{stroke:#bb6c40;stroke-width:2;opacity:.55;vector-effect:non-scaling-stroke}.roll-hit-dot{fill:var(--orange)}
.curve-caption{display:flex;justify-content:space-between;gap:8px;font:11px 'Courier New',monospace;color:var(--muted);margin-top:7px}.curve-caption output{color:var(--cream);white-space:nowrap}
.rhythm-help{font:12px/1.6 'Courier New',monospace;color:var(--muted);margin-top:13px}
.triplet-suggestion{display:flex;gap:12px;align-items:center;margin-top:16px;border-top:1px solid var(--line);padding-top:13px}
.triplet-badge{font:17px 'Courier New',monospace;color:var(--orange);border:1px solid var(--orange);border-radius:2px;line-height:22px;width:24px;text-align:center;flex-shrink:0}
.triplet-suggestion p{margin:0;flex:1;font:13px/1.5 'Courier New',monospace}.triplet-suggestion small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.triplet-suggestion button{font-size:12px;flex-shrink:0}
.timing-editor{padding:2px 0 23px;margin-bottom:15px;border-bottom:1px solid #57574b}.timing-controls{display:grid;grid-template-columns:1fr 1.2fr .8fr 1.2fr 1fr 1.3fr;gap:20px;align-items:start}
.timing-controls label{position:relative}.timing-controls label>output{position:absolute;right:0;top:0;color:var(--cream)}.timing-controls input[type=range]{width:100%;height:4px;margin:22px 0 0}
.timing-controls input:disabled,.timing-controls select:disabled{opacity:.35}
.timing-graph{margin-top:22px}.timing-graph svg{display:block;width:100%;height:112px;touch-action:none;cursor:crosshair;background:#0d0d0b;border:1px solid #37372e}
.timing-graph line{stroke:#33352f;stroke-width:1;vector-effect:non-scaling-stroke}.timing-graph .timing-zero{stroke:#777362;stroke-dasharray:3 4}.timing-graph path{fill:none;stroke:#79b8ac;stroke-width:2;vector-effect:non-scaling-stroke}.timing-graph circle{fill:#a8d0be}.timing-graph text{fill:#8b8b79;font:10px 'Courier New',monospace}.timing-graph #timingPlayhead{stroke:var(--orange);stroke-width:1.5}
.timing-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font:12px 'Courier New',monospace;color:var(--muted);margin-top:12px;flex-wrap:wrap}.timing-footer label{display:flex;gap:7px;align-items:center}.timing-footer input{accent-color:var(--orange);margin:0}.timing-footer output{color:#a8d0be}
@media(max-width:1050px){.timing-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.roll-toolbar{grid-template-columns:1fr 1fr}.roll-toolbar label:first-child{grid-column:1/-1}.roll-curves{gap:12px}.roll-curve>div:first-child{align-items:flex-start;flex-direction:column;gap:5px}.roll-spacing{flex-wrap:wrap}.roll-spacing label{width:100%}}
@media(max-width:720px){.rhythm-heading{font-size:12px}.rhythm-heading output{margin-left:7px;font-size:11px}.roll-curves{grid-template-columns:1fr}.roll-curve>div:first-child{flex-direction:row;align-items:center}.roll-toolbar select{font-size:12px}.roll-spacing{margin-top:16px}.timing-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 15px}.timing-footer{font-size:11px}.timing-voice{margin-left:5px}.triplet-suggestion{flex-wrap:wrap}.triplet-suggestion p{flex-basis:calc(100% - 40px)}.triplet-suggestion #previewTriplet{margin-left:36px}.fine-grid .steps,.fine-grid #stepNumbers{gap:0!important}#microSteps button{flex-basis:9%}#tripletHints{font-size:11px}.sequence-length-controls{flex-wrap:wrap}}

/* Final output channel: calibrated meters above three functional strips. */

.preset-story{margin:0;padding:12px 0 15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.preset-story[hidden]{display:none}

@media(max-width:720px){.transport{display:grid;grid-template-columns:44px minmax(0,1fr) 128px;gap:17px 14px}.transport>.play{grid-column:1;grid-row:1}.transport .tempo-slider{grid-column:2/4;grid-row:1;width:100%;max-width:none;gap:12px}.transport .tempo-slider input[type=range]{min-width:0}.transport .inline-control{grid-column:1/3;grid-row:2;grid-template-columns:auto minmax(35px,1fr) 28px;width:100%;gap:7px}.transport .inline-control input{width:100%;margin:0}.transport .bank-area{grid-column:3;grid-row:2;justify-self:end}.transport .bank-area>.micro{display:none}.transport .preset-area{grid-column:1/4;grid-row:3;gap:10px}.transport .preset-area select{width:0}.transport .clock,.transport .transport-divider{display:none}}
