@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_9637e0{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_9637e0{--font-body:"Nunito","Nunito Fallback"}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9940be41d763cd40-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d0204c37d9a66afa-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/424a6f0e872a6c22-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/870840a80857d4d7-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Pacifico;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/be955174636e5369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Pacifico Fallback;src:local("Arial");ascent-override:137.32%;descent-override:47.74%;line-gap-override:0.00%;size-adjust:94.89%}.__className_a5c4ba{font-family:Pacifico,Pacifico Fallback;font-weight:400;font-style:normal}.__variable_a5c4ba{--font-display:"Pacifico","Pacifico Fallback"}:root{--font-body:"Nunito","Quicksand",system-ui,sans-serif;--font-display:"Pacifico","Comic Sans MS",cursive;--bg:#fff0f5;--bg-2:#fce4ec;--card:#ffffff;--card-strong:#fff8fa;--line:#f8bbd0;--text:#4a2c3d;--text-soft:#8e6278;--accent:#ff80ab;--accent-2:#b3e5fc;--sanrio-red:#e53935;--shadow:0 4px 16px rgba(244,143,177,0.25);--radius-lg:28px;--radius-md:22px;--radius-sm:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body),system-ui,sans-serif;background-color:var(--bg);background-image:radial-gradient(circle,var(--bg-2) 1.5px,transparent 1.5px);background-size:24px 24px;color:var(--text);overflow:hidden}a{color:inherit}.gateShell{position:relative;min-height:100svh;min-height:100dvh;display:grid;place-items:center;padding:18px 14px;overflow:hidden}.gateGlow{position:absolute;inset:0;pointer-events:none}.gateCard{position:relative;z-index:1;width:min(100%,430px);min-height:min(88svh,760px);border-radius:30px;border:2.5px solid #f48fb1;box-shadow:var(--shadow);background:var(--card);padding:22px 16px 16px;display:grid;grid-template-rows:auto auto auto auto 1fr;align-content:start;transition:opacity .22s ease,transform .26s ease,filter .26s ease}.gateCard:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.12;background-image:repeating-linear-gradient(-45deg,var(--line),var(--line) 2px,transparent 2px,transparent 14px)}.gateCardUnlocking{animation:gateSuccessPop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes gateSuccessPop{0%{transform:scale(1);opacity:1;filter:blur(0)}30%{transform:scale(1.03);opacity:1;filter:blur(0)}to{transform:scale(.97);opacity:0;filter:blur(6px)}}@media (prefers-reduced-motion:reduce){.gateCardUnlocking{animation:none;opacity:0;transition:opacity .2s ease}}.gateTitle{margin:8px 0 4px;line-height:1.15;font-size:clamp(1.55rem,5.2vw,1.95rem);color:var(--accent);text-align:center;font-family:var(--font-display),cursive;letter-spacing:.01em}.gateSubtitle{margin:0;color:var(--text-soft);line-height:1.4;text-align:center;font-size:.9rem}.gateLockLabel{margin:0;text-align:center;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700}.passcodeDots{margin:18px auto 8px;display:flex;gap:14px;justify-content:center;align-items:center;min-height:18px}.passcodeDotsError{animation:shakeDots .28s ease-in-out}.passcodeDot{width:14px;height:14px;border-radius:999px;border:2px solid #f48fb1;background:#ffffff}.passcodeDotFilled{background:var(--accent);border-color:#e91e63}.gateError,.gateHint{margin:0;font-size:.82rem;text-align:center;min-height:1.1rem}.gateHint{color:var(--text-soft)}.gateError{color:var(--sanrio-red)}.keypad{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px 14px;gap:12px 14px;align-items:center}.keypadSpacer{height:72px}.keypadButton{position:relative;overflow:hidden;aspect-ratio:1/1;width:100%;border-radius:999px;border:2px solid var(--line);background:var(--card-strong);color:var(--text);box-shadow:0 3px 8px rgba(244,143,177,.12);display:grid;place-items:center;align-content:center;padding:6px;font:inherit;transition:transform .1s cubic-bezier(.34,1.56,.64,1)}@media (hover:hover) and (pointer:fine){.keypadButton:hover{border-color:#f48fb1;background:#fff0f5;transform:scale(1.04)}}.keypadButton:active{transform:scale(.92);background:var(--bg-2)}.keypadRipple{position:absolute;inset:50% auto auto 50%;width:18%;aspect-ratio:1/1;border-radius:999px;transform:translate(-50%,-50%) scale(0);background:radial-gradient(circle,rgba(255,128,171,.3),transparent);pointer-events:none}.keypadButton:active .keypadRipple{animation:keypadRipple .34s ease-out}.keypadDigit{display:block;font-size:clamp(1.8rem,7vw,2.2rem);line-height:1;font-weight:600;margin-top:2px}.keypadLetters{display:block;margin-top:3px;font-size:.62rem;line-height:1;letter-spacing:.15em;color:var(--text-soft);min-height:.62rem}.keypadAction{height:72px;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-size:.95rem;transition:opacity .16s ease,transform .16s ease}.keypadAction:active{transform:scale(.95)}.keypadAction:disabled{opacity:.45}.keypadActionHidden{opacity:0;pointer-events:none;transform:scale(.92)}.pageShell{position:relative;width:100%;max-width:960px;margin:0 auto;height:100svh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:0 16px 22px;scrollbar-width:none;isolation:isolate}.pageShell::-webkit-scrollbar{display:none}.screen{position:relative;min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;display:grid;align-items:stretch;padding:10px 0}.heartFallLayer{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.heartDrop{position:absolute;top:-14%;font-size:1.1rem;line-height:1;color:rgba(196,88,124,.58);text-shadow:0 1px 2px rgba(135,50,83,.18);animation:heartDriftDown linear infinite}.heartDrop--1{left:8%;font-size:1rem;animation-duration:20s;animation-delay:-3s}.heartDrop--2{left:24%;font-size:1.25rem;color:rgba(180,130,200,.45);animation-duration:24s;animation-delay:-11s}.heartDrop--3{left:42%;font-size:1.05rem;animation-duration:18s;animation-delay:-6s}.heartDrop--4{left:61%;font-size:1.15rem;animation-duration:22s;animation-delay:-14s}.heartDrop--5{left:79%;font-size:1.3rem;color:rgba(180,130,200,.4);animation-duration:26s;animation-delay:-9s}.heartDrop--6{left:92%;font-size:1rem;animation-duration:19s;animation-delay:-17s}.heartDrop--7{left:15%;font-size:.9rem;animation-duration:23s;animation-delay:-8s}.heartDrop--8{left:70%;font-size:1.1rem;color:rgba(180,130,200,.38);animation-duration:21s;animation-delay:-13s}.heroCard,.sectionCard{position:relative;z-index:1;overflow:hidden;background:var(--card);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius-lg)}.heroCard:before,.sectionCard:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:.08;background-image:repeating-linear-gradient(-45deg,var(--line),var(--line) 2px,transparent 2px,transparent 14px)}.pageCard{min-height:calc(100svh - 20px);max-height:calc(100svh - 20px);display:flex;flex-direction:column}.pageContent{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:8px}.heroCard{--hero-border:#d4c4e0;--hero-heading:#8d4a35;--hero-accent:#c06a45;--hero-accent-rose:#d88359;--hero-meta-1:#8d4a35;--hero-meta-2:#a4633d;--hero-meta-3:#3e6e61;--hero-chevron:#c06a45;--hero-shadow:0 4px 16px rgba(123,94,138,0.18),0 1px 3px rgba(123,94,138,0.08);--hero-card-strong:#f0eaf4;padding:18px 14px 14px;overflow:hidden;border-color:var(--hero-border);box-shadow:var(--hero-shadow)}.heroCard:before{background-image:repeating-linear-gradient(-45deg,var(--hero-border),var(--hero-border) 1.5px,transparent 1.5px,transparent 18px);opacity:.05}.heroCard:after{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at 30% 20%,rgba(212,196,224,.15) 0,transparent 50%),radial-gradient(ellipse at 75% 70%,rgba(201,146,158,.1) 0,transparent 45%),radial-gradient(ellipse at 50% 50%,rgba(178,223,219,.06) 0,transparent 55%);pointer-events:none;z-index:0}.heroCard .pageContent{position:relative;z-index:1;overflow:visible}.heroKicker{margin:0;font-size:.9rem;color:var(--hero-accent);letter-spacing:.05em;text-transform:none;font-family:var(--font-display),cursive}.heroPolaroid{position:relative;margin:0 0 4px;width:min(76%,260px);transform:rotate(-3deg);background:#ffffff;padding:9px 9px 14px;border-radius:8px;box-shadow:0 4px 12px rgba(123,94,138,.2);border:2px solid var(--hero-border,#d4c4e0)}.heroCard .heroPolaroid{margin:0 auto 4px;transform:rotate(-2deg)}.heroPolaroidSideHint{position:absolute;right:-128px;bottom:14px;width:108px;display:block;color:rgba(141,74,53,.58);font-size:.54rem;font-weight:600;font-style:italic;letter-spacing:.03em;line-height:1.18;text-align:left;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:4;text-shadow:0 1px 0 rgba(255,255,255,.5);transform:rotate(-2deg)}.heroPolaroidSideHintArrow{position:absolute;left:4px;top:-56px;width:56px;height:56px;display:block;margin:0}.heroPolaroidSideHintArrowPlayer{width:100%;height:100%;display:block;opacity:.41;filter:saturate(85%) brightness(150%);transform:scaleX(-1) rotate(118deg);transform-origin:50% 50%}@media (max-width:1023px) and (min-width:768px){.heroPolaroidSideHint{right:-108px;bottom:8px;width:92px;font-size:.5rem;line-height:1.15}.heroPolaroidSideHintArrow{left:2px;top:-48px;width:48px;height:48px}}@media (min-width:768px){.heroCard .pageContent{align-items:center;text-align:center}.heroMeta{justify-content:center}}@media (max-width:767px){.heroCard .pageContent{align-items:flex-start;text-align:left}.heroMeta{justify-content:flex-start}.heroPolaroidSideHint{right:-10px;bottom:-28px;width:86px;font-size:.48rem;line-height:1.15;text-align:right;transform:rotate(-1deg)}.heroPolaroidSideHintArrow{right:4px;left:auto;top:-42px;width:40px;height:40px}.heroPolaroidSideHintArrowPlayer{transform:scaleX(-1) rotate(92deg)}}.heroPolaroidTape{position:absolute;width:34px;height:13px;border-radius:2px;background:rgba(178,223,219,.55);box-shadow:0 1px 2px rgba(68,97,95,.18);pointer-events:none;z-index:2}.heroPolaroidTape--topLeft{top:-7px;left:-8px;transform:rotate(-34deg)}.heroPolaroidTape--topRight{top:-7px;right:-8px;transform:rotate(34deg)}.heroPolaroidTape--bottomLeft{bottom:-7px;left:-8px;transform:rotate(34deg)}.heroPolaroidTape--bottomRight{bottom:-7px;right:-8px;transform:rotate(-34deg)}@keyframes tapeGlint{0%,85%,to{box-shadow:0 1px 2px rgba(68,97,95,.18)}92%{box-shadow:0 1px 2px rgba(68,97,95,.18),inset 0 0 6px rgba(255,255,255,.5)}}@media (prefers-reduced-motion:no-preference){.heroPolaroidTape--topLeft{animation:tapeGlint 8s ease-in-out 0s infinite}.heroPolaroidTape--topRight{animation:tapeGlint 8s ease-in-out 2s infinite}.heroPolaroidTape--bottomLeft{animation:tapeGlint 8s ease-in-out 4s infinite}.heroPolaroidTape--bottomRight{animation:tapeGlint 8s ease-in-out 6s infinite}}.heroPolaroid:before{content:"";position:absolute;top:-5px;left:50%;transform:translateX(-50%) rotate(2deg);width:32px;height:12px;background:rgba(178,223,219,.55);border-radius:2px;z-index:2}.heroCard .heroPolaroid:before{display:none}.heroPolaroidMediaButton{position:relative;width:100%;display:block;border:0;padding:0;border-radius:6px;background:transparent;cursor:pointer;color:inherit;text-align:inherit;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none;perspective:800px;filter:drop-shadow(calc(var(--hero-shadow-x, 0) * 1px) 4px calc(4px + var(--hero-shadow-blur, 0) * 1px) rgba(123,94,138,calc(.18 + var(--hero-shadow-opacity-boost, 0) * .01)))}.heroPolaroidTapHint{position:absolute;right:8px;bottom:8px;z-index:3;display:inline-flex;align-items:center;justify-content:flex-end;gap:0;max-width:17ch;padding:0;border:0;background:transparent;color:rgba(141,74,53,.52);font-size:.56rem;font-weight:600;font-style:italic;letter-spacing:.03em;line-height:1.2;text-align:right;text-shadow:0 1px 0 rgba(255,255,255,.55);pointer-events:none;animation:none}.heroPolaroidTapHint:before{display:none}.heroPolaroidMediaButton:focus-visible{outline:2px solid var(--hero-accent-rose);outline-offset:3px}.heroPolaroidMediaButton.is-dragging{cursor:-webkit-grabbing;cursor:grabbing}.heroPolaroidMediaScene{display:block;position:relative;aspect-ratio:4/5;border-radius:6px;border:2px solid var(--bg-2);transform-style:preserve-3d;transform:rotateY(var(--hero-turn-angle,0deg))}.heroPolaroidMediaFace{position:absolute;inset:0;overflow:hidden;border-radius:4px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.heroPolaroidMediaFace img{width:100%;height:100%;object-fit:cover;display:block}.heroPolaroidMediaFront{transform:rotateY(0deg)}.heroPolaroidMediaFront:after{content:"";position:absolute;inset:0;border-radius:4px;pointer-events:none;background:linear-gradient(105deg,transparent,transparent 35%,rgba(255,255,255,.12) 45%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.12) 55%,transparent 65%,transparent);background-size:200% 100%;background-position-x:calc(50% + var(--hero-shine-offset, 0) * 1%);opacity:var(--hero-shine-opacity,0);z-index:1;mix-blend-mode:soft-light}.heroPolaroidMediaBack{transform:rotateY(calc(var(--hero-turn-direction, 1) * 180deg))}.heroPolaroidMediaBack:after{content:"";position:absolute;inset:0;border-radius:4px;pointer-events:none;background:linear-gradient(105deg,transparent,transparent 35%,rgba(255,255,255,.1) 45%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.1) 55%,transparent 65%,transparent);background-size:200% 100%;background-position-x:calc(50% - var(--hero-shine-offset, 0) * 1%);opacity:var(--hero-shine-opacity,0);z-index:1;mix-blend-mode:soft-light}.heroPolaroidMediaButton.is-transitioning{transition:filter .42s cubic-bezier(.22,.68,.35,1.12)}.heroPolaroidMediaButton.is-transitioning .heroPolaroidMediaScene{transition:transform .42s cubic-bezier(.22,.68,.35,1.12)}.heroPolaroidMediaButton.is-snapping-back{transition:filter .24s cubic-bezier(.25,.46,.45,.94)}.heroPolaroidMediaButton.is-snapping-back .heroPolaroidMediaScene{transition:transform .24s cubic-bezier(.25,.46,.45,.94)}.heroPolaroidMediaButton.is-jiggling{animation:heroHintJiggle .9s ease}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.heroPolaroid figcaption{margin-top:8px;text-align:center;font-size:.7rem;color:var(--text-soft)}.heroCard h1,.heroPolaroid figcaption{font-family:var(--font-display),cursive}.heroCard h1{margin:6px 0 8px;line-height:1.15;font-size:clamp(1.9rem,5.5vw,2.4rem);color:var(--hero-heading);text-shadow:0 2px 16px rgba(141,74,53,.24)}.heroSub{margin:0;line-height:1.45;color:var(--text-soft);font-size:.92rem}.heroMeta{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 8px}.heroMeta span{border:none;border-radius:2px;padding:4px 14px;font-size:.72rem;font-family:var(--font-display),cursive;letter-spacing:.02em;box-shadow:0 1px 2px rgba(0,0,0,.04);position:relative}.heroMeta span:first-child{transform:rotate(-2.2deg);background:rgba(212,196,224,.4);color:var(--hero-meta-1)}.heroMeta span:nth-child(2){transform:rotate(1.4deg) translateY(-1px);background:rgba(201,146,158,.3);color:var(--hero-meta-2)}.heroMeta span:nth-child(3){transform:rotate(-.6deg) translateY(1px);background:rgba(178,223,219,.4);color:var(--hero-meta-3)}.heroScrollHint{margin-top:auto;display:flex;justify-content:center;padding-bottom:4px;background:none;border:none;cursor:pointer;padding-inline:24px;padding-top:12px;-webkit-tap-highlight-color:transparent}.heroCard .heroScrollHint{align-self:center}@media (hover:hover) and (pointer:fine){.heroScrollHint:hover .heroScrollChevron{opacity:.75;transform:rotate(-45deg) translateY(2px);transition:opacity .2s ease,transform .2s ease}}.heroScrollChevron{display:block;width:24px;height:24px;border-left:2.5px solid var(--hero-chevron);border-bottom:2.5px solid var(--hero-chevron);transform:rotate(-45deg);opacity:.45}@keyframes scrollBounce{0%,to{transform:translateY(0) rotate(-45deg)}50%{transform:translateY(6px) rotate(-45deg)}}@media (prefers-reduced-motion:no-preference){.heroPolaroid{animation:heroRevealPolaroid .6s ease both,polaroidFloat 6s ease-in-out .6s infinite}.heroCard .heroPolaroid{animation:heroRevealPolaroidStraight .6s ease both,polaroidFloatStraight 6s ease-in-out .6s infinite}.heroKicker{animation:heroReveal .5s ease .2s both}.heroCard h1{animation:heroReveal .5s ease .3s both}.heroSub{animation:heroReveal .5s ease .4s both}.heroMeta span:first-child{animation:heroReveal .4s ease .5s both}.heroMeta span:nth-child(2){animation:heroReveal .4s ease .62s both}.heroMeta span:nth-child(3){animation:heroReveal .4s ease .74s both}.heroScrollChevron{animation:heroRevealChevron .5s ease .6s both,scrollBounce 2s ease-in-out 1.2s infinite}}@keyframes heroReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes heroRevealChevron{0%{opacity:0;transform:rotate(-45deg) translateY(16px)}to{opacity:1;transform:rotate(-45deg) translateY(0)}}@keyframes heroRevealPolaroid{0%{opacity:0;transform:rotate(-5deg) translateY(16px)}to{opacity:1;transform:rotate(-3deg) translateY(0)}}@keyframes polaroidFloat{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3.5deg) translateY(-3px)}}@keyframes heroRevealPolaroidStraight{0%{opacity:0;transform:rotate(-4deg) translateY(16px)}to{opacity:1;transform:rotate(-2deg) translateY(0)}}@keyframes polaroidFloatStraight{0%,to{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-2.4deg) translateY(-3px)}}@keyframes heroHintJiggle{0%,to{transform:rotateY(0deg) scale(1)}20%{transform:rotateY(-6deg) scale(1.01)}45%{transform:rotateY(6deg) scale(1.01)}70%{transform:rotateY(-3deg) scale(1.005)}}@keyframes heroTapHintPulse{0%,to{transform:translateY(0);box-shadow:0 4px 10px rgba(123,94,138,.16)}50%{transform:translateY(-2px);box-shadow:0 8px 14px rgba(123,94,138,.2)}}.sectionCard{padding:12px 10px}.sectionHeader{margin-bottom:8px}.sectionHeader h2{margin:0;font-size:1.18rem;line-height:1.15;font-family:var(--font-display),cursive;color:var(--accent)}.subtitle{margin:4px 0 0;color:var(--text-soft);line-height:1.3;font-size:.82rem}.letterCard p{margin:0;line-height:1.4;color:var(--text-soft)}.tileGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;flex:1 1;align-content:start;padding:6px 8px}.tileGrid+.tileGrid{margin-top:6px}.tileGridDates{grid-template-columns:repeat(4,minmax(68px,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;width:100%;max-width:760px;margin-inline:auto;align-content:stretch;flex:0 0 auto;padding:4px 6px 8px}.tileScrollAreaChrome{position:relative;flex:1 1;min-height:0;z-index:1}.tileScrollAreaChrome:after,.tileScrollAreaChrome:before{content:"";position:absolute;top:0;bottom:0;width:40px;pointer-events:none;opacity:0;transition:opacity .14s ease;z-index:2}.tileScrollAreaChrome:before{left:0;background:linear-gradient(to right,var(--chapter-bg,var(--card-strong)) 12%,rgba(255,255,255,0))}.tileScrollAreaChrome:after{right:0;background:linear-gradient(to left,var(--chapter-bg,var(--card-strong)) 12%,rgba(255,255,255,0))}.tileScrollAreaChrome--overflow:not(.tileScrollAreaChrome--at-end):after,.tileScrollAreaChrome--overflow:not(.tileScrollAreaChrome--at-start):before{opacity:1}.tileScrollArea{min-height:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:none;padding-right:48px}.tileScrollAreaContent{width:max-content;min-width:100%}.tileScrollArea::-webkit-scrollbar{display:none}.chapter-dates .tileScrollAreaChrome{flex:0 0 auto}.tileGridDates .tilePolaroid{padding:5px 5px 8px}.tileGridDates .tilePolaroid:before{width:24px;height:8px;top:-4px}.tileGridDates .tilePolaroidBadge{width:20px;height:20px;font-size:.66rem}.tileGridDates .tilePolaroidCaption{margin-top:4px;font-size:.62rem}.tileGridDates .tilePolaroid{min-width:0;overflow:hidden}.tileGridSeeYou{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;flex:1 1;min-height:0}.tileItem{min-width:0;min-height:0;display:flex;flex-direction:column}.tileItemOpen .tilePolaroid{animation:polaroidLiftOff .35s cubic-bezier(.34,1.56,.64,1) forwards}.tileTone-pink{background-color:#fce4ec;border-color:#f48fb1}.tileTone-blue{background-color:#e3f2fd;border-color:#90caf9}.tileTone-cream{background-color:#fffde7;border-color:#fff176}.tileTone-mint{background-color:#e0f2f1;border-color:#80cbc4}.tileTone-lavender{background-color:#ede7f6;border-color:#b39ddb}.tileTone-peach{background-color:#fce4d6;border-color:#f5a87a}.tileTone-sky{background-color:#e1f5fe;border-color:#81d4fa}.tilePolaroid{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;background:#ffffff;padding:7px 7px 10px;border-radius:8px;border:2px solid var(--chapter-border,var(--line));box-shadow:0 4px 12px rgba(123,94,138,.15);transform:rotate(var(--polaroid-rotate,0deg));cursor:default;font:inherit;color:inherit;transition:box-shadow .2s ease}.tilePolaroid--interactive,.tilePolaroid[data-interactive=true]{cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.tilePolaroid:before{content:"";position:absolute;top:-5px;left:50%;transform:translateX(-50%) rotate(2deg);width:28px;height:10px;background:rgba(178,223,219,.55);border-radius:2px;z-index:2;pointer-events:none}.tilePolaroidMedia{position:relative;aspect-ratio:4/5;border-radius:5px;overflow:hidden;background:var(--bg-2);border:1.5px solid var(--bg-2)}.tilePolaroidImage{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.tilePolaroidPlaceholder{position:absolute;inset:0;display:grid;place-items:center;font-size:1.5rem}.tilePolaroidBadge{position:absolute;bottom:5px;right:5px;width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.85);font-size:.75rem;box-shadow:0 1px 4px rgba(0,0,0,.1);pointer-events:none}.tilePolaroidCaption{margin-top:6px;display:block;text-align:center;font-size:.68rem;line-height:1.32;min-height:1.45em;padding-bottom:.18em;color:var(--text-soft);font-family:var(--font-display),cursive;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(.tilePolaroid--interactive,.tilePolaroid[data-interactive=true]):hover{transform:rotate(calc(var(--polaroid-rotate, 0deg) + 1.5deg)) translateY(-4px);box-shadow:0 8px 20px rgba(123,94,138,.22)}:is(.tilePolaroid--interactive,.tilePolaroid[data-interactive=true]):active{transform:rotate(var(--polaroid-rotate,0deg)) scale(.97)}:is(.tilePolaroid--interactive,.tilePolaroid[data-interactive=true]):focus-visible{outline:2.5px solid var(--accent);outline-offset:3px}@media (hover:none) and (pointer:coarse){.chapter-dates .tilePolaroid{box-shadow:0 3px 9px rgba(123,94,138,.12)}.chapter-dates :is(.tilePolaroid--interactive,.tilePolaroid[data-interactive=true]){transition:box-shadow .16s ease}.chapter-dates :is(.tilePolaroid--interactive,.tilePolaroid[data-interactive=true]):active,.chapter-dates :is(.tilePolaroid--interactive,.tilePolaroid[data-interactive=true]):hover{transform:rotate(var(--polaroid-rotate,0deg));box-shadow:0 3px 9px rgba(123,94,138,.12)}}.tilePolaroid.tileTone-pink{border-color:#f48fb1}.tilePolaroid.tileTone-blue{border-color:#90caf9}.tilePolaroid.tileTone-cream{border-color:#fff176}.tilePolaroid.tileTone-mint{border-color:#80cbc4}.tilePolaroid.tileTone-lavender{border-color:#b39ddb}.tilePolaroid.tileTone-peach{border-color:#f5a87a}.tilePolaroid.tileTone-sky{border-color:#81d4fa}.tileIcon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--bg);border:2px solid var(--line);font-size:1.2rem}.tileIconLarge{width:40px;height:40px;border-radius:14px;font-size:1.15rem}.tileOverlay{position:fixed;inset:0;background:rgba(252,228,236,.75);z-index:50;display:grid;place-items:center;padding:18px 14px}.tilePanel{width:100%;max-height:none;border-radius:22px;border:2px solid #f48fb1;background:var(--card);box-shadow:0 8px 32px rgba(244,143,177,.2)}.tilePanelHeader{justify-content:space-between;padding:12px 12px 8px;border-bottom:2px solid var(--bg-2)}.tilePanelHeader,.tilePanelTitleWrap{display:flex;align-items:flex-start;gap:10px}.tilePanelTitleWrap h3{margin:0;font-size:1rem;line-height:1.15;font-family:var(--font-display),cursive}.tilePanelTitleWrap p{margin:4px 0 0;color:var(--text-soft);font-size:.82rem}.tileClose{width:32px;height:32px;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}@media (hover:hover) and (pointer:fine){.tileClose:hover{transform:translateY(-1px) scale(1.03);background:#ffe8f1;box-shadow:0 0 0 3px rgba(255,128,171,.28)}}.tileClose:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,128,171,.35)}.tileClose:active{transform:translateY(0) scale(.92);background:#ffd6e7}.tilePanelBody{padding:12px;display:grid;grid-gap:10px;gap:10px}.tilePanelBody p{margin:0;line-height:1.45;color:var(--text-soft)}.tilePanelMedia{border-radius:var(--radius-md);border:2px solid var(--line);overflow:hidden;background:var(--card-strong);height:auto;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;padding:10px}.tilePanelMediaInner{display:flex;border-radius:24px;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white,black);background:transparent}.tilePanelMediaInnerVideo{width:100%;justify-content:center}.tileVideoFrame{width:clamp(150px,44vw,220px);max-width:100%;height:auto;aspect-ratio:9/16;border-radius:24px;overflow:hidden;margin:0 auto;border:1.5px solid var(--line);background:linear-gradient(180deg,rgba(244,143,177,.12),rgba(244,143,177,.04))}.tileVideo{width:100%;height:100%;display:block;object-fit:contain;background:transparent}.tilePanelMedia img,.tilePanelMedia video{width:auto;max-width:100%;height:auto;max-height:min(50svh,420px);display:block;border-radius:24px}.tilePanelGallery{display:grid;grid-gap:8px;gap:8px}.tilePanelGalleryTrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);position:relative;z-index:1;isolation:isolate;scrollbar-width:none}.tilePanelGalleryTrack::-webkit-scrollbar{display:none}.tilePanelGallerySlide{flex:0 0 100%;scroll-snap-align:center;display:flex;justify-content:center;align-items:center;padding:10px}.tilePanelGalleryMedia{width:-moz-fit-content;width:fit-content;max-width:100%;border-radius:24px;overflow:hidden;border:2px solid var(--line);background:var(--card-strong);padding:10px}.tilePanelGalleryMedia img{width:auto;max-width:100%;height:auto;max-height:min(50svh,380px);display:block;border-radius:24px}.tilePanelGalleryMedia .tileVideoFrame{border-radius:24px}.tilePanelGalleryDots{display:flex;justify-content:center;gap:8px;padding:4px 0}.tilePanelGalleryDot{width:10px;height:10px;border-radius:999px;border:2px solid var(--line);background:var(--card);padding:0;transition:background .2s ease,border-color .2s ease,transform .2s ease;cursor:pointer}.tilePanelGalleryDot:hover{transform:scale(1.15)}.tilePanelGalleryDot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tilePanelGalleryDotActive{background:var(--accent);border-color:#f48fb1;animation:dotPop .25s cubic-bezier(.34,1.56,.64,1)}.tileFooterHint{border-radius:var(--radius-sm);min-height:70px;display:grid;place-items:center;text-align:center;padding:8px;border:2px dashed #f48fb1;background:repeating-linear-gradient(-45deg,#fff0f5,#fff0f5 8px,#e8f5e9 0,#e8f5e9 16px);color:var(--text);font-size:.82rem;font-weight:600;line-height:1.3}.letterPageContent{display:flex;flex-direction:column;align-items:center;height:100%;min-height:0;gap:10px}.chapter-letter{--letter-polaroid-width:min(55%,180px);--letter-card-padding-block:16px;--letter-card-padding-inline:14px;--letter-body-size:0.88rem;--letter-body-line-height:1.55em;--letter-salutation-size:1.05rem;--letter-signoff-size:0.95rem;--letter-sticker-row:36px}.chapter-letter .letterPageContent{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;align-items:start;width:100%;height:100%;min-height:0;grid-row-gap:10px;row-gap:10px}.chapter-letter .sectionHeader,.chapter-letter .sectionHeader h2{width:100%;text-align:center}.chapter-letter .pageContent{overflow:hidden;position:relative}.chapter-letter .pageContent:after{content:none}.letterPolaroid{width:min(var(--letter-polaroid-width),clamp(170px,30svh,280px));max-width:100%;justify-self:center}.letterCard{width:100%;flex:0 1 auto;min-height:0;max-height:100%;border-radius:var(--radius-md);padding:var(--letter-card-padding-block) var(--letter-card-padding-inline);border:2px dashed var(--chapter-border,#d8de91);background:#fffdf6;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.letterCard::-webkit-scrollbar{display:none}.letterCard p{font-size:var(--letter-body-size);line-height:var(--letter-body-line-height)}.letterCard p+p{margin-top:8px}.letterCard .letterSalutation{font-size:var(--letter-salutation-size);margin-bottom:6px}.letterCard .letterSalutation,.letterCard .letterSignoff{font-family:var(--font-display),cursive;color:var(--chapter-ink,#5a6932)}.letterCard .letterSignoff{font-size:var(--letter-signoff-size);margin-top:14px;text-align:right}.chapter-letter .decoZone{margin-top:0;min-height:var(--letter-sticker-row)}@media (min-width:640px){.gateShell{padding:24px 18px}.gateCard{padding:24px 18px 18px}.screen{padding:18px 0}.pageCard{min-height:calc(100svh - 36px);max-height:calc(100svh - 36px)}.heroCard{padding:28px 22px 22px}.heroCard .heroPolaroid{width:min(64%,300px)}.sectionCard{padding:18px}.pageContent{gap:10px}.tileGrid{grid-template-columns:1fr 1fr 1fr;gap:10px}.tileGridDates{grid-template-columns:repeat(4,minmax(0,1fr))}.tileGridSeeYou{grid-template-columns:repeat(2,1fr)}}@keyframes shakeDots{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes keypadRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:.65}to{transform:translate(-50%,-50%) scale(8.5);opacity:0}}@keyframes heartDriftDown{0%{transform:translate3d(0,-8vh,0) rotate(-8deg);opacity:0}12%{opacity:.58}45%{transform:translate3d(-12px,42vh,0) rotate(110deg)}70%{transform:translate3d(10px,72vh,0) rotate(210deg)}to{transform:translate3d(-6px,112vh,0) rotate(320deg);opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.heartDrop{animation:none;opacity:.2}.tilePanelFullscreen{animation:none!important}.tilePanelFullscreen .tilePanelBody>p,.tilePanelFullscreen .tilePanelGallery,.tilePanelFullscreen .tilePanelGalleryDots,.tilePanelFullscreen .tilePanelHeader,.tilePanelFullscreen .tilePanelMedia{animation:none!important;opacity:1!important;transform:none!important}.tileItemOpen .tilePolaroid{animation:none!important;opacity:.5}.tileOverlayClosing .tilePanelFullscreen,.tilePanelGalleryDotActive{animation:none!important}}.pageContent{overflow:hidden;padding-right:0}.sectionScene{border-radius:var(--radius-lg);background:var(--card-strong)}.sectionHeader{margin-top:14px;margin-bottom:10px}.sectionHeader h2{font-size:clamp(1.68rem,8vw,2rem);line-height:1.1}.subtitle{margin-top:8px;font-size:.86rem}.tileGrid{gap:8px}.tilePanel{max-height:min(70svh,520px)}.tilePanel,.tilePanelBody{overflow:hidden}.tilePanelBody p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}@media (max-width:720px){.screen{padding-bottom:70px}}.tileOverlayFullscreen{position:fixed;inset:0;z-index:120;background:radial-gradient(ellipse at center,rgba(255,241,245,.92) 0,rgba(252,228,236,.96) 100%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:10px;perspective:1200px;animation:tileOverlayFadeIn .22s ease}.tileOverlayClosing{animation:tileOverlayFadeOut .2s ease forwards;pointer-events:none}.tileOverlayClosing .tilePanelFullscreen{animation:tileFullscreenOut .22s ease-in forwards}.tileOverlayClosing .tilePanelBody>p,.tileOverlayClosing .tilePanelGallery,.tileOverlayClosing .tilePanelGalleryDots,.tileOverlayClosing .tilePanelHeader,.tileOverlayClosing .tilePanelMedia{animation:none;opacity:1}.tilePanelFullscreen{position:relative;width:min(100%,770px);max-height:calc(100svh - 20px);border-radius:var(--radius-md);border:2px solid #f48fb1;box-shadow:0 8px 32px rgba(244,143,177,.25);display:grid;grid-template-rows:auto auto;overflow:hidden;background:var(--card);transform-style:preserve-3d;animation:tileFullscreenIn .32s cubic-bezier(.34,1.56,.64,1)}.tilePanelFullscreen .tilePanelHeader{padding:14px 16px 10px;animation:tileContentFadeUp .28s ease-out both;animation-delay:80ms}.tilePanelFullscreen .tilePanelBody>p{animation:tileContentFadeUp .28s ease-out both;animation-delay:.15s}.tilePanelFullscreen .tilePanelGallery,.tilePanelFullscreen .tilePanelMedia{animation:tileContentFadeUp .28s ease-out both;animation-delay:.22s}.tilePanelFullscreen .tilePanelGalleryDots{animation:tileContentFadeUp .26s ease-out both;animation-delay:.3s}.tilePanelFullscreen .tilePanelBody{min-height:0;padding:12px 16px 16px;display:grid;grid-gap:10px;gap:10px;overflow-y:auto}.tilePanelFullscreen .tilePanelBody p{-webkit-line-clamp:unset;overflow:visible;display:block;margin-bottom:0;text-align:center}.tilePanelFullscreen .tilePanelBody>p:first-of-type{font-size:.95rem;color:var(--text);font-weight:500}.tilePanelFullscreen .tilePanelMedia{--media-frame-radius:var(--radius-md);--media-inset:10px;--media-inner-radius:calc(var(--media-frame-radius) - var(--media-inset));min-height:0;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;padding:var(--media-inset);border-radius:var(--media-frame-radius);overflow:hidden;background:var(--card-strong)}.tilePanelFullscreen .tilePanelMediaInner{border-radius:var(--media-inner-radius)}.tilePanelFullscreen .tilePanelMedia img,.tilePanelFullscreen .tilePanelMedia video{width:auto;max-width:100%;height:auto;max-height:min(50svh,380px);display:block;border-radius:inherit;background:transparent}.tilePanelFullscreen .tilePanelGalleryMedia{--media-frame-radius:var(--radius-md);--media-inset:10px;--media-inner-radius:calc(var(--media-frame-radius) - var(--media-inset));border-radius:var(--media-frame-radius);padding:var(--media-inset)}.tilePanelFullscreen .tilePanelGalleryMedia img,.tilePanelFullscreen .tilePanelGalleryMedia video{width:auto;max-width:100%;height:auto;max-height:min(50svh,380px);display:block;border-radius:var(--media-inner-radius);background:transparent}.tilePanelFullscreen .tilePanelGalleryMedia .tileVideo,.tilePanelFullscreen .tilePanelMedia .tileVideo{width:100%;max-width:none;height:100%;max-height:none;border-radius:inherit;object-fit:contain}.tilePanelFullscreen .tilePanelGalleryMedia .tileVideoFrame,.tilePanelFullscreen .tilePanelMedia .tileVideoFrame{width:clamp(140px,42vw,205px);max-width:100%;height:auto;border-radius:var(--media-inner-radius)}@keyframes tileOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tileOverlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes tileFullscreenIn{0%{opacity:0;transform:translateY(24px) scale(.92) rotateX(8deg)}60%{opacity:1;transform:translateY(-3px) scale(1.01) rotateX(-1deg)}to{opacity:1;transform:translateY(0) scale(1) rotateX(0deg)}}@keyframes tileFullscreenOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.95)}}@keyframes tileContentFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes polaroidLiftOff{0%{transform:rotate(var(--polaroid-rotate,0deg));opacity:1}50%{transform:rotate(0deg) scale(1.06);opacity:.9;box-shadow:0 12px 28px rgba(123,94,138,.25)}to{transform:rotate(0deg) scale(1.02);opacity:.45;box-shadow:0 6px 16px rgba(123,94,138,.12)}}@keyframes dotPop{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}@media (max-width:720px){.screen{min-height:100svh;padding:10px 0 12px}.pageCard{min-height:calc(100svh - 22px);max-height:calc(100svh - 22px)}.pageContent{gap:8px}.chapter-letter .pageContent,.pageContent{overflow:hidden}.heroCard h1{font-size:clamp(2rem,9vw,2.35rem);line-height:1.1}.heroSub{font-size:1rem;line-height:1.38}.subtitle{font-size:clamp(.9rem,4vw,.98rem);line-height:1.34}.tileOverlayFullscreen{padding:16px}.tilePanelFullscreen{width:100%;max-height:calc(100svh - 32px);border-radius:20px}.tilePanelFullscreen .tilePanelHeader{position:-webkit-sticky;position:sticky;top:0;z-index:4;background:var(--card);padding:10px 12px}.tilePanelFullscreen .tilePanelBody{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 12px calc(16px + env(safe-area-inset-bottom))}.tilePanelFullscreen .tilePanelBody p{text-align:left}.tileClose{width:40px;height:40px;font-size:1.05rem}}@media (max-width:430px){.chapter-dates .tileScrollAreaChrome{flex:1 1;min-height:0}.chapter-dates .tileScrollArea,.chapter-dates .tileScrollAreaContent{height:100%}.tileGridDates{height:100%;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch;gap:12px}.tileGridDates .tileItem,.tileGridDates .tilePolaroid{height:100%}.tileGridDates .tilePolaroidMedia{flex:1 1;min-height:0}.chapter-rituals .tileGridRituals,.chapter-see-you .tileGridSeeYou{flex:1 1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch}.tileGridRituals .tileItem,.tileGridRituals .tilePolaroid,.tileGridSeeYou .tileItem,.tileGridSeeYou .tilePolaroid{height:100%}.tileGridRituals .tilePolaroidMedia,.tileGridSeeYou .tilePolaroidMedia{flex:1 1;min-height:0}.tilePolaroidCaption{font-size:clamp(.56rem,2.5vw,.68rem);line-height:1.28;min-height:1.5em;padding-bottom:.2em;white-space:normal;overflow:visible;text-overflow:clip}}@media (max-width:360px){.pageShell{padding:0 10px 22px}.sectionCard{padding:10px 8px}.tilePolaroid{padding:5px 5px 9px}.tilePolaroidBadge{width:20px;height:20px;font-size:.65rem}.tilePolaroidCaption{font-size:clamp(.54rem,2.8vw,.62rem);line-height:1.24}}@media (max-height:700px){.heroPolaroidMediaScene,.tilePolaroidMedia{aspect-ratio:3/4}}@media (prefers-reduced-motion:reduce){.heroPolaroidMediaButton.is-snapping-back,.heroPolaroidMediaButton.is-transitioning{transition:none}.heroPolaroidMediaButton.is-jiggling,.heroPolaroidMediaButton.is-snapping-back .heroPolaroidMediaScene,.heroPolaroidMediaButton.is-transitioning .heroPolaroidMediaScene{animation:none;transition:none}.heroPolaroidTapHint{animation:none}.heroPolaroidMediaBack:after,.heroPolaroidMediaFront:after{display:none}.heroPolaroidMediaButton{filter:none}}.sectionKicker{margin:0 0 5px;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--text-soft)}.chapterCard{border-width:2px;background:radial-gradient(circle at 85% 12%,rgba(255,255,255,.8),transparent 52%),var(--chapter-bg,var(--card-strong));border-color:var(--chapter-border,var(--line))}.chapterCard .sectionHeader h2{color:var(--chapter-ink,var(--accent))}.chapterCard .sectionKicker{color:var(--chapter-ink,var(--text-soft))}.chapter-rituals{--chapter-bg:#fff0f7;--chapter-border:#f2b3d2;--chapter-ink:#a53f74}.chapter-see-you{--chapter-bg:#f5f3ff;--chapter-border:#cabdff;--chapter-ink:#6247ba}.chapter-dates{--chapter-bg:#eef8ff;--chapter-border:#a8d6f5;--chapter-ink:#226a95}.chapter-letter{--chapter-bg:#f8f9e9;--chapter-border:#d8de91;--chapter-ink:#5a6932}.placeholderFrame{border:2px dashed #efbfd0;background:#fffdfd}.placeholderMedia{position:relative;border-style:solid}.placeholderMedia:after{content:"Photo slot";position:absolute;left:6px;bottom:6px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.88);padding:2px 7px;font-size:.57rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.placeholderFrame-filled{border-style:solid}.placeholderMedia-filled{border-color:#f0a5bf;background:#fff4f8}.placeholderMedia-filled:after{display:none}.decoZone{position:relative;flex:0 0 auto;min-height:36px;overflow:hidden;pointer-events:none;border-radius:var(--radius-sm);margin-top:auto}.decoStickers,.decoZone{display:flex;align-items:center;justify-content:center}.decoStickers{gap:28px;padding:12px 16px;flex-wrap:wrap}.decoSticker{display:inline-flex;align-items:center;justify-content:center;animation:decoFloat 4s ease-in-out infinite}.decoSticker-0{animation-delay:0s}.decoSticker-1{animation-delay:.7s}.decoSticker-2{animation-delay:1.4s}.decoSticker-3{animation-delay:2.1s}.decoSticker-4{animation-delay:2.8s}@keyframes decoFloat{0%,to{transform:translateY(0) rotate(0deg);opacity:.35}25%{transform:translateY(-5px) rotate(6deg);opacity:.55}50%{transform:translateY(-8px) rotate(-4deg);opacity:.45}75%{transform:translateY(-3px) rotate(5deg);opacity:.55}}.decoTape{position:absolute;width:58px;height:14px;border-radius:2px;opacity:.25;pointer-events:none}.decoTapeTopRight{top:6px;right:12px;transform:rotate(14deg);background:repeating-linear-gradient(90deg,var(--chapter-border,var(--line)),var(--chapter-border,var(--line)) 4px,transparent 4px,transparent 8px)}.decoTapeBottomLeft{bottom:8px;left:10px;transform:rotate(-10deg);background:repeating-linear-gradient(90deg,var(--chapter-border,var(--line)),var(--chapter-border,var(--line)) 3px,rgba(255,255,255,.5) 3px,rgba(255,255,255,.5) 6px)}@keyframes tapeShimmer{0%,to{opacity:.25}50%{opacity:.38}}@media (prefers-reduced-motion:no-preference){.decoTapeTopRight{animation:tapeShimmer 6s ease-in-out infinite}.decoTapeBottomLeft{animation:tapeShimmer 6s ease-in-out 3s infinite}}.decoZone-dates{color:var(--chapter-ink,#226a95)}.decoZone-rituals{color:var(--chapter-ink,#a53f74)}.decoZone-see-you{color:var(--chapter-ink,#6247ba)}.decoZone-letter{color:var(--chapter-ink,#5a6932)}.pixelIcon{display:inline-block;width:3px;height:3px;background:transparent;overflow:visible;line-height:0;font-size:0}.pixel-heart{box-shadow:3px 0 0 currentColor,6px 0 0 currentColor,12px 0 0 currentColor,15px 0 0 currentColor,0 3px 0 currentColor,3px 3px 0 currentColor,6px 3px 0 currentColor,9px 3px 0 currentColor,12px 3px 0 currentColor,15px 3px 0 currentColor,18px 3px 0 currentColor,0 6px 0 currentColor,3px 6px 0 currentColor,6px 6px 0 currentColor,9px 6px 0 currentColor,12px 6px 0 currentColor,15px 6px 0 currentColor,18px 6px 0 currentColor,3px 9px 0 currentColor,6px 9px 0 currentColor,9px 9px 0 currentColor,12px 9px 0 currentColor,15px 9px 0 currentColor,6px 12px 0 currentColor,9px 12px 0 currentColor,12px 12px 0 currentColor,9px 15px 0 currentColor}.pixel-star{box-shadow:9px 0 0 currentColor,9px 3px 0 currentColor,6px 6px 0 currentColor,9px 6px 0 currentColor,12px 6px 0 currentColor,0 9px 0 currentColor,3px 9px 0 currentColor,6px 9px 0 currentColor,9px 9px 0 currentColor,12px 9px 0 currentColor,15px 9px 0 currentColor,18px 9px 0 currentColor,3px 12px 0 currentColor,6px 12px 0 currentColor,9px 12px 0 currentColor,12px 12px 0 currentColor,15px 12px 0 currentColor,6px 15px 0 currentColor,12px 15px 0 currentColor,3px 18px 0 currentColor,15px 18px 0 currentColor}.pixel-bow{box-shadow:0 0 0 currentColor,3px 0 0 currentColor,12px 0 0 currentColor,15px 0 0 currentColor,0 3px 0 currentColor,3px 3px 0 currentColor,6px 3px 0 currentColor,9px 3px 0 currentColor,12px 3px 0 currentColor,15px 3px 0 currentColor,6px 6px 0 currentColor,9px 6px 0 currentColor,0 9px 0 currentColor,3px 9px 0 currentColor,6px 9px 0 currentColor,9px 9px 0 currentColor,12px 9px 0 currentColor,15px 9px 0 currentColor,0 12px 0 currentColor,3px 12px 0 currentColor,12px 12px 0 currentColor,15px 12px 0 currentColor}.pixel-paw{box-shadow:3px 0 0 currentColor,12px 0 0 currentColor,0 3px 0 currentColor,6px 3px 0 currentColor,9px 3px 0 currentColor,15px 3px 0 currentColor,3px 6px 0 currentColor,6px 6px 0 currentColor,9px 6px 0 currentColor,12px 6px 0 currentColor,3px 9px 0 currentColor,6px 9px 0 currentColor,9px 9px 0 currentColor,12px 9px 0 currentColor,6px 12px 0 currentColor,9px 12px 0 currentColor}.pixel-flower{box-shadow:6px 0 0 currentColor,3px 3px 0 currentColor,9px 3px 0 currentColor,0 6px 0 currentColor,6px 6px 0 currentColor,12px 6px 0 currentColor,3px 9px 0 currentColor,9px 9px 0 currentColor,6px 12px 0 currentColor}.pixel-moon{box-shadow:6px 0 0 currentColor,9px 0 0 currentColor,12px 0 0 currentColor,3px 3px 0 currentColor,12px 3px 0 currentColor,0 6px 0 currentColor,0 9px 0 currentColor,3px 12px 0 currentColor,6px 15px 0 currentColor,9px 15px 0 currentColor,12px 15px 0 currentColor}.pixel-sparkle{box-shadow:6px 0 0 currentColor,6px 3px 0 currentColor,0 6px 0 currentColor,3px 6px 0 currentColor,6px 6px 0 currentColor,9px 6px 0 currentColor,12px 6px 0 currentColor,6px 9px 0 currentColor,6px 12px 0 currentColor}.chapterCard:after{content:"";position:absolute;bottom:14px;right:16px;width:3px;height:3px;background:transparent;pointer-events:none;opacity:.1;transform:scale(2)}.chapter-dates:after{box-shadow:9px 0 0 var(--chapter-ink),9px 3px 0 var(--chapter-ink),6px 6px 0 var(--chapter-ink),9px 6px 0 var(--chapter-ink),12px 6px 0 var(--chapter-ink),0 9px 0 var(--chapter-ink),3px 9px 0 var(--chapter-ink),6px 9px 0 var(--chapter-ink),9px 9px 0 var(--chapter-ink),12px 9px 0 var(--chapter-ink),15px 9px 0 var(--chapter-ink),18px 9px 0 var(--chapter-ink),3px 12px 0 var(--chapter-ink),6px 12px 0 var(--chapter-ink),9px 12px 0 var(--chapter-ink),12px 12px 0 var(--chapter-ink),15px 12px 0 var(--chapter-ink),6px 15px 0 var(--chapter-ink),12px 15px 0 var(--chapter-ink),3px 18px 0 var(--chapter-ink),15px 18px 0 var(--chapter-ink)}.chapter-rituals:after{box-shadow:0 0 0 var(--chapter-ink),3px 0 0 var(--chapter-ink),12px 0 0 var(--chapter-ink),15px 0 0 var(--chapter-ink),0 3px 0 var(--chapter-ink),3px 3px 0 var(--chapter-ink),6px 3px 0 var(--chapter-ink),9px 3px 0 var(--chapter-ink),12px 3px 0 var(--chapter-ink),15px 3px 0 var(--chapter-ink),6px 6px 0 var(--chapter-ink),9px 6px 0 var(--chapter-ink),0 9px 0 var(--chapter-ink),3px 9px 0 var(--chapter-ink),6px 9px 0 var(--chapter-ink),9px 9px 0 var(--chapter-ink),12px 9px 0 var(--chapter-ink),15px 9px 0 var(--chapter-ink),0 12px 0 var(--chapter-ink),3px 12px 0 var(--chapter-ink),12px 12px 0 var(--chapter-ink),15px 12px 0 var(--chapter-ink)}.chapter-see-you:after{box-shadow:6px 0 0 var(--chapter-ink),6px 3px 0 var(--chapter-ink),0 6px 0 var(--chapter-ink),3px 6px 0 var(--chapter-ink),6px 6px 0 var(--chapter-ink),9px 6px 0 var(--chapter-ink),12px 6px 0 var(--chapter-ink),6px 9px 0 var(--chapter-ink),6px 12px 0 var(--chapter-ink)}.chapter-letter:after{box-shadow:6px 0 0 var(--chapter-ink),3px 3px 0 var(--chapter-ink),9px 3px 0 var(--chapter-ink),0 6px 0 var(--chapter-ink),6px 6px 0 var(--chapter-ink),12px 6px 0 var(--chapter-ink),3px 9px 0 var(--chapter-ink),9px 9px 0 var(--chapter-ink),6px 12px 0 var(--chapter-ink)}.chapterCard .pageContent{position:relative}.chapterCard .pageContent:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle,var(--chapter-border,var(--line)) .7px,transparent .7px);background-size:22px 22px;opacity:.16;border-radius:inherit}.chapterCard .decoZone,.chapterCard .letterCard,.chapterCard .letterPolaroid,.chapterCard .placeholderStrip,.chapterCard .sectionHeader,.chapterCard .tileGrid{position:relative;z-index:1}.chapterCard .tileGrid:has(.tileItemOpen){z-index:90}@media (prefers-reduced-motion:reduce){.decoSticker{animation:none;opacity:.35}}@keyframes tileReveal{0%{opacity:0;transform:translateY(12px) scale(.96);filter:brightness(1)}70%{transform:translateY(-2px) scale(1.01);filter:brightness(1.06)}to{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}}@keyframes polaroidReveal{0%{opacity:0;transform:translateY(18px) rotate(calc(var(--polaroid-rotate, 0deg) + 6deg)) scale(.92)}70%{transform:translateY(-3px) rotate(calc(var(--polaroid-rotate, 0deg) - 1deg)) scale(1.01)}to{opacity:1;transform:translateY(0) rotate(var(--polaroid-rotate,0deg)) scale(1)}}@media (prefers-reduced-motion:no-preference){.inView .sectionHeader{animation:heroReveal .5s ease .1s both}.inView .tileGridDates .tileItem{animation:polaroidReveal .45s ease both}.inView .tileGridDates .tileItem:first-child{animation-delay:.15s}.inView .tileGridDates .tileItem:nth-child(2){animation-delay:.22s}.inView .tileGridDates .tileItem:nth-child(3){animation-delay:.29s}.inView .tileGridDates .tileItem:nth-child(4){animation-delay:.36s}.inView .tileGridDates .tileItem:nth-child(5){animation-delay:.43s}.inView .tileGridDates .tileItem:nth-child(6){animation-delay:.5s}.inView .tileGridDates .tileItem:nth-child(7){animation-delay:.57s}.inView .tileGridDates .tileItem:nth-child(8){animation-delay:.64s}}.chapter-dates .subtitle:after{content:"~ ~ ~";display:block;margin-top:6px;font-size:.72rem;letter-spacing:.2em;color:var(--chapter-ink);opacity:.4}@media (prefers-reduced-motion:reduce){.inView .sectionHeader,.inView .tileGridDates .tileItem{animation:none!important}}.tileGridRituals{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;flex:1 1;min-height:0}.tileGridRituals .tileItem,.tileGridRituals .tilePolaroid,.tileGridSeeYou .tileItem,.tileGridSeeYou .tilePolaroid{height:100%}.tileGridRituals .tilePolaroidMedia,.tileGridSeeYou .tilePolaroidMedia{flex:1 1;min-height:0}.chapter-rituals .subtitle:after{content:"~ ~ ~";display:block;margin-top:6px;font-size:.72rem;letter-spacing:.2em;color:var(--chapter-ink);opacity:.4}@media (prefers-reduced-motion:no-preference){.inView .tileGridRituals .tileItem{animation:polaroidReveal .45s ease both}.inView .tileGridRituals .tileItem:first-child{animation-delay:.15s}.inView .tileGridRituals .tileItem:nth-child(2){animation-delay:.22s}.inView .tileGridRituals .tileItem:nth-child(3){animation-delay:.29s}.inView .tileGridRituals .tileItem:nth-child(4){animation-delay:.36s}}@media (prefers-reduced-motion:reduce){.inView .tileGridRituals .tileItem{animation:none!important}}.chapter-see-you .subtitle:after{content:"~ ~ ~";display:block;margin-top:6px;font-size:.72rem;letter-spacing:.2em;color:var(--chapter-ink);opacity:.4}@media (prefers-reduced-motion:no-preference){.inView .tileGridSeeYou .tileItem{animation:polaroidReveal .45s ease both}.inView .tileGridSeeYou .tileItem:first-child{animation-delay:.15s}.inView .tileGridSeeYou .tileItem:nth-child(2){animation-delay:.22s}.inView .tileGridSeeYou .tileItem:nth-child(3){animation-delay:.29s}.inView .tileGridSeeYou .tileItem:nth-child(4){animation-delay:.36s}}@media (prefers-reduced-motion:reduce){.inView .tileGridSeeYou .tileItem{animation:none!important}}.chapter-letter .letterCard,.chapter-letter .letterPolaroid,.chapter-letter .sectionHeader{opacity:0}@media (prefers-reduced-motion:no-preference){.chapter-letter .inView .sectionHeader{animation:heroReveal .5s ease .1s both}.chapter-letter .inView .letterPolaroid{animation:polaroidReveal .55s ease .22s both}.chapter-letter .inView .letterCard{animation:heroReveal .5s ease .38s both}}@media (prefers-reduced-motion:reduce){.chapter-letter .letterCard,.chapter-letter .letterPolaroid,.chapter-letter .sectionHeader{opacity:1}}@media (min-width:1024px){.pageShell{max-width:100%;padding-left:0;padding-right:0}.pageCard{max-width:960px;width:100%;justify-self:center}.heroCard .pageContent{align-items:center;justify-content:center;text-align:center}.heroCard .heroScrollHint{margin-top:18px}.heroMeta{justify-content:center}.heroCard .heroPolaroid{width:min(64%,300px,calc(46svh - 88px))}.chapter-dates .tileScrollAreaChrome{flex:1 1;min-height:0}.chapter-dates .tileScrollArea,.chapter-dates .tileScrollAreaContent{height:100%}.chapter-dates .tileScrollAreaContent{display:flex;justify-content:center;width:100%;min-width:100%}.tileGrid.tileGridDates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));justify-content:stretch;align-content:stretch;grid-gap:10px;gap:10px;width:min(100%,760px);height:100%;margin-inline:auto}.tileGridDates .tileItem{min-width:0;height:100%}.tileGridDates .tilePolaroid{min-width:0;height:auto;overflow:hidden}.tileGridDates .tilePolaroidMedia{flex:1 1;min-height:0;aspect-ratio:auto}.tileGridRituals{grid-template-columns:repeat(2,minmax(0,280px));grid-template-rows:repeat(2,minmax(0,1fr));justify-content:center;align-content:stretch;gap:12px;flex:1 1;min-height:0}.tileGridRituals .tileItem,.tileGridRituals .tilePolaroid{height:100%}.tileGridRituals .tilePolaroidMedia{flex:1 1;min-height:0;aspect-ratio:3/4}.tileGridSeeYou{grid-template-columns:repeat(2,minmax(0,280px));grid-template-rows:repeat(2,minmax(0,1fr));justify-content:center;align-content:stretch;gap:12px;flex:1 1;min-height:0}.tileGridSeeYou .tileItem,.tileGridSeeYou .tilePolaroid{height:100%}.tileGridSeeYou .tilePolaroidMedia{flex:1 1;min-height:0}.chapter-letter{--letter-polaroid-width:clamp(210px,15vw + 4vh,292px);--letter-card-padding-block:clamp(16px,0.6vw + 10px,22px);--letter-card-padding-inline:clamp(14px,0.45vw + 10px,20px);--letter-body-size:clamp(0.92rem,0.18vw + 0.12vh + 0.78rem,1.04rem);--letter-body-line-height:clamp(1.54em,1.49em + 0.06vw,1.64em);--letter-salutation-size:clamp(1.08rem,0.26vw + 0.1vh + 0.92rem,1.22rem);--letter-signoff-size:clamp(0.98rem,0.2vw + 0.08vh + 0.84rem,1.1rem);--letter-sticker-row:clamp(36px,4.2vh,52px)}}@media (min-width:1024px) and (min-height:860px){.chapter-letter .pageContent{gap:12px}.chapter-letter .sectionHeader h2{font-size:clamp(1.62rem,2.15vw,2rem)}.chapter-letter{--letter-polaroid-width:clamp(236px,12vw + 8vh,324px);--letter-card-padding-block:clamp(18px,0.72vw + 10px,24px);--letter-card-padding-inline:clamp(16px,0.6vw + 10px,22px);--letter-body-size:clamp(0.98rem,0.22vw + 0.18vh + 0.82rem,1.14rem);--letter-body-line-height:clamp(1.58em,1.52em + 0.08vw,1.7em);--letter-salutation-size:clamp(1.16rem,0.3vw + 0.12vh + 0.94rem,1.32rem);--letter-signoff-size:clamp(1.04rem,0.24vw + 0.1vh + 0.86rem,1.18rem);--letter-sticker-row:clamp(40px,4.4vh,56px)}}