@import"https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600;1,700&display=swap";:root{font-family:DM Sans,sans-serif;color:#2a1b3d;background:#fff8f0;font-synthesis:none;--pink: #ffd6e8;--rose: #ff6fa5;--plum: #2a1b3d;--cream: #fff8f0;--lav: #e6d9ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer;border:0}em{font-family:Playfair Display,serif;font-weight:600}.gate{min-height:100dvh;background:radial-gradient(circle at 50% 20%,#fff 0,#fff8f0 45%,#ffe8ef);display:grid;place-items:center;position:relative;padding:32px 20px;overflow:hidden}.gate-shell{width:min(410px,100%);position:relative;text-align:center}.gate-kicker,.eyebrow,.section-number{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#b27693;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.door-panel{height:238px;width:180px;background:linear-gradient(145deg,#ffbfdc,#ff8fbe);border:8px solid #fff4f5;border-bottom:0;border-radius:90px 90px 0 0;margin:20px auto -1px;position:relative;box-shadow:0 12px 40px #d985a844;z-index:2;display:grid;place-items:center;transition:.3s}.door-stars{position:absolute;top:24px;color:#fff;letter-spacing:8px;font-size:13px}.keyhole{width:63px;height:63px;border:2px solid #fff8f0aa;border-radius:50%;display:grid;place-items:center;color:#fff}.door-handle{position:absolute;width:8px;height:8px;background:#fff8f0;border-radius:50%;right:27px;top:123px}.gate-copy{background:#fff;border-radius:34px;padding:31px 25px 27px;box-shadow:0 16px 55px #b96c8420}.gate-copy h1{font-size:38px;line-height:1.04;margin:10px 0;color:var(--plum);letter-spacing:-.04em}.gate-copy h1 em{color:var(--rose)}.gate-subtitle{color:#8e7788;font-size:14px;line-height:1.5;margin:0 auto 21px;max-width:260px}form{display:grid;gap:9px;text-align:left}form label{font-size:11px;font-weight:700;color:#9d8191;text-transform:uppercase;letter-spacing:.1em}input,textarea{border:1px solid #f1d8e2;background:#fffafc;border-radius:13px;padding:13px 15px;outline:none;color:var(--plum);transition:.2s}input:focus,textarea:focus{border-color:var(--rose);box-shadow:0 0 0 4px #ff6fa522}.primary-button{background:var(--plum);color:#fff;border-radius:14px;padding:13px 16px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;margin-top:3px;transition:.2s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2a1b3d33}.error-message{font-size:12px;color:#c75579;margin:12px 0 0}.gate-footer{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:16px;color:#382e33}.gate-footer span{color:var(--rose)}.floating-cloud{position:absolute;color:#fff;opacity:.65}.cloud-one{top:12%;left:5%}.cloud-two{right:4%;bottom:14%}.cloud-one svg{width:90px;height:90px}.cloud-two svg{width:130px;height:130px}.app-shell{min-height:100dvh;background:var(--cream)}.main-page{opacity:1}.music-pill{position:fixed;z-index:20;right:22px;bottom:22px;background:#2a1b3de8;color:#fff;border:1px solid #ff9fca99;border-radius:30px;padding:10px 14px;display:flex;align-items:center;gap:9px;box-shadow:0 8px 28px #2a1b3d33;font-size:11px}.music-divider{height:16px;width:1px;background:#ffffff40}.equalizer{display:flex;align-items:center;gap:2px;height:15px}.bar{width:3px;height:6px;border-radius:2px;background:#ff8db8}.bar.active{animation:bars .8s ease-in-out infinite alternate}.bar:nth-child(2){animation-delay:.2s}.bar:nth-child(3){animation-delay:.4s}.bar:nth-child(4){animation-delay:.1s}@keyframes bars{to{height:15px}}.section-wrap{max-width:1060px;margin:auto;padding:108px 30px}.hero{min-height:100dvh;display:flex;align-items:center;justify-content:space-between;position:relative;gap:50px;padding-top:70px}.hero-copy{max-width:540px;position:relative;z-index:2}.hero-copy .eyebrow{justify-content:flex-start}.hero h1{font-size:clamp(54px,8vw,95px);line-height:.98;letter-spacing:-.07em;margin:20px 0 25px}.hero h1 em{color:var(--rose)}.hero h1 span{font-family:inherit;color:#f6bf55;font-size:.55em;vertical-align:top}.hero-lede{font-size:18px;color:#8e7788;max-width:370px;line-height:1.6}.scroll-cue{display:flex;align-items:center;gap:8px;margin-top:48px;color:var(--plum);font-size:12px;font-weight:700;text-decoration:none}.orb-wrap{position:relative;min-width:380px;text-align:center}.orb{width:310px;height:310px;border-radius:50%;margin:auto;background:radial-gradient(circle at 30% 23%,#fff 0,#e6d9ff 28%,#bb9de6 58%,#8d70c3);box-shadow:inset -22px -24px 40px #5b408c55,0 30px 60px #a888c944;position:relative;animation:float 5s ease-in-out infinite}.orb:before,.orb:after{content:"";position:absolute;border-radius:50%;border:1px solid #fff9;width:390px;height:390px;left:-40px;top:-40px;transform:rotate(35deg)}.orb:after{width:340px;height:430px;left:-15px;top:-60px;transform:rotate(-30deg)}.orb-shine{width:80px;height:35px;background:#fff8;border-radius:50%;position:absolute;top:52px;left:65px;transform:rotate(-35deg);filter:blur(8px)}.orb span{position:absolute;color:#fff;font-size:28px;z-index:2}.orb span:first-of-type{right:57px;top:70px}.orb span:last-of-type{left:66px;bottom:60px;font-size:18px}.orb-caption{margin-top:48px;padding-top:20px;color:#a387a7;font-size:18px;display:flex;justify-content:center;align-items:center;gap:6px}@keyframes float{50%{transform:translateY(-13px) rotate(3deg)}}.hero-cloud{position:absolute;color:#fff;opacity:.7}.hero-cloud svg{width:100px;height:100px}.cloud-a{top:14%;right:11%}.cloud-b{bottom:9%;left:4%}.section-heading{max-width:590px}.section-heading h2,.game-copy h2,.say-hi h2,.final-note h2{font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.06em;margin:15px 0}.section-heading h2 em,.game-copy h2 em,.say-hi h2 em,.final-note h2 em{color:var(--rose)}.section-heading p,.game-copy p,.say-hi p{color:#8e7788;line-height:1.6}.exam-section{background:#fff;border-radius:50px;margin:0 auto 50px;box-shadow:0 20px 60px #c8839a12}.care-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;margin-top:43px}.note-card,.pomodoro-card{border-radius:24px;min-height:210px;padding:30px;position:relative}.pink-note{background:#ffe0cc;transform:rotate(-2deg);box-shadow:5px 8px #f7c7ad}.tape{position:absolute;top:-12px;left:35%;width:95px;height:24px;background:#ffedf1aa;transform:rotate(4deg)}.pink-note p{font-family:Caveat;font-size:28px;line-height:1.1;max-width:430px;margin:22px 0 17px}.note-sign{font-family:Caveat;font-size:18px}.pomodoro-card{background:#e6d9ff;display:flex;align-items:center;gap:17px}.bunny{font-size:60px;filter:drop-shadow(0 6px 0 #bca3e0)}.card-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#876aa9;font-weight:700}.pomodoro-card strong{font-size:56px;letter-spacing:-.07em;display:block}.pomodoro-card small{font-size:24px;color:#8c73aa}.text-button{background:none;color:#71578e;padding:0;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700}.reminder-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.reminder-row>span{background:#fff8f0;border-radius:30px;padding:10px 14px;color:#806d79;font-size:12px}.chip-icon{margin-right:5px}.gallery-section{padding-bottom:70px}.polaroids{display:flex;justify-content:center;gap:18px;margin-top:50px;align-items:center}.polaroid{background:#fff;padding:13px 13px 18px;width:29%;box-shadow:0 15px 28px #a87f9130;transition:.3s}.polaroid:hover{transform:translateY(-12px) rotate(0)}.polaroid p{font-family:Caveat;font-size:19px;margin:12px 4px 0}.tilt-left{transform:rotate(-7deg)}.tilt-right{transform:rotate(6deg)}.featured{transform:translateY(-16px)}.photo{height:180px;display:grid;place-items:center;font-size:54px;position:relative}.photo span{position:absolute;font-size:22px;right:25%;top:20%}.photo-sky{background:#d7e9f4}.photo-flower{background:#ffd6e8}.photo-sun{background:#ffe0cc}.compliment-section{max-width:none;background:#2a1b3d;color:#fff;margin:0;padding-left:max(30px,calc((100vw - 1000px)/2));padding-right:max(30px,calc((100vw - 1000px)/2))}.compliment-section .section-number{color:#d5b9eb;justify-content:flex-start}.compliment-section h2{font-size:clamp(34px,5vw,56px);letter-spacing:-.06em}.compliment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.compliment-card{border:1px solid #ffffff24;background:#ffffff0b;border-radius:22px;padding:25px;min-height:225px;transition:.25s}.compliment-card:hover{background:#ffffff17;transform:translateY(-7px)}.compliment-card>span{color:#d9bce9;font-size:12px}.compliment-card svg{float:right;color:#ff8eb9}.compliment-card h3{font-size:21px;margin:43px 0 10px}.compliment-card p{color:#cfbed6;line-height:1.55;font-size:14px}.games-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.stars-count{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #f2dce6;border-radius:30px;padding:11px 15px;color:#946e83;font-size:12px;margin-top:18px}.stars-count svg{color:#f5bb48}.game-card{background:#fff;border-radius:26px;padding:18px;box-shadow:0 16px 40px #b9788c20}.game-top{display:flex;gap:9px;align-items:center;color:#8a6c85;font-size:12px;font-weight:700;padding:5px 4px 14px}.game-top svg{color:var(--rose)}.game-score{margin-left:auto}.night-sky{height:260px;border-radius:18px;background:radial-gradient(circle at 40% 40%,#5d3c86,#2a1b3d 70%);position:relative;overflow:hidden}.catch-star,.wish-star{background:none;color:#ffe8a8;position:absolute;animation:twinkle 1.7s ease-in-out infinite alternate;font-size:17px;transition:.2s}.catch-star:hover,.wish-star:hover{color:#fff;transform:scale(1.7)}.s0{top:18%;left:19%}.s1{top:28%;left:47%}.s2{top:72%;left:77%}.s3{top:57%;left:29%}.s4{top:40%;left:81%}.s5{top:78%;left:55%}.s6{top:15%;left:72%}.s7{top:64%;left:9%}.s8{top:36%;left:33%}.s9{top:82%;left:20%}.s10{top:20%;left:57%}.s11{top:49%;left:63%}.s12{top:69%;left:43%}.s13{top:11%;left:9%}@keyframes twinkle{to{opacity:.35;transform:scale(.7)}}.game-card>p{font-size:12px;color:#9a8390;margin:13px 4px 3px}.caught{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:700;background:#2a1b3d66;animation:fade .5s}@keyframes fade{0%{opacity:0}}.wish-section{background:#2a1b3d;color:#fff;min-height:600px;position:relative;overflow:hidden}.wish-inner{max-width:1060px;margin:auto;padding:100px 30px;position:relative;min-height:600px}.wish-section .section-number{justify-content:flex-start;color:#d5b9eb}.wish-section h2{font-size:clamp(35px,5vw,58px);letter-spacing:-.06em}.wish-section h2 em{color:#ff9fc4}.wish-section p{color:#cdbbd6}.wish-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.wish-star{pointer-events:auto;font-size:24px;animation:twinkle 2s ease-in-out infinite alternate}.say-hi{display:grid;grid-template-columns:180px 1fr;gap:55px;align-items:center}.postbox{height:185px;border-radius:28px;background:#ffbfd9;position:relative;display:grid;place-items:center;color:#fff;box-shadow:inset 0 -12px #ed95b7}.postbox-slot{position:absolute;top:54px;width:90px;height:9px;background:#d67da3;border-radius:9px}.say-hi form{max-width:520px}.say-hi textarea{min-height:105px;resize:vertical}.sent-message{display:flex;gap:8px;align-items:center;color:#5e9d7b;background:#d4f5e9;border-radius:14px;padding:13px 15px;font-size:13px;max-width:520px}.final-note{text-align:center;padding-top:55px;padding-bottom:100px;border-top:1px solid #f1dde4}.final-note>svg{color:var(--rose);margin-top:10px}.confetti{font-size:16px;color:#f1bb63;letter-spacing:8px;margin-bottom:12px}.final-note h2{margin-bottom:13px}.final-note p{max-width:520px;margin:auto;color:#8e7788;line-height:1.6}.footer-line{margin-top:38px;display:flex;justify-content:center;align-items:center;gap:10px;color:#b497a6;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.footer-line svg{color:var(--rose)}@media(max-width:760px){.gate{padding:20px 16px}.gate-copy h1{font-size:34px}.hero{display:block;padding-top:120px;min-height:920px}.hero h1{font-size:61px}.hero-lede{font-size:16px}.orb-wrap{min-width:0;margin-top:55px}.orb{width:245px;height:245px}.orb:before{width:310px;height:310px;left:-33px;top:-33px}.orb:after{width:275px;height:350px;left:-15px;top:-50px}.section-wrap{padding:80px 20px}.exam-section{border-radius:30px;margin:0 10px 30px}.care-grid,.games-section,.say-hi{grid-template-columns:1fr;gap:25px}.polaroids{gap:7px}.polaroid{width:33%;padding:8px 8px 13px}.photo{height:110px;font-size:34px}.polaroid p{font-size:15px}.featured{transform:translateY(-8px)}.compliment-section{padding-left:20px;padding-right:20px}.compliment-grid{grid-template-columns:1fr;gap:12px}.compliment-card{min-height:0}.compliment-card h3{margin-top:23px}.wish-inner{padding:80px 20px}.wish-stars{opacity:.8}.say-hi{padding-top:90px}.postbox{height:145px;width:145px}.music-pill{right:50%;transform:translate(50%);bottom:14px;white-space:nowrap}.final-note{padding-bottom:130px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.music-pill{padding:8px 11px;gap:8px}.music-action,.reset-button{background:transparent;color:inherit;display:grid;place-items:center;padding:3px;border-radius:50%}.music-action:hover,.reset-button:hover{background:#fff2}.volume-slider{width:86px;min-width:86px;height:18px;margin:0;accent-color:#ff8db8;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.volume-slider::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(90deg,#ff8db8 0%,#ff8db8 var(--volume-fill, 55%),#ffffff44 var(--volume-fill, 55%),#ffffff44 100%)}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border:2px solid #fff;border-radius:50%;background:#ff8db8;box-shadow:0 0 0 2px #ff8db844}.volume-slider::-moz-range-track{height:4px;border-radius:99px;background:#fff4}.volume-slider::-moz-range-progress{height:4px;border-radius:99px;background:#ff8db8}.volume-slider::-moz-range-thumb{width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#ff8db8}.hero-actions{display:flex;align-items:center;gap:18px}.hero-note{color:#c39bac;font-family:Caveat;font-size:17px}.hero-sparkles{position:absolute;bottom:15%;right:3%;color:#eab2c8;letter-spacing:16px;animation:drift 8s linear infinite}.interactive-orb{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .18s ease-out;cursor:crosshair}.orb-ring{position:absolute;top:30px;right:30px;bottom:30px;left:30px;border:1px dashed #ffffffaa;border-radius:50%;animation:spin 15s linear infinite}.orb-bubble{left:50%!important;top:44%!important;transform:translate(-50%,-50%);font-family:Caveat;font-size:24px!important;text-align:center;opacity:0;transition:.3s}.interactive-orb:hover .orb-bubble{opacity:1}.note-stamp{position:absolute;right:24px;bottom:25px;border:2px solid #e68e9d;border-radius:50%;color:#d67c91;transform:rotate(12deg);font-size:10px;font-weight:800;text-align:center;padding:9px 5px;line-height:1}.timer-content{flex:1}.timer-track{height:5px;background:#d2bee9;border-radius:8px;margin:6px 0 11px;overflow:hidden}.timer-track i{height:100%;display:block;background:#ff6fa5;border-radius:8px;transition:width 1s linear}.timer-actions{display:flex;align-items:center;justify-content:space-between}.bunny-hop{animation:bunny-hop .65s ease-in-out infinite alternate}.reset-button{color:#71578e}.gallery-section{position:relative}.polaroids{perspective:1000px}.polaroid{border:0;cursor:pointer;text-align:left;position:relative}.tilt-center{transform:translateY(-16px)}.polaroid:hover,.polaroid:focus-visible{z-index:2}.photo{overflow:hidden;border-radius:2px}.photo-front,.photo-back{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;transition:.6s;backface-visibility:hidden}.photo-front{background:linear-gradient(135deg,#d9c8ef,#ffdae8);color:#785776;font-size:13px;font-family:Caveat}.photo-back{font-size:62px;transform:rotateY(180deg);background:#fff5fa}.photo-back b{position:absolute;color:#ff6fa5;font-size:22px;right:24%;top:20%}.photo-revealed .photo-front{transform:rotateY(-180deg)}.photo-revealed .photo-back{transform:rotateY(0)}.polaroid small{display:block;color:#b497a6;font-size:10px;margin:7px 4px 0}.gallery-ribbon{width:-moz-max-content;width:max-content;margin:30px auto 0;color:#b38298;font-family:Caveat;font-size:19px}.gallery-ribbon strong{color:var(--rose);margin-left:7px}.compliment-section .section-muted{color:#bfaecb}.compliment-card{border:0;text-align:left;color:#fff;cursor:pointer;padding:0;min-height:250px;perspective:900px;background:transparent;position:relative}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;padding:25px;border:1px solid #ffffff24;border-radius:22px;background:#ffffff0b;backface-visibility:hidden;transition:transform .65s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}.card-back{transform:rotateY(180deg);background:linear-gradient(145deg,#5b3b73,#352043);display:flex;flex-direction:column;justify-content:center}.compliment-card.is-flipped .card-front{transform:rotateY(-180deg)}.compliment-card.is-flipped .card-back{transform:rotateY(0)}.card-face>span:first-child{color:#d9bce9;font-size:12px}.card-face svg{float:right;color:#ff8eb9}.card-orbit{margin:38px auto 0;width:58px;height:58px;border:1px dashed #ff9fc466;border-radius:50%;display:grid;place-items:center;color:#ff9fc4;animation:spin 10s linear infinite}.card-face h3{font-size:20px;margin:18px 0 8px}.card-face p{color:#cfbed6;line-height:1.55;font-size:13px}.card-back h3{color:#ffabc8}.card-back svg{float:none;color:#ffd47e}.card-back span{font-family:Caveat;color:#d9bce9;font-size:17px}.game-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px}.game-tabs button{border:1px solid #f1d8e2;background:#fff8f0;color:#9a7588;border-radius:30px;padding:8px 11px;font-size:11px}.game-tabs button.active{background:#2a1b3d;color:#fff}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:linear-gradient(135deg,#ffe6ef,#e7dcff);border-radius:18px;padding:20px}.memory-card{height:72px;border-radius:13px;background:#fff;color:#ff6fa5;font-size:25px;box-shadow:0 6px #d9b9d8;transition:.25s;transform-style:preserve-3d}.memory-card.show{background:#fff8f0;transform:rotateY(180deg)}.quiz-box{text-align:center;background:linear-gradient(145deg,#fff1f7,#ece3ff);border-radius:18px;padding:24px 18px;min-height:260px}.quiz-bunny{font-size:42px;animation:bunny-hop 1s ease-in-out infinite alternate}.quiz-box h3{margin:7px 0 14px}.quiz-options{display:grid;gap:7px}.quiz-options button{background:#fff;color:#715774;border-radius:11px;padding:10px;text-align:left;display:flex;justify-content:space-between;font-size:12px}.quiz-options button.chosen{background:#ff6fa5;color:#fff}.quiz-result{font-family:Caveat;font-size:19px;color:#8b5a85}.wish-copy{position:relative;z-index:3}.wish-letter{width:min(310px,100%);margin-top:24px;padding:17px 19px;background:#fff8f0;color:#2a1b3d;border-radius:17px;box-shadow:0 15px 35px #0f081722;transform-origin:top;transition:.5s;position:relative}.wish-letter:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffd6e8;clip-path:polygon(0 0,50% 50%,100% 0);opacity:.7;pointer-events:none}.wish-letter.opened{transform:rotateX(8deg) translateY(-4px)}.letter-seal{position:absolute;right:13px;top:13px;color:#ff6fa5;z-index:1}.wish-letter p{min-height:42px;position:relative;z-index:1;margin:7px 0 13px;color:#735d76;font-family:Caveat;font-size:22px}.wish-letter button{position:relative;z-index:1;background:#2a1b3d;color:#fff;border-radius:9px;padding:8px 10px;font-size:11px}.constellation-line{position:absolute;width:55%;height:40%;right:3%;top:25%;border:1px dashed #f8dca044;border-radius:50%;transform:rotate(-18deg)}.wish-star{z-index:2;transition:.3s}.wish-star.selected{color:#ff9cc5;text-shadow:0 0 18px #ff8bb5;transform:scale(1.7)}.shooting-star{position:absolute;right:12%;top:25%;color:#ffe8a8;animation:shoot 5s ease-in-out infinite}.postbox{transform:rotate(-3deg);transition:.3s}.postbox:hover{transform:rotate(3deg) translateY(-8px)}.postbox-flower{position:absolute;top:-20px;right:-20px;color:#ff8eb5;font-size:35px;animation:float 3s ease-in-out infinite}.sent-message{animation:pop-in .5s ease-out}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bunny-hop{to{transform:translateY(-8px) rotate(4deg)}}@keyframes drift{50%{transform:translate(25px) translateY(-12px)}}@keyframes shoot{0%,55%{transform:translate(0);opacity:0}65%{opacity:1}90%,to{transform:translate(-100px,80px);opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:760px){.hero-actions{align-items:flex-start;flex-direction:column;gap:9px}.hero-sparkles{right:-20px;bottom:31%}.volume-slider{width:45px}.music-status{display:none}.music-pill{right:50%;transform:translate(50%);bottom:14px}.polaroids{gap:7px}.polaroid{width:33%}.tilt-center{transform:translateY(-8px)}.photo-front{font-size:10px}.photo-back{font-size:37px}.gallery-ribbon{font-size:16px}.compliment-card{min-height:260px}.constellation-line{width:90%;right:-10%;top:36%;height:45%}.wish-inner{min-height:700px}.wish-letter{margin-top:18px}.note-stamp{right:15px}.postbox{margin:auto}}@keyframes petal-fall{0%{transform:translate3d(0,-40px,0) rotate(0);opacity:0}12%{opacity:.55}50%{transform:translate3d(28px,50vh,0) rotate(180deg)}to{transform:translate3d(-18px,110vh,0) rotate(360deg);opacity:0}}.world-hero{max-width:none;padding-left:max(30px,7vw);padding-right:max(30px,7vw);background:linear-gradient(145deg,#f7b19c,#f6c6bd 45%,#d9bce3);overflow:hidden}.world-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#fff3 1px,transparent 1px);background-size:50px 50px;opacity:.18}.world-hero .hero-copy{z-index:3;max-width:570px}.world-hero h1{font-size:clamp(64px,10vw,145px);line-height:.83;color:#15130f;letter-spacing:-.08em}.world-hero h1 em{color:#d9663f;font-weight:300}.world-stage{position:relative;width:min(52vw,650px);height:500px;transform:rotate(-5deg);filter:drop-shadow(0 28px 22px #714b5c40);z-index:2}.world-sun{position:absolute;width:150px;height:150px;border-radius:50%;background:#ffeeb8;right:13%;top:8%;box-shadow:0 0 0 18px #ffeeb822}.world-island{position:absolute;background:#9cbd92;border-radius:50%;height:105px;width:210px;box-shadow:0 25px #66835b;transform:rotate(-7deg)}.island-one{left:3%;top:15%}.island-two{right:4%;top:43%;width:180px;height:85px}.world-island i{position:absolute;width:25px;height:55px;background:#f8e6d2;border-radius:50% 50% 40% 40%;bottom:55px;box-shadow:35px 7px #85a979,70px -4px #a9c790}.world-road{position:absolute;left:25%;top:29%;width:440px;height:235px;transform:rotate(22deg);display:grid;grid-template-columns:repeat(5,1fr);gap:4px;align-items:end}.world-road b{height:60px;background:#fff;border-radius:9px;box-shadow:0 7px #dad8d3}.world-road b:nth-child(2){height:85px}.world-road b:nth-child(3){height:115px}.world-road b:nth-child(4){height:150px}.world-road b:nth-child(5){height:190px}.world-marble{position:absolute;right:30%;bottom:9%;height:70px;width:70px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#fff5b8,#f0a26e 60%,#d9663f);color:#fff;font-size:25px;box-shadow:0 14px #b46659;animation:marble-roll 5s ease-in-out infinite}.world-label{position:absolute;left:0;top:66%;font:11px monospace;letter-spacing:.14em;color:#714d58}.libraries-section{background:#e8d8ec;max-width:none;padding-left:max(30px,calc((100vw - 1060px)/2));padding-right:max(30px,calc((100vw - 1060px)/2))}.libraries-panel{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;margin-top:35px}.library-list,.spotify-search{background:#fffaf6;border-radius:22px;padding:18px}.library-list{display:grid;gap:7px}.library-list>button{display:flex;justify-content:space-between;text-align:left;background:#f4eaf3;border-radius:11px;padding:11px;color:#684e6c;font-size:12px}.library-list>button.selected{background:#2a1b3d;color:#fff}.library-list small{opacity:.65}.new-library{display:flex;gap:5px;margin-top:7px}.new-library input,.search-row input{min-width:0;flex:1;padding:10px}.new-library button,.search-row button,.spotify-search-top button{background:#ff6fa5;color:#fff;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:700}.spotify-search{background:#2a1b3d;color:#fff}.spotify-search-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}.search-row{display:flex;gap:7px;margin-top:18px}.spotify-search p{color:#e7cfe5;font-size:12px;line-height:1.5}.spotify-search>small{color:#bfaecb;line-height:1.5;display:block}.letters-section{background:#fff0f2}.letter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.letter-card{background:#fff;border-radius:18px;box-shadow:0 10px 24px #b9788c1f;overflow:hidden}.letter-card>button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:#fff;padding:22px;color:#543d5b}.envelope-icon{color:#ff6fa5;font-size:26px}.letter-content{padding:0 22px 20px;color:#876b82;line-height:1.55;font-size:13px}.letter-content p{margin:0 0 10px}.letter-content small{font-family:Caveat;font-size:17px;color:#d46691}@keyframes marble-roll{50%{transform:translate(-80px) rotate(270deg)}}@media(max-width:760px){.world-hero{display:block;min-height:1000px;padding-top:115px}.world-hero h1{font-size:72px}.world-stage{width:110vw;height:390px;transform:translate(-12vw) rotate(-5deg) scale(.8);margin-top:30px}.world-road{left:16%;top:29%;transform:rotate(22deg) scale(.8)}.libraries-panel,.letter-grid{grid-template-columns:1fr}.libraries-section{padding-left:20px;padding-right:20px}.spotify-search-top{align-items:flex-start;gap:8px;flex-direction:column}.new-library{flex-wrap:wrap}.new-library input{flex-basis:100%}}.world-hero{background:none}.focus-track .track-check{margin-left:auto;color:#ff6fa5}.focus-track.selected .track-check{display:block}.focus-track:not(.selected) .track-check{opacity:.2}.spotify-note{color:#a2879a}.letter-drawer{position:relative;display:grid;gap:12px;margin-top:38px;padding:24px 18px}.letter-drawer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 20%,#fff 0,#ffe9ef 72%,#f6d4e4);border-radius:34px;box-shadow:0 20px 55px #b9788c20}.letter-card{position:relative;z-index:1;width:min(620px,100%);margin:0 auto!important;background:#fff;border-radius:17px;box-shadow:0 10px 24px #a6768d2b;overflow:hidden;transition:.3s}.letter-card:hover{transform:translateY(-4px)}.letter-card.letter-0,.letter-card.letter-1,.letter-card.letter-2,.letter-card.open{transform:none}.letter-card.open{box-shadow:0 12px 30px #b9788c33}.letter-card>button{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:#fff;padding:19px 22px;color:#543d5b}.letter-card>button b{flex:1;font-size:14px}.letter-toggle{border:1px solid #f1c9d8;border-radius:20px;padding:5px 9px;color:#c86d91;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.letter-content{background:#fffaf0;border-top:1px dashed #edbfd1;padding:20px 24px 23px}.letter-content p{font-family:Caveat;font-size:24px;color:#765a76;line-height:1.25}.letter-content small{color:#d46691}.libraries-section{display:none}@media(max-width:760px){.letter-drawer{padding:18px 10px}.letter-card{width:100%}}:root{--cream: #f1dce9;--pink: #f4a8c8;--rose: #e95791;--lav: #c8b3ee;--plum: #241333}.app-shell{background:linear-gradient(180deg,#ead1e1,#d9c6e4 48%,#f2d8d2)}.gate{background:radial-gradient(circle at 50% 20%,#fff 0,#fff1f6 48%,#f6d8e8)}.petal-rain{z-index:4}.petal{color:#e95791;opacity:.72;text-shadow:0 2px 6px #b72b6844}.crystal-garden{width:340px;height:340px;margin:auto;position:relative;border-radius:44% 56% 48% 52%;background:radial-gradient(circle at 33% 24%,#fff 0,#f6d9ed 23%,#cab7ee 58%,#9072c4);box-shadow:inset -28px -25px 40px #62458d55,0 28px 55px #a06d9e44;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .18s ease-out;animation:garden-float 5s ease-in-out infinite;overflow:visible}.crystal-garden:before,.crystal-garden:after{content:"";position:absolute;border:1px solid #fff9;border-radius:50%;top:-28px;right:-22px;bottom:-28px;left:-22px;transform:rotate(22deg)}.crystal-garden:after{top:-45px;right:-8px;bottom:-45px;left:-8px;transform:rotate(-25deg)}.garden-glow{position:absolute;width:105px;height:50px;left:62px;top:48px;background:#fff9;border-radius:50%;filter:blur(11px);transform:rotate(-28deg)}.crystal{position:absolute;display:grid;place-items:center;color:#fff;font-size:42px;width:86px;height:110px;clip-path:polygon(50% 0,100% 32%,78% 100%,20% 84%,0 30%);filter:drop-shadow(0 13px 10px #60467f55);animation:crystal-shimmer 2.8s ease-in-out infinite}.crystal-pink{left:58px;bottom:52px;background:linear-gradient(145deg,#ffd7e8,#e95791)}.crystal-lavender{right:52px;top:68px;width:72px;height:95px;background:linear-gradient(145deg,#fff,#a88de0);font-size:30px;animation-delay:.7s}.crystal-mint{right:84px;bottom:33px;width:60px;height:78px;background:linear-gradient(145deg,#e9fff7,#6ec2aa);font-size:24px;animation-delay:1.2s}.garden-spark{position:absolute;color:#312929;font-size:30px;animation:twinkle 1.8s ease-in-out infinite alternate}.spark-one{top:48px;right:82px}.spark-two{left:80px;top:120px;font-size:18px}.garden-bubble{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);color:#fff;font-family:Caveat;font-size:26px;text-align:center;opacity:0;transition:.3s;z-index:3}.crystal-garden:hover .garden-bubble{opacity:1}.orb-caption svg{color:#e95791}.hero{background:radial-gradient(circle at 75% 48%,#cdb7ed 0,transparent 28%),radial-gradient(circle at 14% 82%,#f2aec9 0,transparent 28%)}.bunny-cup{width:340px;height:340px;margin:auto;position:relative;border-radius:48%;background:radial-gradient(circle at 34% 22%,#fff8fc 0,#f6d4e5 34%,#c6afe5 72%,#8063ad);box-shadow:inset -28px -25px 40px #51376d55,0 28px 55px #76517d55;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .18s ease-out;animation:garden-float 5s ease-in-out infinite;overflow:visible}.bunny-cup:before,.bunny-cup:after{display:none}.cup-glow{position:absolute;width:115px;height:54px;left:62px;top:45px;background:#fff9;border-radius:50%;filter:blur(11px);transform:rotate(-28deg)}.bunny-ear{position:absolute;z-index:2;width:58px;height:125px;top:54px;border-radius:55% 55% 45% 45%;background:linear-gradient(90deg,#fff6fa,#f2b5d0);box-shadow:inset 10px 0 #e994b8}.ear-left{left:104px;transform:rotate(-13deg)}.ear-right{right:104px;transform:rotate(13deg)}.bunny-face{position:absolute;z-index:3;left:50%;top:102px;transform:translate(-50%);width:170px;height:145px;border-radius:48% 48% 44% 44%;background:#fff8fc;box-shadow:0 12px 14px #6b477a33}.bunny-eye{position:absolute;top:57px;width:10px;height:14px;border-radius:50%;background:#392543}.eye-left{left:48px}.eye-right{right:48px}.bunny-nose{position:absolute;top:72px;left:50%;transform:translate(-50%);color:#55334d;font-size:18px;font-family:Caveat}.bunny-cheek{position:absolute;top:79px;color:#ed91b4;font-size:10px;opacity:.7}.cheek-left{left:23px}.cheek-right{right:23px}.bunny-bow{position:absolute;z-index:4;top:130px;right:84px;color:#e95791;font-size:34px;transform:rotate(-15deg)}.cup{position:absolute;z-index:4;bottom:42px;left:50%;transform:translate(-50%);width:206px;height:105px;border-radius:0 0 52px 52px;background:linear-gradient(180deg,#ffbfd8,#e95791);box-shadow:0 14px #9e4d7b}.cup:before{content:"";position:absolute;left:-9px;right:-9px;top:-16px;height:32px;border-radius:50%;background:#fff1f6;border:6px solid #e95791}.cup-tea{position:absolute;left:32px;right:32px;top:-7px;height:15px;border-radius:50%;background:#9e6d75}.cup-handle{position:absolute;right:-42px;top:22px;width:52px;height:52px;border:13px solid #e95791;border-left:0;border-radius:0 50% 50% 0}.bunny-cup .garden-spark{z-index:5}.bunny-cup .garden-bubble{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);color:#fff;font-family:Caveat;font-size:26px;text-align:center;opacity:0;transition:.3s;z-index:6}.bunny-cup:hover .garden-bubble{opacity:1}@keyframes garden-float{50%{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-12px) rotate(2deg)}}@media(max-width:760px){.bunny-cup{width:260px;height:260px}.bunny-face{transform:translate(-50%) scale(.78);top:77px}.bunny-ear{transform:scale(.78)}.ear-left{left:55px;top:32px}.ear-right{right:55px;top:32px}.cup{transform:translate(-50%) scale(.78);bottom:18px}.bunny-bow{top:92px;right:64px;transform:scale(.8) rotate(-15deg)}}.app-shell,.gate{position:relative}.petal-rain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.petal{position:absolute;top:-30px;color:#ff93b9;font-size:16px;opacity:.5;animation:petal-fall linear infinite}.gate-shell,.main-page{position:relative;z-index:2}.door-panel{margin-left:auto;margin-right:auto;transform-origin:50% 100%}.keyhole{margin:0 auto}.door-handle{right:25px}.tilt{transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .18s ease-out}.music-action,.reset-button{cursor:pointer}.focus-start{background:#2a1b3d;color:#fff;border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;box-shadow:0 6px #b197d4;transition:.2s}.focus-start:hover{transform:translateY(-2px);box-shadow:0 8px #b197d4}.focus-start:active{transform:translateY(3px);box-shadow:0 2px #b197d4}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#211532bb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;display:grid;place-items:center;padding:20px}.focus-modal{position:relative;width:min(560px,100%);background:#fff8f0;border-radius:28px;padding:30px;box-shadow:0 25px 80px #150b254d}.focus-modal h2{font-size:34px;letter-spacing:-.05em;margin:12px 0}.focus-modal h2 em{color:var(--rose)}.modal-close{position:absolute;right:17px;top:14px;background:#ffe0ec;color:#8b5875;width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1}.focus-modal>label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#765a76;font-size:13px;font-weight:700}.focus-modal select{border:1px solid #efd6e2;border-radius:10px;background:#fff;padding:9px;color:#2a1b3d}.spotify-note{font-size:11px;color:#a2879a;line-height:1.5}.focus-track-list{display:grid;gap:8px;margin:17px 0}.focus-track{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:2px solid transparent;border-radius:15px;padding:8px;transition:.2s}.focus-track:hover,.focus-track.selected{border-color:#ff91b6;transform:translate(3px)}.focus-track img{width:52px;height:42px;border-radius:9px;-o-object-fit:contain;object-fit:contain;background:#e7d8e8}.focus-track span{display:grid;gap:3px;flex:1}.focus-track b{font-size:13px;color:#2a1b3d}.focus-track small{font-size:11px;color:#9b7d91}.focus-track a{color:#d35e91;font-size:10px;font-weight:700}.focus-go{width:100%;margin-top:5px}.memory-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:45px}.gallery-main{height:430px;background:#fff;padding:12px;border-radius:25px;box-shadow:0 17px 40px #a87f9130;position:relative;overflow:hidden}.gallery-main img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:16px}.gallery-shine{position:absolute;right:34px;top:28px;color:#fff;font-size:28px;text-shadow:0 0 16px #fff}.gallery-thumbs{display:grid;grid-template-rows:repeat(3,1fr);gap:10px}.gallery-thumbs button{display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:2px solid transparent;border-radius:16px;padding:8px;color:#765a76}.gallery-thumbs button.selected{border-color:#ff91b6;box-shadow:0 8px 20px #c2839c2b}.gallery-thumbs img{width:82px;height:76px;-o-object-fit:cover;object-fit:cover;border-radius:10px}.gallery-thumbs span{font-family:Caveat;font-size:19px}.compliment-card{position:relative}.compliment-card .card-face{position:relative;inset:auto;min-height:250px;display:block}.compliment-card .card-back{display:flex;flex-direction:column;justify-content:center}.compliment-card .card-face p{margin-bottom:0}.constellation-board{position:absolute;right:0;top:10%;width:58%;height:78%;border:1px dashed #f8dca044;border-radius:50%;transform:rotate(-8deg)}.constellation-board:before,.constellation-board:after{content:"";position:absolute;top:15%;right:20%;bottom:15%;left:20%;border:1px solid #f8dca022;border-radius:50%}.constellation-board:after{top:35%;right:4%;bottom:35%;left:4%;transform:rotate(30deg)}.constellation-board .wish-star{position:absolute;z-index:2}.constellation-board .constellation-line{position:absolute;top:20%;right:12%;bottom:20%;left:12%;width:auto;height:auto;border:0;border-top:1px dashed #f8dca044;transform:rotate(27deg)}.wish-letter small{color:#b27693;font-size:11px}.smile-garden{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:linear-gradient(145deg,#d4f5e9,#e6d9ff);border-radius:18px;padding:24px;min-height:260px;position:relative}.smile-garden button{border-radius:16px;background:#fff8f0;font-size:31px;box-shadow:0 6px #c6b1db;transition:.25s}.smile-garden button:hover{transform:translateY(-5px) rotate(-5deg)}.smile-garden button.grown{background:#ffd6e8}.smile-garden strong{position:absolute;bottom:11px;left:0;right:0;text-align:center;color:#815476;font-family:Caveat;font-size:19px}.quiz-box>button{width:100%;background:#fff;color:#715774;border-radius:11px;padding:10px;margin-top:7px;text-align:left;display:flex;justify-content:space-between;font-size:12px}.quiz-box>button.chosen{background:#ff6fa5;color:#fff}@media(max-width:760px){.memory-gallery{grid-template-columns:1fr}.gallery-main{height:330px}.gallery-thumbs{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}.gallery-thumbs button{display:grid;justify-items:center;padding:5px}.gallery-thumbs img{width:100%;height:78px}.gallery-thumbs span{font-size:14px;text-align:center}.constellation-board{position:relative;right:auto;top:auto;width:100%;height:370px;margin-top:35px}.wish-copy{z-index:1}.focus-modal{padding:24px 18px}.focus-modal h2{font-size:28px}.focus-track a{display:none}.door-panel{height:220px;width:170px}}.app-shell{background:radial-gradient(circle at 18% 8%,#f6c6d9 0,transparent 30rem),radial-gradient(circle at 86% 18%,#d7c6f0 0,transparent 34rem),linear-gradient(180deg,#ead1e1,#d9c6e4 48%,#f2d8d2)}.hero{background:transparent;min-height:min(100dvh,860px);overflow:hidden}.orb-wrap{min-width:0;width:min(44vw,430px);flex:0 1 430px}.hero-cloud{pointer-events:none}@media(max-width:760px){.section-wrap.hero{min-height:100dvh;padding:92px 20px 70px;display:flex;flex-direction:column;justify-content:center;gap:20px;text-align:center}.hero-copy{width:100%;max-width:520px;order:1}.hero-copy .eyebrow{justify-content:center}.hero h1{font-size:clamp(46px,15vw,72px);margin:14px 0 16px}.hero-lede{margin:0 auto;font-size:16px}.hero-actions{justify-content:center;flex-wrap:wrap;gap:10px 18px}.scroll-cue{margin-top:24px}.hero-note{display:block;width:100%;margin-top:4px}.orb-wrap{order:2;width:100%;flex:none}.bunny-cup{width:min(72vw,280px);height:min(72vw,280px)}.bunny-face{transform:translate(-50%) scale(.82);transform-origin:top center}.bunny-ear{transform:scale(.82);transform-origin:top center}.ear-left{left:54px;top:34px}.ear-right{right:54px;top:34px}.cup{transform:translate(-50%) scale(.82);transform-origin:center bottom;bottom:20px}.bunny-bow{top:96px;right:66px}.orb-caption{margin-top:10px}.hero-cloud.cloud-a{left:-24px;top:18%}.hero-cloud.cloud-b{right:-34px;bottom:12%}}.letters-section{background:radial-gradient(circle at 12% 18%,#ffd1e7 0,transparent 22rem),radial-gradient(circle at 88% 80%,#d7c5ff 0,transparent 25rem),linear-gradient(135deg,#f8d8e9,#e8d8fb 52%,#cbdcf5);border-top:1px solid #ffffff99;border-bottom:1px solid #ffffff99}.letters-section .section-heading p{color:#5d486f}.letter-drawer{display:grid;gap:16px;max-width:780px;margin:34px auto 0}.letter-card{overflow:hidden;border:1px solid #ffffffcc;border-radius:22px;background:linear-gradient(135deg,#c99ab8,#b998c9);box-shadow:0 16px 35px #69456f45,inset 0 1px #fff5;transition:transform .25s ease,box-shadow .25s ease}.letter-card:hover,.letter-card.open{transform:translateY(-3px) rotate(-.3deg);box-shadow:0 22px 42px #69456f5c,inset 0 1px #fff6}.letter-card button{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:14px;padding:21px 24px;text-align:left;background:linear-gradient(135deg,#c18eaf,#aa8abd);color:#2f1e43}.letter-card>button{background:linear-gradient(135deg,#c18eaf,#aa8abd)}.envelope-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f0bdd7;color:#9c356d;font-size:20px}.letter-toggle{border:1px solid #f5c1dc;border-radius:99px;padding:6px 13px;color:#7d285d;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.letter-content{margin:0 24px 20px 76px;padding:18px 20px;border-left:3px solid #f48bb8;border-radius:0 16px 16px 0;background:linear-gradient(135deg,#c7a0bd,#b39bcf);color:#39264c;box-shadow:inset 0 1px #fff5;animation:letter-unfold .35s ease both}.letter-content p{margin:0 0 8px;font-family:Caveat,cursive;font-size:clamp(21px,2.2vw,27px);font-weight:600;line-height:1.38;letter-spacing:.01em}.letter-content small{color:#8c326b}@keyframes letter-unfold{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.extra-games{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mini-game-card{background:linear-gradient(145deg,#ead7e8,#d8c8ed);border:1px solid #ffffff99;color:#3f2a55}.mini-game-card p{color:#685276}.game-reset{display:inline-flex;align-items:center;gap:4px;border:1px solid #b88fc6;border-radius:99px;padding:5px 8px;color:#654477;font-size:10px}.game-reset:hover{background:#f7eafa}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.memory-grid button{min-height:58px;border:1px solid #f3bbd5;border-radius:14px;background:#c9a9d2;color:#df6099;font-size:22px;transition:transform .2s,background .2s}.memory-grid button:hover,.memory-grid button.revealed{transform:translateY(-3px) rotate(3deg);background:#f9e9f5}.word-guess{display:flex;gap:8px;margin-top:22px}.word-guess input{min-width:0;flex:1;border:1px solid #edafd0;border-radius:12px;padding:11px;background:#f5e7f2;color:#34224e;letter-spacing:.22em;text-align:center}.word-guess button{border-radius:12px;background:#5a3c78;color:#fff;padding:0 16px}.game-success{display:block;margin-top:14px;color:#d75291}.game-error{display:block;margin-top:12px;color:#a63d71}.star-pocket{display:flex;justify-content:space-between;gap:8px;margin-top:22px}.star-pocket button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #b88fc6;border-radius:50%;background:#c5a5d0;color:#6a3d79;font-size:24px;transition:transform .2s,background .2s,color .2s}.star-pocket button:hover,.star-pocket button.picked{transform:translateY(-7px) rotate(10deg) scale(1.08);background:#f1c5dd;color:#a53670}.star-message{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;margin-top:18px;padding:13px;border-radius:15px;background:#c3a6d1;color:#422951;animation:letter-unfold .35s ease both}.star-message strong{line-height:1.4}.star-message span{color:#c54483;font-size:22px}.star-message button{grid-column:2;justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid #91436f;border-radius:999px;padding:6px 12px;background:#e8bdd6;color:#653052;font-size:11px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}.star-message button:hover{background:#f5d6e7;transform:translateY(-1px)}.form-error{display:block;margin-top:8px;color:#b83c6e}@media(max-width:760px){.extra-games{grid-template-columns:1fr}.letter-card button{grid-template-columns:34px 1fr auto;padding:17px 14px;gap:10px}.letter-card button b{font-size:13px}.letter-content{margin-left:14px;margin-right:14px}.star-pocket button{width:42px;height:42px}}.gate{background:radial-gradient(circle at 14% 12%,#f8c7df 0,transparent 19rem),radial-gradient(circle at 88% 18%,#b8c5ed 0,transparent 22rem),radial-gradient(circle at 50% 100%,#d8c6f0 0,transparent 30rem),#20213d}.gate-shell{width:min(460px,100%);padding-top:12px}.gate-kicker{color:#f7c5df}.door-panel{height:255px;width:196px;margin-top:17px;background:radial-gradient(circle at 50% 30%,#f7c3e1 0,transparent 3rem),linear-gradient(160deg,#514a88,#a85591 58%,#e783ae);border:7px solid #eee8ff;box-shadow:0 20px 55px #090a234d,inset 0 0 30px #fff2}.door-panel:before{content:"✿  ✦  ✿";position:absolute;top:20px;color:#f5eaff;letter-spacing:8px;font-size:13px}.door-stars{display:none}.keyhole{width:72px;height:72px;border-color:#f5eaffaa;background:#17183333;box-shadow:0 0 0 8px #ffffff0d}.door-handle{right:27px;top:132px;width:10px;height:10px;background:#f5eaff;box-shadow:0 0 0 4px #fff2}.gate-copy{position:relative;z-index:3;margin:-1px 14px 0;border:1px solid #ffffff66;border-radius:28px;padding:28px 28px 25px;background:#f7f3ff;box-shadow:0 24px 60px #08091f66}.gate-copy .eyebrow{color:#795b9d}.gate-copy h1{font-size:clamp(35px,8vw,46px)}.gate-subtitle{color:#625c78}.gate-copy input{background:#eeebfa;border-color:#cfc5ea}.gate-copy .primary-button{background:linear-gradient(135deg,#30294f,#754a88)}.gate .floating-cloud{color:#dce1ff;opacity:.34}.gate .petal{color:#f5b9d9;opacity:.58}img,video,svg,canvas{max-width:100%}.section-wrap,.wish-inner,.compliment-section{width:100%;min-width:0}.care-grid>*,.games-section>*,.memory-gallery>*,.say-hi>*,.extra-games>*,.compliment-grid>*{min-width:0}.section-heading,.game-copy,.say-hi form{width:100%}.video-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),390px))}.video-card,.video-frame{min-width:0}.video-card-copy h3,.video-card-copy p,.section-heading p,.game-copy p,.say-hi p{overflow-wrap:anywhere}@media(max-width:1100px){.section-wrap{padding-left:clamp(22px,5vw,48px);padding-right:clamp(22px,5vw,48px)}.hero{gap:clamp(24px,5vw,50px)}.hero h1{font-size:clamp(48px,7vw,78px)}.orb-wrap{width:min(42vw,390px)}.care-grid,.games-section{gap:16px}}@media(max-width:820px){.section-wrap{padding-top:78px;padding-bottom:78px}.hero{min-height:auto;padding-top:112px;padding-bottom:84px;align-items:center}.hero-copy{max-width:480px}.hero h1{font-size:clamp(46px,9vw,70px)}.orb-wrap{width:min(46vw,350px);min-width:0}.care-grid,.games-section,.say-hi{grid-template-columns:1fr}.note-card,.pomodoro-card{min-height:0}.compliment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wish-inner{min-height:0}}@media(max-width:600px){.section-wrap{padding:66px 16px}.hero{padding:88px 16px 62px}.hero:before{top:3%;right:-4px;bottom:2%;left:-4px}.hero h1{font-size:clamp(42px,14vw,64px);letter-spacing:-.06em}.hero-lede,.section-heading p,.game-copy p,.say-hi p{font-size:15px}.hero-actions{align-items:center}.hero-note{font-size:11px}.orb-wrap{width:100%}.bunny-cup{max-width:280px;max-height:280px}.section-heading h2,.game-copy h2,.say-hi h2,.final-note h2{font-size:clamp(32px,11vw,46px)}.exam-section{margin-left:0;margin-right:0;border-radius:26px}.note-card,.pomodoro-card,.game-card,.compliment-card{padding:20px}.pink-note p{font-size:25px}.pomodoro-card strong{font-size:clamp(42px,14vw,56px)}.polaroids{margin-top:30px}.memory-gallery{gap:12px;margin-top:30px}.gallery-main{height:min(82vw,330px)}.gallery-thumbs img{height:clamp(58px,17vw,78px)}.compliment-grid{grid-template-columns:1fr}.smile-garden{padding:16px;gap:8px}.star-pocket{gap:5px}.star-pocket button{width:clamp(36px,12vw,48px);height:clamp(36px,12vw,48px);font-size:20px}.letter-card button{grid-template-columns:32px minmax(0,1fr)}.letter-toggle{grid-column:2;justify-self:start}.letter-content{margin-left:14px;margin-right:14px;padding:15px}.wish-inner{padding:68px 16px}.say-hi{padding-top:68px}.postbox{margin:0 auto}.music-pill{left:12px;right:12px;width:auto;justify-content:center;transform:none;overflow:hidden}.music-status{max-width:70px;overflow:hidden;text-overflow:ellipsis}.volume-slider{width:min(26vw,110px)}}@media(max-width:380px){.section-wrap{padding-left:12px;padding-right:12px}.gate{padding-left:10px;padding-right:10px}.gate-copy{margin-left:0;margin-right:0;padding-left:16px;padding-right:16px}.gate-copy h1{font-size:32px}.door-panel{height:190px;width:150px}.polaroid{padding:5px 5px 10px}.polaroid p{font-size:13px}.music-pill{gap:6px;padding-left:9px;padding-right:9px}}@media(max-height:620px)and (orientation:landscape){.gate{place-items:start center;overflow-y:auto;padding-top:18px;padding-bottom:55px}.gate-shell{transform:scale(.82);transform-origin:top center;margin-bottom:-55px}.gate-footer{position:static;margin-top:12px}.hero{min-height:auto}}.hero{isolation:isolate;padding-top:110px;padding-bottom:90px}.hero-copy{padding:26px 0 26px 22px}.hero h1{text-shadow:0 8px 26px #8d5c8930}.hero-lede{color:#654d6f}.orb-wrap{padding:24px 20px 14px;border-radius:40px}.orb-caption{color:#654d6f}@media(max-width:760px){.gate{padding:24px 14px 44px}.gate-shell{padding-top:0}.door-panel{height:205px;width:164px}.gate-copy{margin-left:4px;margin-right:4px;padding:25px 20px 22px}.hero{padding-top:88px;padding-bottom:65px}.hero-copy{padding:10px 8px 0}.orb-wrap{padding:12px 8px 8px}.volume-slider{width:64px;min-width:64px}}.video-section{position:relative}.video-grid{display:grid;grid-template-columns:minmax(250px,390px);gap:20px;margin-top:30px;justify-content:center}.video-card{position:relative;overflow:hidden;width:100%;border:1px solid #ffffff22;border-radius:26px;background:radial-gradient(circle at 50% 25%,#76527f,transparent 55%),linear-gradient(145deg,#241a35,#4c315d);box-shadow:0 18px 38px #21132f38}.video-frame{width:100%;max-height:520px;overflow:hidden;background:#211a35}.video-card video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.035);transform-origin:center;background:#211a35}.video-card-copy{padding:18px 20px 20px;color:#fff7fb}.video-card-copy span{color:#f2a6c5;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.video-card-copy h3{margin:8px 0 5px}.video-card-copy p{margin:0;color:#ccb9d2;font-size:13px}.gallery-strip{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b985a8 transparent;margin:0;padding:8px 2px 18px}.gallery-card{flex:0 0 clamp(150px,19vw,210px);scroll-snap-align:start;padding:10px 10px 14px;border:2px solid transparent;border-radius:20px;background:#fff8fc;box-shadow:0 14px 28px #8f6c9630;color:#694d70;text-align:left;transition:transform .2s ease,border-color .2s ease}.gallery-card:hover,.gallery-card.selected{transform:translateY(-4px);border-color:#ff91b6}.gallery-card img{display:block;width:100%;aspect-ratio:1.35;-o-object-fit:cover;object-fit:cover;border-radius:13px;background:#eadff0}.gallery-card span{display:block;margin:10px 3px 0;font-family:Caveat,cursive;font-size:18px;line-height:1.15}.gallery-empty{margin-top:30px;color:#806b86}.gallery-main{min-width:0}.memory-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.gallery-main{width:min(100%,760px);margin:0 auto;height:clamp(320px,48vw,500px)}.gallery-main img{height:100%;-o-object-fit:cover;object-fit:cover}.gallery-strip{width:100%}.gallery-refresh{margin-top:12px;padding:8px 13px;border:1px solid #d6afd0;border-radius:999px;background:#fff7fc;color:#765178;font-size:11px;font-weight:700}.gallery-refresh:disabled{cursor:wait;opacity:.65}@media(min-width:761px){.memory-gallery{grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);align-items:start;gap:22px}.gallery-main{width:100%}.gallery-strip{display:grid;grid-template-columns:1fr;align-content:start;max-height:500px;overflow-x:hidden;overflow-y:auto;padding:2px 6px 12px 2px}.gallery-card{width:100%;min-width:0;display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:12px;flex-basis:auto;padding:9px}.gallery-card img{aspect-ratio:1.35}.gallery-card span{margin:0}}@media(max-width:600px){.gallery-strip{gap:12px;padding-bottom:14px}.gallery-card{flex-basis:min(42vw,170px)}.gallery-main{height:min(82vw,330px)}}.letters-section{position:relative;overflow:hidden;background:radial-gradient(circle at 8% 12%,#52385f 0,transparent 24rem),radial-gradient(circle at 92% 84%,#373c68 0,transparent 27rem),#211a35;color:#fff7fb}.letters-section:before{content:"✦   ·   ✧   ·   ✦   ·   ✧";position:absolute;top:42px;right:7%;color:#f3a5c5;opacity:.55;letter-spacing:.8em;pointer-events:none}.letters-section .section-heading{position:relative;z-index:1;max-width:620px}.letters-section .section-number{color:#f5a5c5}.letters-section h2{color:#fff7fb}.letters-section h2 em{color:#f5a5c5}.letters-section .section-heading p{color:#cbb8d1}.letter-drawer{position:relative;z-index:1;max-width:900px;padding:24px;border:1px solid #ffffff1c;border-radius:30px;background:#302544cc;box-shadow:0 24px 70px #100b1f66}.letter-card,.letter-card:hover,.letter-card.open{transform:none;border:1px solid #ffffff18;border-radius:20px;background:#423153;box-shadow:0 12px 24px #120b1d55}.letter-card:hover{border-color:#ef9fbe66;background:#49365b}.letter-card.open{background:#4a3558;border-color:#f1a7c766}.letter-card button,.letter-card>button{min-height:78px;padding:18px 22px;background:transparent;color:#fff7fb}.letter-card button b{font-size:15px;letter-spacing:.01em}.envelope-icon{background:#f0a8c7;color:#4b244d;box-shadow:0 0 0 6px #f0a8c71c}.letter-toggle{border-color:#f1a7c799;color:#f7bed5;background:#241a38}.letter-content{margin:0 18px 18px;padding:22px 24px 20px;border:1px solid #f6b6d733;border-left:4px solid #f0a4c4;border-radius:16px;background:linear-gradient(135deg,#f3d9e3,#ddc9ec);color:#382342;box-shadow:0 10px 24px #170e2555}.letter-content p{font-size:clamp(22px,2.4vw,29px);color:#382342}.letter-content small{color:#9d3e72;font-family:Caveat,cursive;font-size:18px}@media(max-width:760px){.letter-drawer{padding:12px;border-radius:22px}.letter-card button,.letter-card>button{min-height:68px;padding:14px}.letter-card button b{font-size:13px}.letter-content{margin:0 12px 12px;padding:18px 16px}}@media(max-width:600px){.section-wrap.hero{display:flex;flex-direction:column;gap:18px;min-height:auto;padding-top:76px;padding-bottom:58px}.hero .hero-copy,.hero .orb-wrap{display:contents}.hero .hero-copy .eyebrow{order:1}.hero .bunny-cup{order:2;margin:0 auto}.hero .hero-copy h1{order:3}.hero .hero-lede{order:4}.hero .hero-actions{order:5}.hero .orb-caption{order:6;margin-top:0;padding-top:0;font-size:16px}.hero-cloud.cloud-b{display:none}.hero .scroll-cue{margin-top:20px;font-size:14px;gap:9px}.hero .scroll-cue svg{width:18px;height:18px}.hero .hero-note{margin-top:10px;font-size:12px;line-height:1.4;letter-spacing:.01em}}
