:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f9edef;--muted:#b8a5aa;--dim:#806e73;--red:#ff5069;--red-bright:#ff7086;--deep:#080607;--panel:#191113c2}*{box-sizing:border-box}html{background:var(--deep);min-width:280px}html,body{min-height:100%;margin:0;overflow-x:hidden}body{color:var(--ink);background:var(--deep);font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}.experience{isolation:isolate;min-height:100svh;padding:max(34px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(30px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:radial-gradient(at 50% -5%,#8421324a 0,#0000 48%),radial-gradient(circle at 12% 74%,#5e122126 0,#0000 34%),linear-gradient(155deg,#100a0c 0%,#080607 55%,#0b0809 100%);place-items:center;transition:background .9s;display:grid;position:relative;overflow:hidden}.experience:before{content:"";z-index:-1;opacity:.28;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.grain{z-index:-1;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");position:absolute;inset:0}.ambient{z-index:-1;filter:blur(85px);opacity:.16;pointer-events:none;background:#fa3152;border-radius:50%;position:absolute}.ambientOne{width:min(54vw,620px);height:min(54vw,620px);animation:13s ease-in-out infinite alternate ambientDrift;top:4%;left:-28vw}.ambientTwo{width:min(44vw,480px);height:min(44vw,480px);animation:16s ease-in-out 2s infinite alternate-reverse ambientDrift;bottom:1%;right:-22vw}.hero{text-align:center;z-index:1;width:min(100%,1040px);margin:auto;position:relative}.eyebrow{color:#d9c6cb;letter-spacing:.17em;text-transform:uppercase;margin:0 0 15px;font:600 clamp(.66rem,2.4vw,.78rem)/1.5 Arial,sans-serif}.eyebrow span{color:#ff7890;text-shadow:0 0 12px #ff5d77b3;margin-right:.55em}h1{letter-spacing:-.058em;text-wrap:balance;text-shadow:0 12px 52px #00000080;margin:0;font:italic 600 clamp(3.45rem,14vw,7.8rem)/.92 Georgia,Times New Roman,serif}.titleHeart{color:var(--red);vertical-align:.11em;filter:drop-shadow(0 0 16px #ff4e6680);margin-left:.08em;font-size:.58em;font-style:normal;animation:3.2s ease-in-out infinite heartBeat;display:inline-block}.countdownIntro{color:var(--muted);letter-spacing:.04em;margin:clamp(34px,6.5vh,62px) 0 19px;font:500 clamp(.78rem,2.7vw,.96rem)/1.4 Arial,sans-serif}.clock{justify-content:center;align-items:flex-start;gap:clamp(7px,2.3vw,28px);display:flex}.clockGroup{justify-items:center;min-width:0;display:grid;position:relative}.digits{perspective:500px;gap:clamp(2px,.55vw,6px);display:flex}.flipDigit{aspect-ratio:.68;background:linear-gradient(#1b1315 0%,#120d0e 49.5%,#080607 50.5%,#100b0c 100%);border:1px solid #ffffff16;border-radius:clamp(6px,1.4vw,12px);width:clamp(29px,8.7vw,77px);display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,inset 0 -20px 34px #0003,0 14px 30px #00000061,0 0 26px #ff385614}.flipDigit:before,.flipDigit:after{content:"";z-index:5;background:#090607;border-radius:2px;width:5px;height:3px;position:absolute;top:49.5%;box-shadow:0 0 0 1px #ffffff12}.flipDigit:before{left:0;transform:translate(-35%)}.flipDigit:after{right:0;transform:translate(35%)}.flipFace{transform-style:preserve-3d;animation:.52s cubic-bezier(.2,.75,.25,1) digitFlip;position:absolute;inset:12% 17%}.digitHinge{z-index:4;background:#000000b3;height:1px;position:absolute;top:50%;left:0;right:0;box-shadow:0 1px #ffffff06}.segment{--thickness:13%;opacity:.3;background:#36151c;border-radius:999px;transition:background .18s,opacity .18s,box-shadow .18s;display:block;position:absolute}.segment.isOn{opacity:1;background:#ff6178;box-shadow:0 0 6px #ff425f,0 0 13px #ff3957a6}.segment-a,.segment-d,.segment-g{width:70%;height:var(--thickness);clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%);left:15%}.segment-a{top:0}.segment-g{top:44%}.segment-d{bottom:0}.segment-b,.segment-c,.segment-e,.segment-f{width:var(--thickness);clip-path:polygon(50% 0,100% 12%,100% 88%,50% 100%,0 88%,0 12%);height:39%}.segment-b{top:7%;right:0}.segment-c{bottom:7%;right:0}.segment-e{bottom:7%;left:0}.segment-f{top:7%;left:0}.clockGroup small{color:#8e7a80;letter-spacing:.1em;text-transform:uppercase;margin-top:11px;font-size:clamp(.52rem,1.8vw,.7rem);font-weight:600}.clockGroup b{color:#873143;text-shadow:0 0 15px #ff405b47;font:400 clamp(1.25rem,4vw,2.7rem)/1 Georgia,serif;animation:1s ease-in-out infinite colonPulse;position:absolute;top:clamp(10px,3.4vw,31px);right:clamp(-21px,-2.15vw,-8px)}.reunionDate{color:#756269;letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;gap:11px;margin:18px 0 0;font-size:clamp(.63rem,2vw,.72rem);display:flex}.reunionDate span{background:linear-gradient(90deg,#0000,#71303d);width:clamp(20px,5vw,48px);height:1px}.reunionDate span:last-child{transform:rotate(180deg)}.contentGrid{grid-template-columns:1.15fr .85fr;align-items:stretch;gap:14px;width:min(100%,780px);margin:clamp(34px,7vh,62px) auto 0;display:grid}.messageCard,.kissCard{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#ffffff0f,#ffffff05);border:1px solid #ff7e9121;border-radius:21px;box-shadow:0 18px 50px #0000003d,inset 0 1px #ffffff06}.messageCard{place-content:center;min-height:178px;padding:25px clamp(20px,4vw,35px);animation:.65s both cardReveal;display:grid}.messageIcon{color:#ff6e83;text-shadow:0 0 12px #ff4e66a6;font-size:.85rem}.messageCard p{text-wrap:balance;margin:9px 0 12px;font:italic 500 clamp(1.14rem,3.3vw,1.45rem)/1.38 Georgia,serif}.messageCard small,.kissCard h2{color:#8f7c82;letter-spacing:.14em;text-transform:uppercase;font:600 .64rem/1.3 Arial,sans-serif}.kissCard{place-content:center;min-height:178px;padding:24px 18px;display:grid}.kissTopline{justify-content:center;align-items:center;gap:8px;display:flex}.kissTopline span{color:#9c4c5b;font-size:.82rem}.kissCard h2{margin:0}.kissCard strong{color:#ff8294;letter-spacing:-.07em;text-shadow:0 0 16px #ff415c47;font-variant-numeric:tabular-nums;margin:5px 0 1px;font:500 clamp(2.7rem,7vw,4.15rem)/1 Courier New,monospace;display:block}.kissCard p{color:#937f84;margin:0;font:italic .8rem/1.35 Georgia,serif}footer{color:#68575c;letter-spacing:.03em;margin-top:clamp(31px,5vh,48px);font:500 clamp(.62rem,2vw,.72rem)/1.5 Arial,sans-serif}footer span{color:#a83f52;margin-right:5px}.choiceSection{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(circle at 50% 8%,#97223821,#0000 42%),linear-gradient(145deg,#ffffff0e,#ffffff04);border:1px solid #ff7e9126;border-radius:26px;width:min(100%,780px);margin:clamp(38px,7vh,66px) auto 0;padding:clamp(27px,5vw,42px) clamp(14px,4vw,34px) 18px;position:relative;overflow:hidden;box-shadow:0 22px 64px #00000040,inset 0 1px #ffffff08}.choiceKicker{color:#91747c;letter-spacing:.16em;text-transform:uppercase;margin:0 0 11px;font:600 .62rem/1.4 Arial,sans-serif}.choiceKicker span{color:#b3485c;margin-inline:5px}.choiceSection h2{letter-spacing:-.035em;text-wrap:balance;max-width:620px;margin:0 auto;font:italic 600 clamp(1.65rem,5vw,2.5rem)/1.12 Georgia,serif}.choiceSection h2 span{vertical-align:.08em;font-size:.72em;font-style:normal;display:inline-block}.choiceHint{color:#806d73;margin:10px 0 0;font:italic .78rem/1.4 Georgia,serif}.choiceArena{contain:layout paint;width:100%;height:clamp(205px,28vw,242px);margin-top:8px;position:relative;overflow:hidden}.noButton,.yesButton{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0;position:absolute}.noButton{z-index:2;color:#fff7f8;letter-spacing:.01em;background:linear-gradient(135deg,#d82e4d 0%,#fb4a67 52%,#c82042 100%);border:1px solid #ffb3be52;border-radius:999px;min-width:clamp(176px,45vw,235px);min-height:60px;padding:15px 25px;font:700 clamp(1.04rem,3vw,1.2rem)/1 Arial,sans-serif;transition:transform .16s,box-shadow .16s,filter .16s;top:clamp(20px,4vw,31px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #bc1a3b52,inset 0 1px #ffffff38,0 0 30px #ff37571f}.noButton:hover{filter:brightness(1.06);transform:translate(-50%)translateY(-2px)scale(1.035);box-shadow:0 16px 36px #bc1a3b66,inset 0 1px #ffffff40,0 0 38px #ff37572e}.noButton:active{transform:translate(-50%)scale(.98)}.noButton:focus-visible,.yesButton:focus-visible,.romanticOverlay:focus-visible{outline-offset:4px;outline:2px solid #ff9aaa}.yesButton{z-index:3;color:#9c858b;white-space:nowrap;background:#120d0ee0;border:1px solid #ab7e882e;border-radius:999px;min-width:102px;min-height:42px;padding:10px 16px;font:600 .78rem/1 Arial,sans-serif;bottom:18px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff09,0 8px 18px #0000003d}.yesButton.isReady{transform:translate3d(var(--yes-x), var(--yes-y), 0) rotate(var(--escape-tilt));will-change:transform;transition:transform .15s cubic-bezier(.22,.85,.35,1.15),color .12s,border-color .12s;top:0;bottom:auto;left:0}.yesButton:hover{color:#b29ba1;border-color:#cd97a340}.romanticOverlay{z-index:1000;padding:max(28px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:#fff5f6;cursor:pointer;background:radial-gradient(circle at 50% 43%,#a8203a66,#0000 42%),linear-gradient(145deg,#12070af7,#070506fb);place-items:center;animation:.36s cubic-bezier(.2,.85,.25,1) both overlayEnter;display:grid;position:fixed;inset:0;overflow:hidden}.romanticOverlay.isLeaving{pointer-events:none;animation:.72s forwards overlayLeave}.overlayDismiss{z-index:3;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.overlayDismiss:focus-visible{outline-offset:-8px;outline:2px solid #ff9aaa}.overlayGlow{aspect-ratio:1;filter:blur(90px);background:#ff365726;border-radius:50%;width:min(78vw,720px);animation:2.4s ease-in-out infinite alternate overlayGlow;position:absolute}.overlayMessage{z-index:2;text-align:center;pointer-events:none;width:min(100%,780px);animation:.62s cubic-bezier(.2,.9,.25,1.12) 80ms both messagePop;position:relative}.overlayHeart{color:#ff5871;text-shadow:0 0 24px #ff425eb3;margin-bottom:14px;font-size:clamp(1.5rem,4vw,2.2rem);animation:1.7s ease-in-out infinite heartBeat;display:inline-block}.overlayKicker{color:#d6aeb8;letter-spacing:.17em;text-transform:uppercase;margin:0 0 13px;font:600 clamp(.6rem,2vw,.74rem)/1.4 Arial,sans-serif}.overlayMessage h2{letter-spacing:-.065em;text-shadow:0 10px 50px #00000073,0 0 35px #ff395738;margin:0;font:italic 700 clamp(3.4rem,13vw,8rem)/.9 Georgia,serif}.overlayMessage h2 span{vertical-align:.13em;font-size:.5em;font-style:normal;display:inline-block}.overlayMessage>p:not(.overlayKicker){color:#f2dfe3;text-wrap:balance;max-width:690px;margin:25px auto 0;font:italic 500 clamp(1.15rem,3.6vw,1.65rem)/1.45 Georgia,serif}.overlayMessage small{color:#8e7178;letter-spacing:.13em;text-transform:uppercase;margin-top:34px;font:600 .61rem/1.4 Arial,sans-serif;display:block}.confetti{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{left:var(--confetti-x);background:var(--confetti-color);opacity:0;width:7px;height:13px;animation:confettiFall var(--confetti-duration) var(--confetti-delay) cubic-bezier(.2,.65,.38,1) forwards;border-radius:2px;position:absolute;top:-18px}.confetti i:nth-child(3n){border-radius:50% 50% 48% 10%;width:11px;height:10px}.mode-tomorrow{--red:#ff3e5b;background:radial-gradient(at 50% -5%,#c625436b,#0000 52%),linear-gradient(155deg,#16090d,#080607 66%)}.mode-today,.mode-after{--red:#ff294d;background:radial-gradient(at 50% 2%,#e0244875,#0000 55%),radial-gradient(circle at 12% 75%,#a118333d,#0000 40%),#080607}.celebrationTitle{color:#fff4f5;letter-spacing:-.045em;max-width:990px;margin-inline:auto;font-size:clamp(2.55rem,8.3vw,6.1rem);line-height:.98;animation:.85s cubic-bezier(.2,.85,.25,1) both celebrationEntrance,2.8s ease-in-out 1s infinite glowBreath}.mode-tomorrow .celebrationTitle{color:#ffeff2;font-size:clamp(3.5rem,12vw,7.4rem)}.arrivalNote{color:#d7bdc3;text-wrap:balance;max-width:590px;margin:24px auto 0;font:italic clamp(1.05rem,3vw,1.3rem)/1.5 Georgia,serif}.mode-today .contentGrid,.mode-after .contentGrid{margin-top:clamp(38px,8vh,72px)}.celebrationEffects{pointer-events:none;position:absolute;inset:0;overflow:hidden}.heartParticle{left:var(--x);color:#ff4b6966;font-size:calc(15px * var(--scale));filter:drop-shadow(0 0 6px #ff375840);animation:floatHeart var(--duration) var(--delay) linear infinite;position:absolute;bottom:-30px}.celebrationEffects.intense .heartParticle{color:#ff5f798f}@keyframes digitFlip{0%{opacity:.38;filter:brightness(1.8);transform:rotateX(-82deg)scaleY(.9)}65%{transform:rotateX(7deg)}to{opacity:1;filter:brightness();transform:rotateX(0)}}@keyframes heartBeat{0%,to{transform:scale(1)}8%{transform:scale(1.13)}16%{transform:scale(1)}24%{transform:scale(1.09)}}@keyframes colonPulse{0%,to{opacity:.48}50%{opacity:1}}@keyframes cardReveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes ambientDrift{0%{transform:translate(0,0)scale(1)}to{transform:translate(6vw,3vh)scale(1.12)}}@keyframes celebrationEntrance{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:none}}@keyframes glowBreath{0%,to{text-shadow:0 12px 52px #00000080,0 0 #ff395700}50%{text-shadow:0 12px 52px #00000080,0 0 32px #ff39575c}}@keyframes floatHeart{0%{transform:translate3d(0,0,0) rotate(-8deg) scale(var(--scale));opacity:0}12%{opacity:1}78%{opacity:.7}to{transform:translate3d(24px,-105vh,0) rotate(18deg) scale(var(--scale));opacity:0}}@keyframes overlayEnter{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}@keyframes overlayLeave{0%{opacity:1}to{opacity:0}}@keyframes messagePop{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:none}}@keyframes overlayGlow{0%{opacity:.55;transform:scale(.88)}to{opacity:1;transform:scale(1.12)}}@keyframes confettiFall{0%{opacity:0;transform:translateY(-4vh)rotate(0)}10%{opacity:1}85%{opacity:.9}to{opacity:0;transform:translate3d(var(--confetti-drift),105vh,0) rotate(var(--confetti-rotation))}}@media (width<=680px){.contentGrid{grid-template-columns:1fr;max-width:510px}.messageCard,.kissCard{min-height:148px}.kissCard{padding-block:22px}.choiceSection{border-radius:22px}.choiceArena{height:215px}.overlayMessage small{margin-top:28px}}@media (width<=370px){.experience{padding-inline:9px}.clock{gap:5px}.clockGroup b{right:-9px}.flipDigit{width:clamp(27px,8.5vw,31px)}.clockGroup small{letter-spacing:.055em;font-size:.48rem}.contentGrid{padding-inline:6px}.choiceSection{padding-inline:8px}.choiceArena{height:205px}.noButton{min-width:164px;min-height:56px}.yesButton{min-width:94px;padding-inline:13px}}@media (height<=680px) and (width>=681px){.experience{padding-block:25px}.countdownIntro{margin-top:28px}.contentGrid{margin-top:31px}footer{margin-top:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.celebrationEffects,.confetti{display:none}.yesButton.isReady{transition-duration:.01ms!important}.overlayGlow{animation:none!important}}
