@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e27b85d01cb4b1af-s.2yhdohbnxjaph.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/10e5db483fb7b6ef-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/01a1b57b2e0cef27-s.1tzxx-40rxw3x.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/648e19a466ec92f1-s.3aj86x1l4-kru.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/29e2a75af8e45044-s.p.1d8-5gtibtj96.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:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.JGQZ3W_className{font-family:Nunito,Nunito Fallback;font-style:normal}.JGQZ3W_variable{--font-nunito:"Nunito", "Nunito Fallback"}
@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0bd866694792eeb1-s.2uxt0u9yugpfw.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/fdb22df95c69d750-s.2zeei6axiu3qn.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/22bc6ebae07d77f5-s.27211fhlic14m.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/3679aa72a9b9035f-s.p.00hx3ibfyf9qx.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:600;font-display:swap;src:url(../media/0bd866694792eeb1-s.2uxt0u9yugpfw.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:600;font-display:swap;src:url(../media/fdb22df95c69d750-s.2zeei6axiu3qn.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:600;font-display:swap;src:url(../media/22bc6ebae07d77f5-s.27211fhlic14m.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:600;font-display:swap;src:url(../media/3679aa72a9b9035f-s.p.00hx3ibfyf9qx.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%}.CmL_aq_className{font-family:Caveat,Caveat Fallback;font-style:normal}.CmL_aq_variable{--font-caveat:"Caveat", "Caveat Fallback"}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--bg:#e9eef6;--bg-2:#f7f9fc;--ink:#14213d;--muted:#55627c;--land:#bfcbe0;--glow:#f2a93b;--glow-soft:#f2a93b4d;--paper:#fbefd5;--paper-ink:#3a2e1f;--heart:#e0506f;--path:#d68a1ee6;--edge:#14213d24;--btn-ink:#2b1c05}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1b33;--bg-2:#172748;--ink:#eaf0fa;--muted:#9daecb;--land:#2c4270;--glow:#ffc46b;--glow-soft:#ffc46b3d;--heart:#ff8fa3;--path:#ffc46bd9;--edge:#eaf0fa24}}:root[data-theme=dark]{--bg:#0f1b33;--bg-2:#172748;--ink:#eaf0fa;--muted:#9daecb;--land:#2c4270;--glow:#ffc46b;--glow-soft:#ffc46b3d;--heart:#ff8fa3;--path:#ffc46bd9;--edge:#eaf0fa24}*,:before,:after{box-sizing:inherit}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-nunito),"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--glow);outline-offset:3px;border-radius:12px}.app{max-width:620px;margin:0 auto;padding:20px 20px 40px}.wordmark{letter-spacing:-.02em;text-shadow:0 0 18px var(--glow-soft);margin:0;font-size:30px;font-weight:800}.wordmark .dot{color:var(--glow)}.tagline{color:var(--muted);margin:2px 0 16px;font-size:16px}.mapscroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;background:var(--bg-2);border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);margin:0 -20px;overflow-x:auto}.mapscroll::-webkit-scrollbar{display:none}.mapscroll svg{width:max(100%,820px);height:auto;display:block}@media (min-width:660px){.mapscroll{border:1px solid var(--edge);border-radius:22px;margin:0}}.maphint{color:var(--muted);text-align:center;margin:8px 0 0;font-size:13.5px}.land{fill:var(--land)}.path-line{fill:none;stroke:var(--path);stroke-dasharray:1 2.6;stroke-linecap:round}.city-dot{fill:var(--glow)}.journeymap{background:var(--bg-2);border:1px solid var(--edge);border-radius:20px;overflow:hidden}.journeymap svg{width:100%;height:auto;display:block}.lamp .flame{transform-box:fill-box;transform-origin:50% 100%;animation:.16s ease-in-out infinite alternate flick}@keyframes flick{0%{transform:scale(.94,.9)skew(-2deg)}to{transform:scale(1.04,1.07)skew(2deg)}}.lamp .halo{animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.75}}.lamp.unlit .flame,.lamp.unlit .halo,.lamp.unlit .inner-glow{display:none}.lamp.unlit .glass{fill:url(#glassDark)}.actions{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 30px;display:grid}.btn{white-space:nowrap;border:0;border-radius:999px;min-height:52px;padding:14px 12px;font-size:16px;font-weight:800}.btn-primary{background:var(--glow);color:var(--btn-ink);box-shadow:0 6px 24px var(--glow-soft)}.btn-secondary{border:2px solid var(--glow);color:var(--ink);background:0 0}.btn-quiet{color:var(--muted);background:0 0;border:0;min-height:44px;padding:10px 4px;font-weight:700}.btn:active{transform:translateY(1px)}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:21px;font-weight:800}.list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.item{text-align:left;background:var(--bg-2);border:1px solid var(--edge);border-radius:18px;align-items:center;gap:14px;width:100%;padding:12px 16px;display:flex}.item .mini{flex:none;width:40px;height:56px}.item p{margin:0}.note-snippet{font-family:var(--font-caveat),"Caveat",cursive;font-size:22px;line-height:1.2}.meta{color:var(--muted);font-size:14.5px}.empty{color:var(--muted);background:var(--bg-2);border:1px dashed var(--edge);border-radius:18px;margin:0;padding:18px}.footnote{color:var(--muted);text-align:center;margin-top:34px;font-size:13.5px}.screen{z-index:20;background:var(--bg);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;inset:0;overflow-y:auto}.screen[hidden],.stage[hidden],[hidden]{display:none!important}.screen .inner{flex-direction:column;max-width:620px;min-height:100%;margin:0 auto;padding:16px 20px 40px;display:flex}.screen-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stage{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:10px 0;display:flex}.night{color:#eef2fa;--bg-2:#16233f;--ink:#eef2fa;--muted:#a9b6cf;--edge:#eef2fa29;background:radial-gradient(120% 80% at 50% 30%,#14213f 0,#08101f 70%)}.hint{color:var(--muted);margin:0;font-size:15px}.scene-text{max-width:340px;margin:0;font-size:18px}.big-lamp{width:150px;height:212px}.rise{animation:1.8s cubic-bezier(.2,.7,.2,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(140px)scale(.7)}to{opacity:1;transform:none}}.bob{animation:4s ease-in-out infinite bob}@keyframes bob{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)translateY(-8px)}}.flyaway{animation:2s cubic-bezier(.5,0,.7,.4) both fly}@keyframes fly{to{opacity:0;transform:translate(60px,-75vh)scale(.35)}}.matchbox{touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#c8402f,#9e2d22);border-radius:10px;width:280px;height:74px;position:relative;box-shadow:0 10px 30px #0006}.matchbox:before{content:"";background:repeating-linear-gradient(90deg,#4a2b1e 0 3px,#6b3e2a 3px 6px);border-radius:4px;height:16px;position:absolute;bottom:10px;left:12px;right:12px}.matchbox .label{text-align:center;color:#fde8c8;letter-spacing:.04em;font-size:12.5px;font-weight:800;position:absolute;top:9px;left:0;right:0}.match{cursor:grab;touch-action:none;width:120px;height:20px;position:absolute;bottom:8px;left:10px}.match .stick{background:linear-gradient(#f0d7a6,#d4b27a);border-radius:2px;width:104px;height:7px;position:absolute;top:7px;left:0}.match .head{background:#8e1e1a;border-radius:50% 60% 60% 50%;width:18px;height:15px;position:absolute;top:3px;right:4px}.match .mflame{opacity:0;transform-origin:50% 100%;background:radial-gradient(circle at 50% 70%,#fff 0,#ffe6a0 25%,#ffab2e 55%,#ff781400 75%);border-radius:50% 50% 45% 45%/60% 60% 40% 40%;width:26px;height:40px;position:absolute;top:-30px;right:-6px}.match.lit .mflame{opacity:1;animation:.14s ease-in-out infinite alternate mflick}.match.lit .head{background:#3a1a12}@keyframes mflick{to{transform:scale(1.08,1.12)skew(3deg)}}.match.gone{opacity:0;transition:transform .9s ease-in,opacity .9s}.flash{pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 40%,#ffc86e73,#0000 60%);position:fixed;inset:0}.flash.on{animation:.9s ease-out flash}@keyframes flash{20%{opacity:1}to{opacity:0}}.letter{width:100%;max-width:440px;margin-top:56px;animation:.8s ease-out both unfold;position:relative}@keyframes unfold{0%{opacity:0;transform:translateY(30px)scale(.96)}to{opacity:1;transform:none}}.letter .clip{background:var(--paper);color:var(--paper-ink);text-align:left;border-radius:6px 18px 8px 16px;padding:34px 26px 22px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080}.letter .msg{font-family:var(--font-caveat),"Caveat",cursive;z-index:1;margin:0 0 14px;font-size:31px;line-height:1.25;position:relative}.letter .from{opacity:.75;z-index:1;margin:0;font-size:14.5px;position:relative}.letter .warmth{z-index:2;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(circle at 92% 2%,#ffaa3cbf 0,#ffb45059 30%,#ffbe6414 60%,#785a3c38 100%);animation:2.2s ease-in-out infinite warm;position:absolute;inset:0}.letter .shine{z-index:2;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle at 92% 2%,#ffdc968c 0,#ffd28c1f 22%,#0000 45%);animation:1.3s ease-in-out infinite alternate warm;position:absolute;inset:0}@keyframes warm{0%,to{opacity:1}35%{opacity:.82}60%{opacity:.95}80%{opacity:.86}}.letter .dark{z-index:3;pointer-events:none;transform-origin:71% 26%;background:radial-gradient(circle at 71% 26%,#0000 0 4%,#080c18f5 14%);width:200%;height:200%;animation:2.4s cubic-bezier(.3,.1,.2,1) .2s both reveal;position:absolute;top:-50%;left:-50%}@keyframes reveal{0%{transform:scale(1)}to{transform:scale(14)}}.letter.instant{animation-duration:.35s}.letter.instant .dark{display:none}.letter .corner-lamp{z-index:4;filter:drop-shadow(0 0 22px #ffb45099);width:112px;height:158px;position:absolute;top:-86px;right:-20px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chip{border:1.5px solid var(--edge);background:var(--bg-2);border-radius:999px;min-height:44px;padding:9px 14px;font-size:15px;font-weight:700}.chip.heart{border-color:var(--heart);color:var(--heart)}.chip[aria-pressed=true]{background:var(--glow);color:var(--btn-ink);border-color:var(--glow)}.sent-note{color:var(--muted);min-height:1.5em;margin:0}.write-paper{background:var(--paper);border-radius:6px 18px 8px 16px;width:100%;padding:18px 18px 10px;box-shadow:0 18px 50px #0003}textarea{resize:vertical;width:100%;min-height:150px;color:var(--paper-ink);font-family:var(--font-caveat),"Caveat",cursive;background:0 0;border:0;font-size:28px;line-height:1.25}textarea:focus{outline:none}.write-paper:focus-within{outline:3px solid var(--glow);outline-offset:3px}.count{color:var(--paper-ink);opacity:.6;text-align:right;margin:0;font-size:13.5px}.error{color:var(--heart);min-height:1.4em;margin:0;font-size:15px;font-weight:700}.sr{position:absolute;left:-9999px}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 22px;display:grid}.stat{background:var(--bg-2);border:1px solid var(--edge);text-align:center;border-radius:16px;padding:12px 8px}.stat b{font-size:22px;font-weight:800;line-height:1.1;display:block}.stat span{color:var(--muted);font-size:13px}.stops{margin:0 0 22px;padding:0;list-style:none}.stops li{border-bottom:1px solid var(--edge);justify-content:space-between;gap:12px;padding:10px 2px;font-size:15.5px;display:flex}.stops .resp{color:var(--muted);text-align:right}.stops .resp.h{color:var(--heart)}.journey-msg{font-family:var(--font-caveat),"Caveat",cursive;margin:4px 0 14px;font-size:27px;line-height:1.25}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:50;border-radius:999px;padding:12px 18px;font-size:15px;font-weight:700;position:fixed;transform:translate(-50%)}@media (max-width:400px){.stats{grid-template-columns:repeat(2,1fr)}.wordmark{font-size:27px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.topbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.topbtns{gap:8px;display:flex}.pill{border:1.5px solid var(--edge);background:var(--bg-2);border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:7px 13px;font-size:14.5px;font-weight:800;display:inline-flex}.pill.plus{border-color:var(--glow);color:var(--ink)}.pill .lvdot{background:var(--glow);width:9px;height:9px;box-shadow:0 0 8px var(--glow);border-radius:50%}.banner{background:var(--bg-2);border:1.5px solid var(--glow);border-radius:18px;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;display:flex}.banner .bl{flex:none;width:40px;height:52px}.banner p{margin:0;font-size:15.5px}.banner .t{font-weight:800}.banner .s{color:var(--muted);font-size:14px}.banner button{flex:none;margin-left:auto}.btn-small{background:var(--glow);min-height:40px;color:var(--btn-ink);border:0;border-radius:999px;padding:9px 14px;font-size:14.5px;font-weight:800}.wide{width:100%;margin:-14px 0 26px}.event{background:var(--bg-2);border:1px solid var(--edge);border-radius:18px;margin:0 0 28px;padding:16px}.event p{margin:0}.event .t{font-size:17px;font-weight:800}.event .s{color:var(--muted);margin:4px 0 10px;font-size:15px}.greet{margin:2px 0;font-size:16px;font-weight:700}.mapscroll.sky-night{background:linear-gradient(#0b1530,#13244a)}.mapscroll.sky-dawn{background:linear-gradient(#f6c6a8,#b9cbe8)}.mapscroll.sky-day{background:linear-gradient(#bfd9f2,#e3eef9)}.mapscroll.sky-dusk{background:linear-gradient(#e9946a,#5b4a86)}.sky-night .land{fill:#2c4270}.sky-dawn .land{fill:#e9d7d2}.sky-day .land{fill:#9db8d8}.sky-dusk .land{fill:#7d669e}.letter .occasion{font-family:var(--font-caveat),"Caveat",cursive;color:#b5552e;z-index:1;margin:0 0 4px;font-size:24px;position:relative}.letter .sig{font-family:var(--font-caveat),"Caveat",cursive;text-align:right;z-index:1;margin:-6px 0 12px;font-size:24px;position:relative}.keep{border:1.5px dashed var(--glow);background:0 0;border-radius:999px;min-height:44px;padding:9px 16px;font-size:15px;font-weight:800}.keep[aria-pressed=true]{background:var(--glow);color:var(--btn-ink);border-style:solid}.alive{color:var(--glow);margin:0;font-size:14.5px;font-weight:700}.card{background:var(--bg-2);border:1px solid var(--edge);border-radius:20px;margin:0 0 18px;padding:16px}.lvl{align-items:center;gap:14px;display:flex}.lvl .bl{flex:none;width:56px;height:76px}.lvl .name{margin:0;font-size:24px;font-weight:800;line-height:1.1}.lvl .sub{color:var(--muted);margin:2px 0 0;font-size:14.5px}.bar{background:var(--edge);border-radius:999px;height:10px;margin:14px 0 6px;overflow:hidden}.bar span{background:var(--glow);height:100%;box-shadow:0 0 10px var(--glow);border-radius:999px;display:block}.ladder{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.ladder li{justify-content:space-between;gap:10px;font-size:14.5px;display:flex}.ladder li.done{color:var(--ink)}.ladder li{color:var(--muted)}.ladder li b{font-weight:800}.styles{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.style{background:var(--bg);border:2px solid var(--edge);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 8px;display:flex}.style svg{width:56px;height:76px}.style b{font-size:13.5px;line-height:1.2}.style small{color:var(--muted);font-size:12px}.style[aria-pressed=true]{border-color:var(--glow);box-shadow:0 0 0 3px var(--glow-soft)}.style.locked svg{opacity:.45;filter:grayscale(.6)}.stamps{flex-wrap:wrap;gap:10px;display:flex}.stamp{background:var(--paper);width:86px;height:86px;box-shadow:0 0 0 4px var(--paper);text-align:center;border:2.5px dashed;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:6px;line-height:1.1;display:flex}.stamp b{font-size:12.5px;font-weight:800}.stamp small{opacity:.85;font-size:10.5px}.jar{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.jar li{background:var(--paper);color:var(--paper-ink);border-radius:6px 14px 8px 12px;padding:12px 14px}.jar .n{font-family:var(--font-caveat),"Caveat",cursive;margin:0;font-size:23px;line-height:1.2}.jar .c{opacity:.7;margin:4px 0 0;font-size:13px}.muted{color:var(--muted)}.seg{border:1.5px solid var(--edge);border-radius:999px;margin:0 0 16px;padding:3px;display:inline-flex}.seg button{background:0 0;border:0;border-radius:999px;min-height:38px;padding:7px 14px;font-size:14px;font-weight:800}.seg button[aria-pressed=true]{background:var(--glow);color:var(--btn-ink)}.plans{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.plan{background:var(--bg-2);border:1.5px solid var(--edge);border-radius:18px;padding:16px}.plan.hi{border-color:var(--glow)}.plan h3{margin:0 0 4px;font-size:18px}.plan .price{margin:0;font-size:24px;font-weight:800}.plan .per{color:var(--muted);margin:0 0 10px;font-size:13.5px}.plan ul{margin:0;padding-left:18px;font-size:14.5px}.plan li{margin:4px 0}.toggle{background:var(--bg-2);border:1.5px dashed var(--glow);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.toggle p{margin:0}.switch{background:var(--edge);border:0;border-radius:999px;flex:none;width:56px;height:32px;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:4px;left:4px}.switch[aria-checked=true]{background:var(--glow)}.switch[aria-checked=true]:after{transform:translate(24px)}.form{text-align:left;flex-direction:column;gap:14px;width:100%;display:flex}.form label.l{margin-bottom:6px;font-size:15px;font-weight:800;display:block}.field{border:1.5px solid var(--edge);background:var(--bg-2);width:100%;color:var(--ink);font:inherit;border-radius:14px;min-height:48px;padding:12px 14px}.radio{background:var(--bg-2);border:1.5px solid var(--edge);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.radio input{accent-color:var(--glow);width:18px;height:18px;margin-top:5px}.radio small{color:var(--muted);display:block}.lock{color:var(--glow);margin-left:4px;font-size:12.5px;font-weight:800}.ready{background:var(--bg-2);border:1.5px solid var(--glow);text-align:center;border-radius:20px;width:100%;padding:18px}@media (max-width:420px){.plans{grid-template-columns:1fr}}.lamp.unlit .pbody{fill:#6e1f1b}.lamp.unlit .pbody.white{fill:#7d735e}.custom .preview{justify-content:center;margin:-4px 0 4px;display:flex}.custom .preview svg{width:130px;height:150px}.lookname{text-align:center;margin:0 0 14px;font-weight:800}.custom .l{margin-bottom:8px;font-size:15px;font-weight:800;display:block}.swatches{flex-wrap:wrap;gap:8px;display:flex}.sw{border:2px solid var(--edge);background:var(--bg);text-align:left;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:5px 12px 5px 5px;font-size:14px;font-weight:700;line-height:1.15;display:flex}.sw i{border:2px solid #ffffff4d;border-radius:50%;flex:none;width:30px;height:30px;display:block}.sw small{color:var(--muted);font-size:11.5px;font-weight:600;display:block}.sw[aria-pressed=true]{border-color:var(--glow);box-shadow:0 0 0 3px var(--glow-soft)}.sw.locked i{opacity:.4}.letter.glow-rose .warmth{background:radial-gradient(circle at 92% 2%,#ff78a099 0,#ff96b447 30%,#ffaabe14 60%,#78505a38 100%)}.letter.glow-rose .shine{background:radial-gradient(circle at 92% 2%,#ffc8d78c 0,#ffbed21f 22%,#0000 45%)}.letter.glow-moon .warmth{background:radial-gradient(circle at 92% 2%,#82aaff8c 0,#a0beff40 30%,#b4c8ff0f 60%,#505a7838 100%)}.letter.glow-moon .shine{background:radial-gradient(circle at 92% 2%,#d2e4ff99 0,#c8dcff1f 22%,#0000 45%)}.letter.glow-rose .corner-lamp{filter:drop-shadow(0 0 22px #ff82aa99)}.letter.glow-moon .corner-lamp{filter:drop-shadow(0 0 22px #96beff99)}.route b{font-weight:800}.route .tag{color:var(--btn-ink);background:var(--glow);vertical-align:1px;border-radius:999px;margin-left:4px;padding:1px 8px;font-size:12px;font-weight:800;display:inline-block}.route.blocked{opacity:.55}.radio:has(input:checked){border-color:var(--glow)}.sub-fields{border-left:3px solid var(--glow);background:var(--bg-2);border-radius:0 14px 14px 0;margin:-4px 0 4px;padding:12px 14px}.phone{text-align:left;background:#0b141a;border-radius:26px;width:100%;max-width:340px;padding:14px 12px 18px;box-shadow:0 14px 40px #00000059}.ph-head{color:#e9edef;margin:0 0 10px 6px;font-size:15px;font-weight:800}.ph-head .ver{color:#25d366}.chat{flex-direction:column;gap:6px;display:flex}.bubble{color:#e9edef;border-radius:12px;max-width:88%;padding:6px;font-size:14.5px}.bubble p{margin:6px 6px 2px}.bubble.me{background:#005c4b;align-self:flex-end}.bubble.them{background:#202c33;align-self:flex-start}.linkcard{background:#00000040;border-radius:9px;align-items:center;gap:10px;display:flex;overflow:hidden}.lc-img{background:radial-gradient(circle,#2a3550,#0f1626);flex:none;justify-content:center;align-items:center;width:74px;height:84px;display:flex}.lc-img svg{width:62px;height:78px}.lc-txt{flex-direction:column;gap:2px;padding:6px 8px 6px 0;display:flex}.lc-txt b{font-size:14px}.lc-txt span{color:#aebac1;font-size:12.5px}.btnrow{color:#53bdeb;border-top:1px solid #ffffff1a;justify-content:space-around;padding-top:8px;font-size:14px;font-weight:700;display:flex;margin:8px 0 2px!important}.phone.lock{background:linear-gradient(#1b2747,#0b1226);padding:40px 12px}.notif{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff24;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.notif b{display:block}.n-icon{background:#0f1b33;border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.n-icon svg{width:34px;height:40px}.mail{color:#202124;background:#fff;border-radius:12px;flex-direction:column;gap:3px;padding:12px;font-size:14px;display:flex}.mail .subj{font-weight:700}.mail span:last-child{color:#5f6368}.qrcard{color:#f6e7c8;text-align:center;background:linear-gradient(#14213f,#08101f);border-radius:18px;width:100%;max-width:300px;padding:22px 20px;box-shadow:0 14px 40px #0006}.qc-lamp svg{width:90px;height:110px}.qc-title{font-family:var(--font-caveat),"Caveat",cursive;margin:4px 0 0;font-size:30px}.qc-occ{opacity:.8;margin:0}.qr{background:#fff;border-radius:8px;grid-template-columns:repeat(7,1fr);gap:2px;width:120px;height:120px;margin:14px auto 8px;padding:10px;display:grid}.qr i{background:#111;border-radius:2px}.qc-hint{opacity:.85;margin:0;font-size:13.5px}.qc-brand{color:#ffc46b;margin:10px 0 0;font-weight:800}a.pill{color:var(--ink);text-decoration:none}.app.narrow{max-width:480px}.back{align-items:center;margin:-6px 0 4px;text-decoration:none;display:inline-flex}.page-head{text-align:center;margin:0 0 18px}.page-head .wordmark{margin-top:4px}.page-head .tagline{margin:4px 0 0}.head-lamp{width:84px;height:96px;margin:0 auto;display:block}.field-hint{color:var(--muted);margin:6px 0 0;font-size:13.5px}select.field{appearance:auto}input.field::placeholder{color:var(--muted)}input.field:disabled{opacity:.6}.city-options{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.picked{border:1.5px solid var(--glow);background:var(--bg-2);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:4px 6px 4px 14px;font-weight:700;display:flex}.btn:disabled{opacity:.55;cursor:default}.details{grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:15.5px;display:grid}.details dt{color:var(--muted)}.details dd{overflow-wrap:anywhere;margin:0;font-weight:700}.ladder li span{color:inherit}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-secondary{color:var(--ink)}.after-actions{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:320px;margin-top:6px;display:flex}.after-actions .btn{width:100%}.support{text-align:left;align-items:stretch}.support h2,.support .head-lamp{text-align:center;align-self:center}.support p{margin:0}.support-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.support-list li{background:var(--bg-2);border:1px solid var(--edge);border-radius:16px;padding:14px 16px}.support-list a{color:var(--glow);font-weight:800}.support-list .field-hint{display:block}.support .after-actions{align-self:center}.actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.actions .btn{white-space:normal;text-align:center;line-height:1.2}.chip:disabled{opacity:.45;cursor:default}.report-link{margin-top:4px;font-size:14px}.report-box{background:var(--bg-2);border:1px solid var(--edge);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:440px;padding:14px 16px;display:flex}.report-title{margin:0;font-weight:800}a.btn-small{white-space:nowrap;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}a.item{color:inherit;text-decoration:none}a.item:hover{border-color:var(--glow)}.home-foot{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 10px;margin:30px 0 0;font-size:14.5px;display:flex}.home-foot a{color:var(--muted);text-underline-offset:3px;align-items:center;min-height:44px;font-weight:700;display:inline-flex}.support-list li{flex-direction:column;gap:2px;display:flex}.support-list b{font-weight:800}.notice{background:var(--bg-2);border:1.5px dashed var(--glow);border-radius:16px;margin:0 0 18px;padding:12px 14px;font-size:15px}.notice a,.empty a{color:var(--glow);font-weight:800}.app.admin{max-width:760px}.admin-nav{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.admin-nav a{border:1.5px solid var(--edge);background:var(--bg-2);color:var(--ink);border-radius:999px;align-items:center;min-height:40px;padding:8px 14px;font-size:14.5px;font-weight:800;text-decoration:none;display:inline-flex}.admin section{margin:0 0 28px}.admin-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.admin-item{background:var(--bg-2);border:1px solid var(--edge);border-radius:18px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.admin-item.urgent{border:2px solid var(--heart)}.urgent-flag{color:var(--heart);margin:0;font-size:15px;font-weight:800}.admin-item .meta{margin:0}.admin-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.admin-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.btn-small.danger{border:1.5px solid var(--heart);color:var(--heart);background:0 0}.btn-small:disabled{opacity:.55}.tag{border:1px solid var(--edge);border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:800;display:inline-block}.code-field{letter-spacing:.3em;text-align:center;font-size:24px;font-weight:800}.plain-list{flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:15.5px;display:flex}.btn-danger{border:2px solid var(--heart);color:var(--heart);background:0 0}.danger-link{color:var(--heart);font-size:14.5px}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.kpi{background:var(--bg-2);border:1px solid var(--edge);border-radius:16px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.kpi p{margin:0}.kpi-label{font-size:14.5px;font-weight:800}.kpi-value{font-size:30px;font-weight:800;line-height:1.15;margin:4px 0 2px!important}.kpi-detail{color:var(--muted);font-size:13.5px}.kpi-meaning{color:var(--muted);font-size:13px;margin-top:6px!important}.safety-links{flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:6px 0 0;display:flex}.inbox{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.thread{background:var(--bg-2);border:1px solid var(--edge);border-radius:18px;padding:12px 12px 10px}.thread.unread{border-color:var(--glow)}.thread-head{justify-content:space-between;align-items:center;gap:8px;margin:0 4px 8px;display:flex}.badge{background:var(--glow);color:var(--btn-ink);border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:800}.thread-items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thread-items .item{background:var(--bg);padding:10px 12px}.bubble-row{flex-direction:column;max-width:86%;display:flex}.bubble-row.received{align-self:flex-start;align-items:flex-start}.bubble-row.sent{align-self:flex-end;align-items:flex-end}.thread-items .item.received{border-left:4px solid var(--land);border-bottom-left-radius:6px}.thread-items .item.sent{background:color-mix(in srgb,var(--glow) 24%,var(--bg));border-color:var(--glow);border-right:4px solid var(--glow);border-bottom-right-radius:6px}.thread-items .item .meta b{color:var(--ink)}.who{align-items:center;gap:10px;min-width:0;display:flex}.who b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{background:var(--land);width:30px;height:30px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:grid}.sent-state{font-size:13px}.earlier{align-self:center;margin:0 0 4px}.earlier>summary{cursor:pointer;color:var(--muted);border:1px solid var(--edge);text-align:center;border-radius:999px;padding:4px 12px;font-size:13.5px;font-weight:700;list-style:none}.earlier>summary::-webkit-details-marker{display:none}.earlier[open]>summary{display:none}.earlier>ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thread-items .earlier{width:100%;max-width:100%}.earlier .bubble-row{max-width:86%}.sent-state.opened{color:var(--ink);font-weight:700}.inbox-tabs{gap:8px;margin:0 0 10px;display:flex}.inbox-tab{text-align:center;border:1px solid var(--edge);background:var(--bg-2);color:var(--ink);border-radius:999px;flex:1;padding:9px 8px;font-size:14.5px;font-weight:800;text-decoration:none}.inbox-tab[aria-current=page]{background:var(--glow);border-color:var(--glow);color:var(--btn-ink)}.inbox-tab .count{color:inherit;opacity:.75;background:0 0;margin-left:2px;padding:0;font-weight:700}.inbox-key{color:var(--muted);justify-content:space-between;margin:0 6px 10px;font-size:13px;font-weight:700;display:flex}.inbox-key .k-in:before{content:"";background:var(--land);vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.inbox-key .k-out:after{content:"";background:var(--glow);vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-left:6px;display:inline-block}.sent-status{background:color-mix(in srgb,var(--glow) 18%,#0f1b33);color:#eaf0fa;border:1px solid var(--glow);text-align:center;border-radius:16px;width:100%;max-width:420px;margin:0 0 14px;padding:10px 14px}.sent-status p{margin:0}.sent-status-label{text-transform:uppercase;letter-spacing:.06em;opacity:.8;font-size:12.5px;font-weight:800}.sent-status-text{font-weight:700;margin:2px 0 4px!important}.preview-banner{background:color-mix(in srgb,var(--glow) 18%,#0f1b33);color:#eaf0fa;border:1px dashed var(--glow);text-align:center;border-radius:999px;margin:0 0 10px;padding:6px 14px;font-size:13.5px;font-weight:700}.reply-note{color:var(--heart)}.pill .count{background:var(--glow);color:var(--btn-ink);border-radius:999px;margin-left:2px;padding:0 7px;font-size:12px}.username-row{align-items:center;gap:8px;display:flex}.username-row span{color:var(--muted);font-weight:800}.username-row .field{flex:1;min-width:0}.form span.l{margin-bottom:6px;font-size:15px;font-weight:800;display:block}.thread-items .item{width:auto}.earlier-wrap{flex-direction:column;display:flex}.quiet-link{color:var(--muted);font-weight:700}.policy .card h2{margin:0 0 10px;font-size:18px}.policy .card p{margin:0 0 10px;font-size:15.5px;line-height:1.55}.policy .small{margin:0 0 16px;font-size:13.5px}.policy .card a,.footnote a:not(.quiet-link){color:var(--glow);text-underline-offset:3px;font-weight:700}.welcome-name{font-family:var(--font-caveat),"Caveat",cursive;color:var(--glow);margin:4px 0 0;font-size:30px;line-height:1.1}.form .l .optional{color:var(--muted);font-weight:400}.email-prefs{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.email-prefs li{justify-content:space-between;align-items:center;gap:14px;display:flex}.email-prefs .t{margin:0;font-weight:700}.email-prefs .field-hint{margin:2px 0 0}.switch{cursor:pointer;min-height:32px}.email-prefs .switch:before{content:"";position:absolute;inset:-7px -6px}.stamp.night{color:#a86a00;background:radial-gradient(circle,#fff4d6 0%,var(--paper) 70%);box-shadow:0 0 0 4px var(--paper),0 0 18px 2px #ffc46b8c;border-style:double;border-width:4px}.stamp .night-tag{opacity:1;font-weight:800}.real-flier{filter:drop-shadow(0 0 6px #ffc46bf2)drop-shadow(0 0 14px #ffc46b99)}.google-btn{color:#1f1f1f;background:#fff;border:1px solid #747775;justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.google-slot{min-height:44px}.google-wait{text-align:center;color:var(--muted);margin:8px 0 0;font-size:14px}.or-divider{color:var(--muted);align-items:center;gap:12px;margin:16px 0 4px;font-size:14px;display:flex}.or-divider:before,.or-divider:after{content:"";border-top:1px solid var(--edge);flex:1}.plus-perks{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.plus-perks li{flex-direction:column;padding-left:28px;display:flex;position:relative}.plus-perks li:before{content:"✦";color:var(--glow);position:absolute;top:0;left:4px}.plus-perks span{color:var(--muted);font-size:15px}.plans{grid-template-columns:1fr 1fr;gap:12px;display:grid}.plan{text-align:center;flex-direction:column;gap:4px;margin:0;padding-top:22px;display:flex;position:relative}.plan.best{border:2px solid var(--glow)}.plan-tag{background:var(--glow);color:var(--btn-ink);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:800;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.plan-name{margin:0;font-weight:700}.plan-price{margin:0 0 10px;font-size:26px;font-weight:800}.plan .btn{padding-left:10px;padding-right:10px}.envelope{--w:240px;width:var(--w);height:calc(var(--w)*.64);perspective:900px;transition:filter .9s;position:relative}.env-small{--w:150px}.env-medium{--w:min(240px,70vw)}.env-large{--w:min(300px,82vw)}.env-back{background:#dcc290;border-radius:8px;position:absolute;inset:0;box-shadow:0 10px 26px #00000059}.env-paper{background:var(--paper);z-index:1;border-radius:4px;flex-direction:column;gap:9%;height:86%;padding:16% 12% 0;transition:transform .9s cubic-bezier(.3,.7,.3,1) 1.1s;display:flex;position:absolute;top:7%;left:7%;right:7%}.env-paper span{background:#3a2e1f2e;border-radius:2px;height:2px;display:block}.env-paper span:nth-child(2){width:80%}.env-paper span:nth-child(3){width:55%}.env-front{z-index:2;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);background:linear-gradient(160deg,#f3e0b8 0%,#ebd3a1 100%);border-radius:8px;position:absolute;inset:0}.env-front:after{content:"";background:linear-gradient(to top right,#0000 49.4%,#785a2829 50%,#0000 50.8%),linear-gradient(to top left,#0000 49.4%,#785a2829 50%,#0000 50.8%);position:absolute;inset:0}.envelope p.env-to{z-index:3;text-align:center;font-family:var(--font-caveat),"Caveat",cursive;font-size:calc(var(--w)*.115);color:#4a3a26;margin:0;font-weight:700;line-height:1;position:absolute;bottom:8%;left:0;right:0}.env-flap{z-index:4;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#e8cf9c 0%,#e2c690 100%);border-radius:8px 8px 0 0;height:58%;transition:transform .75s cubic-bezier(.5,0,.3,1) .45s,z-index 0s .82s;position:absolute;top:0;left:0;right:0}.env-seal{aspect-ratio:1;z-index:5;filter:drop-shadow(0 2px 3px #00000059);width:24%;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.env-seal svg{width:100%;height:100%;position:absolute;inset:0}.env-dark{filter:brightness(.34)saturate(.55)}.env-lit,.env-opening{filter:drop-shadow(0 0 26px #ffbe6473)}.env-opening .env-flap{z-index:0;transform:rotateX(180deg)}.env-opening .env-paper{transform:translateY(-58%)}.env-opening .seal-left{animation:.7s ease-in .15s forwards sealL}.env-opening .seal-right{animation:.7s ease-in .15s forwards sealR}@keyframes sealL{30%{transform:translate(-3px)rotate(-6deg)}to{opacity:0;transform:translate(-34px,60px)rotate(-70deg)}}@keyframes sealR{30%{transform:translate(3px)rotate(6deg)}to{opacity:0;transform:translate(34px,64px)rotate(70deg)}}.hanging{flex-direction:column;align-items:center;margin:-36px 0 4px;display:flex}.hanging .string{background:linear-gradient(#8a6a3a,#c9a56a);width:2px;height:22px}.opening-stage .scene-text{min-height:2.6em}.opening-stage .mid-lamp{margin-bottom:calc(min(300px,82vw)/2.5)}.letter .pressed-seal{z-index:1;opacity:.92;width:46px;height:46px;position:absolute;bottom:10px;right:16px;transform:rotate(-12deg)}.letter .pressed-seal svg{width:100%;height:100%;position:absolute;inset:0}.letter .pressed-seal .seal-right{transform:translate(3px,2px)rotate(8deg)}.letter.personal .clip{padding-bottom:22px}.letter.personal .from{padding-right:56px}.envelope-preview{color:#eaf0fa;text-align:center;background:radial-gradient(circle at 50% 30%,#22355f 0%,#0f1b33 75%);border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:18px 12px 14px;display:flex}.envelope-preview p{color:#c8d3e8;margin:0;font-size:14.5px}.envelope-preview .btn-quiet{color:#ffc46b}.starters{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.starters .chip{min-height:40px;padding:7px 12px;font-size:14px;font-weight:600}.preview-overlay{z-index:60;color:#eaf0fa;background:linear-gradient(#0b1428 0%,#15284d 100%);flex-direction:column;align-items:center;padding:24px 16px 40px;display:flex;position:fixed;inset:0;overflow:auto}.preview-overlay .close{color:#c8d3e8;align-self:flex-end}.celebrate{pointer-events:none;z-index:70;position:fixed;inset:0;overflow:hidden}.celebrate .bit{left:var(--x);will-change:transform,opacity;position:absolute}.celebrate-confetti .bit{width:calc(9px*var(--s));height:calc(13px*var(--s));background:var(--c);animation:fall var(--t) cubic-bezier(.25,.6,.5,1) var(--d) both;border-radius:2px;top:-4%}@keyframes fall{0%{transform:translate(0)rotate(0)}to{transform:translate(var(--dx),112vh) rotate(var(--r))}}.celebrate-hearts .bit{color:#ff8fa3;font-size:calc(26px*var(--s));text-shadow:0 0 12px #ff8fa3b3;animation:floatUp var(--t) ease-out var(--d) both;top:auto;bottom:-6%}@keyframes floatUp{0%{opacity:0;transform:translate(0)scale(.5)}12%{opacity:1}to{opacity:0;transform:translate(var(--dx),-85vh) scale(1.1)}}.celebrate-stars .bit{color:#ffd36b;font-size:calc(22px*var(--s));text-shadow:0 0 12px #ffc85ae6;animation:burst var(--t) cubic-bezier(.1,.7,.3,1) var(--d) both;top:32%;left:50%}@keyframes burst{0%{opacity:0;transform:translate(0)scale(.2)}10%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1) rotate(var(--r))}}.celebrate-petals .bit{width:calc(14px*var(--s));height:calc(10px*var(--s));background:var(--c);animation:drift var(--t) ease-in-out var(--d) both;border-radius:80% 0;top:-5%}@keyframes drift{0%{transform:translate(0)rotate(0)}50%{transform:translate(var(--dx),55vh) rotate(var(--r))}to{transform:translate(calc(var(--dx)*-.4),112vh) rotate(calc(var(--r)*1.6))}}.celebrate-sparks .bit{width:calc(5px*var(--s));height:calc(5px*var(--s));animation:ember var(--t) ease-out var(--d) both;background:#ffc46b;border-radius:50%;top:auto;bottom:4%;box-shadow:0 0 8px 2px #ffb450d9}@keyframes ember{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{opacity:0;transform:translate(var(--dx),-75vh)}}.celebrate-fireflies .bit{top:var(--y);width:calc(6px*var(--s));height:calc(6px*var(--s));animation:wander var(--t) ease-in-out var(--d) 2 both;background:#f7f3a1;border-radius:50%;box-shadow:0 0 10px 3px #f0eb78bf}@keyframes wander{0%,to{opacity:0;transform:translate(0)}25%{opacity:1}50%{opacity:.35;transform:translate(var(--dx),var(--dy))}75%{opacity:1}}@media (prefers-reduced-motion:reduce){.env-flap,.env-paper{transition:none}.env-opening .seal-left,.env-opening .seal-right{opacity:0;animation:none}}.mid-lamp{width:96px;height:136px}.occ-chip{align-items:center;gap:6px;display:inline-flex}.chip-seal{filter:drop-shadow(0 1px 1px #0000004d);flex:none;width:22px;height:22px}.flyaway .hanging{margin-top:-10px}.schedule-when{grid-template-columns:1.3fr 1fr;gap:8px;margin-top:8px;display:grid}.schedule-when .field-hint{grid-column:1/-1;margin:0}.schedule .radio input[type=checkbox]{width:20px;height:20px;accent-color:var(--glow);flex:none;margin-top:3px}.scheduled-note{flex-wrap:wrap;align-items:center;gap:10px;padding:0 4px;display:flex}.scheduled-note .btn-quiet{min-height:36px;padding:0 6px}.buy-one{border:1.5px dashed var(--glow);background:var(--bg-2);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.buy-one p{margin:0}.buy-one a,.radio small a,.form .hint a{color:var(--glow);text-underline-offset:3px;font-weight:700}.buy-one{margin-top:14px}.letter.personal .msg{white-space:pre-line;overflow-wrap:anywhere}.letter.personal .msg.long{font-size:25px;line-height:1.3}.letter.personal .msg.very-long{font-size:22px;line-height:1.32}.letter .msg.long{font-size:25px;line-height:1.3}.letter .msg.very-long{font-size:22px;line-height:1.32}.letter-photo{z-index:1;background:#fbfaf6;border-radius:3px;max-width:82%;margin:6px auto 18px;padding:12px 12px 46px;position:relative;transform:rotate(-2.5deg);box-shadow:0 8px 20px #3c230a4d,0 1px 2px #00000026}.letter-photo img{aspect-ratio:1;object-fit:cover;filter:grayscale()sepia(.2)contrast(1.08)brightness(1.03);border-radius:1px;width:100%;display:block}.photo-pick{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.photo-pick .thumb{object-fit:cover;filter:grayscale()sepia(.2)contrast(1.08);border:5px solid #fbfaf6;border-bottom-width:16px;border-radius:2px;width:84px;height:84px;transform:rotate(-3deg);box-shadow:0 4px 12px #00000059}.level-card{margin-bottom:14px}.level-name{margin:0 0 10px;font-size:20px}.level-two{border-color:#ffc46b8c;box-shadow:0 0 0 1px #ffc46b40,0 10px 30px #ffc46b14}.level-two .level-name{color:var(--glow)}.level-sub{color:var(--muted);margin:-4px 0 10px}.plan-level{margin-bottom:18px}.plan-level-name{text-align:center;margin:0 0 10px;font-size:17px}.celebrate-snow .bit{color:#f4faff;font-size:calc(18px*var(--s));text-shadow:0 0 6px #c8e1ffe6;animation:drift calc(var(--t)*1.6) linear var(--d) both;top:-5%}.envelope p.env-to.env-label{font-size:.8em;line-height:1.05;left:9%;right:9%}.letter.paper-rose .clip{color:#4a2630;background:radial-gradient(circle at 0 0,#f096af59 0,#0000 32%),radial-gradient(circle at 100% 100%,#f096af4d 0,#0000 30%),#fceaee}.letter.paper-midnight .clip{color:#f3e3bc;background:radial-gradient(1.5px 1.5px at 12% 18%,#fff8 50%,#0000 51%),radial-gradient(1.5px 1.5px at 78% 12%,#fff6 50%,#0000 51%),radial-gradient(1px 1px at 55% 70%,#fff7 50%,#0000 51%),radial-gradient(1.5px 1.5px at 88% 84%,#fff5 50%,#0000 51%),linear-gradient(160deg,#1c2a52,#0f1a38)}.letter.paper-midnight .occasion{color:#ffc46b}.letter.paper-botanical .clip{color:#2f3b24;background:radial-gradient(60% 18% at 0 0,#6e965f59,#0000 70%),radial-gradient(50% 16% at 100% 100%,#6e965f4d,#0000 70%),#eef3e4}.letter.paper-botanical .occasion{color:#4e7a3a}.letter.paper-gold .clip{color:#3d2e12;background:linear-gradient(#fff8e7,#fff8e7) padding-box padding-box,linear-gradient(135deg,#b8862b,#f5d98b,#b8862b,#f5d98b) border-box;border:5px solid #0000}.letter.paper-gold .occasion{color:#a87717}.letter.paper-ankara .clip{color:#3a2716;background:repeating-linear-gradient(45deg,#e2572b 0 8px,#f2b636 8px 16px,#2d6e62 16px 24px,#7b2e5a 24px 32px) top/100% 14px no-repeat,repeating-linear-gradient(-45deg,#e2572b 0 8px,#f2b636 8px 16px,#2d6e62 16px 24px,#7b2e5a 24px 32px) bottom/100% 14px no-repeat,#fff4e2;padding-top:30px}.paper-swatches{flex-wrap:wrap;gap:10px;display:flex}.paper-swatch{color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;font-size:13px;display:flex}.paper-swatch i{border:2px solid #0000;border-radius:6px;width:46px;height:56px;display:block;box-shadow:0 3px 10px #0000004d}.paper-swatch[aria-pressed=true] i{border-color:var(--glow);box-shadow:0 0 0 3px #ffc46b59}.paper-swatch.sw-classic i{background:#fbefd5}.paper-swatch.sw-rose i{background:radial-gradient(circle at 0 0,#f096af80,#0000 50%),#fceaee}.paper-swatch.sw-midnight i{background:linear-gradient(160deg,#1c2a52,#0f1a38)}.paper-swatch.sw-botanical i{background:radial-gradient(80% 30% at 0 0,#6e965f8c,#0000 70%),#eef3e4}.paper-swatch.sw-gold i{background:linear-gradient(#fff8e7,#fff8e7) padding-box padding-box,linear-gradient(135deg,#b8862b,#f5d98b,#b8862b) border-box;border:4px solid #0000}.paper-swatch.sw-ankara i{background:repeating-linear-gradient(45deg,#e2572b 0 6px,#f2b636 6px 12px,#2d6e62 12px 18px,#7b2e5a 18px 24px) top/100% 10px no-repeat,#fff4e2}.chip .lock-mini{color:var(--btn-ink);background:var(--glow);border-radius:99px;margin-left:4px;padding:1px 6px;font-size:10.5px;font-weight:800}.group-seal{width:64px;height:64px}.group-lines{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.group-lines li{background:var(--paper);color:var(--paper-ink);border-radius:6px 14px 8px 12px;padding:12px 14px}.gl-text{font-family:var(--font-caveat),"Caveat",cursive;white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:22px;line-height:1.25}.gl-name{text-align:right;font-family:var(--font-caveat),"Caveat",cursive;opacity:.8;margin:4px 0 0;font-size:19px}.group-lines .btn-quiet{color:#8a5a2b;padding:2px 0;font-size:13px}.letter .signed-by{z-index:1;border-top:1px dashed #5a3c1e4d;margin:6px 0 14px;padding-top:10px;position:relative}.letter .signed-by p{font-family:var(--font-caveat),"Caveat",cursive;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 8px;font-size:21px;line-height:1.2}.letter .signed-by b{opacity:.8;font-weight:700}.keepsake .ks-cover{text-align:center;padding:26px 8px 18px}.keepsake .ks-lamp{width:110px;height:150px}.keepsake .ks-kicker{font-family:var(--font-caveat),"Caveat",cursive;color:var(--glow);margin:4px 0 0;font-size:26px}.keepsake h1{margin:2px 0;font-size:30px}.keepsake .ks-sub{color:var(--muted);margin:0 0 10px}.keepsake .ks-stats{color:var(--muted);max-width:420px;margin:0 auto;font-size:15px}.keepsake .ks-section{text-align:center;margin:28px 0 6px;font-size:20px}.keepsake .ks-letter{margin:18px auto 0;animation:none}.keepsake .ks-msg{white-space:pre-line;font-size:24px}.keepsake .ks-jar{gap:12px;margin-top:10px;display:grid}.keepsake .ks-note{background:var(--paper);color:var(--paper-ink);border-radius:6px 16px 8px 14px;margin:0;padding:14px 16px}.keepsake .ks-note blockquote{font-family:var(--font-caveat),"Caveat",cursive;margin:0;font-size:23px;line-height:1.25}.keepsake .ks-note figcaption{opacity:.7;margin-top:6px;font-size:13px}.keepsake .ks-end{text-align:center;color:var(--muted);margin:28px 0 10px}@media print{body{color:#222!important;background:#fff!important}.no-print,.site-footer,nav{display:none!important}.keepsake{max-width:none}.keepsake .ks-cover{page-break-after:always;padding-top:120px}.keepsake h1,.keepsake .ks-section{color:#222}.keepsake .ks-letter{page-break-inside:avoid;box-shadow:none}.keepsake .ks-letter .warmth,.keepsake .ks-letter .shine,.keepsake .ks-letter .dark{display:none}.keepsake .ks-note{page-break-inside:avoid;border:1px solid #e3d6b8}}.journey-video{margin-top:18px}.jv-canvas{border-radius:12px;width:100%;max-width:320px;margin:0 auto 10px;display:block}.jv-canvas.hidden{display:none}.jv-video{background:#000;border-radius:12px;width:100%;max-width:320px;margin:0 auto 12px;display:block}.compare{padding:16px 10px}.compare .level-name{padding-left:6px}.compare-table{border-collapse:collapse;table-layout:fixed;overflow-wrap:anywhere;width:100%;font-size:13.5px}.compare-table th,.compare-table td{text-align:center;border-bottom:1px solid var(--edge);vertical-align:middle;padding:9px 4px;line-height:1.25}.compare-table thead th{font-size:14px;font-weight:800}.compare-table thead th:first-child,.compare-table tbody th{text-align:left;width:34%;padding-left:6px;font-weight:600}.compare-table .lv2{background:#ffc46b17}.compare-table thead .lv2{color:var(--glow)}.compare-table .yes{color:var(--glow);font-size:18px;font-weight:800}.compare-table .no{color:var(--muted)}.compare-table .price-row td,.compare-table .price-row th{letter-spacing:-.2px;border-bottom:0;font-size:12.5px;font-weight:800}.feature-card{align-items:center;gap:14px;display:flex}.feature-art{flex:none;width:96px;height:78px}.feature-body{flex:1;min-width:0}.feature-body h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;font-size:17px;display:flex}.feature-body p{color:var(--muted);margin:0 0 10px;font-size:14.5px;line-height:1.4}.feature-actions{flex-wrap:wrap;gap:8px;display:flex}.btn.btn-compact{justify-content:center;align-items:center;min-height:40px;padding:9px 16px;font-size:14.5px;text-decoration:none;display:inline-flex}.pill{color:var(--btn-ink);background:var(--glow);border-radius:99px;padding:2px 8px;font-size:11.5px;font-weight:800}.hint a,.notice a,.field-hint a{color:var(--glow)}.mode-switch{background:var(--bg-2);border:1px solid var(--edge);border-radius:999px;grid-template-columns:1fr 1fr;margin:4px 0 18px;padding:4px;display:grid}.mode-switch a,.mode-switch span{min-height:42px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:6px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.mode-switch .on{background:var(--glow);color:var(--btn-ink)}.steps{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.steps li{background:var(--bg-2);border:1px solid var(--edge);color:var(--muted);border-radius:14px;padding:10px 6px;font-size:13px;line-height:1.3}.steps b{color:var(--glow);font-size:18px;display:block}.group-hero{text-align:center;flex-direction:column;align-items:center;margin-bottom:6px;display:flex}.group-hero .feature-art{width:140px;height:112px}.ks-download{width:100%}.plus-tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.plus-tiles.one{grid-template-columns:1fr}.plus-tile{border:1px solid var(--edge);background:#ffffff08;border-radius:14px;padding:12px}.plus-tile.lv2{background:#ffc46b12;border-color:#ffc46b8c}.plus-tile .pt-name{margin:0;font-size:15.5px;font-weight:800}.plus-tile.lv2 .pt-name{color:var(--glow)}.plus-tile .pt-price{color:var(--muted);margin:2px 0 8px;font-size:12.5px}.plus-tile ul{color:var(--ink);margin:0;padding:0 0 0 16px;font-size:13px;line-height:1.45}.plus-tile li::marker{color:var(--glow)}.feature-actions .btn-compact{flex:auto}.group-lines li.with-photo{grid-template-columns:76px 1fr;align-items:start;column-gap:12px;display:grid}.group-lines li.with-photo .gl-photo{grid-row:span 3}.gl-photo,.sl-photo{object-fit:cover;filter:grayscale()sepia(.2)contrast(1.08);border:4px solid #fbfaf6;border-bottom-width:12px;border-radius:2px;width:72px;height:72px;transform:rotate(-3deg);box-shadow:0 3px 8px #00000040}.letter .signed-line{align-items:flex-start;gap:10px;margin:0 0 8px;display:flex}.letter .signed-line p{flex:1;margin:0}.letter .signed-line:nth-child(2n) .sl-photo{transform:rotate(3deg)}.sheet-backdrop{z-index:90;background:#050a169e;justify-content:center;align-items:flex-end;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-2);width:100%;max-width:480px;max-height:88vh;color:var(--ink);border:1px solid var(--edge);padding:22px 18px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;outline:none;animation:.24s ease-out sheetUp;position:relative;overflow:auto;box-shadow:0 -10px 40px #00000059}@media (min-width:600px){.sheet-backdrop{align-items:center}.sheet{border-radius:22px}}.sheet-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:26px;line-height:1;position:absolute;top:10px;right:12px}.sheet-title{margin:0 32px 6px 0;font-size:20px;line-height:1.25}.sheet-sub{color:var(--muted);margin:0 0 14px;line-height:1.45}.sheet-tiers{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.sheet-tiers .plus-tile{flex-direction:column;padding-top:22px;display:flex;position:relative}.sheet-tiers .plus-tile ul{flex:1;margin-bottom:10px}.plus-tile.needed{box-shadow:0 0 0 2px var(--glow)}.needed-pill{font-size:10.5px;line-height:1.4;position:absolute;top:-10px;left:10px}.need-list{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.need-list li{background:var(--bg);border:1px solid var(--edge);border-radius:14px;padding:10px 12px;line-height:1.4}.need-list b{color:var(--glow)}.need-bar{background:#ffffff14;border-radius:99px;height:6px;margin-top:6px;overflow:hidden}.need-bar span{background:var(--glow);border-radius:99px;height:100%;display:block}@keyframes sheetUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.link-btn{color:var(--glow);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.mode-switch button{min-height:42px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;font-size:15px;font-weight:800;display:flex}.lock-preview{justify-content:center;display:flex}.lock-preview .lamp{width:90px;height:120px}.letter .main-line{z-index:1;align-items:flex-start;gap:12px;display:flex;position:relative}.letter .main-line .msg{flex:1;min-width:0}.letter .sl-photo{border-width:5px 5px 16px;flex:none;width:96px;height:96px}.letter .sl-photo.big{width:112px;height:112px}.letter .signed-line{gap:12px;margin:0 0 12px}.group-lines li.with-photo{grid-template-columns:100px 1fr}.gl-photo{border-bottom-width:14px;width:92px;height:92px}.event-pass{margin-bottom:18px}.pass-options{flex-direction:column;gap:8px;display:flex}.pass-option{background:var(--bg);border:1px solid var(--edge);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.pass-option span{flex-direction:column;min-width:0;display:flex}.pass-option small{color:var(--muted);font-weight:700}.qr-block{margin-top:14px}.qr-card{flex-direction:column;align-items:center;gap:10px;margin-top:12px;display:flex}.qr-card img{border-radius:12px;width:100%;max-width:300px;height:auto;box-shadow:0 8px 24px #00000040}.occ-chip .lock{margin-left:4px}.style-panel{flex-direction:column;gap:14px;display:flex}.swatch-chip{align-items:center;gap:8px;display:inline-flex}.swatch{border:1px solid var(--edge);border-radius:6px;flex:none;width:26px;height:20px}.own-colours{flex-wrap:wrap;align-items:center;gap:16px;margin-top:10px;display:flex}.own-colours label{align-items:center;gap:8px;font-weight:700;display:flex}.own-colours input[type=color]{border:1px solid var(--edge);background:0 0;border-radius:8px;width:44px;height:34px;padding:2px}.style-preview{text-align:center;border-radius:8px 20px 10px 18px;flex-direction:column;align-items:center;padding:18px 20px;display:flex;box-shadow:0 10px 30px #00000040}.style-preview img{object-fit:cover;border:4px solid;border-radius:50%;width:120px;height:120px;margin-bottom:10px}.style-preview p{margin:0}.sp-heading{font-family:var(--font-caveat),"Caveat",cursive;font-size:28px;line-height:1.1}.sp-line{font-family:var(--font-caveat),"Caveat",cursive;font-size:22px;margin-top:6px!important}.sp-for{opacity:.75;font-size:13px;margin-top:8px!important}.letter.custom .clip{background:var(--c-paper)!important;color:var(--c-ink)!important}.letter.custom .occasion{color:var(--c-accent)!important}.letter-cover{object-fit:cover;border:4px solid var(--c-accent);z-index:1;border-radius:50%;width:140px;height:140px;margin:0 auto 14px;display:block;position:relative}.group-banner{margin-bottom:16px}.group-banner h1{margin:0;font-size:30px}.section-title{margin:22px 0 10px;font-size:18px}.owner-panel{margin-bottom:6px}.op-count{margin:0;font-size:15px}.op-count b{font-size:24px}.op-bar{background:var(--bg);border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.op-bar span{background:var(--glow);border-radius:999px;height:100%;display:block}.op-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.op-row .btn{width:100%}.settings{margin-top:26px}.setting{background:var(--bg-2);border:1px solid var(--edge);border-radius:16px;min-width:0;margin-bottom:10px;padding:0 16px}.setting>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-weight:800;list-style:none;display:flex}.setting>summary::-webkit-details-marker{display:none}.setting>summary:after{content:"›";color:var(--muted);font-size:22px;transition:transform .15s}.setting[open]>summary:after{transform:rotate(90deg)}.setting>summary small{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:55%;margin-left:auto;font-weight:700;overflow:hidden}.setting>:not(summary){width:auto;max-width:100%;padding:0 0 16px}.op-row>*{min-width:0}.setting>summary:focus-visible{outline:3px solid var(--glow);outline-offset:2px;border-radius:16px}.btn.danger{border-color:var(--heart);color:var(--heart)}.btn-primary.danger{background:var(--heart);color:#fff;border-color:var(--heart)}.my-groups{margin:18px 0}.mg-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mg-item{background:var(--bg-2);border:1px solid var(--edge);color:inherit;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.mg-item:hover{border-color:var(--glow)}.mg-item span{flex-direction:column;min-width:0;display:flex}.mg-item b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mg-item small{color:var(--muted);font-weight:600}.mg-seal{flex:none;width:34px;height:34px}.mg-go{color:var(--muted);margin-left:auto;font-size:24px}.setting,.setting *{box-sizing:border-box}.keep-letter{text-align:left;box-sizing:border-box;width:100%;max-width:440px;margin:18px auto 6px}.keep-letter .btn{box-sizing:border-box}.video-part+.video-part{margin-top:4px}.for-chips{grid-template-columns:1fr 1fr;gap:8px;display:grid}.for-chips .chip{text-align:center;flex-direction:column;justify-content:center;padding:12px 10px;line-height:1.25}.for-chips .chip small{opacity:.75;font-size:12px;font-weight:600;display:block}.check{align-items:center;gap:8px;margin-bottom:6px;font-weight:700;display:flex}
