/* V0.7: isolated photo controls and compact workstation. */
#module-content .studio-shell{max-width:1000px}
#module-content .studio-shell [hidden]{display:none!important}
#module-content .studio-shell .module-intro{margin:0 0 8px}
#module-content .studio-shell .module-intro h1{font-size:25px;margin:0 0 4px}
#module-content .studio-shell .module-intro .eyebrow{display:none}
#module-content .studio-shell .module-intro p{font:12px/1.5 Roboto,Arial,sans-serif;margin:0;max-width:100%;min-height:18px}
#module-content .studio-shell .studio-breadcrumb{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center;margin:8px 0 12px}
#module-content .studio-shell .studio-breadcrumb>button{min-height:38px;font-size:10px;padding:7px 25px 7px 11px;white-space:nowrap}
#module-content .studio-shell #studio-path{font:11px/1.3 Roboto,Arial,sans-serif;color:#9cae99;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#module-content .studio-shell .hub-guide{font:11px Roboto,Arial,sans-serif;color:#bbc991;padding:8px 0;text-decoration:underline;white-space:nowrap}
#module-content .studio-shell .studio-door-grid,#module-content .studio-shell .console-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:0 auto 12px;align-items:stretch}
#module-content .studio-shell .studio-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#module-content .studio-shell button.studio-photo-key{position:relative;display:block;isolation:isolate;min-width:0;width:100%;height:auto;min-height:0;aspect-ratio:1.35;margin:0;padding:0;overflow:hidden;border:4px solid #19231a;border-radius:16px;background:#102019;box-shadow:0 5px 0 #020603,inset 0 1px #788d64;text-align:left;color:#edf1d6;transform:none;overflow-wrap:normal}
#module-content .studio-shell button.studio-photo-key:before{display:none;content:none}
#module-content .studio-shell button.studio-photo-key:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:11px;background:linear-gradient(180deg,#0000 20%,#03100836 48%,#020b07ee 100%);box-shadow:inset 0 0 0 1px #768e6560}
#module-content .studio-shell button.studio-photo-key>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.83) saturate(.75);z-index:-2}
#module-content .studio-shell button.studio-photo-key>span{position:absolute;left:16px;right:16px;bottom:18px;display:flex;flex-direction:column;gap:6px;padding:0;min-width:0}
#module-content .studio-shell button.studio-photo-key b{display:block;margin:0;padding:0;font:750 clamp(17px,2.8vw,27px)/1.15 Orbitron,Arial,sans-serif;letter-spacing:0;color:#e6efc7;text-shadow:0 2px 2px #000;white-space:normal;overflow-wrap:normal}
#module-content .studio-shell button.studio-photo-key small{display:block;margin:0;padding:0;font:12px/1.35 Roboto,Arial,sans-serif;color:#c4d0b7;white-space:normal;letter-spacing:0}
#module-content .studio-shell button.studio-photo-key i{position:absolute;right:12px;bottom:8px;width:23px;height:5px;border:1px solid #15200f;border-radius:2px;background:#687343;pointer-events:none}
#module-content .studio-shell button.studio-photo-key:is(:hover,:focus-visible):after{background:linear-gradient(180deg,#ffffff05 20%,#020b0730 45%,#4c4f20bd 100%);box-shadow:inset 0 -20px 45px #c3bd3e24,inset 0 0 0 1px #d7d78b80}
#module-content .studio-shell button.studio-photo-key:is(:active,.is-lit,[aria-pressed=true]):after{background:linear-gradient(180deg,#0000 25%,#68672b50 65%,#a4a4399c 100%);box-shadow:inset 0 -14px 28px #e7c66070}
#module-content .studio-shell button.studio-photo-key:is(:active,.is-lit,[aria-pressed=true]) i{background:#f0e887;box-shadow:0 0 12px #e2db6d}
#module-content .studio-shell button.studio-photo-key:active{transform:translateY(2px)}
#module-content .studio-shell button.studio-photo-key:focus-visible{outline:2px solid #e4e793;outline-offset:3px}
#module-content .studio-shell .studio-tool-grid button.studio-photo-key,#module-content .studio-shell .console-sources button.studio-photo-key{aspect-ratio:1.65}
#module-content .studio-shell .studio-tool-grid button.studio-photo-key b,#module-content .studio-shell .console-sources button.studio-photo-key b{font-size:clamp(15px,2.4vw,22px)}
#module-content .studio-shell .hub-actions{display:flex;gap:8px;align-items:center;justify-content:flex-start;margin:0 0 10px}
#module-content .studio-shell .hub-actions button{min-height:38px;padding:8px 28px 8px 12px;font-size:11px}
#module-content .studio-shell .console-project-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
#module-content .studio-shell .console-project-actions button{min-height:38px;font-size:10px}
#module-content .studio-shell .studio-planned{display:flex;flex-direction:column;justify-content:center;min-height:70px;padding:12px;border:1px dashed #41513c;border-radius:12px;background:#0c160e;box-shadow:none;opacity:.65;font:12px/1.4 Orbitron,Arial,sans-serif;color:#94a48b}
#module-content .studio-shell .studio-planned small{display:block;font:11px Roboto,Arial,sans-serif;margin-top:6px}
#module-content .studio-shell .studio-planned:before,#module-content .studio-shell .studio-planned:after{display:none}
#module-content .studio-shell .audio-console{padding:12px;border:1px solid #354b36;border-radius:12px;background:linear-gradient(140deg,#122219,#08120b)}
#module-content .studio-shell .studio-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
#module-content .studio-shell .studio-section-head h2{font:750 16px Orbitron,Arial,sans-serif;margin:0}
#module-content .studio-shell .audio-source-row,#module-content .studio-shell .audio-transport{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0}
#module-content .studio-shell .audio-source-row button,#module-content .studio-shell .audio-transport button,#module-content .studio-shell .audio-file-label{display:flex;align-items:center;justify-content:center;width:100%;height:42px;min-height:42px;margin:0;padding:7px 20px 7px 8px;font:700 11px/1.2 Roboto,Arial,sans-serif;text-align:center;border-radius:9px}
#module-content .studio-shell .audio-file-label{position:relative;overflow:hidden;border:1px solid #5b6a45;background:linear-gradient(#15241a,#09140c);box-shadow:inset 0 2px 5px #000a,0 3px #020603;color:#c3d69f;cursor:pointer}
#module-content .studio-shell .audio-file-label:focus-within{outline:2px solid #dfe692;outline-offset:2px}
#module-content .studio-shell .audio-file-label input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
#module-content .studio-shell .audio-transport{grid-template-columns:repeat(5,minmax(0,1fr))}
#module-content .studio-shell #audio-status{font:12px/1.5 Roboto,Arial,sans-serif;color:#d3dfb8;min-height:18px;margin:5px 0}
#module-content .studio-shell .audio-console .subtle{font:11px/1.45 Roboto,Arial,sans-serif;color:#9daf91;margin:6px 0}
#module-content .studio-shell .audio-console select,#module-content .studio-shell .audio-console input[type=number],#module-content .studio-shell .audio-console input[type=search]{box-sizing:border-box;min-width:0;width:100%;min-height:36px;padding:7px 9px;font:13px Roboto,Arial,sans-serif;margin:3px 0 0}
#module-content .studio-shell .audio-clean-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:8px 0}
#module-content .studio-shell .audio-clean-grid label{display:block;min-width:0;margin:0;font:11px Roboto,Arial,sans-serif;color:#b1c39d}
#module-content .studio-shell .audio-check{display:flex;align-items:center;gap:9px;font:12px Roboto,Arial,sans-serif;margin:5px 0}
#module-content .studio-shell .audio-check input{width:auto;min-height:20px;margin:0}
#module-content .studio-shell .eq-bank{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:5px;margin:10px 0;padding:12px 7px;background:#040d07;border-radius:10px}
#module-content .studio-shell .eq-band{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;margin:0}
#module-content .studio-shell .eq-band input{writing-mode:vertical-lr;direction:rtl;height:110px;min-height:0;width:35px;max-width:100%;padding:0;margin:0;accent-color:#cadc77;touch-action:pan-x}
#module-content .studio-shell .eq-band span,#module-content .studio-shell .eq-band output{font:9px Roboto,Arial,sans-serif;white-space:nowrap;color:#d3dfb4}
#module-content .studio-shell .eq-scroll-hint{display:none}
#module-content .studio-shell .audio-console>.button-row,#module-content .studio-shell .audio-console .button-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0}
#module-content .studio-shell .audio-console>.button-row button{min-height:40px;padding:6px 22px 6px 8px;font:700 11px/1.2 Roboto,Arial,sans-serif}
#module-content .studio-shell .studio-workbench{padding:12px;margin:8px 0;border-radius:12px}
#module-content .studio-shell .studio-project-head{gap:8px;margin-bottom:8px;flex-wrap:nowrap}
#module-content .studio-shell .studio-project-head input{min-height:36px;padding:6px 9px;font-size:13px;max-width:75%;min-width:0}
#module-content .studio-shell .studio-note-count{font-size:10px;white-space:nowrap}
#module-content .studio-shell .console-section-title{font-size:10px;margin:8px 0 6px}
#module-content .studio-shell .studio-transport{padding:0 0 8px;gap:6px}
#module-content .studio-shell .studio-transport button{min-height:38px;height:38px;font:10px/1.2 Roboto,Arial,sans-serif;padding:6px 19px 6px 7px}
#module-content .studio-shell .studio-meta{font:11px/1.5 Roboto,Arial,sans-serif;margin:5px 0;min-height:17px}
#module-content .studio-shell .studio-status{font-size:12px;line-height:1.4;margin:4px 0;min-height:0}
#module-content .studio-shell .console-controls{padding:8px 0;gap:8px}
#module-content .studio-shell .knob-bank{gap:7px}
#module-content .studio-shell .console-knob{gap:3px}
#module-content .studio-shell .knob-label{height:20px;font-size:8px}
#module-content .studio-shell .console-dial{width:62px;height:62px}
#module-content .studio-shell .console-knob output{font-size:11px;padding:2px 5px}
#module-content .studio-shell .console-note-editor{margin:8px 0;padding:0;border-top:1px solid #304329;border-bottom:1px solid #304329}
#module-content .studio-shell .console-note-editor>summary{font:700 11px/1.3 Orbitron,Arial,sans-serif;min-height:34px;padding:8px 0}
#module-content .studio-shell .studio-note-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 8px}
#module-content .studio-shell .studio-note-fields label{margin:0;font:11px/1.3 Roboto,Arial,sans-serif}
#module-content .studio-shell .studio-note-fields input{min-height:36px;height:36px;width:100%;padding:6px 8px;margin:3px 0 0;font:14px Roboto,Arial,sans-serif}
#module-content .studio-shell .console-note-editor .button-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:7px 0}
#module-content .studio-shell .console-note-editor .button-row button{min-height:38px;padding:7px 22px 7px 8px;font:700 11px/1.2 Roboto,Arial,sans-serif}
#module-content .studio-shell .console-transpose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:7px 0}
#module-content .studio-shell .console-transpose button{min-height:38px;padding:6px 20px 6px 6px;font:11px/1.2 Roboto,Arial,sans-serif}
#module-content .studio-shell .console-note-disclosure{margin:0 0 5px}
#module-content .studio-shell .console-note-disclosure summary{min-height:32px;font-size:11px;padding:7px 0}
#module-content .studio-shell .studio-output-open{min-height:38px;padding:7px 28px 7px 12px;margin:7px 0;font-size:11px}
#module-content .studio-shell .console-keyboard-section{margin-top:8px}
#module-content .studio-shell .console-keyboard-section>summary{min-height:34px;font-size:11px}
#module-content .studio-shell .matrix-inline{display:flex;align-items:center;min-width:0;white-space:nowrap;overflow:hidden;height:18px;max-height:18px;margin:4px 0;font:11px/18px Roboto,Arial,sans-serif;color:#a7be85}
#module-content .studio-shell .matrix-fixed{flex:none;color:#a9b99b}
#module-content .studio-shell .matrix-text{overflow:hidden;text-overflow:ellipsis;min-width:0}
#module-content .studio-shell .matrix-text:after{content:'▏';color:#d9de78;animation:matrix-caret 1s steps(1) infinite}
#module-content .studio-shell .rhythm-arrangement{display:flex;gap:3px;overflow-x:auto;scrollbar-width:thin;margin:6px 0 9px}
#module-content .studio-shell .rhythm-arrangement span{min-width:44px;padding:5px 7px;text-align:center;font:10px Roboto,Arial,sans-serif;background:#203320;color:#cad99e;border-left:2px solid #8d9d4c;white-space:nowrap}
#module-content .studio-shell .rhythm-arrangement [data-section=Fill]{background:#424323;color:#ece3a5}
#module-content .studio-shell .rhythm-arrangement [data-section=Ending]{background:#4d3e25;color:#f0d4a0}
#module-content .studio-shell .rhythm-catalog-count{font:11px Roboto,Arial,sans-serif;color:#adc18d;margin:5px 0}
#module-content .studio-shell .rhythm-summary{font:11px/1.4 Roboto,Arial,sans-serif;color:#b8c7a0;margin:5px 0}
.studio-output-dialog{width:min(620px,92vw);max-height:85dvh;overflow:auto}
.studio-output-dialog #output-midi,.studio-output-dialog #output-audio{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}
.studio-output-dialog h3{flex-basis:100%;font-size:13px;margin:6px 0}
.studio-output-dialog .secondary{font-size:12px;min-height:40px}
@keyframes matrix-caret{50%{opacity:0}}
@media(max-width:899px){#module-content .studio-shell .eq-bank{display:flex;overflow-x:auto;gap:5px;padding-bottom:10px;scroll-snap-type:x proximity}#module-content .studio-shell .eq-band{flex:0 0 44px;scroll-snap-align:start}#module-content .studio-shell .eq-band input{width:44px;max-width:44px;height:100px}#module-content .studio-shell .eq-scroll-hint{display:block;font:10px Roboto,Arial,sans-serif;color:#acbf90;margin:3px 0}}
@media(max-width:600px){#module-content .studio-shell .module-intro h1{font-size:22px}#module-content .studio-shell .studio-breadcrumb{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;margin:5px 0 9px}#module-content .studio-shell .studio-breadcrumb>button{min-height:36px;font:9px/1.2 Orbitron,Arial,sans-serif;padding:6px 21px 6px 8px}#module-content .studio-shell .hub-guide{display:none}#module-content .studio-shell .studio-door-grid,#module-content .studio-shell .console-sources{gap:10px}#module-content .studio-shell button.studio-photo-key{border-width:3px;border-radius:13px;aspect-ratio:1.15}#module-content .studio-shell .studio-tool-grid button.studio-photo-key,#module-content .studio-shell .console-sources button.studio-photo-key{aspect-ratio:1.4}#module-content .studio-shell button.studio-photo-key>span{left:10px;right:10px;bottom:16px;gap:5px}#module-content .studio-shell button.studio-photo-key b{font-size:18px}#module-content .studio-shell .console-sources button.studio-photo-key b,#module-content .studio-shell .studio-tool-grid button.studio-photo-key b{font-size:clamp(11px,3.5vw,16px);line-height:1.2}#module-content .studio-shell button.studio-photo-key small{font-size:10px;line-height:1.2}#module-content .studio-shell button.studio-photo-key i{right:9px;bottom:6px;width:20px;height:4px}#module-content .studio-shell .audio-source-row{grid-template-columns:repeat(2,minmax(0,1fr))}#module-content .studio-shell .audio-transport button{font-size:10px;min-height:40px;padding:5px 15px 5px 4px}#module-content .studio-shell .studio-section-head h2{font-size:13px}#module-content .studio-shell .studio-section-head button{font-size:10px;min-height:36px;padding:7px 23px 7px 8px}#module-content .studio-shell .audio-console{padding:10px}#module-content .studio-shell .studio-note-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px}#module-content .studio-shell .console-note-editor .button-row{grid-template-columns:repeat(2,minmax(0,1fr))}#module-content .studio-shell .console-note-editor .button-row button,#module-content .studio-shell .console-transpose button{min-height:40px}#module-content .studio-shell .console-controls{grid-template-columns:1fr}#module-content .studio-shell .console-dial{height:56px;width:56px}#module-content .studio-shell .studio-transport{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}#module-content .studio-shell .studio-transport button{padding:5px 13px 5px 4px;font-size:9px;min-height:38px}#module-content .studio-shell .studio-workbench{padding:10px}#module-content .studio-shell .studio-meta .matrix-fixed{max-width:48%;overflow:hidden;text-overflow:ellipsis}#module-content .studio-shell .studio-piano-roll{height:210px}#module-content .studio-shell .audio-console>.button-row button{padding:6px 15px 6px 5px;font-size:10px}}
@media(prefers-reduced-motion:reduce){#module-content .studio-shell .matrix-text:after{animation:none}}
@media(max-width:600px){#module-content .studio-shell .studio-breadcrumb{grid-template-columns:auto minmax(0,1fr) auto 16px}#module-content .studio-shell .hub-guide{display:block;font-size:0;width:16px;padding:0;text-align:center}#module-content .studio-shell .hub-guide:before{content:'?';font:700 13px Roboto,Arial,sans-serif}}
#module-content .studio-shell .console-note-editor>.studio-note-fields,#module-content .studio-shell .console-note-editor>.button-row,#module-content .studio-shell .console-note-editor>.console-transpose{padding:0}
@media(max-width:600px){#module-content .studio-shell .studio-note-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}#module-content .studio-shell .studio-note-fields label{font-size:10px;white-space:nowrap}#module-content .studio-shell .studio-note-fields input{font-size:13px;padding:5px;appearance:textfield}#module-content .studio-shell .studio-note-fields input::-webkit-inner-spin-button{appearance:none;margin:0}}
#module-content .studio-shell #rh-generate{width:100%;min-height:42px;font:700 12px/1.25 Roboto,Arial,sans-serif;padding:8px 27px 8px 12px}
#module-content .studio-shell .studio-note-fields input{display:block}
@media(max-width:600px){#module-content .studio-shell .console-sources button.studio-photo-key b,#module-content .studio-shell .studio-tool-grid button.studio-photo-key b{font-size:14px}}
