@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800;900&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;800&display=swap";:root{--bg-0:#020204;--bg-1:#0a0a0c;--bg-2:#121216;--bg-3:#1a1a20;--bg-hover:#22222a;--surface-0:#000;--surface-1:#0d0d11;--surface-2:#16161c;--text-0:#fff;--text-1:#e2e8f0;--text-2:#94a3b8;--text-3:#64748b;--gold:#eab308;--gold-dim:#eab3081a;--gold-border:#eab30840;--gold-glow:#eab30826;--accent:#6366f1;--accent-dim:#6366f11a;--green:#10b981;--red:#f43f5e;--amber:#f59e0b;--blue:#0ea5e9;--border:#ffffff14;--border-hover:#ffffff24;--radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-xl:32px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--font-heading:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{height:100%;font-family:var(--font-body);background:var(--bg-0);color:var(--text-0);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6;transition:background-color .3s,color .3s,border-color .3s}[data-theme=light]{--bg-0:#f8fafc;--bg-1:#fff;--bg-2:#f1f5f9;--bg-3:#e2e8f0;--bg-hover:#cbd5e1;--surface-0:#fff;--surface-1:#f8fafc;--surface-2:#f1f5f9;--text-0:#0f172a;--text-1:#334155;--text-2:#64748b;--text-3:#94a3b8;--border:#00000014;--border-hover:#00000024;--gold-dim:#eab3081f}#root{height:100%}a{color:var(--gold);text-decoration:none;transition:color .15s}a:hover{color:#d4ad2b}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 var(--gold-glow)}50%{box-shadow:0 0 16px 4px var(--gold-glow)}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.pulse{animation:2s ease-in-out infinite pulse}.fade-in{animation:fadeIn .4s var(--ease-out) both}.btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--bg-2);color:var(--text-0);transition:all .2s var(--ease-out);outline:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;border-radius:inherit;background:#fff;transition:opacity .15s;position:absolute;inset:0}.btn:hover{background:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn:hover:after{opacity:.03}.btn:active{transition-duration:80ms;transform:translateY(0)scale(.96)}.btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none;transform:none}.btn:disabled:after{display:none}.btn-primary{background:var(--gold);color:#0a0a0a;border-color:var(--gold);font-weight:600}.btn-primary:hover{background:#d4ad2b;border-color:#d4ad2b;box-shadow:0 4px 20px #c9a22740}.btn-primary:active{box-shadow:0 2px 8px #c9a22733}.btn-ghost{color:var(--text-1);background:0 0;border-color:#0000;padding:8px}.btn-ghost:hover{background:var(--bg-2);color:var(--text-0);box-shadow:none}.btn-danger{color:var(--red);background:0 0;border-color:#ef44442e}.btn-danger:hover{background:#ef44440f;box-shadow:0 4px 12px #ef444414}.btn-sm{padding:7px 12px;font-size:13px}.btn-lg{padding:14px 28px;font-size:15px}.btn-full{width:100%}.btn-icon{min-width:36px;height:36px;padding:8px}.input{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-0);outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.input:hover{border-color:var(--border-hover);background:var(--bg-3)}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-dim);background:var(--bg-2)}.input::placeholder{color:var(--text-2);transition:color .2s}.input:focus::placeholder{color:#0000}textarea.input{resize:none;min-height:48px;line-height:1.6}.input-idea{border-left:3px solid var(--amber)}.input-idea:focus{border-color:var(--amber);box-shadow:0 0 0 3px #f59e0b14}.input-script{border-left:3px solid var(--blue);letter-spacing:-.3px;font-family:JetBrains Mono,Courier New,monospace;font-size:13px}.input-script:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f614}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s ease, transform .25s var(--ease-out), box-shadow .25s ease;padding:20px}.card:hover{border-color:var(--border-hover)}.badge{transition:transform .2s var(--ease-spring);border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge:hover{transform:scale(1.05)}.badge-gold{background:var(--gold-dim);color:var(--gold);border:1px solid var(--gold-border)}.badge-green{color:var(--green);background:#22c55e14}.badge-amber{color:var(--amber);background:#f59e0b14}.badge-blue{color:var(--blue);background:#3b82f614}.progress-bar{background:var(--bg-3);border-radius:2px;width:100%;height:4px;position:relative;overflow:hidden}.progress-fill{background:var(--gold);height:100%;transition:width .4s var(--ease-out);border-radius:2px;position:relative}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000 30%,#ffffff4d 50%,#0000 70%) 0 0/200% 100%;animation:2s linear infinite shimmer;position:absolute;inset:0}.spinner{border:2px solid var(--bg-3);border-top-color:var(--gold);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin}.stat{text-align:center;min-width:100px;transition:transform .25s var(--ease-spring);padding:18px 12px}.stat:hover{transform:translateY(-3px)}.stat-value{font-size:26px;font-weight:700;transition:color .2s}.stat-label{color:var(--text-2);margin-top:2px;font-size:12px}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-1);border-right:1px solid var(--border);width:260px;min-width:260px;height:100vh;transition:width .3s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);padding:18px 18px 14px}.sidebar-logo{color:var(--gold);letter-spacing:-.3px;cursor:pointer;font-size:17px;font-weight:700;transition:opacity .2s}.sidebar-logo:hover{opacity:.8}.sidebar-new-btn{width:100%;animation:fadeIn .3s var(--ease-out) both;margin-top:10px}.sidebar-section{padding:8px 10px 4px}.sidebar-section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.6px;padding:8px 10px 6px;font-size:11px;font-weight:600}.sidebar-list{flex:1;padding:4px 10px;overflow-y:auto}.sidebar-item{border-radius:var(--radius);cursor:pointer;color:var(--text-1);transition:all .18s var(--ease-out);align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:14px;display:flex;position:relative}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-0)}.sidebar-item.active{background:var(--gold-dim);color:var(--gold)}.sidebar-item.active:before{content:"";background:var(--gold);width:4px;height:18px;box-shadow:0 0 10px var(--gold-glow);border-radius:0 4px 4px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-item-icon{text-align:center;opacity:.7;width:20px;transition:opacity .15s ease, transform .2s var(--ease-spring);flex-shrink:0}.sidebar-item-icon svg{width:18px;height:18px;display:block}.sidebar-item:hover .sidebar-item-icon{opacity:1;transform:scale(1.1)}.sidebar-item.active .sidebar-item-icon{opacity:1;color:var(--gold)}.sidebar-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.sidebar-item.active .sidebar-item-title{font-weight:700}.sidebar-item-menu{opacity:0;transition:opacity .18s;position:relative}.sidebar-item:hover .sidebar-item-menu{opacity:1}.sidebar-dot{width:7px;height:7px;transition:transform .3s var(--ease-spring);border-radius:50%;flex-shrink:0}.sidebar-item:hover .sidebar-dot{transform:scale(1.3)}.sidebar-dot.complete{background:var(--green)}.sidebar-dot.processing{background:var(--amber);animation:2s infinite dotPulse}.sidebar-dot.error{background:var(--red)}.sidebar-footer{border-top:1px solid var(--border);background:var(--bg-1);flex-direction:column;gap:10px;margin-top:auto;padding:16px;display:flex}.sidebar-footer-info{flex:1;min-width:0}.sidebar-footer-email{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.dropdown{z-index:50;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);min-width:150px;animation:slideDown .18s var(--ease-out) both;padding:4px;position:absolute;top:100%;right:8px;box-shadow:0 8px 30px #00000080}.dropdown-item{cursor:pointer;color:var(--text-1);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:9px 14px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-0);padding-left:18px}.dropdown-item.danger{color:var(--red)}.dropdown-item.danger:hover{background:#ef44440f}.main{background:var(--bg-0);flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.main-scroll{scroll-behavior:smooth;flex:1;overflow-y:auto}.main-center{justify-content:center;align-items:center;min-height:100%;padding:32px;display:flex}.main-page{max-width:620px;animation:fadeIn .35s var(--ease-out) both;margin:0 auto;padding:32px}.main-page-wide{max-width:1040px;animation:fadeIn .35s var(--ease-out) both;margin:0 auto;padding:32px}.auth-page{background:var(--bg-0);justify-content:center;align-items:center;height:100vh;display:flex}.auth-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;animation:fadeInScale .4s var(--ease-out) both;padding:36px}.auth-card h1{margin-bottom:4px;font-size:22px;font-weight:700}.auth-card p{color:var(--text-1);margin-bottom:28px;font-size:14px}.auth-card .form-group{margin-bottom:16px}.auth-card label{color:var(--text-2);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.auth-card .error-msg{color:var(--red);text-align:center;margin-top:10px;font-size:13px;animation:.2s both fadeIn}.auth-card .auth-footer{text-align:center;color:var(--text-1);margin-top:20px;font-size:14px}.welcome{text-align:center;max-width:480px;animation:slideUp .5s var(--ease-out) both}.welcome h2{letter-spacing:-.3px;margin-bottom:8px;font-size:26px;font-weight:700}.welcome p{color:var(--text-1);font-size:15px;line-height:1.6}.progress-view{text-align:center;width:100%;max-width:440px;animation:fadeInScale .4s var(--ease-out) both}.progress-view .scene-num{color:var(--gold);letter-spacing:-2px;text-shadow:0 0 24px var(--gold-glow);margin-bottom:4px;font-size:52px;font-weight:800;animation:3s infinite glowPulse}.progress-view h3{color:var(--text-1);margin-bottom:18px;font-size:15px;font-weight:500}.progress-view .progress-msg{color:var(--text-1);margin-top:18px;font-size:14px}.video-view{width:100%;max-width:760px;animation:fadeInScale .5s var(--ease-out) both}.video-view video{border-radius:var(--radius-lg);background:#000;width:100%;transition:box-shadow .3s;display:block;box-shadow:0 8px 40px #0006}.video-view video:hover{box-shadow:0 12px 48px #00000080}.video-view .video-title{text-align:center;color:var(--text-1);margin-top:12px;font-size:14px}.video-view .video-actions{justify-content:center;gap:8px;margin-top:16px;display:flex}.chat-bar{border-top:1px solid var(--border);background:var(--bg-1);animation:slideUp .3s var(--ease-out) both;padding:14px 20px 20px}.chat-opts{flex-wrap:wrap;align-items:center;gap:6px;max-width:760px;margin-bottom:8px;margin-left:auto;margin-right:auto;display:flex}.chat-opt{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-1);align-items:center;gap:4px;padding:5px 10px;font-size:13px;transition:all .2s;display:flex}.chat-opt:hover{border-color:var(--border-hover);background:var(--bg-3);transform:translateY(-1px)}.chat-opt select{color:inherit;font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;outline:none}.chat-opt select option{background:var(--bg-1)}.chat-row{align-items:flex-end;gap:8px;max-width:760px;margin:0 auto;display:flex}.chat-row textarea{flex:1;min-height:44px;max-height:120px;font-size:14px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.grid-card{cursor:pointer;transition:all .25s var(--ease-out);padding:0;overflow:hidden}.grid-card:hover{border-color:var(--gold-border);transform:translateY(-4px);box-shadow:0 12px 32px #0000004d}.grid-card video{object-fit:cover;width:100%;height:180px;transition:transform .4s var(--ease-out);background:#000;display:block}.grid-card:hover video{transform:scale(1.03)}.grid-card-info{padding:16px}.grid-card-title{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:14px;font-weight:600;overflow:hidden}.grid-card-meta{color:var(--text-2);align-items:center;gap:8px;font-size:12px;display:flex}.grid-card-actions{opacity:0;transition:all .2s var(--ease-out);gap:6px;margin-top:10px;display:flex;transform:translateY(4px)}.grid-card:hover .grid-card-actions{opacity:1;transform:translateY(0)}.landing{background:var(--bg-0);min-height:100vh;overflow-y:auto}.landing-nav{border-bottom:1px solid var(--border);animation:fadeIn .5s var(--ease-out) both;justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.landing-nav-logo{color:var(--gold);font-size:17px;font-weight:700;transition:opacity .2s}.landing-nav-logo:hover{opacity:.8}.landing-nav-actions{align-items:center;gap:8px;display:flex}.landing-hero{text-align:center;max-width:620px;animation:slideUp .6s var(--ease-out) both;margin:0 auto;padding:80px 28px 56px}.landing-hero h1{letter-spacing:-1px;margin-bottom:16px;font-size:42px;font-weight:800;line-height:1.12}.landing-hero h1 span{color:var(--gold)}.landing-hero p{color:var(--text-1);margin-bottom:32px;font-size:16px;line-height:1.7}.landing-pill{background:var(--gold-dim);border:1px solid var(--gold-border);color:var(--gold);animation:fadeInScale .4s .2s var(--ease-out) both;border-radius:6px;margin-bottom:18px;padding:5px 14px;font-size:12px;font-weight:600;display:inline-block}.landing-features{max-width:860px;margin:0 auto;padding:40px 28px 56px}.landing-features .card{animation:fadeIn .4s var(--ease-out) both;transition:all .25s var(--ease-out)}.landing-features .card:hover{border-color:var(--gold-border);transform:translateY(-4px);box-shadow:0 8px 24px #0003}.landing-features .grid .card:first-child{animation-delay:.1s}.landing-features .grid .card:nth-child(2){animation-delay:.15s}.landing-features .grid .card:nth-child(3){animation-delay:.2s}.landing-features .grid .card:nth-child(4){animation-delay:.25s}.landing-features .grid .card:nth-child(5){animation-delay:.3s}.landing-features .grid .card:nth-child(6){animation-delay:.35s}.landing-cta{text-align:center;animation:fadeIn .5s .4s var(--ease-out) both;padding:40px 28px 72px}.landing-footer{text-align:center;border-top:1px solid var(--border);color:var(--text-2);padding:18px 28px;font-size:12px}.badge{cursor:default}.chat-opt{cursor:pointer}.stat,.landing-pill{cursor:default}.sidebar-logo,.grid-card,select{cursor:pointer}.hamburger{cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:8px;display:none}.hamburger svg{width:22px;height:22px;color:var(--text-0);display:block}.sidebar-overlay{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.open{animation:.2s both fadeIn;display:block}.mobile-tabbar{display:none}@media (width<=768px){.hamburger{display:none!important}.mobile-nav{display:none}.sidebar-overlay,.sidebar{display:none!important}.app-layout{flex-direction:column;height:100dvh}.main{flex:1;height:auto;min-height:0;overflow:hidden}.main-page,.main-page-wide,.main-center{padding:20px}.landing-hero{padding:48px 20px 36px}.landing-hero h1{font-size:30px}.grid{grid-template-columns:1fr}.mobile-topbar{border-bottom:1px solid var(--border);background:var(--bg-1);flex-shrink:0;align-items:center;height:52px;padding:0 16px;display:flex}.mobile-topbar .sidebar-logo{font-size:15px}.mobile-tabbar{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg-1);border-top:1px solid var(--border);z-index:100;flex-shrink:0;justify-content:space-around;align-items:center;display:flex}.mobile-tab-item{height:56px;color:var(--text-2);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;transition:all .2s;display:flex}.mobile-tab-item:active{background:var(--bg-hover)}.mobile-tab-item.active{color:var(--gold)}.mobile-tab-icon{width:22px;height:22px;transition:transform .2s var(--ease-spring);justify-content:center;align-items:center;display:flex}.mobile-tab-item.active .mobile-tab-icon{color:var(--gold);transform:scale(1.1)}.mobile-tab-label{letter-spacing:.2px;font-size:10px;font-weight:600}}@media (width>=769px){.mobile-nav,.mobile-topbar,.hamburger{display:none}.sidebar-overlay{display:none!important}}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.margin-right-desktop{margin-right:5px!important}@media (width<=640px){.main-center{align-items:flex-start!important;padding:20px 16px!important}.main-page,.main-page-wide{width:100%;padding:16px}.welcome h2{font-size:22px}.welcome p{font-size:14px}.chat-bar{padding:12px 14px 14px}.chat-opts{gap:4px}.chat-opt{padding:4px 8px;font-size:12px}.chat-opt select{font-size:12px}.chat-row{gap:6px}.chat-row textarea{font-size:13px}.chat-row .btn{font-size:13px;min-width:80px!important}.script-toolbar{flex-direction:column;align-items:flex-start!important;gap:12px!important;padding:12px 16px!important}.script-brief-row{flex-direction:column;align-items:stretch!important;gap:10px!important}.script-brief-row .btn{min-width:100%!important;height:44px!important}.script-editor-container{padding:12px 16px!important}.preview-container{padding:16px!important}.preview-actions{flex-direction:column;gap:10px!important}}.upgrade-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.upgrade-modal-card{background:var(--bg-1);border:1px solid var(--gold-border);text-align:center;width:100%;max-width:440px;animation:fadeInScale .4s var(--ease-out) both;border-radius:20px;padding:32px;box-shadow:0 20px 50px #00000080}.upgrade-icon{margin-bottom:16px;font-size:48px}.upgrade-modal-card h2{color:var(--gold);margin-bottom:12px;font-size:24px;font-weight:800}.upgrade-modal-card p{color:var(--text-1);margin-bottom:24px;font-size:15px;line-height:1.6}.upgrade-highlight{background:var(--gold-dim);border:1px solid var(--gold-border);text-align:left;border-radius:12px;margin-bottom:24px;padding:16px}.upgrade-highlight span{color:var(--gold);margin-bottom:4px;font-size:14px;font-weight:700;display:block}.upgrade-highlight p{color:var(--text-0)!important;margin-bottom:0!important;font-size:13px!important}.studio-input-container{transition:all .3s var(--ease-out)}.studio-input-container:focus-within{box-shadow:0 20px 60px #0006, 0 0 0 1px var(--gold-border);border-color:var(--gold-border)!important}.internal-selector select{background:var(--bg-2);border:1px solid var(--border);color:var(--text-1);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);appearance:none;border-radius:10px;outline:none;padding:6px 12px;transition:all .15s}.internal-selector select:hover{background:var(--bg-hover);border-color:var(--text-2)}.sidebar-footer-profile{background:var(--bg-1);border:1px solid var(--border);border-radius:16px;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.sidebar-footer-avatar{background:linear-gradient(135deg, var(--gold), #d4ad2b);color:#000;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:flex}.sidebar-footer-details{flex:1;min-width:0}.sidebar-footer-name{color:var(--text-0);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.sidebar-footer-credits{color:var(--gold);align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;animation:fadeIn .3s var(--ease-out) both;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-1);border:1px solid var(--border);animation:fadeInScale .4s var(--ease-spring) both;border-radius:28px;box-shadow:0 40px 100px #0009}.studio-timeline{background:var(--bg-1);border-top:1px solid var(--border);scrollbar-width:none;gap:12px;padding:12px;display:flex;overflow-x:auto}.studio-timeline::-webkit-scrollbar{display:none}.clip-thumb{background:var(--bg-2);cursor:pointer;width:140px;height:80px;transition:all .2s var(--ease-out);border:2px solid #0000;border-radius:12px;flex-shrink:0;position:relative;overflow:hidden}.clip-thumb.active{border-color:var(--gold);transform:scale(1.05)}.clip-thumb video .studio-root{color:#fff;background:#000;flex-direction:column;height:100dvh;min-height:0;max-height:100dvh;display:flex;overflow:hidden}.studio-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:#0006;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.project-title-row{align-items:center;gap:12px;margin-bottom:4px;display:flex}.project-badge{background:var(--bg-3);color:var(--text-2);letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:800}.project-info h2{letter-spacing:-.5px;margin:0;font-size:18px;font-weight:800}.project-meta{color:var(--text-3);font-size:12px}.studio-main-grid{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.studio-main-grid.timeline-visible{padding-bottom:64px}.studio-viewport{background:radial-gradient(circle,#0a0a0a 0%,#000 100%);flex:1;justify-content:center;align-items:center;min-height:0;padding:8px 12px;display:flex;position:relative;overflow:hidden}.main-video-element{border:1px solid #ffffff0d;border-radius:16px;max-width:100%;max-height:100%;box-shadow:0 40px 100px #000000e6}.clip-player-container{justify-content:center;align-items:center;width:100%;max-width:1180px;height:100%;min-height:0;margin:0 auto;display:flex;position:relative}.studio-media-frame{max-height:620px;flex:0 auto!important;width:min(100%,1120px)!important;height:min(56dvh,100dvh - 238px)!important;min-height:240px!important}.studio-clip-footer{width:min(100%,1120px);max-height:40px;overflow:hidden}.rendering-placeholder,.pending-placeholder,.empty-viewport{text-align:center;max-width:400px}.icon-circle{background:var(--bg-2);width:80px;height:80px;color:var(--gold);border:1px solid var(--border);border-radius:100%;justify-content:center;align-items:center;margin:0 auto 24px;display:flex}.viewport-overlay-bottom{pointer-events:none;align-items:center;gap:12px;display:flex;position:absolute;bottom:24px;left:24px;right:24px}.viewport-overlay-bottom>*{pointer-events:auto}.clip-index-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border:1px solid #ffffff1a;border-radius:100px;padding:6px 14px;font-size:11px;font-weight:800}.delete-btn-minimal{color:#f43f5e;cursor:pointer;background:#f43f5e1a;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.delete-btn-minimal:hover{color:#fff;background:#f43f5e}.studio-timeline-v2{--timeline-card-height:36px;z-index:12;background:#0006;border-top:1px solid #ffffff0d;flex-shrink:0;height:64px;padding:4px 0;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:auto hidden}.timeline-scroller{align-items:flex-start;gap:12px;padding:0 24px;display:flex}.timeline-card{cursor:pointer;flex-direction:column;flex-shrink:0;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.card-preview{aspect-ratio:16/9;background:var(--bg-2);border:2px solid #0000;border-radius:8px;margin-bottom:6px;position:relative;overflow:hidden}.timeline-card.active .card-preview{border-color:var(--gold);transform:scale(1.05);box-shadow:0 0 20px #c9a2274d}.card-preview video,.card-preview img{object-fit:cover;width:100%;height:100%}.card-label{color:var(--text-3);text-align:center;font-size:11px;font-weight:700}.duration-tag{background:#0009;border-radius:4px;padding:2px 6px;font-size:10px;position:absolute;bottom:4px;right:4px}.timeline-add-card{aspect-ratio:16/9;border:1px dashed var(--border);cursor:pointer;color:var(--text-3);border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;transition:all .2s;display:flex}.timeline-add-card:hover{border-color:var(--gold);color:var(--gold);background:#c9a2270d}.studio-footer{z-index:20;background:linear-gradient(#0000,#000);flex-shrink:0;justify-content:center;padding:5px 14px 7px;display:flex;position:relative}.input-capsule{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141418cc;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;width:100%;max-width:920px;padding:4px 6px;transition:all .3s;display:flex;box-shadow:0 10px 40px #00000080}.input-capsule:focus-within{border-color:#c9a22766;box-shadow:0 20px 60px #000000b3}.input-capsule textarea{color:#fff;resize:none;background:0 0;border:none;outline:none;width:100%;max-height:58px;padding:12px 16px;font-family:inherit;font-size:15px;line-height:1.5;overflow-y:auto}.capsule-actions{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:3px 8px;display:flex}.action-group{align-items:center;gap:8px;display:flex}.toggle-btn{color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:100px;padding:6px 12px;font-size:12px;transition:all .2s}.toggle-btn.active{color:var(--gold);background:#c9a2271a;border-color:#c9a2274d}.duration-select{color:var(--text-2);cursor:pointer;background:0 0;border:none;outline:none;font-size:12px}.send-btn{background:var(--gold);color:#000;cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.send-btn:disabled{opacity:.3;cursor:not-allowed;filter:grayscale()}.studio-toast-error{color:#fff;z-index:1000;background:#f43f5e;border-radius:100px;align-items:center;padding:10px 20px;font-size:13px;font-weight:700;animation:.3s cubic-bezier(.18,.89,.32,1.28) slideInDown;display:flex;position:absolute;top:100px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #f43f5e66}@keyframes slideInDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.spinner-large{border:4px solid #ffffff1a;border-top-color:var(--gold);border-radius:100%;width:40px;height:40px;margin:0 auto 16px;animation:1s linear infinite spin}.spinner-small{border:2px solid #ffffff1a;border-top-color:var(--gold);border-radius:100%;width:16px;height:16px;animation:1s linear infinite spin}.studio-empty-state{background:radial-gradient(circle,#111 0%,#000 100%);flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.empty-content{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:500px;display:flex}.icon-badge{background:var(--gold-dim);color:var(--gold);letter-spacing:2px;border:1px solid var(--gold);border-radius:100px;margin-bottom:8px;padding:4px 12px;font-size:10px;font-weight:900}.empty-content h1{letter-spacing:-2px;background:linear-gradient(#fff,#999);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:48px;font-weight:900}.empty-content p{color:var(--text-2);font-size:16px;line-height:1.6}.btn-large{border-radius:100px;padding:16px 40px;font-size:15px;font-weight:800}@media (width<=768px){.studio-header{padding:10px 12px}.project-info h2{font-size:14px}.studio-main-grid.timeline-visible{padding-bottom:84px}.studio-timeline-v2{--timeline-card-height:48px;height:84px;padding:6px 0}.studio-viewport{padding:6px}.studio-media-frame{max-height:none;flex:1!important;width:100%!important;height:auto!important;min-height:0!important}.studio-clip-footer{width:100%;max-height:none}.input-capsule{border-radius:14px;max-width:100%}.studio-footer{padding:6px 10px 8px}.input-capsule textarea{max-height:100px!important}.empty-content h1{font-size:32px}.hidden-mobile{display:none!important}.margin-right-desktop{margin-right:0!important}}@media (width>=1200px){.input-capsule{max-width:1060px}}@media (width>=1600px){.input-capsule{max-width:1200px}}.video-player-container:hover .video-seek-slider{height:6px!important}.video-seek-slider::-webkit-slider-thumb{appearance:none;background:var(--gold);cursor:pointer;border-radius:50%;width:12px;height:12px;transition:transform .1s;box-shadow:0 0 10px #00000080}.video-seek-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.video-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:8px;height:8px}.dropdown-item:hover{background:var(--bg-hover)!important}.dropdown-item.delete:hover{background:#f43f5e1a!important}.timeline-card:hover .timeline-reorder-group{opacity:1!important}.visible-mobile{display:none!important}@media (width<=768px){.visible-mobile{display:block!important}.studio-header{gap:8px;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.header-actions{justify-content:flex-end;align-items:center}}.project-card-hover{transition:all .25s var(--ease-out)}.project-card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0006;background:#18181cd9!important;border-color:#eab30840!important}.timeline-scroller{scroll-snap-type:x mandatory;scroll-padding:0 16px}.timeline-card,.timeline-add-card{scroll-snap-align:start}@media (width<=480px){.capsule-actions{flex-direction:column;gap:8px;align-items:stretch!important}.action-group{justify-content:space-between;width:100%}}:root{--admin-bg:#0a0a0c;--admin-sidebar:#121215;--admin-accent:#6366f1;--admin-accent-glow:#6366f133;--admin-text:#e2e8f0;--admin-text-dim:#94a3b8;--admin-border:#ffffff14;--admin-card:#18181b;--admin-success:#10b981}.admin-container{background-color:var(--admin-bg);height:100vh;color:var(--admin-text);font-family:Inter,sans-serif;display:flex}.admin-sidebar{background:var(--admin-sidebar);border-right:1px solid var(--admin-border);flex-direction:column;width:260px;padding:2rem 1rem;display:flex}.admin-logo{margin-bottom:3rem;padding:0 1rem;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800}.admin-logo span{color:var(--admin-accent)}.admin-sidebar nav{flex-direction:column;flex:1;gap:.5rem;display:flex}.admin-sidebar nav button{color:var(--admin-text-dim);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:.75rem;padding:.875rem 1rem;font-weight:500;transition:all .2s;display:flex}.admin-sidebar nav button svg{opacity:.6}.admin-sidebar nav button:hover{color:var(--admin-text);background:#ffffff0d}.admin-sidebar nav button.active{background:var(--admin-accent-glow);color:var(--admin-accent)}.admin-sidebar nav button.active svg{opacity:1}.sidebar-footer{padding:1rem}.sidebar-footer button{border:1px solid var(--admin-border);width:100%;color:var(--admin-text);cursor:pointer;background:#ffffff0d;border-radius:8px;padding:.75rem}.admin-main{flex:1;padding:2rem 3rem;overflow-y:auto}.admin-header{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex}.admin-header h1{font-family:Outfit,sans-serif;font-size:2rem;font-weight:600}.admin-user-info{color:var(--admin-text-dim);background:var(--admin-card);border:1px solid var(--admin-border);border-radius:20px;padding:.5rem 1rem;font-size:.875rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--admin-card);border:1px solid var(--admin-border);border-radius:16px;padding:1.5rem;transition:transform .2s}.stat-card:hover{border-color:var(--admin-accent);transform:translateY(-4px)}.stat-label{color:var(--admin-text-dim);margin-bottom:.5rem;font-size:.875rem}.stat-value{margin-bottom:.25rem;font-family:Outfit,sans-serif;font-size:2rem;font-weight:700}.stat-trend{color:var(--admin-success);font-size:.75rem}.chart-placeholder{background:var(--admin-card);border:1px solid var(--admin-border);border-radius:16px;grid-column:span 2;padding:1.5rem}.simple-bar-chart{align-items:flex-end;gap:8px;height:150px;margin-top:1rem;display:flex}.bar{background:linear-gradient(to top, var(--admin-accent), #818cf8);opacity:.6;border-radius:4px 4px 0 0;flex:1}.table-container{background:var(--admin-card);border:1px solid var(--admin-border);border-radius:16px;overflow:hidden}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--admin-text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--admin-border);background:#ffffff05;padding:1rem 1.5rem;font-size:.75rem;font-weight:600}td{border-bottom:1px solid var(--admin-border);padding:1rem 1.5rem;font-size:.9rem}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff05}.mono{opacity:.7;font-family:monospace;font-size:.8rem}.actions-cell{gap:.5rem;display:flex}.mini-btn{background:var(--admin-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.75rem;font-weight:600;transition:opacity .2s}.mini-btn.secondary{color:var(--admin-text);background:#ffffff1a}.mini-btn:hover{opacity:.8}.filter-banner{background:var(--admin-accent-glow);color:var(--admin-accent);border-bottom:1px solid var(--admin-border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;font-size:.875rem;display:flex}.filter-banner button{border:1px solid var(--admin-accent);color:var(--admin-accent);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .75rem;font-size:.75rem}.badge{text-transform:capitalize;border-radius:6px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.badge.complete{color:#10b981;background:#10b9811a}.badge.generating{color:#3b82f6;background:#3b82f61a}.badge.error{color:#ef4444;background:#ef44441a}.admin-login-overlay{z-index:1000;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-login-card{text-align:center;border:1px solid var(--admin-border);background:#111;border-radius:24px;width:100%;max-width:400px;padding:3rem}.admin-login-card h2{margin:1.5rem 0 .5rem;font-family:Outfit}.admin-login-card p{color:var(--admin-text-dim);margin-bottom:2rem;font-size:.9rem}.admin-login-card input{border:1px solid var(--admin-border);color:#fff;text-align:center;letter-spacing:.5em;background:#18181b;border-radius:12px;width:100%;margin-bottom:1rem;padding:1rem;font-size:1.25rem}.admin-login-card button{background:var(--admin-accent);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:1rem;font-weight:600}.error-msg{color:#ef4444;margin-bottom:1rem;font-size:.875rem}.assistant-container{background:var(--admin-card);border:1px solid var(--admin-border);border-radius:16px;flex-direction:column;height:calc(100vh - 200px);display:flex}.chat-messages{flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex;overflow-y:auto}.message{border-radius:16px;max-width:80%;padding:1rem 1.25rem;font-size:.95rem;line-height:1.5}.message.assistant{background:#ffffff0d;border-bottom-left-radius:4px;align-self:flex-start}.message.user{background:var(--admin-accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-input{border-top:1px solid var(--admin-border);gap:1rem;padding:1.5rem;display:flex}.chat-input input{border:1px solid var(--admin-border);color:#fff;background:#ffffff08;border-radius:12px;outline:none;flex:1;padding:.875rem 1.25rem}.chat-input button{background:var(--admin-accent);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:0 1.5rem;font-weight:600}.video-modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.video-modal-content{border:1px solid var(--admin-border);background:#000;border-radius:20px;width:90%;max-width:1000px;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.close-modal{color:#fff;cursor:pointer;z-index:2100;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:2rem;display:flex;position:absolute;top:1rem;right:1.5rem}.admin-video-player{width:100%;max-height:80vh;display:block}.farm-dashboard{flex-direction:column;gap:2rem;display:flex}.farm-layout{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;display:grid}.farm-panel{background:var(--admin-card);border:1px solid var(--admin-border);border-radius:16px;flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.farm-panel h2{margin:0;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:600}.panel-desc{color:var(--admin-text-dim);margin:0;font-size:.9rem;line-height:1.6}.harvest-form{margin-top:.5rem}.form-group-inline{align-items:center;gap:1rem;display:flex}.form-group-inline label{color:var(--admin-text);font-size:.9rem;font-weight:500}.form-group-inline input{border:1px solid var(--admin-border);color:#fff;text-align:center;background:#ffffff08;border-radius:8px;outline:none;width:100px;padding:.6rem .8rem;font-size:.9rem;font-weight:600}.harvester-progress-container{border:1px solid var(--admin-border);background:#ffffff05;border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.progress-header{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.running-text{flex:1;font-weight:600}.progress-count{color:var(--admin-text-dim);font-size:.85rem}.pulse-dot{background-color:var(--admin-success);border-radius:50%;width:10px;height:10px;animation:1.5s infinite pulse-animation;box-shadow:0 0 #10b981b3}@keyframes pulse-animation{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.progress-bar-bg{background:#ffffff0d;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--admin-accent), #818cf8);border-radius:4px;height:100%;transition:width .4s}.progress-meta-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.meta-item{flex-direction:column;gap:.25rem;display:flex}.meta-label{color:var(--admin-text-dim);text-transform:uppercase;font-size:.75rem}.meta-val{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700}.meta-val.error{color:#ef4444}.cron-schedule-list{flex-direction:column;gap:.75rem;display:flex}.cron-item{border:1px solid var(--admin-border);background:#ffffff05;border-radius:8px;justify-content:space-between;padding:.8rem 1rem;font-size:.9rem;display:flex}.cron-time{color:var(--admin-text);font-weight:600}.cron-details{color:var(--admin-text-dim)}.scheduler-state-box{border:1px solid var(--admin-border);background:#ffffff05;border-radius:12px;flex-direction:column;gap:.75rem;margin-top:.5rem;padding:1.25rem;display:flex}.scheduler-state-box h3{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.state-row{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.state-row .state-label{color:var(--admin-text-dim)}.state-row .state-val{font-weight:500}.state-row .badge{padding:.15rem .5rem;font-size:.7rem}.worker-streams{border-top:1px solid var(--admin-border);margin-top:2rem;padding-top:1.5rem}.worker-streams h3{align-items:center;gap:.5rem;margin-bottom:1rem;font-family:Outfit,sans-serif;font-size:1rem;display:flex}.worker-streams h3:before{content:"";background:#ff4757;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse-red;display:inline-block}@keyframes pulse-red{0%{box-shadow:0 0 #ff4757b3}70%{box-shadow:0 0 0 6px #ff475700}to{box-shadow:0 0 #ff475700}}.streams-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.stream-item{border:1px solid var(--admin-border);background:#000;border-radius:8px;position:relative;overflow:hidden}.stream-item img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.stream-label{background:#000c;flex-direction:column;gap:2px;padding:.5rem;font-size:.7rem;display:flex}.stream-label span:first-child{color:var(--admin-accent);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.stream-label span:last-child{color:var(--admin-text-dim)}.stream-placeholder{text-align:center;color:var(--admin-text-dim);border:1px dashed var(--admin-border);background:#ffffff03;border-radius:8px;grid-column:1/-1;padding:2rem;font-size:.85rem;font-style:italic}.btn-full{width:100%;padding:1rem;font-size:1rem;font-weight:700}
