.container,.hero{margin-top:0}.hero,.hero .container,.upload-area{position:relative}.empty-state,.footer-content,.hero,.section-description,.step,.upload-area{text-align:center}.hero{background:linear-gradient(135deg,var(--primary-purple) 0,var(--primary-pink) 60%,var(--primary-red) 100%);padding:80px 0;color:#fff;overflow:hidden;border-radius:var(--border-radius);box-shadow:var(--shadow-lg)}.hero .container{z-index:2}.hero h1{font-size:clamp(2rem, 4vw, 3.5rem);font-weight:800;margin-bottom:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1);line-height:1.2}.caption-generator-page{background-color:#f9fafb;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}.generator-content{padding:60px 0}.generator-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.captions-card,.settings-card,.upload-card{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);padding:2rem;margin-bottom:1.5rem}.captions-card h2,.captions-card h3,.settings-card h2,.settings-card h3,.upload-card h2,.upload-card h3{display:flex;align-items:center;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#111827}.settings-card h2 svg,.settings-card h3 svg,.upload-card h2 svg,.upload-card h3 svg{margin-right:.5rem;color:#3b82f6}.upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:3rem 1rem;cursor:pointer;transition:border-color .3s;min-height:200px;display:flex;align-items:center;justify-content:center}.download-btn,.generate-btn{transition:background-color .2s;cursor:pointer}.upload-area:hover{border-color:#3b82f6}.upload-placeholder svg{color:#9ca3af;margin-bottom:1rem}.upload-placeholder p{font-size:1.125rem;color:#6b7280;margin-bottom:.5rem;font-weight:500}.upload-placeholder small{color:#9ca3af;font-size:.875rem}.image-preview{max-width:100%;max-height:300px;border-radius:8px;object-fit:contain}.settings-form{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-group select:focus{outline:0;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-group small{display:block;margin-top:.5rem;color:#6b7280;font-size:.75rem;line-height:1.4}.empty-state p,.generate-btn{font-size:1rem}.checkbox-label{display:flex!important;align-items:center;cursor:pointer;margin-bottom:.75rem}.captions-header,.generate-btn{display:flex;align-items:center}.checkbox-label input[type=checkbox]{margin-right:.5rem;width:1rem;height:1rem}.generate-btn{width:100%;padding:1rem 1.5rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;justify-content:center;gap:.5rem}.generate-btn:hover:not(:disabled){background-color:#2563eb;background:linear-gradient(135deg,#2563eb 0,#1e40af 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.4)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generate-btn.loading svg,.loading-caption svg{animation:1s linear infinite spin}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.captions-header{justify-content:space-between;margin-bottom:1.5rem}.caption-header,.download-btn{align-items:center;display:flex}.download-btn{gap:.25rem;color:#3b82f6;background:0 0;border:none;font-size:.875rem;padding:.5rem;border-radius:4px}.download-btn:hover{background-color:#f3f4f6}.empty-state{padding:3rem 1rem;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.caption-item{border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1rem;background-color:#fff}.caption-header{justify-content:space-between;margin-bottom:.75rem}.caption-tone{font-size:.875rem;font-weight:500;color:#3b82f6}.copy-btn{background:0 0;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .2s}.copy-btn:hover{color:#374151}.caption-text{color:#111827;line-height:1.6;white-space:pre-wrap;margin:0}.loading-caption{display:flex;align-items:center;gap:.5rem;color:#6b7280;padding:1rem;background-color:#f9fafb;border-radius:8px}.toast{position:fixed;bottom:20px;right:20px;background-color:#10b981;color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);z-index:1000;transform:translateX(100%);transition:transform .3s}.toast.show{transform:translateX(0)}.toast.error{background-color:#ef4444}.hero-subtitle{font-size:1.125rem;line-height:1.7;margin-bottom:2rem;opacity:.95}.platform-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}.platform-badge{background:rgba(255,255,255,.2);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:25px;font-size:.875rem;font-weight:500;border:1px solid rgba(255,255,255,.3);transition:.3s}.platform-badge:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.benefits-section{padding:80px 0;background:linear-gradient(135deg,#f8fafc 0,#e2e8f0 100%)}.benefits-section h2,.faq-section h2,.how-it-works h2{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:3rem;color:#1e293b}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.benefit-item{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s}.benefit-item:hover{transform:translateY(-5px);box-shadow:0 10px 25px -3px rgba(0,0,0,.1)}.benefit-item h3,.step h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#1e293b}.benefit-item p,.faq-item p,.step p{color:#64748b;line-height:1.6}.section-description{font-size:1.125rem;color:#64748b;max-width:800px;margin:0 auto 3rem;line-height:1.7}.how-it-works{padding:80px 0;background:#fff}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.step{padding:2rem;position:relative}.step-number{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#3b82f6 0,#1d4ed8 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1.5rem}.faq-section{padding:80px 0;background:linear-gradient(135deg,#f1f5f9 0,#e2e8f0 100%)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-top:3rem}.faq-item{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 4px -1px rgba(0,0,0,.1)}.faq-item h3{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:#1e293b}.footer-content{padding:2rem 0}.footer-content p{margin-bottom:1rem;font-size:.95rem}.footer-links{margin-top:1.5rem;font-size:.875rem}.footer-links a{color:#3b82f6;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#1d4ed8;text-decoration:underline}.upload-area:focus,button:focus,input:focus,select:focus{outline:#3b82f6 solid 2px;outline-offset:2px}@media (max-width:1024px){.generator-grid{grid-template-columns:1fr}}@media (max-width:768px){.benefits-section h2,.faq-section h2,.hero h1,.how-it-works h2{font-size:2rem}.hero p{font-size:1rem}.benefit-item,.captions-card,.faq-item,.settings-card,.step,.upload-card{padding:1.5rem}.upload-area{padding:2rem 1rem}.captions-header{flex-direction:column;align-items:flex-start;gap:.5rem}.platform-badges{justify-content:center}.platform-badge{font-size:.75rem;padding:.375rem .75rem}.benefits-grid,.faq-grid,.steps-grid{grid-template-columns:1fr}.section-description{font-size:1rem;padding:0 1rem}}@media (max-width:480px){.generator-content,.hero{padding:40px 0}.captions-card,.settings-card,.upload-card{padding:1rem}.hero-subtitle,.platform-badges{padding:0 1rem}.hero-subtitle{font-size:1rem}.benefits-section,.faq-section,.how-it-works{padding:60px 0}.step-number{width:50px;height:50px;font-size:1.25rem}}h1,h2,h3{scroll-margin-top:100px}@media print{.download-btn,.generate-btn,.upload-area{display:none}.captions-container{background:#fff!important;box-shadow:none!important}}