
/* Studio panel (screen only) */
.studio{position:fixed;top:16px;right:16px;z-index:50;font:12.5px 'Geist',system-ui,sans-serif;color:#e7e7ea}
.st-toggle{background:var(--cobalt);color:#fff;border:0;border-radius:999px;padding:10px 18px;font:600 12.5px 'Geist',sans-serif;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 30px -10px rgba(0,0,0,.6);float:right;transition:transform .16s cubic-bezier(.2,.8,.2,1)}
.st-toggle:active{transform:scale(.97)}
.st-body{display:none;clear:both;margin-top:10px;width:300px;max-height:calc(100vh - 80px);overflow:auto;background:#141417;border:1px solid #2a2a30;border-radius:14px;padding:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.studio-open .st-body{display:block}
.st-body header{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.st-body header span,.st-body small,.st-tip{color:#8a8a93;font-size:11px;font-weight:400}
.st-body section{border-top:1px solid #26262c;padding:12px 0;display:grid;gap:9px}
.st-body h3{font:500 10px 'Geist Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#a1a1aa}
.st-body label{display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:8px}
.st-body label.chk{display:flex;gap:8px}
.st-body select{background:#1d1d22;color:#eee;border:1px solid #33333a;border-radius:6px;padding:5px 6px;font:inherit}
.st-body input[type=color]{width:100%;height:26px;border:1px solid #33333a;border-radius:6px;background:none;padding:0 2px}
.st-body input[type=range]{accent-color:var(--cobalt)}
.st-body output{font:11px 'Geist Mono',monospace;color:#a1a1aa;min-width:26px;text-align:right}
.st-pages{display:grid;gap:5px;max-height:200px;overflow:auto;font-size:11.5px}
.st-body footer{display:flex;gap:8px;margin-top:12px}
.st-body footer button{flex:1;border:0;border-radius:8px;padding:9px;font:600 12px 'Geist',sans-serif;cursor:pointer}
.st-export{background:var(--cobalt);color:#fff}
.st-reset{background:#26262c;color:#ddd}
.studio-open .page img:not(.logo){cursor:copy}
.page.is-hidden{display:none!important}
.no-grain .brand::before,.no-grain .side::before{display:none}
