body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#050505}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.font-serif{font-family:Playfair Display,serif}.font-sans{font-family:Inter,sans-serif}.text-rose-custom{color:#fbafdae6}.bg-rose-custom{background-color:#bd9bafe6}.border-rose-custom{border-color:#fbcfe84d}.shadow-rose-custom{box-shadow:0 0 40px -10px #fbcfe84d}@keyframes scroll-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.animate-scroll-up{animation:scroll-up 20s linear infinite}@keyframes shimmer{to{transform:translateX(100%)}}.card-spotlight{background:#0a0a0a;position:relative}.card-spotlight:before{background:radial-gradient(600px circle at var(--card-x) var(--card-y),#fbcfe84d,#0000 40%);border-radius:inherit;content:"";inset:-1px;opacity:0;position:absolute;transition:opacity .5s;z-index:0}.card-spotlight:hover:before{opacity:1}.card-inner{background:#0a0a0a;border-radius:inherit;height:100%;position:relative;z-index:1}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.animate-bounce-slow{animation:bounce-slow 2s infinite}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#0c0d11;--bg-panel:#151720;--bg-panel-alt:#1d1f2a;--bg-subtle:#050505;--bg-input:#0006;--text-primary:#fff;--text-secondary:#fffc;--text-muted:#fff9;--text-faint:#fff6;--text-rose:#fbcfe8e6;--border-soft:#ffffff0d;--border-subtle:#ffffff14;--border-rose:#fbcfe84d;--accent-rose:#fbcfe8e6;--accent-rose-soft:#fbcfe840;--accent-rose-bg:#fbcfe814;--status-error-bg:#ef44441a;--status-error-border:#ef44444d;--status-error-text:#fca5a5;--status-warning-bg:#f59e0b1a;--status-warning-border:#f59e0b4d;--status-warning-text:#fbbf24;--status-success-bg:#10b9811a;--status-success-border:#10b9814d;--status-success-text:#34d399;--btn-primary-bg:#fff;--btn-primary-text:#000;--btn-subtle-bg:#fbcfe81a;--btn-subtle-text:#ffffffe6;--shadow-soft:0 0 30px #0009;--shadow-panel:0 16px 40px #000000b3;--shadow-rose:0 0 30px #fbcfe840}body{-webkit-font-smoothing:antialiased;color:#fff;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app,body{background:#0c0d11;background:var(--bg-deep)}.app{display:flex;height:100vh}.sidebar{background:#151720;background:var(--bg-panel);border-right:1px solid #ffffff0d;border-right:1px solid var(--border-soft);box-shadow:0 0 30px #0009;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;position:relative;transition:width .3s ease,min-width .3s ease;width:380px}.gradient-heading{background:linear-gradient(120deg,#f9a8d4,#f5d0fe);background-clip:text;-webkit-background-clip:text;color:#0000}.sidebar.collapsed{min-width:60px;width:60px}.sidebar-toggle{align-items:center;background:#151720;background:var(--bg-panel);border:1px solid #fbcfe84d;border:1px solid var(--border-rose);border-radius:999px;color:#fbcfe8e6;color:var(--text-rose);cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:-12px;top:20px;transition:all .2s;width:24px;z-index:10}.sidebar-toggle:hover{background:#1d1f2a;background:var(--bg-panel-alt);box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose);transform:scale(1.05)}.sidebar-header{background:#151720;background:var(--bg-panel);border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-soft);padding:20px}.logo{gap:10px;margin-bottom:8px}.logo,.logo-icon{align-items:center;display:flex}.logo-icon{background:#0f0f0f;border:1px solid #fbcfe84d;border:1px solid var(--border-rose);border-radius:10px;color:#fbcfe8e6;color:var(--text-rose);height:32px;justify-content:center;width:32px}.logo-text{color:#fff;color:var(--text-primary);font-size:22px;font-weight:700;letter-spacing:.04em}.subtitle{color:#fff9;color:var(--text-muted);display:block;font-size:12px;margin-bottom:16px;padding-left:42px}.progress-container{margin-top:12px}.progress-bars{display:flex;gap:6px;margin-bottom:8px}.progress-bar{background:#151515;border-radius:999px;flex:1 1;height:4px;transition:all .3s}.progress-bar.active{background:#fbcfe840;background:var(--accent-rose-soft)}.progress-labels{color:#fff6;color:var(--text-faint);display:flex;font-size:11px;font-weight:500;justify-content:space-between}.progress-labels span.active{color:#fbcfe8e6;color:var(--text-rose)}.sidebar-content{flex:1 1;overflow-y:auto;padding:20px}.sidebar-content::-webkit-scrollbar{width:5px}.sidebar-content::-webkit-scrollbar-track{background:#0000}.sidebar-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.form-section{display:flex;flex-direction:column;gap:16px}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-row.single-column{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{align-items:center;color:#fffc;color:var(--text-secondary);display:flex;font-size:13px;font-weight:500;gap:6px}.info-icon{color:#fbcfe840;color:var(--accent-rose-soft);cursor:help}.form-group input,.form-group select,.form-group textarea{background:#0006;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;color:#fff;color:var(--text-primary);font-family:inherit;font-size:13px;padding:10px 12px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#fbcfe84d;border-color:var(--border-rose);box-shadow:0 0 0 1px #fbcfe84d;box-shadow:0 0 0 1px var(--border-rose);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff6;color:var(--text-faint)}.form-group textarea{line-height:1.4;resize:none}.partner-section{background:#0006;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:10px;margin-top:8px;padding:12px}.partner-section h4{color:#fffc;color:var(--text-secondary);font-size:13px;margin-bottom:8px}.field-note{color:#fff9;color:var(--text-muted);font-size:11px;margin-top:4px}.model-select{align-items:center;background:#0006;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;position:relative}.model-icon{background:#101010;border:1px solid #ffffff0d;border:1px solid var(--border-soft);border-radius:6px;flex-shrink:0;height:24px;width:24px}.model-name{color:#fff;color:var(--text-primary);flex:1 1;font-size:13px;font-weight:500}.dropdown-arrow{color:#fff6;color:var(--text-faint);flex-shrink:0}.model-select select{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.advanced-section{border-top:1px solid #ffffff0d;border-top:1px solid var(--border-soft);margin-top:12px;padding-top:16px}.advanced-toggle{align-items:center;background:#0006;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;color:#fffc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;justify-content:space-between;padding:10px 12px;transition:all .2s;width:100%}.advanced-toggle:hover{background:#ffffff08;border-color:#fbcfe84d;border-color:var(--border-rose)}.advanced-toggle-content{align-items:center;display:flex;gap:8px}.advanced-content{background:#0009;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;gap:14px;margin-top:12px;padding:16px}.advanced-content,.styles-grid{display:flex;flex-direction:column}.styles-grid{gap:10px}.style-card-compact{background:#00000080;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:10px;transition:all .2s}.style-card-compact:hover{background:#ffffff05;border-color:#fbcfe84d;border-color:var(--border-rose)}.style-card-compact.active{border-color:#fbcfe8e6;border-color:var(--accent-rose);box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose)}.style-thumbnail{background:#111;border-radius:6px;flex-shrink:0;height:60px;overflow:hidden;position:relative;width:80px}.style-thumbnail img{height:100%;object-fit:cover;width:100%}.selected-badge{align-items:center;background:#000;border:1px solid #fbcfe84d;border:1px solid var(--border-rose);border-radius:4px;color:#fbcfe8e6;color:var(--accent-rose);display:flex;justify-content:center;padding:3px;position:absolute;right:4px;top:4px}.style-info-compact{display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center}.style-name{color:#fff;color:var(--text-primary);font-size:13px;font-weight:600}.style-desc{color:#fff9;color:var(--text-muted);font-size:11px;line-height:1.3}.estimate-box{background:#fbcfe814;background:var(--accent-rose-bg);border:1px solid #fbcfe840;border:1px solid var(--accent-rose-soft);border-radius:10px;margin-top:8px;padding:14px}.estimate-box h4{color:#fffc;color:var(--text-secondary);font-size:13px;margin-bottom:10px}.estimate-row{color:#fff9;color:var(--text-muted);display:flex;font-size:12px;justify-content:space-between;margin-bottom:6px}.estimate-row:last-child{margin-bottom:0}.estimate-row strong{color:#fff;color:var(--text-primary)}.sidebar-footer{border-top:1px solid #ffffff0d;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:10px;padding:20px}.error-banner{background:#ef44441a;background:var(--status-error-bg);border:1px solid #ef44444d;border:1px solid var(--status-error-border);border-radius:8px;color:#fca5a5;color:var(--status-error-text);font-size:12px;line-height:1.4;padding:10px 12px}.generate-btn{align-items:center;background:#fff;background:var(--btn-primary-bg);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;box-shadow:none;color:#000;color:var(--btn-primary-text);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .2s;width:100%}.generate-btn:hover:not(:disabled){box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose);transform:translateY(-1px) scale(1.02)}.generate-btn:disabled{cursor:not-allowed;opacity:.6}.approve-btn{align-items:center;background:#fbcfe8e6;background:var(--accent-rose);border:none;border-radius:999px;color:#000;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .2s;width:100%}.approve-btn:hover:not(:disabled){box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose);transform:translateY(-1px) scale(1.02)}.approve-btn:disabled{cursor:not-allowed;opacity:.6}.back-btn{background:#0000;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;color:#fffc;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:10px;transition:all .2s;width:100%}.back-btn:hover{border-color:#fbcfe84d;border-color:var(--border-rose);color:#fbcfe8e6;color:var(--text-rose)}.spinning{animation:spin 1s linear infinite}.progress-details{margin-bottom:10px}.progress-bar-full{background:#131313;border-radius:999px;height:6px;overflow:hidden;width:100%}.progress-fill{background:#fbcfe840;background:var(--accent-rose-soft);height:100%;transition:width .3s ease}.progress-fill.indeterminate{animation:indeterminate 1.5s ease-in-out infinite;width:30%}@keyframes indeterminate{0%{transform:translateX(-100%)}50%{transform:translateX(250%)}to{transform:translateX(-100%)}}.progress-text{color:#fffc;color:var(--text-secondary);font-size:12px;margin-top:6px}.progress-subtext{color:#fff9;color:var(--text-muted);font-size:11px}.main-content{background:#0c0d11;background:var(--bg-deep);display:flex;flex:1 1;flex-direction:column}.main-header{background:#151720;background:var(--bg-panel);border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-soft);justify-content:space-between;padding:16px 32px}.header-left,.main-header{align-items:center;display:flex}.header-left{gap:12px}.project-selector{align-items:center;display:flex;gap:8px;position:relative}.edit-project-btn{align-items:center;background:none;border:none;color:#fff9;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;transition:color .2s}.edit-project-btn:hover{color:#fffc;color:var(--text-secondary)}.project-dropdown{cursor:pointer;font-size:14px;height:100%;left:0;opacity:0;pointer-events:all;position:absolute;top:0;width:100%}.project-name-editor{align-items:center;display:flex;gap:8px}.project-name-editor input{background:#0006;background:var(--bg-input);border:1px solid #fbcfe84d;border:1px solid var(--border-rose);border-radius:6px;color:#fff;color:var(--text-primary);font-size:14px;font-weight:500;padding:6px 12px}.cancel-project-btn,.save-project-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;padding:6px;transition:all .2s}.save-project-btn{background:#fbcfe8e6;background:var(--accent-rose);color:#000}.save-project-btn:hover{box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose);transform:scale(1.03)}.cancel-project-btn{background:#ffffff08;color:#fff9;color:var(--text-muted)}.cancel-project-btn:hover{background:#ffffff0f}.project-name{color:#fff9;color:var(--text-muted);font-size:14px;font-weight:500}.header-right{gap:12px}.header-btn,.header-right{align-items:center;display:flex}.header-btn{background:#0000;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;color:#fffc;color:var(--text-secondary);cursor:pointer;font-size:13px;gap:6px;padding:8px 14px;transition:all .2s}.header-btn:hover{background:#ffffff08;border-color:#fbcfe84d;border-color:var(--border-rose)}.credits-badge{align-items:center;background:#ffffff05;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;color:#fffc;color:var(--text-secondary);display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.credit-icon{font-size:14px}.upgrade-btn{background:#fbcfe8e6;background:var(--accent-rose);border:none;border-radius:999px;box-shadow:none;color:#000;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.upgrade-btn:hover{box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose);transform:translateY(-1px) scale(1.02)}.main-body{flex:1 1;overflow-y:auto;padding:40px}.main-body::-webkit-scrollbar{width:8px}.main-body::-webkit-scrollbar-track{background:#0000}.main-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.hero{margin:0 auto;max-width:1400px}.hero-content{margin:0 auto 60px;max-width:900px;text-align:center}.hero-badge{align-items:center;background:#ffffff08;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;color:#fffc;color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:500;gap:6px;margin-bottom:24px;padding:6px 14px}.hero h1{color:#fff;color:var(--text-primary);font-size:52px;font-weight:700;line-height:1.2;margin-bottom:16px}.hero>.hero-content>p{color:#fff9;color:var(--text-muted);font-size:18px;line-height:1.6;margin-bottom:48px}.hero-styles{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.hero-style-card{background:#151720;background:var(--bg-panel);border:1px solid #ffffff0d;border:1px solid var(--border-soft);border-radius:14px;box-shadow:none;cursor:pointer;overflow:hidden;transition:all .3s}.hero-style-card:hover{border-color:#fbcfe84d;border-color:var(--border-rose);box-shadow:0 16px 40px #000000b3;box-shadow:var(--shadow-panel);transform:translateY(-4px)}.hero-style-card.active{border-color:#fbcfe8e6;border-color:var(--accent-rose);box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose)}.hero-style-preview{aspect-ratio:16/10;background:#000;overflow:hidden;position:relative}.hero-style-preview img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.hero-style-card:hover .hero-style-preview img{transform:scale(1.03)}.play-overlay{align-items:center;background:radial-gradient(circle at center,#00000080,#0000 70%);display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s}.hero-style-card:hover .play-overlay{opacity:1}.hero-style-info{padding:16px}.hero-style-info h4{color:#fff;color:var(--text-primary);font-size:15px;font-weight:600;margin-bottom:6px}.hero-style-info p{color:#fff9;color:var(--text-muted);font-size:13px;line-height:1.4}.gallery{margin:0 auto;max-width:1400px}.gallery h3{color:#fff;color:var(--text-primary);font-size:24px;font-weight:600;margin-bottom:24px}.gallery-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.gallery-header-left{display:flex;flex-direction:column;gap:12px}.status-badge{border-radius:999px;display:inline-block;font-size:13px;font-weight:500;padding:6px 12px}.status-badge.warning{background:#f59e0b1a;background:var(--status-warning-bg);border:1px solid #f59e0b4d;border:1px solid var(--status-warning-border);color:#fbbf24;color:var(--status-warning-text)}.status-badge.success{background:#10b9811a;background:var(--status-success-bg);border:1px solid #10b9814d;border:1px solid var(--status-success-border);color:#34d399;color:var(--status-success-text)}.scene-controls{gap:12px}.scene-controls,.search-box{align-items:center;display:flex}.search-box{background:#00000080;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;gap:8px;min-width:260px;padding:10px 14px;position:relative}.search-box svg{color:#fff6;color:var(--text-faint);flex-shrink:0}.search-box input{background:#0000;border:none;color:#fff;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:13px;outline:none}.clear-search,.search-box input::placeholder{color:#fff6;color:var(--text-faint)}.clear-search{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:2px;transition:color .2s}.clear-search:hover{color:#fffc;color:var(--text-secondary)}.filter-dropdown{position:relative}.filter-btn{align-items:center;background:#00000080;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;color:#fffc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 14px;text-transform:capitalize;transition:all .2s}.filter-btn:hover{background:#ffffff08;border-color:#fbcfe84d;border-color:var(--border-rose)}.filter-btn.active{background:#ffffff0d;border-color:#fbcfe8e6;border-color:var(--accent-rose);color:#fff;color:var(--text-primary)}.filter-menu{background:#151720;background:var(--bg-panel);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 16px 40px #000000b3;box-shadow:var(--shadow-panel);min-width:180px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}.filter-option{background:none;border:none;border-radius:6px;color:#fffc;color:var(--text-secondary);cursor:pointer;display:block;font-size:13px;padding:10px 12px;text-align:left;transition:all .2s;width:100%}.filter-option:hover{background:#ffffff08;color:#fff;color:var(--text-primary)}.filter-option.active{background:#ffffff0d;color:#fff;color:var(--text-primary);font-weight:600}.no-results{align-items:center;color:#fff9;color:var(--text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:80px 20px}.no-results svg{opacity:.3}.no-results p{font-size:16px}.clear-filters-btn,.no-results p{color:#fffc;color:var(--text-secondary)}.clear-filters-btn{background:#ffffff08;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:10px 20px;transition:all .2s}.clear-filters-btn:hover{background:#ffffff0f;border-color:#fbcfe84d;border-color:var(--border-rose)}.gallery-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.gallery-item{background:#151720;background:var(--bg-panel);border:1px solid #ffffff0d;border:1px solid var(--border-soft);border-radius:14px;box-shadow:none;overflow:hidden;transition:all .3s}.gallery-item:hover{border-color:#fbcfe84d;border-color:var(--border-rose);box-shadow:0 16px 40px #000000b3;box-shadow:var(--shadow-panel);transform:translateY(-4px)}.gallery-item img{aspect-ratio:3/2;object-fit:cover;width:100%}.scene-placeholder{align-items:center;aspect-ratio:3/2;background:#101010;color:#fff6;color:var(--text-faint);display:flex;justify-content:center;width:100%}.scene-content{display:flex;flex-direction:column;height:100%;padding:16px 20px 24px}.scene-number{color:#fffc;color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:8px}.scene-description{color:#fff;color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.4;margin-bottom:8px}.scene-metadata{color:#fff9;color:var(--text-muted);font-size:12px;line-height:1.5;margin-bottom:12px}.scene-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px}.scene-tags span{background:#ffffff08;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;color:#fffc;color:var(--text-secondary);font-size:11px;font-weight:500;padding:5px 12px}.scene-image-wrapper{position:relative}.scene-actions{display:flex;gap:6px;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s}.gallery-item:hover .scene-actions{opacity:1}.scene-action-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;border:1px solid #fbcfe84d;border:1px solid var(--border-rose);border-radius:8px;color:#fffc;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.scene-action-btn:hover:not(:disabled){background:#ffffff14;transform:scale(1.05)}.scene-action-btn:disabled{cursor:not-allowed;opacity:.5}.skeleton-loader{overflow:hidden;position:relative}.skeleton-image{aspect-ratio:3/2;border-radius:14px 14px 0 0;width:100%}.skeleton-image,.skeleton-text{animation:skeleton-pulse 1.5s infinite;background:linear-gradient(90deg,#37415166,#4b556399,#37415166);background-size:200% 100%}.skeleton-text{border-radius:999px;height:10px;margin:10px 16px}.skeleton-text.short{width:60%}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.photo-section{background:#0009;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-top:20px;padding:16px}.photo-section h4{color:#fffc;color:var(--text-secondary);font-size:14px}.photo-help{color:#fff9;color:var(--text-muted);font-size:12px}.photo-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.photo-uploader{display:flex;flex-direction:column;gap:6px}.photo-label{align-items:center;color:#fffc;color:var(--text-secondary);display:flex;font-size:13px;justify-content:space-between}.photo-label-content{align-items:center;display:flex;gap:6px}.photo-count,.photo-uploader input[type=file]{color:#fff9;color:var(--text-muted);font-size:12px}.photo-uploader input[type=file]{background:#00000080;border:1px dashed #fbcfe84d;border:1px dashed var(--border-rose);border-radius:8px;padding:10px 12px}.storyboard-preview{background:#000000bf;border:1px solid #ffffff0d;border:1px solid var(--border-soft);border-radius:16px;box-shadow:0 16px 40px #000000b3;box-shadow:var(--shadow-panel);margin:0 auto;max-width:900px;padding:32px}.storyboard-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.storyboard-preview h3{color:#fff;color:var(--text-primary);font-size:22px;margin-bottom:12px}.storyboard-intro{color:#fff9;color:var(--text-muted);font-size:14px;margin-bottom:20px}.storyboard-list,.storyboard-preview ol{list-style:decimal inside}.storyboard-preview ol{color:#fffc;color:var(--text-secondary);display:flex;flex-direction:column;gap:18px}.storyboard-preview li::marker{color:#fffc;color:var(--text-secondary);font-weight:700}.storyboard-preview li{background:#0009;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:12px;padding:16px}.storyboard-preview li h4{color:#fff;color:var(--text-primary);font-size:16px;margin-bottom:8px}.storyboard-preview li p{color:#fffc;color:var(--text-secondary);font-size:13px;line-height:1.5;margin-bottom:10px}.storyboard-error{color:#fca5a5;color:var(--status-error-text);font-size:12px;margin-top:8px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#151720;background:var(--bg-panel);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 16px 40px #000000b3;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#fff;color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;color:#fff9;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;transition:color .2s}.modal-close:hover{color:#fffc;color:var(--text-secondary)}.modal-body{overflow-y:auto;padding:24px}.modal-body label{color:#fffc;color:var(--text-secondary);display:block;font-size:13px;font-weight:500;margin-bottom:8px}.modal-body textarea{background:#0006;background:var(--bg-input);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;color:#fff;color:var(--text-primary);font-family:inherit;font-size:13px;padding:12px;resize:vertical;width:100%}.modal-body textarea:focus{border-color:#fbcfe84d;border-color:var(--border-rose);box-shadow:0 0 0 1px #fbcfe84d;box-shadow:0 0 0 1px var(--border-rose);outline:none}.modal-footer{border-top:1px solid #ffffff0d;border-top:1px solid var(--border-soft);display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.modal-footer .cancel-btn{background:#ffffff08;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:8px;color:#fffc;color:var(--text-secondary);cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.modal-footer .cancel-btn:hover{background:#ffffff0f;border-color:#fbcfe84d;border-color:var(--border-rose)}.modal-footer .save-btn{align-items:center;background:#fbcfe8e6;background:var(--accent-rose);border:none;border-radius:8px;color:#000;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.modal-footer .save-btn:hover{box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose);transform:translateY(-1px)}.photo-uploader-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.photo-upload-btn{background:#10b9811a;background:var(--status-success-bg);border:1px solid #10b9814d;border:1px solid var(--status-success-border);border-radius:8px;color:#34d399;color:var(--status-success-text);cursor:pointer;font-size:13px;font-weight:500;padding:10px 16px;transition:all .2s;width:100%}.photo-upload-btn:hover:not(:disabled){box-shadow:0 0 15px #10b9814d;transform:translateY(-1px)}.photo-upload-btn:disabled{cursor:not-allowed;opacity:.6}.uploaded-thumbnails{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));margin-top:12px}.thumbnail-wrapper{background:#00000080;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden;padding-bottom:100%;position:relative;width:100%}.photo-thumbnail{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.label-row{gap:.75rem;justify-content:space-between}.label-row,.story-actions{align-items:center;display:flex}.story-actions{gap:.5rem}.mic-btn,.save-story-btn{align-items:center;background:#18181be6;border:1px solid #ffffff14;border-radius:999px;color:#f9fafb;cursor:pointer;display:inline-flex;font-size:.75rem;gap:.35rem;outline:none;padding:.25rem .7rem;position:relative;transition:background .15s ease,border-color .15s ease,transform .1s ease}.mic-btn:hover,.save-story-btn:hover{background:#27272af2;border-color:#f4f4f54d;transform:translateY(-.5px)}.story-actions-below{align-items:center;display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem;width:100%}.icon-pill{align-items:center;background:#18181be6;border:1px solid #ffffff14;border-radius:999px;color:#f9fafb;cursor:pointer;display:inline-flex;height:32px;justify-content:center;outline:none;padding:0;position:relative;transition:background .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease;width:32px}.icon-pill:disabled{cursor:default;opacity:.5}.icon-pill:hover:not(:disabled){background:#27272af2;border-color:#f4f4f54d;transform:translateY(-.5px)}.icon-tooltip{background:#18181bf5;border-radius:999px;bottom:calc(100% + 6px);box-shadow:0 8px 20px #00000073;color:#f9fafb;font-size:11px;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(4px);transition:opacity .15s ease,transform .15s ease;white-space:nowrap;z-index:20}.icon-pill:hover .icon-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}.mic-btn.recording{background:radial-gradient(circle at center,#f87171b3,#18181bf2);border-color:#f87171e6;box-shadow:0 0 0 1px #f8717166,0 0 25px #f8717180}.mic-btn.recording:before{animation:mic-pulse 1.6s infinite;background:radial-gradient(circle,#f8717159,#0000 70%);border-radius:999px;content:"";inset:-2px;opacity:.8;position:absolute;z-index:-1}@keyframes mic-pulse{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.1)}}.spinning{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.story-textarea{max-height:350px;min-height:150px;overflow-y:auto}.user-menu{position:relative;z-index:200}.user-menu-trigger{align-items:center;background:#0006;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;color:#fffc;color:var(--text-secondary);cursor:pointer;display:inline-flex;gap:10px;outline:none;padding:4px 14px 4px 4px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.user-menu-trigger:hover{background:#ffffff08;border-color:#fbcfe84d;border-color:var(--border-rose);box-shadow:0 0 30px #0009;box-shadow:var(--shadow-soft)}.user-menu-trigger.open{border-color:#fbcfe8e6;border-color:var(--accent-rose);box-shadow:0 0 30px #fbcfe840;box-shadow:var(--shadow-rose)}.user-avatar-wrapper{border-radius:999px;flex-shrink:0;height:34px;position:relative;width:34px}.user-avatar-fallback,.user-avatar-img{border-radius:999px;height:100%;object-fit:cover;width:100%}.user-avatar-img{border:1px solid #ffffff1f;box-shadow:0 0 12px #000000e6}.user-avatar-fallback{align-items:center;background:linear-gradient(135deg,#fbcfe8e6,#d8b4fee6);box-shadow:0 0 15px #fbcfe866;color:#fff;display:flex;font-size:13px;font-weight:700;justify-content:center}.user-status-dot{background:#10b981;border:2px solid #0c0d11;border:2px solid var(--bg-deep);border-radius:999px;bottom:-1px;height:9px;position:absolute;right:-1px;width:9px}.user-menu-text{align-items:flex-start;display:flex;flex-direction:column;line-height:1.1}.user-name{color:#fff;color:var(--text-primary);font-size:12px;font-weight:600}.user-plan{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.user-menu-chevron,.user-plan{color:#fff9;color:var(--text-muted)}.user-menu-chevron{margin-left:2px;transition:transform .15s ease,color .15s ease}.user-menu-trigger:hover .user-menu-chevron{color:#fffc;color:var(--text-secondary)}.user-menu-chevron.open{color:#fbcfe8e6;color:var(--accent-rose);transform:rotate(180deg)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 10px);width:280px}.user-menu-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#050509f5;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 16px 40px #000000b3;box-shadow:var(--shadow-panel);overflow:hidden}.user-menu-header{background:radial-gradient(circle at top left,#fbcfe81f,#0000 60%),#0009;border-bottom:1px solid #ffffff0d;border-bottom:1px solid var(--border-soft);padding:14px 16px 12px}.user-badge{align-items:center;background:#fbcfe814;background:var(--accent-rose-bg);border:1px solid #fbcfe84d;border:1px solid var(--border-rose);border-radius:999px;color:#fbcfe8e6;color:var(--accent-rose);display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.16em;margin-bottom:8px;padding:3px 9px;text-transform:uppercase}.user-header-name{color:#fff;color:var(--text-primary);font-size:15px;font-weight:600;margin-bottom:2px}.user-header-email,.user-header-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-header-email{color:#fff9;color:var(--text-muted);font-size:11px}.user-menu-items{padding:6px 6px 4px}.user-menu-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#fffc;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:10px;padding:8px 9px;text-align:left;transition:background .12s ease,color .12s ease,transform .08s ease;width:100%}.user-menu-item:hover{background:#ffffff0a;color:#fff;color:var(--text-primary);transform:translateY(-1px)}.user-menu-icon{align-items:center;background:#ffffff0a;border-radius:8px;color:#fff9;color:var(--text-muted);display:flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.user-menu-item:hover .user-menu-icon{background:#ffffff0f;color:#fff;color:var(--text-primary)}.user-menu-icon.highlight{background:#fbcfe814;background:var(--accent-rose-bg);color:#fbcfe8e6;color:var(--accent-rose)}.user-menu-item-text{display:flex;flex-direction:column}.user-menu-item-title{color:#fff;color:var(--text-primary);font-size:13px;font-weight:500}.user-menu-item-sub{color:#fff9;color:var(--text-muted);font-size:10px}.user-menu-footer{background:#00000080;border-top:1px solid #ffffff0d;border-top:1px solid var(--border-soft);padding:8px 6px}.user-menu-logout{align-items:center;background:#0000;border:none;border-radius:10px;color:#f87171d9;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 9px;transition:background .12s ease,color .12s ease,transform .08s ease;width:100%}.user-menu-logout:hover{background:#ef44441a;background:var(--status-error-bg);color:#fca5a5;color:var(--status-error-text);transform:translateY(-1px)}.custom-narration-card{background:#0009;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 0 30px #0009;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:16px 18px}.custom-narration-card h4{color:#fffc;color:var(--text-secondary);font-size:14px;font-weight:600;margin-bottom:4px}.custom-narration-card p{color:#fff9;color:var(--text-muted);font-size:12px;line-height:1.5}.custom-narration-script{background:#00000080;border:1px dashed #ffffff14;border:1px dashed var(--border-subtle);border-radius:8px;color:#fffc;color:var(--text-secondary);font-size:12px;line-height:1.5;margin-top:6px;padding:10px 12px}.custom-narration-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.or-separator{color:#fff6;color:var(--text-faint);font-size:11px}.record-btn{align-items:center;background:radial-gradient(circle at top left,#f8717138,#18181bf5);border:1px solid #f8717180;border-radius:999px;color:#fecaca;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:8px 14px;transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.record-btn:hover{box-shadow:0 0 18px #f8717166;transform:translateY(-.5px)}.record-btn.recording{border-color:#f87171e6;box-shadow:0 0 0 1px #f8717180,0 0 25px #f87171b3}.upload-audio-btn{align-items:center;background:#18181be6;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;color:#fffc;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:8px 14px;position:relative;transition:background .15s ease,border-color .15s ease,transform .1s ease}.upload-audio-btn:hover{background:#27272af2;border-color:#fbcfe84d;border-color:var(--border-rose);transform:translateY(-.5px)}.upload-audio-btn input[type=file]{display:none}.voice-status-row{align-items:center;color:#fff9;color:var(--text-muted);display:flex;font-size:11px;gap:6px;margin-top:6px}.voice-status-pill{background:#0009;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;font-size:11px;font-weight:500;padding:3px 8px}.voice-status-pill.success{background:#10b9811a;background:var(--status-success-bg);border-color:#10b9814d;border-color:var(--status-success-border);color:#34d399;color:var(--status-success-text)}.voice-status-pill.error{background:#ef44441a;background:var(--status-error-bg);border-color:#ef44444d;border-color:var(--status-error-border);color:#fca5a5;color:var(--status-error-text)}
/*# sourceMappingURL=main.5e99f7b0.css.map*/