/* Morphly Booth — shared by the in-app overlay (dark) and studio.html (light page). */
.bt-root{--bt-bg:#07080d;--bt-fg:#fff;--bt-mute:rgba(255,255,255,.6);--bt-line:rgba(255,255,255,.26);--bt-surf:rgba(255,255,255,.1);--bt-accent:linear-gradient(135deg,#8b5cf6,#ec4899 48%,#f43f5e);--bt-focus:#fff;display:flex;flex-direction:column;gap:8px;color:var(--bt-fg);font:inherit}
.bt-overlay{position:absolute;inset:0;z-index:45;padding:calc(10px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));background:var(--bt-bg)}
.bt-page{--bt-bg:#f7f7f2;--bt-fg:#20231e;--bt-mute:#6b7163;--bt-line:#c9cdbf;--bt-surf:#eef0e6;--bt-accent:#243422;--bt-focus:#658335;max-width:760px;margin:0 auto;padding:16px;background:var(--bt-bg)}
.bt-top{display:flex;align-items:center;gap:8px}.bt-title{flex:1;margin:0;font-size:19px;font-weight:800}
.bt-root button,.bt-root select,.bt-upload{min-height:44px;min-width:44px;padding:0 12px;border-radius:999px;border:1px solid var(--bt-line);background:var(--bt-surf);color:var(--bt-fg);font:inherit;font-weight:700;cursor:pointer}
.bt-root button:disabled{opacity:.4;cursor:not-allowed}
.bt-root button[aria-pressed=true],.bt-tabs button.is-active{background:var(--bt-accent);color:#fff;border-color:transparent}
.bt-root :focus-visible{outline:3px solid var(--bt-focus);outline-offset:2px}
.bt-stage{flex:1 1 auto;min-height:0;display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;overflow:hidden;border-radius:14px;background:rgba(127,127,127,.18)}
.bt-page .bt-stage{min-height:min(70vh,640px);flex:none}
.bt-canvas{max-width:100%;max-height:100%;touch-action:none;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.bt-status{margin:0;text-align:center;font-size:12px;color:var(--bt-mute);min-height:1.2em}
.bt-panel{display:flex;flex-direction:column;gap:8px;max-height:32vh;overflow:auto}.bt-page .bt-panel{max-height:none}
.bt-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bt-layouts button{display:flex;flex-direction:column;align-items:center;gap:4px;height:auto;padding:8px 10px;border-radius:14px;font-size:11px}
.bt-icon{height:36px;width:auto;fill:currentColor;opacity:.85}
.bt-tray button{padding:0;width:56px;height:56px;border-radius:10px;overflow:hidden}.bt-tray img{width:100%;height:100%;object-fit:cover;display:block}
.bt-swatch{width:44px;padding:0!important;border-width:2px!important}.bt-frame{min-width:64px;border-width:2px!important}
.bt-color{width:44px;height:44px;padding:0;border:0;background:none}
.bt-slider{display:grid;grid-template-columns:56px 1fr 52px;gap:8px;align-items:center;font-size:13px}.bt-slider input{width:100%;min-height:44px}
.bt-field{display:grid;grid-template-columns:56px 1fr;gap:8px;align-items:center;font-size:13px}
.bt-check{display:flex;gap:10px;align-items:center;font-size:13px}.bt-check input{width:22px;height:22px}
.bt-panel>input[type=text]{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--bt-line);background:var(--bt-surf);color:var(--bt-fg);font:inherit}
.bt-upload{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.bt-file{position:absolute;inset:0;opacity:0;cursor:pointer}
.bt-upload:focus-within{outline:3px solid var(--bt-focus);outline-offset:2px}
.bt-hint{margin:0;font-size:12px;color:var(--bt-mute)}
.bt-tabs{display:flex;gap:6px;overflow-x:auto}.bt-tabs button{flex:1 0 auto}
.bt-actions{display:flex;gap:8px;flex-wrap:wrap}.bt-actions button{flex:1 1 auto}.bt-actions select{flex:0 0 auto}.bt-primary{background:var(--bt-accent)!important;color:#fff!important;border-color:transparent!important}
@media (prefers-reduced-motion:reduce){.bt-root *{transition:none!important;animation:none!important}}
.bt-top,.bt-status,.bt-tabs,.bt-actions{flex:none}.bt-panel{flex:0 1 auto;min-height:0}.bt-tabs button{flex:0 0 auto}
.bt-stage{min-height:180px}
