@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_6ef30231-module__vgqZGa__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_6ef30231-module__vgqZGa__variable{--font-display:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/da4b870ab52b3094-s.0v_p~5_c0b~1d.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.17_wf1k7ou9-q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/11cc37d7380d16b4-s.0ptcwqi9jx~4d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a85fe84266768609-s.p.05b418i5bs~lg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/da4b870ab52b3094-s.0v_p~5_c0b~1d.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/86d70b7c76b6ec6e-s.17_wf1k7ou9-q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/11cc37d7380d16b4-s.0ptcwqi9jx~4d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a85fe84266768609-s.p.05b418i5bs~lg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Fallback;src:local(Arial);ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.0%;size-adjust:76.94%}.caveat_4f377801-module__pF9b1a__className{font-family:Caveat,Caveat Fallback;font-style:normal}.caveat_4f377801-module__pF9b1a__variable{--font-hand:"Caveat", "Caveat Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.0end3qt1tw3rz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0bhxxck2.9j91.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.0end3qt1tw3rz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0bhxxck2.9j91.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.0end3qt1tw3rz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0bhxxck2.9j91.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_c9599e48-module__f4sRRW__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_c9599e48-module__f4sRRW__variable{--font-body:"Figtree", "Figtree Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_10da2730-module__i1YWaa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_10da2730-module__i1YWaa__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--sky:#16122c;--sky-2:#221b44;--text:#f2ecff;--muted:#a99fce;--line:#f2ecff29;--rose:#ff8fab;--gold:#f6c86a;--pumpkin:#ff8a3d;--crypt:#0e0a16;--paper:#fbf4ec;--paper-dim:#cfc6da;--paper-ink:#2a2142;--wax:#e8d8c4;--air-red:#df4a5b;--air-blue:#3a59c7;--f-display:var(--font-display), Georgia, "Times New Roman", serif;--f-hand:var(--font-hand), "Segoe Print", "Bradley Hand", cursive;--f-body:var(--font-body), system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:var(--font-mono), ui-monospace, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--sky);-webkit-text-size-adjust:100%}body{min-height:100vh;padding-inline:16px;padding-bottom:env(safe-area-inset-bottom,0px);background:radial-gradient(1100px 560px at 85% -10%, #ff8fab2b, transparent 60%), radial-gradient(900px 520px at -10% 25%, #3a59c73d, transparent 60%), var(--sky);color:var(--text);font:16px/1.55 var(--f-body);margin:0}button{font:inherit;color:inherit}a{color:inherit}img,svg{max-width:100%}[hidden]{display:none!important}.stars{pointer-events:none;z-index:0;opacity:.75;background-image:radial-gradient(1.3px 1.3px at 22px 34px, var(--text), transparent), radial-gradient(1px 1px at 96px 128px, var(--text), transparent), radial-gradient(1.6px 1.6px at 168px 58px, var(--gold), transparent), radial-gradient(1px 1px at 248px 206px, var(--text), transparent), radial-gradient(1px 1px at 58px 248px, var(--text), transparent), radial-gradient(1.3px 1.3px at 206px 286px, var(--rose), transparent), radial-gradient(1px 1px at 286px 112px, var(--text), transparent);background-size:310px 310px;position:fixed;inset:0}.wrap{z-index:1;max-width:680px;padding-block:calc(48px + env(safe-area-inset-top,0px)) 56px;gap:48px;margin:0 auto;display:grid;position:relative}.wrap.page{padding-block:calc(24px + env(safe-area-inset-top,0px)) 56px;gap:22px}.eyebrow{font:600 .72rem/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin:0}.hero-title{font:400 clamp(3.1rem, 13vw, 5.6rem) / .95 var(--f-display);letter-spacing:-.01em;text-wrap:balance;margin:.3em 0}.hero-title em{color:var(--gold)}.page-title{font:400 clamp(2.4rem, 10vw, 3.5rem) / 1 var(--f-display);text-wrap:balance;margin:8px 0 0}.lede{opacity:.92;max-width:34em;margin:0 0 24px;font-size:1.08rem}.intro{opacity:.9;max-width:34em;margin:0;font-size:1.05rem}.sec-h{font:400 2.2rem/1.05 var(--f-display);text-wrap:balance;margin:0}.sec-sub{color:var(--muted);margin:6px 0 18px}.sub-h{font:400 1.7rem/1.1 var(--f-display);margin:10px 0 0}.hint{color:var(--muted);margin:-12px 0 0;font-size:.9rem}.center{text-align:center;margin:0}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:440px;display:grid}.countdown div{border:1px solid var(--line);text-align:center;background:#f2ecff0d;border-radius:10px;padding:12px 4px 10px}.countdown span{font:600 clamp(1.6rem, 7vw, 2.3rem) / 1 var(--f-mono);font-variant-numeric:tabular-nums;display:block}.countdown small,.cd-caption{font:500 .68rem/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block}.countdown small{margin-top:6px}.cd-caption{margin-top:10px}.land-note{color:var(--muted);max-width:34em;margin:14px 0 0;font-size:.95rem}.land-note b{color:var(--gold);font-weight:600}.clocks{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;display:flex}.clock{gap:4px;display:grid}.clock small{font:500 .66rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.clock b{font:400 1.8rem/1 var(--f-display);font-variant-numeric:tabular-nums}.clock-line{border-top:1px dashed var(--muted);opacity:.6;flex:0 90px;min-width:40px}.track{gap:12px;display:grid}.track-bar{height:30px;margin-inline:14px;position:relative}.track-bar:before{content:"";border-top:2px dashed #f2ecff40;position:absolute;top:50%;left:0;right:0}.track-fill{background:linear-gradient(90deg, var(--rose), var(--gold));height:2px;margin-top:-1px;position:absolute;top:50%;left:0}.tick{background:var(--muted);border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;position:absolute;top:50%}.tick.end{background:var(--rose);width:11px;height:11px;margin:-5.5px 0 0 -5.5px}.plane{width:28px;height:28px;fill:var(--gold);filter:drop-shadow(0 0 6px #f6c86a99);transition:left 1s linear;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(90deg)}.track-stops{text-align:center;font:500 .72rem/1.3 var(--f-mono);letter-spacing:.04em;color:var(--muted);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.track-stops b{color:var(--text);font-weight:600;display:block}.track-stops li.now,.track-stops li.now b{color:var(--gold)}.cards{gap:12px;margin:0;padding:0;list-style:none;display:grid}.card{appearance:none;cursor:pointer;text-align:left;background:var(--paper);width:100%;color:var(--paper-ink);border:0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px 16px 28px;text-decoration:none;transition:transform .2s;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 30px -18px #000000d9}.card:before{content:"";background:repeating-linear-gradient(-45deg, var(--air-red) 0 7px, var(--paper) 7px 12px, var(--air-blue) 12px 19px, var(--paper) 19px 24px);width:10px;position:absolute;top:0;bottom:0;left:0}.card:hover{transform:translateY(-2px)}.card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.card.is-locked{background:var(--paper-dim)}.card.is-locked:before{opacity:.45}.card.is-locked .postmark{color:var(--paper-ink);border-color:var(--paper-ink);opacity:.45}.card.is-locked .card-day{color:var(--paper-ink);opacity:.6}.card.is-locked .card-title,.card.is-locked .card-teaser{opacity:.6}.card.is-today{box-shadow:0 0 0 3px var(--gold), 0 0 44px -6px #f6c86aa6}.postmark{border:2px dashed var(--air-blue);text-align:center;width:60px;height:60px;color:var(--air-blue);font-family:var(--f-mono);border-radius:50%;place-content:center;display:grid;transform:rotate(-10deg)}.postmark b{font-size:1.4rem;line-height:1}.postmark small{letter-spacing:.14em;font-size:.6rem;font-weight:600}.card-day{font:600 .7rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--air-red);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.today-chip{background:var(--air-red);color:var(--paper);border-radius:4px;padding:3px 6px;font-style:normal}.card-title{font:400 1.6rem/1.1 var(--f-display);margin-top:6px;display:block}.card-teaser{opacity:.78;margin-top:2px;font-size:.92rem;display:block}.card-state{font:600 .7rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;display:flex}.card-state svg{fill:currentColor;width:14px;height:14px}.is-open .card-state{background:var(--rose);border-radius:999px;padding:9px 12px}.is-seen .card-state{color:var(--air-blue)}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (max-width:520px){.card{grid-template-columns:auto minmax(0,1fr);gap:8px 14px}.card-state{grid-column:2;justify-self:start}}.envelopes{flex-wrap:wrap;gap:10px;display:flex}.env{border:1px solid var(--line);font:700 1.35rem/1 var(--f-hand);background:#f2ecff0a;border-radius:999px;align-items:center;gap:10px;padding:10px 18px 10px 14px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.env svg{width:18px;height:18px;fill:var(--rose);flex:none}.env:hover{border-color:var(--rose);background:#ff8fab1f}.env:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.more{gap:14px;margin-top:10px;display:grid}.foot{text-align:center;color:var(--muted);justify-items:center;gap:4px;font-size:.88rem;display:grid}.foot p{margin:0}.foot-heart{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:50%;padding:6px;line-height:0}.foot-heart svg{width:22px;height:22px;fill:var(--rose)}.back{font:600 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-self:start;padding:8px 0;text-decoration:none}.back:hover{color:var(--text)}.day-nav{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:14px;padding-top:20px;display:flex}.day-nav a{font:600 .75rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:11px 14px;text-decoration:none}.day-nav a:hover{border-color:var(--gold);color:var(--gold)}.back:focus-visible,.day-nav a:focus-visible,.foot-heart:focus-visible,.btn:focus-visible,.candle:focus-visible,.jar:focus-visible,.fc:focus-visible,.pbar a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.pbar{z-index:50;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:var(--crypt);border-bottom:1px dashed var(--gold);font:500 .78rem/1.4 var(--f-mono);margin-inline:-16px;position:sticky;top:0}.pbar-in{flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:680px;margin:0 auto;display:flex}.pbar-tag{background:var(--gold);color:var(--paper-ink);letter-spacing:.1em;text-transform:uppercase;border-radius:4px;padding:3px 7px;font-weight:600}.pbar nav{flex-wrap:wrap;gap:6px;width:100%;display:flex}.pbar nav a{color:var(--gold);border:1px solid #f6c86a66;border-radius:999px;padding:4px 9px;text-decoration:none}.pbar nav a:hover{background:#f6c86a1f}.pbar nav .pbar-exit{color:var(--muted);border-color:var(--line)}.letter{background:repeating-linear-gradient(-45deg, var(--air-red) 0 10px, var(--paper) 10px 16px, var(--air-blue) 16px 26px, var(--paper) 26px 32px);border-radius:6px;padding:9px}.letter-body{background:var(--paper);color:var(--paper-ink);font:500 1.45rem/1.32 var(--f-hand);border-radius:2px;padding:22px 20px 20px}.letter-body p{margin:0 0 .6em}.letter-body .sign{text-align:right;color:var(--air-red);margin:1em 0 0;font-weight:700}.fade-in{animation:1.2s both fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.btn{appearance:none;cursor:pointer;background:var(--gold);color:var(--paper-ink);font:600 1rem/1 var(--f-body);border:0;border-radius:999px;justify-self:start;padding:15px 22px;text-decoration:none;display:inline-block}.btn:hover{filter:brightness(1.07)}.btn-ghost{color:var(--text);border:1px solid var(--line);background:0 0}.pass{background:var(--paper);color:var(--paper-ink);font-family:var(--f-mono);border-radius:12px;flex-wrap:wrap;display:flex;overflow:hidden}.pass-main{flex:300px;gap:16px;min-width:0;padding:18px;display:grid}.pass-head{letter-spacing:.14em;color:var(--air-blue);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.7rem;font-weight:600;display:flex}.pass-route{align-items:center;gap:12px;display:flex}.pass-route b{font:400 2.7rem/1 var(--f-display)}.pass small{letter-spacing:.14em;text-transform:uppercase;color:var(--air-red);margin-bottom:4px;font-size:.6rem;font-weight:600;display:block}.route-line{border-top:2px dashed #2a21424d;flex:1;min-width:40px;position:relative}.route-line svg{width:24px;height:24px;fill:var(--air-blue);position:absolute;top:-13px;left:50%;transform:translate(-50%)rotate(90deg)}.pass-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.pass-grid b{font-size:.95rem}.pass-stub{border-left:2px dashed #2a214240;flex:0 0 130px;align-content:space-between;gap:14px;padding:18px 16px;display:grid}.pass-stub b{font-size:1rem}.barcode{background:repeating-linear-gradient(90deg, var(--paper-ink) 0 2px, transparent 2px 4px, var(--paper-ink) 4px 5px, transparent 5px 8px, var(--paper-ink) 8px 11px, transparent 11px 13px);height:46px}@media (max-width:480px){.pass-stub{border-top:2px dashed #2a214240;border-left:0;flex-basis:100%;justify-content:space-between;align-items:center;display:flex}.barcode{width:130px}}.flash{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fc{appearance:none;perspective:800px;cursor:pointer;background:0 0;border:0;border-radius:10px;height:116px;padding:0}.fc-in{height:100%;transform-style:preserve-3d;transition:transform .5s;display:block;position:relative}.fc.flipped .fc-in{transform:rotateY(180deg)}.fc-face{backface-visibility:hidden;text-align:center;border-radius:10px;place-items:center;padding:10px 12px;display:grid;position:absolute;inset:0}.fc-front{background:var(--paper);color:var(--paper-ink);font:400 1.35rem/1.15 var(--f-display)}.fc-back{background:var(--rose);color:var(--paper-ink);font:500 .95rem/1.3 var(--f-body);transform:rotateY(180deg)}.voice{gap:8px;display:grid}.voice-btn{appearance:none;cursor:pointer;text-align:left;background:var(--rose);width:100%;color:var(--paper-ink);border:0;border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 20px 14px 14px;transition:transform .2s;display:grid;box-shadow:0 14px 34px -18px #ff8fabb3}.voice-btn:hover{transform:translateY(-2px)}.voice-icon{background:var(--paper-ink);border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.voice-icon svg{width:24px;height:24px;fill:var(--rose)}.voice-text b{font:700 1.5rem/1.1 var(--f-hand);display:block}.voice-text small{font:600 .64rem/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-top:4px;display:block}.voice-bars{align-items:center;gap:3px;height:28px;display:flex}.voice-bars span{background:var(--paper-ink);opacity:.6;border-radius:2px;width:4px;height:8px}.is-playing .voice-bars span{animation:.8s ease-in-out infinite alternate bars}.voice-bars span:nth-child(2){animation-delay:.15s}.voice-bars span:nth-child(3){animation-delay:.3s}.voice-bars span:nth-child(4){animation-delay:.45s}.voice-bars span:nth-child(5){animation-delay:.6s}@keyframes bars{to{height:26px}}.voice-progress{background:var(--line);border-radius:2px;height:3px;margin-inline:26px;overflow:hidden}.voice-progress span{background:var(--rose);height:100%;transition:width .25s linear;display:block}.voice-missing{border:1px dashed var(--gold);color:var(--gold);font:500 .8rem/1.45 var(--f-mono);border-radius:10px;margin:0;padding:12px 14px}.voice-btn:focus-visible,.sealed:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.sealed{appearance:none;cursor:pointer;background:repeating-linear-gradient(-45deg, var(--air-red) 0 10px, var(--paper) 10px 16px, var(--air-blue) 16px 26px, var(--paper) 26px 32px);border:0;border-radius:6px;width:100%;margin-top:12px;padding:9px;transition:transform .2s}.sealed:hover{transform:translateY(-2px)rotate(-.4deg)}.sealed-in{background:var(--paper);color:var(--paper-ink);text-align:center;border-radius:2px;justify-items:center;gap:10px;padding:28px 20px 24px;display:grid}.seal{background:var(--air-red);border-radius:50%;place-items:center;width:58px;height:58px;display:grid;box-shadow:inset 0 -4px #0000002e,0 6px 14px -6px #00000080}.seal svg{width:24px;height:24px;fill:var(--paper)}.sealed b{font:700 1.7rem/1.2 var(--f-hand)}.sealed small{font:600 .64rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--air-red)}.surprise{margin-top:12px}.surprise:focus{outline:none}.letter-body .surprise-head{font:400 clamp(1.9rem, 8vw, 2.6rem) / 1.05 var(--f-display);color:var(--air-red);text-wrap:balance;margin:0 0 .6em}.after-love{font:700 1.45rem/1.25 var(--f-hand);color:var(--air-red);text-align:center;margin-top:1.4rem}.beauty-gift{color:var(--paper-ink);text-align:center;background:linear-gradient(145deg,#fff8f4,#fce6e9);border:1px solid #b3374c47;border-radius:18px;margin-top:2rem;padding:25px 22px 22px;position:relative;box-shadow:0 12px 32px -22px #752333b3}.big-gift-section{text-align:center;background:radial-gradient(circle at 50% 45%,#ffe1e6e6,#fff8f473 60%,#0000 75%);border:1px dashed #b3374c61;border-radius:22px;margin:3.25rem 0 1.5rem;padding:34px 20px 30px}.big-gift-hint{font:700 clamp(1.4rem, 5vw, 1.9rem)/1.25 var(--f-hand);color:var(--paper-ink);margin:0 0 30px}.big-gift-button{cursor:pointer;filter:drop-shadow(0 18px 13px #5b18273d);background:0 0;border:0;width:250px;height:215px;margin:0 auto;padding:0;transition:transform .22s;display:block;position:relative}.big-gift-button:hover{transform:translateY(-7px)rotate(-1deg)scale(1.02)}.big-gift-button:focus-visible{outline:3px solid var(--gold);outline-offset:8px;border-radius:12px}.gift-box,.gift-lid{background:linear-gradient(135deg,#c9435a,#a9203d);position:absolute;left:50%;transform:translate(-50%)}.gift-box{border-radius:4px 4px 12px 12px;place-items:center;width:205px;height:145px;display:grid;bottom:0;box-shadow:inset 0 -10px #5b142524}.gift-box:before,.gift-lid:before{content:"";background:#f5c566;width:36px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.gift-box span{z-index:1;color:#9c1f39;font:800 .58rem/1 var(--f-mono);letter-spacing:.12em;background:#ffffffe6;border-radius:4px;margin-top:58px;padding:5px 9px;position:relative}.gift-lid{z-index:2;border-radius:7px;width:225px;height:40px;bottom:139px}.gift-bow{z-index:3;width:98px;height:50px;position:absolute;bottom:174px;left:50%;transform:translate(-50%)}.gift-bow i{border:10px solid #f5c566;border-radius:50% 50% 45% 55%;width:54px;height:42px;position:absolute}.gift-bow i:first-child{right:47px;transform:rotate(18deg)}.gift-bow i:last-child{left:47px;transform:scaleX(-1)rotate(18deg)}.big-gift-tap{color:var(--air-red);font:700 .72rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;margin:22px 0 0}.big-gift-open{margin-top:3.25rem;padding:34px clamp(20px,6vw,42px) 30px}.big-gift-open:focus{outline:none}.opened-gift-icon{filter:drop-shadow(0 7px 6px #5b18272e);margin-bottom:9px;font-size:3.3rem}.beauty-gift-kicker{color:var(--air-red);font:700 .63rem/1 var(--f-mono);letter-spacing:.18em;display:inline-block}.letter-body .beauty-gift-title{font:700 1.65rem/1.15 var(--f-hand);color:var(--paper-ink);margin:.55rem 0 .7rem}.beauty-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:1rem 0;display:grid}.beauty-list span{color:var(--paper-ink);font:700 1rem/1.2 var(--f-hand);background:#ffffffb8;border-radius:10px;padding:10px 8px}.letter-body .beauty-gift-ending{margin-bottom:0}.airpods-closing{color:var(--air-red);font:700 1.35rem/1.25 var(--f-hand);margin:1.35rem 0 0}.airpods-surprise{text-align:center;background:radial-gradient(circle at 50% 38%,#ffffff21,#0000 48%);border:1px dashed #f6c86a6b;border-radius:24px;margin:3.25rem 0 1.5rem;padding:36px 20px 30px;overflow:hidden}.airpods-surprise .big-gift-hint{color:var(--text)}.airpods-case-button{appearance:none;cursor:pointer;perspective:850px;background:0 0;border:0;width:280px;height:250px;margin:4px auto 0;padding:0;display:block;position:relative}.airpods-case-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:28px}.airpods-case{filter:drop-shadow(0 22px 18px #00000057);transition:transform .45s;display:block;position:absolute;inset:0;transform:translateY(13px)scale(.92)}.airpods-case-button:hover .airpods-case{transform:translateY(5px)scale(.96)}.airpods-case-button.open .airpods-case{transform:translateY(4px)scale(.98)}.airpods-case-body{z-index:3;background:linear-gradient(155deg,#fff 8%,#f3f3f5 62%,#dedee2);border:1px solid #d8d8da;border-radius:30px 30px 52px 52px;width:210px;height:124px;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:inset 0 2px 5px #ffffffe6,inset 0 -8px 15px #aaaab42e}.airpods-case-body:before{content:"";background:#d9d9dd;border-radius:50%;height:28px;position:absolute;inset:9px 16px auto;box-shadow:inset 0 5px 8px #50505a24}.airpods-light{background:#63d887;border-radius:50%;width:7px;height:7px;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 0 8px #63d887cc}.airpods-lid{z-index:4;transform-origin:50% 100%;background:linear-gradient(155deg,#fff 10%,#f3f3f5 65%,#dedee2);border:1px solid #d8d8da;border-radius:52px 52px 24px 24px;width:210px;height:84px;transition:transform .85s cubic-bezier(.2,.8,.25,1);position:absolute;bottom:125px;left:50%;transform:translate(-50%);box-shadow:inset 0 4px 8px #ffffffe6,0 3px 5px #50505a1f}.airpods-lid-inner{border:1px solid #b4b4b9b3;border-radius:40px 40px 17px 17px;position:absolute;inset:14px 21px 9px}.airpods-case-button.open .airpods-lid{transform:translate(-50%)rotateX(-112deg)translateY(-4px)}.airpods-buds{z-index:2;opacity:0;width:150px;height:92px;transition:transform .65s .34s,opacity .3s .32s;position:absolute;bottom:108px;left:50%;transform:translate(-50%)translateY(34px)}.airpods-case-button.open .airpods-buds{opacity:1;transform:translate(-50%)translateY(0)}.airpod{background:linear-gradient(145deg,#fff,#e5e5e8);border:1px solid #d4d4d8;border-radius:52% 48% 42% 45%;width:43px;height:51px;position:absolute;top:5px;box-shadow:0 5px 8px #46465038}.airpod-left{left:19px;transform:rotate(-8deg)}.airpod-right{right:19px;transform:rotate(8deg)}.airpod:after{content:"";background:linear-gradient(90deg,#ededf0,#fff 55%,#dedee2);border:1px solid #d4d4d8;border-top:0;border-radius:0 0 9px 9px;width:14px;height:49px;position:absolute;top:42px;left:15px}.airpod i{background:#24242a;border-radius:50%;width:15px;height:19px;position:absolute;top:13px;box-shadow:inset 0 0 0 3px #4c4c52}.airpod-left i{left:-3px;transform:rotate(12deg)}.airpod-right i{right:-3px;transform:rotate(-12deg)}.airpod b{background:#38383e;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:17px}.airpods-reveal{margin-top:26px;animation-delay:.45s}@media (max-width:420px){.beauty-list{grid-template-columns:1fr}.airpods-surprise{padding-inline:10px}.airpods-case-button{margin-block:-10px -12px;transform:scale(.88)}}.jar-wrap{justify-items:center;gap:14px;padding-top:6px;display:grid}.jar{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:30px;width:180px;height:232px;padding:0;position:relative}.jar-lid{background:var(--gold);border-radius:6px;height:26px;transition:transform .25s;position:absolute;top:0;left:32px;right:32px;box-shadow:inset 0 -6px #00000029}.jar-body{background:linear-gradient(100deg,#f2ecff29,#f2ecff0a 40%,#f2ecff1a);border:3px solid #f2ecff8c;border-radius:30px 30px 36px 36px;position:absolute;inset:22px 0 0;overflow:hidden}.jar-note{border-radius:3px;width:32px;height:22px;transition:transform .45s,opacity .45s;position:absolute;box-shadow:0 2px #0000002e}.jar-note.out{opacity:0;transform:translateY(-160px)!important}.jar:hover .jar-lid{transform:translateY(-4px)rotate(-4deg)}.jar.wiggle{animation:.45s wiggle}@keyframes wiggle{25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.jar-count{color:var(--muted);text-align:center;margin:0}.note{background:var(--paper);color:var(--paper-ink);font:600 1.65rem/1.25 var(--f-hand);border-radius:4px;width:100%;max-width:440px;padding:20px 22px;transform:rotate(-1.5deg);box-shadow:0 14px 30px -16px #000000e6}.note small{font:600 .64rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--air-red);margin-bottom:10px;display:block}.note.pop{animation:.45s ease-out pop}@keyframes pop{0%{opacity:0;transform:rotate(-1.5deg)scale(.85)}to{opacity:1;transform:rotate(-1.5deg)scale(1)}}.page-halloween{isolation:isolate}.spooky-bg{--glow:0;z-index:-1;pointer-events:none;background:radial-gradient(640px 420px at 50% 0%, rgba(255, 138, 61, calc(.07 + var(--glow) * .09)), transparent 72%), var(--crypt);position:fixed;inset:0}.page-halloween .eyebrow{color:var(--pumpkin)}.tot{flex-wrap:wrap;gap:10px;display:flex}.tot .btn:not(.btn-ghost){background:var(--pumpkin)}.ghost{width:110px;margin:0 auto;animation:.6s cubic-bezier(.2,1.6,.4,1) boo;display:block}.ghost .g-body{fill:var(--text)}.ghost .g-eye{fill:var(--crypt)}@keyframes boo{0%{opacity:0;transform:scale(.2)translateY(40px)}to{opacity:1;transform:none}}.boo-text{text-align:center;font:400 3.2rem/1 var(--f-display);color:var(--pumpkin);margin:4px 0 0}.snack{border:1px dashed var(--pumpkin);border-radius:12px;gap:8px;padding:18px;display:grid}.snack .eyebrow{color:var(--pumpkin)}.snack h2{font:400 1.8rem/1.1 var(--f-display);color:var(--pumpkin);margin:0}.snack p{margin:0}.candle-sec{gap:18px;display:grid}.hw-letter{scroll-margin-top:110px}.candles{justify-content:center;align-items:flex-end;gap:26px;padding-top:6px;display:flex}.candle{--h:96px;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:6px;width:44px;height:150px;padding:0;position:relative}.candle .wax{width:30px;height:var(--h);background:linear-gradient(90deg, var(--wax), var(--paper) 45%, var(--wax));border-radius:5px 5px 3px 3px;margin-left:-15px;position:absolute;bottom:0;left:50%}.candle .wick{width:2px;height:10px;left:50%;bottom:var(--h);background:var(--paper-ink);margin-left:-1px;position:absolute}.candle .flame{width:16px;height:28px;left:50%;bottom:calc(var(--h) + 6px);background:radial-gradient(circle at 50% 72%, var(--paper) 0 18%, var(--gold) 46%, var(--pumpkin) 74%, transparent 76%);opacity:0;transform-origin:50% 100%;filter:drop-shadow(0 0 12px var(--gold));border-radius:50%/62% 62% 38% 38%;margin-left:-8px;transition:opacity .3s,transform .3s;position:absolute;transform:scale(.3)}.candle.lit .flame{opacity:1;animation:1.5s ease-in-out infinite alternate flicker;transform:scale(1)}@keyframes flicker{0%{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.06,.94)rotate(2deg)}to{transform:scale(.95,1.06)rotate(-1deg)}}.home-cd{gap:6px;display:grid}.home-cd span{font:600 clamp(2.6rem, 12vw, 4rem) / 1 var(--f-mono);font-variant-numeric:tabular-nums;color:var(--gold)}.home-cd small{font:500 .72rem/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.home-cd .land-note{margin-top:6px}.coupon{background:var(--rose);color:var(--paper-ink);border-radius:12px;display:flex;overflow:hidden}.coupon-l{flex:1;min-width:0;padding:18px}.coupon small{font:600 .62rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}.coupon-l b{font:400 1.85rem/1.05 var(--f-display);margin:8px 0;display:block}.coupon-l p{margin:0;font-size:.93rem}.coupon-r{text-align:center;font-family:var(--f-mono);border-left:2px dashed #2a214259;flex:0 0 86px;place-content:center;gap:4px;padding:12px;display:grid}.coupon-r b{font-size:1.1rem}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--paper);color:var(--paper-ink);z-index:30;text-align:center;border-radius:10px;width:max-content;max-width:calc(100% - 32px);padding:12px 18px;font-weight:500;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px -10px #000c}.fx{pointer-events:none;z-index:40;position:fixed;inset:0;overflow:hidden}.fx svg{width:var(--s);height:var(--s);fill:var(--c);animation:fall var(--d) linear forwards;position:absolute;top:-30px}@keyframes fall{to{transform:translate(var(--x), 110vh) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
