*{box-sizing:border-box}:root{color:#fff1f6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#08040f;font-family:Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.5}body{background:radial-gradient(circle at 15% 20%,#ff7aab40,#0000 40%),radial-gradient(circle at 90% 10%,#8c66ff40,#0000 35%),radial-gradient(circle at 50% 100%,#ff467833,#0000 45%),#08040f;min-height:100vh;margin:0}#root{min-height:100vh}.proposal-page{isolation:isolate;width:min(1100px,92%);min-height:100vh;margin:0 auto;padding:44px 0 30px;position:relative;overflow:hidden}.proposal-page:before{content:"";background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,18%), #ffdcec33, transparent 26%);filter:blur(18px);z-index:0;pointer-events:none;position:absolute;inset:-30% -20%}.background-glow{filter:blur(20px);pointer-events:none;background:radial-gradient(circle,#ff649440 0%,#ff649400 70%);height:420px;animation:8s ease-in-out infinite glowMove;position:absolute;inset:-200px -100px auto}.sparkle-layer{z-index:1;pointer-events:none;position:absolute;inset:0}.sparkle-layer span{background:#ffe3eee6;border-radius:50%;width:5px;height:5px;animation:ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 12px #ffc1dabf}.floating-hearts span{color:#ff93b7d9;pointer-events:none;font-size:22px;animation:8s linear infinite rise;position:absolute;bottom:-50px}.floating-hearts span:first-child{animation-delay:0s;left:5%}.floating-hearts span:nth-child(2){animation-delay:1.6s;left:25%}.floating-hearts span:nth-child(3){animation-delay:3.2s;left:50%}.floating-hearts span:nth-child(4){animation-delay:.8s;left:72%}.floating-hearts span:nth-child(5){animation-delay:2.4s;left:90%}.hero-section{z-index:2;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(145deg,#ffffff1c,#ffffff0d);border:1px solid #ffffff26;border-radius:30px;padding:52px 24px;animation:4.2s ease-in-out infinite cardFloat;position:relative}.tiny-intro{text-transform:uppercase;letter-spacing:2px;opacity:.8;margin:0;font-size:.8rem}h1{background:linear-gradient(90deg,#fff0f6,#ffc8dc,#ffe6f1);color:#0000;-webkit-background-clip:text;background-clip:text;min-height:2.3em;margin:12px 0 14px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.15}.hero-text{opacity:.95;max-width:640px;margin:0 auto;font-size:clamp(1rem,2vw,1.2rem)}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:760px;margin:18px auto 8px;display:grid}.stat-pill{background:#ffffff0f;border:1px solid #fff3;border-radius:16px;gap:3px;padding:10px 8px;display:grid}.stat-pill strong{color:#ffd7e8;font-size:1.2rem}.stat-pill span{opacity:.9;font-size:.8rem}.rotating-note{color:#ffe6f1;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;width:fit-content;max-width:100%;margin:12px auto 0;padding:8px 12px;font-size:.92rem;animation:.5s fadeSwitch}.cta-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px;display:flex}.btn{cursor:pointer;border:0;border-radius:999px;padding:12px 22px;font-size:.98rem;font-weight:600;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#240212;background:linear-gradient(90deg,#ff7ea8,#ffc5d9);box-shadow:0 10px 30px #ff6fa059}.btn-ghost{color:#ffd9e8;background:#ffffff14;border:1px solid #ffffff47}.accepted-message{color:#ffe2ee;margin-top:18px;font-size:1.06rem;animation:1.3s ease-in-out infinite pulse}.music-bar-wrap{background:#ffffff1f;border:1px solid #fff3;border-radius:999px;width:min(460px,90%);height:7px;margin:16px auto 0;overflow:hidden}.music-bar-fill{background:linear-gradient(90deg,#ff8ab6,#ffd7e8);width:0;height:100%;transition:width .2s linear}.love-burst{pointer-events:none;position:absolute;inset:0;overflow:hidden}.love-burst span{color:#ffb2cf;text-shadow:0 6px 20px #ff699b80;animation-name:burstFly;animation-timing-function:ease-out;animation-fill-mode:forwards;position:absolute;bottom:44px}.reasons-section{z-index:2;margin-top:24px;position:relative}.reasons-section h2{text-align:center;margin:0 0 14px;font-size:clamp(1.4rem,2.8vw,2rem)}.reasons-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.reason-card{opacity:0;animation:.7s forwards revealCard;animation-delay:var(--delay);background:linear-gradient(145deg,#ffffff1c,#ffffff0d);border:1px solid #ffffff24;border-radius:18px;padding:16px;transition:transform .25s,box-shadow .25s;transform:translateY(8px)}.reason-card:hover{transform:translateY(-4px)rotate(-.3deg);box-shadow:0 12px 26px #00000057}.reason-card h3{color:#ffe4ef;margin:0 0 8px;font-size:1.03rem}.reason-card p{opacity:.92;margin:0}.vibe-section{z-index:2;background:#ffffff0d;border:1px solid #ffffff24;border-radius:22px;margin-top:22px;padding:20px 16px;position:relative}.vibe-section h2{text-align:center;margin:0 0 12px;font-size:clamp(1.2rem,2.5vw,1.7rem)}.vibe-tags{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.vibe-chip{background:linear-gradient(120deg,#ff7ea838,#ab8bff33);border:1px solid #ffffff3d;border-radius:999px;padding:8px 12px;font-size:.88rem;transition:transform .2s,box-shadow .2s}.vibe-chip:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ff7daa40}.letter-section{z-index:2;justify-items:center;gap:12px;margin-top:24px;display:grid;position:relative}.letter-card{background:linear-gradient(145deg,#ffffff1a,#ffffff0f);border:1px solid #ffffff26;border-radius:20px;width:min(760px,100%);padding:18px;animation:.4s revealCard;box-shadow:0 16px 36px #00000047}.letter-card p{opacity:.96;margin:0 0 12px}.letter-card p:last-child{margin-bottom:0}.memory-section{z-index:2;background:#08040f8c;border:1px solid #ffffff1f;border-radius:28px;margin-top:28px;padding:30px 22px;position:relative}.memory-section h2{text-align:center;margin:0;font-size:clamp(1.45rem,3vw,2rem)}.memory-section p{text-align:center;opacity:.86;margin:8px 0 22px}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.photo-card{background:#ffffff14;border:1px solid #ffffff29;border-radius:20px;margin:0;transition:transform .25s,box-shadow .25s;overflow:hidden}.photo-card:hover{transform:translateY(-5px)scale(1.01);box-shadow:0 16px 24px #00000059}.photo-card img{object-fit:cover;width:100%;height:280px;display:block}.photo-card figcaption{text-align:center;opacity:.95;padding:12px;font-size:.95rem}.footer-note{text-align:center;opacity:.86;margin-top:22px;font-size:.95rem}@keyframes rise{0%{opacity:0;transform:translateY(0)scale(.85)}20%{opacity:.9}to{opacity:0;transform:translateY(-100vh)scale(1.35)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes burstFly{0%{opacity:0;transform:translate(0)scale(.7)}20%{opacity:1}to{opacity:0;transform:translate(-30px,-220px)scale(1.1)}}@keyframes revealCard{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSwitch{0%{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes glowMove{0%,to{transform:translate(0)}50%{transform:translate(35px)}}@keyframes twinkle{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)}}@media (width<=680px){.hero-section{border-radius:24px;padding:42px 16px}.stats-row{grid-template-columns:1fr}.memory-section{padding:24px 14px}.photo-card img{height:230px}}
