/* The artwork stays the hero; the surrounding controls explain the next action. */
:root{--accent:#d6ff70}
.btn:focus-visible,.pt:focus-visible,.tab:focus-visible,.linkbtn:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.top{height:64px}
.brand{min-width:120px}
.stagewrap{padding:20px 28px 28px;background-size:8px 8px}
.stage{top:20px;gap:10px}
.studio-intro{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.studio-intro h2{font-size:clamp(19px,2.2vw,30px);letter-spacing:-.04em;line-height:1.25;margin:4px 0 7px;font-weight:700}
.eyebrow{font:10px var(--f-mono);letter-spacing:.14em;color:var(--accent)}
.studio-intro .note{font-size:12px}
.studio-intro .btn{height:42px;padding:0 20px}
.studio-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:var(--cw,100%);font:10px var(--f-mono);color:var(--mu)}
.studio-meta .source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.studio-meta .linkbtn{white-space:nowrap;font-size:11px}
.studio-meta .linkbtn[aria-pressed=true]{color:var(--accent)}
.workflow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--mu)}
.workflow span:first-child{color:var(--accent)}
.phead{padding-top:16px}
.pt{transition:border-color .15s}.pt.on{outline-color:var(--accent)}.pt.on span{background:var(--accent)}
.library{border-top:1px solid var(--ln);padding:10px 16px 12px}
.library summary{cursor:pointer;font-size:12px;color:var(--mu);padding:4px 0}
.library .rows{padding-top:10px}
.inline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.inline-actions .btn{height:32px;font-size:11px;padding:0 12px}
.inline-actions .linkbtn{margin-left:3px}
.library-list{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow:auto}
.saved-row{display:flex;align-items:center;gap:8px}.saved-row .look-load{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saved-row button{background:var(--fld);color:var(--in);border:1px solid var(--ln);padding:7px 10px;cursor:pointer;font:inherit;font-size:12px}
.saved-row button:focus-visible{outline:2px solid var(--accent)}
.export-targets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.export-targets button{border:1px solid var(--ln);background:var(--fld);color:var(--in);padding:9px 4px;cursor:pointer;font:inherit;font-size:11px;line-height:1.4}
.export-targets button:hover{border-color:var(--accent)}
.export-targets small{display:block;color:var(--mu);font:10px var(--f-mono);margin-top:4px}
.audio-state{word-break:break-word;font:11px var(--f-mono);color:var(--accent)}
.audio-notice{padding:9px 10px;border:1px solid var(--ln);background:var(--fld)}
.share-result{margin-top:12px;border:1px solid var(--ln);padding:12px}.share-result .inline-actions{margin-top:8px}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 24px}.foot a{text-underline-offset:3px}
.bar,.prog{max-width:min(100%,max(var(--cw,100%),280px))}
.bar .btn{flex-shrink:0}
@media(min-width:901px){.app{grid-template-columns:minmax(0,1fr) 400px;min-height:calc(100vh - 64px)}.panel{max-height:calc(100vh - 64px);overflow:auto;scrollbar-width:thin}.tabs{position:sticky;top:0;z-index:4}}
@media(max-width:1100px) and (min-width:901px){.studio-intro{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:900px){
  .top{height:56px}.brand{min-width:100px}.stagewrap{padding:12px 14px}.stage{gap:6px}
  .studio-intro{margin-bottom:2px;gap:8px}.studio-intro h2{font-size:18px;margin:3px 0}.studio-intro .note,.studio-intro .eyebrow{display:none}
  .studio-intro .btn{height:36px;padding:0 12px;font-size:11px}
  .studio-meta{font-size:9px}.workflow{gap:8px;font-size:10px}.studio-meta .linkbtn{font-size:10px}
  .phead{padding-top:12px}.presets{gap:8px}.pt{flex-basis:72px}.pt span{padding:5px}
  .library .inline-actions .btn{min-height:36px}.tab{min-height:42px}
  .foot{padding:14px 16px}.audio-notice{font-size:12px}
}
@media(max-width:370px){.brand{min-width:0}.top{gap:6px;padding-inline:8px}.top .btn{padding-inline:10px}.studio-intro h2{font-size:16px}.studio-intro .btn{padding:0 8px}.studio-meta{gap:6px}}
@media(prefers-reduced-motion:reduce){.pt{transition:none}}
