.upload-card{padding:2.5rem;border-radius:var(--radius-xl);max-width:640px;margin:0 auto;text-align:center}.upload-title{font-size:1.85rem;font-weight:700;color:var(--text-main);margin-bottom:.45rem}.upload-subtitle{color:var(--text-muted);font-size:.95rem;line-height:1.55;margin-bottom:1.75rem;max-width:480px;margin-left:auto;margin-right:auto}.upload-error-banner{display:flex;align-items:center;gap:.6rem;background:var(--error-bg);border:1px solid var(--error-border);color:#fca5a5;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.88rem;margin-bottom:1.25rem;text-align:left;animation:fadeInUp .3s ease forwards}.dropzone{border:2.5px dashed var(--border-color-hover);border-radius:var(--radius-lg);padding:3.5rem 2rem;background:var(--bg-input);cursor:pointer;transition:all var(--transition-base);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;position:relative;overflow:hidden;outline:none}.dropzone:hover,.dropzone.dragging{border-color:var(--primary);background:#fff1eb;transform:translateY(-3px);box-shadow:5px 5px 0 var(--accent)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .dropzone:hover,:root:not([data-theme=light]) .dropzone.dragging{background:#ff6a3d14}}:root[data-theme=dark] .dropzone:hover,:root[data-theme=dark] .dropzone.dragging{background:#ff6a3d14}.dropzone:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.dropzone-icon-wrap{width:76px;height:76px;border-radius:50%;background:#fff1eb;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:1.35rem;animation:float-bob 3s ease-in-out infinite}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .dropzone-icon-wrap{background:#ff6a3d24}}:root[data-theme=dark] .dropzone-icon-wrap{background:#ff6a3d24}.dropzone-icon{color:var(--primary)}.dropzone-heading{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--text-main);margin-bottom:.35rem;transition:color var(--transition-fast)}.dropzone.dragging .dropzone-heading{color:var(--primary)}.dropzone-sub{font-size:.87rem;color:var(--text-muted);margin-bottom:1.35rem}.dropzone-formats{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:center}.fmt-chip{font-size:.7rem;font-weight:700;letter-spacing:.5px;color:var(--text-sub);background:var(--bg-card);border:1.5px solid var(--border-color-hover);padding:3px 9px;border-radius:var(--radius-xs)}.fmt-size{font-size:.7rem;color:var(--text-dim);margin-left:.2rem}.preview-container{display:flex;flex-direction:column;align-items:center;gap:1.4rem}.preview-card{position:relative;width:100%;max-width:460px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:5px 5px 0 var(--accent);border:2px solid var(--accent);background:var(--bg-card)}.preview-img{width:100%;max-height:360px;object-fit:cover;display:block;transition:filter var(--transition-slow)}.preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1111148c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base)}.preview-card:hover .preview-overlay{opacity:1}.preview-card:hover .preview-img{filter:brightness(.7)}.overlay-replace-btn{display:flex;align-items:center;gap:7px;background:#fff;color:var(--accent);border:2px solid var(--accent);border-radius:var(--radius-md);padding:10px 20px;font-family:var(--font-heading);font-size:.9rem;font-weight:700;cursor:pointer;transform:scale(.92);transition:transform var(--transition-spring)}.preview-card:hover .overlay-replace-btn{transform:scale(1)}.overlay-replace-btn:hover{background:var(--primary);color:#fff;border-color:var(--accent);transform:scale(1.04)!important}.preview-remove-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--error);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}.preview-remove-btn:hover{background:var(--error);color:#fff;transform:scale(1.08);border-color:var(--accent)}.preview-ready-badge{position:absolute;bottom:10px;left:10px;background:#fff;color:var(--accent-green);border:2px solid var(--accent);font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);display:flex;align-items:center;gap:5px;animation:fadeIn .4s ease .2s both}.preview-actions{display:flex;gap:.85rem;flex-wrap:wrap;justify-content:center;width:100%;max-width:460px}.preview-actions .btn-secondary{flex:1;min-width:130px}.preview-actions .btn-primary{flex:1.6;min-width:180px}@media (max-width: 640px){.upload-card{padding:1.5rem 1.25rem}.upload-title{font-size:1.55rem}.dropzone{padding:2.5rem 1.25rem}.preview-actions{flex-direction:column}.preview-actions .btn-secondary,.preview-actions .btn-primary{flex:none;width:100%}}.question-card{padding:2.25rem;border-radius:var(--radius-xl);max-width:800px;margin:0 auto}.question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);flex-wrap:wrap;gap:var(--sp-2)}.question-counter{display:flex;align-items:center;gap:3px;font-family:var(--font-heading);font-size:.88rem;font-weight:700}.counter-current{font-size:1.1rem;color:var(--text-main)}.counter-sep,.counter-total{color:var(--text-dim)}.question-progress-track{height:5px;background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-full);overflow:hidden;margin-bottom:1.85rem}.question-progress-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width .45s cubic-bezier(.4,0,.2,1)}.question-body{display:flex;gap:2rem;align-items:flex-start}.question-thumb-col{display:flex;flex-direction:column;align-items:center;gap:.55rem;flex-shrink:0}.question-thumb{width:130px;height:130px;border-radius:var(--radius-md);object-fit:cover;border:2px solid var(--accent);box-shadow:3px 3px 0 var(--accent)}.question-thumb-label{font-size:.72rem;color:var(--text-dim);font-weight:500;text-align:center}.question-content-col{flex:1;min-width:0}.question-text{font-size:1.45rem;font-weight:700;color:var(--text-main);line-height:1.35;margin-bottom:1.35rem}.question-input-area{margin-bottom:1.75rem}.chips-grid{display:flex;flex-wrap:wrap;gap:.6rem}.chip-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-full);background:var(--bg-input);border:2px solid var(--border-color);color:var(--text-sub);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);outline:none}.chip-btn:hover{border-color:var(--accent);color:var(--text-main);transform:translateY(-1px)}.chip-btn.selected{background:#fff1eb;border-color:var(--primary);color:var(--primary-hover);box-shadow:3px 3px 0 var(--primary);transform:translateY(-1px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .chip-btn.selected{background:#ff6a3d24;color:var(--primary-light)}}:root[data-theme=dark] .chip-btn.selected{background:#ff6a3d24;color:var(--primary-light)}.chip-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.chip-check{animation:scalePop .25s cubic-bezier(.34,1.56,.64,1) forwards;flex-shrink:0}.question-input{margin-bottom:.6rem}.question-text-input{width:100%;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--radius-md);padding:12px 16px;font-family:var(--font-body);font-size:.95rem;color:var(--text-main);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.question-text-input::placeholder{color:var(--text-dim)}.question-text-input:focus{border-color:var(--primary);box-shadow:3px 3px 0 var(--primary)}.input-hint{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--text-dim);line-height:1.4}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap}@media (max-width: 640px){.question-card{padding:1.5rem 1.25rem}.question-body{flex-direction:column;gap:1.25rem}.question-thumb-col{flex-direction:row;align-items:center;gap:.85rem;width:100%}.question-thumb{width:72px;height:72px}.question-text{font-size:1.2rem}.question-actions{flex-direction:column}.question-actions button{width:100%}}.iso-card{padding:2.5rem;border-radius:var(--radius-xl);max-width:780px;margin:0 auto}.iso-title{font-size:1.85rem;font-weight:700;color:var(--text-main);margin-bottom:.45rem}.iso-subtitle{color:var(--text-muted);font-size:.95rem;line-height:1.55;margin-bottom:1.75rem;max-width:540px}.iso-analysis-summary{display:flex;align-items:flex-start;gap:.9rem;background:#eaf1ff;border:1.5px solid var(--secondary);border-radius:var(--radius-md);padding:.85rem 1.1rem;margin-bottom:1.75rem;flex-wrap:wrap}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .iso-analysis-summary{background:#2563eb1f}}:root[data-theme=dark] .iso-analysis-summary{background:#2563eb1f}.iso-analysis-label{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--secondary);white-space:nowrap;padding-top:2px}.iso-tag-row{display:flex;flex-wrap:wrap;gap:.45rem}.iso-tag{font-size:.78rem;font-weight:600;color:var(--text-sub);background:var(--bg-card);border:1.5px solid var(--border-color-hover);padding:3px 10px;border-radius:var(--radius-full);line-height:1.6}.iso-section{margin-bottom:1.75rem}.iso-section-title{display:flex;align-items:center;gap:7px;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);margin-bottom:.85rem}.iso-options-hint{font-size:.82rem;color:var(--text-dim);line-height:1.5;margin-bottom:1rem;font-style:italic}.iso-platform-row{display:flex;flex-wrap:wrap;gap:.6rem}.iso-platform-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-md);background:var(--bg-input);border:2px solid var(--border-color);color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.iso-platform-btn:hover{border-color:var(--border-color-hover);color:var(--text-main);transform:translateY(-1px)}.iso-platform-btn.selected{background:#eaf1ff;border-color:var(--secondary);color:var(--secondary);box-shadow:3px 3px 0 var(--secondary)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .iso-platform-btn.selected{background:#2563eb29}}:root[data-theme=dark] .iso-platform-btn.selected{background:#2563eb29}.iso-platform-label{font-family:var(--font-heading);font-weight:600}.iso-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.iso-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.iso-option-skeleton{background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-md);padding:1.1rem;display:flex;flex-direction:column;gap:.6rem}.iso-skel-emoji{width:38px;height:38px;border-radius:var(--radius-sm)}.iso-skel-label{width:70%;height:14px}.iso-skel-desc{width:90%;height:10px}.iso-option-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.1rem;border-radius:var(--radius-md);background:var(--bg-input);border:2px solid var(--border-color);cursor:pointer;text-align:left;transition:all var(--transition-base);opacity:0;animation-fill-mode:forwards}.iso-option-card:hover{border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--accent)}.iso-option-card.selected{background:#fff1eb;border-color:var(--primary);box-shadow:4px 4px 0 var(--primary);transform:translate(-2px,-2px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .iso-option-card.selected{background:#ff6a3d1f}}:root[data-theme=dark] .iso-option-card.selected{background:#ff6a3d1f}.iso-option-card.selected .iso-option-label{color:var(--primary-hover)}.iso-option-top{display:flex;align-items:center;justify-content:flex-end;width:100%}.iso-option-check{color:var(--primary);animation:scalePop .3s cubic-bezier(.34,1.56,.64,1) forwards}.iso-option-label{font-family:var(--font-heading);font-size:.92rem;font-weight:700;color:var(--text-main);line-height:1.3}.iso-option-desc{font-size:.78rem;color:var(--text-muted);line-height:1.45}.iso-options-error{display:flex;align-items:flex-start;gap:.9rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);padding:1.1rem 1.25rem;color:#fca5a5;animation:fadeInUp .3s ease forwards}.iso-error-content{flex:1}.iso-error-title{font-weight:700;font-size:.9rem;margin-bottom:.2rem}.iso-error-msg{font-size:.82rem;color:#f87171;line-height:1.4}.iso-retry-btn{white-space:nowrap;flex-shrink:0}.iso-options-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;color:var(--text-dim);font-size:.9rem;text-align:center;border:1px dashed var(--border-color);border-radius:var(--radius-md)}.iso-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.iso-hint-note{text-align:center;font-size:.8rem;color:var(--text-dim);margin-top:.6rem;animation:fadeIn .3s ease forwards}@media (max-width: 640px){.iso-card{padding:1.5rem 1.25rem}.iso-title{font-size:1.5rem}.iso-options-grid{grid-template-columns:1fr 1fr}.iso-platform-btn{padding:10px 12px}.iso-actions{flex-direction:column}.iso-actions button{width:100%}}@media (max-width: 380px){.iso-options-grid{grid-template-columns:1fr}}.loading-card{padding:3.5rem 2rem 2.5rem;border-radius:var(--radius-xl);max-width:560px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}.loading-spinner-wrap{position:relative;width:96px;height:96px;margin-bottom:1.5rem}.spinner-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid var(--border-color)}.spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--primary);border-right-color:var(--secondary);animation:spin 1.4s linear infinite}.spinner-inner{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;border:2.5px solid transparent;border-bottom-color:var(--accent-amber);animation:spin-reverse .9s linear infinite}.spinner-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--primary)}.sparkle-pulse{animation:pulse-glow 1.6s ease-in-out infinite alternate}.loading-shimmer-bar{width:200px;height:4px;background:var(--border-color);border-radius:var(--radius-full);overflow:hidden;margin-bottom:1.5rem}.shimmer-fill{height:100%;width:40%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:var(--radius-full);animation:progress-indeterminate 1.8s ease-in-out infinite}.loading-message{font-size:1.25rem;font-weight:700;color:var(--text-main);margin-bottom:.55rem;line-height:1.35}.loading-subtext{font-size:.88rem;color:var(--text-muted);max-width:400px;line-height:1.5;margin-bottom:1.75rem}.loading-pills{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.75rem}.load-pill{font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:var(--radius-full);background:var(--success-bg);color:var(--accent-green);border:1px solid var(--success-border)}.load-pill.pulsing{background:#fff1eb;color:var(--primary-hover);border-color:var(--primary);animation:pulseGlow 1.4s ease-in-out infinite}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .load-pill.pulsing{background:#ff6a3d24;color:var(--primary-light)}}:root[data-theme=dark] .load-pill.pulsing{background:#ff6a3d24;color:var(--primary-light)}.loading-retry-btn{font-size:.85rem;gap:6px}@media (max-width: 640px){.loading-card{padding:2rem 1.25rem 1.75rem}.loading-spinner-wrap{width:76px;height:76px}.loading-message{font-size:1.05rem}.loading-shimmer-bar{width:100%;max-width:220px}}.results-wrap{display:flex;flex-direction:column;gap:1.25rem;max-width:900px;margin:0 auto}.results-empty{padding:4rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.85rem;max-width:520px;margin:0 auto;color:var(--text-dim)}.results-empty h3{font-size:1.2rem;color:var(--text-sub)}.results-empty p{font-size:.9rem;line-height:1.5;max-width:340px}.results-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-radius:var(--radius-lg);gap:1rem;flex-wrap:wrap}.results-header-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.results-thumb{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-color-hover);flex-shrink:0}.results-meta{min-width:0}.results-badges{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;flex-wrap:wrap}.results-title{font-size:1.15rem;font-weight:700;color:var(--text-main);line-height:1.25}.results-count{font-size:.8rem;color:var(--text-dim);margin-top:2px}.results-reset-btn{flex-shrink:0;font-size:.85rem;padding:9px 14px}.modifier-bar{display:flex;align-items:center;gap:.85rem;padding:.85rem 1.1rem;border-radius:var(--radius-lg);flex-wrap:wrap}.modifier-input-wrap{flex:1;min-width:200px;display:flex;align-items:center;gap:.6rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 1rem;transition:border-color var(--transition-base)}.modifier-input-wrap:focus-within{border-color:var(--primary);box-shadow:3px 3px 0 var(--primary)}.modifier-icon{color:var(--text-dim);flex-shrink:0}.modifier-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-body);font-size:.9rem;color:var(--text-main);padding:10px 0}.modifier-input::placeholder{color:var(--text-dim)}.modifier-regen-btn{flex-shrink:0;white-space:nowrap;font-size:.9rem}.captions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.caption-card{display:flex;flex-direction:column;gap:0;border-radius:var(--radius-lg);overflow:hidden;position:relative;transition:box-shadow var(--transition-base),transform var(--transition-base);opacity:0;animation-fill-mode:forwards}.caption-card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-card-hover)}.caption-card.is-regenerating{pointer-events:none}.caption-regen-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;z-index:10;color:var(--primary);font-size:.88rem;font-weight:700;border-radius:var(--radius-lg);animation:fadeIn .2s ease forwards}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .caption-regen-overlay{background:#17171ce6}}:root[data-theme=dark] .caption-regen-overlay{background:#17171ce6}.caption-top-bar{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem .6rem;border-bottom:1px solid var(--border-color)}.caption-option-num{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim)}.caption-top-actions{display:flex;align-items:center;gap:.4rem}.btn-ghost-sm{display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--text-dim);border:none;padding:5px 9px;border-radius:var(--radius-xs);font-size:.78rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.btn-ghost-sm:hover:not(:disabled){color:var(--text-main);background:var(--bg-input)}.btn-ghost-sm:disabled{opacity:.4;cursor:not-allowed}.btn-icon{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--radius-xs);font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid;transition:all var(--transition-fast);font-family:var(--font-body)}.save-btn{color:var(--accent-green);background:var(--success-bg);border-color:var(--success-border)}.save-btn:hover{background:#34d39933}.cancel-btn{color:var(--text-dim);background:transparent;border-color:var(--border-color)}.cancel-btn:hover{color:var(--error);border-color:var(--error-border);background:var(--error-bg)}.caption-body{padding:1rem 1.1rem;flex:1}.caption-text{font-size:.95rem;color:var(--text-sub);line-height:1.65;white-space:pre-wrap}.caption-edit-textarea{width:100%;background:var(--bg-input);border:2px solid var(--primary);border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--font-body);font-size:.92rem;color:var(--text-main);resize:vertical;outline:none;line-height:1.6;box-shadow:3px 3px 0 var(--primary);transition:box-shadow var(--transition-base)}.caption-edit-textarea:focus{box-shadow:4px 4px 0 var(--primary)}.hashtags-wrap{padding:0 1.1rem .75rem}.hashtags-row{display:flex;flex-wrap:wrap;gap:.4rem}.hashtag-chip{font-size:.75rem;font-weight:700;color:var(--secondary);background:#eaf1ff;border:1.5px solid var(--secondary);padding:3px 9px;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.hashtag-chip:hover{background:var(--secondary);color:#fff;transform:translateY(-1px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .hashtag-chip{background:#2563eb24}}:root[data-theme=dark] .hashtag-chip{background:#2563eb24}.caption-footer{display:flex;align-items:center;gap:.45rem;padding:.7rem 1.1rem .9rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.copy-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;cursor:pointer;border:1.5px solid var(--border-color);background:var(--bg-input);color:var(--text-muted);transition:all var(--transition-fast);font-family:var(--font-body)}.copy-btn:hover{border-color:var(--border-color-hover);color:var(--text-main)}.copy-btn.copied{color:var(--accent-green);background:var(--success-bg);border-color:var(--success-border);animation:scalePop .25s ease}.copy-btn-primary{margin-left:auto;background:var(--primary);border-color:var(--accent);color:#fff}.copy-btn-primary:hover{background:var(--primary-hover);border-color:var(--accent);color:#fff}.copy-btn-primary.copied{color:var(--accent-green);background:var(--success-bg);border-color:var(--success-border)}@media (max-width: 700px){.captions-grid{grid-template-columns:1fr}.results-header{flex-direction:column;align-items:flex-start}.results-reset-btn{align-self:stretch;justify-content:center}.modifier-bar{flex-direction:column}.modifier-input-wrap,.modifier-regen-btn{width:100%}.caption-footer{gap:.35rem}.copy-btn{flex:1;justify-content:center}.copy-btn-primary{margin-left:0}}.session-history{max-width:900px;margin:0 auto 2rem;border-radius:var(--radius-lg);overflow:hidden;position:relative;z-index:10}.history-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;background:transparent;border:none;cursor:pointer;gap:1rem;transition:background var(--transition-fast);text-align:left}.history-header:hover{background:var(--bg-input)}.history-title-group{display:flex;align-items:center;gap:.6rem}.history-icon-box{width:30px;height:30px;border-radius:var(--radius-xs);background:#fff1eb;border:1.5px solid var(--primary);display:flex;align-items:center;justify-content:center;color:var(--primary-hover);flex-shrink:0}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .history-icon-box{background:#ff6a3d24;color:var(--primary-light)}}:root[data-theme=dark] .history-icon-box{background:#ff6a3d24;color:var(--primary-light)}.history-title{font-family:var(--font-heading);font-size:.92rem;font-weight:700;color:var(--text-main)}.history-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-full);background:var(--primary);color:#fff;font-size:.72rem;font-weight:700;border:1.5px solid var(--accent)}.history-header-right{display:flex;align-items:center;gap:.75rem}.history-clear-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--text-dim);border:1px solid transparent;padding:4px 9px;border-radius:var(--radius-xs);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.history-clear-btn:hover{color:var(--error);border-color:var(--error-border);background:var(--error-bg)}.history-toggle-icon{color:var(--text-dim);display:flex;align-items:center;transition:transform var(--transition-base)}.history-drawer{padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;border-top:1px solid var(--border-color)}.history-item{background:var(--bg-input);border:1.5px solid var(--border-color);border-radius:var(--radius-md);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.history-item:hover{border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--accent)}.history-item-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.history-item-badges{display:flex;gap:.4rem;flex-wrap:wrap}.history-item-meta{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-dim);white-space:nowrap}.history-caption-preview{font-size:.83rem;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.history-tags-row{display:flex;flex-wrap:wrap;gap:.35rem}.history-tag{font-size:.7rem;font-weight:700;color:var(--secondary);background:#eaf1ff;border:1.5px solid var(--secondary);padding:2px 7px;border-radius:var(--radius-full)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .history-tag{background:#2563eb24}}:root[data-theme=dark] .history-tag{background:#2563eb24}.history-tag-more{font-size:.7rem;color:var(--text-dim);padding:2px 4px;align-self:center}.history-item-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.4rem;border-top:1px solid var(--border-color)}.history-remove-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;color:var(--text-dim);border:none;padding:4px 6px;border-radius:var(--radius-xs);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.history-remove-btn:hover{color:var(--error);background:var(--error-bg)}.history-copy-btn{display:inline-flex;align-items:center;gap:4px;background:var(--bg-card);color:var(--text-muted);border:1.5px solid var(--border-color-hover);padding:5px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.history-copy-btn:hover{background:var(--primary);color:#fff;border-color:var(--accent)}.history-copy-btn.copied{color:var(--accent-green);background:var(--success-bg);border-color:var(--success-border)}@media (max-width: 580px){.history-drawer{grid-template-columns:1fr}.history-clear-btn span{display:none}}.home-container{min-height:100vh;padding:1.5rem 1.5rem 4rem;position:relative;overflow-x:hidden;max-width:1200px;margin:0 auto}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.6rem;border-radius:var(--radius-lg);margin-bottom:2.5rem;position:relative;z-index:10}.nav-brand{display:flex;align-items:center;gap:.6rem;background:none;border:none;cursor:pointer;padding:0;transition:opacity var(--transition-fast)}.nav-brand:hover{opacity:.85}.brand-logo{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--primary);border:2px solid var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 var(--accent);flex-shrink:0}.brand-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;letter-spacing:-.4px;color:var(--text-main)}.nav-right{display:flex;align-items:center;gap:.75rem}.nav-badge{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;color:var(--accent-green);background:var(--success-bg);border:1.5px solid var(--success-border);padding:4px 10px;border-radius:var(--radius-full)}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--bg-input);border:2px solid var(--accent);color:var(--text-main);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.theme-toggle-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--accent)}.hero-section{text-align:center;margin-bottom:2.5rem;position:relative;z-index:10;animation:fadeInUp .5s ease forwards}.hero-eyebrow{display:inline-flex;margin-bottom:1rem}.hero-title{font-size:clamp(2rem,4.5vw,3rem);font-weight:800;line-height:1.18;letter-spacing:-.04em;color:var(--text-main);margin-bottom:1rem}.hero-subtitle{font-size:clamp(.9rem,1.5vw,1.05rem);color:var(--text-muted);max-width:620px;margin:0 auto;line-height:1.65}.wizard-stepper-bar{display:flex;align-items:center;justify-content:center;padding:.9rem 1.5rem;border-radius:var(--radius-lg);max-width:700px;margin:0 auto 2.5rem;position:relative;z-index:10;flex-wrap:wrap;gap:.4rem}.step-item{display:flex;align-items:center;gap:.45rem;color:var(--text-xdim);font-size:.82rem;font-weight:600;transition:color var(--transition-base)}.step-num{width:26px;height:26px;border-radius:50%;background:var(--bg-input);border:1.5px solid var(--border-color-hover);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-xdim);transition:all var(--transition-base);flex-shrink:0}.step-item.active{color:var(--text-main)}.step-item.active .step-num{background:var(--primary);color:#fff;border-color:var(--accent)}.step-item.completed{color:var(--secondary)}.step-item.completed .step-num{background:#eaf1ff;color:var(--secondary);border-color:var(--secondary)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .step-item.completed .step-num{background:#2563eb29}}:root[data-theme=dark] .step-item.completed .step-num{background:#2563eb29}.step-connector{flex:1;max-width:44px;height:2px;background:var(--border-color);border-radius:1px;margin:0 .35rem;transition:background var(--transition-slow);overflow:hidden;position:relative}.step-connector.filled{background:var(--primary)}.main-step-content{position:relative;z-index:10;margin-bottom:3rem}.footer{text-align:center;padding-top:3rem;color:var(--text-xdim);font-size:.78rem;position:relative;z-index:10;line-height:1.6}@media (max-width: 640px){.home-container{padding:1rem 1rem 3rem}.hero-title{font-size:1.85rem}.wizard-stepper-bar{padding:.75rem 1rem}.step-connector{max-width:20px;margin:0 .2rem}.step-label{display:none}.navbar{padding:.75rem 1rem}.brand-name{font-size:1.1rem}}@media (max-width: 420px){.step-connector{display:none}.wizard-stepper-bar{justify-content:space-around;gap:0}.nav-badge span{display:none}.nav-right{gap:.5rem}}@media (max-width: 360px){.brand-name{font-size:1rem}.navbar{padding:.65rem .75rem}}:root{--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--bg-dark: #fafafa;--bg-card: #ffffff;--bg-card-hover: #ffffff;--bg-input: #f5f5f7;--border-color: #e8e8ec;--border-color-hover: #d3d3db;--border-color-focus: #ff6a3d;--primary: #ff6a3d;--primary-light: #ff8a5c;--primary-hover: #ea5423;--primary-glow: rgba(255, 106, 61, .3);--secondary: #2563eb;--secondary-light: #4c8bff;--secondary-glow: rgba(37, 99, 235, .25);--accent: #111114;--accent-cyan: #2563eb;--accent-green: #16a34a;--accent-amber: #f59e0b;--text-main: #14141a;--text-sub: #33333d;--text-muted: #6b6b76;--text-dim: #8f8f9a;--text-xdim: #b3b3bd;--error: #ef4444;--error-bg: #fef2f2;--error-border: #fca5a5;--success: #16a34a;--success-bg: #f0fdf4;--success-border: #86efac;--warning: #f59e0b;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--shadow-glow: 6px 6px 0px var(--primary);--shadow-glow-pink: 6px 6px 0px var(--secondary);--shadow-card: 0 4px 24px rgba(20, 20, 26, .08);--shadow-card-hover: 6px 6px 0px var(--accent);--shadow-inset: none;--shadow-pop: 6px 6px 0px var(--accent);--glass-backdrop: none;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .35s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg-dark: #0c0c0f;--bg-card: #17171c;--bg-card-hover: #1c1c22;--bg-input: #1f1f26;--border-color: #2a2a33;--border-color-hover: #38383f;--accent: #f5f5f7;--text-main: #f5f5f7;--text-sub: #d4d4db;--text-muted: #a3a3ad;--text-dim: #74747e;--text-xdim: #52525b;--error-bg: rgba(239, 68, 68, .12);--error-border: rgba(239, 68, 68, .35);--success-bg: rgba(22, 163, 74, .14);--success-border: rgba(22, 163, 74, .35);--shadow-card: 0 4px 24px rgba(0, 0, 0, .45);--shadow-card-hover: 6px 6px 0px var(--accent);--shadow-pop: 6px 6px 0px rgba(0, 0, 0, .7);color-scheme:dark}}:root[data-theme=dark]{--bg-dark: #0c0c0f;--bg-card: #17171c;--bg-card-hover: #1c1c22;--bg-input: #1f1f26;--border-color: #2a2a33;--border-color-hover: #38383f;--accent: #f5f5f7;--text-main: #f5f5f7;--text-sub: #d4d4db;--text-muted: #a3a3ad;--text-dim: #74747e;--text-xdim: #52525b;--error-bg: rgba(239, 68, 68, .12);--error-border: rgba(239, 68, 68, .35);--success-bg: rgba(22, 163, 74, .14);--success-border: rgba(22, 163, 74, .35);--shadow-card: 0 4px 24px rgba(0, 0, 0, .45);--shadow-card-hover: 6px 6px 0px var(--accent);--shadow-pop: 6px 6px 0px rgba(0, 0, 0, .7);color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text-main);min-height:100vh;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.025em;line-height:1.25}img{max-width:100%;display:block}button{font-family:var(--font-body)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-xs)}.bg-blobs{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;overflow:hidden;pointer-events:none}.blob{position:absolute;border-radius:50%;filter:blur(110px);opacity:.3;animation:blob-float 22s infinite alternate cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .blob{opacity:.18}}:root[data-theme=dark] .blob{opacity:.18}.blob-1{width:520px;height:520px;background:radial-gradient(circle,var(--primary),var(--primary-hover));top:-140px;left:-120px}.blob-2{width:460px;height:460px;background:radial-gradient(circle,var(--secondary),var(--secondary-light));bottom:-100px;right:-60px;animation-delay:-8s}.blob-3{width:380px;height:380px;background:radial-gradient(circle,#ffb703,#f59e0b);top:45%;left:55%;transform:translate(-50%,-50%);animation-delay:-15s}@keyframes blob-float{0%{transform:translate(0) scale(1)}33%{transform:translate(50px,30px) scale(1.08)}66%{transform:translate(-30px,60px) scale(.96)}to{transform:translate(20px,-40px) scale(1.04)}}.glass-panel{background:var(--bg-card);border:2px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.glass-panel-sm{background:var(--bg-card);border:2px solid var(--accent);border-radius:var(--radius-md);box-shadow:4px 4px 0 var(--accent)}.gradient-text{background:linear-gradient(130deg,var(--primary) 0%,#ff8a5c 45%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-cyan{background:linear-gradient(130deg,var(--secondary-light) 0%,var(--secondary) 50%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:3px var(--sp-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.01em}.badge-purple{background:#fff1eb;color:var(--primary-hover);border:1.5px solid var(--primary)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .badge-purple{background:#ff6a3d24;color:var(--primary-light)}}:root[data-theme=dark] .badge-purple{background:#ff6a3d24;color:var(--primary-light)}.badge-green{background:var(--success-bg);color:var(--accent-green);border:1.5px solid var(--success-border)}.badge-cyan{background:#eaf1ff;color:var(--secondary);border:1.5px solid var(--secondary)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .badge-cyan{background:#2563eb29;color:var(--secondary-light)}}:root[data-theme=dark] .badge-cyan{background:#2563eb29;color:var(--secondary-light)}.step-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--primary-hover);background:#fff1eb;padding:3px var(--sp-3);border-radius:var(--radius-full);border:1.5px solid var(--primary);margin-bottom:var(--sp-3)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .step-badge{background:#ff6a3d24;color:var(--primary-light)}}:root[data-theme=dark] .step-badge{background:#ff6a3d24;color:var(--primary-light)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);background:var(--primary);color:#fff;border:2px solid var(--accent);border-radius:var(--radius-md);padding:13px var(--sp-6);font-family:var(--font-heading);font-size:.975rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);box-shadow:var(--shadow-glow);position:relative;white-space:nowrap}.btn-primary:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--primary);background:var(--primary-hover)}.btn-primary:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px 0 var(--primary)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.gradient-glow{box-shadow:var(--shadow-glow)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);background:var(--bg-card);color:var(--text-main);border:2px solid var(--accent);border-radius:var(--radius-md);padding:11px var(--sp-5);font-family:var(--font-body);font-weight:600;font-size:.9rem;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);white-space:nowrap;box-shadow:4px 4px 0 var(--accent)}.btn-secondary:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--accent);background:var(--bg-input)}.btn-secondary:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--accent)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);background:transparent;color:var(--text-muted);border:none;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-ghost:hover{color:var(--text-main);background:var(--bg-input)}.input-field{width:100%;background:var(--bg-input);border:2px solid var(--border-color);border-radius:var(--radius-md);padding:12px var(--sp-4);font-family:var(--font-body);font-size:.95rem;color:var(--text-main);transition:border-color var(--transition-base),box-shadow var(--transition-base);outline:none}.input-field::placeholder{color:var(--text-dim)}.input-field:focus{border-color:var(--primary);box-shadow:3px 3px 0 var(--primary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scalePop{0%{transform:scale(.92);opacity:0}70%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes pulseGlow{0%{box-shadow:0 0 #ff6a3d66}70%{box-shadow:0 0 0 10px #ff6a3d00}to{box-shadow:0 0 #ff6a3d00}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes pulse-glow{0%{transform:scale(.88);opacity:.65;filter:drop-shadow(0 0 4px var(--primary))}to{transform:scale(1.15);opacity:1;filter:drop-shadow(0 0 14px var(--secondary))}}@keyframes float-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.fade-in,.animate-fade-in{animation:fadeInUp .4s ease forwards}.animate-scale-pop{animation:scalePop .35s cubic-bezier(.34,1.56,.64,1) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:80ms}.stagger-children>*:nth-child(3){animation-delay:.16s}.stagger-children>*:nth-child(4){animation-delay:.24s}.stagger-children>*:nth-child(5){animation-delay:.32s}.stagger-children>*:nth-child(6){animation-delay:.4s}.skeleton{background:linear-gradient(90deg,var(--bg-input) 25%,var(--border-color-hover) 50%,var(--bg-input) 75%);background-size:600px 100%;animation:shimmer 1.6s infinite linear;border-radius:var(--radius-sm)}.spin-icon{animation:spin .8s linear infinite}
