@font-face{font-family:DM;src:url('assets/dm-sans-latin.woff2') format('woff2');font-display:swap;font-weight:100 1000}
:root{--bg:#080c19;--panel:#101729;--blue:#86a6ff;--light:#e8edfa;--muted:#9aa6bd;--line:#263046;--cream:#eee9db;--ink:#182541;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--light);font-family:DM,Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:6px}button:disabled{cursor:default;opacity:.5}button:disabled:focus-visible{outline-offset:2px}::selection{background:#739bff;color:#060d20}.wrap{width:min(1200px,calc(100% - 104px));margin-inline:auto}.sky-noise{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.035;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.65' filter='url(%23n)'/%3E%3C/svg%3E")}.header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:23px;font-weight:600;letter-spacing:-1px;display:flex;align-items:center;gap:9px}.logo-star{color:var(--blue);font-size:30px}.logo-dot{color:var(--blue);margin-left:-8px}nav{display:flex;gap:32px;align-items:center;font-size:13px;color:#c2cbdd}nav button{background:none;padding:0}.nav-letter span{color:var(--blue);margin-left:10px}.sound{border:1px solid var(--line);padding:10px 15px;border-radius:40px;display:flex;gap:10px;align-items:center;background:transparent;font-size:11px}.sound-bars{display:flex;align-items:center;gap:3px;height:17px}.sound-bars i{width:2px;height:5px;background:var(--blue)}.sound-bars i:nth-child(2){height:13px}.sound-bars i:nth-child(3){height:9px}.sound[aria-pressed=true] i{animation:soundwave 1.2s ease-in-out infinite alternate}.sound[aria-pressed=true] i:nth-child(2){animation-delay:.3s}.sound[aria-pressed=true] i:nth-child(3){animation-delay:.6s}.hero{position:relative;padding-top:74px;display:grid;grid-template-columns:1.04fr 1fr}.hero-copy{z-index:2}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:500;color:#acb8d0;line-height:1.8}.tiny-star{color:var(--blue);font-size:15px;padding-right:8px}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:clamp(58px,6vw,84px);font-weight:400;line-height:1.03;letter-spacing:-3.8px;margin-top:25px}h1 em,h2 em{font-weight:400;color:var(--blue)}.name{font-size:1.18em;line-height:1.2}.name-dot{color:var(--blue)}.hero-description{color:#a7b3ca;font-size:14px;margin-top:24px;line-height:1.8}.button{display:inline-flex;gap:35px;align-items:center;justify-content:center;border-radius:5px;padding:14px 23px;font-size:13px;font-weight:600;min-height:48px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:#89a9ff;color:#101a30}.primary:hover{background:#a4bdff}.secondary{background:#1a2843;color:#c6d6ff;border:1px solid #3c527c}.hero .button{margin-top:30px}.handwritten{font-family:var(--serif);font-style:italic;letter-spacing:-.3px}.hero-aside{display:block;font-size:15px;color:#7389b5;margin:16px 0 0 18px;transform:rotate(-4deg)}.hero-art{height:550px;position:relative;align-self:center;margin-top:-35px}.moon{position:absolute;left:15%;top:11%;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 24%,#6b8ed3 0,#244a95 40%,#102348 68%,#0a1229 82%);box-shadow:inset 8px 6px 24px #9abdf749,inset -20px -15px 40px #0009,0 0 90px #3970df18;transform:rotate(-15deg);overflow:hidden}.moon-surface{position:absolute;inset:0;border-radius:50%;opacity:.33;mix-blend-mode:screen;background-image:radial-gradient(ellipse at 20% 40%,#9ab5ec 0,transparent 22%),radial-gradient(ellipse at 50% 17%,#113064 0,transparent 16%),radial-gradient(ellipse at 60% 68%,#05152d 0,transparent 30%),radial-gradient(circle at 40% 45%,#123166 0,transparent 12%);filter:url(#noise)}.moon:after{content:'';position:absolute;inset:0;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.06' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");mix-blend-mode:screen}.moon-heart{position:absolute;left:30%;top:10%;font-family:var(--serif);font-size:190px;line-height:1.3;color:#a2c4ffbd;text-shadow:0 0 45px #779fff88;transform:rotate(7deg)}.moon-label{position:absolute;left:41%;bottom:16%;font-size:8px;letter-spacing:4px;color:#a1c3f5}.orbital{position:absolute;border:1px solid #6885bd38;border-radius:50%;width:100%;height:42%;top:25%;left:-1%;transform:rotate(-28deg)}.orbital-two{width:90%;height:76%;left:4%;top:9%;border-style:dashed;border-color:#6a7fa41e;transform:rotate(30deg)}.art-spark{position:absolute;color:#c0d1f2;font-size:40px}.spark-one{left:8%;top:14%;transform:rotate(15deg)}.spark-two{right:3%;top:33%;font-size:28px}.spark-three{left:7%;bottom:20%;font-size:23px}.mini-note{position:absolute;right:0;bottom:13%;width:230px;padding:26px 26px 14px;background:var(--cream);color:var(--ink);transform:rotate(10deg);box-shadow:0 12px 40px #0006;z-index:2}.tape{position:absolute;background:#b9c8e270;backdrop-filter:blur(2px);height:29px;width:82px;left:calc(50% - 41px);top:-13px;transform:rotate(-7deg);clip-path:polygon(2% 0,100% 3%,97% 100%,0 94%)}.note-top{font-size:9px;display:block;color:#5f6d83}.note-main{font:italic 27px/1.22 var(--serif);display:block;margin-top:12px;letter-spacing:-.7px}.note-heart{display:block;text-align:right;color:#5171ab;font-size:33px;line-height:1;margin-top:5px}.date-stamp{position:absolute;left:5%;bottom:15%;width:95px;display:flex;flex-direction:column;align-items:center;border:1px solid #7f9ed36b;padding:9px 10px 12px;transform:rotate(-9deg);color:#a9bfe7;background:#0c1528}.date-stamp strong{font-family:var(--serif);font-size:46px;font-weight:400;line-height:1.1}.date-stamp span:first-child{font:italic 13px var(--serif)}.date-stamp span:last-child{font-size:8px;letter-spacing:1.4px}.orbit-label{position:absolute;bottom:1%;left:19%;font:italic 15px var(--serif);color:#6d81a8;transform:rotate(-4deg)}.secret-heart{background:transparent;color:#7497db;position:absolute;font-size:21px;line-height:1;padding:11px;min-height:44px;min-width:44px;transition:transform .25s}.secret-heart:hover{transform:scale(1.3)}.secret-heart.collected{color:#b0c7ff;text-shadow:0 0 18px #7497ff}.heart-one{right:15%;top:4%;transform:rotate(18deg)}.heart-two{bottom:8px;right:12px;color:#6e8dbb}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:49px;padding:23px 0 29px;color:#687a9d;font-size:8px;letter-spacing:1.4px}.hero-bottom a{color:#acbad4;display:flex;gap:20px}.love-strip{overflow:hidden;background:#101b35;border-block:1px solid #1c2c4c;padding:12px 0;color:#a7bdf1;font-size:10px;letter-spacing:2px;white-space:nowrap}.love-strip div{display:flex;align-items:center;gap:40px;justify-content:center;min-width:1500px}.love-strip span{color:#6f90db;font-size:17px}.together{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:76px 80px;border-bottom:1px solid var(--line);align-items:center}h2{font:400 43px/1.17 var(--serif);letter-spacing:-1.3px;margin-top:16px}.small-label{font-size:9px;letter-spacing:1.9px}.time-note{justify-self:end;width:min(100%,430px);padding-left:40px;border-left:1px solid var(--line)}.time-note>.small-label{color:#8798b9}.time-digits{display:flex;align-items:center;gap:40px;margin-top:10px}.time-digits strong{font:400 64px/1.1 var(--serif);letter-spacing:-2px;color:#b2c8ff}.time-digits small{display:block;font-size:7px;letter-spacing:1.5px;margin-top:8px;color:#8395b5}.time-digits b{font:300 24px var(--serif);color:#506480}.time-note>p{color:#7f91b1;font:italic 14px var(--serif);margin-top:23px}.world{padding-top:79px;scroll-margin-top:35px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:35px}.world-note{font-size:15px;color:#8b9fc5;transform:rotate(-5deg);margin-bottom:7px}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.world-card{background:#101729;border:1px solid #243049;border-radius:9px;min-width:0;height:330px;text-align:left;padding:23px 25px 22px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}.world-card:hover{transform:translateY(-6px);border-color:#6988c6;box-shadow:0 12px 45px #0004}.world-card:focus-visible{outline-offset:3px}.card-number{font-size:8px;letter-spacing:1.4px;color:#8698bc}.card-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}.card-caption h3{font:400 23px var(--serif);letter-spacing:-.5px}.card-caption p{font-size:10px;color:#8b9ab6;margin-top:9px}.circle-arrow{border:1px solid #3a4c6d;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;flex-shrink:0;font-size:17px;color:#b4c9f9}.letter-card{background:linear-gradient(145deg,#182644,#0e1728)}.envelope-art{position:relative;width:180px;height:110px;margin:44px auto 25px;transform:rotate(-8deg)}.letter-paper{position:absolute;background:#e0e5ef;width:158px;left:10px;top:-26px;padding:13px 16px;color:#28436f;font:italic 14px var(--serif);height:115px;transform:rotate(4deg);box-shadow:0 -4px 14px #0002}.letter-paper span{font-size:11px;line-height:1.3;display:block;margin-top:5px}.envelope-front{position:absolute;inset:0;background:#6688c8;clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%)}.envelope-front:after{content:'';position:absolute;inset:0;background:#7f9fd9;clip-path:polygon(0 100%,50% 40%,100% 100%)}.envelope-seal{position:absolute;left:77px;top:49px;background:#d8e4ff;color:#3b5d99;border-radius:50%;width:27px;height:27px;text-align:center;box-shadow:0 3px 9px #0002;font-size:13px;padding-top:3px}.arcade-card{background:#111a2d}.arcade-art{display:grid;grid-template-columns:repeat(2,58px);gap:9px;margin:26px auto 21px;transform:rotate(9deg)}.arcade-art span{height:58px;display:grid;place-items:center;border:1px solid #4d638d;border-radius:7px;font:26px var(--serif);background:#1b2d50;color:#b3c9fd;box-shadow:3px 4px 0 #060c18}.arcade-art span:nth-child(2){background:#91b2fb;color:#18233d;transform:rotate(8deg)}.arcade-art span:nth-child(4){color:#6b82ab}.sky-card{background:radial-gradient(ellipse at 50% 30%,#182a4b,#0d1527 75%)}.star-art{margin:45px -10px 24px}.star-art svg{width:100%;height:125px}.star-art path{stroke:#7395d1;stroke-width:1;fill:none;stroke-dasharray:4 4}.star-art circle{fill:#ccddff;filter:drop-shadow(0 0 7px #8baaff)}.open-card{background:#131c2d}.open-art{margin:24px auto 22px;position:relative;width:161px;height:143px;background:#c7d5ee;transform:rotate(7deg);padding:26px 20px;color:#2f476d;box-shadow:-9px 5px 0 #6f88b7}.open-art span{font:25px/1.1 var(--serif);letter-spacing:-.8px}.open-art i{display:block;font-style:normal;font-size:25px;text-align:right;line-height:1;margin-top:10px}.date-card{background:#131c30}.ticket-art{border:1px dashed #91a9d1;border-radius:4px;position:relative;transform:rotate(-9deg);width:240px;max-width:100%;margin:43px auto 30px;text-align:center;padding:12px 10px;background:#a8bce1;color:#172947;outline:5px solid #8da6d0}.ticket-art:before,.ticket-art:after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:#131c30;top:calc(50% - 9px)}.ticket-art:before{left:-14px}.ticket-art:after{right:-14px}.ticket-art span{font-size:7px;letter-spacing:2px;display:block}.ticket-art strong{display:block;font:italic 33px var(--serif);padding:8px 0}.jar-card{background:linear-gradient(150deg,#162443,#101829)}.jar-art{height:167px;width:115px;position:relative;margin:17px auto}.jar-lid{width:96px;left:10px;height:14px;top:9px;background:repeating-linear-gradient(90deg,#6f86af 0,#6f86af 4px,#8fa8d0 4px,#8fa8d0 6px);position:absolute;border-radius:4px}.jar-body{width:112px;height:126px;border:1px solid #9cb9e4;border-radius:14px 14px 25px 25px;top:25px;position:absolute;box-shadow:inset 10px 0 10px #90baff09,inset -8px -3px 12px #7c9dde12;background:linear-gradient(90deg,#a6c9ff0c,transparent)}.jar-body:before{content:'';position:absolute;width:15px;height:65px;left:9px;top:12px;border-radius:20px;background:#a4c7ff10}.jar-body i{position:absolute;font-size:31px;font-style:normal;color:#a3c1ff;text-shadow:0 0 14px #719ce9;left:14px;top:40px;transform:rotate(-15deg)}.jar-body i:nth-child(2){top:58px;left:57px;transform:rotate(15deg)}.jar-body i:nth-child(3){top:9px;left:49px;font-size:23px}.reasons-section{margin-top:92px;background:#101829;border-block:1px solid #1e2d47}.reasons{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:110px;padding-block:73px 78px}.muted{color:#8e9fbe;font-size:12px;line-height:1.9;margin-top:20px}.text-button{padding:4px 0;background:transparent;font-size:12px;border-bottom:1px solid #526c9a;color:#adc6fa}.text-button:hover{color:white;border-color:white}.reasons .text-button{margin-top:25px;display:flex;gap:38px;align-items:center}.reason-note{background:#dce4f4;position:relative;color:#1d355b;padding:38px 37px 36px;transform:rotate(3deg);box-shadow:8px 10px 0 #1d2c49;margin-right:20px;min-height:260px;display:flex;flex-direction:column;justify-content:center}.reason-note>.small-label{color:#62789e}.reason-note p{font:italic 29px/1.25 var(--serif);letter-spacing:-.6px;margin:20px 0 25px}.reason-note>.handwritten{font-size:13px;color:#6581af}.keepsakes{padding-top:76px}.keepsakes h2{font-size:38px}.collection-bar{border:1px solid var(--line);border-radius:7px;padding:26px;display:flex;align-items:center;gap:25px;background:#101727}.collection-icon{font:42px var(--serif);color:var(--blue);width:58px;height:58px;border-radius:50%;background:#19294a;display:grid;place-items:center;flex-shrink:0}.collection-bar h3{font:23px var(--serif)}.collection-bar p{font-size:11px;color:#8597b7;margin-top:7px;max-width:530px}.progress-stars{margin-left:auto;color:#7e9bcf;white-space:nowrap;font-size:22px;letter-spacing:5px}.heart-hint{font-size:11px;color:#7386a9;display:flex;justify-content:center;gap:13px;align-items:center;margin-top:23px}.heart-hint>span:first-child{font-size:20px}.heart-hint>span:last-child{color:#afc4e9}.ending{text-align:center;position:relative;padding-block:115px 90px}.ending:before{content:'✧';font-size:35px;color:#89a7e4;display:block;margin-bottom:25px}.ending h2{font-size:56px;margin:20px 0 32px}.ending-sign{display:block;margin-top:23px;font-size:18px;color:#8196bc}.heart-three{bottom:99px;right:10%;transform:rotate(-20deg);color:#384e78}.footer{border-top:1px solid var(--line);padding-block:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .wordmark{font-size:20px}.footer p{color:#7587a8;font-size:10px}.footer p span{display:block;font-size:8px;letter-spacing:1px;margin-top:4px}.footer .text-button{font-size:10px}.skip{position:fixed;top:-100px;left:10px;padding:12px;background:var(--blue);color:#000;z-index:100}.skip:focus{top:10px}.noscript{position:fixed;bottom:0;background:var(--blue);color:#080c19;padding:15px;z-index:99;width:100%;text-align:center}
/* The little worlds */
dialog{background:#0c1222;color:var(--light);border:1px solid #30415f;border-radius:14px;padding:0;width:min(1020px,calc(100% - 50px));max-height:92dvh;overflow:auto;box-shadow:0 40px 120px #000a;overscroll-behavior:contain}dialog::backdrop{background:#030712dd;backdrop-filter:blur(8px)}body:has(dialog[open]){overflow:hidden}.dialog-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 29px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0c1222f5;backdrop-filter:blur(10px);z-index:4}.dialog-bar .wordmark{font-size:20px;color:#adc7ff}.dialog-bar>span{font-size:8px;letter-spacing:1.5px;color:#7187ae}.close{width:38px;height:38px;background:#1b2943;border:1px solid #344768;border-radius:50%;color:#bed0ef;font-size:17px}.close:hover{background:#304665}.experience-content{padding:45px 55px 55px;min-height:400px}.experience-intro{text-align:center;margin-bottom:35px}.experience-intro h2{font-size:47px;margin:10px 0 15px}.experience-intro p{font-size:13px;color:#96a8c8;max-width:550px;margin:auto}.modal-symbol{color:var(--blue);font-size:37px;line-height:1.1;margin-bottom:17px}.letter-sheet{max-width:650px;margin:0 auto;background:var(--cream);padding:45px 55px;color:#263955;position:relative;box-shadow:8px 8px 0 #213452;border-radius:2px}.letter-sheet h3{font:italic 33px var(--serif);margin-bottom:25px}.letter-sheet p{font:17px/1.9 var(--serif);margin-top:17px}.letter-sheet .signature{font:italic 29px var(--serif);color:#4b6797;margin-top:29px}.letter-sheet .postscript{font:12px/1.7 DM,Arial,sans-serif;color:#6c7d96;margin-top:24px;border-top:1px solid #c4cad2;padding-top:17px}.modal-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:13px;margin-top:30px}.feature-picker{display:grid;grid-template-columns:1fr 1fr;gap:18px}.game-option{padding:30px;background:#142039;border:1px solid #344b73;border-radius:10px;text-align:center;transition:background .2s}.game-option:hover{background:#203154}.game-option .big-symbol{font:49px var(--serif);color:#aac5ff;display:block;margin-bottom:15px}.game-option h3{font:25px var(--serif)}.game-option p{font-size:12px;color:#8fa4c8;margin-top:9px}.game-option small{display:block;font-size:9px;letter-spacing:1.5px;color:#b4caff;margin-top:20px}.game-meta{text-align:center;font-size:12px;color:#9fb5da;margin-bottom:22px}.match-board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:480px;margin:auto}.match-tile{border:1px solid #3e567f;background:#1c2e50;aspect-ratio:1;border-radius:9px;font:36px var(--serif);display:grid;place-items:center;color:#bed4ff;transition:transform .25s,background .25s}.match-tile:hover{border-color:#9eb9f3;transform:translateY(-2px)}.match-tile.revealed{background:#c0d1f2;color:#172a4e;transform:rotateY(0)}.match-tile.matched{background:#1a3b49;color:#a2e4d7;border-color:#447269;opacity:1}.game-result{max-width:600px;margin:25px auto 0;text-align:center;color:#bbd0ff;min-height:30px;font-size:13px}.quiz-question{text-align:center;font:30px/1.4 var(--serif);margin:20px auto 27px;max-width:580px}.quiz-options{max-width:560px;margin:auto;display:grid;gap:12px}.quiz-option{padding:16px 20px;border:1px solid #354969;background:#16223a;border-radius:7px;text-align:left}.quiz-option:hover{background:#24385c}.quiz-option.correct{background:#183d3e;border-color:#5faaa0;color:#b7ebe1}.quiz-option.incorrect{background:#31283a;border-color:#a28aab}.quiz-result{text-align:center;min-height:70px;margin-top:20px;color:#acc5f8;font-size:13px}.quiz-result .button{margin-top:15px}.back-link{display:block;background:none;color:#90acd9;font-size:11px;margin:28px auto 0;border-bottom:1px solid #475e86;padding-bottom:3px}.constellation{position:relative;max-width:640px;aspect-ratio:1.55;margin:0 auto;background:radial-gradient(ellipse,#1a3156 0,#0d172c 70%);border:1px solid #263b5d;border-radius:14px;overflow:hidden}.constellation-bg{position:absolute;inset:0;opacity:.5;background-image:radial-gradient(circle at 12% 15%,#9bb9ef 0 1px,transparent 2px),radial-gradient(circle at 73% 40%,#9bb9ef 0 1px,transparent 2px),radial-gradient(circle at 38% 80%,#9bb9ef 0 1px,transparent 2px);background-size:90px 98px,130px 160px,150px 150px}.constellation svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.constellation line{stroke:#9ec1ff;stroke-width:.45;filter:drop-shadow(0 0 2px #8ba7ff)}.star-point{position:absolute;transform:translate(-50%,-50%);width:45px;height:45px;border-radius:50%;background:#172f57;color:#d4e2ff;border:1px solid #4b6e9e;font:18px var(--serif);z-index:1;box-shadow:0 0 25px #83a5ff22}.star-point.lit{background:#bad3ff;color:#142745;box-shadow:0 0 30px #84adff66;border-color:#d5e5ff;opacity:1}.sky-message{text-align:center;max-width:530px;margin:23px auto;font:italic 23px/1.4 var(--serif);color:#b3ccff;min-height:70px}.letter-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.open-envelope{border:1px solid #3c5177;background:#17243e;border-radius:7px;padding:27px 18px;text-align:center;min-height:160px}.open-envelope:hover{background:#24365a;transform:rotate(-2deg)}.open-envelope .env-icon{font-size:30px;color:#8baee7;display:block;margin-bottom:13px}.open-envelope h3{font:italic 23px var(--serif)}.open-envelope p{font-size:10px;color:#859dc4;margin-top:9px}.open-when-letter{margin-top:25px}.open-when-letter p{font:18px/1.9 var(--serif)}.filters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}.filter{background:#142039;padding:8px 18px;border:1px solid #33486d;border-radius:25px;font-size:12px}.filter[aria-pressed=true]{color:#12213d;background:#9dbbfa;border-color:#9dbbfa}.date-machine{max-width:520px;margin:auto;padding:38px;background:#14223e;border:1px solid #476394;border-radius:15px;text-align:center;position:relative}.date-machine:before{content:'A LITTLE LOVE · AT YOUR OWN PACE';font-size:8px;letter-spacing:2px;display:block;color:#819bc4;margin-bottom:27px}.date-machine h3{font:italic 35px/1.2 var(--serif);color:#bed3ff}.date-machine p{font-size:13px;color:#a3b6d7;margin-top:17px;min-height:65px}.date-machine .date-tag{display:inline-block;font-size:9px;padding:4px 11px;border:1px solid #445c85;border-radius:3px;letter-spacing:1px;margin-top:20px;color:#90b2ed}.date-rolling{animation:roll .35s ease-in-out 2}.wish-layout{max-width:650px;margin:auto}.wish-form{background:#14213a;padding:24px;border:1px solid #344e76;border-radius:9px}.wish-form label{display:block;font-size:12px;color:#c6d8f8;margin-bottom:12px}.wish-form textarea{width:100%;resize:vertical;min-height:85px;background:#0c162b;border:1px solid #3b547e;border-radius:5px;padding:13px;color:#dbe8ff;font-size:14px}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.form-bottom small{font-size:10px;color:#8299bd}.wish-list{display:grid;gap:13px;margin-top:22px}.wish-item{background:#1a2a47;border:1px solid #2f476d;padding:18px 20px;border-radius:6px;display:flex;align-items:flex-start;gap:15px}.wish-item p{flex:1;color:#c1d5f8;font:italic 20px/1.4 var(--serif);overflow-wrap:anywhere;white-space:pre-wrap}.wish-item>span{color:#9bbdff;font-size:20px}.wish-remove{background:none;color:#92a7cc;font-size:10px;border-bottom:1px solid #556d98;padding:4px}.privacy-note{font-size:10px;color:#7e94b6;text-align:center;margin:20px auto 0;max-width:550px}.suggestion{background:transparent;border:1px dashed #50678d;border-radius:20px;padding:7px 13px;font-size:10px;color:#a9c3ee}.suggestions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.badge{border:1px solid #2c405f;border-radius:9px;background:#121d33;padding:25px 16px;text-align:center;opacity:.55}.badge.earned{border-color:#657fb1;background:#1b2d4d;opacity:1}.badge span{font:42px var(--serif);color:#a3c3ff;display:block;margin-bottom:12px}.badge h3{font:21px var(--serif)}.badge p{font-size:10px;color:#95a9c9;margin-top:8px}.heart-reward{max-width:600px;background:#14233e;border:1px solid #385781;padding:22px;text-align:center;margin:25px auto 0;border-radius:8px}.heart-reward h3{font:25px var(--serif);color:#b6d0ff}.heart-reward p{font-size:12px;color:#95acd1;margin-top:10px}.finale{text-align:center;max-width:660px;margin:auto}.finale .big-heart{font-size:85px;color:#a9c7ff;line-height:1.4;text-shadow:0 0 35px #6a8eff55;animation:heartbeat 3s ease-in-out infinite}.finale h2{font-size:60px}.finale>p{font:19px/1.8 var(--serif);color:#b6c7e7;margin-top:23px}.finale .handwritten{color:#89a9e6;margin-top:26px;font-size:26px}.memory-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:720px;margin:30px auto}.memory-card{border:1px solid #344b70;background:#172440;padding:25px;border-radius:7px}.memory-card>span{display:block;color:#a3bff4;font-size:28px}.memory-card h3{font:27px var(--serif);margin:10px 0}.memory-card p{font-size:13px;color:#93a9ce;line-height:1.8}.quote-box{border-left:2px solid #7d9cda;padding:10px 25px;margin:30px auto;max-width:650px;color:#adc7f4;font:italic 25px/1.5 var(--serif)}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#c4d6fc;color:#152744;border:1px solid #e4edff;box-shadow:0 8px 40px #0007;border-radius:30px;z-index:50;padding:12px 22px;font-size:12px;max-width:calc(100% - 32px);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}#celebration{position:fixed;inset:0;pointer-events:none;z-index:100;overflow:hidden}.confetti{position:absolute;top:-30px;animation:confetti 2.6s ease-in forwards;color:#abc7ff;font-size:18px}.storage-warning{background:#322b21;border:1px solid #77613d;padding:12px;border-radius:6px;font-size:11px;color:#ecdcb8;margin-bottom:20px;text-align:center}
.story-link{margin-top:19px;font-size:11px}.wish-list:empty{display:none}
@keyframes soundwave{to{height:16px}}@keyframes heartbeat{50%{transform:scale(1.05)}}@keyframes confetti{to{transform:translate(var(--drift),110vh) rotate(360deg);opacity:0}}@keyframes roll{50%{transform:translateY(-4px);opacity:.45}}
@media(min-width:1600px){.wrap{width:1240px}.hero-art{height:580px}.hero{padding-top:95px}h1{font-size:90px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{padding-top:55px;grid-template-columns:1fr 1fr}h1{font-size:68px}.hero-art{height:460px}.moon-heart{font-size:155px}.mini-note{width:190px;padding:21px}.note-main{font-size:24px}.world-grid{gap:15px}.world-card{padding:20px 19px;height:320px}.card-caption h3{font-size:20px}.card-caption p{font-size:9px}.reasons{gap:60px}.progress-stars{font-size:18px;letter-spacing:2px}.time-digits{gap:28px}.world-note{display:none}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:80px}.wordmark{font-size:21px}.logo-star{font-size:26px}nav{display:none}.sound{padding:8px 12px}.hero{padding-top:40px;grid-template-columns:1fr;overflow:clip}.eyebrow{font-size:8px;letter-spacing:1.6px}h1{font-size:72px;line-height:1.02;letter-spacing:-3px;margin-top:23px}.hero-description{font-size:13px;margin-top:20px}.hero .button{margin-top:25px}.hero-art{height:430px;width:min(100%,450px);justify-self:center;margin-top:0}.moon{width:70%;left:17%;top:7%}.moon-heart{font-size:150px}.moon-label{bottom:18%;font-size:7px;left:38%}.mini-note{bottom:13%;right:1%;width:180px}.date-stamp{bottom:16%;left:6%;width:80px}.date-stamp strong{font-size:38px}.note-main{font-size:23px}.orbit-label{font-size:13px;bottom:1%;left:10%}.heart-one{right:10%;top:1%}.spark-one{top:5%}.hero-bottom{margin-top:25px;padding-block:19px;font-size:6px;letter-spacing:1px}.hero-bottom>span{max-width:160px}.hero-bottom a{gap:9px;align-items:center}.love-strip{font-size:8px;letter-spacing:1.5px;padding-block:9px}.love-strip div{gap:25px;justify-content:flex-start;min-width:1100px}.together{padding-block:48px;gap:32px;grid-template-columns:1fr}h2{font-size:37px}.together h2 br{display:none}.time-note{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;justify-self:start;width:100%}.time-digits{gap:40px}.time-digits strong{font-size:59px}.time-note>p{margin-top:17px}.world{padding-top:49px}.section-heading{margin-bottom:25px;display:block}.section-heading>.text-button{margin-top:18px}.world-grid{grid-template-columns:1fr 1fr;gap:12px}.world-card{height:282px;padding:16px 14px}.card-number{font-size:6px;letter-spacing:.7px}.card-caption h3{font-size:20px;line-height:1.1;letter-spacing:-.3px}.card-caption p{font-size:9px;line-height:1.5;margin-top:8px}.circle-arrow{display:none}.envelope-art{width:130px;height:85px;margin-top:42px}.letter-paper{width:114px;height:93px;padding:10px;font-size:11px;top:-23px}.letter-paper span{font-size:9px}.envelope-seal{left:53px;top:40px;width:23px;height:23px;font-size:11px}.arcade-art{grid-template-columns:repeat(2,43px);gap:7px;margin-top:27px}.arcade-art span{height:43px;font-size:23px}.star-art{margin:30px -7px 20px}.star-art svg{height:110px}.open-art{width:110px;height:110px;padding:20px 13px;margin-top:27px;box-shadow:-6px 4px 0 #6f88b7}.open-art span{font-size:21px}.open-art i{font-size:19px}.ticket-art{margin:44px auto 30px;transform:rotate(-9deg);padding:10px 4px;outline-width:3px}.ticket-art strong{font-size:26px}.ticket-art span{font-size:5px;letter-spacing:1px}.jar-art{transform:scale(.8);transform-origin:center top;height:137px;margin-top:18px}.reasons-section{margin-top:55px}.reasons{padding-block:49px 60px;grid-template-columns:1fr;gap:50px}.reasons h2{font-size:39px}.reasons h2 br{display:none}.reason-note{max-width:440px;margin:0 9px 0 4px;padding:30px;min-height:255px}.reason-note p{font-size:29px}.keepsakes{padding-top:50px}.keepsakes h2{font-size:36px}.collection-bar{padding:21px;gap:15px;flex-wrap:wrap}.collection-icon{height:45px;width:45px;font-size:32px}.collection-bar>div:nth-child(2){flex:1;min-width:150px}.collection-bar h3{font-size:21px}.collection-bar p{font-size:10px}.progress-stars{width:100%;margin-top:5px;text-align:center;letter-spacing:8px;font-size:25px}.heart-hint{flex-wrap:wrap;font-size:10px;gap:5px 9px;text-align:center}.ending{padding-block:76px 64px}.ending h2{font-size:42px}.heart-three{right:0;bottom:34px}.footer{flex-wrap:wrap;padding-block:22px}.footer p{font-size:8px}.footer .text-button{margin-left:auto}.ending-sign{font-size:16px}dialog{width:calc(100% - 18px);max-height:95dvh;border-radius:10px}.dialog-bar{padding:13px 17px}.dialog-bar>span{font-size:6px;letter-spacing:1px;max-width:120px;text-align:center}.experience-content{padding:30px 20px 35px;min-height:400px}.experience-intro{margin-bottom:27px}.experience-intro h2{font-size:36px}.experience-intro p{font-size:12px}.letter-sheet{padding:30px 25px;box-shadow:5px 5px 0 #213452}.letter-sheet h3{font-size:29px}.letter-sheet p{font-size:16px;line-height:1.8}.letter-sheet .signature{font-size:26px}.feature-picker{gap:12px}.game-option{padding:24px 13px}.game-option h3{font-size:24px}.game-option p{font-size:11px}.game-option small{font-size:7px;letter-spacing:1px}.game-option .big-symbol{font-size:39px}.match-board{gap:8px}.match-tile{font-size:30px}.quiz-question{font-size:25px}.quiz-option{font-size:13px}.constellation{aspect-ratio:1.13}.star-point{width:40px;height:40px}.letter-list{grid-template-columns:1fr 1fr;gap:11px}.open-envelope{padding:22px 12px;min-height:150px}.open-envelope h3{font-size:22px}.open-envelope p{font-size:9px}.date-machine{padding:30px 22px}.date-machine h3{font-size:30px}.date-machine p{font-size:12px}.wish-form{padding:18px}.form-bottom{align-items:flex-start;flex-direction:column}.form-bottom .button{width:100%}.wish-item{padding:16px 13px;gap:10px}.wish-item p{font-size:19px}.wish-remove{font-size:9px}.badge-grid{grid-template-columns:1fr 1fr;gap:10px}.badge{padding:20px 12px}.badge h3{font-size:20px}.badge p{font-size:9px}.finale h2{font-size:45px}.finale>p{font-size:17px}.memory-strip{grid-template-columns:1fr}.modal-actions .button{font-size:12px;gap:15px}.quote-box{font-size:23px;padding-left:20px}.heart-reward h3{font-size:23px}#toast{font-size:11px;border-radius:9px}}
@media(max-width:760px){h1{font-size:clamp(52px,15.3vw,64px)}}
@media(max-width:370px){.hero-art{height:365px}.moon-heart{font-size:125px}.mini-note{width:155px}.note-main{font-size:21px}.card-caption h3{font-size:18px}.world-card{padding:15px 11px;height:270px}.time-digits{gap:25px}.heart-hint{font-size:9px}.dialog-bar>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
