@keyframes logoPulse{0%,to{transform:scale(1) rotate(0deg);filter:drop-shadow(0 0 6px rgba(245,158,11,.5))}50%{transform:scale(1.08) rotate(-5deg);filter:drop-shadow(0 0 12px rgba(245,158,11,.9))}}@keyframes dropdownFadeIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shimmer{to{transform:translateX(100%)}}@keyframes dotPulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes spin{to{transform:rotate(1turn)}}.home-container{max-width:1200px;margin:0 auto;padding:40px 20px 80px;min-height:100vh;display:flex;flex-direction:column;gap:60px}.home-header{justify-content:space-between;padding:16px 28px}.home-header,.logo-section{display:flex;align-items:center}.logo-section{gap:10px}.logo-icon{font-size:24px;animation:logoPulse 2.5s ease-in-out infinite}.logo-text{font-size:22px;font-weight:850;color:#ffffff;background:linear-gradient(135deg,#ffffff 40%,#feb47b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.nav-actions{display:flex;align-items:center;gap:20px}.user-profile-menu{position:relative}.user-profile-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--color-text-secondary,rgba(255,255,255,.75));font-size:14px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s cubic-bezier(.4,0,.2,1)}.user-profile-trigger.active,.user-profile-trigger:hover{color:#ffffff;background:rgba(255,255,255,.06)}.dropdown-arrow{font-size:9px;transition:transform .25s cubic-bezier(.4,0,.2,1);display:inline-block}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown-list{position:absolute;top:100%;right:0;margin-top:8px;min-width:130px;background:rgba(15,10,25,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:6px;z-index:100;box-shadow:0 10px 25px -5px rgba(0,0,0,.5),0 8px 10px -6px rgba(0,0,0,.5);animation:dropdownFadeIn .2s cubic-bezier(.16,1,.3,1);transform-origin:top right}.dropdown-logout-btn{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:none;border:none;color:#ff4560;font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;text-align:left;transition:all .2s ease}.dropdown-logout-btn:hover{background:rgba(255,69,96,.1);color:#ff6b81}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,.05);color:var(--color-foreground);border:1px solid var(--color-border);padding:10px 20px;border-radius:var(--radius-md);font-weight:500;font-size:14px;cursor:pointer;text-decoration:none;transition:all .25s ease}.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:var(--color-border-hover);transform:translateY(-1px)}.hero-section{text-align:center;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:24px;flex-shrink:0}.hero-title{font-family:var(--font-body);font-size:52px;font-weight:800;line-height:1.15;letter-spacing:-1.5px;background:linear-gradient(90deg,#ffffff,#d8b4fe,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-desc{font-size:18px;line-height:1.6;max-width:600px;margin:0 auto;color:var(--color-foreground-muted)}.console-card{max-width:720px;margin:0 auto;width:100%;padding:40px;position:relative;flex-shrink:0}.console-card:after{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(139,92,246,.3),rgba(236,72,153,.2),transparent);z-index:-1;pointer-events:none}.input-group{display:flex;gap:12px;position:relative}.input-url{flex:1 1;font-size:16px;padding:16px 20px;min-width:0}.btn-generate{padding:0 32px;font-size:16px}.input-options{margin-top:20px;display:flex;flex-direction:column;gap:8px;text-align:left}.input-options label{font-size:13px;font-weight:600;color:var(--color-foreground-muted);margin-bottom:4px;display:block}.textarea-custom{background:rgba(255,255,255,.03);border:1px solid var(--color-border);color:var(--color-foreground);padding:12px;border-radius:var(--radius-md);outline:none;font-family:inherit;font-size:13px;min-height:120px;resize:vertical;transition:all .25s ease;width:100%}.textarea-custom:focus{border-color:var(--color-primary);background:rgba(255,255,255,.05)}.stepper-container{margin-top:40px;gap:16px;animation:fadeIn .4s ease-out}.step-item,.stepper-container{display:flex;flex-direction:column}.step-item{align-items:stretch;padding:16px 20px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.03);border-radius:var(--radius-md);transition:all .3s ease;gap:0}.step-item.active{background:rgba(139,92,246,.05);border-color:rgba(139,92,246,.2)}.step-item.completed{background:rgba(16,185,129,.03);border-color:rgba(16,185,129,.15)}.step-main-row{justify-content:space-between;width:100%}.step-left,.step-main-row{display:flex;align-items:center}.step-left{gap:16px;flex:1 1}.step-right{display:flex;align-items:center}.step-status-badge{font-size:11px;font-weight:600;color:var(--color-foreground-muted);background:rgba(255,255,255,.04);padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.step-status-badge.success{background:rgba(16,185,129,.08);color:var(--color-success)}.step-indicator{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:1px solid var(--color-border);color:var(--color-foreground-muted)}.step-item.active .step-indicator{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 0 12px var(--color-primary-glow);animation:pulse 1.5s infinite}.step-item.completed .step-indicator{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-text{flex:1 1;text-align:left}.step-title{font-size:14px;font-weight:600;color:var(--color-foreground-muted)}.step-item.active .step-title{color:var(--color-foreground)}.step-item.completed .step-title{color:rgba(255,255,255,.8);text-decoration:line-through;text-decoration-color:rgba(16,185,129,.3)}.step-desc{font-size:12px;color:var(--color-foreground-muted);margin-top:2px}.stepper-substeps{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:10px;animation:slideDown .25s cubic-bezier(.16,1,.3,1)}.substep-item{display:flex;align-items:center;gap:12px;padding:4px 0;transition:all .2s ease}.substep-label{font-size:13px;color:var(--color-foreground-muted);text-align:left}.substep-item.status-completed .substep-label{color:rgba(255,255,255,.85)}.substep-item.status-running .substep-label{color:var(--color-primary-light,#c084fc);font-weight:600;animation:pulse-light 2s infinite}.substep-item.status-pending .substep-label{color:rgba(255,255,255,.22)}.substep-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-pending-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.15)}.icon-spinner{width:14px;height:14px;color:var(--color-primary);animation:spin 1s linear infinite}.icon-check{width:16px;height:16px;color:var(--color-success)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-light{0%{opacity:.95}50%{opacity:.75}to{opacity:.95}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(4,6,10,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.modal-content{width:100%;max-width:650px;max-height:85vh;overflow-y:auto;padding:32px;display:flex;flex-direction:column;gap:24px;position:relative;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.modal-header{justify-content:space-between}.modal-header,.modal-title{display:flex;align-items:center}.modal-title{font-size:20px;font-weight:800;color:#fff;gap:8px}.modal-close{background:none;border:none;color:var(--color-foreground-muted);font-size:24px;cursor:pointer;transition:color .2s}.modal-close:hover{color:#fff}.modal-desc{font-size:14px;color:var(--color-foreground-muted);background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.15);padding:12px 16px;border-radius:var(--radius-md);margin-top:-8px}.modal-form{flex-direction:column}.form-row,.modal-form{display:flex;gap:16px}.form-col{flex:1 1}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:rgba(255,255,255,.8)}.form-group input,.form-group textarea{width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.success-card{max-width:720px;margin:40px auto 0;padding:40px;text-align:center;display:flex;flex-direction:column;gap:28px;border-color:rgba(16,185,129,.3);box-shadow:0 0 30px rgba(16,185,129,.1);animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1)}.success-icon{width:64px;height:64px;background:rgba(16,185,129,.1);border:2px solid var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto;color:var(--color-success);box-shadow:0 0 20px rgba(16,185,129,.2)}.success-title{font-size:28px;font-weight:800;color:#fff}.success-desc{color:var(--color-foreground-muted);font-size:14px;margin-top:8px}.result-url-box{background:rgba(0,0,0,.2);border:1px solid var(--color-border);padding:16px 20px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;gap:12px}.result-url-text{font-family:monospace;font-size:14px;color:#a78bfa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;text-align:left}.btn-copy{padding:8px 16px;font-size:12px;flex-shrink:0}.success-actions{display:flex;justify-content:center;gap:16px}.generating-list-section{animation:slideUp .5s ease-out;border:1px dashed rgba(167,139,250,.25);box-shadow:0 4px 24px rgba(0,0,0,.2)}.generating-list-item{position:relative;overflow:hidden}.generating-list-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent);transform:translateX(-100%);animation:shimmer 2.5s infinite}.generating-list-item:hover{background:rgba(255,255,255,.06)!important;border-color:rgba(167,139,250,.3)!important;transform:translateY(-2px);box-shadow:0 4px 12px rgba(167,139,250,.05)}.generating-list-item:active{transform:translateY(-1px)}.generating-indicator-dot{width:8px;height:8px;background-color:#c084fc;border-radius:50%;display:inline-block;box-shadow:0 0 8px #c084fc;animation:dotPulse 1.5s ease-in-out infinite}.status-badge-generating{background:rgba(167,139,250,.12)!important;color:#c084fc!important;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:700;border:1px solid rgba(167,139,250,.3);display:inline-flex;align-items:center;gap:6px}.loading-spinner-tiny{width:10px;height:10px;border:2px solid rgba(192,132,252,.3);border-top-color:#c084fc;border-radius:50%;animation:spin 1s linear infinite}.btn-text-link{background:none;border:none;color:rgba(255,255,255,.45);font-size:13px;cursor:pointer;padding:8px 16px;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;margin-top:8px}.btn-text-link:hover{color:#fff!important;text-decoration:underline;text-underline-offset:4px}.confirm-modal{max-width:900px!important;width:95%!important}.confirm-modal-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;text-align:left}.confirm-modal-left{border-right:1px solid rgba(255,255,255,.08);padding-right:24px}.confirm-modal-left,.confirm-modal-right{display:flex;flex-direction:column;gap:16px}.slot-grid-label{font-size:13px;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:-4px}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.slot-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:6px}.slot-card:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2)}.slot-card.active-slot{background:rgba(139,92,246,.1);border-color:#8b5cf6;box-shadow:0 0 10px rgba(139,92,246,.3)}.slot-name{font-size:11px;font-weight:700;color:rgba(255,255,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.slot-card.active-slot .slot-name{color:#c084fc}.slot-preview{width:100%;aspect-ratio:1;background:rgba(0,0,0,.2);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.slot-preview img{width:100%;height:100%;object-fit:cover}.empty-preview{font-size:18px;font-weight:700;color:rgba(255,255,255,.15)}.image-pool-section{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:16px;flex:1 1;min-height:0}.image-pool-section label{font-size:12px;font-weight:600;color:rgba(255,255,255,.7)}.image-pool-grid{display:flex;flex-wrap:wrap;gap:8px;overflow-y:auto;max-height:200px;padding-right:4px}.image-pool-grid::-webkit-scrollbar{width:4px}.image-pool-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:2px}.pool-image-wrapper{width:calc((100% - 24px) / 4);aspect-ratio:1;border-radius:6px;overflow:hidden;cursor:pointer;position:relative;border:2px solid transparent;transition:all .2s;background:rgba(0,0,0,.3)}.pool-image-wrapper:hover{transform:scale(1.04)}.pool-image-wrapper img{width:100%;height:100%;object-fit:cover}.pool-image-wrapper.in-use{border-color:#10b981}.delete-badge{position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:rgba(239,68,68,.85);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;cursor:pointer;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.3);transition:all .15s ease-in-out}.delete-badge:hover{background:rgba(220,38,38,1);transform:scale(1.15)}.in-use-badge{position:absolute;top:4px;right:4px;background:#10b981;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.2)}@media (max-width:768px){.confirm-modal{max-height:90vh!important}.confirm-modal-grid{grid-template-columns:1fr;gap:24px}.confirm-modal-left{border-right:none;padding-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:24px}}.vto-panel-box{margin-top:12px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .3s ease}.vto-panel-box:hover{border-color:rgba(139,92,246,.25);box-shadow:0 0 15px rgba(139,92,246,.05)}.vto-panel-header{font-size:13px;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px;letter-spacing:-.2px}.vto-empty-msg{font-size:12px;color:rgba(255,255,255,.5);line-height:1.5;display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:10px 0}.vto-link-btn{color:#a78bfa;text-decoration:none;font-weight:600;transition:color .2s ease}.vto-link-btn:hover{color:#c084fc;text-decoration:underline}.vto-form-body{display:flex;flex-direction:column;gap:12px}.vto-input,.vto-select{transition:all .25s ease!important}.vto-input:focus,.vto-select:focus{border-color:#8b5cf6!important;background:rgba(255,255,255,.08)!important;box-shadow:0 0 8px rgba(139,92,246,.2)}.vto-error-msg{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:6px;padding:8px 12px;color:#f87171!important;font-size:12px;line-height:1.4}.vto-gen-btn{transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(124,58,237,.3)}.vto-gen-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(124,58,237,.5);filter:brightness(1.1)}.vto-gen-btn:active:not(:disabled){transform:translateY(0)}.vto-gen-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.vto-apply-btn{transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(16,185,129,.3)}.vto-apply-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(16,185,129,.5);filter:brightness(1.1)}.vto-apply-btn:active{transform:translateY(0)}.vto-preview-box{animation:fadeIn .3s ease-out}.vto-preview-wrapper{transition:all .3s ease;cursor:zoom-in}.vto-preview-wrapper:hover{border-color:#8b5cf6!important;box-shadow:0 0 12px rgba(139,92,246,.3);transform:scale(1.02)}.template-style-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px;margin-top:8px;width:100%}.template-style-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;white-space:nowrap;-webkit-user-select:none;user-select:none}.template-style-option input[type=radio]{margin:0!important;width:16px!important;height:16px!important;accent-color:#8b5cf6!important;flex-shrink:0!important}