:root{--display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;--text:"Newsreader",Georgia,"Times New Roman",serif;--hand:"Pinyon Script","Snell Roundhand",cursive;--arabic:"Amiri","Geeza Pro","Noto Naskh Arabic",serif;--dstyle:italic;--zellige:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='none' stroke='%23C9A24D' stroke-opacity='.15'%3E%3Crect x='16' y='16' width='24' height='24'/%3E%3Crect x='16' y='16' width='24' height='24' transform='rotate(45 28 28)'/%3E%3Cpath d='M28 0v11M28 45v11M0 28h11M45 28h11'/%3E%3C/g%3E%3C/svg%3E");--pattern:var(--zellige)}:root,.style-lettre{--base:#FCF1F0;--blush:#F6DCDD;--paper:#FFF8F6;--accent:#C21E3A;--accent-deep:#8E1430;--dark:#2A1023;--muted:#8E5F6E;--gold:#C9A24D;--gold-soft:#E9D3A0;--ink:#3A1A26;--on-dark:#F6DCDD;--on-dark-strong:#FFF3F0;--on-dark-soft:#E9CDD2;--env-back:#E5BFC0;--env-front:#F6DCDD;--env-flap:#EDCBCC;--hero-glow:#FFF7F5;--hero-edge:#F8E3E3;--tap:#E2405F}.style-etoiles{--base:#EEF0F6;--blush:#DDE2EF;--paper:#FAFBFD;--accent:#B8435A;--accent-deep:#5B2140;--dark:#0D1330;--muted:#5C6784;--gold:#D2B26A;--gold-soft:#EADBAE;--ink:#1A2142;--on-dark:#D8DEEC;--on-dark-strong:#F7F8FC;--on-dark-soft:#B9C1D8;--env-back:#25305A;--env-front:#33407A;--env-flap:#2C386B;--hero-glow:#26336B;--hero-edge:#0B1029;--tap:#E7C77A;--display:"Cormorant Garamond","Cormorant",Garamond,Georgia,serif;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cg fill='%23F3E7C2'%3E%3Ccircle cx='12' cy='18' r='.9' opacity='.7'/%3E%3Ccircle cx='58' cy='9' r='.6' opacity='.5'/%3E%3Ccircle cx='103' cy='31' r='1.1' opacity='.8'/%3E%3Ccircle cx='31' cy='67' r='.7' opacity='.55'/%3E%3Ccircle cx='84' cy='79' r='.9' opacity='.6'/%3E%3Ccircle cx='128' cy='96' r='.6' opacity='.5'/%3E%3Ccircle cx='9' cy='121' r='1' opacity='.65'/%3E%3Ccircle cx='66' cy='128' r='.7' opacity='.5'/%3E%3Ccircle cx='112' cy='132' r='.5' opacity='.45'/%3E%3Ccircle cx='47' cy='103' r='.5' opacity='.4'/%3E%3C/g%3E%3C/svg%3E")}.style-jardin{--base:#F1F3EC;--blush:#DFE6D6;--paper:#FBFCF8;--accent:#1F6B52;--accent-deep:#134535;--dark:#17302A;--muted:#5E7268;--gold:#B8924A;--gold-soft:#E4D3A6;--ink:#1D2B26;--on-dark:#DFE6D6;--on-dark-strong:#F7F9F3;--on-dark-soft:#C9D6C5;--env-back:#CBD8C3;--env-front:#E3EBDC;--env-flap:#D6E1CE;--hero-glow:#F8FAF4;--hero-edge:#E3E9DB;--tap:#C9506A;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cg fill='none' stroke='%23B8924A' stroke-opacity='.18' stroke-width='1'%3E%3Cpath d='M14 50c4-12 14-20 26-22-2 12-12 21-26 22z'/%3E%3Cpath d='M14 50c8-7 16-13 26-22'/%3E%3Cpath d='M50 22c2-7 8-12 15-13-1 7-7 12-15 13z'/%3E%3C/g%3E%3C/svg%3E")}.style-polaroid{--base:#F3EDE2;--blush:#E9DEC9;--paper:#FFFDF7;--accent:#D0485E;--accent-deep:#9A2E43;--dark:#2E3A35;--muted:#7A6E62;--gold:#C9A24D;--gold-soft:#F1E1B0;--ink:#3A2F29;--on-dark:#E6E3D8;--on-dark-strong:#FAF8F0;--on-dark-soft:#C9C6B8;--env-back:#C29E72;--env-front:#DBBB8F;--env-flap:#D0AE80;--hero-glow:#FBF7EF;--hero-edge:#EDE3D1;--tap:#E25A73;--display:"Caveat","Bradley Hand","Segoe Print",cursive;--hand:"Caveat","Bradley Hand",cursive;--dstyle:normal;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.style-cinema{--base:#F2ECE1;--blush:#E6DCC9;--paper:#FBF8F1;--accent:#C1272D;--accent-deep:#6E1216;--dark:#111111;--muted:#6E655A;--gold:#D4A64A;--gold-soft:#EDD496;--ink:#1C1A17;--on-dark:#E9E2D3;--on-dark-strong:#FFF9EC;--on-dark-soft:#BDB4A3;--env-back:#D3C6AE;--env-front:#EFE6D3;--env-flap:#E2D6BF;--hero-glow:#FBF7EE;--hero-edge:#E6DCC9;--tap:#E0323A;--display:"Bebas Neue","Oswald",Impact,sans-serif;--text:"Courier Prime","Courier New",Courier,monospace;--hand:"Courier Prime","Courier New",monospace;--dstyle:normal;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.style-minimal{--base:#F7F6F3;--blush:#ECEAE5;--paper:#FFFFFF;--accent:#B5523B;--accent-deep:#5E2A1E;--dark:#161616;--muted:#6F6B66;--gold:#B5523B;--gold-soft:#E9CBBB;--ink:#161616;--on-dark:#E7E5E1;--on-dark-strong:#FFFFFF;--on-dark-soft:#B9B5AF;--env-back:#DDD9D2;--env-front:#F3F1ED;--env-flap:#E8E5DF;--hero-glow:#FFFFFF;--hero-edge:#EFEDE8;--tap:#D0654C;--display:"Jost","Futura","Avenir Next",system-ui,sans-serif;--text:"Jost","Avenir Next",system-ui,sans-serif;--hand:"Jost",system-ui,sans-serif;--dstyle:normal;--pattern:none}.style-fun{--base:#FFF5F0;--blush:#FFE1E8;--paper:#FFFFFF;--accent:#FF4F87;--accent-deep:#D92E6A;--dark:#4A1B5F;--muted:#8C5A7E;--gold:#FFB800;--gold-soft:#FFE07A;--ink:#3A1647;--on-dark:#FFE6F0;--on-dark-strong:#FFFFFF;--on-dark-soft:#F3C9DE;--env-back:#FF8FB1;--env-front:#FFC2D4;--env-flap:#FFAAC4;--hero-glow:#FFFFFF;--hero-edge:#FFE3EC;--tap:#FF4F87;--display:"Fredoka","Baloo 2","Nunito",system-ui,sans-serif;--text:"Fredoka","Nunito",system-ui,sans-serif;--hand:"Fredoka",system-ui,sans-serif;--dstyle:normal;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Ccircle cx='8' cy='8' r='2.4' fill='%23FF8FB1' fill-opacity='.35'/%3E%3Ccircle cx='32' cy='30' r='1.8' fill='%23FFD23F' fill-opacity='.45'/%3E%3Ccircle cx='40' cy='10' r='1.4' fill='%238FD3FF' fill-opacity='.5'/%3E%3C/svg%3E")}.style-gaming{--base:#0E0B24;--blush:#1A1540;--paper:#15112F;--accent:#FF2E88;--accent-deep:#B3005E;--dark:#07061A;--muted:#A9A2E6;--gold:#00E5FF;--gold-soft:#7DF9FF;--ink:#ECE8FF;--on-dark:#D8D3FF;--on-dark-strong:#FFFFFF;--on-dark-soft:#A9A2E6;--env-back:#2B2163;--env-front:#3A2D85;--env-flap:#332775;--hero-glow:#2A1F6B;--hero-edge:#07061A;--tap:#FF2E88;--display:"Pixelify Sans","VT323",monospace;--text:"VT323","Courier New",monospace;--hand:"Pixelify Sans",monospace;--dstyle:normal;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M24 0H0V24' fill='none' stroke='%237B6CFF' stroke-opacity='.10'/%3E%3Crect x='11' y='11' width='2' height='2' fill='%2300E5FF' fill-opacity='.18'/%3E%3C/svg%3E")}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--base);color:var(--ink);font-family:var(--text);font-size:1.125rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.locked{overflow:hidden}img,svg{display:block;max-width:100%}h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}.dark{background:var(--dark) var(--pattern);color:var(--on-dark)}[dir=rtl],.ar{font-family:var(--arabic)}.btn{-webkit-appearance:none;appearance:none;cursor:pointer;font-family:var(--display);font-style:var(--dstyle);font-size:1.15rem;line-height:1;padding:.95rem 1.7rem;border-radius:999px;border:1px solid currentColor;background:transparent;color:var(--accent);transition:background-color .25s,color .25s,border-color .25s}.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.btn.on-dark{color:var(--gold-soft)}.btn.on-dark:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--dark)}.btn[hidden]{display:none}h2.section-title{font-style:var(--dstyle);font-size:clamp(2.4rem,6.5vw,4.2rem);line-height:1.05;color:var(--dark)}.dark h2.section-title{color:var(--on-dark-strong)}.section-head{text-align:center;max-width:40rem;margin:0 auto clamp(3rem,7vw,5rem)}.section-head p{margin:1rem auto 0;color:var(--muted);max-width:30rem}.dark .section-head p{color:var(--on-dark-soft)}.arch{position:relative;margin:0;aspect-ratio:4/5}.arch-in{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-clip-path:url(#arch-clip);clip-path:url(#arch-clip);background:var(--blush);overflow:hidden}.arch-in>svg,.arch-in>img{width:100%;height:100%;object-fit:cover}.arch-line{position:absolute;left:-11px;top:-11px;width:calc(100% + 22px);max-width:none;height:calc(100% + 11px);overflow:visible;pointer-events:none}.arch-line path{fill:none;stroke:var(--gold);stroke-width:1.25;vector-effect:non-scaling-stroke}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;overflow:auto;transition:opacity 1s ease,visibility 0s linear 1s}.intro.gone{opacity:0;visibility:hidden;pointer-events:none}.no-js .intro{display:none}#petals{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.intro-inner{position:relative;z-index:1;display:grid;justify-items:center;gap:1.5rem;padding:2rem 16px;text-align:center}.envelope{position:relative;width:min(84vw,400px);aspect-ratio:3/2;perspective:1100px;margin-bottom:.6rem;transition:transform 1s cubic-bezier(.5,0,.2,1) .9s}.env-back,.env-front,.env-flap,.env-letter{position:absolute}.env-back{top:0;right:0;bottom:0;left:0;background:var(--env-back);border-radius:6px;box-shadow:0 30px 60px -28px #000000b3}.env-letter{left:7%;right:7%;top:7%;height:86%;background:var(--paper);border-radius:3px;z-index:2;display:grid;place-items:start center;padding:9% 1rem 0;text-align:center;transition:transform .9s cubic-bezier(.3,.7,.2,1) .55s}.env-letter span{font-family:var(--display);font-style:var(--dstyle);font-size:clamp(1rem,4vw,1.35rem);line-height:1.2;color:var(--dark)}.env-front{top:0;right:0;bottom:0;left:0;z-index:3;background:var(--env-front);border-radius:6px;-webkit-clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%)}.env-front .to{position:absolute;left:0;right:0;bottom:8%;font-family:var(--hand);font-size:clamp(1.6rem,7vw,2.3rem);color:var(--dark);line-height:1}.env-flap{left:0;right:0;top:0;height:58%;z-index:4;background:var(--env-flap);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;filter:drop-shadow(0 2px 2px rgba(0,0,0,.15));transition:transform .6s cubic-bezier(.4,0,.2,1),z-index 0s linear .3s}.seal{position:absolute;z-index:5;left:50%;top:58%;width:clamp(48px,13vw,64px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--accent) 70%,#fff),var(--accent) 45%,var(--accent-deep));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 35%,transparent),0 6px 14px -4px #00000080;display:grid;place-items:center;font-family:var(--display);font-style:var(--dstyle);color:var(--gold-soft);font-size:clamp(.95rem,3.8vw,1.2rem);transition:transform .35s ease,opacity .35s ease}.intro.opening .seal{transform:translate(-50%,-50%) scale(.2);opacity:0}.intro.opening .env-flap{transform:rotateX(180deg);z-index:1}.intro.opening .env-letter{transform:translateY(-46%)}.intro.opening .envelope{transform:translateY(8%) scale(.96)}.intro-note{margin:0;font-family:var(--display);font-style:var(--dstyle);font-size:clamp(1.3rem,4.6vw,1.7rem);color:var(--on-dark-strong)}.intro-hint{margin:-.4rem 0 0;font-size:.95rem;color:var(--on-dark-soft);opacity:.8}.intro.opening .intro-note,.intro.opening .btn,.intro.opening .intro-hint{opacity:0;transition:opacity .4s}.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:clamp(4rem,9vw,6rem) 16px;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,var(--hero-glow) 0%,var(--base) 55%,var(--hero-edge) 100%)}.hero-grid{width:100%;max-width:1080px;display:grid;justify-items:center;text-align:center;gap:clamp(2.6rem,6vw,3.5rem)}.hero-photo{position:relative;width:min(70vw,350px)}.hero-star{position:absolute;left:50%;top:46%;width:150%;max-width:none;transform:translate(-50%,-50%);pointer-events:none}.hero-star rect,.hero-star circle{fill:none;stroke:var(--gold);stroke-opacity:.35;stroke-width:.35}.names{font-style:var(--dstyle);font-size:clamp(3.1rem,12vw,7.6rem);line-height:.95;letter-spacing:-.01em;color:var(--dark)}.names:focus{outline:none}.names span{display:block;white-space:nowrap}.song-line{font-family:var(--display);font-style:var(--dstyle);font-size:clamp(1.5rem,3.4vw,2.1rem);color:var(--accent);margin:1.5rem 0 .25rem}.since{margin:0;color:var(--muted);font-size:1.15rem}.anniv-note{display:none;margin:1.4rem 0 0;padding:.6rem 1.2rem;border:1px solid var(--accent);border-radius:1.4rem;color:var(--accent);font-family:var(--display);font-style:var(--dstyle)}.anniv-note.show{display:inline-block}@media(min-width:900px){.hero-grid{grid-template-columns:auto 1fr;justify-items:start;text-align:left;align-items:center;column-gap:clamp(4rem,7vw,6.5rem)}.hero-photo{width:min(32vw,380px)}.names{font-size:min(6.4vw,7rem)}}.loved{padding:clamp(4.5rem,10vw,8rem) 16px}.loved-grid{max-width:900px;margin:0 auto;display:grid;justify-items:center;gap:clamp(1.5rem,4vw,2.5rem)}.heart-wrap{position:relative;width:min(94vw,560px)}.heart-wrap canvas{width:100%;aspect-ratio:100/86;display:block}.heart-words{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:58%;text-align:center;opacity:0;transition:opacity 2.2s ease}.heart-words.show,.no-js .heart-words{opacity:1}.hw-lead{margin:0;font-family:var(--display);font-style:var(--dstyle);font-size:clamp(.92rem,3.2vw,1.25rem);line-height:1.25;color:var(--on-dark-strong)}.hw-days{margin:.35rem 0 .3rem;font-family:var(--display);font-weight:500;font-size:clamp(2.5rem,10.5vw,4.4rem);line-height:1;color:var(--on-dark-strong);font-variant-numeric:lining-nums}.hw-days small{display:block;font-size:.34em;font-style:var(--dstyle);font-weight:400;margin-top:.25rem}.hw-clock{margin:0;font-size:clamp(.82rem,2.9vw,1rem);color:var(--gold-soft);font-variant-numeric:tabular-nums}.loved-after{text-align:center;max-width:58rem;width:100%}.loved-sum{margin:0 0 2.4rem;font-family:var(--display);font-style:var(--dstyle);font-size:clamp(1.45rem,4vw,2.1rem);line-height:1.25;color:var(--on-dark-strong)}.loved-meta{display:grid;gap:1.8rem;text-align:center}.loved-meta h3{font-style:var(--dstyle);font-size:1.2rem;color:var(--gold);margin-bottom:.35rem}.loved-meta p{margin:0;color:var(--on-dark-soft);text-wrap:balance}.loved-meta p+p{margin-top:.2rem}@media(min-width:700px){.loved-meta.two{grid-template-columns:1fr 1fr;gap:0}.loved-meta.two>div{padding:0 2rem}.loved-meta.two>div+div{border-left:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}}.story-section{padding:clamp(5rem,11vw,9rem) 16px}.story{list-style:none;margin:0 auto;padding:0;max-width:1000px;position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(4.5rem,10vw,7.5rem)}.moment{position:relative;display:grid;gap:2rem;justify-items:center;text-align:center}.moment .arch{width:min(74vw,330px)}.moment-text{max-width:30rem}.date{margin:0 0 .4rem;font-family:var(--display);font-style:var(--dstyle);font-size:1.2rem;color:var(--accent)}.moment h3{font-weight:500;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.1;margin-bottom:.9rem;color:var(--dark)}.moment-text>p:last-child{margin:0}.moment.next .moment-text{max-width:26rem}.star-mark{width:22px;height:22px;margin:0 auto 1.2rem;fill:var(--gold)}@media(min-width:860px){.story:before{content:"";position:absolute;left:50%;top:2rem;bottom:10rem;border-left:2px dotted color-mix(in srgb,var(--gold) 70%,transparent);transform:translate(-1px)}.moment{grid-template-columns:1fr 1fr;column-gap:7rem;align-items:center;text-align:left}.moment>.arch{justify-self:end}.moment>.moment-text{justify-self:start}.moment.flip>.arch{order:2;justify-self:start}.moment.flip>.moment-text{justify-self:end;text-align:right}.moment:not(.next):after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);background:var(--base) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23C9A24D'%3E%3Crect x='4' y='4' width='12' height='12'/%3E%3Crect x='4' y='4' width='12' height='12' transform='rotate(45 10 10)'/%3E%3C/svg%3E") center/18px no-repeat;box-shadow:0 0 0 6px var(--base)}.moment.next{grid-template-columns:1fr;text-align:center;justify-items:center;background:var(--base);padding:1.5rem 0}.moment.next>.moment-text{justify-self:center}}.gallery-section{padding:0 16px clamp(5rem,11vw,9rem)}.gallery{max-width:940px;margin:0 auto;background:var(--dark) var(--pattern);border-radius:12px;padding:clamp(10px,2.2vw,20px);box-shadow:0 40px 70px -40px #0009;min-width:0}.slides{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:#111;touch-action:pan-y;-webkit-user-select:none;user-select:none}.slides:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid color-mix(in srgb,var(--gold-soft) 55%,transparent);border-radius:3px;pointer-events:none;z-index:3}.slide{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;transition:opacity 1.3s ease;overflow:hidden}.slide.is-active{opacity:1}.slide img{position:absolute;max-width:none;pointer-events:none}.slide .bg{left:-24px;top:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(22px) brightness(.5) saturate(1.2)}.slide .fg{top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.slide.is-active .fg{animation:kenburns 9s ease-out both}.slide-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;padding:3.2rem 1.6rem 1.3rem;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.66));color:#fff;font-family:var(--display);font-style:var(--dstyle);font-size:clamp(1.02rem,3.8vw,1.4rem);line-height:1.3;text-align:center;text-wrap:balance;text-shadow:0 1px 8px rgba(0,0,0,.35);opacity:0;transform:translateY(10px);transition:opacity .9s ease .35s,transform .9s ease .35s}.slide.is-active .slide-cap{opacity:1;transform:none}@keyframes kenburns{0%{transform:scale(1)}to{transform:scale(1.06)}}.g-btn{position:absolute;top:50%;z-index:4;width:42px;height:42px;margin-top:-21px;padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold-soft) 60%,transparent);background:color-mix(in srgb,var(--dark) 55%,transparent);color:#fff;display:grid;place-items:center;cursor:pointer}.g-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.g-prev{left:16px}.g-next{right:16px}.thumbs{display:flex;gap:8px;justify-content:center;margin-top:clamp(10px,2vw,16px);overflow-x:auto;padding:4px;scrollbar-width:none}.thumbs::-webkit-scrollbar{display:none}.thumb{flex:0 0 auto;width:38px;height:38px;padding:0;border:0;border-radius:6px;overflow:hidden;cursor:pointer;background:none;opacity:.5;transition:opacity .3s,box-shadow .3s}.thumb img{width:100%;height:100%;object-fit:cover}.thumb[aria-current=true]{opacity:1;box-shadow:0 0 0 2px var(--dark),0 0 0 3.5px var(--gold)}@media(min-width:700px){.slides{aspect-ratio:3/2}.thumbs{gap:10px}.thumb{width:62px;height:62px}}.reasons{padding:clamp(5rem,11vw,9rem) 16px;text-align:center;background:var(--blush)}.reasons .section-head{margin-bottom:2.5rem}.deck{position:relative;width:min(80vw,330px);aspect-ratio:5/7;margin:0 auto 2.6rem}.deck-back,.card{border-radius:14px;background:var(--paper);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);box-shadow:0 1px #0000000d,0 22px 40px -26px #00000073}.deck-back{position:absolute;top:0;right:0;bottom:0;left:0}.deck-back.b1{transform:rotate(-5deg)}.deck-back.b2{transform:rotate(3.5deg)}.card{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-appearance:none;appearance:none;cursor:pointer;width:100%;padding:1.5rem 1.4rem 1.3rem;display:flex;flex-direction:column;align-items:center;font:inherit;color:var(--ink);transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .45s ease}.card:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:9px;pointer-events:none}.card-top{align-self:stretch;display:flex;align-items:baseline;justify-content:space-between}.card-no{font-family:var(--display);font-weight:500;font-size:2.7rem;line-height:1;color:var(--accent)}.card-of{font-family:var(--display);font-style:var(--dstyle);font-size:1rem;color:var(--muted)}.card-text{margin:auto 0;font-family:var(--display);font-style:var(--dstyle);font-size:clamp(1.35rem,5.6vw,1.7rem);line-height:1.25;color:var(--dark);text-wrap:balance}.card-heart{width:22px;height:22px;fill:var(--accent)}.card.leaving{transform:translate(-120%) rotate(-16deg);opacity:0}.card.entering{transform:scale(.93) rotate(3deg);opacity:0;transition:none}.letter-section{padding:clamp(5rem,11vw,9rem) 16px}.letter{position:relative;max-width:40rem;margin:0 auto;background:var(--paper);color:var(--ink);padding:clamp(2.2rem,7vw,4.2rem) clamp(1.5rem,7vw,4.4rem);border-radius:3px;box-shadow:0 40px 70px -40px #000c;overflow:hidden;transition:max-height 1.1s cubic-bezier(.3,.6,.2,1)}.letter.folded{max-height:25rem}.letter.folded:after{content:"";position:absolute;left:0;right:0;bottom:0;height:9rem;background:linear-gradient(transparent,var(--paper) 80%)}.letter p{margin:0 0 1.1em;font-size:1.17rem;line-height:1.78}.letter .salutation{font-family:var(--hand);font-size:clamp(2.3rem,8vw,2.9rem);line-height:1.15;color:var(--accent);margin-bottom:.6em}.letter .sign{font-family:var(--hand);font-size:clamp(2.6rem,9vw,3.4rem);line-height:1;color:var(--dark);text-align:right;margin:1.2rem 0 0}.unfold-row{text-align:center;margin-top:2.2rem}.unfold-row[hidden]{display:none}.promises-section{padding:clamp(5rem,11vw,9rem) 16px}.promises{list-style:none;margin:0 auto;padding:0;max-width:31rem;display:grid;gap:1.5rem}.promises li{display:grid;grid-template-columns:20px 1fr;gap:1rem;align-items:start;font-size:1.22rem;line-height:1.5}.promises svg{width:18px;height:18px;margin-top:.32em;fill:var(--gold)}.capsule{padding:clamp(5rem,11vw,9rem) 16px;text-align:center}.capsule .lock{width:64px;height:64px;margin:0 auto 1.6rem;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);color:var(--gold-soft)}.capsule .lock svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.capsule-when{margin:1rem 0 2rem;color:var(--on-dark-soft)}.countdown{display:flex;justify-content:center;gap:clamp(.8rem,4vw,2rem);margin:0 auto;max-width:30rem}.countdown div{min-width:3.6rem}.countdown b{display:block;font-family:var(--display);font-weight:500;font-size:clamp(2rem,8vw,3rem);line-height:1;color:var(--on-dark-strong);font-variant-numeric:tabular-nums}.countdown span{font-size:.9rem;color:var(--gold-soft)}.capsule .letter{margin-top:2.5rem;text-align:left}.capsule .letter[hidden]{display:none}.finale{background:radial-gradient(ellipse 70% 60% at 50% 42%,var(--accent-deep) 30%,transparent 100%),var(--pattern),var(--accent-deep);color:var(--on-dark);text-align:center;padding:clamp(6rem,14vw,10rem) 16px clamp(7rem,14vw,10rem)}.forever{margin:0 auto;max-width:13ch;font-family:var(--display);font-style:var(--dstyle);font-size:clamp(2.7rem,8.5vw,5.6rem);line-height:1.04;color:var(--on-dark-strong)}.finale .sig{margin:1.2rem 0 2.6rem;font-family:var(--hand);font-size:clamp(2.7rem,8vw,3.8rem);line-height:1.1;color:var(--gold-soft)}.extra-line{margin:0;font-size:clamp(1.8rem,6vw,2.6rem);line-height:1.4;color:var(--on-dark-strong)}.extra-sub{margin:.1rem 0 3rem;font-style:var(--dstyle);color:var(--on-dark-soft)}.again{font-family:var(--display);font-style:var(--dstyle);font-size:1.1rem;color:var(--gold-soft);text-underline-offset:5px;text-decoration-thickness:1px}.disc{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;width:62px;height:62px;padding:0;border:0;border-radius:50%;background:var(--dark);cursor:pointer;box-shadow:0 12px 26px -10px #0009}.disc[hidden]{display:none}.disc .face{display:block;position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;animation:spin 16s linear infinite;animation-play-state:paused}.disc .face>*{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.disc.playing .face{animation-play-state:running}.disc .ring{position:absolute;left:-5px;top:-5px;width:72px;height:72px;transform:rotate(-90deg);pointer-events:none}.disc .ring circle{fill:none;stroke-width:2.5}.disc .ring .track{stroke:color-mix(in srgb,var(--gold) 30%,transparent)}.disc .ring .bar{stroke:var(--gold);stroke-linecap:round}.disc .icon{position:absolute;top:17px;right:17px;bottom:17px;left:17px;border-radius:50%;background:#00000080;display:grid;place-items:center}.disc .icon svg{width:14px;height:14px;fill:#fff}.disc .i-pause,.disc.playing .i-play{display:none}.disc.playing .i-pause{display:block}.disc-label{position:fixed;right:90px;bottom:calc(32px + env(safe-area-inset-bottom));z-index:40;max-width:calc(100vw - 110px);background:var(--dark);color:var(--on-dark);font-size:.92rem;line-height:1.3;padding:.5rem .9rem;border-radius:999px;opacity:0;transform:translate(8px);transition:opacity .4s,transform .4s;pointer-events:none}.disc-label.show{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}.tap-heart{position:fixed;width:22px;height:22px;margin:-11px 0 0 -11px;pointer-events:none;z-index:60;fill:var(--tap);animation:floatUp 1.2s ease-out forwards}@keyframes floatUp{0%{transform:translateY(0) scale(.5);opacity:1}to{transform:translateY(-80px) scale(1.15);opacity:0}}.kicker{margin:0 0 1rem;font-family:var(--text);font-size:.92rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}.song-name{display:inline-flex;align-items:flex-start;gap:.5rem;margin:1.2rem 0 0;font-size:1.02rem;line-height:1.4;color:var(--muted);text-align:left}.song-name svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto;margin-top:.2em}.song-section{padding:clamp(4.5rem,10vw,7rem) 16px;text-align:center}.song-section .section-head{margin-bottom:2rem}.yt{position:relative;max-width:720px;margin:0 auto;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 30px 60px -30px #000000b3}.yt iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.song-title{margin:1.6rem 0 0;font-family:var(--display);font-style:var(--dstyle);font-size:clamp(1.5rem,4.4vw,2.1rem);line-height:1.2;color:var(--on-dark-strong)}.song-artist{margin:.3rem 0 0;color:var(--on-dark-soft)}.hero-grid{position:relative;z-index:1}.frame-circle{aspect-ratio:1}.frame-circle .arch-in{-webkit-clip-path:circle(50% at 50% 50%);clip-path:circle(50% at 50% 50%)}.frame-oval .arch-in{-webkit-clip-path:ellipse(50% 50% at 50% 50%);clip-path:ellipse(50% 50% at 50% 50%)}.frame-circle .arch-line,.frame-oval .arch-line{left:-10px;top:-10px;width:calc(100% + 20px);height:calc(100% + 20px)}.frame-rect{isolation:isolate}.frame-rect .arch-in{-webkit-clip-path:none;clip-path:none}.frame-rect:after{content:"";position:absolute;top:14px;right:-14px;bottom:-14px;left:14px;border:1px solid var(--gold);z-index:-1}.frame-polaroid{aspect-ratio:auto;background:#fff;padding:12px 12px 52px;box-shadow:0 2px 3px #00000012,0 24px 40px -22px #462d1480;transform:rotate(var(--tilt,-2deg))}.frame-polaroid .arch-in{position:relative;inset:auto;aspect-ratio:1;-webkit-clip-path:none;clip-path:none}.frame-polaroid:before{content:"";position:absolute;left:50%;top:-14px;width:96px;height:28px;transform:translate(-50%) rotate(-3deg);background:color-mix(in srgb,var(--gold-soft) 80%,transparent);box-shadow:0 1px 2px #00000014;z-index:2}.frame-polaroid figcaption{position:absolute;left:12px;right:12px;bottom:10px;font-family:var(--hand);font-weight:600;font-size:1.5rem;line-height:1.2;text-align:center;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frame-film{aspect-ratio:auto;background:#0d0d0d;padding:16px 30px;border-radius:3px;box-shadow:0 30px 50px -30px #000000a6}.frame-film .arch-in{position:relative;inset:auto;aspect-ratio:4/5;-webkit-clip-path:none;clip-path:none}.frame-film:before,.frame-film:after{content:"";position:absolute;top:10px;bottom:10px;width:10px;background:repeating-linear-gradient(to bottom,#EFE7D6 0 9px,transparent 9px 21px)}.frame-film:before{left:10px}.frame-film:after{right:10px}.frame-blob{transform:rotate(var(--tilt,-2.5deg))}.frame-blob .arch-in{-webkit-clip-path:none;clip-path:none;border-radius:46% 54% 50% 50%/52% 46% 54% 48%;box-shadow:0 0 0 10px #fff,14px 16px 0 10px var(--gold-soft);background:var(--blush)}.moment.flip .frame-blob{--tilt:2.5deg}.moment.flip .frame-blob .arch-in{border-radius:56% 44% 48% 52%/46% 56% 44% 54%;box-shadow:0 0 0 10px #fff,-14px 16px 0 10px #bde7ff}.frame-blob:after{content:"";position:absolute;z-index:2;right:-6px;top:5%;width:54px;height:54px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E") center/26px no-repeat;box-shadow:0 0 0 5px #fff,0 8px 16px -6px #4a1b5f80;transform:rotate(12deg)}.frame-pixel{filter:drop-shadow(0 0 14px rgba(255,46,136,.55)) drop-shadow(0 0 30px rgba(0,229,255,.25))}.frame-pixel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ff2e88,#7b5cff 50%,#00e5ff);-webkit-clip-path:polygon(0 16px,8px 16px,8px 8px,16px 8px,16px 0,calc(100% - 16px) 0,calc(100% - 16px) 8px,calc(100% - 8px) 8px,calc(100% - 8px) 16px,100% 16px,100% calc(100% - 16px),calc(100% - 8px) calc(100% - 16px),calc(100% - 8px) calc(100% - 8px),calc(100% - 16px) calc(100% - 8px),calc(100% - 16px) 100%,16px 100%,16px calc(100% - 8px),8px calc(100% - 8px),8px calc(100% - 16px),0 calc(100% - 16px));clip-path:polygon(0 16px,8px 16px,8px 8px,16px 8px,16px 0,calc(100% - 16px) 0,calc(100% - 16px) 8px,calc(100% - 8px) 8px,calc(100% - 8px) 16px,100% 16px,100% calc(100% - 16px),calc(100% - 8px) calc(100% - 16px),calc(100% - 8px) calc(100% - 8px),calc(100% - 16px) calc(100% - 8px),calc(100% - 16px) 100%,16px 100%,16px calc(100% - 8px),8px calc(100% - 8px),8px calc(100% - 16px),0 calc(100% - 16px))}.frame-pixel .arch-in{top:8px;right:8px;bottom:8px;left:8px;-webkit-clip-path:polygon(0 12px,6px 12px,6px 6px,12px 6px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 6px),6px calc(100% - 6px),6px calc(100% - 12px),0 calc(100% - 12px));clip-path:polygon(0 12px,6px 12px,6px 6px,12px 6px,12px 0,calc(100% - 12px) 0,calc(100% - 12px) 6px,calc(100% - 6px) 6px,calc(100% - 6px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 6px) calc(100% - 12px),calc(100% - 6px) calc(100% - 6px),calc(100% - 12px) calc(100% - 6px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 6px),6px calc(100% - 6px),6px calc(100% - 12px),0 calc(100% - 12px))}.style-etoiles .hero{background:radial-gradient(ellipse at 50% 28%,var(--hero-glow) 0%,var(--dark) 62%,var(--hero-edge) 100%);color:var(--on-dark)}.style-etoiles .hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--pattern);pointer-events:none}.style-etoiles .names{color:var(--on-dark-strong);font-weight:500}.style-etoiles .since,.style-etoiles .song-name{color:var(--on-dark-soft)}.style-etoiles .song-line,.style-etoiles .kicker{color:var(--gold-soft)}.style-etoiles .anniv-note{color:var(--gold-soft);border-color:var(--gold)}.style-etoiles .env-front .to{color:var(--gold-soft)}.style-etoiles .env-letter span{color:var(--dark)}.style-etoiles .hero-star{top:50%;width:132%}.style-etoiles .hero-star circle{stroke-opacity:.55}.style-etoiles h2.section-title,.style-etoiles .moment h3{font-weight:500}.style-etoiles .arch-line path{stroke-width:1}.style-etoiles .story-section,.style-etoiles .promises-section{background:linear-gradient(var(--base),#E4E8F2)}.style-jardin .hero-star{display:none}.style-jardin h2.section-title:before{content:"";display:block;width:56px;height:26px;margin:0 auto .7rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 26' fill='none' stroke='%23B8924A' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M4 22C16 20 32 14 52 4'/%3E%3Cpath d='M18 18c-2-6 0-11 6-14 2 6 0 11-6 14z'/%3E%3Cpath d='M32 12c1-6 5-9 11-9-1 6-5 9-11 9z'/%3E%3Cpath d='M24 16c6-3 11-2 15 2-6 3-11 2-15-2z'/%3E%3C/svg%3E") center/contain no-repeat}.style-polaroid body{background-image:var(--pattern)}.style-polaroid .hero-star{display:none}.style-polaroid .names{font-weight:600;font-size:clamp(3.8rem,16vw,8.8rem);line-height:.86}.style-polaroid h2.section-title{font-weight:600;font-size:clamp(3.1rem,10vw,5.4rem)}.style-polaroid .song-line{font-weight:600;font-size:clamp(1.9rem,4.8vw,2.6rem)}.style-polaroid .kicker{font-family:var(--hand);font-size:1.6rem;letter-spacing:0;text-transform:none;font-weight:600}.style-polaroid .date{font-family:var(--hand);font-weight:600;font-size:1.7rem}.style-polaroid .moment h3{font-family:var(--hand);font-weight:700;font-size:clamp(2.5rem,7vw,3.3rem)}.style-polaroid .moment.flip .frame-polaroid{--tilt:2.5deg}.style-polaroid .hero-photo .frame-polaroid{--tilt:-3deg}.style-polaroid .btn{font-size:1.55rem;font-weight:600;padding:.75rem 1.7rem}.style-polaroid .seal,.style-polaroid .env-front .to{font-weight:700}.style-polaroid .env-letter span{font-size:clamp(1.3rem,5vw,1.7rem);font-weight:600}.style-polaroid .intro-note{font-size:clamp(1.7rem,6vw,2.2rem);font-weight:600}.style-polaroid .hw-lead{font-size:clamp(1.25rem,4.4vw,1.7rem);font-weight:600}.style-polaroid .loved-sum{font-size:clamp(1.9rem,5vw,2.6rem);font-weight:600}.style-polaroid .loved-meta h3{font-size:1.6rem;font-weight:700}.style-polaroid .card{background:#fff3a3;border:0;border-radius:2px;transform:rotate(-1.5deg);box-shadow:0 20px 30px -18px #5a460a8c}.style-polaroid .card.leaving{transform:translate(-120%) rotate(-16deg)}.style-polaroid .card:before{display:none}.style-polaroid .deck-back{border:0;border-radius:2px}.style-polaroid .deck-back.b1{background:#f9cdd5}.style-polaroid .deck-back.b2{background:#cde5f1}.style-polaroid .card-text{font-size:clamp(2rem,7.5vw,2.5rem);line-height:1.1;font-weight:600}.style-polaroid .card-no{font-family:var(--hand);font-weight:700}.style-polaroid .card-of{font-size:1.3rem}.style-polaroid .letter{background:#fffdf7 repeating-linear-gradient(transparent 0 35px,#d5e3ef 35px 36px);padding-top:clamp(2rem,6vw,3rem)}.style-polaroid .letter p{font-family:var(--hand);font-size:1.65rem;line-height:36px;margin-bottom:36px}.style-polaroid .letter .salutation{font-size:2.6rem;font-weight:700;line-height:36px}.style-polaroid .letter .sign{font-weight:700}.style-polaroid .promises li{font-family:var(--hand);font-size:1.75rem;line-height:1.25}.style-polaroid .forever{font-weight:700;font-size:clamp(3.4rem,12vw,6.8rem)}.style-polaroid .finale .sig{font-weight:700}.style-polaroid .gallery{background:#fff;padding:14px 14px 18px}.style-polaroid .slides:after{border-color:#ffffffb3}.style-polaroid .thumb[aria-current=true]{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--accent)}.style-polaroid .song-title{font-weight:700;font-size:clamp(2rem,6vw,2.8rem)}.style-polaroid .again{font-size:1.5rem;font-weight:600}.style-cinema body{font-size:1.02rem}.style-cinema .hero:before,.style-cinema .hero:after{content:"";position:absolute;left:0;right:0;height:28px;background:#111 repeating-linear-gradient(to right,transparent 0 12px,#F2ECE1 12px 24px,transparent 24px 34px) center/100% 11px no-repeat}.style-cinema .hero:before{top:0}.style-cinema .hero:after{bottom:0}.style-cinema .hero-star{display:none}.style-cinema .names{text-transform:uppercase;font-size:clamp(4.2rem,18vw,10rem);line-height:.86;letter-spacing:.01em}.style-cinema .names span:last-child{color:var(--accent)}.style-cinema h2.section-title{text-transform:uppercase;letter-spacing:.03em;font-size:clamp(3.2rem,10vw,5.6rem);line-height:.95}.style-cinema .btn{text-transform:uppercase;letter-spacing:.14em;font-size:1.2rem;border-radius:3px;padding:.85rem 1.6rem}.style-cinema .kicker{letter-spacing:.32em;font-size:.85rem}.style-cinema .song-line{font-family:var(--text);font-size:1.15rem}.style-cinema .date{letter-spacing:.14em;font-size:1.35rem}.style-cinema .moment h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(2.4rem,6.4vw,3.2rem)}.style-cinema .hw-days{font-weight:400}.style-cinema .hw-lead,.style-cinema .loved-sum{font-family:var(--text);font-size:clamp(1rem,3.4vw,1.25rem)}.style-cinema .loved-sum{font-size:clamp(1.15rem,3.6vw,1.5rem)}.style-cinema .loved-meta h3{letter-spacing:.14em;font-size:1.3rem}.style-cinema .card{border-radius:4px}.style-cinema .card:before{border:2px dashed color-mix(in srgb,var(--accent) 60%,transparent)}.style-cinema .card-text{font-family:var(--text);font-size:clamp(1.1rem,4.6vw,1.3rem);line-height:1.45}.style-cinema .card-no{font-weight:400;font-size:3.4rem}.style-cinema .card-of{font-family:var(--text);font-size:.85rem}.style-cinema .letter p{font-size:1.02rem;line-height:1.75}.style-cinema .letter .salutation{font-family:var(--display);font-size:2.6rem;letter-spacing:.03em}.style-cinema .letter .sign{font-family:var(--display);letter-spacing:.06em;font-size:2.4rem}.style-cinema .forever{text-transform:uppercase;font-size:clamp(3.6rem,13vw,7.4rem);line-height:.9;max-width:12ch}.style-cinema .finale{background:radial-gradient(ellipse 70% 60% at 50% 42%,#3A0C10 15%,transparent 100%),var(--pattern),#111}.style-cinema .finale .sig{font-family:var(--display);letter-spacing:.08em;font-size:clamp(2.2rem,6vw,3.2rem)}.style-cinema .env-front .to{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:clamp(1.4rem,6vw,2rem)}.style-cinema .env-letter span{font-family:var(--text);font-size:clamp(.85rem,3.3vw,1.05rem)}.style-cinema .intro-note{font-family:var(--text);font-size:clamp(1.05rem,4vw,1.3rem)}.style-cinema .seal{letter-spacing:.04em}.style-cinema .song-title{text-transform:uppercase;letter-spacing:.04em;font-size:clamp(2rem,6vw,2.8rem)}.style-minimal .hero-star{display:none}.style-minimal .names{text-transform:uppercase;font-weight:300;letter-spacing:.08em;font-size:clamp(2.4rem,10.5vw,5.6rem);line-height:1.04}.style-minimal h2.section-title{font-weight:300;text-transform:uppercase;letter-spacing:.16em;font-size:clamp(1.6rem,5.4vw,2.7rem)}.style-minimal .btn{border-radius:0;text-transform:uppercase;letter-spacing:.18em;font-size:.82rem;padding:1.05rem 1.7rem}.style-minimal .song-line{font-weight:300;font-size:clamp(1.2rem,3.2vw,1.55rem);color:var(--ink)}.style-minimal .kicker{color:var(--muted)}.style-minimal .date{text-transform:uppercase;letter-spacing:.18em;font-size:.82rem}.style-minimal .moment h3{font-weight:400;font-size:clamp(1.6rem,4.6vw,2.2rem)}.style-minimal .story:before{border-left:1px solid color-mix(in srgb,var(--ink) 35%,transparent)}.style-minimal .card,.style-minimal .deck-back{border-radius:0;border:1px solid var(--ink);box-shadow:none}.style-minimal .card:before{display:none}.style-minimal .card-text{font-weight:300;font-size:clamp(1.3rem,5vw,1.55rem)}.style-minimal .card-no{font-weight:200}.style-minimal .hw-lead,.style-minimal .loved-sum{font-weight:300}.style-minimal .hw-days{font-weight:200}.style-minimal .loved-meta h3{text-transform:uppercase;letter-spacing:.16em;font-size:.9rem;color:var(--on-dark-strong)}.style-minimal .letter{border-radius:0}.style-minimal .letter p{font-weight:350;font-size:1.08rem}.style-minimal .letter .salutation,.style-minimal .letter .sign{font-weight:300;letter-spacing:.04em;font-size:clamp(1.6rem,5vw,2rem);color:var(--ink)}.style-minimal .forever{font-weight:300;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(2rem,7.4vw,4.2rem);max-width:16ch}.style-minimal .finale{background:var(--dark)}.style-minimal .finale .sig{font-weight:300;letter-spacing:.2em;text-transform:uppercase;font-size:1.1rem;color:var(--on-dark-soft)}.style-minimal .seal{background:var(--dark);box-shadow:0 6px 14px -4px #00000080;color:#fff}.style-minimal .env-front .to{font-weight:300;text-transform:uppercase;letter-spacing:.22em;font-size:clamp(.9rem,3.6vw,1.1rem)}.style-minimal .gallery,.style-minimal .slides,.style-minimal .slides:after{border-radius:0}.style-minimal .promises svg{fill:var(--ink)}.style-minimal .song-title{font-weight:300;text-transform:uppercase;letter-spacing:.1em;font-size:clamp(1.2rem,4vw,1.6rem)}.style-fun .hero{background:radial-gradient(circle at 12% 18%,rgba(255,224,122,.55) 0,transparent 28%),radial-gradient(circle at 88% 14%,rgba(143,211,255,.5) 0,transparent 30%),radial-gradient(circle at 78% 92%,rgba(255,143,177,.45) 0,transparent 34%),var(--base) var(--pattern)}.style-fun .hero-star{display:none}.style-fun .names{font-weight:600;letter-spacing:-.02em;line-height:.92;font-size:clamp(3.4rem,13vw,8rem)}.style-fun .names span:last-child{color:var(--accent)}.style-fun .kicker{display:inline-block;padding:.45em 1em;border-radius:999px;background:var(--accent);color:#fff;letter-spacing:.06em;text-transform:none;font-weight:600;font-size:1rem;transform:rotate(-3deg);box-shadow:0 4px 0 var(--accent-deep)}.style-fun .song-line{display:inline-block;padding:.15em .6em;border-radius:12px;background:var(--gold-soft);color:var(--ink);font-weight:500;transform:rotate(-1.5deg)}.style-fun h2.section-title{font-weight:600;letter-spacing:-.01em;font-size:clamp(2.6rem,8vw,4.4rem)}.style-fun .btn{border:0;background:var(--accent);color:#fff;font-weight:600;font-size:1.2rem;padding:1rem 1.8rem;box-shadow:0 6px 0 var(--accent-deep);transition:transform .15s,box-shadow .15s}.style-fun .btn:hover{background:var(--accent);color:#fff;transform:translateY(3px);box-shadow:0 3px 0 var(--accent-deep)}.style-fun .btn.on-dark{background:var(--gold-soft);color:var(--ink);box-shadow:0 6px #e0a800}.style-fun .btn.on-dark:hover{background:var(--gold-soft);color:var(--ink);box-shadow:0 3px #e0a800}.style-fun .date{display:inline-block;padding:.2em .8em;border-radius:999px;background:var(--blush);color:var(--accent-deep);font-weight:600;font-size:1rem}.style-fun .moment h3{font-weight:600;font-size:clamp(2rem,5.6vw,2.7rem)}.style-fun .story:before{border-left:3px dotted var(--accent)}.style-fun .moment:not(.next):after{background:var(--base) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FF4F87' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E") center/20px no-repeat}.style-fun .star-mark{fill:var(--accent)}.style-fun .reasons{background:linear-gradient(180deg,#ffe1e8,#fff0d6)}.style-fun .deck-back,.style-fun .card{border:0;border-radius:28px}.style-fun .deck-back.b1{background:#ffe07a}.style-fun .deck-back.b2{background:#bde7ff}.style-fun .card{background:#fff;box-shadow:0 10px #ffc2d4,0 26px 40px -22px #4a1b5f73}.style-fun .card:before{border:2px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:20px}.style-fun .card-no{font-weight:700}.style-fun .card-text{font-weight:500;font-size:clamp(1.5rem,6vw,1.9rem);line-height:1.2}.style-fun .letter{border-radius:26px;box-shadow:0 12px #ffc2d4,0 40px 70px -40px #000000b3}.style-fun .letter .salutation,.style-fun .letter .sign{font-weight:600;font-size:clamp(2rem,7vw,2.6rem)}.style-fun .letter p{font-size:1.15rem}.style-fun .promises svg{fill:var(--accent)}.style-fun .promises li{font-weight:500}.style-fun .gallery{border-radius:28px}.style-fun .slides{border-radius:20px}.style-fun .slides:after{border-radius:16px;border-color:#ffffff8c}.style-fun .thumb{border-radius:12px}.style-fun .seal{background:radial-gradient(circle at 35% 30%,#FF8FB1,var(--accent) 45%,var(--accent-deep));color:#fff;font-weight:600}.style-fun .env-front .to{font-weight:600;color:var(--accent-deep)}.style-fun .env-letter span,.style-fun .intro-note,.style-fun .loved-sum{font-weight:500}.style-fun .hw-days{font-weight:700}.style-fun .forever{font-weight:700;font-size:clamp(3rem,10vw,6rem);line-height:1}.style-fun .finale{background:radial-gradient(circle at 15% 20%,rgba(255,143,177,.9) 0,transparent 38%),radial-gradient(circle at 85% 75%,rgba(255,184,0,.75) 0,transparent 38%),radial-gradient(circle at 60% 10%,rgba(143,211,255,.6) 0,transparent 30%),var(--accent-deep)}.style-fun .finale .sig{font-weight:600;color:#fff3b0}.style-fun .song-title{font-weight:600}.style-gaming body{font-size:1.38rem;line-height:1.4}.style-gaming body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px)}.style-gaming .hero{background:radial-gradient(ellipse at 50% 26%,rgba(123,92,255,.45) 0%,transparent 55%),linear-gradient(180deg,transparent 70%,rgba(255,46,136,.12) 100%),var(--base) var(--pattern);color:var(--ink)}.style-gaming .hero-star{display:none}.style-gaming .names{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:.95;font-size:clamp(3rem,12vw,7rem);text-shadow:0 0 18px rgba(255,46,136,.65),4px 4px 0 #FF2E88}.style-gaming .names span:last-child{color:#7df9ff;text-shadow:0 0 18px rgba(0,229,255,.65),4px 4px 0 #7B5CFF}.style-gaming .kicker{display:inline-block;padding:.5em .9em;border:2px solid var(--gold);color:var(--gold);font-family:var(--display);font-weight:600;font-size:.95rem;letter-spacing:.14em;box-shadow:4px 4px 0 var(--accent)}.style-gaming .song-line{font-family:var(--display);color:#ffe600;font-size:clamp(1.4rem,3.6vw,2rem)}.style-gaming .since,.style-gaming .song-name{color:var(--muted);font-size:1.35rem}.style-gaming .anniv-note{border-radius:0}.style-gaming h2.section-title{color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(2.2rem,7vw,3.8rem);text-shadow:3px 3px 0 #FF2E88}.style-gaming .btn{border:0;border-radius:0;background:var(--accent);color:#fff;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:1.1rem;padding:1rem 1.6rem;box-shadow:5px 5px 0 var(--gold);transition:transform .12s,box-shadow .12s}.style-gaming .btn:hover{background:var(--accent);color:#fff;transform:translate(3px,3px);box-shadow:2px 2px 0 var(--gold)}.style-gaming .btn.on-dark{background:#ffe600;color:#07061a;box-shadow:5px 5px 0 var(--accent)}.style-gaming .btn.on-dark:hover{background:#ffe600;color:#07061a;box-shadow:2px 2px 0 var(--accent)}.style-gaming #open-letter{animation:nhBlink 1.2s steps(2,end) infinite}@keyframes nhBlink{50%{box-shadow:5px 5px 0 var(--accent),0 0 26px #ffe60099}}.style-gaming .date{font-family:var(--display);color:var(--gold);letter-spacing:.06em;font-size:1.15rem;text-transform:uppercase}.style-gaming .moment h3{color:#fff;font-weight:600;font-size:clamp(1.9rem,5.2vw,2.6rem)}.style-gaming .moment-text>p:last-child{color:#cfc9ff}.style-gaming .story:before{border-left:2px dashed color-mix(in srgb,var(--gold) 70%,transparent)}.style-gaming .moment:not(.next):after{background:var(--base) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 6' shape-rendering='crispEdges'%3E%3Cpath fill='%23FF2E88' d='M1 0h2v1H1zM4 0h2v1H4zM0 1h7v2H0zM1 3h5v1H1zM2 4h3v1H2zM3 5h1v1H3z'/%3E%3C/svg%3E") center/18px no-repeat}.style-gaming .star-mark{fill:#ffe600}.style-gaming .reasons{background:linear-gradient(180deg,#120e30,#1a1540)}.style-gaming .deck-back,.style-gaming .card{border-radius:0;background:#15112f}.style-gaming .deck-back{border:3px solid #7B5CFF}.style-gaming .deck-back.b2{border-color:#ffe600}.style-gaming .card{border:3px solid var(--accent);box-shadow:6px 6px 0 var(--gold)}.style-gaming .card:before{border:2px dashed color-mix(in srgb,var(--gold) 55%,transparent);border-radius:0}.style-gaming .card-no{color:#ffe600;font-weight:700}.style-gaming .card-text{color:#fff;font-family:var(--display);font-size:clamp(1.4rem,5.6vw,1.8rem);line-height:1.25}.style-gaming .card-of{color:var(--muted);font-family:var(--text);font-size:1.2rem}.style-gaming .letter{border-radius:0;border:2px solid var(--gold);box-shadow:8px 8px 0 var(--accent),0 40px 70px -40px #000000e6}.style-gaming .letter p{font-size:1.4rem;line-height:1.45}.style-gaming .letter .salutation{font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,6vw,2.4rem);color:var(--accent)}.style-gaming .letter .sign{font-family:var(--display);font-weight:700;color:var(--gold);font-size:clamp(1.8rem,6vw,2.4rem)}.style-gaming .promises svg{fill:#ffe600}.style-gaming .gallery{border-radius:0;border:2px solid #7B5CFF;box-shadow:6px 6px 0 var(--accent)}.style-gaming .slides,.style-gaming .slides:after,.style-gaming .thumb{border-radius:0}.style-gaming .env-letter span,.style-gaming .env-front .to{color:#fff;font-family:var(--display)}.style-gaming .env-front .to{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.2rem,5vw,1.6rem)}.style-gaming .seal{border-radius:0;background:var(--accent);color:#fff;font-family:var(--display);font-weight:700;box-shadow:0 0 0 4px #07061a,0 0 0 7px var(--gold)}.style-gaming .intro-note{font-family:var(--display);font-size:clamp(1.2rem,4.6vw,1.6rem)}.style-gaming .intro-hint{font-size:1.2rem}.style-gaming .hw-lead,.style-gaming .loved-sum,.style-gaming .loved-meta h3{font-family:var(--display)}.style-gaming .hw-days{color:#ffe600;font-weight:700}.style-gaming .hw-days:before{content:"\2665";color:var(--accent)}.style-gaming .hw-clock,.style-gaming .loved-meta h3{color:var(--gold)}.style-gaming .hw-clock{font-size:clamp(1rem,3.4vw,1.3rem)}.style-gaming .countdown b{color:#ffe600}.style-gaming .countdown span,.style-gaming .capsule-when{font-size:1.2rem}.style-gaming .finale{background:radial-gradient(ellipse 70% 55% at 50% 45%,rgba(255,46,136,.35) 0%,transparent 70%),var(--dark) var(--pattern)}.style-gaming .forever{font-weight:700;text-transform:uppercase;color:#fff;text-shadow:0 0 22px rgba(255,46,136,.7),4px 4px 0 #FF2E88;font-size:clamp(2.4rem,9vw,5rem);line-height:1.02}.style-gaming .finale .sig{font-family:var(--display);font-weight:700;color:var(--gold);font-size:clamp(1.8rem,6vw,2.6rem)}.style-gaming .again{color:var(--gold)}.style-gaming .song-title{font-weight:700;text-transform:uppercase}.style-gaming .song-artist{font-size:1.25rem}.style-gaming .disc{background:#07061a;box-shadow:0 0 0 2px var(--accent),0 12px 26px -10px #0009}.style-gaming .disc-label{border-radius:0;font-size:1.15rem}@media(max-width:899px){.song-name{text-align:center;justify-content:center}}@media(min-width:900px){.style-cinema .names{font-size:min(9.4vw,9.6rem)}.style-minimal .names{font-size:min(5.2vw,5.6rem)}.style-polaroid .names{font-size:min(8vw,8.6rem)}.style-fun .names{font-size:min(7.6vw,8rem)}.style-gaming .names{font-size:min(6.2vw,6.6rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}}
/*# sourceMappingURL=/cdn/shop/t/6/assets/nh-engine.css.map */
