@font-face{font-family:BirthdayScript;src:url('../assets/birthday/great-vibes.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--cream:#fff0d5;--gold:#efc887;--muted:#d7d2e1;--stage:min(77svh,690px,94vw)}
*{box-sizing:border-box}html,body{margin:0;background:#061025;color:var(--cream);font-family:Georgia,'Times New Roman',serif}body{overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #ffe1a1;outline-offset:5px}button:disabled{cursor:wait}h1:focus{outline:none}[hidden]{display:none!important}.script{font-family:BirthdayScript,Georgia,serif;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#experience{position:relative;isolation:isolate;width:100%;height:100svh;min-height:600px;overflow:hidden;background:#071126}.environment{position:absolute;inset:-3%;background-position:center;background-size:cover;z-index:-4;transition:opacity 1.6s ease,transform 2s ease;pointer-events:none}.night{background-image:url('../assets/time-machine/garden.webp');opacity:1}.dawn{background-image:url('../assets/time-machine/dawn.webp');opacity:0}.atmosphere{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#0209195c,transparent 30%,#02091826 48%,#030815c7 100%),radial-gradient(ellipse at center,#040b1e0d 12%,#03091c5e 90%);transition:background 1s}.quiet-header{position:absolute;top:max(20px,env(safe-area-inset-top));left:32px;right:28px;z-index:20;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.quiet-header>a,.quiet-header>button,.utilities{pointer-events:auto}.quiet-header a,.back-control{font:15px/1 Arial,sans-serif;text-shadow:0 2px 12px #000}.quiet-header a>span{font:25px Georgia,serif;margin-left:7px}.back-control{border:0;background:#08132652;border-radius:30px;padding:12px 15px;min-height:44px;backdrop-filter:blur(8px)}.back-control span{margin-left:7px}.utilities{display:flex;gap:8px;margin-left:auto}.icon-button{width:44px;height:44px;border:1px solid #e3d9de26;border-radius:50%;background:#07102044;backdrop-filter:blur(9px);display:grid;place-items:center}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{background:#ac93d32b}#sound[aria-pressed=false] .sound-waves{opacity:.22}.eyebrow{font:11px/1.6 Arial,sans-serif;letter-spacing:3px;color:var(--gold);margin:0 0 16px}.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:12px 26px;border:1px solid #f5d09c;border-radius:40px;color:#fff1d9;background:linear-gradient(120deg,#53351bbb,#120f13d9);box-shadow:0 0 6px #ffd29580,inset 0 0 10px #ffd8951f,0 0 24px #ffbf772b;text-shadow:0 1px 8px #000;transition:box-shadow .2s,transform .2s;font-size:16px;backdrop-filter:blur(9px)}.gold-button:hover{box-shadow:0 0 10px #ffd295bb,inset 0 0 15px #ffd89533,0 0 35px #ffbf7750;transform:translateY(-2px)}.gold-button>span{font:22px Arial,sans-serif}.text-button{border:0;background:transparent;padding:10px 14px;min-height:44px;color:#dfd5db;font:14px/1.5 Georgia,serif}.text-button:hover{color:#ffe2ac}.text-button span{margin-left:10px}.screen{position:absolute;inset:0;z-index:5;pointer-events:none}.screen button,.screen a,.screen nav,.letter-scroll{pointer-events:auto}.screen h1{font-weight:400}.portal-stage{position:absolute;left:50%;top:43%;width:var(--stage);height:var(--stage);transform:translate(-50%,-50%);z-index:1;transition:opacity .65s,top 1s,filter 1s;perspective:1100px;pointer-events:none}#portal-canvas{position:absolute;inset:0}#portal-canvas canvas{display:block;width:100%;height:100%}.portal-fallback{display:none;position:absolute;inset:14%;border:3px solid #99c4ff;border-radius:50%;box-shadow:0 0 15px #e7b3ff,0 0 55px #567eff,inset 0 0 45px #3157dc;background:radial-gradient(circle,#080f24aa 25%,#1d287952 67%,#be9aff8c);outline:1px solid #fdc990;outline-offset:9px}.no-webgl .portal-fallback{display:block}.clock-face{position:absolute;inset:0;opacity:.72;color:#d6dcff;text-shadow:0 0 10px #6b8fff}.clock-face span{position:absolute;transform:translate(-50%,-50%);font:clamp(11px,2.1vw,16px) Georgia,serif}.portal-greeting{position:absolute;left:26%;right:26%;top:29%;bottom:24%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;opacity:0;transition:opacity 1s;text-shadow:0 0 10px #ffb357,0 0 25px #f591695c;color:#ffe7b0}.portal-greeting>.script{font-size:clamp(38px,7.3vw,79px);line-height:.99;transform:rotate(-6deg)}.portal-name{font-size:clamp(22px,4.1vw,37px);margin-top:18px;letter-spacing:2px}.portal-name>span{display:block;color:#ffc7a3;font-size:30px;margin-top:3px}.today-label{display:none;font:14px Georgia,serif;letter-spacing:4px;margin-bottom:20px}.floating-memories{position:absolute;inset:0;transform-style:preserve-3d}.memory-orbit{position:absolute;left:var(--x);top:var(--y);width:21%;max-width:142px;pointer-events:auto;transform-style:preserve-3d;transform:translate(-50%,-50%) rotate(var(--angle));animation:memory-float 6s ease-in-out infinite;animation-delay:var(--delay)}.floating-photo{position:relative;display:block;width:100%;padding:7px 7px 5px;border:0;border-radius:1px;background:#f8ebd9;color:#33221f;box-shadow:0 5px 28px #0008,0 0 10px #f2bd8152;transform:rotateY(var(--tilt,0deg));transition:transform .3s,box-shadow .3s}.floating-photo:hover,.floating-photo:focus-visible{transform:scale(1.09) rotateY(0deg);box-shadow:0 8px 35px #0008,0 0 28px #f8c384aa;z-index:5}.floating-photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block;filter:sepia(.1)}.floating-photo .photo-year{display:block;font:clamp(13px,2.6vw,18px)/1.4 Georgia,serif;margin-top:4px}.floating-photo.visited:after{content:'✦';position:absolute;bottom:7px;right:9px;font-size:11px;color:#986e34}.floating-photo:before{content:'';position:absolute;left:34%;right:34%;height:12px;top:-6px;background:#ccab7994;transform:rotate(-4deg);box-shadow:0 1px 2px #0002}.entrance-copy{position:absolute;bottom:5%;left:20px;right:20px;text-align:center}.entrance h1{font-size:clamp(30px,4.6vh,46px);line-height:1.09;margin:0 0 17px;text-shadow:0 2px 22px #000}.intro-line{font-size:17px;line-height:1.45;color:#eee3dc;margin:0 0 22px}.dedication{font:13px Georgia,serif;margin:23px 0 0;color:#e1d1d6}.dedication>span{color:#ffb3a8;font-size:19px;vertical-align:-1px}.entrance .eyebrow{font-size:10px;letter-spacing:3.4px;margin-bottom:12px}#experience[data-screen=entrance] .portal-stage{top:33%;width:min(67svh,600px,94vw);height:min(67svh,600px,94vw)}
.hub-heading{position:absolute;left:20px;right:20px;top:11%;text-align:center;font-size:19px;letter-spacing:.3px;text-shadow:0 2px 15px #000;margin:0;color:#e6deef}.hub-heading em{font-family:BirthdayScript,serif;font-size:29px;color:#ffdab4}.hub-bottom{position:absolute;bottom:3.5%;left:15px;right:15px;text-align:center}.hub-bottom>p{font-size:16px;margin:0 0 13px;text-shadow:0 2px 8px #000}.memory-progress{display:flex;justify-content:center;gap:7px}.memory-progress button{position:relative;width:30px;height:28px;border:0;background:transparent;border-radius:50%;padding:0}.memory-progress button:before{content:'';position:absolute;width:7px;height:7px;left:11px;top:10px;border:1px solid #dbd7eb;border-radius:50%}.memory-progress button.visited:before{background:#ffda99;border-color:#ffda99;box-shadow:0 0 9px #ffc15e}.hub-bottom>.text-button{font-size:13px;color:#cdbab1}.hub-bottom>.text-button:hover{color:#ffdda6}#experience[data-screen=hub] .portal-greeting,#experience[data-screen=today] .portal-greeting{opacity:1}
.memory-content{position:absolute;inset:80px 20px 152px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d7b98444 transparent;text-align:center;padding:4px 0 20px;pointer-events:auto}.memory-heading .eyebrow{font-size:10px;letter-spacing:2.7px;margin:0 0 10px}.memory-heading h1{font-size:43px;line-height:1;margin:0 0 10px;color:#fff3e3}.memory-heading>.script{font-size:32px;line-height:1.18;margin:0 0 24px;color:#e9e1ff}.memory-print{position:relative;width:min(340px,43svh,85vw);margin:0 auto;background:#f7e7d0;padding:13px 13px 16px;box-shadow:0 15px 55px #0009;transform:rotate(-4deg);color:#4c3226}.memory-print img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.memory-print figcaption{position:relative;padding:14px 22px 0 3px;font:23px/1.14 BirthdayScript,Georgia,serif;min-height:65px}.caption-heart{position:absolute;right:0;bottom:3px;color:#c4574c;font:25px Georgia,serif}.tape{position:absolute;top:-11px;left:36%;width:29%;height:25px;background:#bda477b5;transform:rotate(2deg);z-index:2;box-shadow:0 1px 3px #59401333;clip-path:polygon(1% 0,99% 3%,97% 20%,100% 40%,97% 60%,100% 82%,98% 100%,0 98%,2% 78%,0 57%,3% 30%)}.memory-bottom{position:absolute;bottom:3%;left:20px;right:20px;text-align:center}.memory-bottom .gold-button{min-height:46px}.timeline{display:flex;justify-content:space-between;max-width:480px;margin:18px auto 0;position:relative;padding-top:2px}.timeline:before{content:'';position:absolute;left:6%;right:6%;height:1px;top:12px;background:linear-gradient(90deg,#e2cab055,#e2cab0b0,#e2cab055)}.timeline button{position:relative;flex:1;min-width:0;padding:23px 2px 5px;border:0;background:none;font:12px/1.3 Georgia,serif;color:#dad3e1;min-height:44px}.timeline button:before{content:'';position:absolute;top:7px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#d6c9d7;box-shadow:0 0 5px #f4c98b55}.timeline button[aria-current=true]{color:#ffe2ad}.timeline button[aria-current=true]:before{background:#ffe5b7;box-shadow:0 0 7px 3px #ffa74880;transform:scale(1.4)}
#experience[data-screen=memory] .portal-stage,#experience[data-screen=letter] .portal-stage,#experience[data-screen=finale] .portal-stage{opacity:0;visibility:hidden}#experience[data-screen=memory] .night,#experience[data-screen=letter] .night{filter:blur(5px);transform:scale(1.05)}#experience[data-screen=memory] .atmosphere,#experience[data-screen=letter] .atmosphere{background:linear-gradient(180deg,#040c2b70,#07102430 45%,#040918d1)}
#experience[data-screen=today] .portal-stage{top:34%;width:min(64svh,620px,90vw);height:min(64svh,620px,90vw)}#experience[data-screen=today] .clock-face{color:#ffe4b2}#experience[data-screen=today] .today-label{display:block}#experience[data-screen=today] .portal-greeting{top:20%;bottom:18%}#experience[data-screen=today] .portal-greeting>.script{font-size:clamp(39px,7vw,65px)}#experience[data-screen=today] .portal-name{font-size:28px;margin-top:10px}#experience[data-screen=today] .portal-name>span{display:none}#experience[data-screen=today] .floating-photo{box-shadow:0 0 23px #ffc2726b}#experience[data-screen=today] .dawn,#experience[data-screen=finale] .dawn{opacity:1}#experience[data-screen=today] .night,#experience[data-screen=finale] .night{opacity:0}#experience[data-screen=today] .atmosphere{background:linear-gradient(180deg,#090d233d,#32131624 45%,#100b1dcc)}.today-copy{position:absolute;bottom:5%;left:20px;right:20px;text-align:center;text-shadow:0 2px 15px #130e1a}.today-copy .eyebrow{font-size:10px;margin-bottom:13px}.today-copy h1{font-size:clamp(27px,4vh,36px);line-height:1.12;margin:0 0 15px}.today-copy>p:not(.eyebrow){font-size:16px;line-height:1.5;color:#f1e0d7;margin:0 0 20px}.letter-scroll{position:absolute;inset:83px 20px 25px;overflow:auto;text-align:center;scrollbar-width:thin;padding:8px 0 30px}.letter-paper{position:relative;width:min(480px,90%);margin:8px auto 28px;padding:40px 38px 30px;background:linear-gradient(120deg,#fff4de,#efd8b6);color:#4e3027;box-shadow:0 12px 60px #0007;transform:rotate(-2deg);text-align:left;border-radius:1px}.letter-paper:after{content:'♡';position:absolute;right:24px;top:42%;font:70px BirthdayScript,serif;color:#ad503826;transform:rotate(12deg);pointer-events:none}.letter-paper .eyebrow{font-size:9px;color:#826753;letter-spacing:1.4px;line-height:1.6}.letter-paper h1{font-size:45px;line-height:1.2;margin:15px 0 25px;color:#602f28}.letter-paper h1 span{color:#bf5c4d;font-size:37px}.letter-paper>p:not(.eyebrow){font-size:17px;line-height:1.65;position:relative;z-index:1}.letter-paper>.letter-signature{font-size:31px!important;line-height:1.25!important;margin:25px 0 0}.letter-signature>span{font-size:27px}.letter .gold-button{margin:0 auto}
.finale-layout{position:absolute;inset:14% 7% 16%;display:flex;justify-content:center;align-items:center;gap:clamp(35px,7vw,110px)}.future-print{position:relative;width:min(330px,34vw);background:#f5dfbc;transform:rotate(-7deg);padding:13px 13px 8px;color:#3e281e;box-shadow:0 7px 30px #24132280,0 0 25px #ffcf903b}.future-stars{aspect-ratio:4/5;background:radial-gradient(ellipse at 20% 70%,#684b6533,transparent 55%),radial-gradient(ellipse at top right,#43558366,transparent 60%),#091024;box-shadow:inset 0 0 20px #e8ab685c;position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid #e7b379}.future-stars:after{content:'✧ · ✦ · ✧';position:absolute;left:8%;right:8%;bottom:8%;font:18px Georgia;color:#ecc58d;letter-spacing:8px;text-align:center}.future-stars>span{color:#fff0d7;font:120px BirthdayScript,serif;text-shadow:0 0 20px #fdcf8a55}.future-year{display:block;text-align:center;font:38px/1.3 BirthdayScript,serif;margin-top:7px}.finale-copy{max-width:500px;text-shadow:0 2px 15px #100b19}.finale-copy h1{font-size:clamp(35px,4.5vw,56px);margin:0 0 25px;line-height:1.05}.finale-copy .eyebrow{font-size:10px}.future-line{font-size:28px;line-height:1.28;margin:0 0 24px}.finale-copy>p:not(.future-line):not(.eyebrow){font-size:18px;line-height:1.6;margin:0 0 28px}.finale-copy .text-button{display:block;margin:17px 0 0;padding-left:0}.ending-note{position:absolute;bottom:5%;left:20px;right:20px;text-align:center;font-size:28px;margin:0;color:#f5ddc4;text-shadow:0 2px 14px #000}.ending-note>span{display:block;font:25px Georgia,serif;margin-top:8px}
.travel-overlay{position:absolute;inset:0;z-index:12;pointer-events:none;background:radial-gradient(ellipse,transparent 15%,#050b254d 90%);text-align:center}.travel-years{position:absolute;left:20px;right:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:23px;text-shadow:0 0 22px #faad7780}.travel-years>span{font-size:27px;opacity:.65}.travel-years>strong{font:65px Georgia,serif;color:#fff2d9}.travel-overlay>p{position:absolute;left:20px;right:20px;bottom:14%;font-size:17px}.travel-overlay>.text-button{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);pointer-events:auto;white-space:nowrap}.arrival-flash{position:absolute;inset:0;background:radial-gradient(ellipse,#ffe1ac99,#b5c7ff44 60%,transparent);z-index:13;pointer-events:none;opacity:0}.confetti-layer{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden}.confetti-layer i{position:absolute;top:10%;width:5px;height:9px;background:#ffd49c;border-radius:2px;box-shadow:0 0 7px #ffd59e88}#experience[data-screen=travel] .portal-stage{top:50%;width:min(110svh,110vw);height:min(110svh,110vw)}#experience[data-screen=travel] .clock-face{opacity:.25}#experience[data-screen=travel] .floating-memories{animation:time-orbit 2.5s ease-in-out both}#experience[data-screen=travel] .memory-orbit{opacity:.65}#experience[data-screen=travel] .portal-greeting{opacity:0}#experience[data-screen=travel] .night{transform:scale(1.14)}.no-script{position:absolute;inset:0;z-index:50;display:grid;place-content:center;gap:20px;text-align:center;padding:30px;background:#071226}.no-script a{text-decoration:underline}.arrival-in{animation:arrival .65s ease both}@keyframes arrival{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}@keyframes memory-float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes time-orbit{from{transform:rotate(0) scale(1)}to{transform:rotate(38deg) scale(1.55);opacity:.1}}
@media(min-width:1000px) and (min-height:720px){.entrance-copy{bottom:5%}.entrance h1{font-size:43px}.intro-line br{display:none}.intro-line{margin-bottom:20px}.portal-stage{top:46%}.hub-heading{top:10%}.memory-content{inset:110px 10% 150px;display:flex;align-items:center;justify-content:center;gap:80px;overflow:visible;padding:0}.memory-heading{text-align:left;max-width:330px}.memory-heading h1{font-size:76px;margin-bottom:23px}.memory-heading>.script{font-size:43px;max-width:330px}.memory-print{margin:0;width:min(370px,47svh)}.memory-bottom{bottom:5%}.letter-paper{padding:48px 45px 38px}.letter-paper>p:not(.eyebrow){font-size:18px}.letter-scroll{inset:90px 20px 25px}}
@media(max-width:600px){:root{--stage:min(105vw,66svh)}.quiet-header{left:16px;right:14px;top:max(14px,env(safe-area-inset-top))}.quiet-header a>span{font-size:23px}.quiet-header a,.back-control{font-size:13px}.back-control{padding:10px 8px}.back-control span{margin-left:4px}.utilities{gap:5px}.icon-button{width:40px;height:40px}.icon-button svg{width:18px}.portal-stage{top:43%}.hub-heading{top:12%;font-size:16px}.hub-heading em{font-size:24px}.memory-orbit{width:22%}.floating-photo{padding:5px 5px 3px}.floating-photo:before{height:9px;top:-4px}.floating-photo .photo-year{font-size:13px;margin-top:2px}.floating-photo.visited:after{font-size:8px;right:5px;bottom:5px}.portal-greeting>.script{font-size:clamp(37px,11vw,55px)}.portal-name{font-size:25px;margin-top:13px}.portal-name>span{font-size:25px}.clock-face span{font-size:11px}.entrance-copy{bottom:6%}#experience[data-screen=entrance] .portal-stage{top:32%;width:104vw;height:104vw;max-width:60svh;max-height:60svh}.entrance h1{font-size:31px}.entrance .eyebrow{font-size:9px;letter-spacing:2.4px}.intro-line{font-size:16px;margin-bottom:20px}.gold-button{font-size:15px;gap:18px;padding:12px 22px}.dedication{margin-top:21px;font-size:12px}.hub-bottom{bottom:6%}.hub-bottom>p{font-size:15px}.hub-bottom>.text-button{font-size:13px}.memory-content{inset:75px 17px 148px}.memory-heading h1{font-size:39px}.memory-heading>.script{font-size:29px;margin-bottom:20px}.memory-heading .eyebrow{font-size:9px;margin-bottom:9px;letter-spacing:2px}.memory-print{width:min(300px,40svh,80vw);padding:10px 10px 12px}.memory-print figcaption{font-size:22px;padding-top:12px;min-height:65px}.memory-bottom{bottom:3%;left:12px;right:12px}.timeline{max-width:360px;margin-top:13px}.timeline button{font-size:11px}.today-copy{bottom:5%}.today-copy h1{font-size:27px}.today-copy .eyebrow{font-size:9px}.today-copy>p:not(.eyebrow){font-size:15px;margin-bottom:18px}#experience[data-screen=today] .portal-stage{top:31%;width:min(94vw,56svh);height:min(94vw,56svh)}#experience[data-screen=today] .portal-greeting>.script{font-size:40px}#experience[data-screen=today] .portal-name{font-size:24px}.today-label{font-size:11px;margin-bottom:13px}.letter-paper{width:94%;padding:28px 25px 25px}.letter-paper h1{font-size:40px;margin-top:13px;margin-bottom:20px}.letter-paper .eyebrow{font-size:8px;letter-spacing:1.3px}.letter-paper>p:not(.eyebrow){font-size:16px}.desktop-break{display:none}.letter-paper>.letter-signature{font-size:30px!important}.letter-scroll{inset:75px 16px 15px}.finale-layout{inset:12% 20px 14%;flex-direction:column;gap:25px;text-align:center}.future-print{width:min(185px,27svh);padding:9px 9px 5px}.future-stars{aspect-ratio:1}.future-stars>span{font-size:75px}.future-stars:after{font-size:12px;letter-spacing:4px}.future-year{font-size:27px;line-height:1.2}.finale-copy h1{font-size:33px;margin-bottom:16px}.finale-copy .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:10px}.future-line{font-size:23px;margin:0 0 14px}.finale-copy>p:not(.future-line):not(.eyebrow){font-size:15px;line-height:1.5;margin-bottom:20px}.finale-copy .gold-button{font-size:14px;padding:12px 19px;gap:10px}.finale-copy .text-button{margin:8px auto 0;padding-left:14px;font-size:13px}.ending-note{font-size:21px;bottom:3.5%}.ending-note>span{font-size:18px;margin-top:3px}.travel-years>strong{font-size:56px}.travel-years>span{font-size:23px}.travel-overlay>p{font-size:16px}.future-print .tape{height:18px;top:-8px}}
@media(max-height:720px) and (max-width:600px){.entrance-copy{bottom:4%}.entrance h1{font-size:27px;margin-bottom:12px}.intro-line{font-size:15px;margin-bottom:17px}.dedication{margin-top:15px}.entrance .eyebrow{margin-bottom:9px}#experience[data-screen=entrance] .portal-stage{top:29%;max-width:55svh;max-height:55svh}.hub-bottom{bottom:4%}.memory-content{inset:68px 17px 132px}.memory-heading>.script{font-size:26px;margin-bottom:17px}.memory-heading h1{font-size:33px}.memory-print{width:min(250px,36svh)}.memory-print figcaption{font-size:20px;min-height:59px}.memory-bottom{bottom:2%}.timeline{margin-top:8px}.today-copy{bottom:4%}.today-copy h1{font-size:24px}.today-copy>p:not(.eyebrow){font-size:14px;margin-bottom:15px}.today-copy .eyebrow{margin-bottom:9px}#experience[data-screen=today] .portal-stage{top:29%;width:51svh;height:51svh}.finale-layout{inset:11% 20px 13%;gap:18px}.future-print{width:23svh}.future-stars>span{font-size:59px}.future-year{font-size:23px}.finale-copy h1{font-size:29px;margin-bottom:12px}.future-line{font-size:20px;margin-bottom:12px}.finale-copy>p:not(.future-line):not(.eyebrow){margin-bottom:15px;font-size:14px}.ending-note{font-size:18px}}
@media(max-height:550px) and (min-width:601px){#experience{min-height:430px}.portal-stage{top:48%;width:78svh;height:78svh}.entrance-copy{left:50%;right:4%;bottom:15%}.entrance h1{font-size:27px}.entrance .eyebrow{font-size:9px}.intro-line{font-size:14px;margin-bottom:15px}.dedication{margin-top:15px}#experience[data-screen=entrance] .portal-stage{left:27%;top:51%;width:88svh;height:88svh}.hub-heading{top:14%;font-size:15px}.hub-bottom{bottom:1%}.hub-bottom>p{font-size:13px;margin:0}.hub-bottom .text-button{display:none}.memory-content{inset:70px 10% 102px;display:flex;align-items:center;justify-content:center;gap:55px;overflow:visible}.memory-heading{text-align:left;max-width:240px}.memory-heading h1{font-size:36px}.memory-heading>.script{font-size:27px}.memory-print{width:39svh;margin:0;padding:7px}.memory-print figcaption{font-size:17px;min-height:40px;padding:7px 13px 0 2px}.memory-bottom{bottom:1%}.memory-bottom .gold-button{min-height:38px;padding:7px 20px;font-size:14px}.timeline{margin-top:3px}.today-copy{left:49%;right:4%;bottom:11%}.today-copy h1{font-size:25px}.today-copy>p:not(.eyebrow){font-size:14px}#experience[data-screen=today] .portal-stage{left:26%;top:49%;width:83svh;height:83svh}.today-copy .eyebrow{font-size:8px}.finale-layout{inset:18% 8% 15%;gap:45px}.future-print{width:23vw;max-width:180px}.future-stars{aspect-ratio:1}.future-stars>span{font-size:70px}.future-year{font-size:28px}.finale-copy h1{font-size:30px;margin-bottom:12px}.finale-copy .eyebrow{font-size:8px;margin-bottom:8px}.future-line{font-size:21px;margin:0 0 10px}.finale-copy>p:not(.future-line):not(.eyebrow){font-size:14px;margin-bottom:14px}.finale-copy .gold-button{font-size:13px;min-height:40px;padding:9px 17px}.finale-copy .text-button{margin-top:2px;min-height:34px;font-size:12px}.ending-note{font-size:21px;bottom:3%}.ending-note>span{display:inline;margin-left:8px}.letter-scroll{inset:65px 20px 10px}}
.floating-photo img{height:auto}.memory-print img{touch-action:pan-y}
#experience[data-screen=travel] .portal-stage{inset:0;left:0;top:0;width:100%;height:100%;max-width:none;max-height:none;transform:none;transition:none}
#experience[data-screen=travel] .clock-face{display:none}
#experience[data-screen=travel] .portal-fallback{inset:auto;left:50%;top:50%;width:max(110vw,110svh);height:max(110vw,110svh);transform:translate(-50%,-50%)}
.floating-memories,.memory-orbit{transform-style:flat}
.memory-orbit:focus-within{animation-play-state:paused}.memory-progress button{width:44px;height:36px}.memory-progress button:before{left:18px;top:14px}.memory-progress{gap:0}
.future-stars{background-image:linear-gradient(#090d2422,#090d2477),url('../assets/time-machine/garden.webp');background-size:auto,260% auto;background-position:center,50% 8%}
@media(max-width:600px){:root{--stage:min(94vw,66svh)}.environment{inset:-3% -5%;background-size:100% 100%}.icon-button{width:44px;height:44px}}
@media(max-height:720px) and (max-width:600px){#experience[data-screen=today] .portal-stage{top:34%;width:48svh;height:48svh}}
#experience[data-screen=today] .portal-fallback{border-color:#ffe2a3;box-shadow:0 0 15px #ffc285,0 0 55px #d9863b,inset 0 0 45px #c8782655;background:radial-gradient(circle,#42261699 25%,#c6833244 67%,#ffc8958c)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.memory-orbit{translate:0 0}.arrival-flash{display:none}}
