@import"https://fonts.googleapis.com/css2?family=Dancing+Script:wght@700&family=Outfit:wght@400;600;700;800;900&display=swap";:root{--color-primary: #FF4D6D;--color-primary-soft: #FFCCD5;--color-primary-dark: #C9184A;--color-secondary: #FF8FA3;--font-main: "Outfit", sans-serif;--font-letter: "Dancing Script", cursive;--glass-blur: 25px;--radius-pro: 40px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-main);background:linear-gradient(135deg,#fff5f7,#fff);color:#1a1a1a;overflow-x:hidden;min-height:100vh}#root{min-height:100vh;width:100%;position:relative;overflow-x:hidden}.aura-bg{position:fixed;inset:0;z-index:0;background:radial-gradient(circle at 10% 10%,rgba(255,77,109,.08) 0%,transparent 40%),radial-gradient(circle at 90% 90%,rgba(255,77,109,.05) 0%,transparent 40%);pointer-events:none}.container{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:24px;position:relative;z-index:1}.glass-card{background:#ffffffb3;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-pro);padding:32px;box-shadow:0 10px 40px #ff4d6d0f}.visual-card{position:relative;height:200px;border-radius:32px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.2,1,.3,1)}.visual-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #ff4d6d1f}.visual-card img{width:100%;height:100%;object-fit:cover}.visual-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 70%);display:flex;align-items:flex-end;padding:24px;color:#fff;font-weight:700;font-size:18px}.invite-screen{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;min-height:80vh}.invite-title{font-size:28px;font-weight:800;color:var(--color-primary-dark);line-height:1.2}.btn-container{position:relative;width:100%;height:300px;display:flex;align-items:center;justify-content:center;gap:16px;overflow:visible}.btn-oui{background:var(--color-primary);color:#fff;border:none;border-radius:99px;padding:16px 48px;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 10px 25px #ff4d6d4d;z-index:10;transition:all .3s ease}.btn-secondary{background:#fffc;color:var(--color-primary-dark);border:2px solid var(--color-primary-soft);border-radius:99px;padding:16px 48px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #ff4d6d1a}.btn-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%{transform:scale(1)}15%{transform:scale(1.08)}30%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}.btn-non{position:absolute;background:#f0f0f0;color:#666;border:none;border-radius:99px;padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s ease,opacity .2s ease;touch-action:none}.btn-shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.progress-bar{height:6px;background:#ff4d6d1a;border-radius:3px;margin-bottom:32px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);width:0%;transition:width .5s ease-out}.setup-screen{text-align:center;display:flex;flex-direction:column;gap:32px;margin-top:auto;margin-bottom:auto}.input-aura{width:100%;background:#fff9;border:2px solid transparent;padding:18px 24px;border-radius:24px;font-family:var(--font-main);font-size:20px;font-weight:700;color:var(--color-primary-dark);outline:none;transition:all .3s ease;box-shadow:0 4px 15px #ff4d6d0d;text-align:center}.input-aura:focus{background:#fff;border-color:var(--color-primary-soft);box-shadow:0 8px 25px #ff4d6d1a}.input-aura::placeholder{color:#ccc}.textarea-aura{width:100%;background:#fff6;border:2px solid transparent;padding:16px 20px;border-radius:20px;font-family:var(--font-main);font-size:16px;font-weight:600;color:var(--color-primary-dark);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);resize:vertical;min-height:100px;transition:all .3s ease}.textarea-aura:focus{background:#ffffffb3;border-color:var(--color-primary-soft);outline:none}.gender-container{display:flex;gap:12px;justify-content:center}.gender-btn{flex:1;padding:14px;border-radius:20px;border:2px solid rgba(255,77,109,.1);background:#ffffff80;font-weight:700;font-size:15px;cursor:pointer;transition:all .3s ease;color:#666}.gender-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 15px #ff4d6d4d}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;max-height:200px;overflow-y:auto;padding:10px;border:1px solid rgba(255,77,109,.1);border-radius:12px;background:#fff3}.time-btn{background:#fff6;border:2px solid transparent;padding:10px;border-radius:12px;font-family:var(--font-main);font-size:14px;font-weight:700;color:var(--color-primary-dark);cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.time-btn:hover{background:#fff9}.time-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #ff4d6d33}.result-card{display:flex;flex-direction:column;gap:20px}.itinerary-item{display:flex;align-items:center;gap:16px;padding:16px;background:#fff6;border-radius:20px}.icon-box{width:44px;height:44px;background:var(--color-primary-soft);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-primary-dark)}.letter-text{font-family:var(--font-letter);font-size:26px;line-height:1.6;color:var(--color-primary-dark);text-align:center;margin-top:20px}.preview-letter{background:#fffdf9;border:1px solid rgba(255,77,109,.1);border-radius:28px;padding:40px 24px;position:relative;margin-bottom:24px;box-shadow:0 10px 30px #ff4d6d0d,0 1px 3px #00000005;transition:all .3s ease;width:100%}.edit-badge{position:absolute;top:-12px;right:-12px;background:#fff;color:var(--color-primary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0000001a;cursor:pointer;border:none}.edit-badge:hover{transform:scale(1.1);background:var(--color-primary);color:#fff}
