.world.svelte-1bhp6jo{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#fde9f0,#fbe1d4 60%,#e9d3b6 60.2%,#dfc8ab)}.world.svelte-1bhp6jo canvas{display:block;width:100%;height:100%}.scratch.svelte-19b69jq{position:relative;border-radius:22px;overflow:hidden;isolation:isolate}.under.svelte-19b69jq{position:relative}canvas.svelte-19b69jq{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1)}canvas.gone.svelte-19b69jq{opacity:0;transform:scale(1.06);pointer-events:none}canvas.instant.svelte-19b69jq{transition:none}.reveal-btn.svelte-19b69jq{position:absolute;right:10px;bottom:10px;padding:6px 12px;border-radius:999px;font:600 12px var(--font-ui);color:#7a1e46;background:#ffffffbf;opacity:0;transition:opacity .2s}.reveal-btn.svelte-19b69jq:focus-visible{opacity:1;outline:2px solid #fff;outline-offset:2px}.journey.svelte-1wdv1sz{--paper: #fffaf3;--ink: #2f2430;--ink-soft: #66545f;--rose: #d23f6a;--rose-deep: #a8264f;--rail: #1f5f5b;position:fixed;inset:0;z-index:10000;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;color:var(--ink);font-family:var(--font-sans);background:#fde9f0;outline:none;-webkit-tap-highlight-color:transparent;animation:svelte-1wdv1sz-journey-in .7s ease both;transition:opacity .45s ease}.journey.locked.svelte-1wdv1sz{overflow-y:hidden}.journey.is-leaving.svelte-1wdv1sz{opacity:0}@keyframes svelte-1wdv1sz-journey-in{0%{opacity:0}}.close-x.svelte-1wdv1sz{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;z-index:6;display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:#ffffffd9;color:var(--ink-soft);box-shadow:0 4px 14px #2f243026}.route.svelte-1wdv1sz{position:fixed;top:max(12px,env(safe-area-inset-top));left:14px;right:66px;z-index:5;height:42px;padding:0 18px;display:flex;align-items:center;border-radius:999px;background:#ffffffd9;box-shadow:0 4px 14px #2f24301f;transition:opacity .5s ease,translate .5s ease}.route.hidden.svelte-1wdv1sz{opacity:0;translate:0 -10px}.route-line.svelte-1wdv1sz{position:relative;flex:1;height:4px;border-radius:4px;background:#2f24301f}.route-fill.svelte-1wdv1sz{position:absolute;inset:0;border-radius:4px;transform-origin:0 50%;background:linear-gradient(90deg,var(--rail),var(--rose))}.route-stop.svelte-1wdv1sz{position:absolute;top:50%;translate:-50% -50%;font-size:12px;line-height:1;filter:grayscale(1) opacity(.55);transition:filter .4s ease}.route-stop.passed.svelte-1wdv1sz,.route-end.svelte-1wdv1sz{filter:none}.route-train.svelte-1wdv1sz{position:absolute;top:50%;translate:-50% -105%;font-size:15px;transform:scaleX(-1)}.ride.svelte-1wdv1sz{position:relative;z-index:2}.overlay.svelte-1wdv1sz{position:sticky;top:0;height:100svh;pointer-events:none}.ticket-wrap.svelte-1wdv1sz,.stop-wrap.svelte-1wdv1sz,.end-wrap.svelte-1wdv1sz{position:absolute;left:0;right:0;display:flex;justify-content:center;padding:0 16px;opacity:0;translate:0 40px;pointer-events:none;transition:opacity .55s ease,translate .7s cubic-bezier(.2,.8,.2,1)}.shown.svelte-1wdv1sz{opacity:1;translate:0 0;pointer-events:auto}.is-reduced.svelte-1wdv1sz .ticket-wrap:where(.svelte-1wdv1sz),.is-reduced.svelte-1wdv1sz .stop-wrap:where(.svelte-1wdv1sz),.is-reduced.svelte-1wdv1sz .end-wrap:where(.svelte-1wdv1sz){transition:opacity .2s;translate:0 0}.ticket-wrap.svelte-1wdv1sz{top:0;bottom:0;align-items:center;background:linear-gradient(180deg,#fde9f01a,#fde9f080)}.fahrkarte.svelte-1wdv1sz{position:relative;width:100%;max-width:24rem;border-radius:18px;background:var(--paper);box-shadow:0 2px 4px #2f24301a,0 30px 60px -16px #2f243059;overflow:hidden;rotate:-1.5deg}.fahrkarte.svelte-1wdv1sz header:where(.svelte-1wdv1sz){display:flex;justify-content:space-between;padding:12px 20px;font:700 .75rem var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--rail)}.fk-body.svelte-1wdv1sz{padding:20px 22px 24px;text-align:center}.fk-greeting.svelte-1wdv1sz{margin:0;font:600 .8rem var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--rose)}.fk-name.svelte-1wdv1sz{margin:2px 0 14px;font-family:var(--font-signature);font-weight:400;font-size:clamp(2.6rem,11vw,3.6rem);line-height:1.2;color:var(--rose-deep)}.fahrkarte.svelte-1wdv1sz dl:where(.svelte-1wdv1sz){display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0 0 16px;padding:14px 0;border-block:2px dashed rgb(47 36 48 / .15);text-align:left}.fahrkarte.svelte-1wdv1sz dl:where(.svelte-1wdv1sz) .wide:where(.svelte-1wdv1sz){grid-column:1 / -1}.fahrkarte.svelte-1wdv1sz dt:where(.svelte-1wdv1sz){font:600 .65rem var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.fahrkarte.svelte-1wdv1sz dd:where(.svelte-1wdv1sz){margin:2px 0 0;font-size:.98rem;font-weight:600}.fk-text.svelte-1wdv1sz{margin:0 0 20px;font-size:1rem;line-height:1.65;color:var(--ink-soft)}.punch-hole.svelte-1wdv1sz{position:absolute;top:64px;right:22px;width:22px;height:22px;border-radius:50%;background:#b98f9d;box-shadow:inset 0 2px 4px #00000059;scale:0;transition:scale .25s cubic-bezier(.3,1.8,.5,1)}.stamp.svelte-1wdv1sz{position:absolute;top:92px;right:14px;padding:6px 12px;border:3px solid var(--rose);border-radius:8px;font:800 .8rem var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--rose);rotate:14deg;opacity:0;scale:1.8;transition:opacity .2s ease .15s,scale .3s cubic-bezier(.5,0,.7,1.6) .15s}.punched.svelte-1wdv1sz .punch-hole:where(.svelte-1wdv1sz){scale:1}.punched.svelte-1wdv1sz .stamp:where(.svelte-1wdv1sz){opacity:.85;scale:1}.stop-wrap.svelte-1wdv1sz{bottom:max(18px,env(safe-area-inset-bottom))}@media(min-width:900px){.stop-wrap.svelte-1wdv1sz{justify-content:flex-start;padding-left:5vw;bottom:6vh}}.stop-card.svelte-1wdv1sz{width:100%;max-width:25rem;max-height:64svh;overflow:auto;border-radius:18px;background:var(--paper);box-shadow:0 2px 4px #2f24301a,0 24px 50px -14px #2f243059}.stop-head.svelte-1wdv1sz{display:flex;justify-content:space-between;gap:10px;padding:10px 18px;font:700 .72rem var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--rail)}.stop-body.svelte-1wdv1sz{padding:12px 18px 16px}.stop-kicker.svelte-1wdv1sz{margin:0;font:600 .68rem var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}.stop-body.svelte-1wdv1sz h2:where(.svelte-1wdv1sz){margin:4px 0 6px;font-size:1.4rem;font-weight:600;line-height:1.2}.stop-body.svelte-1wdv1sz p:where(.svelte-1wdv1sz):last-child{margin:0;font-size:.98rem;line-height:1.6;color:var(--ink-soft)}.stop-photo.svelte-1wdv1sz{position:relative;display:block;width:calc(100% - 28px);margin:14px 14px 0;padding:0;border-radius:12px;cursor:zoom-in}.stop-photo.svelte-1wdv1sz img:where(.svelte-1wdv1sz){position:relative;z-index:1;display:block;width:100%;height:clamp(130px,21svh,260px);object-fit:cover;border-radius:12px;background:#f1e3e8;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.stop-photo.svelte-1wdv1sz:hover img:where(.svelte-1wdv1sz){transform:scale(1.015)}.stop-photo.stack.svelte-1wdv1sz:before,.stop-photo.stack.svelte-1wdv1sz:after{content:"";position:absolute;inset:0;border-radius:12px;background:#ead7de;box-shadow:0 2px 6px #2f243026}.stop-photo.stack.svelte-1wdv1sz:before{rotate:-3deg;translate:-4px 4px}.stop-photo.stack.svelte-1wdv1sz:after{rotate:2.5deg;translate:5px 2px;background:#f3e6ea}.photo-badge.svelte-1wdv1sz{position:absolute;right:10px;bottom:10px;z-index:2;padding:5px 11px;border-radius:999px;font:700 .72rem var(--font-ui);color:var(--ink);background:#ffffffe6;box-shadow:0 2px 8px #2f243033}.lightbox.svelte-1wdv1sz{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#1e141cf0;touch-action:pan-y;animation:svelte-1wdv1sz-journey-in .25s ease both}.lb-img.svelte-1wdv1sz{max-width:100%;max-height:100%;padding:64px 12px 72px;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:svelte-1wdv1sz-lb-in .35s cubic-bezier(.2,.8,.2,1) both}@keyframes svelte-1wdv1sz-lb-in{0%{opacity:0;transform:scale(.97)}}.lb-bar.svelte-1wdv1sz{position:absolute;top:max(14px,env(safe-area-inset-top));left:16px;right:70px;display:flex;align-items:baseline;gap:12px;color:#fff}.lb-title.svelte-1wdv1sz{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-count.svelte-1wdv1sz{flex-shrink:0;font:600 .8rem var(--font-ui);opacity:.7}.lb-close.svelte-1wdv1sz{position:absolute;top:max(8px,env(safe-area-inset-top));right:12px;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;color:#fff;background:#ffffff24}.lb-nav.svelte-1wdv1sz{position:absolute;top:50%;translate:0 -50%;display:grid;place-items:center;width:46px;height:46px;border-radius:999px;font-size:30px;line-height:1;color:#fff;background:#ffffff24}.lb-prev.svelte-1wdv1sz{left:10px}.lb-next.svelte-1wdv1sz{right:10px}.lb-dots.svelte-1wdv1sz{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:0;right:0;display:flex;justify-content:center;gap:8px}.lb-dots.svelte-1wdv1sz span:where(.svelte-1wdv1sz){width:8px;height:8px;border-radius:50%;background:#ffffff59;transition:background .2s,scale .2s}.lb-dots.svelte-1wdv1sz span.on:where(.svelte-1wdv1sz){background:#fff;scale:1.25}.scroll-hint.svelte-1wdv1sz{position:absolute;left:0;right:0;top:66px;margin:0;text-align:center;font:600 .8rem var(--font-ui);color:var(--ink-soft);opacity:0;transition:opacity .6s ease 1.2s}.scroll-hint.shown.svelte-1wdv1sz{opacity:.85}.end-wrap.svelte-1wdv1sz{bottom:max(24px,env(safe-area-inset-bottom))}.end-card.svelte-1wdv1sz{padding:16px 30px 18px;border-radius:18px;text-align:center;color:#fff;background:var(--rose);box-shadow:0 20px 44px -12px #a8264f8c;border:4px solid #fff;outline:3px solid var(--rose)}.end-kicker.svelte-1wdv1sz{margin:0;font:700 .72rem var(--font-ui);letter-spacing:.24em;text-transform:uppercase;opacity:.85}.end-card.svelte-1wdv1sz h2:where(.svelte-1wdv1sz){margin:0;font-family:var(--font-signature);font-weight:400;font-size:clamp(2.6rem,12vw,3.6rem);line-height:1.2}.end-card.svelte-1wdv1sz p:where(.svelte-1wdv1sz){margin:0;font-size:1rem}.after.svelte-1wdv1sz{position:relative;z-index:2;max-width:940px;margin:0 auto;padding:0 16px max(48px,env(safe-area-inset-bottom))}.journey [data-reveal]{opacity:0;translate:0 34px;transition:opacity .9s ease,translate 1.1s cubic-bezier(.2,.8,.2,1)}.journey [data-reveal].is-in{opacity:1;translate:0 0}.is-reduced.svelte-1wdv1sz [data-reveal]{opacity:1;translate:0 0;transition:none}.pill.svelte-1wdv1sz{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 26px;border-radius:999px;font:700 .95rem var(--font-ui);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.pill-strong.svelte-1wdv1sz{color:#fff;background:var(--rose);box-shadow:0 10px 24px #a8264f52}.pill.svelte-1wdv1sz:hover{transform:translateY(-2px)}.pill.svelte-1wdv1sz:active{transform:scale(.97)}.pill.svelte-1wdv1sz:disabled{opacity:.75}.letter-wrap.svelte-1wdv1sz{display:flex;justify-content:center;padding:10svh 0 12svh}.letter.svelte-1wdv1sz{position:relative;width:100%;max-width:34rem;padding:48px 28px 46px;border-radius:6px;background:repeating-linear-gradient(180deg,transparent 0 33px,rgb(31 95 91 / .08) 33px 34px),var(--paper);box-shadow:0 2px 4px #2f24301a,0 34px 70px -18px #2f243066}@media(min-width:640px){.letter.svelte-1wdv1sz{padding:58px 54px 56px}}.letter-stamp.svelte-1wdv1sz{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:58px;height:68px;font-size:28px;background:#fde9f0;border:3px dotted var(--rose);rotate:6deg}.letter.svelte-1wdv1sz p:where(.svelte-1wdv1sz){font-size:1.08rem;line-height:1.85;margin:0 0 1.1em}.letter.svelte-1wdv1sz .greeting:where(.svelte-1wdv1sz){font-family:var(--font-signature);font-size:2.1rem;line-height:1.3;color:var(--rose-deep);margin-bottom:.5em;padding-right:60px}.letter.svelte-1wdv1sz .core:where(.svelte-1wdv1sz){margin:1.1em 0 1.2em;font-size:clamp(1.45rem,5.6vw,1.9rem);font-weight:600;font-style:italic;line-height:1.35;text-align:center;color:var(--rose)}.letter.svelte-1wdv1sz .future:where(.svelte-1wdv1sz){font-weight:600;color:var(--rose-deep)}.letter.svelte-1wdv1sz .closing:where(.svelte-1wdv1sz){margin-top:1.5em}.letter.svelte-1wdv1sz .signature:where(.svelte-1wdv1sz){font-family:var(--font-signature);font-size:2.4rem;line-height:1.2;color:var(--rose-deep);text-align:right;margin:.3em 0 0}.plaque.svelte-1wdv1sz{padding:16px 24px;border-radius:18px;text-align:center;background:#fffaf3f0;box-shadow:0 10px 30px -10px #2f24304d}.plaque.svelte-1wdv1sz h2:where(.svelte-1wdv1sz){margin:0 0 4px;font-size:1.5rem;font-weight:600}.plaque.svelte-1wdv1sz p:where(.svelte-1wdv1sz){margin:0;color:var(--ink-soft)}.vouchers.svelte-1wdv1sz{display:flex;flex-direction:column;align-items:center;gap:30px;padding:4svh 0}.voucher-slot.svelte-1wdv1sz{position:relative;width:100%;max-width:26rem;transition-delay:calc(var(--vi) * .12s)}.voucher-slot.svelte-1wdv1sz .scratch{box-shadow:0 24px 50px -14px #2f243066}.ticket.svelte-1wdv1sz{display:flex;flex-direction:column;min-height:270px;background:var(--paper)}.ticket-top.svelte-1wdv1sz{display:flex;justify-content:space-between;padding:10px 18px;font:700 .72rem var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--rail)}.ticket-main.svelte-1wdv1sz{flex:1;padding:18px 22px 14px;text-align:center}.ticket-emoji.svelte-1wdv1sz{display:block;font-size:2.4rem;line-height:1;margin-bottom:8px;transition:transform .6s cubic-bezier(.3,1.8,.5,1)}.ticket.uncovered.svelte-1wdv1sz .ticket-emoji:where(.svelte-1wdv1sz){transform:scale(1.2) rotate(-6deg)}.ticket.svelte-1wdv1sz h3:where(.svelte-1wdv1sz){margin:0 0 8px;font-size:1.4rem;font-weight:600;line-height:1.25}.ticket-details.svelte-1wdv1sz{margin:0;font-size:.97rem;line-height:1.6;color:var(--ink-soft)}.ticket-stub.svelte-1wdv1sz{display:flex;justify-content:space-between;gap:12px;padding:12px 18px 14px;border-top:2px dashed rgb(47 36 48 / .18);font:600 .75rem var(--font-ui);color:var(--rose-deep)}.ticket-stub.svelte-1wdv1sz span:where(.svelte-1wdv1sz):last-child{text-align:right}.burst.svelte-1wdv1sz{position:absolute;left:50%;top:40%;pointer-events:none;z-index:3}.burst.svelte-1wdv1sz span:where(.svelte-1wdv1sz){position:absolute;display:block;animation:svelte-1wdv1sz-fly 1.2s cubic-bezier(.15,.8,.3,1) both;animation-delay:var(--d)}@keyframes svelte-1wdv1sz-fly{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}70%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1) rotate(20deg)}}.redeem.svelte-1wdv1sz{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px}.redeem-note.svelte-1wdv1sz{margin:0;padding:6px 14px;border-radius:999px;font:600 .85rem var(--font-ui);color:var(--ink-soft);background:#fffaf3e6;text-align:center}.redeem-note.done.svelte-1wdv1sz{color:var(--rose-deep)}.outro.svelte-1wdv1sz{min-height:70svh;display:flex;align-items:center;justify-content:center}.outro-card.svelte-1wdv1sz{max-width:24rem;padding:30px 26px}.outro-card.svelte-1wdv1sz h2:where(.svelte-1wdv1sz){font-family:var(--font-signature);font-weight:400;font-size:clamp(2.4rem,10vw,3rem);line-height:1.2;color:var(--rose-deep)}.outro-card.svelte-1wdv1sz p:where(.svelte-1wdv1sz){margin:8px 0 22px;line-height:1.6}
