
/* Hypatia V16 wave4 - scope-specific components, existing business logic unchanged. */
:root{--vx-bg:#060c19;--vx-panel:#101c30;--vx-lift:#162640;--vx-ink:#eff7ff;--vx-sub:#abbfd9;
--vx-line:rgba(121,166,209,.30);--vx-cyan:#69def2;--vx-purple:#ae9afc;--vx-green:#5ee9b0;
--vx-warn:#f3c981;--vx-danger:#ff86a4;--bg-deep:#060c19;--bg-surface:#101c30;
--bg-card:#101c30;--bg-card-hover:#182b46;--bg-input:#162640;--text:#eff7ff;
--text-dim:#abbfd9;--muted:#abbfd9;--accent:#69def2;--accent-text:#69def2;
--accent-dim:rgba(105,222,242,.13);--accent-glow:rgba(105,222,242,.24);
--border:rgba(121,166,209,.30);--border-color:var(--border);--border-focus:#89e8f7;
--info:#8ecbfc;--purple:#ae9afc;--warning:#f3c981;--danger:#ff86a4;
--glass-bg:rgba(16,28,48,.89);--glass-bg-heavy:rgba(12,23,41,.96);color-scheme:dark}
html[data-theme="light"],html[data-mode="light"],html.theme-light{
--vx-bg:#eff4fb;--vx-panel:#fff;--vx-lift:#f1f6fd;--vx-ink:#192c44;--vx-sub:#526883;
--vx-line:rgba(64,109,155,.28);--vx-cyan:#0b7189;--vx-purple:#694cad;--vx-green:#117d55;
--vx-warn:#865605;--vx-danger:#b02b4d;--bg-deep:#eff4fb;--bg-surface:#fff;
--bg-card:#fff;--bg-card-hover:#f1f6fd;--bg-input:#f1f6fd;--text:#192c44;
--text-dim:#526883;--muted:#526883;--accent:#0b7189;--accent-text:#0b7189;
--accent-dim:rgba(11,113,137,.12);--accent-glow:rgba(11,113,137,.24);
--border:rgba(64,109,155,.28);--border-color:var(--border);--border-focus:#0b7189;
--info:#276bb1;--purple:#694cad;--warning:#865605;--danger:#b02b4d;
--glass-bg:rgba(255,255,255,.93);--glass-bg-heavy:rgba(255,255,255,.98);color-scheme:light}
body[data-hyapp-v16]{
--bg-deep:var(--vx-bg)!important;--bg-surface:var(--vx-panel)!important;
--bg-card:var(--vx-panel)!important;--bg-card-hover:var(--vx-lift)!important;
--bg-input:var(--vx-lift)!important;--text:var(--vx-ink)!important;
--text-dim:var(--vx-sub)!important;--muted:var(--vx-sub)!important;
--border:var(--vx-line)!important;--border-color:var(--vx-line)!important;
--accent:var(--vx-cyan)!important;--accent-text:var(--vx-cyan)!important;
--accent-dim:color-mix(in srgb,var(--vx-cyan) 12%,transparent)!important;
--glass-bg:var(--vx-panel)!important;--glass-bg-heavy:var(--vx-panel)!important;
background:radial-gradient(800px 520px at 5% -5%,color-mix(in srgb,var(--vx-cyan) 8%,transparent),transparent 75%),
radial-gradient(640px 420px at 96% 3%,color-mix(in srgb,var(--vx-purple) 9%,transparent),transparent 73%),
var(--vx-bg)!important;color:var(--vx-ink);font-family:Inter,system-ui,-apple-system,sans-serif;
-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.52;min-width:0
}
body[data-hyapp-v16] *{box-sizing:border-box}
body[data-hyapp-v16] :is(button,input,textarea,select){font-family:inherit}
body[data-hyapp-v16] :is(button,a,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--border-focus)!important;outline-offset:2px}
body[data-hyapp-v16] :is(input:not([type=color]):not([type=checkbox]):not([type=radio]),textarea,select){
 min-width:0;max-width:100%;font-size:16px;
 border:1px solid var(--vx-line);border-radius:12px;background:var(--vx-lift);color:var(--vx-ink)
}
body[data-hyapp-v16] :is(input,textarea)::placeholder{color:var(--vx-sub);opacity:.88}
body[data-hyapp-v16] button{touch-action:manipulation;transition:background-color .15s,border-color .15s,box-shadow .15s}
body[data-hyapp-v16] button:disabled{opacity:.55;cursor:not-allowed}
body[data-hyapp-v16] img{max-width:100%}
body[data-hyapp-v16] :is(.glass-pill,.hh-badge,.hyd-badge,.hv-status,.chip){border-radius:999px}
body[data-hyapp-v16] :is(.glass-card,.hh-card,.hv-card,.ctrl-section,.sc-card,.project-card){
 border:1px solid var(--vx-line);border-radius:17px;
 background:var(--vx-panel);box-shadow:0 10px 30px rgba(0,0,0,.13);min-width:0
}
body[data-hyapp-v16] :is(.glass-card,.hh-card,.hv-card,.ctrl-section):hover{
 border-color:color-mix(in srgb,var(--vx-cyan) 53%,var(--vx-line))
}
body[data-hyapp-v16] :is(.glass-tab,.hh-nav-tab,.mode-btn,.ctrl-btn,.hv-btn,.hh-btn){
 font-size:13px;font-weight:720;min-height:42px;border-radius:11px;touch-action:manipulation
}
body[data-hyapp-v16] :is(.glass-tab.active,.hh-nav-tab.active,.mode-btn.active){
 background:color-mix(in srgb,var(--vx-cyan) 15%,transparent);
 border-color:var(--vx-cyan);color:var(--vx-cyan)
}
body[data-hyapp-v16] :is(.glass-table,.hv-tbl,.table-wrap,[class*="-table-wrap"]){
 max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin
}
body[data-hyapp-v16] table{border-spacing:0;border-collapse:separate}
body[data-hyapp-v16] table th{color:var(--vx-sub);font-weight:750;background:var(--vx-lift)}
body[data-hyapp-v16] table td{color:var(--vx-ink);border-bottom:1px solid var(--vx-line)}
@media(max-width:640px){
body[data-hyapp-v16] :is(button,.hv-btn,.hh-btn,.ctrl-btn,.mode-btn){min-height:44px}
body[data-hyapp-v16] :is(.glass-card,.hh-card,.hv-card,.ctrl-section){border-radius:14px}
body[data-hyapp-v16] :is(.modal,.modal-card,[role=dialog]){max-width:calc(100vw - 16px)}
}
@media(prefers-reduced-motion:reduce){
 body[data-hyapp-v16] *,body[data-hyapp-v16] *::before,body[data-hyapp-v16] *::after{
 animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* V16 Film Studio: scene inspector, visual timeline, prompt composer, settings;
   intentionally preserves current editor view contracts and timeline geometry. */
body[data-hyapp-v16="hydirector"]{
 --hyd-accent:var(--vx-purple);--hyd-cyan:var(--vx-cyan);
 --hyd-green:var(--vx-green);--hyd-orange:var(--vx-warn);--hyd-pink:var(--vx-danger);
 --panel:var(--vx-panel);--border:var(--vx-line);
 --border2:color-mix(in srgb,var(--vx-line) 50%,transparent)
}
body[data-hyapp-v16="hydirector"] #hyd-banner{
 background:linear-gradient(94deg,color-mix(in srgb,var(--vx-purple) 13%,var(--vx-panel)),var(--vx-panel));
 border-bottom:1px solid var(--vx-line);gap:9px;min-width:0
}
body[data-hyapp-v16="hydirector"] #hyd-banner h1{font:850 19px/1.12 Inter,system-ui,sans-serif;letter-spacing:-.01em;text-shadow:none;filter:none;color:var(--vx-ink);animation:none}
body[data-hyapp-v16="hydirector"] #banner-mode-btns{display:flex;gap:7px;flex-wrap:wrap;min-width:0;align-items:center}
body[data-hyapp-v16="hydirector"] :is(.mode-btn,.ctrl-btn,.ctrl-btn-outline,.wiz-next,.wiz-back,.model-chip,.shot-chip,.style-chip){
 min-height:42px;border-radius:11px;font:720 12px/1.3 Inter,system-ui,sans-serif
}
body[data-hyapp-v16="hydirector"] :is(.mode-btn.active,.model-chip.active,.shot-chip.selected,.style-chip.selected){
 color:var(--vx-cyan);border:1px solid var(--vx-cyan);
 background:color-mix(in srgb,var(--vx-cyan) 12%,var(--vx-panel))
}
body[data-hyapp-v16="hydirector"] :is(.ctrl-section,.wiz-field,.sc-card,.project-card,.film-card,.hyd-lipsync-card){
 border:1px solid var(--vx-line);border-radius:16px;background:var(--vx-panel);min-width:0
}
body[data-hyapp-v16="hydirector"] :is(.ctrl-label,.wiz-lbl,.sc-name,.sc-desc){font-family:Inter,system-ui,sans-serif;letter-spacing:.005em}
body[data-hyapp-v16="hydirector"] .ctrl-section{padding:clamp(12px,1.8vw,20px)}
body[data-hyapp-v16="hydirector"] :is(.ctrl-section,.ed-panel,.wiz-center,.hyd-editor,.scene-grid){min-width:0}
body[data-hyapp-v16="hydirector"] :is(.wiz-title,.landing-view h1,.hyd-card-title){
 font-family:Inter,system-ui,sans-serif;font-weight:850;letter-spacing:-.025em
}
body[data-hyapp-v16="hydirector"] .wiz-center{max-width:min(100%,1200px)}
body[data-hyapp-v16="hydirector"] :is(#hyd-main,#editor-view,#wizard-view,#landing-view){max-width:100%;min-width:0}
body[data-hyapp-v16="hydirector"] :is(#hyd-account-menu,#file-menu){border:1px solid var(--vx-line);border-radius:14px;background:var(--vx-panel);box-shadow:0 20px 45px #0004}
body[data-hyapp-v16="hydirector"] :is(#hyd-account-menu,#file-menu) button{min-height:40px}
body[data-hyapp-v16="hydirector"] :is(.hyd-timeline,.timeline-wrap,.shot-strip,.scene-strip){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
body[data-hyapp-v16="hydirector"] :is(.wiz-field input,.wiz-field textarea,.ctrl-section textarea){font-size:16px}
@media(max-width:900px){
 body[data-hyapp-v16="hydirector"] #hyd-banner{flex-wrap:wrap;padding-inline:clamp(9px,2vw,16px)}
 body[data-hyapp-v16="hydirector"] #banner-mode-btns{width:auto;flex:1 1 auto;overflow-x:auto}
 body[data-hyapp-v16="hydirector"] #hyd-banner h1{font-size:16px}
 body[data-hyapp-v16="hydirector"] .ctrl-section{padding:12px}
}
@media(max-width:560px){
 body[data-hyapp-v16="hydirector"] #hyd-banner h1{font-size:14px}
 body[data-hyapp-v16="hydirector"] :is(.mode-btn,.ctrl-btn,.ctrl-btn-outline){min-height:44px}
 body[data-hyapp-v16="hydirector"] :is(.wiz-center,.landing-view,.sc-card,.film-card){max-width:100%}
}


/* Functional visibility states recovered from the existing JS:
   account .open, mobile body.hyd-mobile-more-open. */
body[data-hyapp-v16="hydirector"] .hyd-account-wrap{
 position:relative;display:flex;align-items:center;min-width:0;z-index:50
}
body[data-hyapp-v16="hydirector"] #hyd-account-menu{
 display:none;position:absolute;top:calc(100% + 8px);right:0;
 min-width:230px;max-width:min(300px,calc(100vw - 20px));
 max-height:min(430px,75dvh);overflow-y:auto;z-index:9500;
 padding:9px;border:1px solid var(--vx-line);border-radius:15px;
 background:var(--vx-panel);box-shadow:0 22px 45px #0008
}
body[data-hyapp-v16="hydirector"] #hyd-account-menu.open{display:flex;flex-direction:column;gap:4px}
body[data-hyapp-v16="hydirector"] #hyd-account-menu :is(button,.hyd-account-title){
 width:100%;min-height:40px;display:flex;justify-content:space-between;
 align-items:center;gap:8px;padding:10px 12px;text-align:left;
 border-radius:10px;color:var(--vx-ink);background:transparent;
 border:1px solid transparent;font:650 12px Inter,system-ui,sans-serif
}
body[data-hyapp-v16="hydirector"] #hyd-account-menu button:hover{
 border-color:var(--vx-cyan);background:var(--accent-dim)
}
body[data-hyapp-v16="hydirector"] #hyd-account-menu .hyd-account-title{
 color:var(--vx-cyan);font-weight:800;min-height:32px
}
body[data-hyapp-v16="hydirector"] #hyd-account-menu .hyd-account-sep{
 height:1px;background:var(--vx-line);margin:3px 2px
}
body[data-hyapp-v16="hydirector"] #hyd-mobile-overflow{
 display:none;position:fixed;left:12px;right:12px;
 bottom:calc(140px + env(safe-area-inset-bottom));z-index:8103;
 max-height:55dvh;overflow-y:auto;overscroll-behavior:contain;
 padding:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
 background:var(--vx-panel);border:1px solid var(--vx-line);
 border-radius:17px;box-shadow:0 24px 50px #0008
}
body[data-hyapp-v16="hydirector"] #hyd-mobile-overflow button{
 min-height:44px;padding:10px 9px;text-align:left;white-space:normal;
 border:1px solid var(--vx-line);border-radius:11px;
 color:var(--vx-ink);background:var(--vx-lift);
 font:700 12px/1.35 Inter,system-ui,sans-serif
}
body[data-hyapp-v16="hydirector"] #hyd-mobile-overflow button:hover{
 border-color:var(--vx-cyan);color:var(--vx-cyan)
}
body[data-hyapp-v16="hydirector"] #hyd-mobile-tools{display:none}
@media(max-width:700px){
 body[data-hyapp-v16="hydirector"] #banner-mode-btns{
   flex:1 1 100%;margin-left:0;overflow:visible;justify-content:flex-start;gap:7px
 }
 body[data-hyapp-v16="hydirector"] #hyd-banner{align-items:flex-start;gap:8px}
 body[data-hyapp-v16="hydirector"] #hyd-account-menu{
   position:fixed;top:calc(52px + env(safe-area-inset-top));right:8px;
   max-width:min(300px,calc(100vw - 16px))
 }
 body[data-hyapp-v16="hydirector"] #hyd-mobile-tools{display:none!important}
 body[data-hyapp-v16="hydirector"]:has(#editor-view.active) #hyd-mobile-tools{
   display:flex!important;left:8px;right:8px;bottom:calc(14px + env(safe-area-inset-bottom));
   width:auto;justify-content:space-between;gap:5px;padding:5px;border-radius:16px;
   background:var(--vx-panel);border:1px solid var(--vx-line);
   box-shadow:0 15px 35px #0008
 }
 body[data-hyapp-v16="hydirector"] .hyd-mobile-tool{
   flex:1 1 0;min-width:0;min-height:46px;padding:8px 3px;
   border:1px solid var(--vx-line);border-radius:10px;
   background:var(--vx-lift);color:var(--vx-ink);
   font:700 clamp(9px,2.5vw,11px)/1.15 Inter,system-ui,sans-serif
 }
 body[data-hyapp-v16="hydirector"]:has(#editor-view.active).hyd-mobile-more-open #hyd-mobile-overflow{
   display:grid
 }
 body[data-hyapp-v16="hydirector"] #hyd-mobile-overflow{
   bottom:calc(80px + env(safe-area-inset-bottom));
   grid-template-columns:repeat(2,minmax(0,1fr))
 }
}

