@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/quicksand-latin-600-normal-DTBPeRoM.woff2)format("woff2"),url(/assets/quicksand-latin-600-normal-CkxN0sDw.woff)format("woff")}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/quicksand-latin-700-normal-Dpk7G9Y6.woff2)format("woff2"),url(/assets/quicksand-latin-700-normal-HjJN-aaT.woff)format("woff")}:root{--text:#4b4b4b;--text-h:#222;--bg:#f5f5f5;--bg-raised:#fff;--border:#dbe6df;--accent:#6ec387;--accent-contrast:#f5f5f5;--accent-2:#17733d;--accent-3:#02270f;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--display:"Quicksand", var(--sans);font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{min-height:100svh;margin:0}h1,h2{color:var(--text-h);margin:0 0 .5em;font-weight:600}.app{max-width:960px;padding:0 1.5rem 1.5rem;padding-left:max(1.5rem, env(safe-area-inset-left));padding-right:max(1.5rem, env(safe-area-inset-right));padding-bottom:max(1.5rem, env(safe-area-inset-bottom));margin:0 auto}.app-header{z-index:10;background:var(--bg);width:100%;margin-bottom:1rem;position:sticky;top:0}.app-header-inner{max-width:960px;padding-top:max(1.25rem, env(safe-area-inset-top));padding-bottom:.85rem;padding-left:max(1.5rem, env(safe-area-inset-left));padding-right:max(1.5rem, env(safe-area-inset-right));text-align:center;margin:0 auto}.app-header h1{font-family:var(--display);letter-spacing:-.01em;margin-bottom:0;font-size:1.6rem;font-weight:700}.title-accent{background:linear-gradient(90deg, var(--accent), var(--accent-2), var(--accent-3));border-radius:999px;width:100%;height:4px;margin:.6rem 0 0;display:block}.train-lottie{max-width:280px;margin:0 auto}.investigator-lottie{max-width:280px;margin:1.5rem auto 0}.pop-title{font-family:var(--display);text-align:center;text-wrap:balance;color:var(--text-h);max-width:420px;margin:1.5rem auto 0;font-size:1.3rem;font-weight:700;animation:5s ease-in-out both pop-title-in}@keyframes pop-title-in{0%{opacity:0;transform:scale(.6)}8%{opacity:1;transform:scale(1.35)}16%{transform:scale(.85)}24%{transform:scale(1.25)}32%{transform:scale(.9)}40%{transform:scale(1.18)}48%{transform:scale(.93)}56%{transform:scale(1.12)}64%{transform:scale(.95)}72%{transform:scale(1.08)}80%{transform:scale(.97)}88%{transform:scale(1.04)}94%{transform:scale(.99)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.pop-title{animation:none}}.details-button{font:inherit;font-family:var(--display);background:var(--accent-2);min-height:44px;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:999px;margin:1.5rem auto 0;padding:.85rem 1.75rem;font-size:1rem;font-weight:700;display:block}.itinerary{max-width:560px;margin:1.5rem auto 0;animation:.4s ease-out itinerary-fade-in}@keyframes itinerary-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.itinerary{animation:none}}.itinerary-heading{font-family:var(--display);text-align:center;color:var(--text-h);margin:0 0 1.5rem;font-size:1.4rem;font-weight:700}.itinerary-day{margin-bottom:1.75rem}.itinerary-date{font-family:var(--display);color:var(--accent-2);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .85rem;font-size:1rem;font-weight:700}.itinerary-events{margin:0;padding:0;list-style:none}.itinerary-event{gap:1rem;padding:0 0 1.1rem 1.5rem;display:flex;position:relative}@media (width<=420px){.itinerary-event{flex-direction:column;gap:.35rem}.itinerary-time{min-width:0}}.itinerary-event:before{content:"";background:var(--accent-2);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:.3rem;left:-5px}.itinerary-time{min-width:72px;font-family:var(--display);color:var(--text-h);flex-shrink:0;padding-top:.1rem;font-size:.8rem;font-weight:700}.itinerary-content{flex:1}.itinerary-image{border-radius:12px;width:48px;height:48px;margin-bottom:.5rem;display:block}.itinerary-title{color:var(--text-h);margin:0;font-size:.95rem;font-weight:600}.itinerary-description{color:var(--text);margin:.25rem 0 0;font-size:.85rem;line-height:1.4}.itinerary-photo{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);border-radius:14px;width:100%;max-width:360px;margin:.75rem 0 0;display:block}.code-gate{text-align:center;flex-direction:column;align-items:center;gap:.85rem;max-width:320px;margin:1.5rem auto 0;display:flex}.code-gate-prompt{font-family:var(--display);color:var(--text-h);margin:0;font-size:1.1rem;font-weight:600}.code-gate-input{font:inherit;font-family:var(--display);text-align:center;letter-spacing:.4em;border:1px solid var(--border);background:var(--bg-raised);width:100%;min-height:44px;color:var(--text-h);border-radius:14px;padding:.75rem 1rem;font-size:1.6rem;font-weight:700}.code-gate-input.error{border-color:var(--accent-3)}.code-gate-input:focus{outline:2px solid var(--accent-2);outline-offset:2px}.code-gate-error{color:var(--accent-3);margin:0;font-size:.85rem}.code-gate-button{font:inherit;background:var(--accent-2);width:100%;min-height:44px;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:12px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600}
