@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Montserrat:wght@300;400;500&display=swap";:root{--gold: #c9a96e;--gold-light: #dfc191;--gold-dark: #a8843f;--cream: #faf6f0;--cream-dark: #f0e8da;--charcoal: #1a1a1e;--charcoal-light: #2a2a30;--charcoal-lighter: #3a3a42;--text: #e8e2d8;--text-muted: #9e978c;--rose: #c4848a;--border: rgba(201, 169, 110, .15);--border-hover: rgba(201, 169, 110, .35)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--charcoal);color:var(--text);font-family:Montserrat,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}.bg-grain{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;pointer-events:none;z-index:0}.bg-glow{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}.bg-glow--1{width:600px;height:600px;top:-200px;right:-100px;background:radial-gradient(circle,rgba(201,169,110,.08),transparent 70%)}.bg-glow--2{width:500px;height:500px;bottom:-150px;left:-100px;background:radial-gradient(circle,rgba(196,132,138,.06),transparent 70%)}.app{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:3rem 1.5rem 4rem}.header{text-align:center;margin-bottom:3rem}.header__ornament{font-size:.7rem;letter-spacing:1.2em;color:var(--gold);margin-bottom:1.25rem;opacity:.7}.header__title{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(2.8rem,7vw,4.2rem);letter-spacing:.08em;color:var(--cream);margin-bottom:.6rem;line-height:1.1}.header__subtitle{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted)}.section-title{font-family:Cormorant Garamond,serif;font-weight:400;font-size:1.35rem;letter-spacing:.04em;color:var(--cream-dark);margin-bottom:1.25rem}.upload-section{margin-bottom:2.5rem}.upload-area{display:block;position:relative;width:100%;max-width:400px;margin:0 auto;aspect-ratio:4 / 3;border:1px dashed var(--border-hover);border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease;background:#ffffff05}.upload-area:hover{border-color:var(--gold);box-shadow:0 0 40px #c9a96e14}.upload-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.5rem}.upload-icon{font-size:2rem;color:var(--gold);opacity:.5}.upload-text{font-size:.85rem;color:var(--text-muted);letter-spacing:.05em}.upload-hint{font-size:.7rem;color:var(--text-muted);opacity:.6}.upload-preview{width:100%;height:100%;object-fit:cover}.vibes-section{margin-bottom:2.5rem}.vibes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:500px){.vibes-grid{grid-template-columns:repeat(2,1fr)}}.vibe-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .75rem;background:#ffffff06;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .3s ease;color:var(--text-muted);font-family:Montserrat,sans-serif}.vibe-btn:hover{border-color:var(--border-hover);background:#c9a96e0a;color:var(--text);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.vibe-btn--active{border-color:var(--gold);background:#c9a96e14;color:var(--cream);box-shadow:0 0 30px #c9a96e1a}.vibe-btn__icon{font-size:1.4rem;line-height:1}.vibe-btn--active .vibe-btn__icon{color:var(--gold)}.vibe-btn__label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:400}.captions-section{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.captions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.captions-header .section-title{margin-bottom:0}.refresh-btn{background:none;border:1px solid var(--border);border-radius:8px;color:var(--gold);font-size:1.2rem;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;transition:all .3s ease}.refresh-btn:hover{border-color:var(--gold);background:#c9a96e14;transform:rotate(180deg)}.captions-list{display:flex;flex-direction:column;gap:.75rem}.caption-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;background:#ffffff06;border:1px solid var(--border);border-radius:10px;transition:all .3s ease}.caption-card:hover{border-color:var(--border-hover);background:#c9a96e08;box-shadow:0 4px 20px #00000026}.caption-text{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:400;font-style:italic;line-height:1.5;color:var(--cream-dark);flex:1}.copy-btn{flex-shrink:0;padding:.4rem 1rem;background:transparent;border:1px solid var(--border-hover);border-radius:6px;color:var(--gold);font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;white-space:nowrap}.copy-btn:hover{background:#c9a96e1a;border-color:var(--gold)}.copy-btn--copied{background:#c9a96e26;border-color:var(--gold);color:var(--gold-light)}.footer{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border)}.footer__ornament{color:var(--gold);font-size:.8rem;margin-bottom:.75rem;opacity:.5}.footer p{font-family:Cormorant Garamond,serif;font-size:.95rem;font-style:italic;color:var(--text-muted);letter-spacing:.05em}@media(max-width:600px){.app{padding:2rem 1rem 3rem}.caption-card{flex-direction:column;align-items:flex-start;gap:.75rem}.copy-btn{align-self:flex-end}}
