@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,600;1,700&family=Inter:wght@400;500;700&display=swap";:root{color:#fff7fb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#050512;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{min-width:320px;overflow:hidden auto}button{color:inherit;font:inherit;border:0}.app{isolation:isolate;background:linear-gradient(118deg,#ff5f891a,#0000 28%),linear-gradient(242deg,#a06bff1f,#0000 34%),linear-gradient(155deg,#050511 0%,#101738 43%,#050716 100%);place-items:center;min-height:100svh;padding:clamp(18px,5vw,42px);display:grid;position:relative;overflow:hidden auto}.app:before,.app:after{content:"";pointer-events:none;position:fixed;inset:-18%}.app:before{z-index:-1;filter:blur(.3px);mix-blend-mode:screen;opacity:.82;background:linear-gradient(128deg,#0000 18%,#ff66941a 34%,#0000 48%),linear-gradient(306deg,#0000 24%,#b47bff1c 44%,#0000 58%),repeating-linear-gradient(112deg,#ffffff06 0 1px,#0000 1px 18px);animation:18s ease-in-out infinite alternate cosmicVeil;transform:translate(0,0)}.app:after{z-index:1;mix-blend-mode:multiply;opacity:.78;background:radial-gradient(#0000 36%,#00000057 100%),linear-gradient(#02030c1a,#0000 32%,#02030c47)}.star-heart{z-index:-3;width:100%;height:100%;position:fixed;inset:0}.aurora{z-index:-2;filter:blur(56px);opacity:.22;pointer-events:none;border-radius:44%;width:92vmax;height:30vmax;animation:16s ease-in-out infinite alternate auroraDrift;position:fixed;transform:rotate(-18deg)}.aurora.one{background:linear-gradient(90deg,#0000,#ff5f89,#b96fff,#0000);top:-8vmax;left:-28vmax}.aurora.two{background:linear-gradient(90deg,#0000,#7ecbff,#ff709e,#0000);animation-direction:alternate-reverse;bottom:-10vmax;right:-30vmax}.planet{z-index:0;pointer-events:none;opacity:.76;filter:drop-shadow(0 0 18px #ffdcf638);border-radius:50%;animation:9s ease-in-out infinite alternate planetFloat;position:fixed}.planet:before,.planet:after{content:"";pointer-events:none;position:absolute}.planet:before{filter:blur(1px);background:#ffffff94;border-radius:999px;inset:18% 56% 58% 18%}.sun{aspect-ratio:1;background:radial-gradient(circle at 34% 30%,#fff8bd 0 12%,#0000 13%),radial-gradient(circle,#ffd45f 0 42%,#ff7b62 72%,#ff5794 100%);width:clamp(42px,12vw,76px);top:8svh;right:9vw;box-shadow:0 0 38px #ffb25b7a,0 0 82px #ff58942e}.earth{aspect-ratio:1;background:radial-gradient(circle at 38% 30%,#ffffff94 0 8%,#0000 9%),radial-gradient(circle at 32% 58%,#74efb8 0 15%,#0000 16%),radial-gradient(circle at 66% 38%,#84f0cf 0 13%,#0000 14%),linear-gradient(135deg,#5fc8ff,#4467ff 54%,#1b2674);width:clamp(34px,9vw,58px);animation-duration:11s;top:18svh;left:6vw}.jupiter{aspect-ratio:1;background:radial-gradient(circle at 34% 28%,#ffffff80 0 8%,#0000 9%),linear-gradient(#ffd9a8 0 16%,#c98bff 17% 24%,#fff2d7 25% 42%,#ff8e9c 43% 54%,#f7c78b 55% 74%,#9363ff 75% 100%);width:clamp(52px,15vw,96px);animation-duration:13s;bottom:25svh;right:4vw;box-shadow:inset -14px -10px 26px #31175657,0 0 24px #ff95b929}.jupiter:after{background:#ff496fb8;border-radius:50%;width:18%;height:12%;top:52%;right:18%;box-shadow:0 0 10px #ff496f6b}.mars{aspect-ratio:1;background:radial-gradient(circle at 64% 62%,#6c264257 0 15%,#0000 16%),radial-gradient(circle at 36% 30%,#fff1d770 0 8%,#0000 9%),linear-gradient(135deg,#ff9a76,#e74760 60%,#8e2352);width:clamp(28px,7.5vw,46px);animation-duration:8s;bottom:13svh;left:12vw}.neptune{aspect-ratio:1;background:radial-gradient(circle at 34% 28%,#ffffff8f 0 9%,#0000 10%),linear-gradient(160deg,#9df7ff,#4d80ff 48%,#6e52e6 100%);width:clamp(32px,8vw,54px);animation-duration:10s;top:54svh;right:24vw;box-shadow:inset -10px -8px 18px #0d145b47,0 0 22px #71ceff38}.neptune:after{border:1px solid #d3f5ff70;border-radius:50%;height:12%;inset:46% -18%;transform:rotate(-18deg)}.loading-scene{z-index:20;background:radial-gradient(circle at 50% 42%,#ff5f8933,#0000 24%),radial-gradient(circle at 24% 18%,#c47bff38,#0000 34%),radial-gradient(circle at 78% 74%,#7ecbff26,#0000 32%),linear-gradient(160deg,#03040d,#0d1030 48%,#03040b);place-items:center;padding:24px;animation:.52s both loaderArrive;display:grid;position:fixed;inset:0;overflow:hidden}.loading-scene:before,.loading-scene:after,.loader-grid{content:"";pointer-events:none;position:absolute;inset:-20%}.loading-scene:before{opacity:.38;background:radial-gradient(circle,#fff3 0 1px,#0000 1.4px) 0 0/58px 58px,radial-gradient(circle,#ff73a82e 0 1px,#0000 1.5px) 21px 34px/86px 86px,radial-gradient(circle,#8ee5ff29 0 1px,#0000 1.3px) 12px 18px/44px 44px;animation:5.2s linear infinite loaderStardust}.loading-scene:after{mix-blend-mode:screen;opacity:.8;background:radial-gradient(#0000 32%,#0000006b 100%),linear-gradient(115deg,#0000 18%,#ff75a62e 39%,#0000 58%),linear-gradient(292deg,#0000 24%,#8ee5ff1f 48%,#0000 66%);animation:5.2s ease-in-out infinite alternate loaderNebulaDrift}.loading-scene.leaving{animation:.9s cubic-bezier(.25,.8,.25,1) forwards loaderLeave}.loader-grid{background:conic-gradient(from 0deg at 50% 50%, transparent 0 14%, #ffffff14 15%, transparent 16% 32%, #ff78aa14 33%, transparent 34% 100%), radial-gradient(circle at center, transparent 0 24%, #aee9ff14 25% 25.5%, transparent 26% 38%, #ff78aa12 39% 39.5%, transparent 40%);opacity:.5;animation:6.8s linear infinite loaderConstellation;transform:scale(1.08);-webkit-mask-image:radial-gradient(circle,#000 0 44%,#0000 70%);mask-image:radial-gradient(circle,#000 0 44%,#0000 70%)}.loader-panel{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#04071675;border:1px solid #aee9ff38;border-radius:18px;align-content:center;width:min(88vw,380px);min-height:430px;padding:26px;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 90px #00000080,inset 0 1px #ffffff21}.loader-panel:before{content:"";pointer-events:none;border:1px solid #ffffff14;border-radius:12px;position:absolute;inset:12px}.loader-status{color:#aee9ffd1;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;font-size:.68rem;font-weight:800;display:flex;position:absolute;top:22px;left:24px;right:24px}.loader-orbit{aspect-ratio:1;width:min(56vw,210px);margin:38px auto 26px;position:relative}.loader-core,.loader-ring,.loader-dot{border-radius:999px;position:absolute}.loader-core{background:radial-gradient(circle at 35% 30%,#fff8f9 0 14%,#0000 15%),radial-gradient(circle,#ff6f9f,#b877ff 68%,#5fc8ff);animation:1.4s ease-in-out infinite alternate corePulse;inset:35%;box-shadow:0 0 28px #ff70a09e,0 0 62px #b877ff57}.loader-ring{border:1px solid #ffe2f452;inset:8%}.ring-one{animation:2.4s linear infinite ringSpin;transform:rotateX(64deg)rotate(-18deg)}.ring-two{border-color:#7ecbff5c;animation:3.2s linear infinite reverse ringSpin;inset:18%;transform:rotateX(62deg)rotate(58deg)}.loader-dot{aspect-ratio:1;background:#fff2fb;width:9px;box-shadow:0 0 16px #fff2fbbf}.dot-one{animation:1.7s ease-in-out infinite alternate dotDrift;top:18%;left:72%}.dot-two{background:#ff5f89;animation:2.1s ease-in-out infinite alternate-reverse dotDrift;bottom:21%;right:18%}.dot-three{background:#8ee5ff;animation:1.9s ease-in-out infinite alternate dotDrift;bottom:30%;left:17%}.loader-copy{text-align:center;position:relative}.loader-copy p{color:#aee9ffdb;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:800}.loader-copy h1{text-shadow:0 0 24px #ff77a873;font-size:clamp(2.1rem,11vw,3.3rem)}.loader-bar{background:#ffffff17;border-radius:999px;height:8px;margin-top:28px;position:relative;overflow:hidden}.loader-bar span{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#ff5f89,#fff4fb,#8ee5ff);width:100%;animation:3.3s cubic-bezier(.2,.8,.2,1) forwards loaderProgress;position:absolute;inset:0;box-shadow:0 0 18px #ff5f898c}.signal-pulse{z-index:4;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#fff0f85c,#0000 16%),radial-gradient(circle,#0000 20%,#ff5f893d 21%,#0000 42%);animation:1.05s ease-out forwards signalPulse;position:fixed;inset:0}.music-mode:before{opacity:.96;animation-duration:11s}.music-mode .aurora{opacity:.3}.invite-card{z-index:2;text-align:center;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#08091c94;border:1px solid #ffffff2e;border-radius:24px;width:min(100%,430px);padding:clamp(28px,8vw,42px);animation:.86s cubic-bezier(.16,1,.3,1) both cardIn;position:relative;box-shadow:0 24px 80px #00000061,inset 0 1px #ffffff24}.note-card{width:min(100%,560px)}.tiny-note{color:#aee9ff;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:700}h1{letter-spacing:0;text-wrap:balance;margin:0;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(2.45rem,12vw,4.05rem);font-style:italic;font-weight:700;line-height:.98}.note-card h1{font-size:clamp(2.1rem,6vw,3.25rem);line-height:1.04}.soft-copy{color:#fff7fbc7;max-width:29rem;margin:22px auto 0;font-size:clamp(1rem,4vw,1.08rem);line-height:1.65}.soft-copy:empty{display:none}.hello-photo-frame{aspect-ratio:4/5;background:linear-gradient(135deg,#ff7ab929,#8ee5ff1f),#ffffff0d;border:1px solid #fff3;border-radius:18px;width:min(100%,310px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 18px 48px #00000052,0 0 34px #ff7ab929}.hello-photo-frame:after{content:"";pointer-events:none;background:linear-gradient(#ffffff24,#0000 30%,#05051233);position:absolute;inset:0}.hello-photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.primary-button,.answer-button{cursor:pointer;touch-action:manipulation;border-radius:999px;min-height:52px;transition:transform .18s,box-shadow .18s,background .18s}.primary-button{color:#18071a;background:linear-gradient(135deg,#ff7ab9,#8ee5ff);width:100%;margin-top:28px;font-weight:800;box-shadow:0 14px 34px #ff7ab947}.primary-button:active,.answer-button:active{transform:translateY(2px)scale(.98)}.answer-row{grid-template-columns:1fr 1fr;gap:12px;min-height:64px;margin-top:28px;display:grid;position:relative}.answer-button{padding:0 16px;font-weight:800}.yes-button{color:#2a071c;background:#fff0f8;box-shadow:0 14px 28px #ff91c83d}.no-button{color:#fff7fbc2;background:#ffffff14;outline:1px solid #ffffff2e;position:relative}.cosmic-mode .aurora{opacity:0}.cosmic-mode .planet{opacity:.42;animation-play-state:paused}.cosmic-caption{z-index:2;text-align:center;pointer-events:none;width:min(90vw,520px);animation:1.2s .45s both captionIn;position:fixed;top:clamp(18px,5vh,44px);left:50%;transform:translate(-50%)}.cosmic-caption p{color:#aee9ffd1;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:700}.cosmic-caption h1{text-shadow:0 0 28px #ff74b5b8;font-size:clamp(2.25rem,10vw,3.75rem)}@keyframes cardIn{0%{opacity:0;filter:blur(10px);transform:translateY(22px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes captionIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes cosmicVeil{0%{transform:translate(-2.5%,-1.2%)rotate(-1deg)scale(1.01)}to{transform:translate(2.2%,1.4%)rotate(1.4deg)scale(1.04)}}@keyframes auroraDrift{0%{transform:translate(-2%,-1%)rotate(-18deg)scale(1)}to{transform:translate(2%,1.5%)rotate(-12deg)scale(1.08)}}@keyframes planetFloat{0%{transform:translate(-4px,-6px)rotate(-3deg)}to{transform:translate(5px,7px)rotate(4deg)}}@keyframes loaderArrive{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes loaderLeave{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(18px);transform:scale(1.08)}}@keyframes scanNoise{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes loaderSweep{0%{transform:translateY(-36%)}to{transform:translateY(36%)}}@keyframes loaderStardust{0%{background-position:0 0,21px 34px,12px 18px}to{background-position:58px 58px,-65px 120px,56px -26px}}@keyframes loaderNebulaDrift{0%{transform:translate(-2%,-1%)rotate(-1deg)scale(1.02)}to{transform:translate(2%,1.5%)rotate(1deg)scale(1.07)}}@keyframes loaderConstellation{0%{transform:scale(1.08)rotate(0)}to{transform:scale(1.08)rotate(360deg)}}@keyframes gridDrift{0%{background-position:0 0}to{background-position:0 44px}}@keyframes corePulse{0%{transform:scale(.94)}to{transform:scale(1.08)}}@keyframes ringSpin{0%{rotate:0deg}to{rotate:360deg}}@keyframes dotDrift{0%{transform:translate(-4px,3px)scale(.88)}to{transform:translate(5px,-5px)scale(1.08)}}@keyframes loaderProgress{0%{transform:scaleX(.04)}68%{transform:scaleX(.78)}to{transform:scaleX(1)}}@keyframes signalPulse{0%{opacity:.92;filter:blur();transform:scale(.65)}to{opacity:0;filter:blur(14px);transform:scale(1.7)}}@media (width<=420px){.app{padding:16px}.invite-card{border-radius:20px}.answer-row{grid-template-columns:1fr;min-height:128px}.sun{top:5svh;right:5vw}.earth{top:15svh;left:3vw}.jupiter{bottom:20svh;right:-5vw}.mars{bottom:8svh;left:5vw}.neptune{top:58svh;right:17vw}}@media (width<=720px){.cosmic-mode:before{opacity:.45;animation:none}.cosmic-mode:after{opacity:.56}.cosmic-mode .planet{filter:none;opacity:.34}.cosmic-mode .jupiter,.cosmic-mode .mars{display:none}.cosmic-mode .cosmic-caption h1{text-shadow:0 0 18px #ff74b58c}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}
