@font-face{font-family:Sour Gummy Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/sour-gummy-latin-ext-wght-normal-DC6v0X94.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sour Gummy Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/sour-gummy-latin-wght-normal-Yk9ssE8X.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--vh:1vh;--display:"Sour Gummy Variable", "Comic Sans MS", system-ui, sans-serif;--sans:"Nunito Variable", system-ui, sans-serif;--ui:var(--sans);--paper:#fbf6f9;--paper-2:#fffbfd;--ink:#2f3a63;--muted:#626a8c;--primary:#4a68b0;--primary-soft:#bcd3f2;--accent:#f6b3c8;--accent-deep:#b3476f;--danger:#b3364f;--radius:18px;--line:1.5px;--lift-sm:0 1px 2px #2f3a6324;--lift:0 1px 0 #2f3a631f, 0 6px 14px #2f3a631f;--lift-card:0 1px 0 #2f3a631a, 0 14px 30px #2f3a631a;--lift-pressed:0 1px 3px #2f3a6329;--press:1px;--ticket-shadow:drop-shadow(0 4px 6px #2f3a6333);--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .36 0 0 0 0 .46 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-synthesis:none;font-size:16px;line-height:1.6}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(20 * var(--vh) + 16px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background-color:var(--paper);background-image:var(--paper-grain);margin:0}h1,h2,p,ul,blockquote,fieldset{margin:0}ul{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit;-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}[tabindex="-1"]:focus{outline:none}::selection{background:var(--accent);color:var(--ink)}.chapter{min-height:calc(85 * var(--vh));padding:calc(10 * var(--vh)) 16px;text-align:center;align-content:center;display:grid;position:relative;overflow:clip}.chapter-inner{z-index:1;width:min(100%,34rem);margin-inline:auto;position:relative}main{counter-reset:bab}.chapter{counter-increment:bab}.eyebrow{color:var(--accent-deep);font:italic 500 1rem/1.4 var(--display);letter-spacing:.03em;background:linear-gradient(currentColor,currentColor) 0/1.8em 1px no-repeat,linear-gradient(currentColor,currentColor) 100%/1.8em 1px no-repeat;margin-bottom:14px;padding:0 2.4em;display:inline-block}.chapter .eyebrow:before{content:"Bab " counter(bab, upper-roman) " · ";letter-spacing:.08em;font-style:normal;font-weight:600}.title{font:600 clamp(2rem, 9vw, 3rem) / 1.15 var(--display);color:var(--primary);text-wrap:balance}.lede{color:var(--muted);text-wrap:pretty;margin-top:14px}.amp{color:var(--accent-deep);font-style:italic;font-weight:400}.calendar-actions{flex-wrap:wrap;justify-content:center;gap:10px 14px;margin-top:22px;display:flex}.person-name{font:600 clamp(2.2rem, 10vw, 3.4rem) / 1.1 var(--display);color:var(--primary);text-wrap:balance}.parents{color:var(--muted);margin-top:14px}.parents strong{color:var(--ink);font-weight:600}.story-line{font:italic 500 1.1rem/1.45 var(--display);color:var(--accent-deep);text-wrap:balance;margin-top:22px}.date-lockup{font-family:var(--display);justify-items:center;margin-top:18px;display:grid}.date-weekday{font:600 .9rem/1.6 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}.date-day{color:var(--primary);font-size:clamp(5.5rem,30vw,8rem);font-weight:600;line-height:.9}.date-month{font-size:1.4rem;font-weight:500}.event-list,.place-list{gap:16px;margin-top:26px;display:grid}@media (width>=30rem){.event-list{grid-template-columns:1fr 1fr}}.card{border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--paper-2) var(--paper-grain);box-shadow:var(--lift-card);outline-offset:-7px;outline:1px solid #2f3a632e;padding:20px}.event-name,.place-events{font:600 1.4rem/1.2 var(--display);color:var(--primary)}.event-time{font:600 1.05rem/1.3 var(--ui);margin-top:4px}.event-venue,.place-venue{margin-top:6px}.is-pending{color:var(--muted);font-style:italic}.place-address{color:var(--muted);margin-top:4px}.place-card .btn{margin-top:16px}.btn{border:var(--line) solid var(--ink);background:var(--paper-2);min-height:48px;color:var(--ink);box-shadow:var(--lift);font:600 1rem/1 var(--ui);border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:0 1.4em;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:active{transform:translateY(var(--press));box-shadow:var(--lift-pressed)}@media (hover:hover){.btn:not(.btn-quiet,[aria-disabled=true],:disabled):hover:not(:active){transform:translateY(-1px)}.btn-quiet:hover{color:var(--accent-deep)}}.btn-primary{background:var(--primary-soft);color:var(--ink)}.btn-quiet{box-shadow:none;text-underline-offset:4px;background:0 0;border-color:#0000;text-decoration:underline;text-decoration-thickness:2px}.btn-quiet:active{box-shadow:none}.btn[aria-disabled=true]{box-shadow:none;color:var(--muted);cursor:not-allowed;border-style:dashed}.btn-wide{width:100%}.field{border:0;gap:6px;min-width:0;padding:0;display:grid}.field-label{font:600 .95rem/1.3 var(--ui);padding:0}.field input,.field textarea{border:var(--line) solid var(--ink);background:var(--paper-2);border-radius:14px;width:100%;min-height:48px;padding:10px 14px;font-size:16px}.field textarea{resize:vertical}.field [aria-invalid=true]{border-color:var(--danger)}.field-error,.form-failure{color:var(--danger);font-size:.9rem}.field-count{color:var(--muted);justify-self:end;font-size:.8rem}.polaroid{border:var(--line) solid var(--ink);background:var(--paper-2);width:min(82%,20rem);box-shadow:var(--lift-card);border-radius:8px;margin:26px auto 0;padding:10px 10px 12px;transform:rotate(-2.5deg)}.polaroid img{aspect-ratio:4/5;object-fit:contain;object-position:50% 100%;background:radial-gradient(closest-side,#3a4a7a29,#0000) 50% 98%/70% 7% no-repeat,linear-gradient(#dfe9f8,#fbeef4 80%);border-radius:4px;width:100%;height:auto;padding-top:8%;display:block}.polaroid figcaption{font:500 1rem/1.3 var(--display);color:var(--accent-deep);margin-top:10px}.signoff{color:var(--muted);margin-top:28px}.signoff-names{font:600 2.4rem/1.15 var(--display);color:var(--primary);margin-top:4px}.families{color:var(--muted);margin-top:12px;font-size:.95rem}html:has(dialog[open]){overflow:hidden}.sheet{border:var(--line) solid var(--ink);background:var(--paper-2);width:min(92vw,26rem);max-height:86vh;box-shadow:var(--lift-card);color:var(--ink);text-align:center;border-radius:22px;padding:26px 20px 20px}.sheet::backdrop,dialog::backdrop{background:#242a4c80}.sheet-title{font:600 1.4rem/1.2 var(--display);color:var(--primary);margin:0 32px 6px}.sheet-note{color:var(--muted);font-size:.9rem}.dialog-close{border:var(--line) solid var(--ink);background:var(--paper);width:40px;height:40px;color:var(--ink);font:500 1.4rem/1 var(--ui);border-radius:50%;position:absolute;top:10px;right:10px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn:disabled{cursor:progress;opacity:.7}@media (prefers-reduced-motion:reduce){.btn,.eyebrow{transition:none}}
