:root{--bg-darkest: #07080a;--bg-base: #0b0d13;--bg-card: rgba(18, 21, 30, .75);--bg-card-hover: rgba(25, 29, 41, .85);--bg-surface: #141824;--bg-glass: rgba(255, 255, 255, .03);--bg-glass-active: rgba(139, 92, 246, .12);--border-subtle: rgba(255, 255, 255, .07);--border-medium: rgba(255, 255, 255, .12);--border-focus: rgba(139, 92, 246, .6);--border-active: rgba(139, 92, 246, .4);--text-main: #f3f4f6;--text-muted: #9ca3af;--text-faint: #6b7280;--accent-violet: #8b5cf6;--accent-indigo: #6366f1;--accent-cyan: #06b6d4;--accent-emerald: #10b981;--accent-rose: #f43f5e;--accent-amber: #f59e0b;--gradient-brand: linear-gradient(135deg, #a855f7 0%, #6366f1 50%, #06b6d4 100%);--gradient-glow: linear-gradient(135deg, rgba(168, 85, 247, .25) 0%, rgba(99, 102, 241, .25) 100%);--gradient-btn: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);--gradient-btn-hover: linear-gradient(135deg, #9a6dff 0%, #7073ff 100%);--shadow-subtle: 0 4px 20px rgba(0, 0, 0, .4);--shadow-glow: 0 0 35px -5px rgba(139, 92, 246, .35);--shadow-emerald: 0 0 25px -5px rgba(16, 185, 129, .3);--font-display: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-full: 9999px}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-darkest);color:var(--text-main);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:-20%;left:20%;width:60vw;height:60vh;background:radial-gradient(circle,rgba(120,60,220,.08) 0%,rgba(14,165,233,.04) 50%,transparent 70%);pointer-events:none;z-index:0;filter:blur(80px)}body:after{content:"";position:fixed;bottom:-20%;right:10%;width:50vw;height:50vh;background:radial-gradient(circle,rgba(99,102,241,.07) 0%,rgba(6,182,212,.04) 60%,transparent 70%);pointer-events:none;z-index:0;filter:blur(90px)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.app-container{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:0 1.5rem 3rem;min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid var(--border-subtle);margin-bottom:2rem}.brand-section{display:flex;align-items:center;gap:.85rem;text-decoration:none}.brand-logo-icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#181926,#12131c);border:1px solid rgba(139,92,246,.3);display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px -3px #8b5cf64d}.brand-title{font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.03em;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:.5rem}.brand-badge{font-family:var(--font-body);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);color:#c4b5fd;padding:.15rem .5rem;border-radius:var(--radius-full);-webkit-text-fill-color:initial}.header-actions{display:flex;align-items:center;gap:.75rem}.lang-selector{position:relative;display:flex;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:3px;gap:2px}.lang-btn{background:transparent;border:none;color:var(--text-muted);font-size:.78rem;font-weight:600;padding:.3rem .65rem;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .2s ease}.lang-btn:hover{color:var(--text-main);background:#ffffff0d}.lang-btn.active{background:var(--gradient-btn);color:#fff;box-shadow:0 2px 10px #8b5cf64d}.icon-btn{background:#ffffff0a;border:1px solid var(--border-subtle);color:var(--text-main);height:38px;padding:0 .85rem;border-radius:var(--radius-full);display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.icon-btn:hover{background:#ffffff14;border-color:var(--border-medium);transform:translateY(-1px)}.icon-btn.has-key{border-color:#10b98159;background:#10b98114;color:#34d399}.icon-btn.missing-key{border-color:#f43f5e59;background:#f43f5e14;color:#fb7185}.credit-pill{background:#ffffff0d;padding:.15rem .45rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:#f3f4f6}.studio-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2rem;align-items:start}@media(max-width:1080px){.studio-grid{grid-template-columns:1fr;gap:2.5rem}}.workspace-card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem;box-shadow:var(--shadow-subtle)}.modes-bar{display:flex;align-items:center;gap:.4rem;overflow-x:auto;padding:.35rem;background:#0000004d;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);scrollbar-width:none}.modes-bar::-webkit-scrollbar{display:none}.mode-tab-btn{background:transparent;border:none;color:var(--text-muted);padding:.55rem .85rem;border-radius:var(--radius-md);font-size:.84rem;font-weight:600;display:flex;align-items:center;gap:.5rem;white-space:nowrap;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.mode-tab-btn:hover{color:var(--text-main);background:#ffffff0d}.mode-tab-btn.active{background:var(--gradient-btn);color:#fff;box-shadow:0 4px 15px #8b5cf659}.mode-time-badge{font-family:var(--font-mono);font-size:.68rem;font-weight:500;opacity:.8;background:#00000040;padding:.1rem .35rem;border-radius:4px}.mode-info-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#8b5cf60f;border:1px solid rgba(139,92,246,.18);border-radius:var(--radius-md);font-size:.82rem;color:#d1d5db}.mode-desc{display:flex;align-items:center;gap:.5rem}.cost-tag{font-size:.75rem;font-weight:600;color:#a78bfa;background:#8b5cf61f;padding:.2rem .55rem;border-radius:var(--radius-full);display:flex;align-items:center;gap:.3rem;white-space:nowrap}.media-section{display:flex;flex-direction:column;gap:.85rem}.media-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.85rem}.dropzone{border:2px dashed rgba(255,255,255,.12);background:#ffffff05;border-radius:var(--radius-lg);padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.6rem;cursor:pointer;position:relative;transition:all .2s ease;min-height:140px}.dropzone:hover,.dropzone.drag-active{border-color:var(--accent-violet);background:#8b5cf60d;box-shadow:0 0 18px #8b5cf626}.dropzone-icon{color:#a78bfa;transition:transform .2s ease}.dropzone:hover .dropzone-icon{transform:translateY(-2px) scale(1.05)}.dropzone-title{font-size:.82rem;font-weight:600;color:var(--text-main)}.dropzone-hint{font-size:.72rem;color:var(--text-faint)}.media-preview-container{position:relative;width:100%;height:140px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-medium);background:#000}.media-preview-img,.media-preview-video{width:100%;height:100%;object-fit:cover}.media-remove-btn{position:absolute;top:6px;right:6px;background:#000000bf;border:1px solid rgba(255,255,255,.2);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.media-remove-btn:hover{background:var(--accent-rose)}.prompt-container{display:flex;flex-direction:column;gap:.65rem}.prompt-header{display:flex;align-items:center;justify-content:space-between}.section-label{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.char-counter{font-family:var(--font-mono);font-size:.72rem;color:var(--text-faint)}.prompt-textarea{width:100%;min-height:110px;background:#00000059;border:1px solid var(--border-medium);border-radius:var(--radius-lg);color:var(--text-main);padding:.85rem 1rem;font-family:var(--font-body);font-size:.92rem;line-height:1.5;resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s}.prompt-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 15px #8b5cf640}.prompt-textarea::placeholder{color:var(--text-faint)}.suggestions-scroll{display:flex;align-items:center;gap:.45rem;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none}.suggestions-scroll::-webkit-scrollbar{display:none}.suggestion-chip{background:#ffffff0a;border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.75rem;padding:.3rem .65rem;border-radius:var(--radius-full);white-space:nowrap;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.3rem}.suggestion-chip:hover{background:#ffffff14;border-color:var(--border-medium);color:var(--text-main)}.params-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.param-box{display:flex;flex-direction:column;gap:.45rem}.pill-group{display:flex;background:#0000004d;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:3px;gap:3px}.pill-option{flex:1;background:transparent;border:none;color:var(--text-muted);font-size:.8rem;font-weight:600;padding:.5rem .4rem;border-radius:var(--radius-sm);cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center;gap:.35rem;transition:all .2s ease}.pill-option:hover{color:var(--text-main);background:#ffffff0a}.pill-option.active{background:var(--bg-surface);color:#fff;border:1px solid var(--border-medium);box-shadow:0 2px 8px #0006}.custom-select{background:#00000059;border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-main);font-family:var(--font-body);font-size:.84rem;padding:.55rem .85rem;outline:none;cursor:pointer;transition:border-color .2s}.custom-select:focus{border-color:var(--border-focus)}.generate-btn{background:var(--gradient-btn);border:none;color:#fff;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;padding:.95rem 1.5rem;border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.65rem;box-shadow:0 4px 25px #8b5cf666;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.generate-btn:hover:not(:disabled){background:var(--gradient-btn-hover);box-shadow:0 6px 30px #8b5cf68c;transform:translateY(-2px)}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.viewport-card{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem;min-height:520px;box-shadow:var(--shadow-subtle)}.viewport-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);background:#0003;gap:1rem}.placeholder-icon{width:64px;height:64px;border-radius:50%;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);display:flex;align-items:center;justify-content:center;color:#a78bfa}.placeholder-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-main)}.placeholder-sub{font-size:.85rem;color:var(--text-muted);max-width:320px}.generating-card{background:#8b5cf60d;border:1px solid rgba(139,92,246,.25);border-radius:var(--radius-lg);padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem;animation:pulse-glow 3s infinite alternate}@keyframes pulse-glow{0%{box-shadow:0 0 15px #8b5cf61a}to{box-shadow:0 0 30px #8b5cf64d}}.generating-header{display:flex;align-items:center;justify-content:space-between}.status-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .75rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:600}.status-badge.queued{background:#f59e0b26;border:1px solid rgba(245,158,11,.35);color:#fbbf24}.status-badge.processing{background:#8b5cf62e;border:1px solid rgba(139,92,246,.45);color:#c4b5fd}.status-badge.done{background:#10b98126;border:1px solid rgba(16,185,129,.35);color:#34d399}.status-badge.failed{background:#f43f5e26;border:1px solid rgba(244,63,94,.35);color:#fb7185}.progress-bar-track{width:100%;height:8px;background:#0006;border-radius:4px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:var(--gradient-brand);border-radius:4px;transition:width .4s ease;box-shadow:0 0 10px #8b5cf699}.countdown-stats{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--text-muted)}.countdown-value{font-family:var(--font-mono);font-weight:600;color:var(--text-main)}.result-box{display:flex;flex-direction:column;gap:1.25rem}.media-player-container{width:100%;border-radius:var(--radius-lg);overflow:hidden;background:#000;border:1px solid var(--border-medium);box-shadow:0 10px 30px #0009;position:relative}.result-video{width:100%;max-height:480px;display:block;object-fit:contain}.result-image{width:100%;max-height:480px;display:block;object-fit:contain;cursor:zoom-in}.audio-showcase{padding:2rem 1.5rem;background:linear-gradient(135deg,#141824e6,#0c0e14f2);display:flex;flex-direction:column;align-items:center;gap:1.25rem}.audio-waveform-visual{display:flex;align-items:center;justify-content:center;gap:4px;height:50px;width:100%}.waveform-bar{width:4px;background:var(--accent-violet);border-radius:2px;animation:wave-anim 1.2s ease-in-out infinite alternate}@keyframes wave-anim{0%{height:8px;opacity:.4}to{height:46px;opacity:1}}.audio-controls-native{width:100%;filter:invert(.9) hue-rotate(220deg)}.result-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.download-btn{flex:1;background:var(--gradient-btn);border:none;color:#fff;font-family:var(--font-display);font-size:.95rem;font-weight:700;padding:.85rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 20px #8b5cf659;transition:all .2s ease}.download-btn:hover{background:var(--gradient-btn-hover);transform:translateY(-1px)}.secondary-action-btn{background:#ffffff0d;border:1px solid var(--border-subtle);color:var(--text-main);padding:.85rem 1rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.45rem;transition:all .2s ease}.secondary-action-btn:hover{background:#ffffff17;border-color:var(--border-medium)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem}.modal-content{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-xl);width:100%;max-width:540px;box-shadow:0 20px 50px #000c;padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-main)}.modal-close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close-btn:hover{color:var(--text-main)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.input-with-button{display:flex;align-items:center;background:#0006;border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:0 .5rem 0 .85rem;transition:border-color .2s}.input-with-button:focus-within{border-color:var(--border-focus)}.text-input-field{flex:1;background:transparent;border:none;color:var(--text-main);font-family:var(--font-mono);font-size:.86rem;padding:.75rem 0;outline:none}.ghost-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:4px}.ghost-btn:hover{color:var(--text-main)}.history-items-list{display:flex;flex-direction:column;gap:.85rem;max-height:480px;overflow-y:auto;padding-right:.25rem}.history-card{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:#00000040;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all .2s ease}.history-card:hover{border-color:var(--border-medium);background:#ffffff08}.history-thumb{width:58px;height:58px;border-radius:var(--radius-md);background:#000;border:1px solid var(--border-subtle);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-faint);flex-shrink:0}.history-thumb img,.history-thumb video{width:100%;height:100%;object-fit:cover}.history-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.history-prompt-text{font-size:.82rem;font-weight:500;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-sub-text{font-size:.72rem;color:var(--text-faint);display:flex;align-items:center;gap:.5rem}.toast-container{position:fixed;bottom:2rem;right:2rem;z-index:999;display:flex;flex-direction:column;gap:.65rem}.toast{background:var(--bg-surface);border:1px solid var(--border-medium);color:var(--text-main);padding:.75rem 1.15rem;border-radius:var(--radius-md);font-size:.84rem;font-weight:500;display:flex;align-items:center;gap:.65rem;box-shadow:0 10px 30px #00000080;animation:slide-up .25s cubic-bezier(.16,1,.3,1)}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast.error{border-color:#f43f5e66;background:#1e0f14f2;color:#fda4af}.toast.success{border-color:#10b98166;background:#0f1c16f2;color:#6ee7b7}.app-footer{margin-top:auto;padding-top:3rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-subtle);font-size:.78rem;color:var(--text-faint)}@media(max-width:640px){.app-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;justify-content:space-between}.app-footer{flex-direction:column;gap:.75rem;text-align:center}}
