:root{--ink: #0b0a14;--ink-2: #15132a;--parchment: #f3e9d7;--muted: #a49cb8;--gold: #f5c86b;--rose: #ff5d8f;--violet: #8b5cf6;--cyan: #5ee7ff;--serif: "Fraunces", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace;--hand: "Caveat", cursive;--mx: 50vw;--my: 50vh}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at top,#1b1638 0%,var(--ink) 60%) fixed,var(--ink);color:var(--parchment);font-family:var(--serif);font-size:18px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}em{font-style:italic;color:var(--rose)}.gold{color:var(--gold);font-style:italic}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.cursor-glow{position:fixed;left:var(--mx);top:var(--my);width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;background:radial-gradient(circle,rgba(255,93,143,.12),transparent 65%);pointer-events:none;z-index:0;transition:left .15s ease-out,top .15s ease-out}main{position:relative;z-index:1;max-width:920px;margin:0 auto;padding:0 24px 140px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:28px}.hero h1{font-size:clamp(48px,9vw,112px);line-height:.98;font-weight:400;letter-spacing:-.03em;animation:rise 1.2s cubic-bezier(.2,.8,.2,1) both}.lede{max-width:560px;font-size:21px;color:var(--muted);animation:rise 1.2s .2s cubic-bezier(.2,.8,.2,1) both}.scroll-cue{font-family:var(--mono);font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px;animation:rise 1.2s .4s both}.hidden-heart{font-size:11px;color:var(--rose);opacity:.12;padding:6px;transition:opacity .3s,transform .3s}.hidden-heart:hover{opacity:.6;transform:scale(1.4)}.hidden-heart.found{opacity:1;animation:beat 1.2s infinite}.countdown-section{position:relative;text-align:center;padding:100px 0 80px;overflow:hidden;border-radius:32px;isolation:isolate;border:1px solid rgba(245,200,107,.15);background:#0b0a1499}.aurora{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;z-index:-1;filter:blur(70px);opacity:.55;background:conic-gradient(from 0deg,var(--violet),var(--rose),var(--gold),var(--cyan),var(--violet));animation:spin 18s linear infinite}.aurora:after{content:"";position:absolute;top:25%;right:25%;bottom:25%;left:25%;background:var(--ink);border-radius:50%;filter:blur(60px)}.glitch{position:relative;display:inline-block;margin:14px 0 30px;font-family:var(--mono);font-weight:800;font-size:clamp(36px,7vw,72px);letter-spacing:.12em;text-shadow:0 0 24px rgba(255,93,143,.6)}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.glitch:before{color:var(--cyan);transform:translate(-3px);clip-path:inset(0 0 60% 0);animation:glitch 2.4s infinite steps(1);mix-blend-mode:screen}.glitch:after{color:var(--rose);transform:translate(3px);clip-path:inset(55% 0 0 0);animation:glitch 1.9s infinite reverse steps(1);mix-blend-mode:screen}.orbit-wrap{position:relative;width:min(640px,92vw);aspect-ratio:1;margin:0 auto;animation:pulse 1s ease-out}.orbit{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.orbit-dash{fill:none;stroke:#f5c86b80;stroke-width:.3;stroke-dasharray:.6 2.4;transform-origin:50% 50%;animation:spin 40s linear infinite}.ring-track{fill:none;stroke:#ffffff0f;stroke-width:1.8}.ring{fill:none;stroke-width:1.8;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.4,1.6,.5,1);filter:drop-shadow(0 0 1.6px currentColor) drop-shadow(0 0 3px rgba(255,255,255,.35))}.orbit-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.units{display:flex;align-items:flex-start;gap:clamp(2px,1vw,10px)}.unit{display:flex;flex-direction:column;align-items:center;gap:6px}.unit-label{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--muted);text-transform:uppercase}.digits{display:flex;gap:3px;perspective:400px}.flip{display:inline-block;width:clamp(18px,4.6vw,36px);height:clamp(30px,7vw,56px);border-radius:8px;background:linear-gradient(180deg,#221d3f 0,#221d3f 50%,#19152f 50%,#19152f);box-shadow:inset 0 0 0 1px #ffffff14,0 8px 24px #00000080;overflow:hidden}.flip-card{display:grid;place-items:center;width:100%;height:100%;font-family:var(--mono);font-weight:800;font-size:clamp(16px,4vw,34px);color:#fff;text-shadow:0 0 12px rgba(245,200,107,.9);animation:flip .55s cubic-bezier(.3,1.4,.6,1) both;transform-origin:50% 50%}.colon{font-family:var(--mono);font-size:clamp(14px,3.4vw,30px);color:var(--gold);margin-top:4px;animation:blink 1s steps(1) infinite}.bday{font-size:clamp(32px,6vw,56px);line-height:1.1}.countdown-note{margin-top:24px;color:var(--muted);font-style:italic}.hunt{padding-top:140px;display:flex;flex-direction:column;gap:32px}.section-title{font-size:clamp(40px,6vw,72px);font-weight:400;line-height:1;letter-spacing:-.02em;margin-bottom:24px}.chapter{position:relative;padding:40px;border-radius:24px;background:linear-gradient(160deg,#221d3fb3,#0f0d1ecc);border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .5s,box-shadow .5s}.chapter.is-solved{border-color:#f5c86b66;box-shadow:0 0 60px -20px #f5c86b66}.chapter.is-locked .chapter-body{filter:blur(7px);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.chapter-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin-bottom:20px}.chapter-num{font-family:var(--mono);color:var(--gold);font-size:14px}.chapter-head h3{font-size:clamp(26px,4vw,38px);font-weight:400;font-style:italic}.badge{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.1em;padding:4px 10px;border-radius:99px;background:#f5c86b26;color:var(--gold)}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.05em}.padlock{font-size:40px;animation:float 3s ease-in-out infinite}.clue{font-size:20px;color:#ddd3ea;max-width:640px}.success{margin-top:20px;font-family:var(--mono);font-size:14px;color:var(--gold);animation:rise .6s both}.success b{font-size:20px;color:#fff;text-shadow:0 0 12px var(--gold)}.hints{margin-top:20px;font-family:var(--mono);font-size:13px;color:var(--muted)}.hints summary{cursor:pointer;width:fit-content}.hints summary:hover{color:var(--parchment)}.hints ol{margin:10px 0 0 20px;display:grid;gap:4px}.answer{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.answer input{flex:1;min-width:200px;padding:14px 18px;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.12);color:var(--parchment);font:16px var(--mono);outline:none}.answer input:focus{border-color:var(--rose);box-shadow:0 0 0 4px #ff5d8f26}.answer button,.open-btn{padding:14px 26px;border-radius:12px;font:600 14px var(--mono);letter-spacing:.08em;background:linear-gradient(135deg,var(--rose),var(--violet));color:#fff;transition:transform .2s,box-shadow .2s}.answer button:hover,.open-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px var(--rose)}.cipher-text{margin:28px 0 14px;font:800 clamp(28px,6vw,52px) var(--mono);letter-spacing:.18em;color:#fff;text-shadow:0 0 18px rgba(94,231,255,.6)}.dial{display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:13px;color:var(--muted)}.dial input{flex:1;max-width:360px;accent-color:var(--rose)}.riddle{margin:6px 0 0;padding-left:20px;border-left:2px solid var(--rose);font-size:clamp(22px,3.4vw,30px);font-style:italic}.sky{position:relative;margin-top:24px;height:340px;border-radius:18px;background:radial-gradient(ellipse at 50% 120%,rgba(139,92,246,.25),transparent 60%),#0000004d;border:1px solid rgba(255,255,255,.06)}.sky svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.constellation{fill:none;stroke:var(--gold);stroke-width:.5;vector-effect:non-scaling-stroke;stroke-width:2;filter:drop-shadow(0 0 4px var(--gold))}.star{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px}.star-dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff;animation:twinkle 2.4s infinite;transition:transform .3s,background .3s}.star-letter{font:600 12px var(--mono);color:var(--muted)}.star:hover .star-dot{transform:scale(1.6)}.star.lit .star-dot{background:var(--gold);box-shadow:0 0 18px var(--gold),0 0 36px var(--gold);transform:scale(1.5)}.star.lit .star-letter{color:var(--gold)}.star.miss .star-dot{background:var(--rose);box-shadow:0 0 18px var(--rose)}.star.miss{animation:shake .4s}.treasure{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}.chest{position:relative;width:200px;height:170px;margin:30px 0 10px}.chest-base{position:absolute;bottom:0;left:0;right:0;height:100px;border-radius:0 0 16px 16px;background:repeating-linear-gradient(90deg,#6b3f1d 0,#6b3f1d 46px,#4a2a12 46px,#4a2a12 54px);border:4px solid var(--gold);display:grid;place-items:start center}.chest-lock{margin-top:-18px;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--gold);color:var(--ink);font-size:20px}.chest-lid{position:absolute;top:0;left:0;right:0;height:74px;border-radius:90px 90px 6px 6px;background:repeating-linear-gradient(90deg,#7a4821 0,#7a4821 46px,#4a2a12 46px,#4a2a12 54px);border:4px solid var(--gold);transform-origin:50% 100%;transition:transform 1s cubic-bezier(.4,1.6,.5,1);z-index:2}.chest-glow{position:absolute;left:10%;right:10%;top:60px;height:20px;border-radius:50%;background:var(--gold);filter:blur(20px);opacity:0;transition:opacity 1s .3s}.chest.open .chest-lid{transform:translateY(-30px) rotateX(70deg) rotate(-8deg)}.chest.open .chest-glow{opacity:1;height:80px;top:0}.chest.open .chest-lock{animation:beat 1.2s infinite}.lock{display:flex;gap:12px}.lock-dial{display:flex;flex-direction:column;align-items:center;width:64px;padding:6px 0;border-radius:14px;background:#0006;border:1px solid rgba(245,200,107,.3)}.lock-dial button{padding:6px 16px;color:var(--muted);font-size:12px}.lock-dial button:hover{color:var(--gold)}.lock-digit{font:800 34px var(--mono);color:#fff;text-shadow:0 0 10px var(--gold);animation:flip .35s both}.letter{max-width:560px;padding:40px 36px;border-radius:6px;text-align:left;background:linear-gradient(170deg,#f6ecd9,#e8d8b8);color:#3a2a1a;font:500 26px/1.35 var(--hand);box-shadow:0 30px 80px -20px #f5c86b80;transform:rotate(-1deg);animation:rise 1s both}.letter p{margin-bottom:14px;opacity:0;animation:rise .9s forwards}.letter p:first-child{font-size:32px;font-weight:700}.letter p:last-child{text-align:right;color:#b0304f}.fragments{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:99px;background:#0b0a14bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(245,200,107,.25)}.fragments-label{font:11px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-right:4px}.frag{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:800 14px var(--mono);color:var(--muted);border:1px dashed rgba(255,255,255,.2)}.frag.got{color:var(--ink);background:var(--gold);border:0;box-shadow:0 0 16px var(--gold);animation:pop .5s both}footer{margin-top:120px;text-align:center;color:var(--muted);font-size:15px}.reset{text-decoration:underline;text-underline-offset:3px;font-size:15px;color:var(--muted)}.reset:hover{color:var(--rose)}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s,transform 1s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}.shake{animation:shake .45s}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flip{0%{transform:rotateX(-90deg);opacity:0}to{transform:none;opacity:1}}@keyframes blink{50%{opacity:.2}}@keyframes pulse{0%{transform:scale(1.012);filter:brightness(1.25)}to{transform:scale(1);filter:none}}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.2)}}@keyframes float{50%{transform:translateY(-8px)}}@keyframes twinkle{50%{opacity:.55}}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes glitch{0%{clip-path:inset(0 0 60% 0);transform:translate(-3px)}20%{clip-path:inset(30% 0 40% 0);transform:translate(4px,-2px)}40%{clip-path:inset(70% 0 5% 0);transform:translate(-5px,1px)}60%{clip-path:inset(10% 0 80% 0);transform:translate(2px,2px)}80%{clip-path:inset(45% 0 30% 0);transform:translate(-2px,-1px)}}@media (max-width: 600px){body{font-size:16px}.chapter{padding:28px 20px}.countdown-section{border-radius:20px;padding:70px 0 50px}.sky{height:300px}.lock-dial{width:54px}.letter{padding:28px 22px;font-size:22px}.cursor-glow{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.navbar{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:18px;padding:8px 8px 8px 20px;border-radius:99px;width:max-content;max-width:calc(100vw - 24px);background:#0b0a14b3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 40px -10px #0009}.brand{font-style:italic;font-size:20px;color:var(--parchment);text-decoration:none;white-space:nowrap}.brand span{color:var(--gold);font-style:normal}.nav-links{display:flex;gap:4px}.nav-links a{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;font:600 13px var(--mono);color:var(--muted);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}.nav-links a:hover{color:var(--parchment);background:#ffffff0f}.nav-links a.active{color:var(--ink);background:linear-gradient(135deg,var(--gold),#ffdf9e)}.nav-icon{font-size:14px}.page{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:130px 24px 120px;animation:rise .8s both}.page-head{display:grid;gap:18px;margin-bottom:40px}.page-title{font-size:clamp(42px,7vw,88px);font-weight:400;line-height:1;letter-spacing:-.03em}.muted{color:var(--muted)}.muted a{color:var(--gold)}.bar{height:8px;border-radius:99px;background:#ffffff14;overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rose),var(--gold));transition:width .4s cubic-bezier(.4,1.4,.5,1);box-shadow:0 0 12px var(--rose)}.open-btn.wide{width:100%;margin-top:20px}.open-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#05040cb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .25s both}.modal{position:relative;width:min(560px,100%);max-height:calc(100svh - 32px);overflow-y:auto;padding:34px 30px;border-radius:24px;background:linear-gradient(160deg,#221d3f,#110f22);border:1px solid rgba(245,200,107,.25);box-shadow:0 30px 100px -20px #000c;animation:pop .35s both}.modal-close{position:absolute;top:14px;right:16px;color:var(--muted);font-size:16px;padding:6px}.modal-close:hover{color:var(--parchment)}.modal-title{font-size:clamp(28px,5vw,38px);font-weight:400;margin:8px 0 10px;line-height:1.15}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.tabs button{padding:10px 16px;border-radius:99px;font:600 13px var(--mono);color:var(--muted);border:1px solid rgba(255,255,255,.12);transition:all .2s}.tabs button:hover{color:var(--parchment);border-color:#ffffff4d}.tabs button.active{color:var(--ink);background:var(--parchment);border-color:var(--parchment)}.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.dest-card{border-radius:22px;overflow:hidden;background:#15132ad9;border:1px solid rgba(255,255,255,.08);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;animation:rise .6s both}.dest-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 24px 60px -20px #ff5d8f73}.dest-art{position:relative;height:160px;display:grid;place-items:center;font-size:64px;overflow:hidden}.dest-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.35),transparent 50%)}.dest-card:hover .dest-art>span:first-child{transform:scale(1.15) rotate(-6deg)}.dest-art>span:first-child{transition:transform .4s cubic-bezier(.4,1.6,.5,1);filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}.dest-booked{position:absolute;top:12px;right:12px;z-index:1;font:600 11px var(--mono);padding:4px 10px;border-radius:99px;background:#0000008c;color:var(--gold)}.dest-body{padding:20px 22px 22px;display:grid;gap:6px}.dest-place{font:11px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.dest-body h3{font-size:28px;font-weight:400;font-style:italic;line-height:1.1}.dest-blurb{font-size:15px;color:#cfc6de;min-height:48px}.dest-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.dest-price{font:800 18px var(--mono);color:var(--gold)}.buy-btn{font:600 13px var(--mono);padding:9px 14px;border-radius:10px;background:#ff5d8f26;color:var(--rose);transition:all .2s}.buy-btn:hover{background:var(--rose);color:#fff}.pay-methods{display:grid;gap:10px;margin-top:18px}.pay-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:#0000004d;border:1px solid rgba(255,255,255,.07);transition:border-color .2s,background .2s}.pay-row.on{border-color:var(--rose);background:#ff5d8f14}.pay-emoji{font-size:28px}.pay-info{flex:1;display:grid;font-size:15px}.pay-info span{font-size:12px;color:var(--muted);font-family:var(--mono);line-height:1.4}.stepper{display:flex;align-items:center;gap:4px;font:800 16px var(--mono)}.stepper button{width:30px;height:30px;border-radius:8px;background:#ffffff14;font-size:16px}.stepper button:hover{background:var(--rose)}.stepper span{min-width:24px;text-align:center}.pay-total{margin-top:18px;display:grid;gap:8px;font:13px var(--mono);color:var(--muted)}.boarding-pass{border-radius:18px;overflow:hidden;color:#fff;background:linear-gradient(140deg,var(--c1),var(--c2));box-shadow:0 20px 60px -20px var(--c1)}.bp-top{padding:26px 24px 20px;display:grid;gap:6px}.bp-top .eyebrow{color:#fffc}.bp-top h3{font-size:40px;font-weight:400;font-style:italic;line-height:1.1}.bp-tear{border-top:2px dashed rgba(255,255,255,.5);margin:0 16px}.bp-note{padding:18px 24px 24px;font-size:15px}.wallet{margin-top:100px}.wallet-sub{font:600 12px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:28px 0 14px}.trip-list{display:flex;flex-wrap:wrap;gap:10px}.trip-chip{padding:10px 16px;border-radius:12px;border:1px solid;background:#0000004d}.trip-chip span{font:11px var(--mono);color:var(--muted);margin-left:6px}.coupon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.coupon{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#f6ecd9,#e8d3ad);color:#3a2a1a;overflow:hidden;-webkit-mask:radial-gradient(circle 9px at 0 50%,transparent 98%,#000),radial-gradient(circle 9px at 100% 50%,transparent 98%,#000);-webkit-mask-composite:source-in;mask-composite:intersect}.coupon>div{flex:1;display:grid}.coupon-emoji{font-size:26px}.coupon-code{font:11px var(--mono);opacity:.65}.redeem{font:600 11px var(--mono);padding:6px 10px;border-radius:8px;background:#3a2a1a;color:#f6ecd9}.coupon.redeemed{opacity:.55}.stamp{font:800 11px var(--mono);color:#b0304f;border:2px solid #b0304f;padding:2px 6px;border-radius:4px;transform:rotate(-12deg)}.daily-progress{display:grid;gap:8px;max-width:420px;font:13px var(--mono);color:var(--muted)}.day-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.day{aspect-ratio:1;border-radius:18px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;background:#15132acc;border:1px solid rgba(255,255,255,.07);text-align:left;transition:transform .25s,border-color .25s,box-shadow .25s}.day.open:hover{transform:translateY(-4px) scale(1.03);border-color:var(--rose)}.day.locked{opacity:.45}.day.today{border-color:var(--gold);box-shadow:0 0 30px -8px var(--gold);animation:glowpulse 2s infinite}.day.done{background:linear-gradient(140deg,#f5c86b40,#ff5d8f26);border-color:#f5c86b80}.day.bday-tile{background:linear-gradient(140deg,#ff5d8f59,#8b5cf659)}.day-num{font:800 26px var(--mono)}.day-date{font-size:15px;font-style:italic;color:#cfc6de}.day-state{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.puzzle-q{font-style:italic}.hint-btn{margin-top:18px;font:13px var(--mono);color:var(--muted);text-align:left}.hint-btn:hover{color:var(--parchment)}.space-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;overflow:hidden;background:#05040c}.warp{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.space-ui{position:relative;display:grid;justify-items:center;gap:22px;text-align:center;padding:0 20px;transition:transform .2s}.space-layer{font-size:clamp(40px,8vw,96px);font-weight:400;font-style:italic;line-height:1;animation:zoomin .5s both;text-shadow:0 0 40px rgba(139,92,246,.8)}.depth-pips{display:flex;gap:8px}.depth-pips span{width:22px;height:6px;border-radius:99px;background:#ffffff26;transition:background .2s}.depth-pips span.on{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.space-instr{font:13px var(--mono);color:var(--muted);letter-spacing:.05em;min-height:20px}.space-instr.pulling{color:var(--rose);animation:shake .4s infinite}.space-key{margin-top:10px;padding:16px 80px;border-radius:14px;font:800 14px var(--mono);letter-spacing:.5em;color:var(--parchment);background:#ffffff0f;border:1px solid rgba(255,255,255,.25);box-shadow:0 6px #ffffff1f;transition:transform .08s,box-shadow .08s;touch-action:manipulation}.space-key:active{transform:translateY(5px);box-shadow:0 1px #ffffff1f}.space-message{position:relative;max-width:720px;padding:0 24px;text-align:center;display:grid;gap:22px;justify-items:center}.space-line{font-size:clamp(22px,3.6vw,36px);line-height:1.3;opacity:0;animation:zoomin 1.4s cubic-bezier(.2,.8,.2,1) forwards}.space-line:last-of-type{font-style:italic;color:var(--gold);text-shadow:0 0 30px rgba(245,200,107,.6)}.space-message .reset{opacity:0;animation:rise 1s forwards}@keyframes fade{0%{opacity:0}}@keyframes zoomin{0%{opacity:0;transform:scale(.6);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}@keyframes glowpulse{50%{box-shadow:0 0 50px -6px var(--gold)}}@media (max-width: 720px){.navbar{padding:6px;gap:0}.brand,.nav-label{display:none}.nav-links a{padding:10px 16px}.nav-icon{font-size:18px}.page{padding-top:100px}.pay-row{flex-wrap:wrap}.day-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.day{padding:10px;border-radius:14px}.day-num{font-size:20px}.space-key{padding:16px 56px}}.dest-crazy{position:absolute;bottom:12px;left:12px;z-index:1;font:600 11px var(--mono);padding:4px 10px;border-radius:99px;background:#0009;color:var(--rose);animation:glowpulse 2s infinite}.crazy-note{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:14px;background:linear-gradient(135deg,#ff5d8f2e,#8b5cf62e);border:1px solid rgba(255,93,143,.4)}.pay-row.crazy{background:linear-gradient(135deg,#ff5d8f14,#8b5cf61a)}.pay-row.crazy.on{border-color:var(--violet);box-shadow:0 0 24px -8px var(--rose)}.coupon.crazy{background:linear-gradient(135deg,#ff5d8f,#8b5cf6);color:#fff}.coupon.crazy .redeem{background:#fff;color:#3a1250}.coupon.crazy .stamp{color:#fff;border-color:#fff}.bubble{position:relative;display:grid;gap:2px;width:fit-content;max-width:min(460px,100%);padding:8px 12px 10px;border-radius:12px;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;color:#e9edef;box-shadow:0 2px 10px #00000059;animation:rise .5s both}.bubble.me{background:#005c4b;border-top-right-radius:2px;margin-left:auto}.bubble.her{background:#202c33;border-top-left-radius:2px}.bubble-who{font:600 11px var(--mono);letter-spacing:.04em;opacity:.75}.bubble.her .bubble-who{color:#ff8fb1}.bubble.me .bubble-who{color:#7fe3c2}.wrapped{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:70px}.stat{display:grid;gap:4px;padding:22px;border-radius:20px;animation:pop .6s both;background:linear-gradient(150deg,#ff5d8f29,#8b5cf624);border:1px solid rgba(255,255,255,.08)}.stat b{font:800 clamp(28px,4vw,40px) var(--mono);color:var(--gold);line-height:1}.stat span{font-size:14px;color:#cfc6de}.stat.wide{grid-column:1 / -1}.versus{display:flex;gap:4px;margin-top:8px;border-radius:12px;overflow:hidden}.versus-bar{padding:12px 14px;font:600 13px var(--mono);white-space:nowrap}.versus-bar.me{background:#005c4b}.versus-bar.her{background:#b0305a;text-align:right}.names{margin-bottom:90px}.name-cloud{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:baseline;margin-top:16px}.name-cloud span{font-style:italic;color:var(--parchment);animation:float 4s ease-in-out infinite}.name-cloud span:nth-child(3n){color:var(--rose)}.name-cloud span:nth-child(4n){color:var(--gold)}.collage-section{margin-bottom:100px}.collage-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.player{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:10px 0 40px;align-items:start}.player-embed{border-radius:14px;overflow:hidden;min-height:152px;background:#0000004d;display:grid;place-items:center}.player-embed>div,.player-embed iframe{width:100%}.tracklist{list-style:none;display:grid;gap:4px}.tracklist button{display:flex;gap:12px;width:100%;text-align:left;padding:8px 10px;border-radius:10px;font-size:14px;color:#cfc6de}.tracklist button span{font:600 12px var(--mono);color:var(--muted);min-width:20px}.tracklist button:hover{background:#ffffff0d}.tracklist button.active{background:#1db95424;color:#fff}.tracklist button.active span{color:#1db954}.collage{columns:4 220px;column-gap:18px}.polaroid{position:relative;break-inside:avoid;margin:0 0 22px;padding:10px 10px 34px;background:#f6f1e7;border-radius:4px;transform:rotate(var(--tilt));box-shadow:0 14px 36px -12px #000000b3;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.polaroid:hover{transform:rotate(0) scale(1.04);z-index:2}.polaroid img{display:block;width:100%;border-radius:2px}.polaroid figcaption{position:absolute;bottom:8px;left:12px;font:700 18px var(--hand);color:#5a4630}.polaroid-bubble{position:absolute;right:-6px;bottom:40px;max-width:85%;padding:6px 10px;border-radius:10px;font:13px/1.35 system-ui,sans-serif;color:#e9edef;box-shadow:0 6px 18px #0006;opacity:0;transform:translateY(8px);transition:all .3s}.polaroid-bubble.me{background:#005c4b}.polaroid-bubble.her{background:#202c33;left:-6px;right:auto}.polaroid:hover .polaroid-bubble{opacity:1;transform:none}.timeline{position:relative;display:grid;gap:34px;margin-bottom:110px}.timeline:before{content:"";position:absolute;left:50%;top:90px;bottom:0;width:2px;background:linear-gradient(var(--rose),var(--violet),transparent)}.moment{position:relative;width:calc(50% - 30px);display:grid;gap:8px}.moment.her{justify-self:start}.moment.me{justify-self:end}.moment:after{content:"♥";position:absolute;top:0;font-size:16px;color:var(--rose)}.moment.her:after{right:-40px}.moment.me:after{left:-40px}.moment.me .date-chip,.moment.me h3,.moment.me .moment-note{justify-self:end;text-align:right}.date-chip{width:fit-content;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:8px;background:#f5c86b24;color:var(--gold)}.moment h3{font-size:24px;font-weight:400;font-style:italic}.moment-note{font-size:14px;color:var(--muted);font-style:italic}.her-letter{max-width:720px;margin:0 auto 110px;padding:44px 40px;border-radius:8px;transform:rotate(.6deg);background:linear-gradient(170deg,#f6ecd9,#e8d8b8);color:#3a2a1a;font:500 25px/1.4 var(--hand);box-shadow:0 30px 80px -24px #ff5d8f73;display:grid;gap:14px}.her-letter .eyebrow{color:sienna;font-size:11px}.her-letter .sig{text-align:right;color:#b0304f;font-weight:700}.jar-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.jar-card{display:grid;gap:14px;align-content:start;padding:26px;border-radius:22px;background:#15132acc;border:1px solid rgba(255,255,255,.08)}.jar{font-size:72px;width:fit-content;transition:transform .2s;filter:drop-shadow(0 10px 24px rgba(245,200,107,.35))}.jar:hover{transform:rotate(-8deg) scale(1.08)}.show{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;overflow:hidden;background:#05040c;cursor:pointer;animation:fade .4s both}.show-bg{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background-size:cover;background-position:center;filter:blur(40px) brightness(.45) saturate(1.3);animation:fade 1s both}.show-frame{position:relative;padding:14px 14px 52px;background:#f6f1e7;border-radius:4px;box-shadow:0 40px 100px #000000b3;animation:polaroidIn 1s cubic-bezier(.2,.9,.3,1.2) both}.show-frame img{display:block;max-width:min(78vw,560px);max-height:66svh;object-fit:contain;animation:kenburns 5s ease-out both}.show-frame figcaption{position:absolute;bottom:12px;left:18px;font:700 26px var(--hand);color:#5a4630}.show-bubble{position:absolute;bottom:12svh;left:50%;translate:-50% 0;font-size:18px;max-width:min(440px,86vw);animation:bubbleIn .6s .6s both}.show-bubble.me{margin:0}.show-progress{position:absolute;top:80px;left:50%;translate:-50% 0;display:flex;gap:4px;width:min(600px,90vw)}.show-progress span{flex:1;height:3px;border-radius:3px;background:#fff3}.show-progress span.done{background:#fff}.show-progress span.now{background:linear-gradient(90deg,#fff 50%,#fff3 50%);background-size:200% 100%;animation:progress 4.8s linear both}.show-hint{position:absolute;bottom:20px;font:12px var(--mono);color:#ffffff80}@keyframes polaroidIn{0%{opacity:0;transform:translateY(60px) rotate(-12deg) scale(.8)}to{opacity:1;transform:rotate(var(--tilt))}}@keyframes kenburns{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:none}}@keyframes progress{0%{background-position:100% 0}to{background-position:0 0}}.vault-page{min-height:100svh}.vault-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse at 50% 20%,rgba(176,16,48,.55),transparent 60%),radial-gradient(ellipse at 50% 120%,rgba(120,0,30,.6),transparent 60%),#0d0306}.vault-lock{max-width:560px;margin:8vh auto 0;display:grid;justify-items:center;text-align:center;gap:16px}.vault-padlock{font-size:80px;filter:drop-shadow(0 0 30px rgba(255,23,68,.7));animation:float 3s ease-in-out infinite}.vault-hint{font-size:16px}.vault-form{width:100%}.vault-form button{background:linear-gradient(135deg,#ff1744,#b0104a)}.vault-wrong{font:600 14px var(--mono);color:#ff5d7a;animation:rise .4s both}.vault-head{text-align:center;justify-items:center}.vault-quote{max-width:640px;font-size:clamp(22px,3.6vw,32px);line-height:1.35;font-style:italic;color:#ffd6de}.vault-quote b{color:#ff1744;text-shadow:0 0 24px rgba(255,23,68,.8);font-style:normal}.vault-quote span{display:block;margin-top:10px;font:600 14px var(--mono);color:var(--gold);font-style:normal}.vault-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:34px;max-width:980px;margin:30px auto 0}.vault-frame{position:relative;cursor:zoom-in;padding:12px;border-radius:6px;background:linear-gradient(135deg,#f5c86b,#8a5a12,#f5c86b);box-shadow:0 0 60px -10px #ff174499,0 30px 60px -20px #000;animation:polaroidIn 1s cubic-bezier(.2,.9,.3,1.2) both;--tilt: 0deg;transition:transform .4s}.vault-frame:hover{transform:scale(1.03) rotate(-1deg)}.vault-frame img{display:block;width:100%;border-radius:3px}.vault-frame figcaption{position:absolute;left:50%;bottom:-16px;translate:-50% 0;white-space:nowrap;padding:6px 16px;border-radius:99px;font:700 20px var(--hand);background:#ff1744;color:#fff;box-shadow:0 6px 20px #ff174480}.vault-relock{display:block;margin:60px auto 0}.vault-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:20px;background:#050002eb;cursor:zoom-out;animation:fade .3s both}.vault-zoom img{max-width:100%;max-height:100%;border-radius:6px;animation:pop .35s both}@media (max-width: 1100px){.brand,.nav-label{display:none}.nav-links a{padding:10px 14px}.nav-icon{font-size:18px}}@media (max-width: 720px){.player{grid-template-columns:1fr}.timeline:before{left:8px}.moment{width:calc(100% - 30px);justify-self:end!important}.moment:after{left:-30px!important;right:auto!important}.moment.me .date-chip,.moment.me h3,.moment.me .moment-note{justify-self:start;text-align:left}.her-letter{padding:30px 22px;font-size:21px}.collage{columns:2 140px;column-gap:12px}}.goa{margin-bottom:110px}.goa-lede{margin:6px 0 30px;font-style:italic}.goa-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;grid-auto-flow:dense;gap:12px}.goa-tile{position:relative;overflow:hidden;border-radius:18px;background:#111;animation:rise .6s both}.goa-tile.big{grid-column:span 2;grid-row:span 2}.goa-tile img,.goa-tile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.goa-tile:hover img,.goa-tile:hover video{transform:scale(1.06)}.goa-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 55%,#000000b3);pointer-events:none}.goa-tile figcaption{position:absolute;left:14px;bottom:12px;z-index:1;font:700 22px var(--hand);color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}@media (max-width: 720px){.goa-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}}.puzzle-reveal{margin-top:18px;padding:16px;border-radius:16px;background:#0b141a;display:grid;gap:10px}.puzzle-reveal .bubble{max-width:100%}.unlock-meter{display:grid;gap:8px;max-width:560px;margin:-10px 0 50px;font:13px var(--mono);color:var(--muted)}.locked-section{display:grid;justify-items:center;gap:6px;text-align:center;margin-bottom:90px;padding:50px 20px;border-radius:24px;border:1px dashed rgba(245,200,107,.3);background:#15132a80}.locked-section .section-title{margin:0;filter:blur(1.5px);opacity:.7}.polaroid.locked{padding-bottom:34px}.polaroid-lock{aspect-ratio:3 / 4;display:grid;place-items:center;font-size:38px;border-radius:2px;background:repeating-linear-gradient(45deg,#e9e1d2 0,#e9e1d2 10px,#ded4c2 10px,#ded4c2 20px)}.polaroid.locked figcaption{font-size:15px}.moment.locked .bubble{filter:blur(.4px);opacity:.6;font-style:italic}.moment.locked:after{content:"🔒";font-size:13px}.site-footer{position:relative;z-index:1;text-align:center;padding:20px 16px 96px;font:12px var(--mono);color:#a49cb880}.secret-heart{color:inherit;font-size:12px;padding:4px;transition:color .3s,transform .3s}.secret-heart:hover{color:var(--rose);transform:scale(1.3)}.admin-badge{display:block;margin-top:6px;color:var(--gold)}.pinpad{display:grid;justify-items:center;gap:22px;padding:8px 0}.pin-dots{display:flex;gap:14px}.pin-dots span{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--muted);transition:all .15s}.pin-dots span.on{background:var(--gold);border-color:var(--gold);box-shadow:0 0 12px var(--gold)}.pin-keys{display:grid;grid-template-columns:repeat(3,64px);gap:12px}.pin-keys button{height:64px;border-radius:50%;font:600 22px var(--mono);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);transition:background .15s}.pin-keys button:hover{background:#f5c86b2e}.pin-keys button:active{transform:scale(.94)}.pin-keys button.blank{visibility:hidden}.admin-answer{margin-top:14px;font:600 13px var(--mono);color:var(--gold)}.game-full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;overflow:hidden;background:#1f5c36}.game-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.game-canvas{display:block;width:100vw;height:100vh;height:100svh;touch-action:none;cursor:crosshair}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:12px;text-align:center;padding:20px;background:#0806129e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .3s both}.game-overlay h2{font-size:clamp(30px,5vw,52px);font-weight:400;font-style:italic;line-height:1}.game-overlay p{max-width:420px;color:#ddd3ea}.game-faces{display:flex;align-items:center;gap:14px;font-size:26px}.game-faces img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5));animation:float 2s ease-in-out infinite}.game-faces img:last-child{animation-delay:.5s}@media (max-width: 600px){.game-faces img{width:54px;height:54px}}main.game-full,main.space-page{max-width:none;margin:0;padding:0}.game-overlay.dead{background:#3c00148c;pointer-events:none}.game-overlay.dead h2{color:#fff3d6;font-style:normal;font-weight:800;animation:pop .4s both}
