:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;--bg-base: #09090b;--bg-surface: #131316;--bg-elevated: #1a1a1f;--bg-hover: #222229;--bg-overlay: rgba(0, 0, 0, .7);--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-inverse: #09090b;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-subtle: #6d28d9;--accent-glow: rgba(139, 92, 246, .15);--accent-text: #a78bfa;--border: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .13);--border-accent: rgba(139, 92, 246, .4);--error: #f87171;--error-bg: rgba(248, 113, 113, .08);--success: #4ade80;--success-bg: rgba(74, 222, 128, .08);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .08);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .6);--shadow-glow: 0 0 30px var(--accent-glow);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none}body{min-height:100vh;background:var(--bg-base);color:var(--text-primary);font-size:15px;line-height:1.6;overflow-y:auto}#root{min-height:100vh}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:#8b5cf64d;color:var(--text-primary)}::-webkit-scrollbar{width:0;height:0;display:none}img{display:block;max-width:100%}.app{min-height:100vh;display:flex;flex-direction:column}.loading-screen{display:grid;place-items:center;min-height:100vh;color:var(--text-muted);font-size:.95rem;gap:1rem}.loading-screen .spinner{width:32px;height:32px}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;background:#09090bd9;-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border-bottom:1px solid var(--border)}.navbar-brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--text-primary)}.navbar-brand svg{color:var(--accent);flex-shrink:0}.nav-tabs{display:flex;align-items:center;gap:.25rem;background:var(--bg-elevated);border-radius:var(--radius-md);padding:3px;border:1px solid var(--border)}.nav-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem 1rem;border-radius:9px;font-size:.85rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;position:relative}.nav-tab svg{flex-shrink:0;opacity:.6;transition:opacity var(--transition-fast)}.nav-tab:hover{color:var(--text-secondary)}.nav-tab:hover svg{opacity:.8}.nav-tab.active{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 1px 8px #8b5cf64d}.nav-tab.active svg{opacity:1}.nav-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;font-variant-numeric:tabular-nums;background:#8b5cf626;color:var(--accent-text)}.nav-tab.active .nav-tab-badge{background:#fff3;color:#fff}.navbar-actions{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-email{color:var(--text-muted);font-size:.8rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credit-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-full);color:var(--accent-text);font-weight:600;font-size:.8rem;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.credit-badge svg{flex-shrink:0}.credit-badge:hover{background:#8b5cf62e;border-color:#8b5cf659;box-shadow:var(--shadow-glow)}.main-content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 2rem 4rem;display:flex;flex-direction:column;gap:1.75rem}.section{display:flex;flex-direction:column;gap:1rem}.upload-zone{position:relative;border:2px dashed rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all var(--transition-base);background:var(--bg-surface)}.upload-zone:hover{border-color:#ffffff2e;background:var(--bg-elevated)}.upload-zone.dragging{border-color:var(--accent);border-style:solid;background:#8b5cf60f;box-shadow:inset 0 0 60px var(--accent-glow)}.upload-zone.has-files{padding:2rem}.upload-icon{display:block;margin:0 auto 1rem;color:var(--text-muted);transition:color var(--transition-base)}.upload-zone:hover .upload-icon,.upload-zone.dragging .upload-icon{color:var(--accent-text)}.upload-text{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.upload-hint{font-size:.85rem;color:var(--text-muted)}.upload-formats{font-size:.75rem;color:var(--text-muted);margin-top:.75rem}.thumbnail-strip{display:flex;gap:.6rem;padding:.25rem 0;overflow-x:auto}.thumbnail{position:relative;flex-shrink:0;width:72px;height:72px;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all var(--transition-fast)}.thumbnail img{width:100%;height:100%;object-fit:cover}.thumbnail:hover{border-color:var(--border-hover)}.thumbnail.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-glow)}.thumbnail-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#000000b3;border:none;color:var(--text-secondary);font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--transition-fast);padding:0}.thumbnail:hover .thumbnail-remove{opacity:1}.thumbnail-remove:hover{background:#f87171cc;color:#fff}.thumbnail-count{display:flex;align-items:center;padding:0 .5rem;color:var(--text-muted);font-size:.8rem;white-space:nowrap;flex-shrink:0}.field-group{display:flex;flex-direction:column;gap:.5rem}.field-header{display:flex;align-items:center;gap:.6rem}.field-label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.field-tag{font-size:.7rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;background:#71717a1f;border-radius:var(--radius-sm)}.field{display:flex;flex-direction:column;gap:.4rem}.field span{font-size:.85rem;font-weight:500;color:var(--text-secondary)}input,select,textarea{width:100%;padding:.65rem .85rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.9rem;transition:all var(--transition-fast)}input:hover,select:hover,textarea:hover{border-color:var(--border-hover)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical;min-height:80px}input[type=file]{cursor:pointer}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;background:linear-gradient(135deg,var(--accent),var(--accent-subtle));color:#fff;font-weight:600;font-size:.9rem;border-radius:var(--radius-md);border:none;transition:all var(--transition-base);white-space:nowrap}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-hover),var(--accent));box-shadow:0 4px 24px #8b5cf659;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;background:transparent;color:var(--text-secondary);font-weight:500;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);color:var(--text-primary)}.btn-secondary:disabled{opacity:.35;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;color:var(--text-muted);font-size:.8rem;font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-lg{padding:.8rem 1.6rem;font-size:.95rem}.btn-sm{padding:.45rem .85rem;font-size:.8rem}.btn-badge{display:inline-flex;padding:.15rem .5rem;background:#ffffff26;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.link-btn{display:inline;background:none;border:none;color:var(--accent-text);font-size:inherit;font-weight:500;cursor:pointer;padding:0;transition:color var(--transition-fast)}.link-btn:hover{color:var(--accent);text-decoration:underline}.action-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.alert{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;line-height:1.5}.alert-error{background:var(--error-bg);border:1px solid rgba(248,113,113,.15);color:var(--error)}.alert-warning{background:var(--warning-bg);border:1px solid rgba(251,191,36,.15);color:var(--warning)}.alert-success{background:var(--success-bg);border:1px solid rgba(74,222,128,.15);color:var(--success)}.alert .link-btn{color:inherit;text-decoration:underline}.error{color:var(--error);font-size:.875rem}.info{color:var(--success);font-size:.875rem}.muted{color:var(--text-secondary)}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.template-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:all var(--transition-base)}.template-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.template-card.generated{border-color:#4ade8033}.template-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.template-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.template-card-dims{display:inline-flex;padding:.2rem .55rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.18);border-radius:var(--radius-full);color:var(--accent-text);font-size:.7rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.template-card-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}.template-card-preview{position:relative;width:100%;min-height:140px;border-radius:var(--radius-md);overflow:hidden;background:#0000004d;border:1px solid var(--border)}.template-card-preview img{width:100%;display:block}.template-card-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:140px;color:var(--text-muted);font-size:.8rem}.template-card-empty svg{opacity:.3}.template-card-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#09090bd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-secondary);font-size:.85rem;font-weight:500}.template-card.locked{border-color:#4ade8040;box-shadow:0 0 16px #4ade800f}.template-card-header-badges{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.template-card-lock-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:#4ade801a;border:1px solid rgba(74,222,128,.2);border-radius:var(--radius-full);color:var(--success);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.template-card-lock-overlay{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--success)}.template-card-actions{display:flex;gap:.5rem}.template-card-actions .btn-primary,.template-card-actions .btn-secondary,.template-card-actions .btn-regenerate,.template-card-actions .btn-lock{flex:1}.btn-lock{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .85rem;background:transparent;color:var(--text-muted);font-weight:500;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap;cursor:pointer}.btn-lock:hover{background:#4ade800f;border-color:#4ade8040;color:var(--success)}.btn-lock.active{background:#4ade801a;border-color:#4ade804d;color:var(--success);font-weight:600}.btn-lock.active:hover{background:#4ade800d;border-color:#4ade8026;color:var(--text-muted)}.btn-regenerate{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .85rem;background:transparent;color:var(--text-secondary);font-weight:500;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap;cursor:pointer}.btn-regenerate:hover:not(:disabled){background:#3b82f60f;border-color:var(--border-accent);color:var(--accent-text)}.btn-regenerate:disabled{opacity:.35;cursor:not-allowed}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(ellipse at 20% 50%,rgba(139,92,246,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(167,139,250,.04) 0%,transparent 50%),var(--bg-base)}.auth-card{width:min(440px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2.5rem 2rem;box-shadow:var(--shadow-lg)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.5rem}.auth-brand svg{color:var(--accent)}.auth-title{font-size:1.4rem;font-weight:700;text-align:center;letter-spacing:-.02em;margin:0}.auth-subtitle{text-align:center;color:var(--text-muted);font-size:.9rem;margin:.35rem 0 0}.auth-divider{width:48px;height:3px;background:linear-gradient(90deg,var(--accent),rgba(139,92,246,.2));border-radius:2px;margin:1.5rem auto}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .btn-primary{width:100%;margin-top:.25rem}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.auth-links .link-btn{font-size:.8rem}.auth-footer{text-align:center;color:var(--text-muted);font-size:.78rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border)}.auth-footer svg{vertical-align:middle;margin-right:.3rem}.password-hint{font-size:.78rem;color:var(--text-muted);margin:-.25rem 0 0}.terms-checkbox{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin:.25rem 0}.terms-checkbox input[type=checkbox]{width:18px;height:18px;min-width:18px;margin-top:1px;accent-color:var(--accent);cursor:pointer}.terms-checkbox a{color:var(--accent-text);text-decoration:none;transition:color var(--transition-fast)}.terms-checkbox a:hover{color:var(--accent);text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .15s ease}.modal-card{width:min(620px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.modal-header h2{font-size:1.25rem;font-weight:700;margin:0}.modal-subtitle{color:var(--text-muted);font-size:.85rem;margin-bottom:1.25rem}.close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:1.25rem;line-height:1;transition:all var(--transition-fast);flex-shrink:0}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.package-card{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1rem 1.25rem;background:var(--bg-elevated);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.15rem;transition:all var(--transition-base)}.package-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.package-card.popular{border-color:var(--border-accent);box-shadow:var(--shadow-glow)}.package-card.popular:hover{box-shadow:var(--shadow-glow),var(--shadow-md)}.badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent),var(--accent-subtle));color:#fff;font-size:.65rem;font-weight:700;padding:.2rem .65rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.package-credits{font-size:2.25rem;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--text-primary)}.package-label{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.package-price{font-size:1.2rem;font-weight:700;margin-top:.5rem;color:var(--text-primary)}.package-per-credit{color:var(--text-muted);font-size:.75rem;margin-bottom:.75rem}.package-card .btn-primary{width:100%}.landing{max-width:980px;margin:0 auto;padding:0 1.5rem}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0}.landing-logo{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--text-primary)}.landing-logo svg{color:var(--accent)}.landing-nav-cta{padding:.5rem 1.1rem;font-size:.85rem}.landing-agent-notice{display:block;padding:.5rem 1rem;margin-bottom:.5rem;font-size:.8rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;text-align:center}.landing-agent-notice a{color:var(--accent);font-weight:600}.landing-agent-notice a:hover{text-decoration:underline}.landing-hero{text-align:center;padding:6rem 0 5rem;position:relative}.landing-hero:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(139,92,246,.1) 0%,transparent 70%);pointer-events:none}.landing-h1{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.035em;margin:0 0 1.25rem;position:relative}.landing-h1-accent{background:linear-gradient(135deg,var(--accent-text),#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-sub{color:var(--text-secondary);font-size:1.1rem;line-height:1.65;max-width:520px;margin:0 auto 2.25rem;position:relative}.landing-hero-cta{padding:.85rem 2.25rem;font-size:1.05rem}.landing-hint{color:var(--text-muted);font-size:.8rem;margin-top:.75rem}.landing-section{padding:4rem 0;border-top:1px solid var(--border)}.landing-h2{font-size:1.65rem;font-weight:700;letter-spacing:-.025em;margin:0 0 .5rem;text-align:center}.landing-section-sub{text-align:center;color:var(--text-secondary);margin:0 0 2.25rem;font-size:.95rem}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}.landing-step{text-align:center}.landing-step-num{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);color:var(--accent-text);font-weight:700;font-size:1rem;margin-bottom:1rem}.landing-step h3{margin:0 0 .4rem;font-size:1.05rem;font-weight:600}.landing-step p{color:var(--text-secondary);font-size:.9rem;line-height:1.55}.landing-capsules{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem}.landing-capsule-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;background:var(--bg-surface);transition:all var(--transition-base)}.landing-capsule-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.landing-capsule-card h3{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.landing-dims{color:var(--accent-text);font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}.landing-capsule-card p{margin:.6rem 0 0;color:var(--text-secondary);font-size:.85rem;line-height:1.5}.landing-why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.landing-why-item{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;background:var(--bg-surface);transition:all var(--transition-base)}.landing-why-item:hover{border-color:var(--border-hover)}.landing-why-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:#8b5cf61a;color:var(--accent-text);margin-bottom:.75rem}.landing-why-item h3{margin:0 0 .4rem;font-size:1rem;font-weight:600}.landing-why-item p{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.55}.landing-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.landing-price-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem 1.25rem;background:var(--bg-surface);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.15rem;position:relative;transition:all var(--transition-base)}.landing-price-card:hover{border-color:var(--border-hover);transform:translateY(-3px);box-shadow:var(--shadow-md)}.landing-price-card.popular{border-color:var(--border-accent);box-shadow:var(--shadow-glow)}.landing-price-credits{font-size:2.75rem;font-weight:800;line-height:1;letter-spacing:-.03em}.landing-price-label{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.landing-price-amount{font-size:1.35rem;font-weight:700;margin-top:.6rem}.landing-price-per{color:var(--text-muted);font-size:.8rem}.landing-final-cta{text-align:center;padding-bottom:5rem}.landing-faq{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.landing-faq-item{background:#ffffff08;border:1px solid var(--border);border-radius:12px;padding:0;transition:border-color .2s}.landing-faq-item[open]{border-color:var(--accent)}.landing-faq-item summary{cursor:pointer;padding:1.1rem 1.4rem;list-style:none;display:flex;align-items:center;justify-content:space-between}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";font-size:1.3rem;color:var(--text-muted);transition:transform .2s;flex-shrink:0;margin-left:1rem}.landing-faq-item[open] summary:after{content:"−";color:var(--accent)}.landing-faq-item summary h3{font-size:.95rem;font-weight:600;color:var(--text);margin:0}.landing-faq-item p{padding:0 1.4rem 1.2rem;margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.65}.legal-page{max-width:720px;margin:0 auto;padding:3rem 0 4rem}.legal-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin:0 0 .35rem}.legal-updated{color:var(--text-muted);font-size:.85rem;margin:0 0 2.5rem}.legal-section{margin-bottom:2rem}.legal-section h2{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .6rem;color:var(--text-primary)}.legal-section h3{font-size:.95rem;font-weight:600;margin:1rem 0 .4rem;color:var(--text-secondary)}.legal-section p{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin:0 0 .6rem}.legal-section ul{margin:.4rem 0 .8rem 1.5rem;color:var(--text-secondary);font-size:.9rem;line-height:1.7}.legal-section li{margin-bottom:.3rem}.legal-section li strong{color:var(--text-primary);font-weight:600}.landing-footer{border-top:1px solid var(--border);padding:2rem 0 1.5rem;color:var(--text-muted);font-size:.78rem}.landing-footer-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.landing-footer-logo{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-weight:600;font-size:.82rem}.landing-footer-logo:hover{color:var(--text)}.landing-footer-logo svg{opacity:.5}.landing-footer-links{display:flex;gap:1.25rem}.landing-footer-links a{color:var(--text-muted);text-decoration:none;font-size:.8rem;transition:color .15s}.landing-footer-links a:hover{color:var(--accent)}.landing-footer-copy{text-align:center;color:var(--text-muted);opacity:.5;font-size:.72rem;margin:0}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.history-header h2{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.history-count{font-size:.8rem;font-weight:500;color:var(--text-muted);padding:.2rem .65rem;background:#71717a1f;border-radius:var(--radius-full)}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem 1rem;text-align:center;color:var(--text-muted)}.history-empty svg{opacity:.3;margin-bottom:.5rem}.history-empty p{margin:0;font-size:1rem;font-weight:500;color:var(--text-secondary)}.history-empty .history-empty-hint{font-size:.85rem;color:var(--text-muted);font-weight:400;max-width:340px}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}.history-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:all var(--transition-base)}.history-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.history-img-wrap{width:100%;aspect-ratio:16/9;background:#0000004d;overflow:hidden}.history-img-wrap img{width:100%;height:100%;object-fit:cover}.history-meta{padding:.65rem .85rem 0;display:flex;flex-direction:column;gap:.1rem}.history-template{font-weight:600;font-size:.85rem;color:var(--text-primary)}.history-dims{display:inline-flex;color:var(--accent-text);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}.history-date{color:var(--text-muted);font-size:.72rem}.history-dl{margin:.5rem .85rem .7rem;text-decoration:none;justify-content:center}.history-more{text-align:center;margin-top:1rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-lg{width:32px;height:32px;border-width:3px}@media(max-width:768px){.navbar{padding:0 1rem;height:56px;gap:.5rem}.navbar-brand span,.user-email{display:none}.nav-tabs{gap:.15rem}.nav-tab{padding:.35rem .7rem;font-size:.8rem}.main-content{padding:1.5rem 1rem 3rem;gap:1.5rem}.template-grid{grid-template-columns:1fr}.packages-grid{grid-template-columns:1fr;max-width:300px;margin-left:auto;margin-right:auto}.landing-hero{padding:3.5rem 0 3rem}.landing-steps{grid-template-columns:1fr;gap:2rem}.landing-why-grid{grid-template-columns:1fr}.landing-pricing{grid-template-columns:1fr;max-width:280px;margin-left:auto;margin-right:auto}.landing-footer-top{flex-direction:column;text-align:center}.landing-footer-links{flex-wrap:wrap;justify-content:center}.history-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.action-bar{flex-direction:column}.action-bar .btn-primary,.action-bar .btn-secondary{width:100%}}@media(max-width:480px){.upload-zone,.auth-card{padding:2rem 1.25rem}.modal-card{padding:1.5rem 1.25rem}.nav-tab span:not(.nav-tab-badge){display:none}.nav-tab{padding:.35rem .5rem}}
