:root{--paper:#f7f0e6;--paper-2:#efe4d4;--card:#fffaf3;--ink:#2a211d;--muted:#7b6d63;--line:#e2d5c3;--peony:#e48aa4;--peony-soft:#f5cdd7;--peony-deep:#a63c60;--leaf:#5f7a57;--gold:#b88f47;--night:#15132a;--serif:"Literata", Georgia, serif;--sans:"Inter", system-ui, sans-serif}*{box-sizing:border-box}.language-switch{top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:50;border:1px solid var(--line);color:var(--ink);font:500 .75rem/1 var(--sans);background:#fffaf3f2;border-radius:999px;align-items:center;padding-inline:4px;display:flex;position:fixed}.language-switch button{opacity:.6;border-radius:50%;min-width:44px;min-height:44px}.language-switch button[aria-pressed=true]{opacity:1;color:var(--peony-deep);font-weight:600}html[lang=bg] .hero h1 .word{white-space:normal}html[lang=bg] .spine .title{font-size:.88rem}html{-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-wrap:break-word;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .32 0 0 0 .14 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), var(--paper);margin:0;overflow-x:clip}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible{outline:2px solid var(--peony-deep);outline-offset:4px;border-radius:6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;font-variation-settings:"opsz" 72;text-wrap:balance;margin:0;font-weight:340;line-height:1.05}h2{font-size:clamp(2.4rem,7vw,4.2rem)}h2 em,h1 em{color:var(--peony-deep);font-style:italic}.eyebrow{font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;display:block}.lede{color:var(--muted);text-wrap:pretty;max-width:36ch;margin:18px 0 0}.hint{color:var(--muted);letter-spacing:.02em;font-size:13px}.story{z-index:1;position:relative;overflow-x:clip}section.block{padding:clamp(80px,10vw,144px) 24px;position:relative}.wrap{width:min(760px,100%);min-width:0;margin-inline:auto}.wrap-narrow{max-width:640px}section.hero,section.sky{align-items:center;min-height:640px;display:flex}.hero .wrap{width:min(1100px,100%)}#cat>.wrap{position:relative}.sky-content{pointer-events:none;position:relative}.message-slot{display:grid}.message-option{visibility:hidden;grid-area:1/1;min-width:0}.message-option[data-active=true]{visibility:visible}.message-option>p{margin:0}.book-note .message-option>p{margin:8px auto 0}@media (width>=768px){section.hero,section.sky{min-height:800px}}.center{text-align:center}.center .lede{margin-inline:auto}.progress{background:var(--peony-deep);transform-origin:0;z-index:40;height:2px;position:fixed;top:0;left:0;right:0;scale:0 1}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.progress{animation:linear both scroll-progress;animation-timeline:scroll(root)}@keyframes scroll-progress{to{scale:1}}}}.petals{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.petal{will-change:transform;animation:linear infinite fall;position:absolute;top:-40px}.petal>span{animation:ease-in-out infinite alternate sway;display:block}.petal svg{display:block}@keyframes fall{to{transform:translateY(calc(100lvh + 80px))}}@keyframes sway{0%{transform:translate(-28px)rotate(-35deg)}to{transform:translate(28px)rotate(40deg)}}.bursts{pointer-events:none;z-index:45;position:fixed;inset:0;overflow:hidden}.burst{pointer-events:none;position:absolute}.stage{text-align:center;z-index:1;grid-template-columns:minmax(0,1fr);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}@supports (height:100lvh){.stage{min-height:100lvh}}.stage>div{min-width:0;max-width:100%}.envelope{aspect-ratio:1.5;width:min(360px,84vw);margin:110px auto 40px;position:relative}.env-back,.env-card,.env-pocket,.env-flap{position:absolute}.env-back{z-index:0;background:linear-gradient(#d9c1a9,#e6d2bd);border-radius:6px;inset:0}.env-card{z-index:1;background:var(--card);height:88%;font:italic 400 1.6rem/1 var(--serif);color:var(--peony-deep);border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;padding-top:14%;display:flex;top:6%;left:6%;right:6%;box-shadow:0 1px 2px #0000000d,0 8px 20px -10px #5a3a2a40}.env-card i{background:var(--line);width:40%;height:1px}.pocket-shade{border-radius:inherit;pointer-events:none;background:linear-gradient(#0000 45%,#c9ab8c33 75%,#c9ab8c66);position:absolute;inset:0}.env-pocket{z-index:2;border-radius:6px;inset:0}.env-pocket.left{clip-path:polygon(0 0,52% 54%,0 100%);background:#ecdcc9}.env-pocket.right{clip-path:polygon(100% 0,48% 54%,100% 100%);background:#e8d5c0}.env-pocket.bottom{clip-path:polygon(0 100%,50% 44%,100% 100%);filter:drop-shadow(0 -2px 3px #6b4a3022);background:linear-gradient(#f4e8da,#efe0cf)}.env-flap{z-index:5;height:58%;top:0;left:0;right:0}.flap-fold{transform-origin:50% 0;position:absolute;inset:0}.flap-out,.flap-in,.flap-shade{clip-path:polygon(0 0,100% 0,50% 100%);position:absolute;inset:0}.flap-out{background:linear-gradient(#e2c9ae,#dcc0a3)}.flap-in{background:linear-gradient(#ead9c6,#f3e7d9)}.flap-shade{background:#5a3a2a}.seal{z-index:6;border-radius:50%;width:60px;height:60px;margin:-30px 0 0 -30px;position:absolute;top:58%;left:50%}.seal:disabled{cursor:default}.seal-half{background:radial-gradient(circle at 35% 30%, #c4567a, var(--peony-deep) 60%, #7e2a48);color:#f7d9e2;font:italic 400 26px/60px var(--serif);text-align:center;border-radius:50%;position:absolute;inset:0;box-shadow:0 3px 8px #6b1f3c55,inset 0 0 0 4px #ffffff18}.seal-half.l{clip-path:polygon(0 0,54% 0,46% 50%,55% 100%,0 100%)}.seal-half.r{clip-path:polygon(54% 0,100% 0,100% 100%,55% 100%,46% 50%)}.env-ground{filter:blur(10px);z-index:-1;background:#5a3a2a;border-radius:50%;height:14px;position:absolute;bottom:-26px;left:10%;right:10%}.cake-wrap{width:min(340px,82vw);margin:24px auto 20px;position:relative}.cake-wrap svg{width:100%;height:auto;overflow:visible}.candle-hit{pointer-events:none}.candle-buttons{position:absolute;inset:0}.candle-button{border-radius:999px;width:12%;height:35%;position:absolute;top:7%;translate:-50%}.candle-button:disabled{cursor:default}.hero h1{font-size:clamp(3.4rem,13vw,8.5rem);font-weight:330}.word{white-space:nowrap;display:inline-block}.hero h1 .name{color:var(--peony-deep);font-style:italic;display:block}.hero .char{display:inline-block}.scroll-cue{font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);flex-direction:column;align-items:center;gap:12px;margin-top:56px;display:inline-flex}.mouse{border:1.5px solid var(--ink);border-radius:14px;justify-content:center;width:26px;height:42px;padding-top:8px;display:flex}.mouse i{background:var(--peony-deep);border-radius:2px;width:3px;height:8px}.bouquet{aspect-ratio:520/570;isolation:isolate;width:min(520px,100%);margin:32px auto 8px;position:relative}.bouquet-greenery,.bouquet-ribbon{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bouquet .flower{aspect-ratio:1;position:absolute}.flower-back-left{z-index:1;width:44%;top:2.6%;left:10.7%}.flower-back-right{z-index:1;width:43%;top:4.4%;left:45.8%}.flower-front-left{z-index:2;width:41%;top:24.6%;left:.7%}.flower-front-right{z-index:2;width:41%;top:24.6%;right:.7%}.flower-center{z-index:3;width:54%;top:15.8%;left:23%}.bouquet-ribbon{z-index:4}.flower svg{width:100%;height:auto;display:block;overflow:visible}.shelf{width:min(460px,100%);margin:56px auto 0}.books{justify-content:center;align-items:flex-end;gap:6px;padding:0 18px;display:flex}.spine{color:#fbf3ec;transform-origin:0 100%;background-image:linear-gradient(#0000 14px,#ffffff40 14px 16px,#0000 16px calc(100% - 18px),#ffffff40 calc(100% - 18px) calc(100% - 16px),#0000 calc(100% - 16px));border-radius:3px 3px 1px 1px;flex:0 clamp(44px,11vw,58px);justify-content:center;align-items:center;min-width:0;display:flex;box-shadow:inset 3px 0 #ffffff26,inset -4px 0 #0002,0 1px #00000014}.spine .title{writing-mode:vertical-rl;font:italic 400 1rem/1 var(--serif);letter-spacing:.02em;white-space:nowrap;transform:rotate(180deg)}.board{background:#c7ab86;border-radius:3px;height:14px;box-shadow:0 10px 18px -10px #5a3a2a88,inset 0 -3px #00000014}.book-note{min-height:120px;margin-top:32px}.book-note h3{color:var(--peony-deep);font-size:1.8rem;font-style:italic}.book-note p{color:var(--muted);max-width:34ch;margin:8px auto 0}.mystery{align-items:center;display:flex}.hunt-start{border:1px solid var(--line);background:var(--paper);min-height:50px;color:var(--ink);font:550 13px/1.2 var(--sans);letter-spacing:.02em;border-radius:999px;align-items:center;gap:12px;padding:7px 16px 7px 8px;transition:border-color .2s,translate .2s;display:inline-flex;box-shadow:0 10px 24px -18px #5a3a2a88}.hunt-start:hover{border-color:var(--peony);translate:0 -1px}.mystery-seal{background:radial-gradient(circle at 35% 30%, #c4567a, var(--peony-deep) 60%, #7e2a48);color:#f7d9e2;width:34px;height:34px;font:italic 400 19px/1 var(--serif);border-radius:50%;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 0 0 3px #ffffff18}.hunt-start-arrow{color:var(--peony-deep);font-size:18px;transition:translate .2s}.hunt-start:hover .hunt-start-arrow{translate:3px}.mystery-status{color:var(--muted);font:500 13px/1.5 var(--sans);align-items:center;gap:12px;display:flex}.hunt-star{color:#ffe3a3;filter:drop-shadow(0 0 10px #ffe3a3);z-index:2;margin:-14px;padding:14px;position:absolute;top:22%;left:16%}.clue-mark{z-index:3;pointer-events:auto;cursor:pointer;background:radial-gradient(circle at 35% 30%, #c4567a, var(--peony-deep) 60%, #7e2a48);color:#f7d9e2;width:34px;height:34px;font:italic 400 19px/34px var(--serif);text-align:center;writing-mode:horizontal-tb;border-radius:50%;position:absolute;box-shadow:0 3px 8px #6b1f3c55,inset 0 0 0 3px #ffffff18}.sky .clue-mark{box-shadow:0 0 0 2px #f3d9e3,0 0 20px #f3b8c9aa}.clue-ring{pointer-events:none;border:1.5px solid var(--peony-deep);border-radius:50%;position:absolute;inset:0}.spine,.cat,.flower{position:relative}.hike-art{margin-top:40px;position:relative}.hike .hike-art svg{margin-top:0}.flag-hit{width:56px;height:48px;position:absolute;top:6%;left:49%}.tracker{left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;background:var(--card);border:1px solid var(--line);border-radius:16px;width:min(440px,100vw - 32px);margin:0 auto;padding:16px 20px 14px;position:fixed;box-shadow:0 18px 40px -18px #5a3a2a66}.tracker-top{align-items:center;gap:12px;display:flex}.tracker-top .eyebrow{color:var(--peony-deep);margin:0}.dots{flex:1;gap:5px;display:flex}.dots i{background:var(--line);border-radius:50%;width:6px;height:6px}.dots i.done{background:var(--peony-deep)}.dots i.now{background:var(--peony);box-shadow:0 0 0 3px #e48aa433}.tracker-hide{min-height:44px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:6px 0 6px 8px}.tracker-clue{font-family:var(--serif);margin:10px 0 0;font-size:1.12rem;line-height:1.45}.tracker-foot{color:var(--muted);align-items:center;gap:6px;margin:10px 0 0;font-size:12px;display:flex}.mini-seal{background:var(--peony-deep);color:#f7d9e2;width:18px;height:18px;font:italic 400 11px/1 var(--serif);border-radius:50%;place-items:center;display:inline-grid}.tracker-seal{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;background:radial-gradient(circle at 35% 30%, #c4567a, var(--peony-deep) 60%, #7e2a48);color:#f7d9e2;width:56px;height:56px;font:italic 400 15px/1 var(--serif);border-radius:50%;position:fixed;box-shadow:0 6px 14px #6b1f3c55}.reveal-dialog{width:min(460px,100% - 32px);max-width:none;color:var(--ink);background:0 0;border:0;padding:0;overflow:visible}.reveal-dialog:modal{overscroll-behavior:contain}.reveal-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2a211d66}.reveal-card{background:var(--card);text-align:center;border-radius:20px;width:100%;padding:44px 28px;box-shadow:0 40px 80px -30px #000a}.reveal-title{margin-bottom:18px;font-size:clamp(2rem,8vw,3.2rem)}.reveal-lead{font-family:var(--serif);color:var(--muted);margin:0;font-size:1.2rem}.initials{font:italic 380 clamp(4rem, 18vw, 6.5rem)/1.1 var(--serif);font-variation-settings:"opsz" 72;color:var(--peony-deep);margin:16px 0 8px}.initials span{display:inline-block}.credits{gap:22px;margin:8px auto 72px;display:grid}.credits>div{grid-template-columns:1fr 1fr;align-items:baseline;gap:24px;display:grid}.credits dt{text-align:right;font:500 11px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.credits dd{text-align:left;font-family:var(--serif);margin:0;font-size:1.3rem;line-height:1.35}@media (width<=560px){.credits>div{grid-template-columns:1fr;gap:4px}.credits dt,.credits dd{text-align:center}}.hike svg{border-radius:18px;width:100%;height:auto;margin-top:40px;display:block}.hike-caption{font-family:var(--serif);min-height:2em;margin-top:20px;font-size:1.35rem;font-style:italic}.deck{isolation:isolate;width:min(380px,100% - 24px);height:520px;margin:44px auto 0;position:relative}.wish-backing{border:1px solid var(--line);background:#eee1d0;border-radius:20px;position:absolute;inset:0}.wish-backing-far{transform:translateY(12px)rotate(-5deg)scale(.96)}.wish-backing-near{background:#f6e9db;transform:translateY(6px)rotate(3deg)scale(.98)}.wish-card{text-align:left;z-index:1;background:var(--paper-2);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;border:1px solid #fff5;border-radius:20px;position:absolute;inset:0;overflow:hidden;box-shadow:0 24px 48px -24px #2a211d99}.wish-card:active{cursor:grabbing}.wish-card:focus-visible{outline:2px solid var(--peony-deep);outline-offset:6px}.wish-photo{background:var(--paper-2);position:absolute;inset:0;overflow:hidden}.wish-photo img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.wish-caption{color:#fffaf3;background:linear-gradient(#17101900 0%,#17101918 24%,#17101985 58%,#171019e8 100%);padding:150px 26px 28px;position:absolute;bottom:0;left:0;right:0}.wish-caption:before{content:"";z-index:0;pointer-events:none;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 72%);mask-image:linear-gradient(#0000 0%,#000 72%)}.wish-caption>*{z-index:1;position:relative}.wish-card h3{color:#fffaf3;letter-spacing:-.02em;text-shadow:0 2px 16px #0008;font-size:clamp(1.8rem,7vw,2.25rem);font-style:italic}.wish-card p{color:#f7ece9;text-shadow:0 1px 10px #000a;max-width:31ch;margin:10px 0 0;font-size:.95rem;line-height:1.55}.wish-controls{justify-content:center;align-items:center;gap:22px;margin-top:38px;display:flex}.wish-arrow{border:1px solid var(--line);background:var(--card);border-radius:50%;width:44px;height:44px;font-size:22px;line-height:1}.wish-arrow:hover{border-color:var(--peony-deep);color:var(--peony-deep)}.wish-dots{align-items:center;display:flex}.wish-dots button{place-items:center;width:24px;height:44px;display:grid}.wish-dots button:after{content:"";background:var(--line);border-radius:50%;width:6px;height:6px}.wish-dots button[aria-current=true]:after{background:var(--peony-deep);box-shadow:0 0 0 4px #e48aa422}@media (width<=360px){.deck{height:480px}.wish-caption{padding-inline:20px}.wish-controls{gap:12px}}.scratch{aspect-ratio:1.8;background:var(--card);border:1px solid var(--line);border-radius:14px;width:min(420px,100%);min-height:200px;margin:44px auto 0;display:grid;position:relative;overflow:hidden}.scratch .prize{text-align:center;place-content:center;padding:24px;display:grid;position:relative}.scratch .prize h3{color:var(--peony-deep);font-size:2rem;font-style:italic}.scratch .prize p{color:var(--muted);margin:8px 0 0}.scratch canvas{touch-action:none;cursor:grab;width:100%;height:100%;position:absolute;inset:0}.scratch:focus-visible{outline:2px solid var(--peony-deep);outline-offset:6px}.cat{width:min(220px,56vw);margin:36px auto 8px;display:block}.cat svg{width:100%;height:auto;overflow:visible}.cat-head{transform-box:view-box;transform-origin:100px 104px;transition:transform .5s}.cat-head-looking-up{animation:.85s both cat-look-up;transform:translateY(-13px)scale(1.04)}.cat-eyes{transform-box:fill-box;transform-origin:50%;animation:4s infinite cat-blink}.cat-head-looking-up .cat-eyes{animation:none}.cat-pupils{transition:transform .45s}.cat-head-looking-up .cat-pupils{transition-delay:.2s;transform:translateY(-4px)}@keyframes cat-look-up{0%{transform:translateY(0)scale(1)}62%{transform:translateY(-19px)scale(1.06)}to{transform:translateY(-13px)scale(1.04)}}@keyframes cat-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.purr{font-family:var(--serif);color:var(--peony-deep);pointer-events:none;font-size:1.2rem;font-style:italic;position:absolute}.cat-count{font-family:var(--serif);min-height:1.6em;font-size:1.3rem;font-style:italic}section.sky{background:var(--night);color:#efe8ff;cursor:crosshair;overflow:hidden}section.sky .eyebrow,section.sky .lede,section.sky .hint{color:#a59fc6}section.sky h2 em{color:#f3b8c9}.star{pointer-events:none;background:#fff;border-radius:50%;animation:ease-in-out infinite alternate twinkle;position:absolute}@keyframes twinkle{0%{opacity:.15}to{opacity:.9}}.shooting{pointer-events:none;background:linear-gradient(90deg,#fff,#0000);width:140px;height:1px;position:absolute;transform:rotate(-24deg)}.placed{pointer-events:none;color:#ffe3a3;position:absolute}.sky-wish{font-family:var(--serif);color:#f3d9e3;min-height:1.6em;margin-top:28px;font-size:1.5rem;font-style:italic}.letter{background:var(--card);border:1px solid var(--line);font-family:var(--serif);border-radius:4px;padding:clamp(32px,7vw,72px);font-size:clamp(1.15rem,2.6vw,1.35rem);font-weight:340;line-height:1.6;box-shadow:0 30px 60px -30px #5a3a2a40}.letter p{margin:0 0 1.1em}.letter .sign{color:var(--peony-deep);margin:0;font-size:1.8em;font-style:italic}.finale h2{font-size:clamp(3rem,11vw,7rem);font-weight:330}.again{min-height:44px;font:500 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid;margin-top:24px;padding:10px 2px 4px}@media (prefers-reduced-motion:reduce){.cat-head,.cat-pupils{transition:none}.cat-head-looking-up,.cat-eyes{animation:none}html{scroll-behavior:auto}.petal,.petal>span,.star,.progress{animation:none}.petals{display:none}}.single-section>section.hero{min-height:100svh;padding:max(64px, env(safe-area-inset-top)) 20px max(16px, env(safe-area-inset-bottom))}.single-section .hero h1{white-space:nowrap;font-size:clamp(2rem,min(7vw,7svh),4rem)}.single-section .hero h1 .name{display:inline}.hero .dedication-message{max-width:46ch;margin-top:0;font-size:clamp(14px,2svh,17px);line-height:1.5}.hero .dedication-note{text-wrap:pretty;max-width:48ch;margin:8px auto 0;font-size:12px;line-height:1.5}.single-section .bouquet{width:auto;max-width:100%;height:clamp(120px,100svh - 380px,470px);margin:12px auto 0}@media (height<=500px) and (width>=600px){.single-section .hero .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:24px;display:grid}.single-section .dedication-card{align-self:center;margin-top:0}.single-section .bouquet{grid-area:1/2;height:calc(100svh - 92px);margin:0 auto}}.dedication-card{border:1px solid var(--line);background:var(--card);border-radius:12px;width:min(520px,100%);margin:16px auto 0;padding:clamp(16px,2.5svh,24px);box-shadow:0 6px 24px #2a211d0a}.dedication-card .dedication-note{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.dedication-card h1{margin-bottom:16px}
