@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-cyrillic-wght-normal.21r55i81j33s-.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-vietnamese-wght-normal.1-urdg3tz8d70.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-latin-ext-wght-normal.058mypr7or6ud.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-latin-wght-normal.0ftkyn04ns0d3.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-cyrillic-wght-italic.1ttonla20kz0p.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-vietnamese-wght-italic.3vytncykm1g_u.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-latin-ext-wght-italic.202amtyo34ylh.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(../media/playfair-display-latin-wght-italic.3qwa_hc_ox5j8.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/caveat-cyrillic-ext-wght-normal.1a5omd23h2g7u.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/caveat-cyrillic-wght-normal.3pz26h3t80slv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/caveat-latin-ext-wght-normal.1v8q5_f-rvjb_.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/caveat-latin-wght-normal.0v9iznkhjktil.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--wine:#771a39;--wine-dark:#4f1028;--rose:#bd3157;--paper:#fbf1e7;--paper-deep:#f5e5d8;--ink:#35272a;--muted:#725e62;--line:#58273338;--ease:cubic-bezier(.22, 1, .36, 1);--v3-canvas-reference-width:1672px;--v3-canvas-reference-height:941px;--v3-outer-wine-corner:#851740;--v3-outer-wine-center:#63082b;--v3-outer-wine-bottom:#7b0e35;--v3-paper-top:#fcf0ea;--v3-paper-main:#fbefe8;--v3-paper-deep:#fbebe3;--v3-heading-wine:#600a26;--v3-paragraph-ink:#695150;--v3-emphasis-ink:#42312f;--v3-signature-wine:#8f183c;--v3-blossom-crimson:#880521;--v3-blossom-rose:#bb1335;--v3-blossom-pink:#f57b8a;--v3-swan-charcoal:#291c1b;--v3-reflection-warm-shadow:#b1877f;--v3-hairline:#80415029;--v3-inset-hairline:#80415017;--v3-shadow-deep:#2704163d;--v3-focus-ring:#a43254;--v3-space-1:4px;--v3-space-2:8px;--v3-space-3:12px;--v3-space-4:16px;--v3-space-5:24px;--v3-space-6:32px;--v3-space-7:40px;--v3-space-8:48px;--v3-card-max-width:1588px;--v3-card-inline-gutter:clamp(16px, 2.5vw, 42px);--v3-card-corner-radius:clamp(24px, 2.4vw, 40px);--v3-card-inset:clamp(12px, 1.1vw, 18px);--v3-header-rail-height:86px;--v3-footer-rail-min-height:116px;--v3-copy-measure:555px;--v3-heading-size:clamp(40px, 3.65vw, 66px);--v3-heading-leading:1.12;--v3-body-size:clamp(15px, 1.18vw, 20px);--v3-body-leading:1.6;--v3-eyebrow-letter-spacing:.26em;--v3-footer-number-size:clamp(24px, 2.3vw, 36px);--v3-art-stage-max-width:700px;--v3-hit-target-min:44px;--v3-serif-stack:"Playfair Display Variable", Georgia, "Times New Roman", serif;--v3-script-stack:"Caveat Variable", "Segoe Script", "Bradley Hand", cursive;--v3-editorial-headline-ink:var(--v3-heading-wine);--v3-editorial-body-ink:var(--v3-paragraph-ink);--v3-editorial-quote-rule:#d58a8f;--v3-motion-ease:cubic-bezier(.22, 1, .36, 1);--v3-motion-enter:.85s;--v3-motion-petal:4.8s}*{box-sizing:border-box}html,body{width:100%;min-width:280px;min-height:100%;margin:0;overflow-x:clip}html{scroll-behavior:auto}body{color:var(--ink);background:radial-gradient(ellipse at -10% -14%, #ee799e1f, transparent 51%), radial-gradient(ellipse at 102% 108%, #d15e801f, transparent 49%), linear-gradient(112deg, var(--v3-outer-wine-corner) 0%, var(--v3-outer-wine-center) 52%, var(--v3-outer-wine-bottom) 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid var(--v3-focus-ring);outline-offset:4px}.page{width:100%;min-height:100svh}.scene-wrap{z-index:0;width:100%;min-height:100svh;padding:var(--v3-card-inline-gutter);isolation:isolate;--v3-heading-wine:var(--global-ink,#600a26);--v3-editorial-headline-ink:var(--global-ink,#600a26);--v3-paragraph-ink:var(--global-muted-ink,#695150);--v3-editorial-body-ink:var(--global-muted-ink,#695150);place-items:center;display:grid;position:relative}.scene-wrap:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(ellipse 55% 65% at 46% 15%, rgb(235 145 160/var(--global-twilight-alpha,0)) 0%, transparent 88%), radial-gradient(ellipse 70% 65% at 74% 72%, rgb(136 93 155/var(--global-night-glow,0)) 0%, transparent 92%), radial-gradient(ellipse 64% 58% at 35% 45%, rgb(156 143 167/var(--global-diffusion-alpha,0)) 0%, transparent 95%), linear-gradient(112deg, var(--global-outer-top,#851740) 0%, var(--global-outer-middle,#63082b) 52%, var(--global-outer-bottom,#7b0e35) 100%);opacity:var(--global-atmosphere-ready,0);border:0;transition:opacity .85s;position:absolute;inset:0}.ambient{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient:before,.ambient:after{content:"";aspect-ratio:1;filter:blur(84px);width:42vw;opacity:var(--global-frame-glow-alpha,.18);border-radius:50%;position:absolute}.ambient:before{background:#f48aa5;top:-20vw;left:-18vw}.ambient:after{background:#f3a0a4;bottom:-18vw;right:-19vw}.ambient span{opacity:.2;border:1px solid #ffd4de33;border-radius:50% 50% 48% 52%;animation:9s ease-in-out infinite ambient-float;position:absolute;transform:rotate(45deg)}.ambient span:before,.ambient span:after{content:"";border:inherit;border-radius:50%;width:100%;height:100%;position:absolute}.ambient span:before{top:0;left:-55%}.ambient span:after{top:-55%;left:0}.scene-wrap[data-global-weather-quality=low] .ambient:before,.scene-wrap[data-global-weather-quality=low] .ambient:after{filter:blur(48px);opacity:.12}.scene-wrap[data-global-weather-quality=low] .ambient span:nth-child(n+9){opacity:.1;animation:none}@media (max-width:600px){.ambient:before,.ambient:after{filter:blur(52px)}}.love-card{isolation:auto;width:min(100%, var(--v3-card-max-width));min-width:0;height:calc(100svh - 2 * var(--v3-card-inline-gutter));border-radius:var(--v3-card-corner-radius);background:radial-gradient(ellipse at 70% 26%, #ffffff6e 0%, transparent 49%), linear-gradient(140deg, var(--global-card-paper-top,var(--v3-paper-top)), var(--global-card-paper-middle,var(--v3-paper-main)) 57%, var(--global-card-paper-bottom,var(--v3-paper-deep)));min-height:640px;box-shadow:0 36px 95px var(--global-card-shadow,var(--v3-shadow-deep)), inset 0 0 70px #b063690a;border:1px solid #ffffffa6;grid-template:"header header"52px"message tree"minmax(0,1fr)"memory memory"96px/minmax(0,.89fr) minmax(0,1.11fr);column-gap:clamp(28px,4.1vw,68px);padding:clamp(22px,2.25vw,38px) clamp(24px,4.6vw,76px) clamp(22px,2vw,34px);display:grid;position:relative;overflow:visible}.love-card:before{content:"";z-index:0;inset:var(--v3-card-inset);border:1px solid color-mix(in srgb, var(--global-hairline,var(--v3-inset-hairline)) 55%, transparent);border-radius:calc(var(--v3-card-corner-radius) - var(--v3-card-inset) / 2);pointer-events:none;position:absolute}.corner-watermark{z-index:1;color:#a15d6b17;pointer-events:none;-webkit-user-select:none;user-select:none;width:clamp(112px,11vw,180px);height:auto;position:absolute;top:2.6%;right:1.7%}.card-header{z-index:5;grid-area:header;justify-content:space-between;align-items:flex-start;min-width:0;display:flex;position:relative}.card-header:after{content:"";inset-inline:0;pointer-events:none;background:linear-gradient(90deg, var(--global-hairline,#80415036) 0%, var(--global-hairline,#80415036) 46.5%, transparent 48.5%, transparent 51.5%, var(--global-hairline,#80415036) 53.5%, #80415014 100%);height:1px;position:absolute;bottom:0}.header-heart{z-index:1;color:#d77b7c;pointer-events:none;width:24px;height:23px;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.monogram,.date,.eyebrow,.message h1,.message-lines p,.signature,.memory p{margin:0}.monogram{color:var(--v3-heading-wine);font-family:var(--v3-serif-stack);letter-spacing:.045em;font-size:25px;line-height:1}.monogram span{color:#c83e60;vertical-align:.18em;font-size:.57em}.date{color:var(--v3-heading-wine);font-family:var(--v3-serif-stack);letter-spacing:.27em;white-space:nowrap;margin-right:clamp(10px,3.3vw,55px);font-size:12px;font-weight:600;line-height:1.3;display:block}.message{z-index:4;width:100%;min-width:0;max-width:var(--v3-copy-measure);opacity:1;grid-area:message;align-self:start;margin-top:clamp(42px,8.5vh,80px);padding:0 0 14px 7px;position:relative;transform:none}.eyebrow{color:var(--v3-heading-wine);letter-spacing:var(--v3-eyebrow-letter-spacing);text-transform:uppercase;align-items:center;gap:14px;margin-bottom:19px;font-size:12px;font-weight:700;line-height:1.25;display:flex}.eyebrow:before{content:"";background:currentColor;flex:0 0 48px;width:48px;height:1.5px}.message h1{max-width:min(100%,548px);color:var(--v3-editorial-headline-ink);font-family:var(--v3-serif-stack);letter-spacing:-.043em;text-wrap:balance;font-optical-sizing:auto;font-size:clamp(44px,4.08vw,69px);font-weight:500;line-height:1.12}.message-lines{max-width:min(100%,550px);color:var(--v3-editorial-body-ink);font-family:var(--v3-serif-stack);letter-spacing:-.012em;text-wrap:pretty;font-optical-sizing:auto;gap:12px;margin-top:clamp(26px,3.4vh,34px);font-size:clamp(16px,1.23vw,20.5px);font-weight:400;line-height:1.52;display:grid}.message-lines .final-line{border-left:3px solid var(--v3-editorial-quote-rule);color:var(--v3-emphasis-ink);margin-top:6px;margin-left:0;padding-left:26px;font-size:1.03em;font-style:italic;font-weight:400;line-height:1.47;position:relative}.signature{color:var(--v3-signature-wine);font-family:var(--v3-script-stack);letter-spacing:-.018em;transform-origin:0;margin-top:25px;margin-left:1px;font-size:clamp(29px,2.6vw,43px);font-weight:500;line-height:1.25;display:inline-block;transform:rotate(-2deg)}.tree-area{z-index:2;grid-area:tree;grid-template-rows:minmax(0,1fr) auto;align-self:stretch;place-items:stretch center;gap:10px;min-width:0;min-height:0;display:grid;position:relative}.tree-illustration{justify-content:center;align-self:stretch;align-items:center;width:100%;min-width:0;min-height:0;display:flex;position:relative;overflow:clip}.heart-tree-stage{isolation:isolate;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:absolute;inset:0;overflow:clip}.heart-tree-canvas{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:1;contain:layout paint;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block;position:absolute;inset:0}.heart-tree-stage>.heart-tree-canvas{z-index:1}.scene-wrap[data-global-lighting-ready=true] .weather-lighting{opacity:var(--global-art-glow,.55)}.weather-lighting{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;isolation:isolate;contain:layout paint;width:100%;height:100%;position:absolute;inset:0;overflow:clip}.weather-lighting>span{pointer-events:none;display:block;position:absolute;inset:0}.weather-lighting__night{opacity:var(--weather-night,0);background:radial-gradient(50% 56% at 53% 46%,#6046753d 0%,#886e8f1f 44%,#b28ca608 70%,#0000 94%),radial-gradient(28% 30% at 74% 29%,#a898bc1a 0%,#0000 85%)}.weather-lighting__diffusion{opacity:var(--weather-diffusion,0);background:radial-gradient(72% 54% at 53% 34%,#89778c45 0%,#b797a61f 55%,#0000 96%)}.weather-lighting__dawn{opacity:var(--weather-dawn,0);background:radial-gradient(67% 52% at 41% 72%,#e69aa859 0%,#eec1b62b 50%,#0000 91%),radial-gradient(57% 47% at 64% 23%,#c5abd330 0%,#0000 90%)}.weather-lighting__dusk{opacity:var(--weather-dusk,0);background:radial-gradient(70% 53% at 45% 76%,#cd77906b 0%,#ecadac33 50%,#0000 92%),radial-gradient(51% 50% at 76% 21%,#b489bb33 0%,#0000 94%)}.weather-lighting__sun{opacity:var(--weather-sun,0);background:radial-gradient(42% 47% at 26% 18%,#ffebc199 0%,#ffd9ae47 36%,#ffe1be14 62%,#0000 96%)}.weather-lighting__moon{opacity:var(--weather-moon,0);background:radial-gradient(36% 42% at 78% 17%,#eee2f680 0%,#d4c9eb38 36%,#d2c7e70d 63%,#0000 97%)}@media (prefers-reduced-motion:reduce){.weather-lighting,.weather-lighting>span{transition:none!important;animation:none!important}}.weather-clouds{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;contain:layout paint;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#00000061 0%,#0000007a 35%,#000000f0 68%,#000000c7 100%);mask-image:linear-gradient(90deg,#00000061 0%,#0000007a 35%,#000000f0 68%,#000000c7 100%)}.weather-clouds__formation,.weather-clouds__ceiling,.weather-clouds__haze{pointer-events:none;transition:opacity .34s linear}.weather-clouds[data-weather-quality=low] .weather-clouds__formation[data-cloud-detail=fine],.weather-clouds[data-weather-quality=reduced] .weather-clouds__formation[data-cloud-detail=fine]{display:none}@media (max-width:420px){.weather-clouds__formation[data-cloud-detail=fine]{display:none}}@media (prefers-reduced-motion:reduce){.weather-clouds,.weather-clouds__formation,.weather-clouds__ceiling,.weather-clouds__haze{transition:none!important;animation:none!important}}.weather-rain{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;contain:layout paint;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.weather-rain{transition:none!important;animation:none!important}}.weather-snow{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;contain:layout paint;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.weather-snow{transition:none!important;animation:none!important}}.tree-structure,.tree-canvas,.tree-canvas-fallback{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.tree-structure{z-index:0}.tree-structure>svg{width:100%;height:100%;display:block}.tree-canvas{z-index:1}.tree-canvas--active{z-index:2}.tree-trunk-foreground{z-index:3;object-fit:contain;object-position:center;clip-path:polygon(42.2857% 69.6429%,59.4286% 69.6429%,59.4286% 95.7143%,42.2857% 95.7143%);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 69.6429%,#00000014 71.6%,#000000c7 73.8%,#000 75.7% 100%);mask-image:linear-gradient(#0000 69.6429%,#00000014 71.6%,#000000c7 73.8%,#000 75.7% 100%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tree-canvas-fallback{z-index:3;object-fit:contain;object-position:center}.swans-lake-art{z-index:3;object-fit:contain;object-position:center bottom;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;animation:.7s ease-out .65s both swans-lake-reveal;display:block;position:absolute;inset:0}@keyframes swans-lake-reveal{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.swans-lake-art{opacity:1;animation:none}}.falling-blossoms{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:4;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.falling-blossom{opacity:0;transform-box:fill-box;transform-origin:50%;will-change:transform, opacity}.heart-tree-stage.is-ready .falling-blossom{animation:blossom-drift-v4 var(--petal-duration) var(--petal-delay) ease-in-out infinite both}@keyframes blossom-drift-v4{0%{opacity:0;transform:translate(0)rotate(-18deg)scale(.6)}12%{opacity:.83}55%{opacity:.68;transform:translate(calc(var(--drift-x) * .6 + var(--global-petal-wind-x,0px) * .5), calc(var(--drift-y) * .55)) rotate(36deg) scale(.95)}to{opacity:0;transform:translate(calc(var(--drift-x) + var(--global-petal-wind-x,0px)), var(--drift-y)) rotate(122deg) scale(.73)}}@media (max-width:600px){.falling-blossoms g:nth-child(n+9){display:none}}@media (prefers-reduced-motion:reduce){.falling-blossoms{display:none!important}}.tree-caption{max-width:100%;color:var(--wine);font-family:var(--v3-serif-stack);text-align:center;opacity:1;margin:0;font-size:clamp(11px,1vw,14px);font-style:italic;line-height:1.5}.memory{z-index:5;border-top:1px solid var(--global-hairline,var(--v3-hairline));opacity:1;grid-area:memory;justify-content:space-between;align-items:flex-end;gap:30px;min-width:0;min-height:0;padding-bottom:4px;display:flex;position:relative}.memory-title{color:var(--muted);font-family:var(--v3-serif-stack);padding-bottom:7px;font-size:clamp(11px,1.2vw,15px);font-style:italic}.memory-heading{min-width:0;color:var(--wine);align-items:center;gap:18px;display:flex}.memory-meta{min-width:0}.weather-data-credit{color:var(--global-muted-ink,#695150);font-family:var(--v3-serif-stack);text-underline-offset:2px;opacity:.95;font-size:clamp(10px,.75vw,12px);line-height:1.4;text-decoration:underline;text-decoration-thickness:1px;display:inline-block}.weather-data-credit:focus-visible{outline:3px solid var(--v3-focus-ring);outline-offset:3px;border-radius:2px}@media (max-width:620px){.memory-meta{text-align:center}.weather-data-credit{font-size:11px}}.memory-icon{flex:none;width:31px;height:31px}.counter{align-items:flex-end;gap:clamp(13px,2.2vw,31px);display:flex}.counter-item{text-align:center;min-width:46px}.counter-item strong{color:var(--wine-dark);font-family:var(--v3-serif-stack);font-variant-numeric:tabular-nums;font-size:clamp(20px,2.2vw,34px);font-weight:400;line-height:1;display:block}.counter-item span{color:var(--muted);letter-spacing:.18em;margin-top:5px;font-size:8px;font-weight:720;display:block}.replay{z-index:8;min-width:163px;min-height:var(--v3-hit-target-min);color:var(--v3-heading-wine);font-family:var(--v3-serif-stack);letter-spacing:.01em;white-space:nowrap;cursor:pointer;background:linear-gradient(#fff1eee8,#f7d0cfad);border:1px solid #bd4d6a21;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:9px 16px;font-size:15px;font-weight:600;line-height:1.2;transition:background-color .2s,box-shadow .2s,transform .2s;display:inline-flex;position:absolute;top:clamp(66px,7.5vh,78px);right:calc(clamp(24px,4.6vw,76px) + clamp(14px,3.7vw,62px));box-shadow:0 5px 15px #6818320d,inset 0 1px #ffffffb3}.replay:hover{background:linear-gradient(#fff0ec,#f4c5c6de);transform:translateY(-1px);box-shadow:0 7px 19px #6818321a,inset 0 1px #fffc}.replay:active{transform:translateY(0);box-shadow:inset 0 2px 5px #6818321a}.replay[aria-disabled=true]{cursor:progress;opacity:.78}.replay-icon{flex:none;width:21px;height:21px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes ambient-float{0%,to{opacity:.22;transform:rotate(45deg)translateY(0)}50%{opacity:.55;transform:rotate(45deg)translateY(-14px)}}@keyframes ground-enter{0%{opacity:0;transform-origin:50%;transform:scaleX(.3)}to{opacity:1;transform-origin:50%;transform:scaleX(1)}}@keyframes seed-enter{0%{opacity:0;transform:translateY(-72px)scale(.4)}72%{opacity:1;transform:translateY(4px)scale(1.08)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes seed-fade{to{opacity:.15}}@keyframes draw-line{0%{stroke-dashoffset:1px;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes trunk-grow{0%{opacity:.18;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes leaf-bloom{0%{opacity:0;transform:scale(0)rotate(-20deg)}72%{opacity:1;transform:scale(1.1)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes copy-enter{to{opacity:1;transform:translateY(0)}}@keyframes caption-enter{to{opacity:.82}}@keyframes counter-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1001px){html,body{overscroll-behavior:none;height:100%;overflow:hidden}.page,.scene-wrap{height:100dvh;min-height:0}.scene-wrap{padding-block:clamp(10px,4.25dvh,42px)}.love-card{grid-template-rows:61px minmax(0,1fr) clamp(64px,10.2dvh,96px);height:calc(100dvh - clamp(20px,8dvh,84px));min-height:0;max-height:calc(100dvh - clamp(20px,8dvh,84px));padding-block:clamp(12px,3.2dvh,38px);overflow:hidden}.tree-area,.tree-illustration,.heart-tree-stage{max-height:100%}.message{margin-top:clamp(46px,9.25dvh,90px)}.monogram,.date{transform:translateY(14px)}.monogram{font-size:30px}.date{letter-spacing:.33em;margin-right:65px;font-size:14px}.message h1{line-height:1}.message-lines .final-line{font-size:1.14em;line-height:1.35}.signature{font-size:46px}.heart-tree-canvas .tree-structure,.heart-tree-canvas .tree-canvas,.heart-tree-canvas .tree-trunk-foreground,.weather-birds,.falling-blossoms{transform:translate(-18px,-26px)}.swans-lake-art{transform:translate(-50%);width:83%!important;height:83%!important;inset:auto auto 4.4% 34.3%!important}.tree-caption{white-space:nowrap;align-items:center;gap:18px;max-width:none;font-size:16px;font-weight:600;display:flex;transform:translate(clamp(-92px,-5.5vw,-50px),-18px)}.tree-caption:before,.tree-caption:after{content:"";opacity:.72;background:currentColor;flex:none;width:clamp(35px,5.7vw,95px);height:1px}.memory{align-items:center;padding-bottom:0;transform:translateY(2px)}.memory-title{padding-bottom:0;font-size:20px}.counter{align-items:center;gap:0;width:min(445px,42vw)}.counter-item{flex:1;min-width:0;position:relative}.counter-item+.counter-item:before{content:"";background:#8f183c52;width:1px;position:absolute;top:2px;bottom:2px;left:0}.counter-item strong{font-size:40px}.counter-item span{letter-spacing:.22em;margin-top:6px;font-size:10px}.replay{min-width:180px;font-size:16px;right:7.2%}.corner-watermark{width:152px;right:1.4%}}@media (min-width:1001px) and (max-height:800px){.love-card{grid-template-rows:40px minmax(0,1fr) clamp(62px,9.5dvh,76px);column-gap:clamp(22px,3.2vw,48px);padding-block:clamp(12px,2.7dvh,21px)}.message{margin-top:clamp(10px,3.2dvh,25px);padding-bottom:0}.monogram,.date{transform:translateY(5px)}.monogram{font-size:25px}.date{letter-spacing:.27em;margin-right:clamp(10px,3.3vw,55px);font-size:11px}.eyebrow{margin-bottom:9px;font-size:10px}.message h1{font-size:clamp(34px,3.55vw,49px);line-height:1.06}.message-lines{gap:6px;margin-top:clamp(10px,2dvh,16px);font-size:clamp(13px,1.15vw,16px);line-height:1.38}.message-lines .final-line{border-left-width:2px;margin-top:4px;padding-left:17px;line-height:1.38}.signature{margin-top:8px;font-size:clamp(26px,2.4vw,33px)}.tree-area{gap:4px}.tree-caption,.memory-title{font-size:11px}.replay{top:clamp(53px,8.2dvh,65px)}}@media (min-width:1001px) and (max-height:650px){.love-card{grid-template-rows:34px minmax(0,1fr) 54px;padding-block:10px}.monogram{font-size:20px}.monogram,.date{transform:none}.date{font-size:9px}.header-heart{width:19px;height:19px;bottom:-9px}.message{margin-top:7px}.eyebrow{gap:10px;margin-bottom:6px;font-size:8px}.eyebrow:before{flex-basis:30px;width:30px}.message h1{font-size:clamp(29px,3vw,39px);line-height:1.02}.message-lines{gap:4px;margin-top:8px;font-size:clamp(11px,1vw,14px);line-height:1.3}.message-lines .final-line{margin-top:2px;padding-left:13px}.signature{margin-top:4px;font-size:clamp(22px,2.1vw,28px)}.tree-caption,.memory-title{font-size:9px;line-height:1.2}.counter-item strong{font-size:clamp(18px,1.8vw,24px)}.counter-item span{margin-top:3px;font-size:7px}.replay{min-width:142px;min-height:40px;padding-block:7px;font-size:13px;top:43px}}@media (min-width:1001px) and (max-width:1240px) and (min-height:801px){.message{margin-top:clamp(22px,4.6vh,45px)}.eyebrow{margin-bottom:10px;font-size:10px}.message h1{font-size:clamp(35px,3.8vw,47px);line-height:1.1}.message-lines{gap:8px;margin-top:19px;font-size:clamp(14px,1.5vw,17px);line-height:1.45}.message-lines .final-line{margin-top:7px;padding-left:17px;font-size:1em}.signature{margin-top:10px;font-size:30px}}@media (max-width:1000px){.scene-wrap{padding:clamp(12px,2.5vw,26px)}.love-card{border-radius:clamp(20px,3.2vw,32px);grid-template:"header"50px"tree""message""memory"minmax(98px,auto)/minmax(0,1fr);gap:12px;height:auto;min-height:calc(100svh - 2*clamp(12px,2.5vw,26px));padding:clamp(18px,3.2vw,32px)}.love-card:before{border-radius:clamp(12px,2.1vw,23px)}.tree-area{grid-template-rows:auto auto;gap:6px;width:100%;min-height:0;margin-top:42px}.tree-illustration{height:clamp(280px,52vw,420px)}.tree-caption{font-size:clamp(12px,1.8vw,15px)}.message{text-align:center;max-width:min(100%,620px);margin:0 auto;padding:10px 0 16px}.message-lines{text-align:left}.message-lines .final-line{border-left-width:2px;margin-top:12px;padding-left:20px}.eyebrow{justify-content:center}.message h1{max-width:560px;margin-inline:auto;font-size:clamp(32px,5.5vw,46px);line-height:1.14}.message-lines{max-width:min(100%,560px);margin-inline:auto;font-size:clamp(15px,2vw,18px)}.signature{transform-origin:50%;font-size:clamp(31px,4vw,40px);display:inline-block}.memory{align-items:flex-end;min-height:96px}.replay{top:clamp(64px,8vh,82px);right:clamp(18px,3.2vw,32px)}.date{margin-right:0}.corner-watermark{width:clamp(112px,16vw,156px);top:3.6%;right:1.5%}}@media (max-width:620px){.scene-wrap{padding:0}.ambient{opacity:.25}.love-card{width:100%;height:auto;min-height:100svh;padding:max(18px, env(safe-area-inset-top)) max(19px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(19px, env(safe-area-inset-left));box-shadow:none;background:radial-gradient(ellipse at 50% 26%, #fff9 0%, transparent 40%), linear-gradient(156deg, var(--global-card-paper-top,var(--v3-paper-top)), var(--global-card-paper-middle,var(--v3-paper-main)) 70%, var(--global-card-paper-bottom,var(--v3-paper-deep)));border:0;border-radius:0;grid-template-rows:44px auto auto minmax(110px,auto);row-gap:10px}.love-card:before{border-radius:14px;inset:11px}.corner-watermark{width:128px;top:8%;right:-5%}.monogram{font-size:20px}.header-heart{width:20px;height:20px;bottom:-10px}.date{letter-spacing:.16em;font-size:9px}.tree-area{margin-top:38px}.tree-illustration{height:clamp(258px,85vw,370px)}.message{padding:8px 0 14px}.eyebrow{letter-spacing:.2em;margin-bottom:13px;font-size:10px}.eyebrow:before{flex-basis:27px;width:27px}.message h1{letter-spacing:-.035em;font-size:clamp(27px,7.7vw,37px);line-height:1.16}.message-lines{gap:9px;margin-top:19px;font-size:clamp(14px,3.9vw,16px);line-height:1.55}.message-lines .final-line{margin-top:13px;padding-left:17px;line-height:1.5}.signature{margin-top:14px;font-size:clamp(29px,8vw,35px)}.tree-caption{max-width:min(100%,330px);font-size:12px}.memory{flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:104px;padding-block:14px 6px}.memory-title{text-align:center;padding-bottom:0;font-size:12px}.counter{justify-content:space-between;gap:4px;width:min(100%,335px)}.counter-item{flex:1;min-width:0}.counter-item strong{font-size:clamp(21px,6vw,27px)}.counter-item span{letter-spacing:.09em;font-size:8px}.replay{right:max(19px, env(safe-area-inset-right));top:calc(max(18px, env(safe-area-inset-top)) + 40px);gap:7px;min-width:135px;min-height:44px;padding:8px 10px;font-size:12px}.replay-icon{width:18px;height:18px}}@media (max-width:350px){.message h1{font-size:27px}.message-lines{font-size:14px}.tree-illustration{height:260px}.replay{min-width:130px;font-size:11px}}@media (orientation:landscape) and (max-height:560px) and (max-width:1000px){.scene-wrap,.love-card{min-height:100svh}.tree-illustration{height:clamp(230px,46vw,320px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.ambient span{animation:none!important}.scene-wrap:before{transition:none!important}}.weather-birds{z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none;contain:layout paint style;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.weather-bird{--bird-wing-near:0deg;--bird-wing-far:0deg;--bird-tail-fan:0deg;--bird-leg-tuck:0px;--bird-grip:0;--bird-perch-slope:0deg;--bird-breath:0px;--bird-head-turn:0deg;--bird-eye-open:1;--bird-balance:0deg;--bird-scarf-angle:0deg;--bird-puff:1;--bird-wetness:0;--bird-snow:0;transform-box:view-box;transform-origin:0 0;will-change:transform, opacity}.bird-body-rig{transform-box:fill-box;transform-origin:bottom;transform:translateY(var(--bird-breath)) rotate(var(--bird-balance)) scale(var(--bird-puff))}.bird-body,.bird-belly,.bird-wing-folded,.bird-head,.bird-tail,.bird-legs,.bird-scarf,.bird-hat,.bird-vest,.bird-snow-accumulation,.bird-wet-highlights{transition:opacity 1.1s,filter 1.3s}.bird-wing,.bird-wing-folded,.bird-tail,.bird-leg,.bird-head,.bird-scarf-tail{transform-box:fill-box}.bird-wing{opacity:0;transform-origin:45% 92%;will-change:transform}.bird-wing--near{transform:rotate(var(--bird-wing-near))}.bird-wing--far{transform:rotate(var(--bird-wing-far));opacity:0}.weather-bird[data-phase=approach] .bird-wing,.weather-bird[data-phase=deceleration] .bird-wing,.weather-bird[data-phase=landing] .bird-wing{opacity:1}.weather-bird[data-phase=approach] .bird-wing-folded,.weather-bird[data-phase=deceleration] .bird-wing-folded,.weather-bird[data-phase=landing] .bird-wing-folded{opacity:.08}.weather-bird[data-phase=settling] .bird-wing{opacity:.24}.bird-tail{transform-origin:92% 52%;transform:rotate(var(--bird-tail-fan))}.bird-legs{transform-box:fill-box;transform-origin:50% 96%;transform:rotate(var(--bird-perch-slope))}.bird-leg{transform-origin:top;transform:translateY(var(--bird-leg-tuck));opacity:calc(.18 + var(--bird-grip) * .82)}.weather-bird[data-phase=landing] .bird-leg,.weather-bird[data-phase=settling] .bird-leg,.weather-bird[data-phase=perched] .bird-leg{opacity:1}.bird-contact-shadow{opacity:calc(var(--bird-grip) * .24);transform:scaleX(calc(.45 + var(--bird-grip) * .55));transform-origin:50%}.bird-head{transform-origin:13px -34px;transform:rotate(var(--bird-head-turn))}.bird-eye{transform-box:fill-box;transform-origin:50%;transform:scaleY(var(--bird-eye-open))}.bird-scarf-tail{transform-origin:94% 48%;transform:rotate(var(--bird-scarf-angle));will-change:transform}.bird-scarf,.bird-hat,.bird-vest{opacity:0}.weather-bird[data-outfit=ribbon] .bird-scarf{opacity:.7}.weather-bird[data-outfit=ribbon] .bird-scarf-tail{transform:rotate(var(--bird-scarf-angle)) scale(.72)}.weather-bird[data-outfit=scarf] .bird-scarf,.weather-bird[data-outfit=scarf-cap] .bird-scarf,.weather-bird[data-outfit=winter] .bird-scarf,.weather-bird[data-outfit=scarf-cap] .bird-hat,.weather-bird[data-outfit=winter] .bird-hat{opacity:1}.weather-bird[data-outfit=winter][data-phase=settling] .bird-vest,.weather-bird[data-outfit=winter][data-phase=perched] .bird-vest{opacity:.82}.bird-wet-highlights{opacity:var(--bird-wetness);filter:saturate(.75)}.weather-bird[data-condition=rain] .bird-body,.weather-bird[data-condition=drizzle] .bird-body,.weather-bird[data-condition=thunderstorm] .bird-body{filter:brightness(calc(1 - var(--bird-wetness) * .16)) saturate(.78)}.bird-snow-accumulation,.bird-snow-cap{opacity:var(--bird-snow)}.weather-bird[data-outfit=natural] .bird-snow-cap,.weather-bird[data-outfit=ribbon] .bird-snow-cap,.weather-bird[data-outfit=scarf] .bird-snow-cap{opacity:0}.weather-bird[data-light=night] .bird-body-rig{filter:brightness(.76)saturate(.82)contrast(.98)}.weather-bird[data-light=dusk] .bird-body-rig,.weather-bird[data-light=dawn] .bird-body-rig{filter:sepia(.06)saturate(.94)}.weather-bird[data-quality=low] .bird-wet-highlights circle,.weather-bird[data-quality=reduced] .bird-wet-highlights,.weather-bird[data-quality=low] .bird-snow-accumulation circle{display:none}@media (max-width:620px){.weather-birds{shape-rendering:geometricprecision}.weather-bird[data-quality=low] .bird-body-rig{filter:none}}@media (prefers-reduced-motion:reduce){.weather-bird,.bird-body-rig,.bird-wing,.bird-tail,.bird-leg,.bird-head,.bird-scarf-tail,.bird-body,.bird-belly,.bird-wing-folded,.bird-scarf,.bird-hat,.bird-vest{will-change:auto!important;transition:none!important;animation:none!important}}
