@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/ebgaramond-normal-400-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/ebgaramond-normal-400-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/ebgaramond-italic-400-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/ebgaramond-italic-400-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/cormorant-normal-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/cormorant-normal-300-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-normal-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-normal-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-italic-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/cormorant-italic-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}:root{--paper-deep: #d8c9ae;--paper: #e7dcc6;--paper-card: #f1e8d7;--paper-lit: #f7f0e3;--ink: #241d15;--ink-soft: #4f4231;--ink-faint: #6b5a44;--ink-mute: #7d6c55;--ink-ghost: #a1907a;--accent: #8e2f28;--accent-deep: #6b201b;--accent-lit: #a94a3c;--display: "Cormorant Garamond", "EB Garamond", Georgia, "Times New Roman", serif;--text: "EB Garamond", Georgia, "Times New Roman", serif;--grain: none;--rule: 1px solid var(--ink-ghost);--gutter: clamp(1.4rem, 6vw, 2.6rem);color-scheme:light}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;background-color:var(--paper);background-image:var(--grain);background-repeat:repeat;color:var(--ink);font-family:var(--text);font-size:clamp(1.06rem,1rem + .45vw,1.22rem);line-height:1.62;font-kerning:normal;font-variant-ligatures:common-ligatures;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#stage{position:fixed;inset:0;overflow:hidden;perspective:1600px;perspective-origin:50% 42%}h1,h2,h3,p,figure,blockquote{margin:0}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}::selection{background:#8e2f2829}:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px}.overline{font-family:var(--text);font-size:.78rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);margin-inline-end:-.34em}.display{font-family:var(--display);font-weight:300;line-height:1.04;letter-spacing:.005em}.pressed{text-shadow:0 1px 0 rgb(255 255 255 / .5)}.ital{font-style:italic}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.botanical{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}:root{--draw-stroke-time: .76s;--draw-stagger: 72ms;--draw-ease: cubic-bezier(.36, .15, .22, 1)}.card[data-draw] .botanical path[data-kind],.envelope-scene[data-draw] :is(.env-sprig,.flap-lining) .botanical path[data-kind]{stroke-dasharray:1;stroke-dashoffset:1}.card[data-draw] .botanical path[data-kind=solid],.envelope-scene[data-draw] :is(.env-sprig,.flap-lining) .botanical path[data-kind=solid]{stroke-dasharray:none;opacity:0}.card[data-draw=true] .botanical path[data-kind],.envelope-scene[data-draw=true] :is(.env-sprig,.flap-lining) .botanical path[data-kind]{animation:draw-stroke var(--draw-stroke-time) var(--draw-ease) calc(var(--i, 0) * var(--draw-stagger)) both}.card[data-draw=true] .botanical path[data-kind=solid],.envelope-scene[data-draw=true] :is(.env-sprig,.flap-lining) .botanical path[data-kind=solid]{animation:press-in .3s ease-out calc(var(--i, 0) * var(--draw-stagger)) both}@keyframes draw-stroke{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes press-in{0%{opacity:0}to{opacity:1}}.place-plan svg path[data-kind]{stroke-dasharray:1;stroke-dashoffset:1}.place-plan[data-open=true] svg path[data-kind]{animation:draw-stroke 1.7s var(--draw-ease) .16s both}.place-plan[data-open=true] svg path[data-kind=hatch]{animation-delay:.7s;animation-duration:1.5s}.is-reduced .card[data-draw] .botanical path,.is-reduced .envelope-scene[data-draw] .botanical path,.is-reduced .place-plan svg path[data-kind]{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:1!important}.envelope-scene{position:absolute;inset:0;z-index:4;display:grid;place-items:center;grid-template-rows:1fr auto;padding:var(--gutter);transform-style:preserve-3d}.envelope{position:relative;width:min(78vw,21rem);aspect-ratio:5 / 7;align-self:center;transform-style:preserve-3d;transform:translateZ(0);touch-action:none;cursor:grab;will-change:transform}.envelope:active{cursor:grabbing}.env-shadow{position:absolute;left:6%;right:6%;bottom:-3.5%;height:9%;background:radial-gradient(50% 50% at 50% 50%,rgb(60 46 28 / .28),transparent 72%);filter:blur(6px);transition:opacity .7s var(--ease-fall, ease),transform .7s ease}.env-back,.env-front,.env-flap{position:absolute;inset:0;background-color:var(--paper-deep);background-image:var(--grain);border-radius:2px}.env-back{z-index:1;box-shadow:inset 0 0 0 1px #5a483024,0 1px 1px #3c2e1c1f,0 12px 30px #3c2e1c33}.card.env-letter{position:absolute;z-index:2;left:4%;width:92%;top:3%;height:auto;aspect-ratio:5 / 7;transform:translateZ(0);transition:none;will-change:transform}.env-front{z-index:3;inset:0;background-color:var(--paper);box-shadow:inset 0 1px #ffffff4d,0 1px 2px #3c2e1c24;display:grid;align-content:end;justify-items:center;gap:.55rem;padding:1.4rem 1.5rem 14%;text-align:center}.env-front:before,.env-front:after{content:"";position:absolute;top:0;bottom:0;width:30%;background:linear-gradient(to right,rgb(120 96 62 / .055),transparent 74%);pointer-events:none}.env-front:before{left:0}.env-front:after{right:0;transform:scaleX(-1)}.env-address{display:grid;gap:.5rem;justify-items:center;max-width:100%}.env-honorific{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);margin-inline-end:-.32em}.env-name{font-family:var(--display);font-weight:300;font-size:clamp(1.65rem,8.5vw,2.5rem);line-height:1.06;color:var(--ink);text-shadow:0 1px 0 rgb(255 255 255 / .45);overflow-wrap:break-word;hyphens:auto}.env-name.is-unaddressed{font-size:clamp(1.35rem,6.4vw,1.9rem);color:var(--ink-soft)}.env-rule{width:3.2rem;height:1px;background:var(--ink-ghost)}.env-date{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);margin-inline-end:-.24em}.env-sprig{position:absolute;width:17%;aspect-ratio:1;color:var(--ink-ghost);opacity:.85;pointer-events:none}.env-sprig--tl{left:7%;top:54%}.env-sprig--br{right:5%;bottom:3%}.env-flap{z-index:4;height:48%;bottom:auto;transform-origin:50% 0;transform-style:preserve-3d;transform:rotateX(0);background:none;pointer-events:none}.flap-shadow{position:absolute;z-index:3;left:-2%;top:0;width:104%;height:52%;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,rgb(60 46 28 / .16),rgb(60 46 28 / .05) 62%,transparent);pointer-events:none;transform-origin:50% 0}.flap-face,.flap-lining{position:absolute;inset:0;backface-visibility:hidden;clip-path:polygon(0 0,100% 0,50% 100%);background-color:var(--paper);background-image:var(--grain)}.flap-face{background-color:var(--paper-lit);background-image:linear-gradient(180deg,rgb(120 96 62 / .12) 0 1px,rgb(255 255 255 / .22) 1px 2px,transparent 2px),var(--grain)}.flap-lining{transform:rotateY(180deg);background-color:var(--paper-deep);color:var(--ink-soft);display:grid;place-items:start center;box-shadow:inset 0 2px 6px #3c2e1c29}.flap-lining .botanical{width:34%;height:auto;margin-top:9%;opacity:.34;transform:rotate(180deg)}.seal-holder{position:absolute;z-index:5;left:50%;top:48%;width:23%;aspect-ratio:1;transform:translate3d(-50%,-50%,0);pointer-events:none;filter:drop-shadow(0 2px 2px rgb(60 30 24 / .34))}.seal{display:block;width:100%;height:100%;overflow:visible}.seal-half{transform-origin:50% 46%;will-change:transform,opacity}.wax-body{fill:var(--accent);stroke:var(--accent-deep);stroke-width:1.2}.wax-rim{fill:none;stroke:var(--accent-deep);stroke-width:1;opacity:.55}.wax-ticks{fill:none;stroke:var(--accent-deep);stroke-width:.9;opacity:.4;stroke-linecap:round}.wax-mark{font-family:var(--display);font-weight:400;font-size:34px;letter-spacing:.06em;fill:var(--accent-lit);paint-order:stroke;stroke:#ffebdc38;stroke-width:.8}.wax-crack{fill:none;stroke:var(--accent-deep);stroke-width:0;opacity:0;transition:stroke-width .18s ease,opacity .18s ease}.envelope[data-cracking=true] .wax-crack{stroke-width:1.1;opacity:.75}.env-hint{align-self:start;margin-top:1.6rem;display:grid;justify-items:center;gap:.6rem;color:var(--ink-faint);transition:opacity .4s ease}.env-hint-mark{width:1px;height:1.5rem;background:linear-gradient(to top,var(--ink-ghost),transparent);animation:hint-rise 2.9s cubic-bezier(.4,0,.2,1) infinite}.env-hint-text{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;margin-inline-end:-.3em}@keyframes hint-rise{0%,to{transform:translateY(4px) scaleY(.8);opacity:.5}50%{transform:translateY(-4px) scaleY(1);opacity:1}}.envelope-scene[data-opening=true] .env-hint{opacity:0;pointer-events:none}.is-reduced .env-hint-mark{animation:none}.envelope[data-state=open] .env-flap{z-index:1}.envelope[data-state=open] .seal-holder{opacity:0;transition:opacity .42s ease}.envelope-scene[data-leaving=true] .envelope{opacity:0;transform:translate3d(0,5%,-90px) scale(.95);transition:opacity .62s cubic-bezier(.55,.06,.68,.19),transform .68s cubic-bezier(.34,.02,.18,1);pointer-events:none}.envelope-scene[data-leaving=true] .env-shadow{opacity:0}.is-reduced .envelope-scene[data-leaving=true] .envelope{transition:none}.deck{position:absolute;inset:0;display:grid;place-items:center;padding:var(--gutter);pointer-events:none;z-index:3}.card{width:min(92vw,25.5rem,calc(84vh * 5 / 7));aspect-ratio:5 / 7;position:relative;grid-area:1 / 1;display:flex;flex-direction:column;background-color:var(--paper-card);background-image:var(--grain);border-radius:2px;box-shadow:0 0 0 1px #78603e1a,0 1px 1px #3c2e1c1a,0 10px 26px -8px #3c2e1c42,0 24px 48px -20px #3c2e1c38;pointer-events:auto;transform-style:preserve-3d;will-change:transform,opacity;overflow:hidden}.card:before{content:"";position:absolute;inset:.62rem;border:1px solid rgb(120 96 62 / .34);pointer-events:none}.card:after{content:"";position:absolute;inset:.86rem;border:1px solid rgb(120 96 62 / .16);pointer-events:none}.card-body{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;text-align:center;padding:clamp(1.5rem,6%,2.1rem) clamp(1.3rem,6.5%,1.9rem);overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}.card-body::-webkit-scrollbar{display:none}.card-sprig{position:absolute;width:4.4rem;aspect-ratio:1;color:var(--ink-ghost);opacity:.72;pointer-events:none;z-index:0}.card-sprig--tl{left:1.1rem;top:1.1rem}.card-sprig--tr{right:1.1rem;top:1.1rem}.card-sprig--bl{left:1.1rem;bottom:1.1rem}.card-sprig--br{right:1.1rem;bottom:1.1rem}.card-overline{font-size:.74rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);margin-inline-end:-.34em}.card-names{font-family:var(--display);font-weight:300;font-size:clamp(2rem,11vw,2.9rem);line-height:1.02;text-shadow:0 1px 0 rgb(255 255 255 / .45)}.card-conj{display:block;font-family:var(--display);font-style:italic;font-size:.42em;color:var(--accent);margin:.16em 0;letter-spacing:.04em}.card-lede{font-size:1.04rem;line-height:1.55;color:var(--ink-soft);max-width:25ch;text-wrap:balance}.card-date{font-family:var(--display);font-weight:400;font-size:clamp(1.15rem,5.4vw,1.45rem);letter-spacing:.02em}.card-sub{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint);margin-inline-end:-.28em}.card-flourish{display:flex;align-items:center;gap:.55rem;width:62%;color:var(--ink-ghost)}.card-flourish:before,.card-flourish:after{content:"";flex:1;height:1px;background:currentColor}.card-flourish i{width:4px;height:4px;background:var(--accent);transform:rotate(45deg)}.schedule-list{width:100%;display:grid;gap:.62rem;margin:.2rem 0;text-align:start}.schedule-row{display:grid;grid-template-columns:3.1rem 1fr;gap:.7rem;align-items:baseline}.schedule-time{font-family:var(--display);font-weight:500;font-size:1.12rem;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.01em}.schedule-label{font-size:1.01rem;line-height:1.32}.schedule-detail{display:block;font-size:.86rem;font-style:italic;color:var(--ink-faint)}.card-footnote{font-size:.86rem;font-style:italic;color:var(--ink-mute);max-width:26ch;text-wrap:balance}.place-venue{font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,6.6vw,1.8rem);line-height:1.12}.place-address{font-size:1rem;color:var(--ink-soft);max-width:22ch;text-wrap:balance}.place-plan{width:100%;display:grid;grid-template-rows:0fr;transition:grid-template-rows .52s cubic-bezier(.34,.02,.18,1)}.place-plan[data-open=true]{grid-template-rows:1fr}.place-plan-inner{overflow:hidden;min-height:0}.place-plan svg{display:block;width:100%;height:auto;margin-top:.7rem;color:var(--ink-soft);opacity:0;transform:translateY(-4px);transition:opacity .42s ease .12s,transform .42s ease .12s}.place-plan[data-open=true] svg{opacity:1;transform:none}.place-host{font-size:.85rem;font-style:italic;color:var(--ink-faint)}.ink-link,.ink-button{font-size:.79rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid rgb(142 47 40 / .32);padding-bottom:.18em;margin-inline-end:-.22em;transition:color .22s ease,border-color .22s ease;background:none}.ink-link:hover,.ink-button:hover{color:var(--accent-deep);border-color:var(--accent)}.ink-button[disabled]{color:var(--ink-ghost);border-color:var(--ink-ghost);cursor:default}.link-row{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;align-items:baseline;justify-content:center}.link-hint{font-size:.78rem;font-style:italic;color:var(--ink-mute)}.write-form{width:100%;display:grid;gap:1.5rem;text-align:start}.field{display:grid;gap:.42rem}.field-label{font-size:.71rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint)}.field input,.field textarea{font-family:var(--text);font-size:1.04rem;font-weight:400;line-height:1.62;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink-ghost);padding:.32rem .1rem;border-radius:0;resize:none;width:100%;transition:border-color .24s ease}.field input[name=name]{font-family:var(--display);font-style:italic;font-size:1.22rem}.field textarea{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(1.62em - 1px),rgb(139 122 98 / .24) calc(1.62em - 1px),rgb(139 122 98 / .24) 1.62em);background-attachment:local;border-bottom-color:transparent}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}.field textarea:focus{border-bottom-color:transparent}.field input::placeholder,.field textarea::placeholder{color:var(--ink-mute);font-style:italic}.field-foot{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}.char-count{font-size:.78rem;color:var(--ink-mute);font-variant-numeric:tabular-nums}.char-count[data-over=true]{color:var(--accent)}.form-message{font-size:.88rem;font-style:italic;color:var(--accent);min-height:1.2em;text-align:center}.stack{position:relative;width:100%;flex:1;min-height:9.5rem;display:grid;place-items:center;touch-action:none;cursor:grab}.stack:active{cursor:grabbing}.note-slip{grid-area:1 / 1;width:100%;max-width:18.5rem;min-height:10.5rem;display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:1rem 1.1rem;background-color:var(--paper-lit);background-image:var(--grain);box-shadow:0 0 0 1px #78603e1f,0 4px 12px -4px #3c2e1c3d;will-change:transform,opacity;transition:transform .46s cubic-bezier(.22,.61,.24,1),opacity .38s ease;user-select:none}.stack-hint{font-size:.72rem;font-style:italic;color:var(--ink-mute);transition:opacity .5s ease;animation:hint-breathe 3.4s ease-in-out infinite}.card[data-dealt=true] .stack-hint{opacity:0;animation:none}.is-reduced .stack-hint{animation:none}.note-text{font-size:1rem;line-height:1.55;color:var(--ink);text-align:start;overflow-wrap:break-word}.note-name{font-family:var(--display);font-style:italic;font-size:1rem;color:var(--ink-faint);text-align:end}.note-name:before{content:"— "}.stack-nav{display:flex;align-items:center;justify-content:center;gap:.9rem;color:var(--ink-faint)}.stack-count{font-size:.8rem;letter-spacing:.16em;font-variant-numeric:tabular-nums}.stack-arrow{width:2.4rem;height:2.4rem;display:grid;place-items:center;color:var(--accent);transition:color .2s ease,opacity .2s ease}.stack-arrow:hover:not([disabled]){color:var(--accent-deep)}.stack-arrow[disabled]{opacity:.26;color:var(--ink-faint);cursor:default}.stack-empty{display:grid;gap:.6rem;place-items:center;color:var(--ink-soft)}.stack-empty .botanical{width:4.6rem;height:4.6rem;color:var(--ink-ghost);opacity:.7}.deck-scene{position:absolute;inset:0;z-index:5;pointer-events:none}.card{transition:transform .52s cubic-bezier(.55,.06,.68,.19),opacity .42s ease}.card[data-state=current]{transform:none;opacity:1}.card[data-state=left]{transform:translate3d(-62%,-7%,0) rotate(-7deg);opacity:0}.card[data-state=right]{transform:translate3d(62%,-7%,0) rotate(7deg);opacity:0}.card[data-state=entering-right],.card[data-state=entering-left]{opacity:0;transition:none}.card[data-state=entering-right]{transform:translate3d(42%,5%,0) rotate(4.5deg) scale(.97)}.card[data-state=entering-left]{transform:translate3d(-42%,5%,0) rotate(-4.5deg) scale(.97)}.deck-controls{position:absolute;left:50%;bottom:max(.85rem,env(safe-area-inset-bottom));transform:translate(-50%);display:grid;justify-items:center;gap:.3rem;opacity:0;transition:opacity .62s ease .24s;pointer-events:none}.deck-row{display:flex;align-items:center;gap:1.1rem}.deck-scene[data-ready=true] .deck-controls{opacity:1;pointer-events:auto}.deck-mark{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);padding:.55rem .2rem;transition:color .22s ease,opacity .22s ease}.deck-mark-label{margin-inline-end:-.2em;border-bottom:1px solid currentColor;padding-bottom:.22em;opacity:.75}.deck-chevron{flex:none}.deck-mark--next{color:var(--accent)}.deck-mark:hover:not([disabled]){color:var(--accent-deep)}.deck-mark[disabled]{opacity:.3;cursor:default}.deck-hint{font-size:.72rem;font-style:italic;letter-spacing:.04em;color:var(--ink-mute);transition:opacity .5s ease;animation:hint-breathe 3.4s ease-in-out infinite}.deck-scene[data-moved=true] .deck-hint{opacity:0;animation:none}@keyframes hint-breathe{0%,to{opacity:.55}50%{opacity:1}}.is-reduced .deck-hint{animation:none;opacity:.9}.deck-progress{display:flex;align-items:center;gap:.42rem}.deck-pip{width:5px;height:5px;border-radius:50%;background:var(--ink-ghost);flex:none;cursor:pointer;transition:background-color .3s ease,transform .3s ease}.deck-pip[data-state=past]{background:var(--ink-faint)}.deck-pip[data-state=current]{background:var(--accent);transform:scale(1.5) rotate(45deg);border-radius:0}.write-stage{position:relative;width:100%}.card[data-sealing=true] .write-form{opacity:0;pointer-events:none;transition:opacity .26s ease}.sent-note{position:absolute;inset:0;display:none;flex-direction:column;justify-content:center;gap:.5rem;padding:.9rem 1rem;background-color:var(--paper-lit);background-image:var(--grain);box-shadow:0 0 0 1px #78603e24,0 4px 14px -4px #3c2e1c47;transform-origin:50% 50%;z-index:1;will-change:transform;transition:transform .34s cubic-bezier(.34,.02,.18,1),opacity .32s ease}.sent-note[data-state]{display:flex}.sent-note[data-state=slip]{transform:none}.sent-note[data-state=fold-1]{transform:scaleY(.56);box-shadow:0 0 0 1px #78603e29,inset 0 -8px 10px -8px #3c2e1c66,0 6px 16px -6px #3c2e1c4d}.sent-note[data-state=fold-2],.sent-note[data-state=sealed]{transform:scaleY(.3);box-shadow:0 0 0 1px #78603e2e,inset 0 -14px 14px -10px #3c2e1c75,0 8px 18px -6px #3c2e1c57}.sent-note[data-state=gone]{transform:scaleY(.3) translate3d(72%,-230%,0) rotate(16deg);opacity:0;transition:transform .72s cubic-bezier(.55,.06,.68,.19),opacity .64s ease .12s}.sent-note .note-text{font-size:.95rem;line-height:1.5;transition:opacity .2s ease}.sent-note[data-state=fold-1] .note-text,.sent-note[data-state=fold-2] .note-text,.sent-note[data-state=sealed] .note-text,.sent-note[data-state=gone] .note-text{opacity:0}.sent-seal{position:absolute;z-index:2;left:50%;top:50%;width:3.9rem;aspect-ratio:1;transform:translate3d(-50%,-50%,0) scale(2.1);opacity:0;pointer-events:none;filter:drop-shadow(0 2px 3px rgb(60 30 24 / .36));transition:transform .26s cubic-bezier(.34,.02,.18,1),opacity .18s ease}.card .sent-note[data-state=sealed]~.sent-seal{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}.card .sent-note[data-state=gone]~.sent-seal{opacity:0;transform:translate3d(-50%,-50%,0) scale(.94);transition:opacity .26s ease,transform .26s ease}.sent-line{display:none;padding:1.2rem 0}.card[data-sent=true] .sent-line{display:block}.card[data-sent=true] .write-form,.card[data-sent=true] .sent-note{display:none}#stage[data-swapping=true] .card-body,#stage[data-swapping=true] .env-address,#stage[data-swapping=true] .road-label{opacity:.16}.card-body,.env-address,.road-label-name{transition:opacity .22s ease}.fallback[hidden]{display:none}.fallback{position:relative;z-index:10;max-width:34rem;margin:0 auto;padding:3rem var(--gutter);display:grid;gap:1rem;place-items:center;text-align:center}.fallback-names{font-size:clamp(2rem,9vw,3rem);font-weight:300}.fallback-names em{font-size:.44em;color:var(--accent)}.fallback-date{font-family:var(--display);font-size:1.3rem}.fallback a{color:var(--accent)}.is-reduced .card,.is-reduced .note-slip,.is-reduced .sent-note,.is-reduced .sent-seal,.is-reduced .deck-controls{transition:none!important}@media (max-height: 700px){.card[data-card=write] .card-flourish{display:none}.card[data-card=write] .card-body{gap:.6rem}.card[data-card=write] .card-lede{font-size:.95rem}.card[data-card=write] .field textarea{height:4.9em}.card[data-card=write] .write-form{gap:1.15rem}}.road{position:absolute;inset:0;z-index:1;overflow:hidden;opacity:.24;transition:opacity .8s cubic-bezier(.25,.46,.45,.94);pointer-events:none;contain:strict}.road[data-travelling=true]{opacity:1}.road-plate{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;backface-visibility:hidden}.road-svg{display:block;width:100%;height:100%}.road-ground{color:var(--ink-faint);transition:color .7s ease}.road[data-travelling=true] .road-ground,.road-towns{color:var(--ink-soft)}.road-clear{fill:none;stroke:var(--paper);stroke-width:7;stroke-linecap:round;opacity:.9}.road-line{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.road-marker{opacity:0;transition:opacity .4s ease}.road-marker circle{fill:var(--accent)}.road-marker .road-marker-ring{fill:none;stroke:var(--accent);stroke-width:.9;opacity:.45}.road-label{position:absolute;left:50%;top:24%;transform:translate3d(-50%,-50%,0);display:grid;justify-items:center;gap:.4rem;text-align:center;opacity:0;transition:opacity .46s ease,transform .7s cubic-bezier(.22,.61,.24,1);pointer-events:none}.road-label[data-show=true]{opacity:1;transform:translate3d(-50%,-50%,0) translateY(-5px)}.road-label .card-flourish{width:7rem;justify-content:center}.road-label-name{font-family:var(--display);font-weight:300;font-size:clamp(2rem,10vw,3rem);line-height:1;color:var(--ink);letter-spacing:.02em;text-shadow:0 1px 0 rgb(255 255 255 / .4)}.is-reduced .road-plate,.is-reduced .road-line,.is-reduced .road-marker,.is-reduced .road-label{transition:none!important}.marks{position:absolute;z-index:7;right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top));display:flex;align-items:center;gap:.7rem;padding:.4rem .2rem;color:var(--ink-faint)}.lang-marks{display:flex;align-items:baseline;gap:.55rem}.lang-mark{font-family:var(--text);font-size:.78rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);margin-inline-end:-.2em;padding:.3rem .1rem;position:relative;transition:color .24s ease}.lang-mark:hover{color:var(--ink-soft)}.lang-mark[data-state=current]{color:var(--ink)}.lang-mark[data-state=current]:after{content:"";position:absolute;left:0;right:.22em;bottom:-1px;height:1px;background:var(--accent)}.marks-rule{width:1px;height:.85rem;background:var(--ink-ghost);opacity:.7}.sound-mark{position:relative;display:grid;place-items:center;width:2.2rem;height:2.2rem;margin:-.4rem;color:var(--ink-soft);transition:color .24s ease}.sound-mark svg{width:18px;height:18px}.sound-mark:hover,.sound-mark[data-state=on]{color:var(--accent)}.sound-mark:after{content:"";position:absolute;inset:.24rem;border:1px solid currentColor;border-radius:50%;opacity:0;pointer-events:none;animation:sound-ring 2.8s ease-out 2}.sound-mark[data-state=on]:after{animation:none}@keyframes sound-ring{0%{opacity:0;transform:scale(.7)}22%{opacity:.38;transform:scale(1)}60%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.is-reduced .sound-mark:after{animation:none}.sound-mark[hidden]{display:none}.sound-mark .wave,.sound-mark .strike{transition:opacity .26s ease,stroke-dashoffset .32s ease}.sound-mark .strike{stroke-dasharray:18;stroke-dashoffset:0;opacity:.85}.sound-mark[data-state=on] .strike{stroke-dashoffset:18;opacity:0}.sound-mark .wave{opacity:0}.sound-mark[data-state=on] .wave-1{opacity:1}.sound-mark[data-state=on] .wave-2{opacity:.55}@media (max-width: 26rem){.marks{gap:.6rem;padding:.3rem 0}}
