/* Hallmark · macrostructure: eight-channel recording workbench · PR255 Warm Signal
   Hallmark · pre-emit critique: P5 H4 E4 S5 R4 V4 */
.session-shell{max-width:1480px;padding-top:24px}.session-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.session-heading h1{font-size:40px;margin:4px 0 12px}.session-heading p{font:11px var(--font-mono);color:var(--muted)}.session-shell button,.session-shell .button{padding:8px 12px;min-height:36px;font-size:12px}.session-shell input,.session-shell select{min-width:0;max-width:100%}.session-shell button[aria-pressed=true],.session-shell button[aria-selected=true]{background:var(--dark);color:var(--light)}.session-shell button.armed{color:var(--accent);border-color:var(--accent);background:var(--paper)}.session-shell .recording{background:var(--accent)!important;color:var(--light)!important}.session-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid var(--rule)}.session-toolbar label,.control-grid label,.step-values label{display:grid;gap:4px;font:11px var(--font-mono);min-width:0}.session-toolbar label{max-width:160px}.session-toolbar input[type=number]{width:76px}.session-toolbar select,.control-grid select,.step-values select,.session-toolbar input[type=number],.step-values input[type=number]{padding:8px;border:1px solid var(--rule);background:var(--paper);color:var(--ink)}.session-toolbar output{font:12px var(--font-mono)}.session-toolbar .transport-time{font:22px var(--font-mono);font-variant-numeric:tabular-nums;margin:0 8px;min-width:100px}.session-details{border-top:1px solid var(--rule);padding:12px 0}.session-details summary{font:12px var(--font-mono);cursor:pointer}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin:16px 0}.control-grid input[type=range]{width:100%}.control-grid label span{display:flex;justify-content:space-between;gap:8px}.control-grid output{color:var(--muted)}.session-status{min-height:20px;font:12px var(--font-mono);color:var(--muted);margin:8px 0}.tape-deck{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);margin:12px 0 24px}.deck-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;font:11px var(--font-mono)}.deck-heading h2{font:14px var(--font-mono);margin:0}.tape-row{display:grid;grid-template-columns:128px 180px minmax(120px,1fr) 104px 72px 40px;gap:8px;align-items:center;border-top:1px solid var(--rule);padding:8px 0;min-width:0}.track-choice{text-align:left!important;display:flex;gap:8px;align-items:center}.track-choice small{font:10px var(--font-mono);color:var(--muted)}.track-choice[aria-selected=true] small{color:var(--signal)}.row-buttons{display:flex;gap:4px}.row-buttons button{padding:4px 8px;min-width:32px}.tape-strip{height:32px;position:relative;background:var(--paper2);overflow:hidden}.tape-strip .recorded{position:absolute;height:100%;left:0;top:0;background:var(--signal);opacity:.6}.tape-strip .playhead{position:absolute;top:0;height:100%;border-left:2px solid var(--accent)}.tape-strip .tape-label{position:relative;z-index:1;padding:8px;display:block;font:10px var(--font-mono);white-space:nowrap}.tape-row input{width:100%;accent-color:var(--accent)}.track-meter{height:4px;background:var(--rule);grid-column:3}.track-meter i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:var(--teal)}.tape-row .track-meter{grid-row:2}.track-time{font:10px var(--font-mono);color:var(--muted)}.workbench-head{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.workbench-head h2{margin:0;font-size:28px}.view-tabs{display:flex;gap:4px}.instrument-surface{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:24px;margin:16px 0}.performance-board{min-width:0}.play-surface{height:200px;background:var(--dark);position:relative;touch-action:none;overflow:hidden;cursor:crosshair}.play-surface canvas{width:100%;height:100%;display:block}.surface-caption{position:absolute;left:16px;right:16px;top:12px;color:var(--signal);font:10px var(--font-mono);pointer-events:none;display:flex;justify-content:space-between}.note-keys{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin-top:8px}.note-keys button{padding:12px 4px;touch-action:none;font:12px var(--font-mono)}.note-keys button small{display:block;color:var(--muted);font-size:9px;margin-top:8px}.performance-help{font-size:12px;color:var(--muted);margin:8px 0}.pitch-roll{height:208px;position:relative;background:var(--dark);touch-action:none;margin:12px 0 8px;cursor:crosshair}.pitch-roll canvas{display:block;width:100%;height:100%}.step-buttons{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px}.step-buttons button{padding:8px 0;min-width:0;font:10px var(--font-mono)}.step-buttons button.on{border-color:var(--teal);box-shadow:inset 0 -3px var(--teal)}.step-buttons button.playing{background:var(--signal);color:var(--dark)}.step-buttons button.selected{outline:2px solid var(--accent);outline-offset:1px}.step-values{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:16px 0}.step-values input{width:100%}.pattern-bank{display:flex;gap:4px;flex-wrap:wrap}.pattern-bank button{min-width:36px}.song-row{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px;margin:12px 0}.song-row input{padding:12px;border:1px solid var(--rule);font:14px var(--font-mono);background:var(--paper);color:var(--ink);width:100%;min-width:0}.session-notes{width:100%;padding:12px;min-height:100px;background:var(--paper);border:1px solid var(--rule);color:var(--ink)}.session-shell [hidden]{display:none!important}.session-shell .inline-check{display:flex;align-items:center;gap:8px;max-width:none;font:12px var(--font-body)}.session-shell .inline-check input{width:auto}.session-shell .danger{color:var(--accent)}.session-shell .subtle{color:var(--muted);font-size:12px}.session-shell .midi-learning .mappable{outline:1px dashed var(--accent)}.session-shell input:focus-visible,.session-shell button:focus-visible,.session-shell select:focus-visible,.session-shell canvas:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.studio-eight-entry{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
@media(max-width:1000px){.tape-row{grid-template-columns:110px 160px minmax(80px,1fr) 80px 48px}.track-time{display:none}.instrument-surface{grid-template-columns:1fr}.step-values{grid-template-columns:repeat(4,minmax(0,1fr))}.session-shell .control-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.session-shell{padding-top:16px}.session-heading h1{font-size:32px}.tape-row{grid-template-columns:104px minmax(0,1fr) 64px;gap:4px 8px}.row-buttons{grid-column:2/4;grid-row:1}.tape-strip{grid-column:1/3;grid-row:2}.tape-row .track-meter{grid-column:1/3;grid-row:3}.tape-row .volume{grid-column:3;grid-row:2}.tape-row .pan{grid-column:3;grid-row:3}.deck-heading{align-items:start;flex-direction:column;gap:4px}.session-shell .control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.step-values{grid-template-columns:repeat(2,minmax(0,1fr))}.step-buttons{grid-template-columns:repeat(8,minmax(0,1fr))}.play-surface{height:180px}.song-row{grid-template-columns:80px minmax(0,1fr);gap:8px}.session-toolbar label{max-width:132px}.session-toolbar{gap:8px}.session-toolbar .transport-time{font-size:18px;margin:0}.row-buttons button{padding:4px 8px}.session-shell .view-tabs button{padding:8px}.session-shell .note-keys button{padding:12px 2px}}
@media(prefers-reduced-motion:reduce){.session-shell *{scroll-behavior:auto;transition:none!important}}

.session-toolbar label>span{display:flex;justify-content:space-between;gap:8px}.session-toolbar input[type=text],.session-toolbar input:not([type]){background:var(--paper);border:1px solid var(--rule);padding:8px;min-width:0;width:100%}.drum-grid{display:grid;gap:8px;margin:12px 0}.drum-lane{display:grid;grid-template-columns:64px repeat(16,minmax(0,1fr));gap:4px;align-items:center;font:10px var(--font-mono)}.drum-lane button{padding:6px 0;min-width:0}.drum-lane button[aria-pressed=true]{background:var(--signal);color:var(--dark)}@media(max-width:600px){.drum-lane{grid-template-columns:repeat(8,minmax(0,1fr))}.drum-lane>span{grid-column:1/-1}}

/* Compact controls: keep native menus short and prevent panel-height stretching. */
.session-shell .control-grid{align-content:start;align-items:start}.session-shell select,.session-shell input[type=number]{min-height:32px;height:32px;padding:5px 8px;font:11px var(--font-mono);line-height:1.3}.session-shell label{align-content:start}.session-shell .control-grid{gap:12px}.session-shell h4{font:12px var(--font-mono);margin:20px 0 4px}.session-shell #recovery-list{max-width:280px}.session-shell .session-toolbar:has(#recovery-list) label{max-width:280px}.session-shell #clock-detail,.session-shell #cache-status{font-variant-numeric:tabular-nums}.session-shell #midi-target{max-width:180px}.session-shell #sample-status{color:var(--ink)}

.beat-ruler{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px;margin:12px 0 0;font:10px var(--font-mono);color:var(--muted)}.beat-ruler span{padding:5px 4px;border-bottom:1px solid var(--rule)}.beat-ruler .beat-accent{color:var(--accent);font-weight:700;border-bottom:2px solid var(--accent)}.beat-ruler+.pitch-roll{margin-top:0}.session-shell .step-buttons .beat-accent,.session-shell .drum-lane .beat-accent{font-weight:700;border-left:3px solid var(--accent);background:var(--paper2)}.session-shell .step-buttons .beat-accent.on{background:var(--signal);color:var(--dark)}.session-shell .drum-lane .beat-accent[aria-pressed=true]{background:var(--signal);color:var(--dark)}.session-shell .step-buttons .beat-accent.playing{background:var(--accent);color:var(--light)}

.step-values label>span{display:flex;justify-content:space-between;gap:8px}.step-values{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}

.tape-row{grid-template-columns:128px 224px minmax(120px,1fr) 104px 72px 40px}.row-buttons select{width:108px;min-width:92px}.input-route{grid-column:2/-1;display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:4px 0}.input-route label{font:10px var(--font-mono);display:grid;gap:4px;min-width:0}.input-route input[type=range]{width:110px}.input-route label>span{display:flex;justify-content:space-between;gap:8px}.input-route .inline-check{align-self:center}.input-route .inline-check input{width:auto}@media(max-width:1000px){.tape-row{grid-template-columns:110px 224px minmax(80px,1fr) 80px 48px}}@media(max-width:600px){.tape-row{grid-template-columns:96px minmax(0,1fr) 64px}.input-route{grid-column:1/-1;grid-row:4;gap:12px}.row-buttons{gap:3px}.row-buttons select{width:102px;font-size:10px}.row-buttons button{min-width:26px;padding:4px 6px}}

.control-grid .control-divider{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:12px;margin:8px 0 0}.instrument-surface:has(#drone-hold){align-items:start}

.tape-strip .recorded{width:100%;background:none}.tape-strip .recorded>i{position:absolute;top:0;height:100%;min-width:1px;background:var(--signal)}.tape-row .volume{display:grid;gap:2px;font:9px var(--font-mono);min-width:0}.tape-row .volume>span{display:flex;justify-content:space-between;gap:4px;white-space:nowrap}.tape-row .volume input{width:100%;min-width:0}.tape-row .volume output{font-variant-numeric:tabular-nums}
