:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}html,body,#root{color:#f7f2e8;width:100%;min-width:0;min-height:100%;text-align:initial;background:#000;border:0;margin:0;font-family:SF Pro Display,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#root{z-index:1;pointer-events:none;background:0 0;position:relative}#webgl-fluid-background{z-index:0;opacity:1;pointer-events:auto;touch-action:none;background:#000;width:100vw;height:100vh;transition:opacity .52s;display:block;position:fixed;inset:0}body.is-birthday-view #webgl-fluid-background{opacity:0;pointer-events:none}*{box-sizing:border-box}button,input,textarea,select{font:inherit}@keyframes content-enter{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(-2vh)}}@keyframes birthday-enter{0%{opacity:0;transform:translateY(.75rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(1rem)scale(.965)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes milestone-page-enter{0%{opacity:0;filter:blur(12px);transform:scale(1.035)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes milestone-content-enter{0%{opacity:0;transform:translateY(2.4rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cake-stage-enter{0%{opacity:0;transform:translate(-50%)translateY(2.4rem)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes orbit-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes orbit-pulse{0%,to{opacity:.28;transform:translate(-50%,-50%)scale(.92)}50%{opacity:.74;transform:translate(-50%,-50%)scale(1.02)}}@keyframes sparkle-twinkle{0%,to{opacity:.18;transform:scale(.7)}45%{opacity:.95;transform:scale(1.22)}70%{opacity:.36;transform:scale(.9)}}.page{isolation:isolate;background:0 0;place-items:center;width:100%;min-height:100svh;display:grid;position:relative;overflow:hidden}.countdown-content,.birthday-hero{z-index:4;text-align:center;pointer-events:auto;width:min(68rem,100vw - 2rem);padding:clamp(2rem,7vh,4rem) 1rem;position:relative}.countdown-content{animation:.9s cubic-bezier(.2,.8,.2,1) both content-enter;transform:translateY(-2vh)}.countdown-content:before{content:"";background:linear-gradient(90deg,#0000,#d6bb8447,#fff7dcf2,#d6bb8447,#0000);width:min(8rem,28vw);height:1px;margin:0 auto clamp(1.75rem,4vh,2.5rem);display:block}.eyebrow{color:#d6bb84c7;letter-spacing:.28em;text-transform:uppercase;margin:0 0 .85rem;font-size:.68rem;font-weight:600;line-height:1.5}h1{color:#f7f2e8;letter-spacing:0;text-shadow:0 0 36px #fff8e81f;margin:0;font-size:clamp(2.05rem,5vw,4.4rem);font-weight:350;line-height:1.08}.countdown-grid{grid-template-columns:repeat(4,minmax(8.4rem,1fr));gap:0;margin:clamp(2.5rem,7vh,4.6rem) auto clamp(2rem,5vh,3rem);display:inline-grid}.time-card{flex-direction:column;justify-content:center;align-items:center;min-height:8.5rem;padding:0 1.55rem;display:flex;position:relative}.time-card:not(:last-child):after{content:"";background:linear-gradient(#0000,#f7f2e829,#0000);width:1px;height:64%;position:absolute;top:18%;right:0}.time-value{color:#fffaf0;letter-spacing:0;font-variant-numeric:tabular-nums;text-shadow:0 0 42px #fff8e821;font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(4rem,10vw,8.6rem);font-weight:700;font-stretch:75%;line-height:.72;transform:scaleY(1.42)}.time-label{color:#d6bb84ad;letter-spacing:.32em;margin-top:1.25rem;font-size:.76rem;font-weight:600;line-height:1.2}.description{color:#f7f2e88f;max-width:30rem;margin:0 auto;font-size:clamp(.92rem,2vw,1.02rem);line-height:1.8}.poem-row{text-align:center;touch-action:pan-y;justify-content:center;align-items:center;gap:.38rem;width:min(42rem,100%);min-height:3.1rem;margin:0 auto;display:flex}.poem-row .description{text-wrap:balance;flex:auto;min-width:0;margin:0}.poem-row::selection{color:#f7f2e8;background:#d6bb8433}.poem-row ::selection{color:#f7f2e8;background:#d6bb8433}.surprise-button{color:#f7f2e8;letter-spacing:.08em;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#d6bb8414;border:1px solid #d6bb8475;border-radius:999px;min-height:2.8rem;padding:.64rem 1.15rem;font-size:.88rem;font-weight:650;transition:border-color .18s,background .18s,color .18s,transform .18s;box-shadow:0 18px 56px #0000006b,inset 0 1px #ffffff1f}.page-action-row{z-index:6;pointer-events:auto;justify-content:center;width:min(42rem,100vw - 2rem);display:flex;position:absolute;bottom:clamp(4rem,9vh,6.5rem);left:50%;transform:translate(-50%)}.surprise-button:hover{background:#d6bb8424;border-color:#eed7a4b8;transform:translateY(-1px);box-shadow:0 18px 56px #0000006b,0 0 28px #d6bb841f,inset 0 1px #ffffff1f}.surprise-button:focus-visible{outline-offset:4px;outline:2px solid #d6bb849e}.birthday-page{pointer-events:auto;touch-action:none;background:radial-gradient(circle at 18% 45%,#1476bc3d,#0000 34rem),radial-gradient(circle at 72% 28%,#e8c47e21,#0000 28rem),linear-gradient(#040a154d,#000 86%);font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif}.birthday-page:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#000000b8,#00000024 44%,#000000a3),linear-gradient(#0000001f,#000000b3);position:absolute;inset:0}.birthday-earth{z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.birthday-earth canvas{width:100%;height:100%;display:block}.birthday-hero{text-align:left;pointer-events:auto;width:min(58rem,100vw - 2rem);padding-top:clamp(4.5rem,13vh,8rem);padding-bottom:clamp(7rem,18vh,10rem);animation:.98s cubic-bezier(.2,.8,.2,1) .62s both birthday-enter;transform:translate(-6vw)}.birthday-hero h1{width:min(10em,100%);font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;font-size:clamp(2.1rem,6vw,5.6rem);font-weight:900;line-height:1.15}.earth-days{color:#fff9e8;letter-spacing:0;font-variant-numeric:tabular-nums;text-shadow:0 0 44px #7acbff33,0 0 70px #ffeebe24;align-items:flex-end;gap:clamp(.55rem,1.6vw,1rem);margin:clamp(1.2rem,3vh,1.9rem) 0 clamp(1rem,2.7vh,1.5rem);font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(4rem,13vw,11rem);font-weight:700;font-stretch:75%;line-height:.78;display:flex;transform:scaleY(1.18)}.earth-days span{color:#d6bb84d6;margin-bottom:.18em;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,serif;font-size:clamp(1.1rem,2.7vw,2.1rem);font-weight:700;line-height:1}.birthday-hero .description{color:#f7f2e8b3;max-width:32rem;margin:0;font-size:clamp(.98rem,2vw,1.12rem)}.birthday-milestone-page{pointer-events:auto;touch-action:none;background:radial-gradient(circle at 50% 42%,#ffebae21,#0000 13rem),radial-gradient(circle at 25% 30%,#5bb2ff38,#0000 24rem),radial-gradient(circle at 74% 68%,#ff698b1f,#0000 22rem),linear-gradient(#030712 0%,#02030a 100%);place-items:center;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;animation:.86s cubic-bezier(.17,.7,.18,1) both milestone-page-enter}.birthday-cake-page{pointer-events:auto;touch-action:none;background:radial-gradient(circle at 50% 12%,#ffe2a033,#0000 16rem),radial-gradient(circle at 22% 28%,#74cdff29,#0000 20rem),radial-gradient(circle at 76% 64%,#ff639326,#0000 24rem),linear-gradient(#070512 0%,#110713 48%,#03030a 100%);place-items:center;padding:1.25rem;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;animation:.86s cubic-bezier(.17,.7,.18,1) both milestone-page-enter;overflow:hidden}.birthday-cake-page:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(at 50% 14%,#fff2c624,#0000 28rem),linear-gradient(#0000000a,#000000c7),radial-gradient(circle at 50% 54%,#0000 0 23rem,#00000070 39rem);position:absolute;inset:0}.cake-ambient{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cake-ambient span{filter:blur(10px);opacity:.58;border-radius:999px;display:block;position:absolute;transform:translateZ(0)}.cake-ambient span:first-child{background:#ffc48029;width:12rem;height:12rem;animation:5.8s ease-in-out infinite orbit-pulse;top:10%;left:8%}.cake-ambient span:nth-child(2){background:#ff5b8821;width:16rem;height:16rem;animation:7s ease-in-out -1.5s infinite orbit-pulse;top:24%;right:4%}.cake-ambient span:nth-child(3){background:#53c0ff1a;width:18rem;height:18rem;animation:7.8s ease-in-out -2.4s infinite orbit-pulse;bottom:3%;left:34%}.cake-ambient span:nth-child(4){background:#ffedb812;width:22rem;height:22rem;animation:8.6s ease-in-out -3s infinite orbit-pulse;top:10%;left:50%;transform:translate(-50%)}.cake-paper-field{z-index:3;opacity:.42;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cake-paper-field span{left:var(--paper-left,50%);width:.5rem;height:.16rem;animation:cake-paper-fall var(--paper-duration,8s) var(--paper-delay,0s) linear infinite;background:#ffe6a2;border-radius:999px;position:absolute;top:-8%;box-shadow:0 0 1rem #ffe0963d}.cake-paper-field span:nth-child(4n+1){background:#8ee8ff}.cake-paper-field span:nth-child(4n+2){background:#ff83a4}.cake-paper-field span:nth-child(4n+3){background:#fff7df}.cake-paper-field span:first-child{--paper-left:8%;--paper-delay:-1.2s;--paper-duration:9.2s}.cake-paper-field span:nth-child(2){--paper-left:15%;--paper-delay:-5.6s;--paper-duration:8.4s}.cake-paper-field span:nth-child(3){--paper-left:22%;--paper-delay:-3.3s;--paper-duration:10.2s}.cake-paper-field span:nth-child(4){--paper-left:29%;--paper-delay:-7.4s;--paper-duration:7.8s}.cake-paper-field span:nth-child(5){--paper-left:36%;--paper-delay:-2s;--paper-duration:8.9s}.cake-paper-field span:nth-child(6){--paper-left:43%;--paper-delay:-6.8s;--paper-duration:9.7s}.cake-paper-field span:nth-child(7){--paper-left:50%;--paper-delay:-4.1s;--paper-duration:8.1s}.cake-paper-field span:nth-child(8){--paper-left:57%;--paper-delay:-8.3s;--paper-duration:10.4s}.cake-paper-field span:nth-child(9){--paper-left:64%;--paper-delay:-1.8s;--paper-duration:8.5s}.cake-paper-field span:nth-child(10){--paper-left:71%;--paper-delay:-6.1s;--paper-duration:9.4s}.cake-paper-field span:nth-child(11){--paper-left:78%;--paper-delay:-3.5s;--paper-duration:7.9s}.cake-paper-field span:nth-child(12){--paper-left:86%;--paper-delay:-7.8s;--paper-duration:10.8s}.cake-paper-field span:nth-child(13){--paper-left:94%;--paper-delay:-2.7s;--paper-duration:8.6s}.cake-paper-field span:nth-child(14){--paper-left:12%;--paper-delay:-9s;--paper-duration:10.1s}.cake-paper-field span:nth-child(15){--paper-left:26%;--paper-delay:-4.9s;--paper-duration:7.7s}.cake-paper-field span:nth-child(16){--paper-left:39%;--paper-delay:-8.7s;--paper-duration:9.9s}.cake-paper-field span:nth-child(17){--paper-left:52%;--paper-delay:-2.4s;--paper-duration:8.2s}.cake-paper-field span:nth-child(18){--paper-left:66%;--paper-delay:-6.5s;--paper-duration:10.5s}.cake-paper-field span:nth-child(19){--paper-left:82%;--paper-delay:-3.8s;--paper-duration:8.8s}.cake-paper-field span:nth-child(20){--paper-left:97%;--paper-delay:-7.2s;--paper-duration:9.6s}.cake-paper-field span:nth-child(n+21){opacity:.62;transform:scale(.76)}.birthday-cake-page.has-wish .cake-paper-field{opacity:.86}.birthday-cake-page.is-celebration .cake-paper-field{opacity:1}.birthday-cake-page.has-wish .cake-paper-field span{animation-duration:calc(var(--paper-duration,8s) * .72)}.birthday-cake-page.is-celebration:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 27%,#fff5ca38,#0000 18rem),radial-gradient(circle at 82% 18%,#8ee8ff1f,#0000 18rem),radial-gradient(circle at 22% 78%,#ff83a424,#0000 21rem);animation:1.5s both birthday-sky-bloom;position:absolute;inset:0}.cake-stage{z-index:6;aspect-ratio:auto;filter:drop-shadow(0 2rem 5rem #00000080);pointer-events:auto;width:min(64rem,100vw - 1rem);height:min(34rem,56vh);animation:.94s cubic-bezier(.17,.7,.18,1) .14s both cake-stage-enter;position:absolute;top:clamp(1.2rem,4vh,3.2rem);left:50%;transform:translate(-50%)}.cake-scene,.cake-scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.cake-stage-halo{filter:blur(1px);pointer-events:none;background:radial-gradient(at 50% 42%,#ffe2aa33,#0000 66%),radial-gradient(#ff658f1f,#0000 72%);border-radius:50%;width:min(28rem,78vw);height:6.5rem;position:absolute;bottom:6%;left:50%;transform:translate(-50%)}.cake-content{z-index:7;text-align:center;pointer-events:auto;gap:clamp(1.5rem,3.4vh,2.5rem);width:min(60rem,100vw - 2rem);padding-top:clamp(22rem,50vh,30rem);padding-bottom:clamp(5.8rem,12vh,7.8rem);animation:.92s cubic-bezier(.17,.7,.18,1) .24s both milestone-content-enter;display:grid;position:relative}.cake-greeting{gap:clamp(.65rem,1.6vh,1rem);display:grid}.cake-content .eyebrow{color:#ffdba0c7;text-shadow:0 0 28px #ffb36247;margin:0}.cake-greeting h1{white-space:nowrap;max-width:11em;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;font-size:clamp(2.65rem,6.2vw,5.8rem);font-weight:900;line-height:1.08}.cake-content .description{max-width:40rem;font-size:clamp(.92rem,1.25vw,1.02rem);line-height:1.72}.cake-wish-section{gap:.55rem;width:min(27rem,100%);margin-inline:auto;display:grid}.cake-wish-kicker{color:#ffdba0b3;letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:700;line-height:1.45}.cake-wish-section h1{color:#fff8e4;letter-spacing:0;margin:0;font-size:clamp(1.45rem,2.8vw,2.05rem);font-weight:650;line-height:1.2}.cake-wish-description{color:#f7f2e8a8;max-width:28rem;margin:0;font-size:clamp(.9rem,1.2vw,1rem);line-height:1.75}.cake-ritual-panel{align-items:center;gap:.8rem;width:min(25rem,100%);margin-top:.45rem;display:grid}.blow-start-button{color:#fffaf0;letter-spacing:.08em;cursor:pointer;-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#ffc48033,#ff83a42e),#08080a47;border:1px solid #ffe2aa75;border-radius:999px;justify-self:start;min-height:2.8rem;padding:.78rem 1.12rem;font-size:.9rem;font-weight:700;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;box-shadow:0 16px 44px #00000047,0 0 32px #ffc4801f,inset 0 1px #ffffff1f}.blow-start-button:hover{background:linear-gradient(135deg,#ffd2914d,#ff83a442),#08080a38;border-color:#fff7dcb8;transform:translateY(-1px)}.blow-start-button:focus-visible{outline-offset:4px;outline:2px solid #ffe2aac2}.blow-start-button:disabled{opacity:.62;cursor:wait;transform:none}.blow-meter{background:#ffffff14;border:1px solid #ffe2aa38;border-radius:999px;width:min(18rem,100%);height:.52rem;position:relative;overflow:hidden;box-shadow:inset 0 0 18px #00000038}.blow-meter span{width:calc(var(--blow-level,0) * 100%);border-radius:inherit;background:linear-gradient(90deg,#8ee8ff,#fff1cf 54%,#ff83a4);transition:width 90ms linear;position:absolute;inset:0 auto 0 0;box-shadow:0 0 22px #ffe2aa57}.blow-meter.is-listening{box-shadow:inset 0 0 18px #00000038,0 0 24px #8ee8ff21}.cake-ritual-hint{color:#f7f2e8ad;max-width:24rem;margin:0;font-size:.82rem;line-height:1.75}.cake-greeting h1,.birthday-wish-page .cake-wish-section h1{text-shadow:0 0 28px #ffe2aa2e,0 0 54px #ff83a429}@media (width>=900px){.birthday-cake-page{place-items:stretch stretch}.birthday-cake-page:before{background:radial-gradient(at 27% 48%,#fff2c629,#0000 32rem),linear-gradient(90deg,#00000005,#0000003d 56%,#000000c2),radial-gradient(circle at 50% 54%,#0000 0 25rem,#00000070 46rem)}.cake-stage{z-index:6;width:min(68rem,60vw);height:min(52rem,88vh);animation:none;top:45%;left:clamp(2rem,5vw,6.5rem);transform:translateY(-50%)}.cake-content{z-index:7;text-align:left;gap:clamp(2.1rem,4vh,3.1rem);width:min(52rem,41vw);padding:0;animation:none;position:absolute;top:50%;right:clamp(1.25rem,3.2vw,4rem);transform:translateY(-50%)}.cake-content .eyebrow{margin-inline:0}.cake-greeting h1{max-width:none;margin-inline:0;font-size:clamp(4rem,5vw,6.2rem)}.cake-content .description{max-width:34rem;margin-inline:0;font-size:clamp(.98rem,1.2vw,1.15rem)}.cake-wish-section{width:min(31rem,100%);margin-inline:0}}.secret-poem-page{pointer-events:auto;touch-action:pan-y;background:radial-gradient(at 50% 12%,#fff4c329,#0000 25rem),radial-gradient(at 18% 78%,#45b9ff24,#0000 30rem),radial-gradient(at 82% 54%,#ff66881f,#0000 28rem),linear-gradient(145deg,#020713 0%,#091321 42%,#150711 72%,#030208 100%);place-items:center;padding:0;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;animation:.9s cubic-bezier(.17,.7,.18,1) both secret-page-enter;overflow:hidden}.secret-poem-page:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#000000ad,#0000 24% 76%,#000000a8),linear-gradient(#0000000d,#000000c2);position:absolute;inset:0}.secret-poem-page:after{content:"";z-index:1;opacity:.5;pointer-events:none;background-image:linear-gradient(#fff6d60d 1px,#0000 1px),linear-gradient(90deg,#7ccdff0a 1px,#0000 1px);background-size:5rem 5rem;animation:16s linear infinite secret-grid-drift;position:absolute;inset:-18%;transform:rotate(-8deg)}.secret-starfield{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.secret-starfield span{left:var(--secret-star-left,50%);top:var(--secret-star-top,50%);width:var(--secret-star-size,.16rem);height:var(--secret-star-size,.16rem);opacity:.34;animation:secret-star-drift var(--secret-star-speed,6s) ease-in-out infinite;background:#fff6d6e6;border-radius:999px;position:absolute;box-shadow:0 0 .8rem #ffe6ae7a,0 0 1.8rem #53beff26}.secret-starfield span:first-child{--secret-star-left:6%;--secret-star-top:16%;--secret-star-size:.13rem;--secret-star-speed:5.2s}.secret-starfield span:nth-child(2){--secret-star-left:12%;--secret-star-top:68%;--secret-star-size:.21rem;--secret-star-speed:6.4s}.secret-starfield span:nth-child(3){--secret-star-left:18%;--secret-star-top:34%;--secret-star-size:.15rem;--secret-star-speed:5.8s}.secret-starfield span:nth-child(4){--secret-star-left:25%;--secret-star-top:82%;--secret-star-size:.18rem;--secret-star-speed:7s}.secret-starfield span:nth-child(5){--secret-star-left:31%;--secret-star-top:12%;--secret-star-size:.2rem;--secret-star-speed:6.1s}.secret-starfield span:nth-child(6){--secret-star-left:39%;--secret-star-top:55%;--secret-star-size:.14rem;--secret-star-speed:5.6s}.secret-starfield span:nth-child(7){--secret-star-left:46%;--secret-star-top:22%;--secret-star-size:.23rem;--secret-star-speed:6.8s}.secret-starfield span:nth-child(8){--secret-star-left:53%;--secret-star-top:88%;--secret-star-size:.15rem;--secret-star-speed:5.7s}.secret-starfield span:nth-child(9){--secret-star-left:61%;--secret-star-top:38%;--secret-star-size:.19rem;--secret-star-speed:6.9s}.secret-starfield span:nth-child(10){--secret-star-left:68%;--secret-star-top:72%;--secret-star-size:.14rem;--secret-star-speed:5.4s}.secret-starfield span:nth-child(11){--secret-star-left:75%;--secret-star-top:18%;--secret-star-size:.22rem;--secret-star-speed:6.6s}.secret-starfield span:nth-child(12){--secret-star-left:83%;--secret-star-top:58%;--secret-star-size:.16rem;--secret-star-speed:5.9s}.secret-starfield span:nth-child(13){--secret-star-left:91%;--secret-star-top:29%;--secret-star-size:.2rem;--secret-star-speed:7.1s}.secret-starfield span:nth-child(14){--secret-star-left:8%;--secret-star-top:91%}.secret-starfield span:nth-child(15){--secret-star-left:16%;--secret-star-top:49%}.secret-starfield span:nth-child(16){--secret-star-left:23%;--secret-star-top:7%}.secret-starfield span:nth-child(17){--secret-star-left:34%;--secret-star-top:73%}.secret-starfield span:nth-child(18){--secret-star-left:43%;--secret-star-top:43%}.secret-starfield span:nth-child(19){--secret-star-left:56%;--secret-star-top:9%}.secret-starfield span:nth-child(20){--secret-star-left:64%;--secret-star-top:92%}.secret-starfield span:nth-child(21){--secret-star-left:72%;--secret-star-top:46%}.secret-starfield span:nth-child(22){--secret-star-left:86%;--secret-star-top:84%}.secret-starfield span:nth-child(n+23){opacity:.2;transform:scale(.72)}.secret-orbits{z-index:4;aspect-ratio:1;pointer-events:none;width:min(72rem,132vw);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.secret-orbits span{border:1px solid #ffebba26;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.secret-orbits span:first-child{border-top-color:#fff4d67a;border-right-color:#69c9ff4d;width:100%;height:100%;animation:22s linear infinite secret-orbit-spin}.secret-orbits span:nth-child(2){border-bottom-color:#ff6f9152;border-left-color:#ffedb361;width:76%;height:76%;animation:30s linear infinite reverse secret-orbit-spin}.secret-orbits span:nth-child(3){border-color:#69c9ff2b;width:52%;height:52%;animation:6.8s ease-in-out infinite secret-orbit-breathe}.secret-letter{z-index:8;width:min(42rem,100vw - 2.5rem);height:min(41rem,100svh - 10.5rem);box-shadow:none;color:#fff7e6;pointer-events:auto;background:0 0;border:0;border-radius:0;place-self:center;margin:auto;animation:1s cubic-bezier(.17,.7,.18,1) .52s both secret-letter-enter;display:block;position:relative;overflow:visible}.secret-letter:before{content:none}.secret-letter:after{content:"";z-index:-1;filter:blur(2px);pointer-events:none;background:radial-gradient(circle,#ffe7b324,#0000 58%),radial-gradient(circle,#54baff1f,#0000 68%);border-radius:999px;width:min(32rem,72vw);height:min(32rem,72vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.secret-letter-scroll{z-index:1;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;-webkit-overflow-scrolling:touch;border-top:0;height:100%;padding:clamp(.8rem,2.4vh,1.4rem) clamp(.75rem,2.4vw,1.4rem) clamp(5rem,11vh,7rem);position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 0 90%,#0000 100%);mask-image:linear-gradient(#000 0 90%,#0000 100%)}.secret-letter-scroll::-webkit-scrollbar{display:none}.secret-letter-heading{text-align:center;width:min(34rem,100%);opacity:calc(.18 + var(--secret-reveal-progress,0) * .82);transform:scaleX(calc(.86 + var(--secret-reveal-progress,0) * .14)) scaleY(calc(.72 + var(--secret-reveal-progress,0) * .28));transform-origin:50%;margin:clamp(3.5rem,9vh,6rem) auto 0;padding:clamp(1rem,3vh,2rem) 0 clamp(1.1rem,2.8vh,1.6rem);transition:opacity 80ms linear,transform 80ms linear;position:relative}.secret-reveal-cover{text-align:center;min-height:calc(min(41rem,100svh - 10.5rem) + 7rem);opacity:calc(1 - var(--secret-reveal-progress,0) * .88);clip-path:inset(0 0 calc(var(--secret-reveal-progress,0) * 72%) 0 round 0);transform:translateY(calc(var(--secret-reveal-progress,0) * -5.8rem)) scaleY(calc(1 - var(--secret-reveal-progress,0) * .38));transform-origin:50% 0;align-content:center;justify-items:center;padding:clamp(2rem,6vh,4rem) 0 clamp(3.2rem,8vh,5rem);transition:opacity 80ms linear,clip-path 80ms linear,transform 80ms linear;display:grid}.secret-reveal-cover h1{color:#fff8e8;text-shadow:0 0 44px #ffeebe2e,0 0 84px #5bbeff1a;max-width:8.8em;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;font-size:clamp(2.8rem,6vw,5.8rem);font-weight:900;line-height:1.1}.secret-reveal-cover p:not(.secret-reveal-kicker){color:#f7f2e8b3;text-wrap:balance;max-width:31rem;margin:clamp(1.1rem,3vh,1.8rem) auto 0;font-size:clamp(.98rem,1.7vw,1.12rem);line-height:1.92}.secret-reveal-cover p:not(.secret-reveal-kicker) span{display:block}.secret-cover-cue{z-index:10;color:#ffe8b29e;letter-spacing:.14em;opacity:1;pointer-events:none;justify-items:center;gap:.48rem;margin:0;font-size:.72rem;font-weight:700;transition:opacity .24s,transform .24s;display:grid;position:fixed;bottom:clamp(7rem,17vh,10rem);left:50%;transform:translate(-50%)}.secret-cover-cue.is-hidden{opacity:0;transform:translate(-50%)translateY(.6rem)}.secret-cover-cue span{filter:drop-shadow(0 0 18px #ffe8b240);border-bottom:2px solid #ffe8b2c7;border-right:2px solid #ffe8b2c7;width:1.55rem;height:1.55rem;animation:1.7s ease-in-out infinite secret-cover-cue-nudge;display:block;transform:rotate(45deg)}.secret-cover-cue small{font:inherit}.secret-letter-heading:after{content:none}.secret-letter .eyebrow{color:#ffe0a5c7;text-shadow:0 0 24px #ffb06329;margin-bottom:.55rem}.secret-reveal-kicker{color:#ffe0a5db;letter-spacing:0;text-shadow:0 0 24px #ffb0632e;width:fit-content;margin:0 auto .72rem;font-size:clamp(1.55rem,3.2vw,2.8rem);font-weight:800;line-height:1.18}.secret-letter h1{color:#fff8e8;text-shadow:0 0 44px #ffeebe2e,0 0 84px #5bbeff1a;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;font-size:clamp(2.6rem,5vw,4.7rem);font-weight:900;line-height:1.08}.secret-letter .secret-poem-lead{color:#f7f2e8ad;max-width:30rem;margin:clamp(.85rem,2vh,1.2rem) auto 0}.secret-letter-signature{color:#ffe8b29e;max-width:34rem;margin:clamp(2rem,4vh,3rem) auto 0;font-size:clamp(.9rem,1.6vw,1.02rem);line-height:1.8}.secret-letter-nav{z-index:9;color:#ffe8b294;opacity:0;pointer-events:none;margin:0;padding:0;transition:opacity .42s,transform .42s;display:block;position:fixed;inset:0;transform:translateY(.7rem)}.secret-letter-nav.is-visible{opacity:1;transform:translateY(0)}.secret-letter-nav .swipe-hint{position:absolute}.secret-end-hint-previous{bottom:clamp(4.6rem,9vh,6rem);right:clamp(1.1rem,4vw,3.2rem);transform:none}.secret-end-hint-next{bottom:clamp(4.6rem,9vh,6rem);left:clamp(1.1rem,4vw,3.2rem)}.secret-end-hint-previous span{animation:1.7s ease-in-out infinite swipe-previous-nudge;transform:rotate(-45deg)}.secret-end-hint-next span{animation:1.7s ease-in-out infinite swipe-next-nudge;transform:rotate(135deg)}.secret-acrostic-line{color:#fff7e2d1;width:min(32rem,100%);box-shadow:none;text-wrap:balance;background:0 0;border:0;border-left:2px solid #ffe7b35c;border-radius:0;margin:clamp(1.45rem,3.8vh,2.4rem) auto 0;padding:.2rem 0 .2rem 1.05rem;font-size:clamp(.86rem,1.25vw,1rem);font-weight:700;line-height:1.62}.secret-acrostic-line p{margin:0}.secret-acrostic-line p+p{margin-top:.26rem}.secret-poem-list{width:min(36rem,100%);opacity:calc(.1 + var(--secret-reveal-progress,0) * .9);transform:scaleX(calc(.9 + var(--secret-reveal-progress,0) * .1)) scaleY(calc(.76 + var(--secret-reveal-progress,0) * .24));transform-origin:50% 0;gap:.2rem;margin:0 auto;transition:opacity 80ms linear,transform 80ms linear;display:grid}.secret-poem-list p{color:#f7f2e8b8;text-align:left;opacity:0;animation:.52s cubic-bezier(.17,.7,.18,1) forwards secret-line-enter;animation-delay:calc(.72s + var(--secret-line-index) * 28ms);border-bottom:1px solid #ffe7b314;grid-template-columns:2rem 1.8rem minmax(0,1fr);align-items:baseline;gap:clamp(.42rem,1vw,.72rem);margin:0;padding:.52rem 0 .52rem clamp(.55rem,1.6vw,1rem);font-size:clamp(.96rem,1.35vw,1.1rem);line-height:1.72;display:grid;transform:translateY(.7rem)}.secret-line-number{color:#ffe7b357;font-variant-numeric:tabular-nums;font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,sans-serif;font-size:.9em;font-weight:700;line-height:1}.secret-line-first{color:#ffe5a6;text-align:center;text-shadow:0 0 22px #ffe5a647,0 0 44px #ffa8671f;font-size:1.72em;font-weight:900;line-height:1}.secret-line-rest{min-width:0;transition:color .18s,transform .18s}.secret-poem-list p:hover .secret-line-rest{color:#fffaeeeb;transform:translate(.18rem)}.secret-poem-lead{color:#f7f2e8a6;max-width:38rem;margin:clamp(1rem,2.5vh,1.45rem) auto 0;font-size:clamp(.94rem,1.8vw,1.08rem);line-height:1.86}.secret-previous-hint{bottom:clamp(4.6rem,9vh,6rem);right:clamp(1.1rem,4vw,3.2rem);transform:none}.secret-next-hint{bottom:clamp(4.6rem,9vh,6rem);left:clamp(1.1rem,4vw,3.2rem)}@keyframes secret-page-enter{0%{opacity:0;filter:blur(12px);transform:scale(1.035)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes secret-content-rise{0%{opacity:0;transform:translateY(2.2rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes secret-letter-enter{0%{opacity:0;filter:blur(10px);transform:translateY(2rem)rotateX(8deg)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)rotateX(0)scale(1)}}@keyframes secret-character-reveal{0%{opacity:0;filter:blur(8px);transform:translateY(1rem)rotateX(72deg)scale(.86)}68%{opacity:1;filter:blur();transform:translateY(-.18rem)rotateX(0)scale(1.04);box-shadow:0 .9rem 2.5rem #00000040,0 0 2rem #ffe8b440,inset 0 1px #ffffff2e}to{opacity:1;filter:blur();transform:translateY(0)rotateX(0)scale(1)}}@keyframes secret-phrase-enter{to{opacity:1;transform:translateY(0)}}@keyframes secret-line-enter{to{opacity:1;transform:translateY(0)}}@keyframes secret-cover-cue-nudge{0%,to{transform:translateY(0)rotate(45deg)}50%{transform:translateY(.42rem)rotate(45deg)}}@keyframes secret-grid-drift{0%{background-position:0 0,0 0}to{background-position:5rem 5rem,-5rem 5rem}}@keyframes secret-star-drift{0%,to{opacity:.22;transform:translate(0,0)scale(.75)}48%{opacity:.95;transform:translate(.35rem,-.55rem)scale(1.15)}}@keyframes secret-orbit-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes secret-orbit-breathe{0%,to{opacity:.38;transform:translate(-50%,-50%)scale(.94)}50%{opacity:.78;transform:translate(-50%,-50%)scale(1.03)}}@keyframes cake-paper-fall{0%{transform:translate(-1rem,-10vh)rotate(0)}to{transform:translate(1.6rem,112vh)rotate(540deg)}}@keyframes birthday-sky-bloom{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.milestone-sparkles{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.milestone-sparkles span{opacity:.28;background:#fff8dc;border-radius:999px;width:.22rem;height:.22rem;animation:3.4s ease-in-out infinite sparkle-twinkle;position:absolute;box-shadow:0 0 12px #fff8dcc7,0 0 26px #7acbff52}.milestone-sparkles span:first-child{animation-delay:-.2s;top:18%;left:12%}.milestone-sparkles span:nth-child(2){animation-delay:-1.6s;top:28%;left:24%}.milestone-sparkles span:nth-child(3){animation-delay:-2.8s;top:16%;left:36%}.milestone-sparkles span:nth-child(4){animation-delay:-.9s;top:31%;left:48%}.milestone-sparkles span:nth-child(5){animation-delay:-2.1s;top:20%;left:64%}.milestone-sparkles span:nth-child(6){animation-delay:-1.2s;top:24%;left:82%}.milestone-sparkles span:nth-child(7){animation-delay:-2.5s;top:47%;left:9%}.milestone-sparkles span:nth-child(8){animation-delay:-.7s;top:62%;left:23%}.milestone-sparkles span:nth-child(9){animation-delay:-1.9s;top:55%;left:39%}.milestone-sparkles span:nth-child(10){animation-delay:-3.1s;top:66%;left:56%}.milestone-sparkles span:nth-child(11){animation-delay:-.4s;top:52%;left:76%}.milestone-sparkles span:nth-child(12){animation-delay:-1.5s;top:68%;left:91%}.milestone-sparkles span:nth-child(13){animation-delay:-2.2s;top:78%;left:14%}.milestone-sparkles span:nth-child(14){animation-delay:-.8s;top:83%;left:31%}.milestone-sparkles span:nth-child(15){animation-delay:-2.9s;top:76%;left:49%}.milestone-sparkles span:nth-child(16){animation-delay:-1.1s;top:84%;left:68%}.milestone-sparkles span:nth-child(17){animation-delay:-2.4s;top:80%;left:86%}.milestone-sparkles span:nth-child(18){animation-delay:-3.3s;top:38%;left:18%}.milestone-sparkles span:nth-child(19){animation-delay:-1.4s;top:42%;left:44%}.milestone-sparkles span:nth-child(20){animation-delay:-2.7s;top:36%;left:72%}.milestone-sparkles span:nth-child(21){animation-delay:-.5s;top:12%;left:58%}.milestone-sparkles span:nth-child(22){animation-delay:-1.8s;top:70%;left:6%}.birthday-milestone-page:before{content:"";z-index:0;opacity:.22;pointer-events:none;background-image:radial-gradient(circle,#ffffffb3 0 1px,#0000 1.6px),radial-gradient(circle,#7acbff75 0 1px,#0000 1.7px);background-position:0 0,46px 73px;background-size:138px 126px,188px 176px;position:absolute;inset:-20%;transform:rotate(-9deg)}.birthday-milestone-page:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#02030a0d,#02030ac7),radial-gradient(circle at 50% 52%,#0000 0 18rem,#00000070 34rem);position:absolute;inset:0}.milestone-orbit{z-index:2;aspect-ratio:1;pointer-events:none;width:min(55rem,118vw);position:absolute;top:48%;left:50%}.milestone-orbit span{border:1px solid #d6bb8433;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.milestone-orbit span:first-child{border-top-color:#fff5d48f;border-right-color:#7acbff47;width:100%;height:100%;animation:18s linear infinite orbit-spin}.milestone-orbit span:nth-child(2){border-color:#7acbff38 #7acbff38 #7acbff38 #ff789942;width:72%;height:72%;animation:24s linear infinite reverse orbit-spin}.milestone-orbit span:nth-child(3){background:radial-gradient(circle,#d6bb8438,#0000 66%);border:0;width:44%;height:44%;animation:4.8s ease-in-out infinite orbit-pulse}.milestone-content{z-index:4;text-align:center;pointer-events:auto;width:min(54rem,100vw - 2rem);padding:clamp(3rem,9vh,5.6rem) 1rem;animation:.92s cubic-bezier(.17,.7,.18,1) .18s both milestone-content-enter;position:relative}.milestone-kicker{color:#fff6dbb8;letter-spacing:.18em;text-shadow:0 0 34px #d6bb8429;margin:0 auto clamp(1.4rem,3vh,2rem);font-family:Noto Serif SC,Source Han Serif SC,Songti SC,serif;font-size:clamp(1.8rem,5vw,4.8rem);font-weight:700;line-height:1}.milestone-content h1{color:#fff9e8;letter-spacing:0;white-space:nowrap;text-shadow:0 0 54px #fff0c433,0 0 94px #7acbff29;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;font-size:clamp(4.8rem,14vw,11.4rem);font-weight:900;line-height:1.08}.milestone-subline{color:#f7f2e8e0;text-shadow:0 0 36px #fff8e824;margin:clamp(1.4rem,3.2vh,2rem) auto 0;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,serif;font-size:clamp(1.45rem,4.2vw,3.6rem);font-weight:700;line-height:1.18}.highlight-number{color:#fff9e8;font-variant-numeric:tabular-nums;text-shadow:0 0 30px #fff0c447,0 0 58px #d6bb8429;vertical-align:-.09em;margin-inline:.16em;font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:1.38em;font-weight:700;font-stretch:75%;line-height:.72;display:inline-block;transform:scaleY(1.18)}.birthday-age-number{margin-inline:.16em}.milestone-next-line{color:#e2f1ffe0;background:#7acbff12;border:1px solid #7acbff38;border-radius:999px;width:fit-content;max-width:100%;margin:clamp(1.1rem,3vh,1.6rem) auto 0;padding:.72rem 1rem;font-size:clamp(.92rem,2vw,1.05rem);font-weight:650;line-height:1.4;box-shadow:0 18px 60px #00000057,inset 0 1px #ffffff1a}.milestone-content .description{color:#f7f2e89e;max-width:35rem;margin-top:clamp(1.1rem,3vh,1.7rem)}.swipe-hint{z-index:8;color:#f7f2e89e;letter-spacing:.12em;pointer-events:none;text-transform:uppercase;place-items:center;gap:.5rem;font-size:.72rem;font-weight:650;display:grid;position:absolute}.swipe-hint p{margin:0}.swipe-hint span{filter:drop-shadow(0 0 18px #d6bb8447);border-bottom:2px solid #d6bb84d1;border-right:2px solid #d6bb84d1;width:2.15rem;height:2.15rem;display:block}.swipe-hint-next{bottom:clamp(4.6rem,9vh,6rem);left:clamp(1.1rem,4vw,3.2rem)}.swipe-hint-next span{animation:1.7s ease-in-out infinite swipe-next-nudge;transform:rotate(135deg)}.swipe-hint-previous{bottom:clamp(4.6rem,9vh,6rem);right:clamp(1.1rem,4vw,3.2rem);transform:none}.swipe-hint-previous span{animation:1.7s ease-in-out infinite swipe-previous-nudge;transform:rotate(-45deg)}.scene-fallback{background:0 0;position:absolute;inset:0}.music-toggle-button{right:max(1rem, env(safe-area-inset-right));top:max(1rem, env(safe-area-inset-top));z-index:9999;color:#f7f2e8c2;-webkit-backdrop-filter:blur(16px);cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#08080a4d;border:1px solid #d6bb8461;border-radius:999px;place-items:center;width:2.55rem;height:2.55rem;padding:0;transition:border-color .18s,background .18s,color .18s,opacity .18s,transform .18s;display:grid;position:fixed;box-shadow:0 14px 44px #0000005c,inset 0 1px #ffffff14}.music-toggle-button:hover{color:#fffaf0;background:#d6bb841f;border-color:#eed7a4b8;transform:translateY(-1px)}.music-toggle-button:focus-visible{outline-offset:4px;outline:2px solid #d6bb84b8}.music-toggle-button:before{content:"♪";font-size:1.05rem;line-height:1;display:block}.music-toggle-button:after{content:"";background:#f7f2e857;border-radius:999px;width:.42rem;height:.42rem;transition:background .18s,box-shadow .18s;position:absolute;bottom:.56rem;right:.55rem;box-shadow:0 0 #d6bb8400}.music-toggle-button.is-playing:after{background:#d6bb84;box-shadow:0 0 12px #d6bb84ad}.music-toggle-button.is-waiting{animation:2s ease-in-out infinite music-button-breathe}@keyframes music-button-breathe{0%,to{opacity:.72}50%{opacity:1}}@keyframes swipe-next-nudge{0%,to{transform:translate(0)rotate(135deg)}50%{transform:translate(-.42rem)rotate(135deg)}}@keyframes swipe-previous-nudge{0%,to{transform:translate(0)rotate(-45deg)}50%{transform:translate(.42rem)rotate(-45deg)}}.developer-options{z-index:30;color:#dfeeffad;-webkit-backdrop-filter:blur(14px);pointer-events:auto;isolation:isolate;touch-action:manipulation;background:#04091280;border:1px solid #beddff29;border-radius:8px;gap:.5rem;max-width:min(19rem,100vw - 2rem);padding:.65rem;display:grid;position:fixed;top:1rem;right:1rem;transform:translateZ(0);box-shadow:0 12px 44px #00000047}.developer-options-label{color:#dfeeff85;letter-spacing:.12em;font-size:.68rem;font-weight:650}.developer-options-controls{flex-wrap:wrap;gap:.35rem;display:flex}.developer-options button{color:#dfeeffa8;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#ffffff09;border:1px solid #beddff24;border-radius:999px;min-height:2rem;padding:.35rem .55rem;font-size:.74rem;font-weight:600;transition:border-color .18s,color .18s,background .18s}.developer-options button:hover,.developer-options button.is-active{color:#f4f9ffe6;background:#081222a8;border-color:#beddff47}.developer-options button.is-active{color:#f7f2e8;border-color:#d6bb848a}.developer-options button:focus-visible{outline-offset:3px;outline:2px solid #83b7ff94}.creator-credit{z-index:7;color:#f7f2e885;letter-spacing:.02em;pointer-events:none;white-space:nowrap;align-items:center;gap:.65rem;font-size:.78rem;font-weight:600;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.is-chat-wrapped-view .creator-credit{display:none}.creator-avatars{align-items:center;padding-inline:.12rem;display:flex;position:relative}.creator-avatars:before{content:"";background:linear-gradient(90deg,#d6bb8426,#d6bb84b8,#d6bb8426);width:1.25rem;height:1px;position:absolute;top:50%;left:1.85rem;transform:translateY(-50%)}.creator-avatars:after{content:"";background:#d6bb84;border-radius:999px;width:.34rem;height:.34rem;position:absolute;top:50%;left:2.35rem;transform:translateY(-50%);box-shadow:0 0 14px #d6bb848c}.creator-avatar{z-index:1;object-fit:cover;background:#050505;border:1px solid #f7f2e847;border-radius:50%;width:2.35rem;height:2.35rem;display:block;position:relative;overflow:hidden;box-shadow:0 12px 34px #0000006b,0 0 0 2px #000000b8}.creator-avatar+.creator-avatar{margin-left:-.45rem}.confirm-dialog-backdrop{z-index:20;pointer-events:auto;background:#000000ad;place-items:center;padding:1.25rem;animation:.42s both backdrop-enter;display:grid;position:fixed;inset:0}.confirm-dialog{text-align:center;-webkit-backdrop-filter:blur(18px);background:linear-gradient(#fffaf014,#fffaf009),#050505e0;border:1px solid #d6bb8447;border-radius:8px;width:min(28rem,100%);padding:clamp(1.4rem,5vw,2rem);animation:.56s cubic-bezier(.16,.72,.2,1) both dialog-enter;box-shadow:0 26px 90px #00000094,inset 0 1px #ffffff1f}.confirm-dialog h2{color:#f7f2e8;margin:0;font-size:clamp(1.45rem,5vw,2.25rem);font-weight:420;line-height:1.15}.confirm-dialog p:not(.eyebrow){color:#f7f2e89e;margin:.9rem auto 0;font-size:.95rem;line-height:1.7}.confirm-dialog-actions{justify-content:center;gap:.7rem;margin-top:1.45rem;display:flex}.confirm-dialog-actions button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:999px;min-height:2.65rem;padding:.58rem 1rem;font-size:.88rem;font-weight:650;transition:border-color .18s,background .18s,color .18s,transform .18s}.confirm-secondary{color:#f7f2e8a8;background:#ffffff09;border:1px solid #f7f2e82e}.confirm-primary{color:#f7f2e8;background:#d6bb8424;border:1px solid #d6bb848a}.confirm-dialog-actions button:hover{transform:translateY(-1px)}.confirm-dialog-actions button:focus-visible{outline-offset:4px;outline:2px solid #d6bb849e}.chat-wrapped-page{--wrapped-paper:#fff6df;--wrapped-ink:#281c2f;--wrapped-muted:#fff6dfad;--wrapped-gold:#f3c86d;--wrapped-coral:#ff8e9a;--wrapped-mint:#91ead4;--wrapped-blue:#78bdf8;--wrapped-body-font:"HarmonyOS Sans SC", "Alibaba PuHuiTi", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--wrapped-title-font:"LXGW WenKai Screen", "LXGW WenKai", "Noto Serif SC", "Songti SC", serif;--heat-cell:clamp(4px, .46vw, 7px);color:#fff8e9;height:100svh;min-height:100svh;font-family:var(--wrapped-body-font);pointer-events:auto;scroll-behavior:smooth;overscroll-behavior-y:contain;touch-action:none;background:linear-gradient(#02050ff0,#0c091cfa 46%,#07040d 100%),repeating-linear-gradient(90deg,#ffffff09 0 1px,#0000 1px 5.8rem);padding:0;display:block;position:relative;overflow:hidden}.chat-wrapped-page:focus{outline:none}.chat-wrapped-page:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(120deg,#0000 0 32%,#91ead414 32.2% 32.6%,#0000 32.8%),linear-gradient(60deg,#0000 0 58%,#ff8e9a14 58.1% 58.45%,#0000 58.7%),repeating-linear-gradient(0deg,#fff6df07 0 1px,#0000 1px 4.4rem);position:fixed;inset:0}.chat-wrapped-page:after{content:"";z-index:0;opacity:.52;pointer-events:none;background-image:radial-gradient(circle,#fff8e7bd 0 1px,#0000 1.4px),radial-gradient(circle,#91ead494 0 1px,#0000 1.2px),radial-gradient(circle,#ff8e9a80 0 1px,#0000 1.3px);background-position:6% 11%,38% 22%,73% 14%;background-size:13rem 14rem,17rem 15rem,19rem 18rem;position:fixed;inset:0}.wrapped-stars{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.wrapped-stars span{left:var(--star-left);top:var(--star-top);width:var(--star-size);height:var(--star-size);animation:wrapped-star-twinkle 3.2s var(--star-delay) ease-in-out infinite;background:#fff9e7eb;border-radius:50%;position:absolute;box-shadow:0 0 12px #fff6d27a}.wrapped-scroll-progress{z-index:18;background:linear-gradient(90deg, var(--wrapped-mint), var(--wrapped-gold), var(--wrapped-coral));width:100%;height:3px;transform:scaleX(var(--wrapped-scroll-progress,0));transform-origin:0;position:fixed;top:0;left:0}.wrapped-page-dots{z-index:19;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0608187a;border:1px solid #fff6df24;border-radius:999px;gap:.42rem;padding:.48rem;display:grid;position:fixed;top:50%;right:clamp(.85rem,2.2vw,1.55rem);transform:translateY(-50%);box-shadow:0 1rem 2.4rem #00000038}.wrapped-page-dots button{cursor:pointer;background:#fff6df29;border:1px solid #fff6df47;border-radius:999px;width:.55rem;height:.55rem;padding:0;transition:width .18s,height .18s,background .18s,border-color .18s,box-shadow .18s;position:relative}.wrapped-page-dots button:hover,.wrapped-page-dots button:focus-visible{background:#fff6df57;border-color:#fff6df99}.wrapped-page-dots button:focus-visible{outline-offset:3px;outline:2px solid #91ead49e}.wrapped-page-dots button.is-active{background:linear-gradient(180deg, var(--wrapped-mint), var(--wrapped-gold));border-color:#fff6dfb8;height:1.55rem;box-shadow:0 0 0 3px #fff6df14,0 0 18px #f3c86d80}.wrapped-page-dots span{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.wrapped-page-track{z-index:2;width:100%;min-height:100svh;animation:.42s both wrapped-page-enter;position:relative}.wrapped-cover,.wrapped-section,.wrapped-ending{box-sizing:border-box;z-index:2;scroll-snap-align:start;scroll-snap-stop:always;width:min(70rem,100% - 2rem);height:100svh;min-height:100svh;max-height:100svh;margin-inline:auto;position:relative;overflow:hidden}.wrapped-cover{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.72fr);align-items:center;gap:clamp(1.4rem,5vw,4rem);min-height:100svh;padding:clamp(4.5rem,10vh,7.5rem) 0;display:grid}.wrapped-cover-ledger{color:var(--wrapped-ink);background:linear-gradient(180deg, #ffffff8f, #fff6dfd6), repeating-linear-gradient(0deg, transparent 0 1.85rem, #7757361f 1.85rem calc(1.85rem + 1px)), var(--wrapped-paper);border:1px solid #60462d38;border-radius:8px;gap:clamp(.9rem,2.4vh,1.45rem);padding:clamp(1.35rem,4vw,3.4rem);display:grid;position:relative;transform:rotate(-1.2deg);box-shadow:0 2.2rem 5.5rem #0000006b,inset 0 1px #ffffffb3}.wrapped-cover-ledger:before,.wrapped-cover-ledger:after{content:"";background:#ffd8745c;border:1px solid #fff6d23d;width:7.6rem;height:1.45rem;position:absolute;box-shadow:0 .55rem 1.5rem #00000024}.wrapped-cover-ledger:before{top:-.75rem;left:1.6rem;transform:rotate(-5deg)}.wrapped-cover-ledger:after{bottom:-.78rem;right:1.9rem;transform:rotate(4deg)}.wrapped-cover-ledger p{margin:0;font-size:clamp(.95rem,1.6vw,1.15rem);font-weight:700;line-height:1.65}.wrapped-cover-ledger h1{color:var(--wrapped-ink);font-family:var(--wrapped-title-font);text-shadow:none;font-size:clamp(3rem,7.2vw,6.1rem);font-weight:400;line-height:1.14}.wrapped-cover-range{font-variant-numeric:tabular-nums;background:#ffffff52;border:1px dashed #281c2f42;border-radius:8px;width:fit-content;max-width:100%;padding:.54rem .78rem}.wrapped-tape{color:#2f2535;background:linear-gradient(90deg,#ffffff42,#ffffff05),#ffd063b8;border:1px solid #fff7dc33;border-radius:3px;width:fit-content;max-width:100%;padding:.42rem .72rem;font-size:.82rem;font-weight:800;display:inline-block;box-shadow:0 .7rem 1.6rem #00000029}.wrapped-cover-stats{gap:1rem;display:grid}.wrapped-cover-stat{-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#fff6df21,#ffffff09),#0a0e1ea8;border:1px solid #fff6df2e;border-radius:8px;align-content:center;gap:.16rem;min-height:6.3rem;padding:1.1rem;display:grid;position:relative;box-shadow:0 1.2rem 3rem #00000042}.wrapped-cover-stat strong{color:#fff9e7;font-variant-numeric:tabular-nums;text-shadow:0 0 28px #f3c86d2e;font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(2.15rem,5vw,4rem);font-weight:700;font-stretch:75%;line-height:.92}.wrapped-cover-stat span{color:#fff6dfb8;font-size:.86rem;font-weight:700}.wrapped-cover-postmark{color:#fff6df61;text-transform:uppercase;border:2px solid #fff6df38;border-radius:50%;place-items:center;width:8.4rem;height:8.4rem;font-family:Roboto Condensed,Arial Narrow,sans-serif;font-size:.9rem;font-weight:700;display:grid;position:absolute;bottom:clamp(5.2rem,10vh,7rem);right:min(4vw,2rem);transform:rotate(14deg)}.wrapped-cover-postmark span+span{margin-top:-4.8rem;font-size:.64rem}.wrapped-section{align-content:center;gap:clamp(1.4rem,4vh,2.4rem);min-height:100svh;padding:clamp(4.8rem,11vh,7.8rem) 0 clamp(5.6rem,12vh,8rem);display:grid}.wrapped-growth-section{grid-template-rows:auto minmax(0,1fr);align-content:start;gap:clamp(.7rem,2.2vh,1.4rem);padding-top:clamp(9.6rem,14vh,10.8rem);padding-bottom:clamp(2.5rem,4.8vh,3.9rem)}.wrapped-growth-section .wrapped-section-heading{transform:none}.wrapped-friendship-section .wrapped-section-heading h2{gap:.08em;display:grid}.wrapped-friendship-section .wrapped-section-heading h2>span{white-space:nowrap}.wrapped-section-heading{gap:.72rem;max-width:48rem;display:grid}.wrapped-section-meta{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));z-index:3;white-space:nowrap;align-items:center;gap:.56rem;max-width:min(32rem,100%);display:flex;position:fixed}.wrapped-section-number{color:#91ead4e6;font-variant-numeric:tabular-nums;background:#91ead414;border:1px solid #91ead44d;border-radius:999px;flex:none;width:fit-content;padding:.3rem .55rem;font-size:.8rem;font-weight:800}.wrapped-kicker{color:var(--wrapped-gold);text-transform:uppercase;white-space:nowrap;margin:0;font-family:Roboto Condensed,Arial Narrow,sans-serif;font-size:.86rem;font-weight:700}.wrapped-section h2,.wrapped-ending h2{color:#fff8e9;font-family:var(--wrapped-title-font);text-shadow:0 0 34px #fff6df1f;margin:0;font-size:clamp(2.25rem,6.2vw,5rem);font-weight:400;line-height:1.2}.wrapped-section-eyebrow,.wrapped-ending p{max-width:38rem;color:var(--wrapped-muted);margin:0;font-size:clamp(.96rem,1.6vw,1.08rem);line-height:1.8}.friendship-note{grid-template-columns:minmax(17rem,24rem) minmax(0,32rem);align-items:center;gap:clamp(1rem,4vw,2.2rem);display:grid}.friendship-date{min-height:12rem;color:var(--wrapped-ink);background:linear-gradient(180deg, #ffffff9e, #fff6dfe0), var(--wrapped-paper);border:1px solid #fff6df33;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(.7rem,2vw,1.35rem);padding:1.3rem;display:grid;transform:rotate(2deg);box-shadow:0 1.4rem 4rem #00000047}.friendship-date-pair{gap:.32rem;min-width:0;display:grid}.friendship-date-today{text-align:right;justify-items:end}.friendship-date-pair span{color:#281c2f8f;font-size:1.2rem;font-weight:800}.friendship-date-pair strong{font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(4rem,10vw,7rem);font-stretch:75%;line-height:.86}.friendship-date-connector{color:#281c2f61;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1}.friendship-note p{color:#fff6dfc7;margin:0;font-size:clamp(1.1rem,2.2vw,1.55rem);font-weight:700;line-height:1.7}.wrapped-scale-section{color:#fff9ee;grid-template-rows:auto auto;align-content:start;gap:clamp(1.1rem,2.5vh,1.75rem);width:100%;max-width:none;padding:clamp(7.8rem,13vh,10rem) clamp(2.4rem,7.2vw,4.25rem) clamp(5.4rem,8.5svh,7rem)}.wrapped-scale-section .wrapped-section-heading{z-index:4;gap:clamp(.55rem,1.3vh,.85rem);max-width:44rem;position:relative}.trace-sky{z-index:1;pointer-events:none;border-radius:0;position:absolute;inset:0;overflow:hidden}.trace-sky:before{content:"";opacity:.92;background:radial-gradient(circle at 72% 33%,#b4deff42 0 1px,#0000 1.4px) 0 0/6.2rem 6.8rem,radial-gradient(circle at 36% 16%,#fff8e1db 0 1.5px,#0000 2px) 0 0/9rem 10rem,radial-gradient(circle at 80% 8%,#ffd2a6d1 0 1px,#0000 1.6px) 0 0/7rem 8rem,radial-gradient(circle at 57% 26%,#ffffffc2 0 1px,#0000 1.4px) 0 0/5.2rem 6.1rem,radial-gradient(circle at 63% 19%,#ffffff7a 0 1px,#0000 1.3px) 0 0/4rem 4.8rem;position:absolute;inset:-10% -8% 18%}.trace-sky:after{content:"";background:radial-gradient(circle at 72% 44%,#74aeff47,#0000 28%),radial-gradient(circle at 77% 49%,#ffcb9129,#0000 19%),linear-gradient(135deg,#031831eb,#07122a9e 42%,#030b1be0);position:absolute;inset:0}.trace-shooting-star{z-index:3;background:linear-gradient(90deg,#0000,#a4d5ffdb,#fff4d4f2);border-radius:999px;width:clamp(5rem,14vw,8rem);height:1px;position:absolute;transform:rotate(132deg);box-shadow:0 0 12px #76b9ffb3}.trace-shooting-star-a{top:12%;left:32%}.trace-shooting-star-b{opacity:.62;width:clamp(3.8rem,10vw,6.5rem);top:20%;right:14%}.trace-orbit{z-index:3;aspect-ratio:2.6;border:1px solid #0000;border-color:#ffac8e7a #0000 #0000 #ffac8e7a;border-radius:50%;width:58%;position:absolute;top:18%;left:-7%;transform:rotate(-12deg)}.trace-orbit:after{content:"";background:#ffb18f;border-radius:50%;width:.62rem;height:.62rem;position:absolute;top:40%;right:7%;box-shadow:0 0 18px #ffb18fdb}.trace-planet{z-index:2;aspect-ratio:1;background:radial-gradient(circle at 20% 55%,#6ab1ff47,#0000 34%),radial-gradient(circle at 17%,#fff7d894,#0000 .8% 1.2%),linear-gradient(130deg,#4480d37a,#051737f5 38%,#020b1c 74%);border-radius:50%;width:78%;position:absolute;top:16%;right:-38%;box-shadow:-1.2rem 0 2.6rem #69b5ff80,inset .7rem .25rem #94ccff4d,inset 2rem .6rem 4rem #68a9ff2e}.trace-sunrise{z-index:3;background:#fff1bd;border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:42%;right:33%;box-shadow:0 0 1.3rem .45rem #ffd297eb,0 0 6rem 2.2rem #62b9ff61,0 0 0 999px #040d1f00}.trace-content{z-index:4;gap:clamp(1.1rem,2.5vh,1.75rem);display:grid;position:relative}.wrapped-scale-section .wrapped-section-heading h2{color:#fff9f0;letter-spacing:0;text-shadow:0 0 22px #fff6e01f,0 0 48px #70b5ff24;gap:.02em;font-family:Noto Serif SC,Songti SC,SimSun,serif;font-size:clamp(3rem,8.8vw,7.2rem);font-weight:700;line-height:1.17;display:grid}.wrapped-scale-section .wrapped-section-heading h2>span{transform-origin:0;width:fit-content;transform:scaleX(1.06)}.wrapped-scale-section .wrapped-section-heading h2 strong{color:#ffe4bd;background:linear-gradient(#fff6df 12%,#ffc495 62%,#ff8dae 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:"Bodoni 72",Didot,Times New Roman,serif;font-size:1.24em;font-weight:400;line-height:.82}.trace-count-line{white-space:nowrap;align-items:baseline;gap:.18em;display:flex}.trace-count-line>span,.trace-count-line em{line-height:1}.trace-count-line strong{display:inline-block}.trace-count-line em{color:#fff9f0;font-size:.86em;font-style:normal}.wrapped-scale-section .wrapped-section-eyebrow{color:#fff7ee9e;max-width:30rem;font-size:clamp(1.02rem,2.3vw,1.52rem);font-weight:600;line-height:1.8}.trace-total-card,.trace-detail-card{-webkit-backdrop-filter:blur(18px);border:1px solid #ffdfda7a;border-radius:1.6rem;position:relative;overflow:hidden;box-shadow:0 1.4rem 3.5rem #00000061,inset 0 1px #ffffff85}.trace-total-card{background:radial-gradient(circle at 76% 12%,#ffdfee47,#0000 30%),linear-gradient(135deg,#fff3,#899fc229 42%,#ffffff12),#47537094;grid-template-columns:minmax(0,1fr) minmax(7rem,13rem);align-items:center;gap:clamp(.75rem,2.4vw,1.4rem);min-height:clamp(8.8rem,18vh,12rem);padding:clamp(1.1rem,3vw,2rem);display:grid}.trace-total-card:after{content:"";background:radial-gradient(#ffe2c233,#0000 62%);height:72%;position:absolute;inset:auto -10% -35% 42%}.trace-card-kicker{color:#fff9e8;align-items:center;gap:.72rem;font-size:clamp(1rem,2.3vw,1.45rem);font-weight:800;line-height:1.25;display:flex}.trace-card-kicker:before{content:"";background:#ffc584;border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 16px #ffc584b8}.trace-total-card strong{letter-spacing:0;background:linear-gradient(92deg,#ffd39a,#fff0cd 48%,#ff8eb7 88%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:clamp(1.1rem,2.5vh,1.55rem);font-family:Bahnschrift Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(4.5rem,12vw,9rem);font-weight:700;font-stretch:75%;line-height:.88;display:block}.trace-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;display:block;overflow:visible}.trace-total-card .trace-icon{color:#fff7eebd;filter:drop-shadow(0 .65rem 1.2rem #00000047)drop-shadow(0 0 1rem #ffe9dc33);justify-self:center;width:min(12.5rem,100%)}.trace-chat-icon path{fill:#f5f8ff1f;stroke:#fff9ee9e}.trace-chat-icon circle{fill:#fff9eeb3;stroke:none}.trace-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.55rem);display:grid}.trace-detail-card{grid-template-columns:clamp(4.4rem,8vw,6.2rem) minmax(0,1fr);align-items:center;gap:clamp(.85rem,2vw,1.35rem);min-height:clamp(8.3rem,18vh,11.4rem);padding:clamp(.95rem,2.3vw,1.45rem);display:grid}.trace-detail-card:before{content:"";background:radial-gradient(circle at 18% 18%, #ffffff70, transparent 34%), linear-gradient(135deg, var(--trace-card-start), var(--trace-card-end));z-index:0;position:absolute;inset:0}.trace-detail-card>*{z-index:1;position:relative}.trace-detail-card .trace-icon{color:#ffffffeb;background:#ffffff38;border:1px solid #ffffff6b;border-radius:50%;width:clamp(4.4rem,8vw,5.8rem);height:clamp(4.4rem,8vw,5.8rem);padding:1.12rem;box-shadow:0 .8rem 1.8rem #0000002e,inset 0 1px #ffffff80}.trace-detail-card span{color:var(--trace-ink);margin-bottom:clamp(.7rem,1.6vh,1.05rem);font-size:clamp(.95rem,2.2vw,1.32rem);font-weight:800;display:block}.trace-detail-card strong{color:var(--trace-number);letter-spacing:0;font-variant-numeric:tabular-nums;font-family:Bahnschrift Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(2.6rem,7.4vw,5rem);font-weight:700;font-stretch:75%;line-height:.9;display:block}.trace-detail-card.is-emoji{--trace-card-start:#71cdcee6;--trace-card-end:#f5ffedf2;--trace-ink:#12485a;--trace-number:#0b5c70}.trace-detail-card.is-image{--trace-card-start:#e29acde6;--trace-card-end:#ffede3fa;--trace-ink:#7e3462;--trace-number:#b14879}.trace-detail-card.is-voice{--trace-card-start:#68a9deeb;--trace-card-end:#eafffaf5;--trace-ink:#10406c;--trace-number:#124f82}.trace-detail-card.is-video{--trace-card-start:#bea98ceb;--trace-card-end:#fff2cdfa;--trace-ink:#755124;--trace-number:#a87522}.trace-thanks{color:#ffeee0b8;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(.85rem,2.5vw,1.4rem);width:min(32rem,82%);margin:clamp(1.8rem,4.2vh,3rem) auto 0;display:grid}.trace-thanks span{background:linear-gradient(90deg,#0000,#ffd9bc57);height:1px}.trace-thanks span:last-child{background:linear-gradient(90deg,#ffd9bc57,#0000)}.trace-thanks p{letter-spacing:.24em;text-align:center;text-transform:uppercase;margin:0;font-size:clamp(.72rem,1.6vw,.98rem);font-weight:600;line-height:1.55}.tree-chart-frame{width:min(36rem,100%);margin-inline:auto;padding:0;transform:translateY(clamp(1.75rem,3.2vh,2.2rem))}.tree-chart{width:100%;height:auto;display:block;overflow:visible}.growth-tree-scene{touch-action:pan-y;-webkit-user-select:none;user-select:none;align-items:end;width:100%;min-height:clamp(17rem,48vh,28rem);display:grid;position:relative}.growth-year-panel{z-index:4;pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;max-width:min(34rem,100%);margin-inline:auto;display:flex;position:absolute;bottom:clamp(.4rem,1.4vh,.9rem);left:0;right:0}.growth-year-current{color:#fff6dfbd;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060a1a8a;border:1px solid #fff6df21;border-radius:8px;gap:.12rem;min-width:8.4rem;padding:.62rem .72rem;display:grid;box-shadow:0 1rem 2.8rem #00000040}.growth-year-current span,.growth-year-current i{font-size:.76rem;font-style:normal;font-weight:800}.growth-year-current strong{color:var(--wrapped-gold);font-variant-numeric:tabular-nums;font-family:Roboto Condensed,Arial Narrow,sans-serif;font-size:1.55rem;line-height:1}.growth-year-track{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060a1a7a;border:1px solid #fff6df21;border-radius:999px;gap:.42rem;width:fit-content;padding:.34rem;display:flex}.growth-year-slider{justify-items:center;gap:.34rem;display:grid}.growth-year-track span{color:#fff6df9e;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;min-width:3.45rem;min-height:2.05rem;padding:0 .64rem;font-size:.76rem;font-weight:900;transition:border-color .18s,background .18s,color .18s,transform .18s;display:grid}.growth-year-track span.is-active{color:var(--wrapped-ink);background:linear-gradient(180deg, var(--wrapped-mint), var(--wrapped-gold));border-color:#91ead470;transform:translateY(-1px)}.growth-swipe-cue{color:#91ead4d1;white-space:nowrap;text-shadow:0 0 14px #91ead43d;align-self:center;font-size:.78rem;font-weight:800}.tree-ground-line,.tree-trunk,.tree-branch,.tree-root{fill:none;stroke-linecap:round;stroke-linejoin:round}.tree-ground-line{stroke:#fff6df42;stroke-width:7px}.tree-trunk{stroke:url(#treeBarkGradient);stroke-width:var(--tree-stroke);filter:drop-shadow(0 0 16px #f3c86d29)}.tree-branch{stroke:url(#treeBarkGradient);stroke-width:var(--tree-stroke)}.tree-root{stroke:#9a6545c7;stroke-width:5px}.tree-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:tree-line-grow 1.1s var(--tree-delay,0s) cubic-bezier(.36, 0, .2, 1) both}.tree-roots,.tree-wood,.tree-leaf-canopy,.tree-blossom-layer{transform-box:view-box;transform-origin:320px 360px;transition:transform .42s}.tree-stage-1 .tree-roots,.tree-stage-1 .tree-wood,.tree-stage-1 .tree-leaf-canopy,.tree-stage-1 .tree-blossom-layer{transform:scale(.44)}.tree-stage-2 .tree-roots,.tree-stage-2 .tree-wood,.tree-stage-2 .tree-leaf-canopy,.tree-stage-2 .tree-blossom-layer{transform:scale(.66)}.tree-stage-3 .tree-roots,.tree-stage-3 .tree-wood,.tree-stage-3 .tree-leaf-canopy,.tree-stage-3 .tree-blossom-layer{transform:scale(.86)}.tree-stage-4 .tree-roots,.tree-stage-4 .tree-wood,.tree-stage-4 .tree-leaf-canopy,.tree-stage-4 .tree-blossom-layer{transform:scale(1)}.tree-leaf{opacity:0;transform-box:fill-box;transform-origin:50%;filter:url(#treeSoftGlow);animation:tree-leaf-grow .76s var(--leaf-delay) cubic-bezier(.2, .88, .24, 1.18) both;transform:scale(.28)translateY(12px)}.tree-leaf-mint{fill:url(#treeLeafMint)}.tree-leaf-green{fill:url(#treeLeafGreen)}.tree-leaf-deep{fill:url(#treeLeafDeep)}.tree-blossom{opacity:0;fill:#ff9eaa;filter:drop-shadow(0 0 8px #ff8e9a80);transform-box:fill-box;transform-origin:50%;animation:tree-blossom-pop .52s var(--flower-delay) ease-out both}@keyframes tree-line-grow{to{stroke-dashoffset:0}}@keyframes tree-leaf-grow{0%{opacity:0;transform:scale(.28)translateY(12px)}70%{opacity:.94;transform:scale(1.06)translateY(0)}to{opacity:.88;transform:scale(1)translateY(0)}}@keyframes tree-blossom-pop{0%{opacity:0;transform:scale(0)}72%{opacity:1;transform:scale(1.28)}to{opacity:.96;transform:scale(1)}}.heatmap-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.9rem,2vw,1.2rem);display:grid}.heatmap-year-card{background:#060a1a9e;border:1px solid #fff6df24;border-radius:8px;gap:.6rem;min-width:0;padding:1rem;display:grid;box-shadow:0 1.2rem 3rem #0000003d}.heatmap-year-heading{color:#fff6dfcc;justify-content:space-between;gap:.8rem;font-size:.9rem;font-weight:800;display:flex}.heatmap-year-heading span{color:var(--wrapped-gold);font-variant-numeric:tabular-nums}.heatmap-month-row{color:#fff6df6b;gap:2px;width:max-content;font-size:.64rem;font-weight:700;display:grid}.heatmap-month-row span{min-width:1.6rem}.heatmap-grid{grid-auto-columns:var(--heat-cell);grid-auto-flow:column;grid-template-rows:repeat(7, var(--heat-cell));gap:2px;width:max-content;display:grid}.heatmap-grid span,.heatmap-legend i{width:var(--heat-cell);height:var(--heat-cell);background:#fff6df0f;border-radius:2px;display:block;box-shadow:inset 0 0 0 1px #ffffff09}.heatmap-grid span[data-level="1"],.heatmap-legend i[data-level="1"]{background:#91ead42e}.heatmap-grid span[data-level="2"],.heatmap-legend i[data-level="2"]{background:#91ead457}.heatmap-grid span[data-level="3"],.heatmap-legend i[data-level="3"]{background:#78bdf880}.heatmap-grid span[data-level="4"],.heatmap-legend i[data-level="4"]{background:#f3c86db8}.heatmap-grid span[data-level="5"],.heatmap-legend i[data-level="5"]{background:#ff8e9ae6;box-shadow:0 0 10px #ff8e9a61,inset 0 0 0 1px #ffffff2e}.heatmap-grid span.is-top-day{outline-offset:1px;outline:1px solid #fff8e7c7}.heatmap-grid span.is-empty{box-shadow:none;background:0 0}.heatmap-legend{color:#fff6df8a;align-items:center;gap:.35rem;font-size:.76rem;font-weight:800;display:flex}.hour-clock-layout{grid-template-columns:minmax(17rem,24rem) minmax(0,1fr);align-items:center;gap:clamp(1.4rem,5vw,4rem);display:grid}.hour-clock{width:min(24rem,100%);height:auto;margin-inline:auto;display:block;overflow:visible}.hour-clock-face{fill:#fff6df09;stroke:#fff6df29;stroke-width:1.5px}.hour-arc{fill:none;stroke:rgba(120, 189, 248, calc(.2 + var(--arc-strength) * .72));stroke-linecap:round;filter:drop-shadow(0 0 9px #78bdf838)}.hour-arc.is-highlighted{stroke:rgba(255, 142, 154, calc(.45 + var(--arc-strength) * .55));filter:drop-shadow(0 0 12px #ff8e9a6b)}.hour-clock-label,.hour-clock-center,.hour-clock-center-sub{text-anchor:middle;dominant-baseline:middle;fill:#fff6dfb3;font-weight:800}.hour-clock-label{font-size:13px}.hour-clock-center{fill:#fff8e9;font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:42px;font-stretch:75%}.hour-clock-center-sub{fill:var(--wrapped-gold);text-transform:uppercase;font-size:10px}.hour-clock-notes{gap:.7rem;display:grid}.hour-segment-note,.hour-highlight-note{background:#fff6df0b;border:1px solid #fff6df24;border-radius:8px;grid-template-columns:minmax(8rem,1fr) auto auto;align-items:center;gap:.7rem;padding:.82rem .9rem;display:grid}.hour-segment-note span,.hour-highlight-note span{color:#fff6dfa8;font-weight:800}.hour-segment-note strong,.hour-highlight-note strong{color:#fff8e9;font-variant-numeric:tabular-nums}.hour-segment-note i{color:var(--wrapped-gold);font-style:normal;font-weight:800}.hour-highlight-note{background:#ff8e9a17;border-color:#ff8e9a42;grid-template-columns:1fr}.hour-highlight-note p{color:#fff6df9e;font-variant-numeric:tabular-nums;margin:0;font-size:.88rem;line-height:1.7}.sender-layout{grid-template-columns:minmax(20rem,.78fr) minmax(0,1fr);align-items:center;gap:clamp(1.4rem,5vw,3.4rem);display:grid}.sender-bubbles{justify-content:center;align-items:center;gap:clamp(.4rem,2vw,1rem);min-height:19rem;display:flex}.sender-bubble{width:calc(9.2rem * var(--bubble-scale));aspect-ratio:1;text-align:center;background:linear-gradient(145deg,#91ead452,#78bdf82e),#ffffff0a;border:1px solid #fff6df38;border-radius:50%;place-items:center;padding:1rem;display:grid;box-shadow:0 2rem 5rem #00000047,inset 0 1px #fff3}.sender-bubble:nth-child(2){background:linear-gradient(145deg,#ff8e9a57,#f3c86d2e),#ffffff0a}.sender-bubble span{color:#fff6dfc7;align-self:end;font-size:clamp(.9rem,1.8vw,1.1rem);font-weight:900}.sender-bubble strong{color:#fff8e9;font-variant-numeric:tabular-nums;font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(2.6rem,6vw,4.8rem);font-stretch:75%;line-height:.8}.sender-bubble i{color:var(--wrapped-gold);align-self:start;font-style:normal;font-weight:900}.style-board{gap:.9rem;display:grid}.style-row{grid-template-columns:minmax(7rem,9rem) minmax(0,1fr);align-items:center;gap:.9rem;display:grid}.style-label{color:#fff6dfb8;font-weight:800}.style-track{gap:.4rem;display:grid}.style-fill{width:max(3.8rem, calc(var(--style-width) * 100%));color:#160f1b;text-align:right;font-variant-numeric:tabular-nums;border-radius:6px;padding:.36rem .55rem;font-size:.8rem;font-weight:900;line-height:1.2;display:block}.style-fill-scar{background:#91ead4d1}.style-fill-fish{background:#ff8e9ad6}.reply-stat-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,2vw,1.1rem);display:grid}.reply-stat{background:#fff6df0e;border:1px solid #fff6df24;border-radius:8px;align-content:center;gap:.8rem;min-height:10.5rem;padding:1rem;display:grid;box-shadow:0 1.2rem 3.4rem #0000003d}.reply-stat span{color:#fff6dfad;font-weight:800}.reply-stat strong{color:#fff8e9;font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(2.5rem,6vw,4.6rem);font-stretch:75%;line-height:.85}.reply-stat i{background:linear-gradient(90deg, var(--wrapped-mint), var(--wrapped-gold)) 0 0 / calc(var(--reply-progress) * 100%) 100% no-repeat, #fff6df1a;border-radius:999px;height:.42rem;display:block}.word-cloud{flex-wrap:wrap;align-items:center;gap:clamp(.55rem,1.8vw,1rem);max-width:58rem;display:flex}.word-cloud span{color:#1f1728;background:var(--wrapped-paper);min-height:2.7rem;font-family:var(--wrapped-title-font);font-size:calc(1rem + var(--word-weight) * 2.3rem);transform:rotate(calc((var(--word-index) - 4) * .9deg));border:1px solid #fff6df29;border-radius:8px;align-items:center;padding:.22rem .76rem;font-weight:400;line-height:1;display:inline-flex;box-shadow:0 .8rem 2.2rem #0003}.word-cloud span:nth-child(3n+1){background:#dcfff3}.word-cloud span:nth-child(3n+2){background:#ffe3e8}.session-ticket-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,2vw,1.2rem);display:grid}.session-ticket{background:linear-gradient(#fff6df17,#fff6df0a),#060a1ab8;border:1px solid #fff6df29;border-radius:8px;align-content:space-between;gap:.85rem;min-height:15rem;padding:1rem;display:grid;box-shadow:0 1.2rem 3rem #00000042}.session-rank{color:#150f1d;background:var(--wrapped-gold);border-radius:999px;width:fit-content;padding:.3rem .5rem;font-size:.8rem;font-weight:900}.session-ticket p{color:#fff6dfad;font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;line-height:1.6}.session-ticket strong{color:#fff8e9;font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,Roboto Condensed,Impact,sans-serif;font-size:clamp(2.5rem,5vw,4.2rem);font-stretch:75%;line-height:.85}.session-ticket>span:last-child{color:var(--wrapped-mint);font-weight:900}.chat-milestone-timeline{gap:.8rem;max-width:54rem;display:grid;position:relative}.chat-milestone-timeline:before{content:"";background:linear-gradient(180deg, var(--wrapped-mint), var(--wrapped-gold), var(--wrapped-coral));width:2px;position:absolute;top:.85rem;bottom:.85rem;left:.55rem}.chat-milestone{background:#fff6df0d;border:1px solid #fff6df21;border-radius:8px;grid-template-columns:minmax(8rem,10rem) minmax(0,1fr) minmax(7rem,auto);align-items:center;gap:.9rem;padding:.84rem 1rem .84rem 2rem;display:grid;position:relative}.chat-milestone:before{content:"";background:#fff8e9;border-radius:50%;width:.62rem;height:.62rem;position:absolute;top:50%;left:.28rem;transform:translateY(-50%);box-shadow:0 0 16px #fff6df6b}.chat-milestone span,.chat-milestone i{color:var(--wrapped-gold);font-style:normal;font-weight:900}.chat-milestone strong{color:#fff6dfc7;font-variant-numeric:tabular-nums;font-size:.92rem}.wrapped-ending{text-align:center;align-content:center;justify-items:center;gap:1rem;min-height:100svh;padding:clamp(4.8rem,11vh,7.8rem) 0 clamp(7rem,15vh,10rem);display:grid}.wrapped-ending h2{max-width:12em}.wrapped-ending p{margin-inline:auto}.wrapped-previous-hint{position:fixed;bottom:clamp(4.6rem,9vh,6rem);right:clamp(1.1rem,4vw,3.2rem)}@keyframes wrapped-star-twinkle{0%,to{opacity:.18;transform:scale(.72)}50%{opacity:1;transform:scale(1.22)}}@keyframes wrapped-page-enter{0%{opacity:0}to{opacity:1}}@media (width<=760px){.page{padding:1.25rem}.countdown-content,.birthday-hero{z-index:4;text-align:center;width:min(54rem,100vw - 2rem);padding:2.25rem 0;position:relative}h1{font-size:clamp(2.35rem,8.4vw,3.25rem)}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,34rem);margin-top:2.25rem}.time-card{min-height:6.2rem;padding:0 .4rem}.time-value{font-size:clamp(2.75rem,15vw,5rem)}.time-label{letter-spacing:.18em;margin-top:.8rem;font-size:.68rem}.surprise-button{max-width:100%;padding-inline:1rem;font-size:.82rem}.page-action-row{width:min(22rem,100vw - 2rem);bottom:clamp(5.25rem,10vh,7rem)}.birthday-page{place-items:end center}.birthday-page:before{background:linear-gradient(#0000000f,#000000c7 58%,#000000eb),linear-gradient(90deg,#00000057,#0003)}.birthday-earth{inset:0}.birthday-hero{text-align:center;width:min(25rem,100vw - 2rem);padding:0 0 clamp(8.5rem,18vh,10rem);transform:none}.birthday-hero h1{width:100%;margin-inline:auto;font-size:clamp(2rem,8.6vw,3.35rem)}.earth-days{justify-content:center;font-size:clamp(4.4rem,22vw,7rem)}.birthday-hero .description{max-width:22rem;margin:0 auto}.birthday-milestone-page,.birthday-cake-page{place-items:center;padding:1.25rem}.milestone-orbit{width:125vw;top:43%}.milestone-content{width:min(25rem,100vw - 2rem);padding:clamp(5rem,18vh,8.5rem) 0 clamp(6.8rem,16vh,8rem)}.milestone-kicker{font-size:clamp(1.85rem,10vw,3.2rem)}.milestone-content h1{font-size:clamp(3.05rem,14vw,4.55rem)}.milestone-subline{font-size:clamp(1.45rem,7vw,2.25rem)}.milestone-next-line{border-radius:8px}.cake-stage{z-index:6;width:min(33rem,116vw);height:min(22rem,42vh);top:0}.cake-content{width:min(25rem,100vw - 2rem);padding-top:clamp(16rem,38vh,20rem);padding-bottom:clamp(6.8rem,16vh,8rem)}.cake-greeting h1{white-space:nowrap;max-width:none;font-size:clamp(2.5rem,10vw,3.5rem);line-height:1.13}.cake-wish-section h1{font-size:clamp(2rem,9vw,2.75rem)}.cake-content .description{max-width:22rem;margin-inline:auto}.cake-ritual-panel{justify-items:center;width:min(22rem,100%);margin-inline:auto}.blow-start-button{justify-self:center;min-height:2.65rem;padding-inline:1rem;font-size:.84rem}.cake-ritual-hint{text-align:center;max-width:20rem}.secret-poem-page{place-items:center;padding:1rem}.secret-letter{width:min(25.5rem,100vw - 2.25rem);height:min(38rem,100svh - 9.5rem);margin-inline:auto;display:block}.secret-letter:after{width:18rem;height:18rem;left:50%}.secret-letter-scroll{min-height:0;padding:0 .35rem clamp(4.8rem,12vh,6rem)}.secret-letter h1{font-size:clamp(2.45rem,10vw,3.45rem)}.secret-reveal-cover{min-height:calc(min(38rem,100svh - 9.5rem) + 5rem);padding:clamp(2rem,7vh,3.4rem) 0 clamp(3rem,9vh,4.2rem)}.secret-reveal-cover h1{font-size:clamp(2.15rem,9.6vw,3.15rem)}.secret-reveal-cover p:not(.secret-reveal-kicker){max-width:21rem;font-size:.92rem;line-height:1.78}.secret-cover-cue{bottom:clamp(7rem,16vh,9rem)}.secret-letter-heading{align-self:auto;margin-top:clamp(2.8rem,8vh,4.5rem);padding:0 0 1rem}.secret-orbits{width:145vw;top:44%}.secret-poem-lead{max-width:22rem;margin-top:.9rem;font-size:.92rem;line-height:1.72}.secret-acrostic-line{margin-top:1rem;padding:0 0 0 .8rem;font-size:.82rem;line-height:1.62}.secret-reveal-kicker{font-size:clamp(1.7rem,8vw,2.4rem)}.secret-letter-nav{inset:0}.secret-end-hint-previous{top:auto;bottom:clamp(5rem,10vh,6.2rem);right:1.25rem;transform:none}.secret-end-hint-next{bottom:clamp(5rem,10vh,6.2rem);left:1.25rem}.secret-poem-list{gap:.4rem;margin-top:1.15rem}.secret-poem-list p{grid-template-columns:1.65rem 1.45rem minmax(0,1fr);gap:.42rem;padding:.42rem 0;font-size:.9rem;line-height:1.72}.secret-line-first{font-size:1.42em}.secret-previous-hint{top:auto;bottom:clamp(5rem,10vh,6.2rem);right:1.25rem;transform:none}.cake-previous-hint{bottom:clamp(5rem,10vh,6.2rem);right:1.25rem}.swipe-hint{font-size:.68rem}.swipe-hint span{width:1.65rem;height:1.65rem}.swipe-hint-next{bottom:clamp(5rem,10vh,6.2rem);left:1.25rem}.swipe-hint-previous{top:auto;bottom:clamp(5rem,10vh,6.2rem);right:1.25rem;transform:none}.poem-row{flex-wrap:wrap;gap:.48rem;padding-inline:.5rem;display:flex}.developer-options{max-width:calc(100vw - 1.5rem);top:.75rem;right:.75rem}.music-toggle-button{top:max(.9rem, env(safe-area-inset-top));right:max(.9rem, env(safe-area-inset-right));width:2.35rem;height:2.35rem}.developer-options button{min-height:2.35rem;padding:.45rem .68rem}.creator-credit{gap:.5rem;font-size:.72rem;bottom:.8rem}.creator-avatar{width:2rem;height:2rem}.creator-avatars:before{width:1.05rem;left:1.55rem}.creator-avatars:after{left:1.98rem}.confirm-dialog-actions{flex-direction:column-reverse}.chat-wrapped-page{--heat-cell:clamp(5.4px, 1.08vw, 6.8px);padding:0}.wrapped-cover,.wrapped-section,.wrapped-ending{width:min(100% - 1.5rem,29rem);height:100svh;min-height:100svh;max-height:100svh;overflow:hidden}.wrapped-section.wrapped-scale-section{gap:clamp(.9rem,2.1svh,1.15rem);width:100%;max-width:none;padding:clamp(8.2rem,16.5svh,9rem) clamp(.75rem,4.8vw,1.1rem) clamp(2.9rem,8svh,4rem)}.trace-content{gap:clamp(1rem,2.4svh,1.25rem)}.wrapped-scale-section .wrapped-section-heading{gap:.72rem}.wrapped-scale-section .wrapped-section-heading h2{font-size:clamp(2.9rem,12.6vw,4.15rem);line-height:1.15}.trace-total-card{border-radius:1.35rem;grid-template-columns:minmax(0,1fr) minmax(5.5rem,8.5rem);min-height:clamp(8rem,18svh,9.3rem);padding:1.05rem}.trace-total-card strong{font-size:clamp(4rem,18vw,5.35rem)}.trace-detail-grid{gap:clamp(.72rem,3vw,.95rem)}.trace-detail-card{border-radius:1.18rem;grid-template-columns:clamp(3.55rem,14vw,4.2rem) minmax(0,1fr);min-height:clamp(7rem,17svh,8.2rem);padding:.78rem}.trace-detail-card .trace-icon{width:clamp(3.55rem,14vw,4.15rem);height:clamp(3.55rem,14vw,4.15rem);padding:.9rem}.trace-detail-card span{margin-bottom:.48rem;font-size:clamp(.82rem,3.5vw,1rem)}.trace-detail-card strong{font-size:clamp(2.35rem,11vw,3.45rem)}.trace-thanks{width:min(23rem,86%);margin-top:clamp(1.15rem,3.2svh,1.8rem)}.wrapped-page-dots{grid-auto-flow:column;gap:.32rem;padding:.38rem .52rem;inset:auto auto .7rem 50%;transform:translate(-50%)}.wrapped-page-dots button{width:.42rem;height:.42rem}.wrapped-page-dots button.is-active{width:1.16rem;height:.42rem}.wrapped-cover{grid-template-columns:1fr;gap:clamp(.55rem,1.6vh,.9rem);padding:clamp(2rem,5vh,3.4rem) 0 clamp(3.1rem,7vh,4.4rem)}.wrapped-cover-ledger{gap:.58rem;padding:1rem;transform:none}.wrapped-cover-ledger p{font-size:.88rem;line-height:1.42}.wrapped-cover-ledger h1{font-size:clamp(2.15rem,10.4vw,3.55rem);line-height:1.08}.wrapped-cover-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem}.wrapped-cover-stat{min-height:4.45rem;padding:.62rem}.wrapped-cover-stat strong{font-size:clamp(1.8rem,9vw,2.75rem)}.wrapped-cover-postmark{display:none}.wrapped-section{gap:clamp(.72rem,2vh,1rem);padding:clamp(2.2rem,5.4vh,3.7rem) 0 clamp(3.2rem,7vh,4.4rem)}.wrapped-growth-section{gap:clamp(.35rem,1.1vh,.7rem);padding-top:clamp(6.8rem,11.2vh,7.55rem);padding-bottom:clamp(2.4rem,5vh,3.3rem)}.wrapped-growth-section .wrapped-section-heading{transform:none}.wrapped-section-heading{gap:.42rem}.wrapped-section-meta{top:max(.9rem, env(safe-area-inset-top));left:max(.9rem, env(safe-area-inset-left));gap:.42rem}.wrapped-section h2,.wrapped-ending h2{font-size:clamp(1.9rem,9.8vw,3.05rem);line-height:1.14}.wrapped-section-eyebrow,.wrapped-ending p{font-size:.86rem;line-height:1.55}.wrapped-section-number{padding:.22rem .45rem;font-size:.68rem}.wrapped-kicker{font-size:.72rem}.friendship-note{grid-template-columns:1fr}.wrapped-friendship-section .wrapped-section-heading h2{font-size:2rem}.friendship-date{min-height:7.2rem;transform:none}.message-scale-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message-scale-sticker{min-height:6.8rem;padding:.72rem;transform:none}.message-scale-sticker strong{font-size:clamp(1.9rem,8.8vw,3rem)}.message-scale-sticker:first-child{grid-column:1/-1}.tree-chart-frame{padding:0;transform:translateY(clamp(1.35rem,2.7vh,1.8rem))}.tree-chart{max-height:43svh}.growth-tree-scene{min-height:clamp(17rem,47vh,25rem)}.growth-year-panel{justify-content:center;align-items:end;gap:.72rem;max-width:min(25rem,100% - 3rem);position:relative;bottom:auto}.growth-year-current{min-width:6.8rem;padding:.5rem .58rem}.growth-year-current strong{font-size:1.24rem}.growth-year-track{flex:none;justify-content:center;gap:.16rem;padding:.26rem}.growth-year-track span{min-width:2.55rem;min-height:1.9rem;padding:0 .3rem;font-size:.68rem}.growth-swipe-cue{text-align:center;font-size:.7rem}.heatmap-board{grid-template-columns:1fr;gap:.56rem}.heatmap-year-card{gap:.42rem;padding:.58rem;overflow-x:auto}.heatmap-grid{gap:1px}.heatmap-month-row{gap:1px;font-size:.62rem}.hour-clock-layout,.sender-layout{grid-template-columns:1fr;gap:.72rem}.hour-clock{width:min(13.5rem,62vw)}.hour-clock-notes{gap:.42rem}.hour-segment-note{grid-template-columns:minmax(4.8rem,1fr) auto auto;gap:.32rem;padding:.46rem .56rem;font-size:.78rem}.hour-segment-note i{grid-column:auto}.hour-highlight-note{gap:.36rem;padding:.52rem .58rem;font-size:.78rem}.hour-highlight-note p{font-size:.72rem;line-height:1.35}.sender-bubbles{flex-direction:row;min-height:10.8rem}.sender-bubble{width:min(11.6rem, calc(6.45rem * var(--bubble-scale)));padding:.72rem}.style-board{gap:.48rem}.style-row{grid-template-columns:1fr;gap:.34rem;padding:.56rem .62rem}.reply-stat-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem}.reply-stat{gap:.54rem;min-height:7.1rem;padding:.72rem}.word-cloud span{font-size:calc(.92rem + var(--word-weight) * 1.55rem)}.session-ticket-grid{grid-template-columns:1fr;gap:.52rem}.session-ticket{gap:.38rem;min-height:6.3rem;padding:.64rem .72rem}.session-ticket p{font-size:.78rem;line-height:1.32}.session-ticket strong{font-size:clamp(1.55rem,8vw,2.3rem)}.chat-milestone-timeline{gap:.42rem}.chat-milestone{grid-template-columns:1fr;gap:.18rem;padding:.5rem .72rem .5rem 1.6rem;font-size:.78rem}.wrapped-ending{min-height:100svh}.wrapped-previous-hint{display:none}.wrapped-scale-section .trace-content{gap:clamp(.9rem,2svh,1.08rem);margin-top:clamp(2.15rem,5.2svh,2.75rem)}.wrapped-scale-section .wrapped-section-heading{gap:.46rem;max-width:none}.wrapped-scale-section .wrapped-section-heading h2{letter-spacing:0;row-gap:.12em;font-size:clamp(2.28rem,9.4vw,2.56rem);line-height:1.18}.wrapped-scale-section .wrapped-section-heading h2>span{transform:none}.wrapped-scale-section .wrapped-section-heading h2 .trace-title-line,.wrapped-scale-section .wrapped-section-heading h2 .trace-count-line{white-space:nowrap;border-radius:.2rem;width:fit-content;padding-inline:.02em .03em;display:block}.wrapped-scale-section .wrapped-section-heading h2 .trace-title-line{letter-spacing:.02em}.wrapped-scale-section .wrapped-section-heading h2 .trace-title-line-1{text-align:left;width:fit-content}.wrapped-scale-section .wrapped-section-heading h2 .trace-title-line-2{text-align:left;width:9.4em}.wrapped-scale-section .trace-count-line strong{font-size:1.34em}.wrapped-scale-section .wrapped-section-eyebrow{max-width:19rem;font-size:.78rem;line-height:1.45}.wrapped-scale-section .trace-total-card{border-radius:1.05rem;grid-template-columns:minmax(0,1fr) minmax(4.6rem,5.6rem);gap:.34rem;min-height:clamp(6.75rem,16svh,7.35rem);padding:.78rem .86rem}.wrapped-scale-section .trace-card-kicker{gap:.45rem;font-size:.86rem}.wrapped-scale-section .trace-total-card strong{margin-top:.58rem;font-size:clamp(3.1rem,14.2vw,3.7rem)}.wrapped-scale-section .trace-total-card .trace-icon{width:clamp(5.4rem,24vw,6rem)}.wrapped-scale-section .trace-detail-grid{gap:clamp(.66rem,2.5vw,.82rem)}.wrapped-scale-section .trace-detail-card{border-radius:1rem;grid-template-rows:auto auto;grid-template-columns:clamp(2.58rem,10.8vw,2.95rem) minmax(0,1fr);align-content:center;gap:.42rem .48rem;min-height:clamp(6.65rem,13.6svh,7.05rem);padding:.72rem}.wrapped-scale-section .trace-detail-card>div{display:contents}.wrapped-scale-section .trace-detail-card .trace-icon{width:clamp(2.6rem,11vw,3rem);height:clamp(2.6rem,11vw,3rem);padding:.68rem}.wrapped-scale-section .trace-detail-card span{z-index:1;white-space:nowrap;align-self:center;margin-bottom:0;font-size:clamp(.64rem,2.65vw,.72rem);line-height:1.25;position:relative}.wrapped-scale-section .trace-detail-card strong{z-index:1;grid-column:1/-1;font-size:clamp(2.02rem,9.4vw,2.52rem);position:relative}.wrapped-scale-section .trace-thanks{margin-top:clamp(.82rem,2.7svh,1.45rem);display:grid}.is-chat-wrapped-view .creator-credit{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
