:root{--bg:#000000;--surface-1:#141414;--surface-2:#1f1f1f;--surface-3:#292929;--tab-track:#1a1a1a;--tab-chip:#2e2e2e;--surface-line:rgba(255,255,255,0.10);--surface-code:rgba(255,255,255,0.06);--surface-chat-ai:rgba(138,115,255,0.16);--border:rgba(255,255,255,0.10);--border-strong:rgba(255,255,255,0.18);--border-hover:rgba(255,255,255,0.26);--glass-blur:blur(14px) saturate(1.2);--glass-highlight:inset 0 1px 0 rgba(255,255,255,0.04);--glass-shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.32);--text-1:#fafafa;--text-2:#d4d4d8;--text-3:#a1a1aa;--text-4:#8b93a7;--text-5:#e4e4e7;--accent:#8a73ff;--accent-soft:rgba(138,115,255,0.18);--accent-hot:#ff52ce;--accent-spark:#00ffe1;--white:#ffffff;--black:#000;--btn-primary-hover:#d2d4da;--grad-brand:linear-gradient(90deg,#6b5cff,#8a73ff 50%,#a855f7);--grad-brand-hot:linear-gradient(90deg,#8a73ff,#c084fc 55%,#ff52ce);--grad-hero:linear-gradient(135deg,#241554,#3d1f7a 40%,#6d2a8e 72%,#a02a8c);--glow-brand:0 0 60px rgba(138,115,255,0.35),0 0 130px rgba(255,82,206,0.16);--ok:#4ade80;--ok-bg:rgba(34,197,94,0.15);--warn:#fbbf24;--warn-bg:rgba(234,179,8,0.15);--warn-bg-soft:rgba(234,179,8,0.08);--warn-border:rgba(234,179,8,0.45);--warn-text:#fde68a;--error:#f87171;--error-bg:rgba(239,68,68,0.15);--error-text:#fca5a5;--error-border:#7f1d1d;--error-solid:#1c0a0a;--checking:#facc15;--overlay:rgba(0,0,0,0.7);--panel:rgba(0,0,0,0.88);--track-video:#8a73ff;--track-voice:#22c55e;--track-music:#eab308;--track-sfx:#f97316;--track-captions:#38bdf8;--auth-bg:var(--surface-1);--auth-border:var(--border);--auth-input-bg:var(--surface-2);--auth-text:var(--text-3);--auth-text-2:var(--text-5);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:17px;--text-2xl:24px;--text-3xl:28px;--leading-tight:1.2;--leading-normal:1.55;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--input-bg:rgba(0,0,0,0.28);--popover-bg:#10151f;--code-bg:rgba(10,10,13,0.55);--media-bg:rgba(0,0,0,0.3);--btn-primary-bg:#e8e8ec;--btn-primary-fg:#0a0a0a;--focus-ring:#a99bff;--sidebar-w:232px;--sidebar-w-collapsed:88px;--topbar-h:56px;--bottomnav-h:60px;--touch:44px}:root[data-theme=light]{color-scheme:light;--bg:#fafafa;--surface-1:#f4f4f5;--surface-2:#ffffff;--surface-3:#ebebee;--tab-track:#e9e9ec;--tab-chip:#ffffff;--surface-line:rgba(0,0,0,0.08);--surface-code:rgba(0,0,0,0.05);--surface-chat-ai:rgba(79,70,229,0.1);--border:rgba(0,0,0,0.11);--border-strong:rgba(0,0,0,0.18);--border-hover:rgba(0,0,0,0.26);--glass-highlight:inset 0 1px 0 rgba(255,255,255,0.7);--glass-shadow:0 1px 2px rgba(0,0,0,0.06),0 8px 24px rgba(0,0,0,0.09);--text-1:#18181b;--text-2:#3f3f46;--text-3:#52525b;--text-4:#5c626e;--text-5:#27272a;--accent:#4f46e5;--accent-soft:rgba(79,70,229,0.12);--btn-primary-hover:#3f3f46;--ok:#15803d;--ok-bg:rgba(22,163,74,0.12);--warn:#b45309;--warn-bg:rgba(180,83,9,0.14);--warn-bg-soft:rgba(180,83,9,0.07);--warn-border:rgba(180,83,9,0.4);--warn-text:#78350f;--error:#b91c1c;--error-bg:rgba(185,28,28,0.1);--error-text:#991b1b;--error-border:rgba(185,28,28,0.35);--error-solid:#fef2f2;--checking:#a16207;--overlay:rgba(0,0,0,0.45);--panel:rgba(255,255,255,0.94);--input-bg:#ffffff;--popover-bg:#ffffff;--code-bg:#f4f4f5;--media-bg:rgba(0,0,0,0.04);--btn-primary-bg:#18181b;--btn-primary-fg:#fafafa;--focus-ring:#4f46e5}:root[data-theme=midnight]{color-scheme:dark;--bg:#0b1020;--surface-1:#10162a;--surface-2:#141b31;--surface-3:#1c2440;--tab-track:#161d33;--tab-chip:#27314f;--surface-line:rgba(148,163,184,0.14);--surface-code:rgba(148,163,184,0.1);--surface-chat-ai:rgba(96,165,250,0.16);--border:rgba(148,163,184,0.16);--border-strong:rgba(148,163,184,0.26);--border-hover:rgba(148,163,184,0.38);--glass-highlight:inset 0 1px 0 rgba(148,163,184,0.06);--glass-shadow:0 1px 2px rgba(0,0,0,0.5),0 8px 24px rgba(0,0,0,0.4);--text-1:#e8edf7;--text-2:#c4cddf;--text-3:#a6b1c7;--text-4:#8d99b0;--text-5:#d5dcec;--accent:#60a5fa;--accent-soft:rgba(96,165,250,0.16);--btn-primary-hover:#cbd5e1;--ok:#4ade80;--ok-bg:rgba(34,197,94,0.16);--warn:#fbbf24;--warn-bg:rgba(245,158,11,0.16);--warn-bg-soft:rgba(245,158,11,0.08);--warn-border:rgba(251,191,36,0.4);--warn-text:#fcd34d;--error:#f87171;--error-bg:rgba(239,68,68,0.16);--error-text:#fca5a5;--error-border:rgba(248,113,113,0.4);--error-solid:#7f1d1d;--checking:#facc15;--overlay:rgba(2,6,23,0.6);--panel:rgba(16,22,42,0.94);--input-bg:rgba(2,6,23,0.35);--popover-bg:#121a30;--code-bg:rgba(2,6,23,0.6);--media-bg:rgba(2,6,23,0.35);--btn-primary-bg:#e8edf7;--btn-primary-fg:#0b1020;--focus-ring:#93c5fd}:root[data-theme=sepia]{color-scheme:light;--bg:#f6f1e7;--surface-1:#efe8da;--surface-2:#fbf7ef;--surface-3:#e6ddcb;--tab-track:#e6ddcb;--tab-chip:#fdfbf5;--surface-line:rgba(87,66,32,0.14);--surface-code:rgba(87,66,32,0.06);--surface-chat-ai:rgba(160,92,42,0.12);--border:rgba(87,66,32,0.18);--border-strong:rgba(87,66,32,0.28);--border-hover:rgba(87,66,32,0.38);--glass-highlight:inset 0 1px 0 rgba(255,255,255,0.7);--glass-shadow:0 1px 2px rgba(87,66,32,0.08),0 8px 24px rgba(87,66,32,0.1);--text-1:#2b2417;--text-2:#4a4130;--text-3:#5c5138;--text-4:#6b5f45;--text-5:#3d3524;--accent:#8a4d20;--accent-soft:rgba(138,77,32,0.14);--btn-primary-hover:#4a4130;--ok:#15803d;--ok-bg:rgba(22,101,52,0.12);--warn:#b45309;--warn-bg:rgba(180,83,9,0.14);--warn-bg-soft:rgba(180,83,9,0.07);--warn-border:rgba(180,83,9,0.4);--warn-text:#78350f;--error:#b91c1c;--error-bg:rgba(185,28,28,0.1);--error-text:#991b1b;--error-border:rgba(185,28,28,0.35);--error-solid:#fef2f2;--checking:#a16207;--overlay:rgba(43,36,23,0.45);--panel:rgba(251,247,239,0.96);--input-bg:#fffdf8;--popover-bg:#fffdf8;--code-bg:#efe8da;--media-bg:rgba(87,66,32,0.05);--btn-primary-bg:#2b2417;--btn-primary-fg:#f6f1e7;--focus-ring:#8a4d20}:root[data-theme=contrast]{color-scheme:dark;--bg:#000000;--surface-1:#0a0a0c;--surface-2:#101012;--surface-3:#1c1c20;--tab-track:#101012;--tab-chip:#1c1c20;--surface-line:#4b5563;--surface-code:rgba(255,255,255,0.1);--surface-chat-ai:rgba(147,197,253,0.22);--border:#5b6472;--border-strong:#8b93a1;--border-hover:#b6bdc9;--glass-highlight:none;--glass-shadow:0 0 0 1px rgba(255,255,255,0.06);--text-1:#ffffff;--text-2:#f1f3f6;--text-3:#dde1e8;--text-4:#c8cdd6;--text-5:#eef0f4;--accent:#93c5fd;--accent-soft:rgba(147,197,253,0.2);--btn-primary-hover:#d1d5db;--ok:#4ade80;--ok-bg:rgba(34,197,94,0.24);--warn:#fde047;--warn-bg:rgba(245,158,11,0.24);--warn-bg-soft:rgba(245,158,11,0.12);--warn-border:#fde047;--warn-text:#fef08a;--error:#fca5a5;--error-bg:rgba(239,68,68,0.24);--error-text:#fecaca;--error-border:#fca5a5;--error-solid:#7f1d1d;--checking:#fde047;--overlay:rgba(0,0,0,0.8);--panel:#101012;--input-bg:#000000;--popover-bg:#101012;--code-bg:#0a0a0c;--media-bg:#0a0a0c;--btn-primary-bg:#ffffff;--btn-primary-fg:#000000;--focus-ring:#fde047}html{color-scheme:dark}::selection{background:var(--accent);color:var(--white)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-sm)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}body,html{margin:0;padding:0;min-height:100%}body{background:radial-gradient(1400px 500px at 50% -15%,rgba(138,115,255,.12),transparent 65%),radial-gradient(900px 420px at 85% -10%,rgba(255,82,206,.05),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text-1);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}button,input,select,textarea{font:inherit}optgroup,option{font-family:inherit;font-size:var(--text-base);background:var(--bg);color:var(--text-1)}optgroup{color:var(--text-2)}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh;background:transparent}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface-1);z-index:40;transition:width .16s ease}.sidebar-logo{position:relative;height:64px;display:flex;align-items:center;gap:12px;padding:0 44px 0 20px;border-bottom:1px solid var(--border);flex-shrink:0}.brand-name{font-size:16px;font-weight:700;letter-spacing:-.02em}.brand-subtitle{margin-top:2px;color:var(--text-4);font-size:var(--text-xs)}.logo-mark{width:32px;height:32px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-weight:800;font-size:14px;flex-shrink:0}.logo-text{font-size:18px;font-weight:700;letter-spacing:-.02em}.nav-collapse-btn,.nav-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-3)}.nav-collapse-btn{position:absolute;top:17px;right:10px}.nav-collapse-btn:hover,.nav-drawer-close:hover{background:var(--surface-3);color:var(--text-1)}.nav-drawer-close{display:none;position:absolute;top:17px;right:10px}.nav-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-2)}.nav-menu-btn:hover{background:var(--surface-3);color:var(--text-1)}.nav-backdrop{display:none}.app-shell.nav-collapsed .sidebar{width:var(--sidebar-w-collapsed)}.app-shell.nav-collapsed .sidebar-logo{justify-content:center;padding:0}.app-shell.nav-collapsed .brand-text,.app-shell.nav-collapsed .nav-label,.app-shell.nav-collapsed .sidebar-section-title,.app-shell.nav-collapsed .user-info{display:none}.app-shell.nav-collapsed .nav-collapse-btn{top:72px;right:17px}.app-shell.nav-collapsed .sidebar-section{padding:16px 10px 0}.app-shell.nav-collapsed .sidebar-logo+.sidebar-section{padding-top:44px}.app-shell.nav-collapsed .nav-item{justify-content:center;padding:11px 0}.app-shell.nav-collapsed .sidebar-bottom{padding:10px}.app-shell.nav-collapsed .user-card{justify-content:center;padding:8px}.app-shell.nav-collapsed .main-area{margin-left:var(--sidebar-w-collapsed);width:calc(100% - var(--sidebar-w-collapsed))}.sidebar-section{padding:18px 12px 0}.sidebar-section-title{padding:0 10px 8px;color:var(--text-4);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-list{display:flex;flex-direction:column;gap:2px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:9px 10px;border-radius:var(--radius-md);border:1px solid transparent;color:var(--text-3);font-size:var(--text-md);transition:background .12s ease,color .12s ease,border-color .12s ease}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.nav-item:hover{background:var(--surface-3);color:var(--text-1)}.nav-item.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.nav-icon{width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-flyout{position:fixed;z-index:1300;min-width:208px;max-width:250px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:6px;box-shadow:0 14px 40px rgba(0,0,0,.55);animation:flyout-in .12s ease-out}@keyframes flyout-in{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:none}}.nav-flyout-title{display:block;padding:6px 10px 7px;margin-bottom:2px;font-size:var(--text-sm);font-weight:700;color:var(--text-bright);border-bottom:1px solid var(--border)}.nav-flyout-title:hover{color:var(--accent)}.nav-flyout-link{display:block;padding:7px 10px;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text)}.nav-flyout-link:hover{background:var(--accent-soft);color:var(--accent)}.nav-item.flyopen:not(.active){background:var(--surface-3);color:var(--text-bright)}.utility-menu{position:relative}.utility-menu-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid transparent;color:var(--text-dim);border-radius:var(--radius-pill);padding:7px 12px;cursor:pointer;font-size:var(--text-md)}.utility-menu-btn:hover,.utility-menu-btn[aria-expanded=true]{color:var(--accent);border-color:var(--border);background:var(--surface-2)}.utility-menu-label{font-weight:600}.utility-menu-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:1200;min-width:210px;display:flex;flex-direction:column;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px;box-shadow:0 14px 38px rgba(0,0,0,.35)}.utility-menu-item{display:block;text-align:left;background:none;border:0;border-radius:var(--radius-sm);padding:9px 10px;color:var(--text-dim);font-size:var(--text-md);cursor:pointer}.utility-menu-item:hover{color:var(--accent);background:var(--surface-1,rgba(255,255,255,.04))}.utility-menu-lang{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px 6px;margin-top:4px;border-top:1px solid var(--border);color:var(--text-faint);font-size:var(--text-xs)}.utility-menu-lang select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 10px;font-size:var(--text-xs);cursor:pointer}.utility-overlay{position:fixed;inset:0;z-index:1400;background:rgba(0,0,0,.62);display:grid;place-items:center;padding:16px}.utility-sheet{width:min(480px,94vw);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.55)}.utility-sheet-title{font-size:var(--text-lg);font-weight:700;color:var(--text-bright);margin-bottom:12px}.feedback-textarea{width:100%;resize:vertical;min-height:110px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);padding:10px 12px;font-size:var(--text-sm);font-family:inherit}.feedback-textarea:focus{outline:none;border-color:var(--focus-ring)}.utility-sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.feedback-error,.feedback-hint{color:var(--text-dim);font-size:var(--text-xs)}.feedback-hint{flex:1 1;color:var(--text)}.feedback-error{color:#ff6b6b}.feedback-sent{color:var(--text);font-size:var(--text-sm);padding:8px 0 14px}.sidebar-bottom{margin-top:auto;padding:12px;border-top:1px solid var(--border)}.user-card{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.user-avatar{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);color:var(--white);font-size:var(--text-sm);font-weight:700}.user-info{min-width:0}.user-name{color:var(--text-1);font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{margin-top:2px;color:var(--text-4);font-size:10px}.main-area{width:calc(100% - var(--sidebar-w));margin-left:var(--sidebar-w);min-height:100vh;transition:margin-left .16s ease,width .16s ease}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.topbar-title{font-size:var(--text-base);font-weight:700;letter-spacing:-.01em;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{display:flex;align-items:center;gap:14px;flex-shrink:0}.credit-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.credit-badge:hover{border-color:var(--border-hover);color:var(--text-1)}.credit-badge-low{color:var(--error);border-color:rgba(248,113,113,.4)}.credit-badge-held{opacity:.6;font-size:.85em}.topbar-user{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-3)}.topbar-username{font-size:var(--text-sm);font-weight:600;color:var(--text-2);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;grid-template-columns:repeat(5,1fr);align-items:stretch;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--touch);padding:8px 4px;border:0;background:transparent;color:var(--text-4);font-size:10px;font-weight:600;letter-spacing:.02em}.bottom-nav-item.active{color:var(--white)}.bottom-nav-item:active{background:var(--surface-2)}.signin-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.6)}.signin-sheet{max-width:420px;width:100%}.dashboard{max-width:1500px;margin:0 auto;padding:36px 32px 60px;animation:fade-up .15s ease-out}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.hero-panel{background:var(--grad-hero);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:var(--glow-brand);padding:30px 28px 26px;margin-bottom:28px}.hero-title{margin:0;font-size:32px;font-weight:800;font-style:italic;letter-spacing:-.02em;background:linear-gradient(92deg,#ffffff,#d8ccff 55%,#ff9ae8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin:6px 0 18px;color:rgba(255,255,255,.75);font-size:var(--text-md)}.create-box{background:rgba(0,0,0,.88);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:14px 14px 12px}.create-input{width:100%;background:transparent;border:none;resize:none;color:#fff;font-size:15px;font-family:inherit;line-height:1.5}.create-input::placeholder{color:rgba(255,255,255,.42)}.create-input:focus{outline:none}.create-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;border-top:1px solid rgba(255,255,255,.09);padding-top:12px}.create-chips{display:flex;flex-wrap:wrap;gap:8px}.create-chip{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);color:rgba(255,255,255,.82);font-size:var(--text-sm);padding:6px 14px;cursor:pointer}.create-chip:hover{border-color:rgba(255,255,255,.45);color:#fff}.create-chip.active{background:#f2f2f5;border-color:#f2f2f5;color:#0a0a0a;font-weight:600}.send-round{flex-shrink:0;width:42px;height:42px;border:none;border-radius:50%;background:var(--grad-brand-hot);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 18px rgba(255,82,206,.35)}.send-round:hover{filter:brightness(1.12)}.cat-row{margin:26px 0}.cat-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.cat-head h2{margin:0;font-size:var(--text-lg);color:var(--text-bright)}.cat-viewall{font-size:var(--text-sm);color:var(--accent)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:14px;gap:14px}.sample-card img,.sample-card video{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--border);transition:transform .2s ease,border-color .2s ease}.sample-card:hover img,.sample-card:hover video{transform:scale(1.02);border-color:var(--border-hover)}.sample-caption{display:block;margin-top:7px;font-size:var(--text-sm);color:var(--text-dim)}.sample-card:hover .sample-caption{color:var(--text-bright)}.dashboard-title{margin:0;font-size:var(--text-3xl);line-height:1.1;font-weight:750;letter-spacing:-.035em}.dashboard-subtitle{margin:8px 0 0;color:var(--text-4);font-size:var(--text-base)}.header-action{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:var(--radius-sm);padding:10px 15px;background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-size:var(--text-md);font-weight:700}.header-action:hover{background:var(--btn-primary-hover)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.stat-card{min-height:130px;padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight),var(--glass-shadow)}.stat-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-icon{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-3)}.stat-label{color:var(--text-4);font-size:var(--text-sm);font-weight:600}.stat-value{margin-top:12px;font-size:29px;font-weight:750;letter-spacing:-.03em}.stat-description{margin-top:8px;color:var(--text-4);font-size:var(--text-sm)}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);grid-gap:16px;gap:16px}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight),var(--glass-shadow);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.panel-title{margin:0;font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.panel-subtitle{margin:3px 0 0;color:var(--text-4);font-size:var(--text-sm)}.panel-action{color:var(--text-3);font-size:var(--text-sm)}.panel-action:hover{color:var(--white)}.panel-body{padding:20px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.quick-action{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:110px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight);color:var(--text-1);text-align:left;transition:border-color .12s ease,background .12s ease}.quick-action:hover{border-color:var(--border-hover);background:var(--surface-3)}.quick-action-icon{display:grid;place-items:center;color:var(--accent)}.quick-action-title{font-size:var(--text-md);font-weight:700}.quick-action-description{color:var(--text-4);font-size:var(--text-xs)}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.activity-item:last-child{border-bottom:0}.activity-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-3)}.activity-content{min-width:0;flex:1 1}.activity-name{font-size:var(--text-md);font-weight:600}.activity-meta{margin-top:3px;color:var(--text-4);font-size:var(--text-xs)}.empty-state{padding:36px 20px;text-align:center}.empty-state-title{font-size:var(--text-base);font-weight:700}.empty-state-description{max-width:320px;margin:7px auto 0;color:var(--text-4);font-size:var(--text-sm);line-height:1.5}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-3)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:skeleton-shimmer 1.6s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.skeleton-stat{width:76px;height:28px;margin-top:12px}.skeleton-row{display:flex;flex-direction:column;gap:12px;padding:16px 20px}.skeleton-row .skeleton{height:14px}.skeleton-row .skeleton:last-child{width:60%}.mt-16{margin-top:16px}.status-list{display:flex;flex-direction:column}.status-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name status" "detail detail";align-items:baseline;grid-column-gap:16px;column-gap:16px;padding:8px 2px;border-bottom:1px solid var(--surface-3)}.status-row:last-child{border-bottom:none}.status-name{grid-area:name;color:var(--text-2);font-size:var(--text-md);font-weight:600}.status-desc{grid-area:detail;margin-top:2px;color:var(--text-4);font-size:var(--text-xs)}.status-value{grid-area:status;display:flex;align-items:center;gap:7px;font-size:var(--text-sm);font-weight:600;color:var(--text-3);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-4)}.status-dot.healthy{background:var(--ok)}.status-dot.error{background:var(--error)}.status-dot.checking{background:var(--checking)}@media (max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media (max-width:1023px){.app-shell.nav-collapsed .sidebar,.sidebar{width:min(300px,84vw);transform:translateX(-100%);transition:transform .2s ease}.sidebar.open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.55)}.app-shell.nav-collapsed .brand-text,.app-shell.nav-collapsed .nav-label,.app-shell.nav-collapsed .sidebar-section-title,.app-shell.nav-collapsed .user-info{display:block}.app-shell.nav-collapsed .sidebar-logo{justify-content:flex-start;padding:0 44px 0 20px}.app-shell.nav-collapsed .sidebar-section{padding:18px 12px 0}.app-shell.nav-collapsed .nav-item{justify-content:flex-start;padding:9px 11px}.app-shell.nav-collapsed .sidebar-bottom,.app-shell.nav-collapsed .user-card{padding:12px}.app-shell.nav-collapsed .user-card{justify-content:flex-start}.nav-collapse-btn{display:none}.nav-drawer-close,.nav-menu-btn{display:inline-flex}.nav-backdrop.show{display:block;position:fixed;inset:0;z-index:39;background:rgba(0,0,0,.55)}.app-shell.nav-collapsed .main-area,.main-area{margin-left:0;width:100%;padding-bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom) + 12px)}.bottom-nav{display:grid}.topbar{padding:0 12px}.nav-item{min-height:var(--touch)}.dashboard{padding:28px 20px 40px}.dashboard-header{align-items:flex-start;flex-direction:column}}@media (max-width:640px){.credit-badge-held,.topbar-username{display:none}.dashboard{padding:20px 14px 32px}.dashboard-title,.studio-title{font-size:var(--text-2xl)}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.quick-actions{grid-template-columns:1fr}}.studio{max-width:1500px;margin:0 auto;padding:36px 32px 60px;animation:fade-up .15s ease-out}.studio-center{display:flex;justify-content:center;padding-top:80px}.studio-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.studio-title{margin:0;font-size:var(--text-3xl);line-height:1.1;font-weight:750;letter-spacing:-.035em}.studio-subtitle{margin:8px 0 0;color:var(--text-4);font-size:var(--text-base)}.studio-card{margin-bottom:16px}.studio-form{display:flex;flex-direction:column;gap:12px;min-width:320px}.studio-full{width:100%}.shot-card{display:block;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--media-bg);padding:12px 14px;margin-bottom:10px}.shot-card textarea.studio-input{margin-top:4px;min-height:64px}.shot-card .prompt-counter{text-align:right;font-size:.72rem;opacity:.55;margin-top:-6px;margin-bottom:4px}select.engine-pill{width:auto;min-width:210px;border-radius:999px;padding:6px 16px;font-size:.85rem;font-weight:600}select.studio-input{width:auto;min-width:170px;max-width:280px}.studio-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);box-shadow:var(--glass-highlight);color:var(--text-1);font-size:var(--text-base);resize:vertical}.studio-input:focus{outline:none;border-color:var(--border-hover)}.studio-error{padding:10px 12px;border:1px solid var(--error-border);border-radius:var(--radius-sm);background:var(--error-solid);color:var(--error-text);font-size:var(--text-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-sm);padding:10px 15px;font-size:var(--text-base);font-weight:700}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-2)}.btn-ghost:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-1)}.btn-danger{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.btn-danger:hover:not(:disabled){background:var(--error-solid);border-color:var(--error);color:var(--error)}.project-card-delete{margin-top:12px;align-self:flex-start;color:var(--error-text);border-color:var(--error-border)}.project-card-delete:hover{border-color:var(--error);color:var(--error)}.danger-zone .panel-body{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.log-viewer{margin:0;padding:14px 16px;max-height:60vh;overflow:auto;background:var(--code-bg);color:var(--text-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--border)}.term-overlay{position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.55)}.term-modal,.term-overlay{display:flex;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.term-modal{width:min(960px,100%);height:min(640px,90vh);min-width:420px;min-height:260px;max-width:100%;max-height:90vh;resize:both;flex-direction:column;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;box-shadow:var(--glass-highlight),var(--glass-shadow);overflow:hidden}.term-host{flex:1 1;min-height:0;overflow:hidden;padding:12px 14px;background:var(--code-bg);border-top:1px solid var(--border)}.term-host .xterm{height:100%}.files-modal{resize:vertical}.files-body{flex:1 1;min-height:0;overflow:auto;padding:12px 14px;border-top:1px solid var(--border)}.files-name-btn{padding:2px 6px;text-align:left}.term-detail{padding:8px 16px 0}.term-footnote{padding:8px 16px 12px;border-top:1px solid var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.composer-grid{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:20px;gap:20px}.composer-grid>.composer-controls:only-child{grid-column:1/-1}@media (min-width:901px){.composer-grid.cinema-grid{grid-template-columns:minmax(420px,1.4fr) minmax(280px,380px)}}.composer-label,.studio-field-label{display:block;color:var(--text-3);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;margin:0 0 6px}.composer-source{align-items:flex-start;gap:10px}.composer-source,.source-slot{display:flex;flex-direction:column}.source-slot{width:240px;min-height:160px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--media-bg);box-shadow:var(--glass-highlight);align-items:center;justify-content:center;gap:8px;color:var(--text-4);font-size:var(--text-md);overflow:hidden;cursor:pointer}.source-slot.filled{cursor:default;border-style:solid}.source-slot img,.source-slot video{width:100%;height:160px;object-fit:cover}.source-slot-icon{font-size:22px}.audio-slot-label{font-size:var(--text-sm);color:var(--text-2);padding:0 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-slots{display:flex;flex-wrap:wrap;gap:8px}.source-slot.small{width:100px;min-height:100px;position:relative}.source-slot.small img,.source-slot.small video{height:100px}.source-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:var(--overlay);color:var(--white);font-size:var(--text-xs);line-height:1;cursor:pointer}.canvas-stage{position:relative;margin:12px 0;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-2,rgba(255,255,255,.04));overflow:hidden;touch-action:none}.canvas-layer{position:absolute;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;border:2px solid transparent;border-radius:4px}.canvas-layer.selected{border-color:var(--accent,#6c8cff);box-shadow:0 4px 18px rgba(0,0,0,.35)}.canvas-layer:active{cursor:-webkit-grabbing;cursor:grabbing}.canvas-stage-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-4);font-size:var(--text-sm);pointer-events:none}.composer-prompt{margin-bottom:12px}.composer-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.composer-row>div{display:flex;flex-direction:column}select.studio-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:40px;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}select.studio-input option{font-size:var(--text-base)}input[type=range]{accent-color:var(--accent);display:block;min-width:140px;max-width:260px;height:40px}input[type=range]:not(:last-child){margin-bottom:12px}.composer-row.composer-grid>div{flex:1 1 150px;max-width:280px}.composer-select{min-width:110px}.movie-steps{display:flex;flex-wrap:wrap;align-items:center}.step-tab{display:inline-flex;align-items:center;gap:8px}.step-num{font-weight:800;font-size:11px;letter-spacing:.06em;color:var(--text-3)}.step-tab.active .step-num{color:var(--accent)}.step-final{margin-left:10px}.step-final:before{content:"";width:1px;align-self:stretch;background:var(--border);margin-right:2px}.pill-select{display:flex;flex-wrap:wrap;gap:8px}.pill-opt{border:1px solid var(--border);background:var(--surface-2,transparent);color:var(--text-2);border-radius:999px;padding:7px 14px;font-size:var(--text-md);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.pill-opt:hover{border-color:var(--border-hover);color:var(--text-1)}.pill-opt.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600}.composer-row>div.pill-group{flex:0 0 auto;max-width:none}.pill-select{flex-wrap:nowrap}.pill-opt{white-space:nowrap}@media (max-width:900px){.composer-row>div.pill-group{flex:1 1 220px}.pill-select{flex-wrap:wrap}}.composer-row>div.template-pick{flex-direction:row;align-items:center;gap:6px}.composer-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 4px}.script-actions{display:contents}.advanced-toggle{background:none;border:1px dashed var(--border);color:var(--text-2);border-radius:var(--radius-sm);padding:8px 12px;margin:10px 0 12px;font-size:var(--text-md)}.advanced-toggle:hover{border-color:var(--border-hover);color:var(--text-1)}.style-picker{position:relative}.style-picker-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);box-shadow:var(--glass-highlight);color:var(--text-1);font:inherit;text-align:left;cursor:pointer}.style-picker-trigger:hover{border-color:var(--border-hover)}.style-picker-option img,.style-picker-trigger img{border-radius:6px;object-fit:cover;flex:none}.style-picker-caret{margin-left:auto;opacity:.6}.style-picker-label{font-size:var(--text-base)}.style-picker-panel{position:fixed;z-index:120;width:396px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;padding:10px;background:var(--popover-bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 18px 48px rgba(0,0,0,.55)}.style-picker-option{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-1);font:inherit;text-align:center;cursor:pointer}.style-picker-option img{width:100%;aspect-ratio:1;height:auto;border-radius:8px}.style-picker-name{font-size:var(--text-xs);font-weight:700;line-height:1.25}.style-picker-option:hover{background:rgba(255,255,255,.06)}.style-picker-option.selected{border-color:var(--accent,#4f7cff);background:rgba(79,124,255,.12)}.style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;max-width:440px}.style-grid-opt{display:flex;flex-direction:column;gap:5px;align-items:center;padding:7px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-3);font-size:var(--text-sm);transition:border-color .15s,color .15s}.style-grid-opt img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm)}.style-grid-opt:hover{border-color:var(--border-hover);color:var(--text-1)}.style-grid-opt.on{border-color:var(--accent,#4f7cff);color:var(--accent,#4f7cff);background:color-mix(in srgb,var(--accent,#4f7cff) 12%,transparent);font-weight:600}@media (max-width:640px){.style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.guided-prompt{display:inline-flex;align-items:center;gap:6px;margin-top:6px}.guided-btn{border:1px dashed var(--border);background:none;color:var(--text-3);border-radius:999px;padding:4px 10px;font-size:var(--text-xs);cursor:pointer;transition:border-color .15s,color .15s}.guided-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.guided-btn:disabled{opacity:.55;cursor:default}.guided-note{font-size:var(--text-xs);color:var(--text-faint)}.hero-guided{display:flex;justify-content:flex-end;margin-top:6px}.composer-grow{flex:1 1}.chip{align-items:center;padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.chip,.chip-row{display:inline-flex}.chip-row{gap:6px}.wordcloud{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}button.chip{cursor:pointer;color:var(--text-2)}button.chip:hover{border-color:var(--border-strong)}button.chip.chip-active{border-color:var(--accent,#4c8dff);color:var(--text-1)}.scene-cast-picker{margin:10px 0}.scene-cast-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}button.scene-cast-chip{cursor:pointer;background:var(--surface-2);color:var(--text-2)}button.scene-cast-chip:hover{border-color:var(--border-strong)}button.scene-cast-on{border-color:var(--accent,#4c8dff)}.scene-cast-state{font-weight:800;margin-right:4px}.scene-cast-warn{margin-top:6px;font-size:var(--text-sm)}.scene-cast-picker .muted{color:var(--text-3);font-weight:400}.stage-card{margin-bottom:16px}.job-row-card{transition:border-color .12s ease}.job-row-card:hover{border-color:var(--border-strong)}.job-row-head{cursor:pointer}.job-details{display:flex;flex-direction:column;gap:8px}.job-details .panel-title{margin-top:12px;font-size:var(--text-md)}.job-config-table{margin:4px 0 8px}.job-config-value{word-break:break-word;white-space:pre-wrap}.job-config-id{font-family:monospace;font-size:.9em}.pp-help-btn{flex:none;width:34px;height:34px;border-radius:50%;font-weight:700;align-self:flex-end}.pp-help-modal{background:var(--surface-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight),var(--glass-shadow);border:1px solid var(--border);border-radius:12px;width:min(92vw,920px);max-height:86vh;overflow-y:auto;padding:16px 20px}.pp-help-modal .panel-title{font-size:1.15em;font-weight:700;margin:12px 0 6px}.pp-help-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:12px;gap:12px;margin:8px 0 16px}.pp-help-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.pp-help-card-label{font-weight:600;margin-top:6px}.pp-help-card-desc{font-size:.85em;color:var(--text-4);margin:4px 0 0}.pp-help-card-use{font-size:.85em;color:var(--text-3);margin:4px 0 0}.board-help-list{margin:8px 0 4px;padding-left:22px;display:grid;grid-gap:8px;gap:8px;color:var(--text-2);font-size:.92em}.board-help-list code,.board-help-modal code{font-size:.92em;padding:1px 5px;border-radius:4px}.board-help-code,.board-help-list code,.board-help-modal code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--code-bg)}.board-help-code{margin:8px 0 0;padding:12px 14px;max-height:40vh;overflow:auto;color:var(--text-2);font-size:12.5px;line-height:1.5;white-space:pre;border:1px solid var(--border);border-radius:8px}.stage-header{display:flex;align-items:center;gap:12px}.stage-prompt{color:var(--text-4);font-size:var(--text-md);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-row{display:flex;align-items:flex-start;gap:20px}.stage-source{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.stage-source img{width:120px;height:120px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border)}.stage-source span{color:var(--text-4);font-size:var(--text-sm)}.stage-arrow{color:var(--border-hover);font-size:20px;padding-top:44px}.result-grid{flex:1 1;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:14px;gap:14px}.result-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--media-bg);box-shadow:var(--glass-highlight);overflow:hidden;position:relative}.result-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.result-action{width:100%;border-radius:0;border:1px solid var(--border);background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-1);position:absolute;bottom:0;left:0;opacity:0;transition:opacity .15s ease;padding:12px}.result-card:focus-within .result-action,.result-card:hover .result-action{opacity:1}.result-failed,.result-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;aspect-ratio:1;color:var(--text-4);font-size:var(--text-md);padding:12px;position:relative}.result-pending{overflow:hidden;background:var(--surface-2)}.result-pending:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:skeleton-shimmer 1.6s ease-in-out infinite;pointer-events:none}.result-error{color:var(--error-text);font-size:var(--text-sm);overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.result-failed-icon{color:var(--error);font-size:20px}.spinner{width:22px;height:22px;border:2px solid var(--border-strong);border-top-color:var(--text-1);border-radius:50%}.spinner,.spinner-sm{animation:studio-spin .8s linear infinite}.spinner-sm{width:13px;height:13px;flex-shrink:0;border:2px solid var(--border-strong);border-top:2px solid;border-radius:50%;display:inline-block}@keyframes fade-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes studio-spin{to{transform:rotate(1turn)}}.studio-empty{border:1px dashed var(--border);border-radius:var(--radius-lg);padding:60px 20px}@media (max-width:900px){.composer-grid{grid-template-columns:1fr}.stage-row{flex-direction:column}.stage-arrow{padding-top:0;transform:rotate(90deg)}}.studio-tabs{display:inline-flex;gap:4px;margin-bottom:18px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--tab-track);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight);flex-wrap:wrap}.tab{padding:9px 15px;min-height:40px;border-radius:var(--radius-md);border:0;background:transparent;color:var(--text-3);font-size:var(--text-md);font-weight:600;letter-spacing:.01em;transition:color .12s ease,background .12s ease,box-shadow .12s ease}.tab:hover{color:var(--text-1);background:var(--surface-3);background:color-mix(in srgb,var(--surface-3) 60%,transparent)}.tab.active{background:var(--tab-chip);color:var(--text-1);box-shadow:0 1px 2px rgba(0,0,0,.25),inset 0 0 0 1px var(--border-strong)}.progress-track{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .4s ease}.hint-text{color:var(--text-4);font-size:var(--text-md);margin:6px 0}.help-guide{max-width:860px;margin:0 auto}.help-nav{position:-webkit-sticky;position:sticky;top:56px;z-index:9;background:var(--bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:8px 0;margin:0 0 12px;border-bottom:1px solid var(--border,#222)}.help-guide .studio-card-title{font-size:1.35em;font-weight:700;letter-spacing:-.01em;color:var(--text-1);margin-bottom:10px}.help-guide .studio-card-desc ol,.help-guide .studio-card-desc p,.help-guide .studio-card-desc ul{max-width:68ch}.studio-card-desc{line-height:1.6}.guide-shot{margin:16px 0;max-width:760px}.guide-shot-link{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:zoom-in;border-radius:var(--radius-md)}.guide-shot-link:hover .guide-shot-img{border-color:var(--accent,#666)}.guide-shot-img{display:block;width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--border,#333);box-shadow:0 4px 16px rgba(0,0,0,.35)}.guide-shot-hint{color:var(--text-4);opacity:.75}.guide-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:zoom-out;padding:24px}.guide-lightbox-img{max-width:100%;max-height:calc(100vh - 70px);width:auto;height:auto;border-radius:var(--radius-md);box-shadow:0 8px 40px rgba(0,0,0,.6)}.guide-lightbox-hint{color:#bbb;font-size:var(--text-sm)}.guide-shot-caption{color:var(--text-4);font-size:var(--text-sm);margin-top:6px;text-align:left}.guide-steps{margin:10px 0 10px 4px;padding-left:20px;display:flex;flex-direction:column;gap:8px}.guide-steps li{line-height:1.55}.guide-steps li::marker{color:var(--accent,#888);font-weight:600}.checkbox-row{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:var(--text-md);margin:6px 0;cursor:pointer}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent,#6366f1);cursor:pointer}.instrument-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:0 16px;gap:0 16px;margin:4px 0 12px}@media (max-width:640px){.instrument-grid{grid-template-columns:repeat(2,1fr)}}.music-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px 20px;gap:12px 20px;margin:12px 0}.music-fields .composer-select,.music-fields input[type=range]{width:100%}@media (max-width:900px){.music-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.music-fields{grid-template-columns:1fr}}.lyrics-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-top:10px}.composer-row.generate-row{margin-top:16px}.composer-controls>select.studio-input+.btn,.composer-controls>textarea.studio-input+.btn{margin-top:14px}.composer-row.generate-row>.btn{flex:0 0 auto;min-width:180px}.lyrics-tools select{min-width:240px;max-width:320px}.chip-ok{background:var(--ok-bg);color:var(--ok)}.chip-error{background:var(--error-bg);color:var(--error)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 8px;flex-wrap:wrap}.audio-preview{width:100%;height:40px;margin-bottom:10px}.audio-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.audio-row-info{display:flex;flex-direction:column;min-width:180px;flex:1 1}.audio-row-name{font-weight:600}.audio-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transcript-text{white-space:pre-wrap;line-height:1.55;color:var(--text-5)}.segment-table{width:100%;border-collapse:collapse;font-size:var(--text-md);max-height:320px;overflow-y:auto;display:block}.segment-table td,.segment-table th{text-align:left;padding:5px 10px;border-bottom:1px solid var(--surface-3);color:var(--text-2)}.segment-table th{color:var(--text-4);position:-webkit-sticky;position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--bg) 75%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.table td,.table th{border:1px solid var(--surface-3);padding:7px 12px;text-align:left;vertical-align:middle;color:var(--text-2)}.table th{color:var(--text-4);font-weight:600;letter-spacing:.04em;background:var(--surface-1);white-space:nowrap}.table td.num,.table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table tbody tr:hover td{background:var(--surface-1)}.video-result{display:flex;flex-direction:column;gap:10px}.video-preview{width:100%;max-width:640px;border-radius:var(--radius-sm);background:var(--black)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.lightbox-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px}.lightbox-overlay img{max-width:100%;max-height:calc(100vh - 88px);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--glass-shadow);object-fit:contain}.lightbox-caption{bottom:18px;left:50%;transform:translateX(-50%);font-size:var(--text-md);border:1px solid var(--border);padding:6px 16px;max-width:80vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-caption,.lightbox-close{position:absolute;color:var(--text-1);background:var(--surface-2);border-radius:999px}.lightbox-close{top:14px;right:18px;width:36px;height:36px;border:1px solid var(--border);font-size:18px;line-height:1;cursor:pointer}.library-thumb-btn{cursor:zoom-in}.hover-preview-btn,.library-thumb-btn{padding:0;border:0;background:none;display:block;width:100%}.hover-preview-btn{position:relative;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden}.hover-preview-poster,.hover-preview-video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--black);border-radius:var(--radius-sm)}.hover-preview-video{position:absolute;inset:0;height:100%}.hover-preview-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:rgba(0,0,0,.55);border:1px solid var(--border);color:#fff;font-size:15px;pointer-events:none}.mviewer-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px}.mviewer{max-width:min(1200px,96vw);flex-direction:column;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border);box-shadow:var(--glass-shadow)}.mviewer,.mviewer-stage{position:relative;display:flex;background:var(--media-bg,#000)}.mviewer-stage{align-items:center;justify-content:center}.mviewer-media{display:block;max-width:100%;max-height:calc(100vh - 150px);object-fit:contain}.mviewer-audio{width:min(560px,86vw);margin:36px 24px}.mviewer-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;background:linear-gradient(180deg,rgba(0,0,0,.62),transparent);pointer-events:none}.mviewer-title{display:flex;align-items:center;gap:8px;min-width:0}.mviewer-name{color:#fff;font-size:var(--text-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw;text-shadow:0 1px 6px rgba(0,0,0,.8)}.mviewer-count{color:rgba(255,255,255,.85);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:rgba(0,0,0,.45);border-radius:999px;padding:2px 10px}.mviewer-close{pointer-events:auto;width:34px;height:34px;flex:none;font-size:16px}.mviewer-arrow,.mviewer-close{border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.45);color:#fff;line-height:1;cursor:pointer}.mviewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;font-size:24px;display:grid;place-items:center;padding:0 0 3px}.mviewer-arrow:hover{background:rgba(0,0,0,.7)}.mviewer-prev{left:12px}.mviewer-next{right:12px}.mviewer-strip{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 14px;background:var(--surface-1);border-top:1px solid var(--border)}.kind-badge{display:inline-block;align-self:flex-start;padding:2px 8px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border);color:var(--text-2);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.prompt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px;align-items:start}.prompt-card{display:flex;flex-direction:column;margin:0;padding:0;overflow:hidden}.prompt-card-wide{grid-column:1/-1}.prompt-card-media{position:relative;aspect-ratio:4/3;background:var(--surface-2);border-bottom:1px solid var(--border);cursor:pointer}.prompt-card-media img{display:block;width:100%;height:100%;object-fit:cover}.prompt-card-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;color:var(--text-4);font-size:var(--text-sm)}.prompt-card-glyph{font-size:28px;line-height:1}.prompt-card-cat{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;border:none;font-size:11px;padding:3px 8px}.prompt-card-body{display:flex;flex-direction:column;gap:4px;padding:10px 14px;cursor:pointer}.prompt-grid .panel-title{font-size:var(--text-sm);line-height:1.35}.catrow{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border)}.prompt-preview{display:block;max-width:min(100%,480px);max-height:360px;object-fit:contain;border-radius:10px;border:1px solid var(--border);margin:0 0 12px;background:var(--surface-2)}.video-card{display:flex;flex-direction:column;gap:8px}.video-card-meta{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-md)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.project-card{display:block;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight),var(--glass-shadow);padding:16px;transition:border-color .15s ease}.project-card:hover{border-color:var(--accent)}.project-card-name{margin:8px 0 6px;font-size:var(--text-lg)}.project-card-brief{color:var(--text-3);font-size:var(--text-md);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-meta{display:flex;gap:12px;color:var(--text-4);font-size:var(--text-sm)}.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:14px;gap:14px}.scene-card .panel-body{display:flex;flex-direction:column;gap:8px}.scene-title-input{flex:1 1;min-width:80px;background:transparent;border:none;border-bottom:1px dashed var(--border-strong);color:var(--text-1);font-size:var(--text-base);padding:2px 4px}.scene-media{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}.scene-media img,.scene-media video{width:100%;height:100%;object-fit:contain}.scene-media-empty{color:var(--border-hover)}.scene-field,.scene-media-empty{font-size:var(--text-md)}.scene-actions{display:flex;gap:8px;flex-wrap:wrap}.scene-actions.secondary{opacity:.75}.composer-label.inline{display:flex;align-items:center;gap:8px}.character-row{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--surface-3);flex-wrap:wrap}.cast-row{align-items:flex-start;padding:10px 0}.cast-thumb{flex:0 0 180px;width:180px;aspect-ratio:4/3}.cast-info{flex:1 1 260px;display:flex;flex-direction:column;gap:6px}.chat-msg{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:8px;font-size:var(--text-base);line-height:1.45}.chat-msg.user{background:var(--surface-code);justify-content:flex-end}.chat-msg.assistant{background:var(--surface-chat-ai);border:1px solid var(--border)}.timeline-editor{display:flex;flex-direction:column;gap:6px}.tl-track-row{display:flex;align-items:center;gap:10px}.tl-track-label{width:76px;flex-shrink:0;font-size:var(--text-xs);letter-spacing:.06em;color:var(--text-4);text-align:right}.tl-track{position:relative;flex:1 1;height:34px;background:var(--surface-2);border-radius:6px;border:1px solid var(--surface-line);overflow:hidden}.tl-item{position:absolute;top:4px;bottom:4px;border-radius:4px;min-width:8px;cursor:pointer;opacity:.9}.tl-item.selected{outline:2px solid var(--text-1);opacity:1}.tl-item.muted{opacity:.35}.tl-video{background:var(--accent)}.tl-voice{background:var(--track-voice)}.tl-music{background:var(--track-music)}.tl-sfx{background:var(--track-sfx)}.tl-captions{background:var(--track-captions)}.tl-inspector{display:flex;flex-direction:column;gap:10px}.tl-add-music,.tl-inspector{border-top:1px solid var(--surface-line);margin-top:10px;padding-top:12px}.wrap{flex-wrap:wrap}.model-warning{position:relative;border:1px solid var(--warn-border);background:var(--warn-bg-soft);color:var(--warn-text);padding:12px 40px 12px 14px;border-radius:var(--radius-sm);font-size:var(--text-md);line-height:1.5;margin-bottom:14px}.model-warning strong{color:var(--warn)}.model-warning-list{margin:6px 0 0;padding-left:18px}.model-warning-list li{margin-bottom:4px}.banner-close{position:absolute;top:8px;right:10px;background:transparent;border:none;color:inherit;opacity:.7}.chip-warn{background:var(--warn-bg);color:var(--warn)}.chip-pulse{animation:chip-pulse 1.6s ease-in-out infinite}@keyframes chip-pulse{50%{opacity:.55}}.mode-switch .studio-tabs{margin-bottom:0}.studio-notice{padding:10px 12px;border-radius:var(--radius-sm);background:var(--warn-bg-soft);border:1px solid var(--warn-border);color:var(--warn-text);font-size:var(--text-md)}.settings-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px;margin-top:12px}.settings-field-grid .studio-field-label{display:block;margin-bottom:6px}.settings-field-grid select.settings-edit-control{width:100%;max-width:none}.settings-edit-control{width:auto;min-width:240px;max-width:360px;padding:8px 12px}select.settings-edit-control{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}select.settings-edit-control option{background:var(--bg);color:var(--text-1)}.model-table{max-height:none;display:table}.model-table code{background:var(--surface-code);padding:2px 6px;border-radius:4px;font-size:var(--text-sm)}.auth-wrap{min-height:80vh;display:flex;align-items:center;justify-content:center}.auth-card{background:var(--surface-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-highlight),var(--glass-shadow);border:1px solid var(--auth-border);border-radius:var(--radius-lg);padding:32px;width:340px;display:flex;flex-direction:column;gap:10px}.auth-card h1{margin:0 0 4px}.auth-card>p{color:var(--auth-text);margin:0 0 1em}.auth-input{background:var(--input-bg);border:1px solid var(--auth-border);border-radius:var(--radius-md);box-shadow:var(--glass-highlight);color:var(--auth-text-2);padding:10px 12px;font-size:var(--text-base)}.auth-input:focus{border-color:var(--accent);outline:none}.auth-error{color:var(--error);margin:8px 0}.auth-button{background:var(--accent);color:white;border:none;border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--text-base);font-weight:600;cursor:pointer}.auth-link{background:none;border:none;color:var(--auth-text);font-size:var(--text-md);cursor:pointer;text-decoration:underline}.lora-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.lora-meta-hint{color:var(--text-2);font-size:var(--text-sm,.85rem)}.lora-trigger-row{flex-wrap:wrap}.lora-nsfw-flag,button.chip.lora-trigger-chip{font-size:var(--text-sm,.85rem)}.lora-nsfw-flag{cursor:pointer;border:1px solid rgba(255,120,120,.45);border-radius:8px;padding:4px 10px;background:rgba(255,90,90,.12);color:#ff9d9d}.lora-nsfw-flag:hover{background:rgba(255,90,90,.2)}.nsfw-modal{width:min(460px,100%);display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--surface-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:12px;box-shadow:var(--glass-highlight),var(--glass-shadow);color:var(--text-1)}.nsfw-modal-title{margin:0;font-size:1.15rem}.nsfw-modal-hint{color:var(--text-2);font-size:var(--text-sm,.85rem)}.nsfw-modal-actions{display:flex;justify-content:flex-end;margin-top:4px}.wizard-open-btn{font-size:var(--text-sm,.85rem);padding:4px 10px}.composer-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.wizard-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.wizard-modal{width:min(560px,100%);max-height:calc(100vh - 60px);overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:22px 24px;background:var(--surface-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:12px;box-shadow:var(--glass-highlight),var(--glass-shadow);color:var(--text-1)}.wizard-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.wizard-title{margin:0;font-size:1.1rem}.wizard-progress{display:flex;gap:6px}.wizard-dot{width:22px;height:4px;border-radius:2px;background:var(--surface-3)}.wizard-dot.done{background:var(--accent,#6ea8fe)}.wizard-body{display:flex;flex-direction:column;gap:12px;min-height:160px}.wizard-hint{margin:0;color:var(--text-2);font-size:var(--text-sm,.85rem)}.wizard-choices{display:flex;flex-wrap:wrap;gap:8px}.wizard-choice{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--input-bg);color:var(--text-1);font-size:var(--text-sm,.85rem);cursor:pointer}.wizard-choice:hover{border-color:var(--border-strong,var(--border))}.wizard-choice.active{border-color:var(--accent,#6ea8fe);background:rgba(110,168,254,.16)}.wizard-field{display:flex;flex-direction:column;gap:12px}.wizard-nav{display:flex;justify-content:space-between;gap:10px;margin-top:4px}.roop-options{display:flex;flex-direction:column;gap:14px}.roop-opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.roop-opt-grid label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm,.85rem);color:var(--text-2)}.roop-opt-grid input[type=range]{width:100%}.roop-opt-checks{display:flex;flex-wrap:wrap;gap:16px}.roop-face-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.roop-face-gallery-wrap{margin-top:10px}.roop-face-gallery{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.roop-face-thumb{width:72px;height:72px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated,transparent);color:var(--text-dim);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:18px}.roop-face-thumb img{width:100%;height:100%;object-fit:cover}.roop-face-active,.roop-face-thumb:hover{border-color:var(--accent)}.roop-face-active{box-shadow:0 0 0 2px var(--accent)}.roop-face-clear{width:36px;height:72px}.roop-details{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.roop-details summary{cursor:pointer;font-weight:600;color:var(--text)}.roop-details[open] summary{margin-bottom:10px}.roop-preview{width:100%;border-radius:var(--radius-sm);border:1px solid var(--border);margin-top:12px}.roop-live-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.roop-live-video{width:100%;border-radius:var(--radius-sm);border:1px solid var(--border);background:#000}.roop-face-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}.btn-xs{padding:4px 10px;font-size:var(--text-sm,.85rem)}@media (hover:none),(max-width:1023px){.btn{min-height:var(--touch);padding:11px 16px}.btn-xs{min-height:36px}.tab{padding:10px 14px}.auth-input,.settings-edit-control,.studio-input,.style-picker-trigger,.tab{min-height:var(--touch)}.chip,button.chip,button.scene-cast-chip{padding:9px 12px}.header-action,.wizard-choice{min-height:var(--touch)}.checkbox-row input[type=checkbox]{width:20px;height:20px}.source-remove{width:28px;height:28px;font-size:var(--text-sm)}.banner-close,.lightbox-close{width:44px;height:44px;font-size:20px}input[type=range]{min-height:32px}}@media (hover:none){.result-action{opacity:1}}@media (max-width:900px){.studio{padding:24px 20px 40px}.studio-header{align-items:flex-start;flex-direction:column;gap:14px}.panel-header{gap:10px}.composer-row,.panel-header{flex-wrap:wrap}.composer-select{min-width:140px}.cast-thumb{flex-basis:100%;width:100%}.style-picker-panel{width:min(396px,calc(100vw - 24px))}}@media (max-width:640px){.studio{padding:18px 12px 32px}.studio-center{padding-top:32px;padding-left:12px;padding-right:12px}.studio-form{min-width:0}.studio-empty{padding:36px 16px}.studio-tabs{display:flex;width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.studio-tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap}.panel-body{padding:16px}.panel-header{padding:14px 16px}.stat-card{min-height:104px;padding:14px}.stat-value{font-size:22px}.table{display:block;max-width:100%;overflow-x:auto}.library-grid,.result-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.project-grid,.scene-grid{grid-template-columns:1fr}.prompt-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.pp-help-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.settings-field-grid{grid-template-columns:1fr}.settings-edit-control{width:100%;min-width:0;max-width:none}.source-slot{width:100%;max-width:320px}.stage-source img{width:96px;height:96px}.tl-track-label{width:56px}.log-viewer{max-height:52vh;padding:10px 12px;font-size:11.5px}.audio-row-info{min-width:0;width:100%}.signin-overlay,.term-overlay,.wizard-overlay{align-items:flex-end;padding:0}.files-modal,.nsfw-modal,.pp-help-modal,.signin-sheet,.term-modal,.wizard-modal{width:100%;max-width:none;min-width:0;max-height:88vh;border-radius:14px 14px 0 0;resize:none}.term-modal{height:78vh}.wizard-modal{max-height:86vh;padding:18px}.nsfw-modal{padding:20px}.pp-help-modal{max-height:86vh;padding:14px 16px}.guide-lightbox,.lightbox-overlay{padding:12px}.guide-shot{max-width:none}.auth-card{width:min(340px,100%);padding:24px}.auth-wrap{min-height:60vh}.topbar-right{gap:8px}}@media (min-width:1600px){.dashboard,.studio{max-width:1680px}}.btn-sm{min-height:32px;padding:5px 10px;font-size:var(--text-sm)}.btn-lg{min-height:var(--touch);padding:12px 20px;font-size:var(--text-base)}.dialog-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dialog{width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--glass-highlight),var(--glass-shadow);color:var(--text-1)}.dialog-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em}.dialog-close{position:absolute;top:14px;right:14px;width:var(--touch);height:var(--touch);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);font-size:18px;line-height:1}.dialog-close:hover{background:var(--surface-3);color:var(--text-1)}.dialog-actions{justify-content:flex-end;flex-wrap:wrap}.dialog-actions,.toast-stack{display:flex;gap:var(--space-2)}.toast-stack{position:fixed;top:calc(var(--topbar-h) + var(--space-3));right:var(--space-4);z-index:1100;flex-direction:column;width:min(360px,calc(100vw - 2 * var(--space-4)))}.toast{display:flex;align-items:flex-start;gap:var(--space-2);padding:10px 12px;border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-md);background:var(--surface-2);box-shadow:var(--glass-shadow);color:var(--text-1);font-size:var(--text-md);line-height:var(--leading-normal)}.toast-success{border-left-color:var(--ok)}.toast-error{border-left-color:var(--error)}.toast-info{border-left-color:var(--accent)}.toast-dismiss{flex-shrink:0;width:28px;height:28px;margin:-4px -4px 0 0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);font-size:15px;line-height:1}.toast-dismiss:hover{background:var(--surface-3);color:var(--text-1)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2)}.theme-toggle:hover{border-color:var(--border-hover);color:var(--text-1)}.theme-menu{position:fixed;z-index:130;display:grid;grid-gap:2px;gap:2px;padding:6px;background:var(--popover-bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 18px 48px rgba(0,0,0,.55)}.theme-menu-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.theme-menu-item:hover{background:var(--surface-3);color:var(--text-1)}.theme-menu-item[aria-checked=true]{color:var(--text-1);border-color:var(--accent)}.theme-menu-icon{display:inline-flex;flex:none}.theme-menu-name{flex:1 1}.theme-menu-swatch{flex:none;display:inline-flex;align-items:center;width:28px;height:16px;padding:0 4px;border:1px solid var(--border);border-radius:4px}.theme-menu-swatch i{width:8px;height:8px;border-radius:50%}.theme-menu-check{flex:none;display:inline-flex;width:14px;color:var(--accent)}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:2000;padding:10px 16px;border-radius:var(--radius-sm);background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-weight:var(--weight-semibold);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}@media (max-width:640px){.dialog-overlay{align-items:flex-end;padding:0}.dialog{width:100%;max-width:none;max-height:88vh;border-radius:14px 14px 0 0;padding:var(--space-5)}.toast-stack{top:auto;bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom) + var(--space-3));left:var(--space-3);right:var(--space-3);width:auto}.theme-toggle{width:var(--touch);height:var(--touch)}}.field-help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:5px;padding:0;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-2);font-size:10px;font-weight:700;line-height:1;cursor:pointer;vertical-align:middle}.field-help:hover,.field-help[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.composer-row .field-help{align-self:center;margin-left:4px}.field-help-pop{position:fixed;z-index:90;background:var(--popover-bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.35);max-height:calc(100vh - 16px);overflow-y:auto}.field-help-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--accent);margin-bottom:6px}.field-help-item+.field-help-item{margin-top:7px;padding-top:7px;border-top:1px solid var(--border)}.field-help-name{font-size:12px;font-weight:600;color:var(--text-2)}.field-help-desc{font-size:11.5px;line-height:1.45;color:var(--text-2);opacity:.8;margin-top:2px}.wipe-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.65);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.wipe-modal{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;box-shadow:var(--glass-highlight),var(--glass-shadow)}.wipe-stage{position:relative;aspect-ratio:9/16;height:min(62vh,78vw);background:#000;border-radius:8px;overflow:hidden}.wipe-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.wipe-handle{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.8);transform:translateX(-1px);pointer-events:none}.wipe-tag{position:absolute;bottom:10px;font-size:11px;padding:3px 8px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff}.wipe-tag-left{left:10px}.wipe-tag-right{right:10px}.wipe-controls{display:flex;align-items:center;gap:12px}.wipe-controls input[type=range]{flex:1 1}.assistant-col{width:100%;max-width:780px;margin:0 auto;gap:16px}.assistant-col,.assistant-form{display:flex;flex-direction:column}.assistant-row{display:flex;gap:10px;margin-top:10px;align-items:center}.assistant-busy-hint{color:var(--text-dim);font-size:var(--text-sm)}.assistant-error{margin-top:12px;color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--text-sm)}.assistant-q{margin:0 0 8px;font-weight:600;overflow-wrap:anywhere}.assistant-a{white-space:pre-wrap;line-height:1.5;overflow-wrap:anywhere}.assistant-col .chip-row{display:flex;flex-wrap:wrap}.assistant-col .chip{white-space:normal;text-align:left;padding:6px 12px}.assistant-source{color:var(--text-dim);font-size:var(--text-sm);margin:12px 0 0}.switch-cell{display:inline-flex;align-items:center;gap:8px}.ui-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:44px;height:24px;flex:none;margin-left:10px;border-radius:999px;border:1px solid var(--surface-3);background:var(--surface-1);position:relative;cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease}.ui-switch .ui-switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-3);transition:transform .15s ease,background .15s ease}.ui-switch.on{background:var(--accent);border-color:var(--accent)}.ui-switch.on .ui-switch-knob{transform:translateX(20px);background:#fff}.ui-switch:disabled{opacity:.5;cursor:default}.ui-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}