/* Project tools extend the original Pulsefloor Creator and brand. */
:root { --studio-ink:#f7fff7; --studio-muted:#a5b7c7; --studio-border:#ffffff29; --studio-accent:#00d4ff; color-scheme:dark; }
.studio-ui { position:fixed; inset:0; z-index:45; pointer-events:none; color:var(--studio-ink); font:13px/1.4 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.studio-ui * { box-sizing:border-box; }
.studio-ui [hidden] { display:none!important; }
.studio-ui button,.studio-ui input,.studio-ui select { font:inherit; }
.studio-ui button { pointer-events:auto; min-height:38px; padding:8px 12px; color:inherit; background:#07121fe8; border:1px solid var(--studio-border); border-radius:3px; cursor:pointer; }
.studio-ui button:hover { border-color:var(--studio-accent); }
.studio-ui button:disabled { opacity:.4; cursor:default; }
.studio-ui :focus-visible { outline:2px solid var(--studio-accent); outline-offset:3px; }
.studio-ui input,.studio-ui select { padding:10px; min-width:0; max-width:100%; background:#07121f; border:1px solid var(--studio-border); border-radius:3px; color:var(--studio-ink); }
.studio-header { position:absolute; top:18px; right:76px; display:flex; align-items:center; gap:16px; pointer-events:auto; padding:8px 10px; background:#050505c9; border:1px solid #ffffff20; border-radius:4px; backdrop-filter:blur(16px); }
.studio-project-meta { display:flex; flex-direction:column; gap:2px; }
.studio-project-meta input { width:150px; background:transparent; border:0; padding:0; font-size:12px; }
.studio-project-meta span { color:var(--studio-muted); font-size:9px; }
.studio-header-actions { display:flex; gap:5px; align-items:center; }
.studio-ui .studio-export,.studio-ui .studio-primary { background:var(--studio-accent); color:#050505; font-weight:800; }
.studio-header-actions [data-action=undo],.studio-header-actions [data-action=redo] { font-size:20px; width:34px; padding:2px; }
.studio-field { display:flex; flex-direction:column; gap:7px; margin:16px 0; }
.studio-options { display:flex; flex-wrap:wrap; gap:6px; }
.studio-full { width:100%; }
.studio-eyebrow { color:#00d4ff; font-size:10px; letter-spacing:.12em; font-weight:800; }
.studio-help { color:var(--studio-muted); font-size:12px; line-height:1.6; }
.entry-started.ui-hidden .studio-header { display:none; }
.studio-app #creator:not(.is-window-popout) { top:92px; right:76px; bottom:22px; width:min(480px,calc(100vw - 104px)); height:auto; max-height:none; display:flex; flex-direction:column; overflow:hidden; background:#050505df; border-radius:4px; }
.studio-app #creator .panel-head { flex-shrink:0; padding:4px 2px 10px; }
.studio-app #creator .tab-grid { grid-template-columns:repeat(5,minmax(0,1fr)); flex-shrink:0; gap:5px; margin:0 0 10px; padding-top:4px; }
.studio-app #creator .tab { min-height:43px; font-size:11px; }
.studio-app #creator .tab.is-active { background:#00d4ff; color:#050505; border-color:#00d4ff; }
.studio-app #creator .tab-panel { overflow:auto; min-height:0; padding:0 4px 10px 0; scrollbar-width:thin; scrollbar-color:#4f6672 transparent; }
.studio-app #creator.is-create-popout:not(.is-window-popout) { width:min(860px,calc(100vw - 112px)); top:82px; bottom:16px; }
.studio-app .tab-panel .menu-section:first-of-type { margin-top:0; }
.studio-app #creator .field input:not([type=color]):not([type=checkbox]),.studio-app #creator select { min-height:34px; }
.studio-app .entry-complete .entry-gate { display:none; }
.studio-app.entry-complete .entry-gate { display:none; }
.studio-app .timeline-head { overflow:auto; }
.studio-app .timeline-compact-field,.studio-app .timeline-sync-button,.studio-app #timelineClear,.studio-app #timelineFit,.studio-app .timeline-inspector label { display:flex; }
.studio-app .timeline-inspector { display:flex; flex-wrap:wrap; gap:12px; }
.studio-app #timelineInspector[hidden] { display:none!important; }
.studio-app .music-recovery { padding:12px; border:1px solid #ffb45c66; font-size:12px; line-height:1.5; }
.studio-app .genesis-reference-preview { font-size:12px; line-height:1.5; }
.studio-app .genesis-reference-preview img,.studio-app .genesis-reference-preview video { max-width:100%; max-height:200px; object-fit:contain; }
.studio-app .stage-canvas { filter:none!important; }
.studio-app .noise-overlay,.studio-app .scanlines,.studio-app .stage-noise { display:none!important; }
.dance-director { border:1px solid #00d4ff55; background:linear-gradient(145deg,#00d4ff10,transparent); padding:12px; }
.dance-director__head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.dance-director__head strong { color:#9cebff; font-size:12px; letter-spacing:.04em; }
.dance-director__status { font-size:11px; color:#cad8df; line-height:1.55; margin:10px 0; }
.dance-director__grid { display:grid; grid-template-columns:repeat(8,1fr); gap:4px; margin:8px 0; }
.dance-director__grid span { height:5px; background:#ffffff1f; }
.dance-director__grid span.is-beat { background:#00d4ff; box-shadow:0 0 8px #00d4ff88; }
.studio-toast { position:absolute; bottom:105px; left:50%; transform:translateX(-50%); max-width:min(520px,90vw); padding:13px 20px; border:1px solid #00d4ff66; border-radius:12px; background:#07121ff5; color:#f7fff7; box-shadow:0 8px 40px #0006; pointer-events:auto; font-size:12px; line-height:1.5; }
.studio-toast.is-error { border-color:#df9c6266; background:#38261eed; color:#ffe3ca; }
.studio-dialog { pointer-events:auto; color:var(--studio-ink); border:1px solid #ffffff24; border-radius:20px; background:#07121f; padding:36px; width:min(470px,calc(100vw - 24px)); max-height:calc(100dvh - 30px); overflow:auto; box-shadow:0 30px 120px #0008; }
.studio-dialog::backdrop { background:#040b0ab5; backdrop-filter:blur(8px); }
.studio-dialog h2 { font-size:29px; font-weight:500; letter-spacing:-1px; margin:12px 0; }
.studio-dialog p { font-size:13px; line-height:1.65; color:#afbfce; }
.studio-dialog-close { position:absolute; top:12px; right:12px; border:0!important; background:transparent!important; font-size:22px!important; }
.studio-dialog-actions { display:flex; flex-direction:column; gap:9px; margin:22px 0; }
.studio-checkbox { display:flex; gap:10px; font-size:12px; align-items:center; }
.studio-checkbox input { accent-color:var(--studio-accent); }

.boot-shell { position:fixed; inset:0; display:grid; place-content:center; text-align:center; padding:30px; background:#050505; color:#f7fff7; font:15px/1.6 Inter,system-ui,sans-serif; z-index:100; }
.boot-shell strong { font-size:32px; font-weight:900; letter-spacing:.08em; }
.boot-shell p { color:#9cebff; }
.boot-shell button { padding:12px 24px; background:#00d4ff; color:#050505; border:0; border-radius:3px; font:inherit; cursor:pointer; }
.boot-shell[hidden] { display:none; }
@media(max-width:1000px) { .studio-project-meta { display:none; } .studio-header { right:70px; } }
@media(max-width:700px) {
 .studio-header { top:12px; right:56px; gap:0; padding:5px; } .studio-header-actions { gap:3px; }
 .studio-header-actions button { font-size:10px; padding:6px 8px; min-height:32px; }
 .studio-header-actions [data-action=undo],.studio-header-actions [data-action=redo] { display:none; }
 .studio-app.creator-open .stage-canvas { height:48dvh!important; top:0; }
 .studio-app #creator:not(.is-window-popout) { top:auto; bottom:calc(62px + env(safe-area-inset-bottom)); right:56px; left:8px; width:auto; height:58dvh; max-height:calc(100dvh - 140px); }
 .studio-app #creator .tab { min-height:40px; font-size:9px; }
 .studio-app #creator .tab-grid { gap:3px; }
 .studio-app #creator.is-create-popout:not(.is-window-popout) { top:68px; right:8px; left:8px; bottom:10px; width:auto; height:auto; max-height:none; }
 .studio-app .title-lock { top:82px; }
 .studio-app .entry-gate { top:190px; max-height:calc(100dvh - 225px); }
 .studio-app .timeline-head { display:flex; flex-wrap:wrap; max-height:130px; overflow:auto; }
 .studio-app .timeline-inspector { max-height:130px; overflow:auto; }
 .studio-toast { bottom:72px; width:calc(100vw - 24px); }
 .studio-dialog { padding:30px 22px; }
}
@media(max-height:600px) and (orientation:landscape) {
 .studio-app #creator:not(.is-window-popout) { top:74px; bottom:10px; height:auto; }
 .studio-app .entry-gate { top:74px; max-height:calc(100dvh - 90px); }
}
@media(prefers-reduced-motion:reduce) { .studio-ui * { transition:none!important; } }

.studio-app .embed-shell.is-youtube.is-visible { position:relative; display:block; min-height:240px; width:100%; aspect-ratio:16/9; }
.studio-app .embed-shell.is-youtube iframe { min-height:240px; display:block; }

.scene-activity { position:absolute; z-index:10; left:22px; bottom:24px; max-width:430px; padding:14px 18px; display:grid; gap:6px; background:#07121fe6; border:1px solid #ffffff3a; backdrop-filter:blur(12px); color:#f7fff7; border-radius:4px; font:12px/1.4 Inter,system-ui,sans-serif; }
.scene-activity[hidden],.ui-hidden .scene-activity { display:none; }
.scene-activity strong { font-size:13px; color:#9cebff; }
.scene-activity>span { color:#afbfce; font-size:10px; }
.scene-activity>div { display:flex; gap:6px; margin-top:6px; }
.scene-activity button { background:#07121f; color:#f7fff7; border:1px solid #ffffff44; padding:9px 12px; border-radius:3px; cursor:pointer; }
.scene-activity button:disabled { opacity:.4; cursor:default; }
@media(max-width:700px) { .scene-activity { left:8px; right:58px; top:72px; bottom:auto; padding:8px 10px; } .scene-activity>span { display:none; } .scene-activity button { padding:6px 8px; font-size:10px; } }
