@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap");:root{--bg-deep:#080A0F;--bg-card:rgba(21,25,35,0.85);--bg-card-solid:#151923;--bg-hover:rgba(255,255,255,0.04);--bg-input:rgba(255,255,255,0.06);--accent-start:#155eef;--accent-end:#ffffff;--accent-mid:#4d8eff;--accent-gradient:linear-gradient(135deg,var(--accent-start),var(--accent-mid));--accent-glow:rgba(21,94,239,0.3);--text-primary:rgba(255,255,255,0.92);--text-secondary:rgba(255,255,255,0.55);--text-muted:rgba(255,255,255,0.30);--text-accent:#a3c4ff;--color-success:#22C55E;--color-error:#EF4444;--color-warning:#F59E0B;--color-info:#3B82F6;--border-subtle:rgba(255,255,255,0.08);--border-accent:rgba(21,94,239,0.4);--shadow-card:0 8px 32px rgba(0,0,0,0.4);--shadow-accent:0 8px 32px rgba(21,94,239,0.2);--shadow-glow:0 0 24px rgba(21,94,239,0.35);--sidebar-width:240px;--header-height:64px;--font-main:"Inter",-apple-system,sans-serif;--font-display:"Space Grotesk",sans-serif;--font-mono:"SF Mono","Fira Code",monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition:0.2s ease;--transition-slow:0.4s cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-main);background-color:var(--bg-deep);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2}h1{font-size:2rem}h1,h2{font-weight:700}h2{font-size:1.5rem}h3{font-size:1.2rem;font-weight:600}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:var(--font-main)}:focus-visible{outline:2px solid rgba(21,94,239,.8);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.22)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"sidebar header" "sidebar main";min-height:100vh}.sidebar{grid-area:sidebar;width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;background:rgba(10,13,20,.95);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:0;z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sidebar-logo{height:var(--header-height);display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--border-subtle)}.sidebar-logo-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;transition:opacity var(--transition)}.sidebar-logo-link:hover{opacity:.85}.sidebar-logo-mark{width:34px;height:34px;flex-shrink:0}.sidebar-logo-text{display:flex;flex-direction:column;line-height:1.1}.sidebar-logo-text strong{font-family:var(--font-display);font-size:1rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-logo-text span{color:rgba(255,255,255,.68);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{flex:1 1;padding:16px 12px;overflow-y:auto}.sidebar-section-label{font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:12px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition);margin-bottom:2px;text-decoration:none;line-height:1.2;min-height:40px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);transform:translateX(2px)}.nav-item.active{background:rgba(21,94,239,.2);color:var(--text-primary);border:1px solid var(--border-accent)}.nav-item .nav-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-svg{width:100%;height:100%;display:block}.sidebar-divider{height:1px;background:var(--border-subtle);margin:12px}.header{grid-area:header;position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:rgba(8,10,15,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);justify-content:flex-end;padding:0 24px;gap:16px;z-index:90}.header,.header-credit-badge{display:flex;align-items:center}.header-credit-badge{gap:8px;padding:8px 16px;background:rgba(21,94,239,.15);border:1px solid rgba(21,94,239,.3);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition);appearance:none;color:inherit}.header-credit-badge:hover{background:rgba(21,94,239,.25);box-shadow:var(--shadow-glow)}.credit-icon{display:inline-flex;align-items:center;justify-content:center}.credit-icon,.credit-icon-svg{width:18px;height:18px}.header-action-icon{width:16px;height:16px}.credit-amount{font-family:var(--font-mono);font-size:.9rem;font-weight:700;color:var(--text-accent);min-width:40px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color .3s ease}.credit-amount.deducting{color:var(--color-error);animation:flash-red .4s ease}.credit-amount.adding{color:var(--color-success);animation:flash-green .4s ease}@keyframes flash-red{0%,to{color:var(--text-accent)}50%{color:var(--color-error);transform:scale(1.1)}}@keyframes flash-green{0%,to{color:var(--text-accent)}50%{color:var(--color-success);transform:scale(1.1)}}.header-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;cursor:pointer;transition:all var(--transition);position:relative;border:none;color:#fff;appearance:none;padding:0}.header-avatar:hover{transform:scale(1.05);box-shadow:var(--shadow-glow)}.header-mobile-menu{display:none;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-input);padding:0;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}.header-mobile-menu span{width:16px;height:2px;border-radius:999px;background:rgba(255,255,255,.8)}.avatar-dropdown{position:absolute;top:calc(100% + 12px);right:24px;background:var(--bg-card-solid);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px;min-width:180px;box-shadow:var(--shadow-card);animation:dropdown-enter .2s ease;z-index:200}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.avatar-dropdown-item{padding:10px 12px;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer;transition:background var(--transition);display:flex;align-items:center;gap:8px}.avatar-dropdown-item:hover{background:var(--bg-hover)}.avatar-dropdown-item.danger{color:var(--color-error)}.main-content{grid-area:main;padding:20px 24px 24px;min-height:calc(100vh - var(--header-height));overflow-y:auto;min-width:0}.sidebar-overlay{display:none}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-card)}.card-body{padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all var(--transition);position:relative;overflow:hidden;white-space:nowrap;min-height:40px;min-width:112px}.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 16px rgba(21,94,239,.35)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px rgba(21,94,239,.5)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-loading{background:linear-gradient(110deg,#155eef 30%,#4d8eff 50%,#155eef 70%);background-size:200% 100%;animation:btn-stripe 1.2s linear infinite}@keyframes btn-stripe{0%{background-position:200% 0}to{background-position:-200% 0}}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);letter-spacing:.03em}.form-control{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;transition:all var(--transition);outline:none;resize:vertical}.form-control:focus{border-color:var(--accent-start);box-shadow:0 0 0 3px var(--accent-glow);background:rgba(21,94,239,.05)}.form-control:hover{border-color:rgba(255,255,255,.2)}.form-control[aria-invalid=true]{border-color:rgba(239,68,68,.7);box-shadow:0 0 0 3px rgba(239,68,68,.16)}.form-control::placeholder{color:var(--text-muted)}select.form-control{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.4)' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}select.form-control option{background-color:#151923;color:rgba(255,255,255,.92)}select.form-control option:checked,select.form-control option:hover{background-color:#155eef;color:#ffffff}.form-error{color:var(--color-error);font-size:.8rem;margin-top:4px}.form-hint{font-size:.78rem;gap:4px}.empty-state,.form-hint{display:flex;align-items:center}.empty-state{min-height:188px;border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);background:rgba(255,255,255,.02);flex-direction:column;justify-content:center;gap:10px;padding:24px;text-align:center}.empty-state-title{font-size:.95rem;font-weight:700}.empty-state-subtitle{font-size:.8rem;color:var(--text-secondary);max-width:52ch}.auth-page{position:relative;overflow:hidden}.auth-page:before{width:600px;height:600px;background:radial-gradient(circle,rgba(21,94,239,.15) 0,transparent 70%);top:-150px;left:-150px}.auth-page:after,.auth-page:before{content:"";position:absolute;pointer-events:none}.auth-page:after{width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.06) 0,transparent 70%);bottom:-100px;right:-100px}.auth-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:48px 40px;width:100%;max-width:420px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-card),var(--shadow-accent);position:relative;z-index:1}.auth-logo{text-align:center;font-family:var(--font-display);font-size:1.75rem;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.auth-subtitle{text-align:center;color:var(--text-secondary);font-size:.875rem;margin-bottom:32px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-divider{text-align:center;color:var(--text-muted);font-size:.8rem;margin:16px 0}.auth-link{text-align:center;margin-top:24px;color:var(--text-secondary);font-size:.875rem}.auth-link a{color:var(--text-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}.auth-card--otp,.auth-card--success{text-align:center}.otp-icon-wrapper{display:flex;justify-content:center;margin-bottom:20px;animation:otp-pop-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes otp-pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.otp-grid{display:flex;justify-content:center;gap:10px;margin:8px 0}.otp-input{width:52px;height:60px;text-align:center;font-size:1.5rem;font-weight:700;font-family:var(--font-mono);background:var(--bg-input);border:2px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);outline:none;transition:all .15s ease;caret-color:var(--accent-start)}.otp-input:focus{border-color:var(--accent-start);box-shadow:0 0 0 3px var(--accent-glow);background:rgba(21,94,239,.06)}.otp-input--filled{border-color:rgba(21,94,239,.5);background:rgba(21,94,239,.08);color:#fff}.otp-input--error{border-color:rgba(239,68,68,.7)!important;box-shadow:0 0 0 3px rgba(239,68,68,.16)!important;animation:otp-shake .35s ease}@keyframes otp-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.otp-expire-hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8rem;color:var(--text-muted);margin:4px 0 2px}.otp-expire-hint strong{color:#F59E0B}.otp-resend-section{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px}.otp-resend-btn{background:none;border:none;color:var(--text-accent);font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:var(--font-main);padding:0;transition:opacity var(--transition)}.otp-resend-btn:disabled{opacity:.5;cursor:not-allowed}.otp-resend-btn:hover:not(:disabled){opacity:.8}.otp-countdown{font-size:.875rem;font-weight:600;color:var(--text-muted);font-family:var(--font-mono);min-width:90px;text-align:left}.otp-success-icon{display:flex;justify-content:center;margin-bottom:20px;animation:otp-pop-in .5s cubic-bezier(.34,1.56,.64,1)}.otp-loading-bar{width:100%;height:4px;background:rgba(255,255,255,.08);border-radius:var(--radius-full);overflow:hidden;margin-top:32px}.otp-loading-bar-inner{height:100%;width:0;background:var(--accent-gradient);border-radius:var(--radius-full);animation:otp-progress 2.4s ease forwards}@keyframes otp-progress{0%{width:0}to{width:100%}}.alert-success{border-radius:var(--radius-md);background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:#22C55E}.alert-error,.alert-success{padding:12px 16px;font-size:.875rem}.alert-error{border-radius:var(--radius-md);background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#EF4444}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.04) 75%);background-size:200% 100%;animation:shimmer 1.8s infinite;position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(21,94,239,.3) 50%,transparent);width:60%;animation:laser-scan 2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes laser-scan{0%{left:-60%}to{left:160%}}.progress-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.6);gap:8px}.split-view{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:20px;align-items:start}.split-left,.split-right{display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-width:0}.create-image-page{max-width:1360px;margin:0 auto}.page-heading{display:flex;flex-direction:column}.page-heading-compact{margin-bottom:16px}.result-main{aspect-ratio:1;width:100%;border-radius:var(--radius-lg);overflow:hidden;position:relative;background:rgba(255,255,255,.03);border:1px solid var(--border-subtle)}.result-image{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-lg);animation:reveal .6s ease;background:#000}@keyframes reveal{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.result-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);font-size:.875rem}.result-empty-icon{font-size:48px;opacity:.3}.dashboard-shell{max-width:1280px;margin:0 auto}.dashboard-head{margin-bottom:18px}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:28px}.dashboard-stat-card{padding:22px}.dashboard-section{margin-bottom:34px}.dashboard-section-title{margin-bottom:14px;font-size:1.04rem;color:var(--text-secondary);font-weight:700}.dashboard-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.dashboard-action-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(255,255,255,.03),rgba(21,94,239,.06));border:1px solid var(--border-subtle);transition:all var(--transition)}.dashboard-action-card:hover{transform:translateY(-2px);border-color:var(--border-accent);box-shadow:var(--shadow-accent)}.dashboard-action-icon{width:44px;height:44px;border-radius:12px;background:rgba(21,94,239,.18);border:1px solid rgba(21,94,239,.35);display:inline-flex;align-items:center;justify-content:center;color:#a3c4ff}.dashboard-icon{width:22px;height:22px;display:block}.dashboard-action-title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.dashboard-action-sub{font-size:.78rem;color:var(--text-muted)}.dashboard-recent-list{display:flex;flex-direction:column;gap:10px}.dashboard-recent-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px}.dashboard-recent-type{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid var(--border-subtle);color:#a3c4ff;display:flex;align-items:center;justify-content:center}.dashboard-recent-main{min-width:0}.dashboard-recent-prompt{font-size:.94rem;font-weight:600;color:var(--text-primary)}.dashboard-recent-meta,.dashboard-recent-prompt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-recent-meta{margin-top:2px;font-size:.76rem;color:var(--text-muted)}.dashboard-recent-status{font-size:.82rem;font-weight:700;white-space:nowrap}.dashboard-recent-link{font-size:.8rem;font-weight:700;color:var(--text-accent)}.dashboard-recent-link:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.stat-card{padding:24px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle);transition:all var(--transition)}.stat-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-accent);transform:translateY(-2px)}.stat-label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.stat-value{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-sub{font-size:.78rem;color:var(--text-muted);margin-top:4px}.quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.quick-action{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 16px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition);text-decoration:none}.quick-action:hover{background:rgba(21,94,239,.12);border-color:var(--border-accent);transform:translateY(-3px);box-shadow:var(--shadow-accent)}.quick-action-icon{font-size:28px;width:52px;height:52px;background:rgba(21,94,239,.15);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.quick-action-label{font-size:.85rem;font-weight:600;color:var(--text-primary);text-align:center}.cost-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(21,94,239,.15);border:1px solid rgba(21,94,239,.3);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:#a3c4ff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast{padding:14px 20px;border-radius:var(--radius-md);display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:500;min-width:280px;max-width:400px;box-shadow:var(--shadow-card);animation:toast-enter .3s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes toast-enter{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.toast.success{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:#4ADE80}.toast.error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#F87171}.toast.info{background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);color:#93C5FD}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:rgba(21,94,239,.2);border:1px solid rgba(21,94,239,.4);border-radius:var(--radius-full);font-size:.68rem;font-weight:700;color:var(--text-accent);letter-spacing:.08em;position:relative;overflow:hidden}.ai-badge:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translateX(-100%);animation:sweep 3s infinite}@keyframes sweep{0%{transform:translateX(-100%)}30%{transform:translateX(200%)}to{transform:translateX(200%)}}.dropdown-menu{animation:dropdown-enter .18s ease}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.w-full{width:100%}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.page-title{font-family:var(--font-display);font-size:1.6rem;font-weight:700;margin-bottom:4px}.page-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:0}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.15);border-top-color:rgba(255,255,255,.8);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.alert{padding:14px 16px;border-radius:var(--radius-md);font-size:.875rem;display:flex;align-items:flex-start;gap:10px}.alert.alert-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#FCA5A5}.history-strip{display:flex;gap:12px;flex-wrap:wrap}.history-thumb{width:80px;height:80px;border-radius:var(--radius-md);object-fit:cover;border:2px solid var(--border-subtle);cursor:pointer;transition:all var(--transition)}.history-thumb:hover{border-color:var(--accent-start);transform:scale(1.05);box-shadow:var(--shadow-glow)}.history-thumb-skeleton{width:80px;height:80px;border-radius:var(--radius-md)}.upload-dropzone-container{width:100%}.upload-dropzone{position:relative;border:1px dashed rgba(255,255,255,.2);border-radius:var(--radius-lg);padding:30px 20px;text-align:center;background:rgba(255,255,255,.02);cursor:pointer;transition:all var(--transition-slow);overflow:hidden;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-dropzone.active{border-color:var(--accent-start);box-shadow:var(--shadow-glow);background:rgba(21,94,239,.08);transform:scale(1.01)}.upload-dropzone.has-preview{border-style:solid;border-color:var(--border-subtle);padding:0}.upload-dropzone.disabled{opacity:.5;cursor:not-allowed}.upload-icon{width:48px;height:48px;background:rgba(255,255,255,.05);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--text-secondary);transition:all var(--transition)}.upload-dropzone:hover .upload-icon{background:rgba(21,94,239,.15);color:var(--accent-start)}.upload-title{font-weight:600;margin-bottom:6px;font-size:.95rem}.upload-hint{font-size:.8rem;color:var(--text-muted)}.upload-preview-overlay{position:absolute;inset:0;z-index:5;background:#000;display:flex;align-items:center;justify-content:center}.upload-preview-overlay img,.upload-preview-overlay video{width:100%;height:100%;object-fit:contain}.audio-preview-icon{font-size:1.2rem;font-weight:600;color:var(--accent-start)}.upload-preview-info{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition);color:#fff;font-weight:600;font-size:.85rem}.upload-dropzone:hover .upload-preview-info{opacity:1}.upload-progress-overlay{position:absolute;inset:0;z-index:10;background:rgba(8,10,15,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.upload-progress-circle,.upload-progress-overlay{display:flex;align-items:center;justify-content:center}.upload-progress-circle{position:relative;width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--accent-start) var(--progress,0),transparent 0);transition:--progress .3s ease}.upload-progress-circle:after{content:"";position:absolute;inset:4px;background:var(--bg-deep);border-radius:50%}.upload-progress-circle span{position:relative;z-index:2;font-size:.85rem;font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.upload-status-bar{margin-top:8px;padding:6px 12px;background:rgba(34,197,94,.1);border-radius:var(--radius-sm);border:1px solid rgba(34,197,94,.2);color:var(--color-success);display:flex;align-items:center;gap:8px}.mode-tabs{display:flex;gap:10px;margin-bottom:14px}.mode-tab{padding:10px 16px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:rgba(255,255,255,.03);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all var(--transition)}.mode-tab.active{color:var(--text-primary);border-color:var(--accent-start);background:rgba(21,94,239,.2)}.asset-status{margin-top:8px;font-size:.78rem;color:var(--text-secondary)}.gallery-filters{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.filter-chip{padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:rgba(255,255,255,.02);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all var(--transition)}.filter-chip.active{color:var(--text-primary);border-color:var(--accent-start);background:rgba(21,94,239,.2)}.masonry-grid{column-count:3;column-gap:16px}.masonry-item{page-break-inside:avoid;break-inside:avoid;margin-bottom:16px}.media-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;position:relative;transition:transform var(--transition)}.media-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.media-thumb{width:100%;display:block;object-fit:cover}.media-placeholder{height:180px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}.media-status{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:var(--radius-full);font-size:.7rem;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.2)}.media-status.failed{color:#F87171}.media-status.pending,.media-status.processing,.media-status.queued{color:#FBBF24}.media-meta{padding:12px 14px 14px}.media-title{font-size:.85rem;font-weight:600;margin-bottom:6px}.media-sub{font-size:.72rem;color:var(--text-muted)}@media (max-width:1280px){.main-content{padding:18px 20px 20px}.create-image-page{max-width:100%}.split-view{grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:16px}}@media (max-width:992px){.app-shell{grid-template-columns:1fr;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"header" "main"}.sidebar{transform:translateX(-100%);transition:transform var(--transition-slow);z-index:130}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block;position:fixed;inset:0;z-index:120;border:none;background:rgba(8,10,15,.56);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.header{left:0;justify-content:space-between;padding:0 16px}.header-mobile-menu{display:inline-flex}.dashboard-recent-item{grid-template-columns:36px minmax(0,1fr) auto;gap:10px}.dashboard-recent-link{grid-column:2/4;justify-self:end}.main-content{padding:16px;margin-top:var(--header-height)}.split-view{grid-template-columns:1fr}.masonry-grid{column-count:2}}@media (max-width:640px){.masonry-grid{column-count:1}}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);padding:10px 12px;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.mode-btn.active{border-color:var(--border-accent);color:var(--text-primary);background:rgba(21,94,239,.2)}.dropzone{border:1px dashed rgba(255,255,255,.28);background:rgba(255,255,255,.03);border-radius:var(--radius-lg);padding:16px;min-height:150px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:all var(--transition)}.dropzone:hover{border-color:var(--text-accent);background:rgba(21,94,239,.12)}.dropzone.uploading{pointer-events:none}.dropzone-icon{font-size:.75rem;font-weight:700;color:var(--text-accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.dropzone-text{font-size:.8rem;color:var(--text-secondary)}.dropzone-preview{width:100%;display:flex;flex-direction:column;gap:12px;align-items:center}.dropzone-preview img{width:100%;max-height:190px;object-fit:contain;border-radius:var(--radius-md)}.upload-progress-wrap{display:flex;align-items:center;gap:8px}.upload-progress-track{flex:1 1;background:rgba(255,255,255,.08);height:8px;border-radius:var(--radius-full);overflow:hidden}.upload-progress-bar{height:100%;background:var(--accent-gradient);border-radius:var(--radius-full);transition:width .25s ease}.upload-progress-wrap span{color:var(--text-muted);font-size:.75rem}.video-config-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.video-result-main{min-height:400px;aspect-ratio:16/9}.result-video{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-lg);background:#000}.video-progress-pill{padding:8px 12px;border-radius:var(--radius-full);background:rgba(21,94,239,.2);border:1px solid rgba(21,94,239,.3);display:inline-flex;align-items:center;gap:8px}.realtime-result-shell{width:100%;display:flex;flex-direction:column;gap:14px}.realtime-result-status{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid rgba(74,222,128,.22);background:linear-gradient(180deg,rgba(34,197,94,.12),rgba(15,23,42,.35))}.realtime-result-steps{display:flex;flex-wrap:wrap;gap:8px}.realtime-step{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.04);color:var(--text-muted)}.realtime-step.is-done{color:#86efac;border-color:rgba(74,222,128,.28);background:rgba(34,197,94,.12)}.realtime-result-copy{font-size:.84rem;color:var(--text-secondary)}.compact-media-result{width:100%;max-width:520px;display:flex;flex-direction:column;gap:12px}.compact-result-video{width:100%;max-height:420px;min-height:240px;object-fit:contain;border-radius:16px;background:#000;border:1px solid rgba(148,163,184,.16);box-shadow:0 18px 42px rgba(15,23,42,.28)}.compact-result-actions{display:flex;gap:8px;justify-content:space-between;align-items:center}.motion-result-stage{width:100%;display:flex;justify-content:center}.motion-result-frame{width:100%;border-radius:18px;overflow:hidden;background:rgba(9,11,18,.96);border:1px solid rgba(148,163,184,.14);box-shadow:0 18px 42px rgba(15,23,42,.24)}.motion-result-video{width:100%;max-height:460px;min-height:300px;display:block;object-fit:contain;background:#000}.motion-result-toolbar{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:10px 12px;border-top:1px solid rgba(148,163,184,.1);background:rgba(15,23,42,.72)}@media (max-width:640px){.compact-result-actions,.motion-result-toolbar{flex-direction:column}}.gallery-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.gallery-tab{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);border-radius:var(--radius-full);padding:8px 14px;font-size:.8rem;font-weight:600;cursor:pointer}.gallery-tab.active{border-color:var(--border-accent);color:var(--text-primary);background:rgba(21,94,239,.2)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.gallery-masonry{column-count:3;column-gap:14px}.gallery-card{page-break-inside:avoid;break-inside:avoid;margin-bottom:14px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-subtle);overflow:hidden}.gallery-media-wrap{position:relative;background:rgba(255,255,255,.03);aspect-ratio:1/1;overflow:hidden}.gallery-media{width:100%;height:100%;display:block;object-fit:contain;background:#000}video:-webkit-full-screen,video:fullscreen{object-fit:contain;background:#000}.gallery-placeholder{min-height:180px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.82rem}.gallery-status{position:absolute;top:8px;left:8px;border-radius:var(--radius-full);padding:4px 10px;font-size:.68rem;font-weight:700;text-transform:uppercase;background:rgba(0,0,0,.55)}.gallery-status.status-completed{color:#4ADE80}.gallery-status.status-failed{color:#F87171}.gallery-status.status-pending,.gallery-status.status-processing,.gallery-status.status-queued,.gallery-status.status-submitting{color:#FCD34D}.gallery-info{padding:12px}.gallery-prompt{font-size:.82rem;font-weight:500;color:var(--text-primary);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-meta{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--text-muted)}.gallery-pagination{display:flex;align-items:center;justify-content:center;gap:10px}.gallery-page-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-md);padding:8px 14px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.gallery-page-btn:hover:not(:disabled){border-color:var(--border-accent);background:rgba(21,94,239,.2)}.gallery-page-btn:disabled{opacity:.5;cursor:not-allowed}.gallery-page-indicator{color:var(--text-secondary);font-size:.8rem;font-weight:600}@media (max-width:1200px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.gallery-masonry{column-count:2}}@media (max-width:992px){.video-config-row{grid-template-columns:1fr}.gallery-masonry{column-count:1}}.variation-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.variation-btn{border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);border-radius:var(--radius-md);padding:8px 10px;font-size:.78rem;font-weight:600;cursor:pointer}.variation-btn.active{border-color:var(--border-accent);color:var(--text-primary);background:rgba(21,94,239,.2)}.batch-group-card{border:1px solid rgba(21,94,239,.35);border-radius:var(--radius-lg);padding:10px;background:rgba(21,94,239,.06)}.batch-group-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-secondary);margin-bottom:10px}.workflow-steps{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.workflow-step{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.02)}.workflow-step p{color:var(--text-muted);font-size:.75rem;margin-top:4px}.workflow-step.active{border-color:rgba(251,191,36,.5)}.workflow-step.done{border-color:rgba(34,197,94,.5);background:rgba(34,197,94,.08)}.workflow-step.failed{border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.08)}.workflow-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--border-subtle);background:rgba(255,255,255,.06)}.workflow-line{width:36px;height:2px;background:var(--border-subtle)}.admin-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.admin-plan-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:rgba(255,255,255,.02);padding:12px;display:flex;flex-direction:column;gap:10px}.admin-plan-top{display:flex;align-items:center;justify-content:space-between}.admin-plan-code{font-size:.9rem;font-weight:700;text-transform:uppercase}.admin-plan-id{color:var(--text-muted);font-size:.68rem;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-plan-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feature-chip-group{display:flex;flex-wrap:wrap;gap:6px}.feature-chip-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;font-size:.78rem;font-weight:500;cursor:pointer;border:1px solid var(--border-subtle,#2a2d3a);background:var(--bg-input,#0d0f14);color:var(--text-secondary,#9ca3af);transition:all .15s ease}.feature-chip-btn:hover{border-color:rgba(21,94,239,.4);background:rgba(21,94,239,.06);color:var(--text-primary,#e2e8f0)}.feature-chip-btn.active{background:rgba(21,94,239,.15);border-color:rgba(21,94,239,.5);color:#93BBFD;font-weight:600}.admin-plan-create{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) auto;gap:8px}@media (max-width:992px){.admin-plan-create{grid-template-columns:1fr}}.app-boot-splash{min-height:100vh;background:radial-gradient(circle at 18% 15%,rgba(21,94,239,.24) 0,transparent 36%),radial-gradient(circle at 82% 10%,rgba(255,255,255,.08) 0,transparent 42%),var(--bg-deep)}.sidebar-admin-block{padding:0 12px 12px}.sidebar-footer{padding:16px;border-top:1px solid var(--border-subtle);font-size:.7rem;color:var(--text-muted);text-align:center}.header-context{margin-right:auto;min-width:0;display:flex;flex-direction:column;gap:2px}.header-breadcrumb{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-title-wrap{min-width:0}.header-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);line-height:1.2}.header-subtitle,.header-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{font-size:.72rem;color:var(--text-secondary);line-height:1.25}.btn[data-size=compact]{padding:8px 14px;font-size:.78rem;min-width:96px}.credit-unit{color:var(--text-muted);font-size:.75rem}.header-avatar-wrap{position:relative}.avatar-dropdown-head{padding:8px 12px 10px;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.avatar-dropdown-name{font-weight:600;font-size:.875rem}.avatar-dropdown-email{color:var(--text-muted);font-size:.75rem}.alert-success{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#86efac}.alert-info{background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.28);color:#93c5fd}.section-card{display:flex;flex-direction:column;gap:16px}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-title{font-size:1rem;font-weight:700}.section-note{color:var(--text-muted);font-size:.78rem}.fit-grid-220{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.fit-grid-240{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.stack-8{gap:8px}.stack-12,.stack-8{display:flex;flex-direction:column}.stack-12{gap:12px}.stack-16{display:flex;flex-direction:column;gap:16px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.wallet-feature-chip{border:1px solid rgba(21,94,239,.35);background:rgba(21,94,239,.12);color:rgba(255,255,255,.9);border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:600;line-height:1.2}.media-frame{border-radius:var(--radius-md);overflow:hidden;background:rgba(255,255,255,.03);min-height:160px}.media-frame img,.media-frame video{width:100%;height:100%;object-fit:contain;display:block;background:#000}.muted-text{color:var(--text-muted);font-size:.8rem}.stat-value.success{color:var(--color-success)}.stat-value.warning{color:var(--color-warning)}.stat-value.error{color:var(--color-error)}.tile-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile-option-btn{padding:10px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;transition:all var(--transition)}.tile-option-btn.active{border-color:var(--accent-start);background:rgba(21,94,239,.2);color:var(--text-primary)}.result-actions{position:absolute;right:12px;bottom:12px;display:flex;gap:8px}.result-hint-card{background:rgba(21,94,239,.08);border-color:rgba(21,94,239,.2)}.hint-title{font-size:.8rem;color:var(--text-accent);font-weight:700;margin-bottom:8px}.hint-list{color:var(--text-secondary);font-size:.8rem;padding-left:16px;display:flex;flex-direction:column;gap:4px}.motion-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.motion-upload-panel{display:flex;flex-direction:column;gap:8px;position:relative}.motion-upload-panel .upload-dropzone{min-height:250px}.motion-source-area{position:relative}.motion-source-overlay{position:absolute;inset:0;z-index:12;border:0;background:transparent;cursor:pointer}.motion-source-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:30;width:100%;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:rgba(12,16,26,.98);box-shadow:0 18px 40px rgba(0,0,0,.34);overflow:hidden}.motion-source-menu-floating{top:138px;left:10px;width:calc(100% - 20px)}.motion-source-option{width:100%;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:var(--text-primary);padding:12px 14px;font-size:.82rem;cursor:pointer;transition:background var(--transition)}.motion-source-option:last-child{border-bottom:0}.motion-source-option:hover{background:rgba(255,255,255,.06)}.motion-link-panel{display:grid;gap:8px;padding:10px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}.motion-link-panel-wide{width:100%;margin-top:12px}.motion-action-btn{width:34px;height:34px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:rgba(255,255,255,.02);display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;transition:all var(--transition)}.motion-action-btn:hover:not(:disabled){border-color:var(--border-accent);background:rgba(21,94,239,.22)}.motion-action-btn:disabled{cursor:not-allowed;opacity:.5}.motion-action-icon-svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.motion-upload-tile{width:100%;border:1px dashed rgba(255,255,255,.2);border-radius:var(--radius-md);min-height:250px;background:rgba(255,255,255,.02);color:inherit;cursor:pointer;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;transition:all var(--transition)}.motion-upload-tile:hover:not(:disabled){border-color:var(--text-accent);background:rgba(21,94,239,.1)}.motion-upload-tile:disabled{opacity:.6;cursor:not-allowed}.motion-upload-tile.has-asset{padding:0;border-style:solid;border-color:var(--border-subtle)}.motion-upload-head{width:100%;display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;padding:4px 2px 0}.motion-upload-kind{color:var(--text-primary);font-size:1.05rem;font-weight:700;line-height:1.05;text-align:left}.motion-upload-tile .media-frame{width:100%;min-height:170px}.motion-preview-frame{width:100%;min-height:0;aspect-ratio:3/4;border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}.motion-preview-media{width:100%;height:100%;object-fit:contain;display:block;background:#000}.motion-upload-tile .muted-text{margin:auto 0;font-size:.92rem;font-weight:600;line-height:1.35}.motion-upload-tile.has-asset .motion-upload-head{padding:10px 10px 0}.motion-upload-tile.has-asset .media-frame{min-height:0;border-top-left-radius:0;border-top-right-radius:0}.motion-upload-progress{width:100%;margin:auto 0;padding:14px 12px;border-radius:var(--radius-md);border:1px solid rgba(21,94,239,.32);background:rgba(21,94,239,.12);display:flex;flex-direction:column;gap:10px}.motion-upload-progress-title{font-size:.82rem;color:var(--text-secondary);text-align:left}.motion-upload-progress-track{width:100%;height:8px;border-radius:var(--radius-full);background:rgba(255,255,255,.12);overflow:hidden}.motion-upload-progress-bar{height:100%;border-radius:var(--radius-full);background:var(--accent-gradient);transition:width .35s ease}.motion-upload-progress-value{font-size:.8rem;color:var(--text-primary);font-weight:700;text-align:right}.motion-audio-frame{width:100%;min-height:170px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;padding:12px}.motion-upload-tile.has-asset .motion-audio-frame{margin:0 10px 10px;min-height:190px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:992px){.motion-asset-grid{grid-template-columns:1fr}}.table-list{display:grid;gap:8px}.table-row{padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:rgba(255,255,255,.02)}.table-row.cols-4{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;font-size:.8rem}.table-row.cols-5{grid-template-columns:1fr repeat(4,auto)}.table-row.cols-5,.table-row.cols-6{display:grid;gap:12px;font-size:.82rem}.table-row.cols-6{grid-template-columns:1.5fr 1.5fr 1fr 1fr 1fr 1fr}.table-row.cols-7{display:grid;grid-template-columns:1.2fr 2fr 1.5fr 1fr 1fr 1fr 1.5fr}.table-row.cols-8{display:grid;grid-template-columns:1.5fr 1.2fr .8fr .8fr 1fr .8fr .8fr .8fr;gap:12px;font-size:.82rem}.table-header{font-weight:600;color:var(--text-secondary);border:none;background:transparent;padding-bottom:4px}.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge--success{background:rgba(34,197,94,.15);color:#4ade80}.status-badge--warning{background:rgba(245,158,11,.15);color:#fbbf24}.status-badge--error{background:rgba(239,68,68,.15);color:#f87171}.status-badge--default{background:rgba(255,255,255,.1);color:#e4e4e7}.overlay-center{position:fixed;inset:0;z-index:1200;background:rgba(8,10,15,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px}.overlay-panel{width:min(440px,100%);padding:24px;display:flex;flex-direction:column;gap:16px;border:1px solid rgba(21,94,239,.45);box-shadow:0 12px 40px -10px rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,255,255,.05);background:var(--bg-surface);border-radius:var(--radius-lg)}.form-hint{font-size:.82rem;color:var(--text-muted);margin-top:6px}.form-hint strong{color:var(--text-accent)}.create-image-page,.dashboard-shell{display:flex;flex-direction:column;gap:16px}.page-heading{padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:radial-gradient(circle at 90% 20%,rgba(21,94,239,.18) 0,transparent 40%),radial-gradient(circle at 8% 80%,rgba(255,255,255,.06) 0,transparent 50%),rgba(255,255,255,.02)}.page-heading-compact{margin-bottom:0}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.content-main,.content-side{min-width:0;display:flex;flex-direction:column;gap:16px}.content-side{position:sticky;top:calc(var(--header-height) + 16px)}.quick-kpi{display:grid;grid-template-columns:1fr;gap:10px}.quick-kpi-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;background:rgba(255,255,255,.02)}.quick-kpi-label{font-size:.76rem;color:var(--text-secondary)}.quick-kpi-value{margin-top:4px;font-size:1.1rem;font-weight:700}.support-list{display:flex;flex-direction:column;gap:8px}.support-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px;background:rgba(255,255,255,.02);font-size:.82rem;color:var(--text-secondary)}@media (max-width:992px){.header-context{display:none}.content-layout{grid-template-columns:1fr}.content-side{position:static}.table-row.cols-4,.table-row.cols-5,.table-row.cols-6,.table-row.cols-7,.table-row.cols-8{grid-template-columns:1fr;gap:6px}}.affiliate-kpi-card{padding:14px 16px;background:rgba(255,255,255,.04);flex-direction:column;gap:4px}.affiliate-kpi-card,.affiliate-link-row{border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex}.affiliate-link-row{align-items:center;gap:10px;background:var(--bg-input);padding:4px 4px 4px 14px;overflow:hidden}.affiliate-link-code{flex:1 1;font-size:.82rem;color:var(--text-accent);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.affiliate-app-row{display:flex;gap:16px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:rgba(255,255,255,.02);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.affiliate-app-row:hover{border-color:var(--border-accent);background:rgba(21,94,239,.06)}.job-tray{position:fixed;bottom:24px;right:24px;width:340px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(0,0,0,.1);z-index:9999;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.job-tray-header{padding:12px 16px;background:var(--bg-page);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;cursor:pointer}.job-tray-title{font-weight:600;font-size:.9rem}.job-tray-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:.8rem}.job-tray-list{max-height:400px;overflow-y:auto}.job-tray-item{padding:12px 16px;border-bottom:1px solid var(--border-color)}.job-tray-item:last-child{border-bottom:none}.job-tray-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.8rem;font-weight:500}.job-tray-type{display:flex;align-items:center;gap:6px}.job-tray-status-text{color:var(--text-secondary)}.processing-text{color:var(--color-primary);display:flex;align-items:center;gap:6px}.job-tray-prompt{font-size:.85rem;color:var(--text-primary);margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-tray-progress-wrap{height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden}.job-tray-progress-bar{height:100%;background:var(--color-primary);width:100%;animation:pulseOpacity 1.5s infinite}.job-tray-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.job-tray-footer{padding:8px;border-top:1px solid var(--border-color);text-align:center}.job-tray-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:28px;background:var(--color-primary);color:white;border:none;box-shadow:0 4px 12px rgba(21,94,239,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:9999;transition:transform .2s}.job-tray-fab:hover{transform:scale(1.05)}.fab-icon{font-size:24px}.fab-badge{position:absolute;top:-4px;right:-4px;background:var(--color-error);color:white;font-size:.75rem;font-weight:600;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-card)}.fab-badge.done{background:var(--color-success)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseOpacity{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.create-page-centered{max-width:640px;margin:0 auto;padding:24px 16px}.config-card{background:var(--color-surface-2,#1a1d27);border:1px solid var(--color-border,#2a2d3a);border-radius:16px;padding:20px;margin-bottom:16px}.config-header{margin-bottom:20px;font-weight:600;font-size:.95rem}.config-header,.form-label-row{display:flex;justify-content:space-between;align-items:center}.form-label-row{margin-bottom:8px}.badge-optional{font-size:.72rem;color:var(--color-text-muted,#6b7280)}.config-section-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--color-primary,#22d3ee);text-transform:uppercase;margin-bottom:8px;margin-top:16px}.advanced-config-card{background:var(--color-surface-3,#12151f);border-radius:12px;padding:16px;margin-top:8px}.btn-advanced-toggle{width:100%;padding:12px 16px;background:var(--color-surface-3,#12151f);border:1px solid var(--color-border,#2a2d3a);border-radius:10px;color:var(--color-text-primary,#e2e8f0);font-size:.85rem;cursor:pointer;margin-top:12px;display:flex;align-items:center;justify-content:space-between;transition:background .15s}.btn-advanced-toggle:hover{background:var(--color-surface-hover,#1f2330)}.config-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.speed-btn-group{display:flex;gap:8px}.speed-btn{flex:1 1;padding:12px;background:var(--color-surface-3,#12151f);border:1px solid var(--color-border,#2a2d3a);border-radius:10px;color:var(--color-text-secondary,#9ca3af);cursor:pointer;font-size:.875rem;transition:all .15s;font-weight:500}.speed-btn.active{background:var(--color-primary,#22d3ee);color:#000;border-color:var(--color-primary,#22d3ee);font-weight:700}.speed-btn:disabled{opacity:.5;cursor:not-allowed}.server-warning{font-size:.72rem;color:var(--color-warning,#f59e0b);margin-top:8px;display:flex;align-items:center;gap:4px}.generate-btn{margin-top:16px;padding:16px;font-size:1rem;font-weight:600}.result-card{background:var(--color-surface-2,#1a1d27);border:1px solid var(--color-border,#2a2d3a);border-radius:16px;padding:20px;margin-bottom:16px}.image-result-card.has-media{padding:12px;background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(15,23,42,.88))}.image-result-shell{display:flex;flex-direction:column;gap:12px}.image-result-media{position:relative;overflow:hidden;border-radius:18px;background:#0f172a;border:1px solid rgba(148,163,184,.14);box-shadow:0 22px 44px rgba(15,23,42,.32)}.image-result-preview{width:100%;display:block;max-height:72vh;object-fit:contain;background:linear-gradient(135deg,rgba(30,41,59,.95),rgba(15,23,42,.95)),radial-gradient(circle at top,rgba(56,189,248,.2),transparent 50%)}.image-result-status{position:absolute;top:14px;left:14px;padding:8px 12px;border-radius:999px;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.22);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#f8fafc;font-size:.78rem;font-weight:700;letter-spacing:.02em}.image-result-actions{position:absolute;left:14px;right:14px;bottom:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.image-result-button{min-height:44px;border-radius:12px;font-size:.86rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media (max-width:640px){.image-result-actions{grid-template-columns:1fr}}.queue-hint{font-size:.78rem;color:var(--color-warning,#f59e0b);text-align:center;margin-top:8px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-deep);padding:24px 16px}.form-error{display:block;font-size:.78rem;color:#F87171;margin-top:5px}.auth-card--success .auth-logo{background:linear-gradient(135deg,#22C55E,#4ADE80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cinemaStudio{border:1px solid rgba(245,158,11,.3);border-radius:10px;overflow:hidden;margin:12px 0;flex-shrink:0}.csHeader{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(245,158,11,.08);border:none;cursor:pointer;color:#f0f4f8;font-size:13px;font-weight:500;transition:background .15s}.csHeader:hover{background:rgba(245,158,11,.13)}.csToggle{font-size:11px;padding:2px 8px;border-radius:20px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.5);transition:background .2s,color .2s}.csToggleOn{background:rgba(245,158,11,.25);color:#f59e0b}.csBody{padding:14px;background:rgba(0,0,0,.2)}.csPillGroup{margin-bottom:12px}.csPillLabel{font-size:11px;color:rgba(255,255,255,.45);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.csPills{display:flex;flex-wrap:wrap;gap:6px}.csPill{padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(255,255,255,.6);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.csPill:hover{border-color:rgba(245,158,11,.4);color:rgba(255,255,255,.85)}.csPillActive{border-color:#f59e0b;background:rgba(245,158,11,.15);color:#f59e0b}.csPreview{margin-top:10px;padding:8px 10px;background:rgba(245,158,11,.06);border-radius:6px;font-size:11px;color:rgba(255,255,255,.45);line-height:1.5;border:1px solid rgba(245,158,11,.1)}.csPreview em{color:rgba(245,158,11,.8);font-style:normal}.csBestPreset{width:100%;margin-top:8px;padding:7px 12px;background:rgba(99,102,241,.1);border:1px solid rgba(99,102,241,.3);border-radius:8px;color:#818cf8;font-size:12px;cursor:pointer;text-align:left;transition:background .2s}.csBestPreset:hover{background:rgba(99,102,241,.2)}.react-flow__pane,.react-flow__pane.react-flow__pane--selecting{cursor:crosshair!important}.react-flow__node{cursor:grab!important}.react-flow__node.dragging{cursor:grabbing!important}.react-flow__handle{width:14px!important;height:14px!important;opacity:1!important;cursor:crosshair!important;pointer-events:all!important;border-radius:50%!important;border:2px solid #0d1117!important;z-index:10!important}.react-flow__handle-source{background:#22c55e!important}.react-flow__handle-target{background:#a855f7!important}.react-flow__handle.connectable:hover,.react-flow__handle:hover{transform:scale(1.6)!important;box-shadow:0 0 0 4px rgba(168,85,247,.4)!important;z-index:50!important}.react-flow__handle-source:hover,.react-flow__handle.connectable.source:hover{box-shadow:0 0 0 4px rgba(34,197,94,.4)!important}.react-flow__handle.connectingto{transform:scale(1.8)!important;box-shadow:0 0 0 6px rgba(168,85,247,.6)!important}.react-flow__handle-source.connectingfrom{transform:scale(1.8)!important;box-shadow:0 0 0 6px rgba(34,197,94,.6)!important}