/* Workflow dialog used by Revision History and finishing checklist. */
body[data-hyapp-v16="hydirector"] #hyd-workflow-modal{
 display:none;position:fixed;inset:0;z-index:9600;
 align-items:center;justify-content:center;overflow-y:auto;
 padding:clamp(10px,2.8vw,25px);
 background:rgba(1,7,17,.82);backdrop-filter:blur(8px)
}
body[data-hyapp-v16="hydirector"] #hyd-workflow-modal.open{display:flex}
body[data-hyapp-v16="hydirector"] #hyd-workflow-box{
 display:flex;flex-direction:column;gap:0;max-height:calc(100dvh - 20px);
 overflow:hidden;width:min(680px,100%);max-width:calc(100vw - 20px);
 border:1px solid var(--vx-line);border-radius:18px;
 background:var(--vx-panel);box-shadow:0 30px 75px #0009
}
body[data-hyapp-v16="hydirector"] #hyd-workflow-header{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 padding:clamp(13px,2vw,22px);border-bottom:1px solid var(--vx-line)
}
body[data-hyapp-v16="hydirector"] #hyd-workflow-header h2{
 font:850 21px/1.2 Inter,system-ui,sans-serif;letter-spacing:-.02em;
 color:var(--vx-ink);margin:3px 0 0
}
body[data-hyapp-v16="hydirector"] #hyd-workflow-header button{
 min-width:43px;min-height:43px;border:1px solid var(--vx-line);
 border-radius:11px;background:var(--vx-lift);color:var(--vx-ink)
}
body[data-hyapp-v16="hydirector"] #hyd-workflow-body{
 min-width:0;padding:clamp(13px,2vw,21px);overflow-y:auto;overscroll-behavior:contain
}
body[data-hyapp-v16="hydirector"] #hyd-workflow-actions{
 display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;
 padding:13px 18px;border-top:1px solid var(--vx-line)
}
body[data-hyapp-v16="hydirector"] #hyd-workflow-actions button{
 min-height:44px;border-radius:11px;border:1px solid var(--vx-line);
 background:var(--vx-lift);color:var(--vx-ink);padding:10px 14px
}
body[data-hyapp-v16="hydirector"] .hyd-workflow-kicker{
 font:750 11px Inter,system-ui,sans-serif;letter-spacing:.06em;
 text-transform:uppercase;color:var(--vx-cyan)
}
@media(max-width:560px){
 body[data-hyapp-v16="hydirector"] #hyd-workflow-modal{padding:9px}
 body[data-hyapp-v16="hydirector"] #hyd-workflow-box{max-height:calc(100dvh - 18px)}
}
