:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-accent:#8e2f35;--color-accent-ink:#e8b4b4;--color-accent-light:#c47b7b;--color-on-accent:#fff;--color-page:#181212;--color-surface:#302424;--color-well:#140e0e;--color-text-primary:#f7f0f0;--color-text-muted:#d2bfbf;--color-border:#544242;--color-paper:#302424;--color-ink:#f7f0f0;--color-night:#181212;--color-scrim:20 14 14;--ambiance-night:#100c0c;--ambiance-dawn:#3a2828;--ambiance-day:#181212;--ambiance-golden:#3a2c22;--ambiance-dusk:#341c22;--veil-mist:#e8dcdc2e;--veil-rain:#b4c8dc29;--veil-snow:#ffffff29;--veil-storm:#14102047;--space-xs:4px;--space-s:8px;--space-m:16px;--space-l:24px;--space-xl:32px;--auth-paper:#f6eeee;--auth-surface:#fcf8f8;--auth-field:#fff;--auth-border:#d4b8b8;--auth-text:#281818;--auth-muted:#766565;--auth-accent:#8e2f35;--auth-on-accent:#fff}@media (prefers-color-scheme:dark){:root{--color-page:#181212;--color-surface:#302424;--color-well:#140e0e;--color-border:#544242;--color-text-primary:#f7f0f0;--color-text-muted:#d2bfbf;--color-accent-ink:#e8b4b4;--ambiance-night:#100c0c;--ambiance-dawn:#3a2828;--ambiance-day:#181212;--ambiance-golden:#3a2c22;--ambiance-dusk:#341c22;--veil-mist:#e8dcdc2e;--veil-rain:#b4c8dc29;--veil-snow:#ffffff29;--veil-storm:#14102047}}
body{background:var(--color-page);min-height:100vh;color:var(--color-text-primary);margin:0;font-family:Georgia,Times New Roman,serif}.brand-wordmark{z-index:60;top:max(16px, env(safe-area-inset-top));left:max(20px, env(safe-area-inset-left));line-height:0;position:fixed}.brand-wordmark img{width:auto;height:48px;display:block}.site-loading{z-index:80;background:var(--color-page);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.site-loading-mark{object-fit:cover;border-radius:24px;width:96px;height:96px}.site-loading-name{width:auto;height:42px}.site-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-text-primary);border-radius:50%;width:28px;height:28px;margin-top:8px;animation:.8s linear infinite trip-spin}body[data-trip=open] .brand-wordmark{display:none}body[data-trip=open] .trip-chrome{top:max(12px, env(safe-area-inset-top))}main{max-width:36rem;padding:88px var(--space-m) var(--space-xl);margin:0 auto}h1,h2{font-weight:600}.muted{color:var(--color-text-muted);font-size:.95rem}.privacy-link{margin:var(--space-l) var(--space-m);text-align:center}.privacy-link a{color:var(--color-text-muted)}.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem}.surface-card{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-l);margin-bottom:var(--space-m);border-radius:16px}.gate-plain{background:0 0;border:0;width:min(22rem,100%);margin:18vh auto 0}.gate-plain h1{margin:0 0 12px;font-size:clamp(2rem,5vw,3.2rem);font-weight:750;line-height:1.05}.gate-plain p{color:var(--color-text-muted);margin:0 0 20px;font-size:1.05rem;line-height:1.45}.privacy-actions{gap:var(--space-s);flex-direction:column;display:flex}.privacy-actions .accent-button{margin-top:0}.quiet-button{width:100%;padding:var(--space-s) var(--space-m);border:1px solid var(--color-border);color:var(--color-text-primary);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;font-weight:650;display:inline-flex}.quiet-button:disabled{opacity:.5;cursor:default}.accent-button{width:100%;margin-top:var(--space-s);padding:var(--space-s) var(--space-m);background:var(--color-accent);color:var(--color-on-accent);font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.field{margin-bottom:var(--space-s);flex-direction:column;gap:6px;display:flex}.field input{padding:var(--space-s);border:1px solid var(--color-border);background:var(--color-page);color:var(--color-text-primary);font:inherit;border-radius:12px}.media,.map,.map-static{width:100%;margin:var(--space-s) 0;background:var(--color-surface);border:0;border-radius:12px;padding:0;overflow:hidden}.media img,.map-static img,.lightbox img{width:100%;height:auto;display:block}.map{height:280px}.map-static span{padding:var(--space-s);color:var(--color-text-muted);display:block}.lightbox{background:var(--color-page);z-index:20;padding:var(--space-m);border:0;position:fixed;inset:0}.stage{--color-page:#181212;--color-surface:#302424;--color-border:#544242;--color-text-primary:#f7f0f0;--color-text-muted:#d2bfbf;--color-accent:#8e2f35;--color-accent-ink:#e8b4b4;--color-accent-light:#c47b7b;--color-well:#140e0e;--color-night:#181212;background:var(--color-page);font-family:Segoe UI,system-ui,sans-serif;transition:background .64s;position:fixed;inset:0}.stage[data-phase=night]{--color-page:var(--ambiance-night)}.stage[data-phase=dawn]{--color-page:var(--ambiance-dawn)}.stage[data-phase=golden]{--color-page:var(--ambiance-golden)}.stage[data-phase=dusk]{--color-page:var(--ambiance-dusk)}.stage-map{top:calc(var(--chrome,96px) + 24px);border-radius:20px;transition:left .28s,top .28s,right .28s,bottom .28s;position:absolute;bottom:12px;left:calc(24px + min(380px,100% - 24px));right:12px;overflow:hidden;box-shadow:0 10px 28px #2818181a}:is(.stage.is-rail-collapsed .stage-map,.stage.is-rail-collapsed:has(.rail.is-reading) .stage-map,.stage.is-rail-collapsed:has(.rail.is-replay) .stage-map){left:12px}.stage-map:after{content:"";z-index:3;border-radius:inherit;pointer-events:none;background:0 0;transition:background .64s;position:absolute;inset:0}.stage[data-veil=mist] .stage-map:after{background:var(--veil-mist)}.stage[data-veil=rain] .stage-map:after{background:var(--veil-rain)}.stage[data-veil=snow] .stage-map:after{background:var(--veil-snow)}.stage[data-veil=storm] .stage-map:after{background:var(--veil-storm)}:is(.stage:has(.rail.is-reading) .stage-map,.stage:has(.rail.is-replay) .stage-map){left:calc(24px + min(760px,100% - 24px))}.stage-map-host,.stage-map-host.mapboxgl-map{width:100%;height:100%;position:absolute;inset:0}.map-veil{z-index:1;background:var(--color-night);position:absolute;inset:0}.trip-chrome{z-index:4;flex-direction:column;gap:0;display:flex;position:absolute;top:76px;left:12px;right:12px}.trip-bar{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);border-radius:18px;flex-direction:column;gap:0;padding:10px 16px 12px;display:flex;box-shadow:0 8px 24px #28181814}.trip-flags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.trip-flag{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;width:28px;height:20px;display:block;overflow:hidden;box-shadow:0 2px 6px #2818181a}.trip-flag img{object-fit:cover;width:100%;height:100%;display:block}.trip-bar-top{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.trip-identity{flex-wrap:wrap;flex:280px;align-items:center;gap:8px 16px;min-width:0;display:flex}.trip-bar h1{color:var(--color-text-primary);letter-spacing:-.02em;margin:0;font-size:1.55rem;line-height:1.1}.trip-status{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 8px;font-size:.82rem;display:inline-flex}.trip-status strong{color:var(--color-text-primary);font-weight:650}.trip-status .weather-mark{margin:0}.trip-status .weather-mark svg{width:15px;height:15px}.trip-status-dot{background:var(--color-text-muted);border-radius:999px;width:8px;height:8px;position:relative}.trip-status.is-live{background:var(--color-surface)}.trip-status.is-live .trip-status-label{color:var(--color-accent-ink);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:750}.trip-status.is-live .trip-status-dot{background:var(--color-accent)}.trip-status.is-live .trip-status-dot:after{content:"";border-radius:inherit;background:color-mix(in srgb, var(--color-accent) 45%, transparent);animation:2.2s ease-out infinite live-pulse;position:absolute;inset:-4px}.trip-status-ago{border-left:1px solid var(--color-border);padding-left:8px}.trip-figures{align-items:center;display:flex}.trip-figure{flex-direction:column;margin:0;padding:0 16px;line-height:1.1;display:flex}.trip-figure+.trip-figure{border-left:1px solid var(--color-border)}.trip-figure:last-of-type{padding-right:4px}.trip-figure strong{color:var(--color-text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.trip-figure span{color:var(--color-text-muted);font-size:.72rem;font-weight:600}.trip-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.trip-fold{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid}.trip-fold svg,.rail-resize svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.trip-bar:not(.is-compact) .trip-fold svg{transform:rotate(180deg)}.trip-replay-icon{fill:currentColor;width:14px;height:14px;display:none}.trip-replay{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:999px;flex:none;margin-left:0;padding:8px 14px;font-size:.82rem;font-weight:700}.guest-account{margin-left:var(--space-s);flex:none;align-items:center;display:flex;position:relative}.guest-mark{cursor:pointer;background:0 0;border:0;border-radius:999px;width:2.15rem;height:2.15rem;padding:0;overflow:hidden}.guest-mark img{object-fit:cover;width:2.15rem;height:2.15rem;display:block}.guest-account.is-name .guest-menu{left:auto;right:0}.guest-name{color:#fff;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.95rem;font-weight:700}.guest-menu{top:calc(100% + var(--space-s));z-index:6;min-width:14rem;padding:var(--space-s);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);text-shadow:none;border-radius:16px;margin:0;position:absolute;right:0;box-shadow:0 12px 40px #28181829}.guest-menu-id{padding:var(--space-s) var(--space-s) var(--space-m);border-bottom:1px solid var(--color-border);flex-direction:column;gap:2px;margin:0;display:flex}.guest-menu-id strong{font-size:.95rem}.guest-menu-id span{color:var(--color-text-muted);font-size:.82rem}.guest-menu a,.guest-menu button{box-sizing:border-box;width:100%;margin-top:var(--space-xs);padding:var(--space-s);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:.9rem;text-decoration:none;display:block}.guest-menu a:hover,.guest-menu button:hover{background:color-mix(in srgb, var(--color-border) 32%, transparent)}.trip-replay.is-on{background:var(--color-accent);color:var(--color-on-accent);border-color:#0000}.trip-figures{margin-left:0}.replay-rail{height:100%;min-height:0;padding:var(--space-l);flex-direction:column;gap:12px;animation:.42s replay-swap;display:flex}.replay-head h2,.replay-end h2{color:var(--color-text-primary);margin:4px 0 0;font-size:1.45rem;line-height:1.15}.replay-day,.replay-kicker{color:var(--color-accent-ink);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.replay-leg{color:var(--color-text-muted);align-items:center;gap:6px;margin:8px 0 0;font-size:.82rem;display:flex}.replay-leg svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.replay-note{-webkit-line-clamp:2;color:var(--color-text-muted);-webkit-box-orient:vertical;margin:8px 0 0;font-size:.9rem;display:-webkit-box;overflow:hidden}.replay-mosaic{flex:1;grid-template-columns:76px minmax(0,1fr);gap:8px;min-height:0;display:grid}.replay-mosaic.is-solo{grid-template-columns:minmax(0,1fr)}.replay-strip{scrollbar-width:thin;flex-direction:column;gap:6px;min-height:0;display:flex;overflow-y:auto}.replay-hero,.replay-tile{background:var(--color-night);cursor:zoom-in;border:0;border-radius:14px;min-height:0;padding:0;position:relative;overflow:hidden}.replay-hero{height:100%}.replay-tile{flex:0 0 68px;width:100%;height:68px}.replay-hero img,.replay-tile img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.replay-hero.is-ken img{animation:replay-ken var(--ken,4s) linear forwards}.replay-tile.is-on{outline:2px solid var(--color-accent);outline-offset:2px}.replay-extra{color:#fff;background:#0000009e;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:700;position:absolute;bottom:8px;right:8px}.replay-preload{width:0;height:0;position:absolute;overflow:hidden}.replay-end{grid-template-columns:200px minmax(0,1fr);align-items:stretch;gap:16px;height:100%;min-height:0;display:grid}.replay-end-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.replay-end-frame{min-width:0;height:100%;min-height:0;container-type:size}.replay-end-mosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;scrollbar-width:thin;grid-auto-rows:calc(25cqw - 3px);gap:4px;height:100%;min-height:0;display:grid;overflow-y:auto}.replay-end-tile.is-wide{grid-column:span 2}.replay-end-tile.is-tall{grid-row:span 2}.replay-end-tile.is-feature{grid-area:span 2/span 2}.replay-end-tile{background:var(--color-night);cursor:zoom-in;border:0;border-radius:8px;min-height:0;padding:0;position:relative;overflow:hidden}.replay-end-tile img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.replay-facts{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.replay-facts strong{font-size:1.4rem;display:block}.replay-facts span{color:var(--color-text-muted);font-size:.78rem}.replay-end-actions{gap:8px;margin-top:22px;display:flex}.replay-again,.replay-close,.replay-stop,.replay-controls button{font:inherit;cursor:pointer;border:0;border-radius:999px;font-weight:700}.replay-again,.replay-toggle{background:var(--color-accent);color:var(--color-on-accent)}.replay-again,.replay-close{padding:10px 16px}.replay-close,.replay-stop{color:var(--color-text-primary);background:0 0}.replay-controls{z-index:5;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);border-radius:18px;flex-direction:column;gap:8px;max-width:520px;padding:10px 12px;display:flex;position:absolute;bottom:28px;left:800px;right:88px}.replay-progress{gap:4px;display:flex}.replay-progress-part{background:var(--color-border);border-radius:999px;flex:1;height:3px;overflow:hidden}.replay-progress-part span{background:var(--color-accent);height:100%;display:block}.replay-controls-row{align-items:center;gap:8px;display:flex}.replay-controls-row button{width:36px;height:36px;color:var(--color-text-primary);background:0 0;place-items:center;padding:0;display:grid}.replay-controls-row .replay-toggle{width:42px;height:42px}.replay-controls-row .replay-stop{width:auto;margin-left:auto;padding:0 12px}.replay-controls svg{fill:currentColor;width:18px;height:18px}.replay-traveler{border:2px solid var(--color-accent);background:#fff;border-radius:999px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 4px 12px #00000047}.map-pin.is-future{opacity:.35}.map-pin.is-replay .map-pin-card{animation:.42s pin-arrive}.stage-map-host[data-replay] .leg-badge-route{visibility:hidden}@keyframes replay-swap{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes replay-ken{to{transform:scale(1.06)}}@keyframes pin-arrive{0%{transform:rotate(var(--tilt)) scale(.6)}to{transform:rotate(var(--tilt)) scale(1)}}.map-layers{z-index:3;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:40px;right:16px}.map-layers-toggle{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;border-radius:14px;place-items:center;padding:0;transition:transform .16s;display:grid;box-shadow:0 8px 24px #28181838}.map-layers-toggle:hover,.map-layers-toggle.is-open{color:var(--color-accent-ink);transform:translateY(-1px)}.map-layers-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.map-layers-panel{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 96%, transparent);border-radius:16px;flex-direction:column;gap:2px;min-width:148px;padding:6px;animation:.16s ease-out both layers-in;display:flex;box-shadow:0 12px 32px #28181838}.map-layer{color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 12px;font-size:.85rem}.map-layer:hover{background:color-mix(in srgb, var(--color-border) 30%, transparent)}.map-layer.is-on{background:var(--color-accent);color:var(--color-on-accent);font-weight:650}.map-layers-rule{background:var(--color-border);height:1px;margin:4px 6px}@keyframes layers-in{0%{opacity:0;transform:translateY(6px)}}.live-marker{pointer-events:none;width:18px;height:18px;position:relative}.live-marker-core{border:3px solid var(--color-paper);background:var(--color-accent);border-radius:999px;position:absolute;inset:0;box-shadow:0 2px 10px #00000059}.live-marker-ring{background:color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:999px;animation:2.2s ease-out infinite live-pulse;position:absolute;inset:-12px}@keyframes live-pulse{0%{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(1.5)}}.trip-intro-visitor{z-index:2;top:max(var(--space-m), env(safe-area-inset-top));right:max(var(--space-m), env(safe-area-inset-right));margin:0;position:absolute}.trip-intro-visitor .guest-account{margin-left:0}.gate-visitor{z-index:70;top:max(var(--space-m), env(safe-area-inset-top));right:max(var(--space-m), env(safe-area-inset-right));position:fixed}.gate-visitor .guest-account{margin-left:0}.gate-visitor .guest-name{color:var(--color-text-primary)}.trip-intro.is-gate{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:clamp(24px,4vw,72px);padding:0 clamp(24px,6vw,96px);display:grid}.trip-intro.is-gate .trip-intro-body{grid-column:1;width:auto;min-width:0;padding:0}.trip-intro.is-gate h1{margin:0;font-size:clamp(3rem,8vw,7rem)}.trip-intro-signin{z-index:2;grid-column:2;justify-self:start;width:min(22rem,100%);position:relative}.trip-intro-signin-lead{margin:0 0 var(--space-m);color:#fff;font-size:1.2rem;font-weight:650;line-height:1.35}.trip-intro-signin .news-opt-in span{min-width:0}.trip-intro-signin .field span,.trip-intro-signin .field label,.trip-intro-signin .muted,.trip-intro-signin .news-opt-in{color:#ffffffdb}.trip-intro-signin .field input,.trip-intro-signin .code-row input{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff38;border-radius:12px}.trip-intro-signin .field input::placeholder{color:#ffffff8c}.trip-intro-signin .code-send{color:#fff;background:0 0;border-color:#ffffff47}.trip-intro-signin .accent-button{width:auto;margin-top:var(--space-s);background:var(--color-accent);color:#fff;border-radius:999px;padding:17px 30px;font-size:1.05rem;font-weight:750;box-shadow:0 16px 44px #b7410e80}.auth-panel{box-sizing:border-box;background:var(--auth-paper);color:var(--auth-text);border-radius:20px;padding:20px}.auth-panel h1,.auth-panel p,.auth-panel .trip-intro-signin-lead{color:var(--auth-text)}.error-banner{background:color-mix(in srgb, #e07a5f 18%, var(--color-surface));border:1px solid color-mix(in srgb, #e07a5f 35%, var(--color-border));color:var(--color-text-primary);border-radius:24px;align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex;box-shadow:0 10px 28px #100c0c47}.error-banner p{color:inherit;margin:0;font-size:.94rem;font-weight:650;line-height:1.3}.error-banner-icon{color:#e07a5f;background:#e07a5f29;border-radius:999px;flex:none;place-items:center;width:36px;height:36px;display:grid}.auth-panel .error-banner{background:color-mix(in srgb, #e07a5f 12%, var(--auth-surface));border-color:color-mix(in srgb, #e07a5f 35%, var(--auth-border));color:var(--auth-text);box-shadow:0 10px 24px #28181814}.auth-panel h1{margin:0 0 12px;font-size:1.45rem;line-height:1.25}.gate-plain.auth-panel h1,.trip-intro-denied.auth-panel h1{font-size:1.7rem;line-height:1.15}.auth-social{border:1px solid var(--auth-border);background:var(--auth-surface);width:100%;color:var(--auth-text);font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:12px;margin:0 0 8px;padding:14px 16px;font-weight:650;display:flex}.auth-social:disabled{opacity:.5;cursor:default}.auth-social img{object-fit:contain;width:22px;height:22px;display:block}.auth-or{color:var(--auth-muted);letter-spacing:.08em;text-align:center;text-transform:lowercase;margin:14px 0;font-size:.85rem}.auth-code-card{border:1px solid var(--auth-border);background:var(--auth-surface);border-radius:16px;padding:12px}.auth-code-send{border:1px solid var(--auth-accent);width:100%;color:var(--auth-accent);font:inherit;cursor:pointer;background:0 0;border-radius:16px;justify-content:center;align-items:center;margin:0 0 12px;padding:12px 16px;font-weight:700;display:flex}.auth-code-send:disabled{opacity:.5;cursor:default}.auth-panel .field span,.auth-panel .muted,.auth-panel .auth-or{color:var(--auth-muted)}.auth-panel .field input,.trip-intro-signin .auth-panel .field input,.trip-intro-signin .auth-panel .code-row input{border:1px solid var(--auth-border);background:var(--auth-field);color:var(--auth-text);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:12px}.auth-panel input[name=code]{letter-spacing:.28em;font-variant-numeric:tabular-nums}.auth-panel .accent-button,.trip-intro-signin .auth-panel .accent-button{background:var(--auth-accent);width:100%;color:var(--auth-on-accent);box-shadow:none;cursor:pointer;border-radius:16px}.confirm-access{box-sizing:border-box;place-items:center;min-height:100vh;padding:88px 16px 32px;display:grid}.confirm-access .auth-panel{width:min(26rem,100%)}.trip-intro-loading{z-index:6;background:rgb(var(--color-scrim) / 62%);color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.trip-intro-spinner{border:3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite trip-spin}@keyframes trip-spin{to{transform:rotate(360deg)}}.trip-intro{z-index:40;background:var(--color-night);color:#fff;align-items:flex-end;display:flex;position:fixed;inset:0;overflow:hidden}.trip-intro:after{content:"";pointer-events:none;background:linear-gradient(90deg, rgb(var(--color-scrim) / 72%) 0%, rgb(var(--color-scrim) / 20%) 60%, transparent 100%), linear-gradient(180deg, rgb(var(--color-scrim) / 10%) 0%, rgb(var(--color-scrim) / 30%) 50%, rgb(var(--color-scrim) / 92%) 100%);position:absolute;inset:0}.trip-intro-media{object-fit:cover;filter:blur(28px)saturate(1.25)brightness(.8);width:calc(100% + 80px);height:calc(100% + 80px);animation:16s ease-out both intro-zoom;position:absolute;inset:-40px}.trip-intro-stack{z-index:1;aspect-ratio:9/16;width:clamp(220px,22vw,320px);position:absolute;top:50%;right:clamp(32px,9vw,160px);transform:translateY(-50%)}.trip-intro-card{border:6px solid var(--color-paper);background:var(--color-paper);border-radius:18px;animation:1.1s cubic-bezier(.2,.8,.2,1) both intro-card;position:absolute;inset:0;overflow:hidden;box-shadow:0 30px 80px #00000080}.trip-intro-card img{object-fit:cover;border-radius:12px;width:100%;height:100%;display:block}.trip-intro-card.is-0{z-index:3;--tilt:4deg;--shift:0px;animation-delay:.2s}.trip-intro-card.is-1{z-index:2;--tilt:-9deg;--shift:-38%;animation-delay:.34s}.trip-intro-card.is-2{z-index:1;--tilt:-20deg;--shift:-72%;animation-delay:.48s}.trip-intro-card{transform:translateX(var(--shift)) rotate(var(--tilt))}@keyframes intro-card{0%{opacity:0;transform:translate(40%,30%)rotate(18deg)scale(.86)}}.trip-intro-media.is-empty{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--color-accent) 70%, transparent), transparent 60%), radial-gradient(circle at 80% 70%, #3c5a78b3, transparent 55%), var(--color-night)}.trip-intro-body{z-index:1;width:100%;max-width:1180px;padding:0 clamp(24px,6vw,96px) clamp(36px,9vh,96px);position:relative}.trip-intro-body>*{animation:.8s cubic-bezier(.2,.8,.2,1) both intro-rise}.trip-intro-body>:nth-child(2){animation-delay:90ms}.trip-intro-body>:nth-child(3){animation-delay:.18s}.trip-intro-body>:nth-child(4){animation-delay:.28s}.trip-intro-body>:nth-child(5){animation-delay:.42s}.trip-intro-kicker{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.12em;text-transform:uppercase;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:10px;margin:0;padding:7px 14px;font-size:.78rem;font-weight:750;display:inline-flex}.trip-intro-kicker-dot{background:#fff;border-radius:999px;width:8px;height:8px;position:relative}.trip-intro-kicker.is-live .trip-intro-kicker-dot{background:#ff6a3d}.trip-intro-kicker.is-live .trip-intro-kicker-dot:after{content:"";border-radius:inherit;background:#ff6a3d8c;animation:2.2s ease-out infinite live-pulse;position:absolute;inset:-5px}.trip-intro h1{letter-spacing:-.045em;text-shadow:0 8px 40px #00000059;margin:20px 0 14px;font-size:clamp(3.2rem,10vw,8.5rem);font-weight:850;line-height:.9}.trip-intro-meta{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.trip-intro-flags{gap:8px;margin:0;padding:0;list-style:none;display:flex}.trip-intro-flags .trip-flag{border-color:#fff6;width:36px;height:26px}.trip-intro-dates{color:#ffffffdb;margin:0;font-size:1.05rem;font-weight:500}.trip-intro-denied{color:#fff;max-width:28rem}.trip-intro-denied p{color:#ffffffdb}.trip-intro-denied.auth-panel,.trip-intro-denied.auth-panel p{color:var(--auth-text)}.trip-intro-signin .auth-panel .field span,.trip-intro-signin .auth-panel .field label{color:var(--auth-muted)}.trip-intro-figures{flex-wrap:wrap;gap:18px 0;margin:clamp(28px,5vh,48px) 0 clamp(28px,5vh,44px);display:flex}.trip-intro-figure{border-left:1px solid #ffffff3d;flex-direction:column-reverse;padding:0 clamp(20px,3vw,40px);display:flex}.trip-intro-figure:first-child{border-left:0;padding-left:0}.trip-intro-figure dd{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:1}.trip-intro-figure dt{color:#ffffffc2;margin-top:6px;font-size:.9rem;font-weight:600}.trip-intro-cta{background:var(--color-accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:12px;padding:17px 30px;font-size:1.05rem;font-weight:750;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 16px 44px #b7410e80}.trip-intro-cta:hover{transform:translateY(-2px);box-shadow:0 20px 52px #b7410e9e}.trip-intro-cta svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .2s}.trip-intro-cta:hover svg{transform:translate(3px)}.trip-intro-credit{color:#ffffffb8;margin-top:18px;font-size:.82rem;text-decoration:none;display:inline-block}.trip-intro-credit:hover{color:#fff}.story-switch{border:1px solid var(--color-border);background:var(--color-page);border-radius:999px;flex:none;padding:3px;display:flex}.story-switch button{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:.82rem}.story-switch button.is-on{background:var(--color-accent);color:var(--color-on-accent)}.rail-resize{display:none}.story-feed{z-index:3;scroll-snap-type:y mandatory;padding-top:calc(var(--chrome,148px) + 16px);background:var(--color-night);position:fixed;inset:0;overflow-y:auto}.story-card{height:calc(100dvh - var(--chrome,148px));scroll-snap-align:start;position:relative;overflow:hidden}.story-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.story-card-copy{background:linear-gradient(transparent, rgb(var(--color-scrim) / 88%));color:#fff;padding:28px 20px 24px;position:absolute;bottom:0;left:0;right:0}.story-card-copy h2{margin:4px 0 0;font-size:1.6rem}.story-card-copy p{margin:0}.story-card-note{white-space:pre-wrap;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin-top:8px;display:-webkit-box;overflow:hidden}.story-card-count{margin-top:8px;font-size:.82rem}.story-card .weather-mark{color:#fff;margin-top:8px}.trip-intro.is-leaving{pointer-events:none;animation:.7s cubic-bezier(.6,0,.3,1) forwards intro-leave}@keyframes intro-zoom{0%{transform:scale(1.14)}to{transform:scale(1.02)}}@keyframes intro-rise{0%{opacity:0;transform:translateY(22px)}}@keyframes intro-leave{to{opacity:0;transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.trip-intro,.trip-intro *,.trip-intro :after,.live-marker-ring,.trip-status-dot:after{animation:none!important}.stage,.stage-map,.stage-map:after,.rail,.rail-fold,.viewer-fly{transition:none!important}}.trip-progress{background:0 0;border-radius:12px;align-items:flex-start;gap:12px;margin-top:8px;padding:8px 10px 16px;display:flex}.trip-progress-label{color:var(--color-text-muted);flex:none;margin-top:2px;font-size:.78rem;font-weight:650}.trip-progress-label strong{font-weight:800}.trip-progress-track{background:color-mix(in srgb, var(--color-border) 80%, var(--color-surface));border-radius:999px;flex:1;height:3px;margin-top:10px;position:relative}.trip-progress-fill{border-radius:inherit;background:var(--color-accent);position:absolute;top:0;bottom:0;left:0}.trip-progress.is-replay .trip-progress-fill{transition:width .14s linear}.trip-progress.is-replay .trip-walker{transition:left .14s linear}.trip-step{z-index:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.trip-step-dot{border:1.5px solid var(--color-accent);background:var(--color-surface);border-radius:999px;width:7px;height:7px;display:block}.trip-step.is-done .trip-step-dot{background:var(--color-accent)}.trip-step-label{max-width:96px;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.2;position:absolute;top:10px;left:50%;overflow:hidden;transform:translate(-50%)}.trip-walker{z-index:2;border:2px solid var(--color-accent);background:var(--color-surface);width:22px;height:22px;color:var(--color-accent-ink);border-radius:999px;place-items:center;animation:1.8s ease-in-out infinite walker-blink;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #2818181f}.trip-walker svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px;display:block}.trip-day-ruler{align-items:flex-end;gap:12px;margin-top:8px;padding:4px 10px 6px;display:flex}.trip-day-ruler-label{color:var(--color-text-muted);flex:none;margin-bottom:18px;font-size:.78rem;font-weight:650}.trip-day-ruler-label strong{font-weight:800}.trip-day-ruler-track{cursor:pointer;flex:1;min-width:0;height:48px;margin:0 36px;position:relative}.map-show-all{z-index:4;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:650;position:absolute;top:12px;right:12px;box-shadow:0 8px 24px #28181829}.map-show-all:hover{border-color:var(--color-accent-ink);color:var(--color-accent-ink)}.stage.is-unstarted .stage-map{box-shadow:none;background:0 0;left:12px}.stage.is-unstarted .stage-map:after{display:none}.trip-unstarted{text-align:center;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px;display:flex}.trip-unstarted-logo{object-fit:cover;border-radius:32px;width:132px;height:132px}.trip-unstarted h2{max-width:28rem;color:var(--color-text-primary);margin:0;font-size:1.7rem;font-weight:750;line-height:1.2}.trip-unstarted p{max-width:26rem;color:var(--color-text-muted);margin:0;font-size:1.05rem;line-height:1.45}@media (max-width:800px){.trip-unstarted-logo{border-radius:24px;width:96px;height:96px}.trip-unstarted h2{font-size:1.35rem}}.trip-day-tick{pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;width:0;height:48px;padding-bottom:16px;display:flex;position:absolute;bottom:0}.trip-day-tick-mark{background:var(--color-border);border-radius:999px;width:5px;height:16px}.trip-day-tick.is-empty .trip-day-tick-mark{opacity:.55;height:8px}.trip-day-tick.is-active .trip-day-tick-mark{background:var(--color-accent);width:6px;height:26px}.trip-day-tick-label{color:var(--color-text-primary);white-space:nowrap;font-size:.72rem;font-weight:750;line-height:1.2;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.map-polaroid{z-index:4;background:var(--color-surface);width:220px;color:var(--color-text-primary);box-shadow:0 14px 32px rgb(var(--color-scrim) / 28%);padding:10px 10px 12px;position:absolute}.map-polaroid-photo{background:var(--color-well);cursor:pointer;border:0;width:100%;height:168px;padding:0;display:block}.map-polaroid-photo img{object-fit:cover;width:100%;height:100%;display:block}.map-polaroid-place,.map-polaroid-when{text-overflow:ellipsis;white-space:nowrap;margin:8px 4px 0;overflow:hidden}.map-polaroid-place{color:var(--color-text-primary);font-size:.95rem;font-weight:700}.map-polaroid-when{color:var(--color-text-muted);margin-top:2px;font-size:.78rem}.map-polaroid-close,.map-polaroid-open{cursor:pointer;border:0}.map-polaroid-close{background:var(--color-surface);width:28px;height:28px;color:var(--color-text-primary);border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:16px;right:16px}.map-polaroid-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:14px;height:14px}.map-polaroid-open{background:var(--color-accent);width:calc(100% - 8px);color:var(--color-on-accent);border-radius:999px;margin:10px 4px 0;padding:8px 10px;font-weight:700;display:block}@keyframes walker-blink{0%,to{opacity:1}50%{opacity:.55}}.rail{z-index:2;top:calc(var(--chrome,0px) + 24px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;flex-direction:column;width:min(380px,100% - 24px);font-family:Segoe UI,system-ui,sans-serif;transition:transform .28s,width .28s,height .28s;display:flex;position:absolute;bottom:12px;left:12px;overflow:hidden;box-shadow:0 8px 24px #28181814}.rail.is-reading,.rail.is-replay{width:min(760px,100% - 24px)}.stage.is-rail-collapsed .rail{pointer-events:none;transform:translate(calc(-100% - 28px))}.rail-fold{z-index:5;top:calc(var(--chrome,0px) + 40px);border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-primary);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;left:calc(-4px + min(380px,100% - 24px));box-shadow:0 6px 16px #2818181f}:is(.stage:has(.rail.is-reading) .rail-fold,.stage:has(.rail.is-replay) .rail-fold){left:calc(-4px + min(760px,100% - 24px))}:is(.stage.is-rail-collapsed .rail-fold,.stage.is-rail-collapsed:has(.rail.is-reading) .rail-fold,.stage.is-rail-collapsed:has(.rail.is-replay) .rail-fold){left:20px}.rail-fold svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.rail-fold.is-collapsed svg{transform:rotate(180deg)}.rail-journal{background:var(--color-surface);flex:none;align-items:center;gap:10px;padding:16px 18px 10px;display:flex}.rail-journal h2{color:var(--color-text-primary);letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:750}.rail-journal h2:before{content:"";background:var(--color-accent);vertical-align:.1em;border-radius:999px;width:8px;height:8px;margin-right:8px;display:inline-block}.rail-head{z-index:4;padding:var(--space-l) var(--space-l) var(--space-s);background:var(--color-surface);color:var(--color-text-primary);flex:none;position:sticky;top:0}.rail-head h1{color:var(--color-text-primary);margin:0;font-size:1.6rem;line-height:1.15}.moment-kicker{flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 8px;display:flex}.moment-kicker .moment-when{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:0;font-size:.8rem;font-weight:650;line-height:1.2}.moment-kicker .weather-mark{color:var(--color-text-primary);margin-left:auto}.rail-head .moment-when,.rail-head h1{padding-left:0;padding-right:0}.rail-list{min-height:0;padding:0 0 var(--space-m);flex:auto;overflow:auto}.moment.is-hot{border-color:var(--color-accent-ink)}.trace-day{z-index:2;background:var(--color-surface);align-items:center;min-height:36px;display:flex;position:sticky;top:0}.trace-spine{flex:0 0 48px;place-items:center;width:48px;display:grid}.trace-day-mark{background:var(--color-accent);color:#fff;border-radius:999px;place-items:center;width:24px;height:24px;display:grid}.trace-day-mark svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.trace-day-label{max-width:calc(100% - 64px);color:var(--color-accent-ink);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:4px 0;font-size:11px;font-weight:700;overflow:hidden}.trace-body{position:relative}.trace-body:before{content:"";background:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--color-accent) 35%, transparent) 0 8px, transparent 8px 16px);width:2px;position:absolute;top:0;bottom:0;left:23px}.trace-row{align-items:center;margin-bottom:12px;display:flex}.trace-dot{border:2px solid var(--color-surface);background:var(--color-accent);width:12px;height:12px;box-shadow:0 0 6px color-mix(in srgb, var(--color-accent) 45%, transparent);border-radius:999px}.moment{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex:1;min-width:0;margin:0 12px 0 0;overflow:hidden;box-shadow:0 4px 12px #28181814}.moment-hit{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.moment-meta{color:var(--color-text-muted);letter-spacing:.06em;align-items:center;gap:8px;margin:0;padding:12px 12px 0;font-size:11px;font-weight:700;display:flex}.moment-meta .place{letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.moment-meta .weather-mark{color:var(--color-text-primary);letter-spacing:0;text-transform:none;flex:none;margin-left:auto;font-size:.8rem;font-weight:650}.moment-meta .weather-mark svg{width:16px;height:16px}.moment-cover{object-fit:cover;width:100%;height:168px;margin-top:8px;display:block}.moment-when,.moment-hit h2,.moment-hit p{margin:0;padding:0 12px}.moment-when{padding-top:var(--space-s);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.moment-hit h2{padding-top:8px;font-size:1rem;line-height:1.2}.moment-hit p{color:var(--color-text-muted);padding-top:8px;font-size:.85rem;line-height:1.35}.moment-hit p:last-child{padding-bottom:12px}.moment-hit:has(+.photo-stage) p:last-child{padding-bottom:0}.moment-film{gap:var(--space-s);padding:0 var(--space-m) var(--space-m);display:flex;overflow-x:auto}.moment-film .media{border-radius:12px;flex:0 0 112px;width:112px;margin:0}.moment-film .media img{object-fit:cover;height:84px}.rail-detail{min-height:0;padding:0 var(--space-m) var(--space-l);flex:auto;overflow:auto}.moment-title-row{align-items:center;gap:var(--space-s);display:flex}.moment .interaction-summary{margin:8px 12px 12px}.summary-comments{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:.85rem;line-height:1;display:inline-flex}.summary-comments .action-icon{width:1rem;height:1rem}.moment-heading{flex:1;min-width:0}.moment-when-line{align-items:center;gap:12px;display:flex}.moment-place{color:var(--color-text-muted);margin:0;font-size:.95rem}.weather-mark{color:var(--color-text-primary);align-items:center;gap:4px;margin:0 0 0 auto;font-size:.9rem;font-weight:650;display:inline-flex}.weather-mark svg{fill:none;width:18px;height:18px;stroke:var(--color-accent-ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.moment-title-row h2,.moment-title-row .moment-when{padding-left:0}.rail-back{width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;margin:0;padding:0;display:grid}.rail-back svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.map-pin{background:var(--color-surface);width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;border:2.5px solid #fff;border-radius:999px;place-items:center;padding:0;font:700 13px/1 Segoe UI,system-ui,sans-serif;display:grid;box-shadow:0 4px 10px #00000038}.map-pin.is-dim{opacity:.28}.map-pin:not(.is-plain){width:auto;height:auto;box-shadow:none;background:0 0;border:0;border-radius:0}.map-pin-card{background:var(--color-surface);width:56px;height:56px;transform:rotate(var(--tilt));border:2.5px solid #fff;border-radius:9px;display:block;overflow:hidden;box-shadow:0 4px 10px #00000047}.map-pin-card img{object-fit:cover;width:100%;height:100%;display:block}.map-pin.is-selected .map-pin-card,.map-pin.is-plain.is-selected,.map-pin.is-replay .map-pin-card,.map-pin.is-replay.is-plain{outline:3px solid var(--color-accent);outline-offset:1px}.map-pin.is-here .map-pin-card{animation:2.4s ease-in-out infinite pin-glow}.map-pin.is-plain{color:var(--color-accent-ink);transform:rotate(var(--tilt))}.map-pin.is-plain svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.map-pin.is-hot .map-pin-card,.map-pin.is-hot.is-plain{box-shadow:0 0 0 6px color-mix(in srgb, var(--color-accent) 72%, transparent);outline:3px solid #fff;animation:none}@keyframes pin-glow{0%,to{box-shadow:0 4px 10px #00000047}50%{box-shadow:0 0 0 7px #ffffff8c,0 4px 14px #00000047}}.leg-badge{pointer-events:none;background:#fff;border:1px solid #2818181f;border-radius:999px;place-items:center;width:24px;height:24px;display:grid;box-shadow:0 2px 8px #00000047}.leg-badge.is-hidden{visibility:hidden}.leg-badge svg{width:12px;height:12px;display:block;overflow:visible}.moment-read .moment-when,.moment-read h2,.moment-read p{padding-left:0;padding-right:0}.moment-read .photo-count{padding:5px 14px}.moment-read h2{margin:4px 0 var(--space-s);font-size:1.45rem}.moment-read .media{margin:var(--space-s) 0;border-radius:16px}.moment-read .media img,.moment-read video.media{object-fit:cover;width:100%;max-height:70vh}.moment-hit p.trace-note{white-space:pre-wrap;-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.moment-note{margin-top:var(--space-s);color:var(--color-text-primary);line-height:1.45}.moment-note p{white-space:pre-wrap;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.moment-note p.is-open{-webkit-line-clamp:unset;display:block;overflow:visible}.note-toggle{margin-top:var(--space-xs);color:var(--color-accent-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.comments{margin-top:var(--space-l);padding:var(--space-m);background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px}.reaction-bar,.comment-composer-row,.interaction-summary{gap:var(--space-s);flex-wrap:wrap;align-items:center;display:flex}.reaction-actions{gap:var(--space-s);display:flex}.reaction-pill,.action-chip,.comment-composer button,.comment-delete{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);min-height:2.25rem;color:var(--color-text-primary);padding:var(--space-xs) 12px;font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.comment-composer button.comment-send{border:1px solid var(--color-border);background:var(--color-surface);width:2.25rem;height:2.25rem;color:var(--color-text-primary);border-radius:999px;margin-left:auto;padding:0}.comment-composer button.comment-send svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.comment-composer button:disabled{opacity:.5;cursor:default}.comment-composer .muted{flex:1 0 100%;margin:0}.reaction-pill.is-mine,.action-chip.is-open{border-color:var(--color-accent-ink);color:var(--color-accent-ink)}.reaction-pill.is-mine span:last-child{color:var(--color-accent-ink)}.reaction-more{position:relative}.reaction-more-tip{z-index:4;left:0;bottom:calc(100% + var(--space-xs));gap:var(--space-xs);width:max-content;max-width:16rem;padding:var(--space-s);border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-wrap:wrap;display:flex;position:absolute}.action-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.1rem;height:1.1rem}.action-chip{justify-content:center;width:2.25rem;height:2.25rem;padding:0;position:relative}.action-count{background:var(--color-page);min-width:1.1rem;color:var(--color-text-muted);text-align:center;border-radius:999px;padding:0 4px;font-size:.7rem;line-height:1.1rem;position:absolute;top:-.3rem;right:-.3rem}.reaction-popover{z-index:80;position:fixed}.photo-frame{margin:var(--space-s) 0 var(--space-m);border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;position:relative}.photo-frame .photo-stage{border-radius:17px;margin:0}.slide-footer{left:var(--space-s);bottom:var(--space-s);z-index:2;max-width:calc(100% - 2 * var(--space-s));padding:0;position:absolute}.slide-footer .reaction-bar,.viewer-extra .reaction-bar,.slide-footer .reaction-actions,.viewer-extra .reaction-actions{flex-direction:column;align-items:flex-start}.dialog-backdrop{z-index:60;padding:var(--space-m);background:rgb(var(--color-scrim) / 55%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sign-in-dialog{width:min(100%,26rem);max-height:calc(100vh - 2 * var(--space-m));box-sizing:border-box;padding:var(--space-l);background:var(--color-surface);color:var(--color-text-primary);border-radius:18px;overflow:auto}.dialog-head{gap:var(--space-s);justify-content:space-between;align-items:flex-start;display:flex}.dialog-head h2{margin:0;font-size:1.15rem}.dialog-close{background:var(--color-page);width:2.25rem;height:2.25rem;color:var(--color-text-primary);cursor:pointer;border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.code-row{gap:var(--space-s);display:flex}.code-row input{min-width:0;padding:var(--space-s);border:1px solid var(--color-border);background:var(--color-page);color:var(--color-text-primary);font:inherit;letter-spacing:.2em;border-radius:12px;flex:auto}.code-send{padding:var(--space-s) var(--space-m);border:1px solid var(--color-accent);color:var(--color-accent-ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none}.code-send:disabled,.accent-button:disabled{opacity:.5;cursor:default}.accent-spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite trip-spin}@media (max-width:600px){.dialog-backdrop{align-items:flex-end;padding:0}.sign-in-dialog{width:100%;max-height:92vh;padding-bottom:max(var(--space-l), env(safe-area-inset-bottom));border-radius:18px 18px 0 0}}.comment-list{gap:var(--space-m);margin:var(--space-m) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.comment-row{grid-template-columns:2.25rem minmax(0,1fr);align-items:start;gap:10px;display:grid}.comment-avatar{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-page));width:2.25rem;height:2.25rem;color:var(--color-accent-ink);border-radius:999px;place-items:center;font-size:.85rem;font-weight:750;display:grid}.comment-meta{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 0 2px;display:flex}.comment-meta strong{font-size:.92rem}.comment-meta span:last-child,.comment-reply{color:var(--color-text-muted);font-size:.78rem;line-height:1.3}.comment-replies{flex-direction:column;gap:10px;margin:10px 0 0;padding:0 0 0 2.75rem;list-style:none;display:flex}.comment-tools{align-items:center;gap:6px;margin-top:4px;display:flex}.comment-tools .action-chip{width:auto;height:auto;min-height:0;color:var(--color-text-muted);background:0 0;border:0;padding:2px}.comment-tools .action-icon{width:1.15rem;height:1.15rem}.comment-row .comment-composer{margin-top:8px}.comment-replying button{color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem}.comment-mention{color:var(--color-accent-ink);font-weight:650}.comment-replying{color:var(--color-text-muted);flex:1 0 100%;justify-content:space-between;align-items:center;margin:4px 8px 0 0;font-size:.78rem;display:flex}.comment-badge{color:var(--color-accent-ink);font-size:.8rem}.comment-text{white-space:pre-wrap;margin:0;line-height:1.4}.comment-delete{color:var(--color-text-muted);background:0 0;border:0;margin-top:4px;padding:0;font-size:.78rem}.comment-composer{gap:var(--space-s);margin-top:var(--space-s);border:1px solid var(--color-border);background:var(--color-page);border-radius:22px;flex-wrap:wrap;align-items:flex-end;padding:6px 6px 6px 14px;display:flex}.comment-composer textarea{box-sizing:border-box;width:auto;min-width:0;min-height:2.4rem;max-height:8rem;color:var(--color-text-primary);font:inherit;resize:none;background:0 0;border:0;border-radius:0;flex:8rem;padding:8px 0}.comment-composer textarea:focus{outline:none}.emoji-picker{width:min(100%,22rem)}.emoji-picker em-emoji-picker{--rgb-background:252, 250, 246;--rgb-input:252, 250, 246;--rgb-color:40, 33, 25;--rgb-accent:183, 65, 14;--color-border:#28211914}@media (prefers-color-scheme:dark){.emoji-picker em-emoji-picker{--rgb-background:44, 36, 28;--rgb-input:44, 36, 28;--rgb-color:247, 241, 232;--rgb-accent:183, 65, 14;--color-border:#f7f1e81f}}.viewer-extra{left:max(var(--space-m), 4.5rem);bottom:max(3rem, calc(env(safe-area-inset-bottom) + 2rem));width:max-content;max-width:min(calc(100% - 2 * var(--space-m)), 26rem);box-sizing:border-box;max-height:calc(100vh - 6rem);color:var(--color-text-primary);background:0 0;padding:0;position:absolute;overflow:visible}.news-opt-in{gap:var(--space-s);margin:var(--space-s) 0;align-items:flex-start;display:flex}.news-preferences{position:relative}.news-panel{right:0;top:calc(100% + var(--space-s));z-index:4;background:var(--color-surface);width:min(18rem,80vw);color:var(--color-text-primary);border:1px solid var(--color-border);padding:var(--space-s);border-radius:12px;position:absolute}.news-choices{gap:var(--space-s);display:flex}.news-choices button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);padding:var(--space-xs) var(--space-s);border-radius:999px}.news-choices button.is-on{border-color:var(--color-accent-ink)}.photo-expand{top:var(--space-s);right:var(--space-s);z-index:2;background:var(--color-surface);width:2.25rem;height:2.25rem;color:var(--color-text-primary);border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute}.photo-expand svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.photo-stage{margin:var(--space-s) 0 var(--space-m);background:var(--color-night);aspect-ratio:4/3;touch-action:pan-y;border-radius:18px;position:relative;overflow:hidden}.photo-stage.is-inline{aspect-ratio:auto;border-radius:0;height:168px;margin:8px 0 0}.photo-track{width:100%;height:100%;transition:transform .28s;display:flex}.photo-track.is-dragging{transition:none}.photo-open{cursor:zoom-in;background:0 0;border:0;flex:0 0 100%;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.photo-stage.is-inline .photo-open{cursor:pointer}.photo-open .photo-blur{z-index:0;object-fit:cover;filter:blur(22px);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.12)}.photo-open.is-portrait>img:last-child{z-index:1;object-fit:contain;position:relative}.photo-open img,.photo-open video{object-fit:cover;background:0 0;width:100%;height:100%;display:block}.fade-img{opacity:0;transition:opacity .18s}.fade-img.is-in{opacity:1}@media (prefers-reduced-motion:reduce){.fade-img{transition:none}}.photo-arrow,.viewer-arrow,.viewer-close{width:36px;height:36px;color:var(--color-ink);cursor:pointer;background:#fcf8f8eb;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.photo-arrow svg,.viewer-arrow svg,.viewer-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%)}.photo-arrow.is-prev{left:10px}.photo-arrow.is-next{right:10px}.photo-stage.is-inline .photo-arrow{opacity:0;background:#fcfaf6ad;width:26px;height:26px;transition:opacity .16s}.photo-stage.is-inline:hover .photo-arrow,.photo-stage.is-inline:focus-within .photo-arrow{opacity:1}.photo-stage.is-inline .photo-count{opacity:0;transition:opacity .16s}.photo-stage.is-inline:hover .photo-count,.photo-stage.is-inline:focus-within .photo-count{opacity:1}.photo-stage.is-inline .photo-arrow svg{width:14px;height:14px}.photo-count,.viewer-count{color:#fff;background:#1a14109e;border-radius:999px;margin:0;padding:4px 10px;font-size:.78rem;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.viewer{z-index:50;background:var(--color-night);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.viewer-stage{flex:auto;justify-content:center;align-items:center;min-width:0;min-height:0;padding:16px 72px 36px;display:flex;overflow:hidden}.viewer-bar{z-index:2;background:0 0;flex:none;justify-content:flex-end;align-items:center;gap:16px;min-height:56px;padding:12px 18px;display:flex;position:relative}.viewer-caption{flex:1;min-width:0}.viewer-caption h2{color:var(--color-on-accent);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;line-height:1.2;overflow:hidden}.viewer-caption p{color:#ffffffb8;margin:2px 0 0;font-size:.82rem}.viewer-foot{z-index:2;background:rgb(var(--color-scrim) / 96%);flex-direction:column;flex:none;gap:8px;padding:4px 18px 18px;display:flex;position:relative}.viewer-foot .viewer-count{align-self:flex-start;position:static;transform:none}.viewer-fly{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex}.viewer-bar .viewer-close{position:static}.viewer-photo{object-fit:contain;border-radius:12px;width:auto;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;box-shadow:0 24px 80px #00000073}.viewer-close{position:absolute;top:18px;right:18px}.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%)}.viewer-arrow.is-prev{left:18px}.viewer-arrow.is-next{right:18px}@media (max-width:800px){.trip-bar.is-compact .trip-flags,.trip-bar.is-compact .trip-status,.trip-bar.is-compact .trip-figure,.trip-bar.is-compact .trip-progress,.trip-bar.is-compact .trip-day-ruler{display:none}.trip-bar.is-compact{padding:6px 8px}.trip-bar.is-compact .trip-bar-top{flex-wrap:nowrap;gap:8px}.trip-bar.is-compact .trip-identity{flex:auto}.trip-bar.is-compact h1{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}.trip-bar.is-compact .trip-actions{margin-left:0}.trip-bar.is-compact .trip-replay{place-items:center;width:36px;height:36px;padding:0;display:grid}.trip-bar.is-compact .trip-replay-icon{display:block}.trip-bar.is-compact .trip-replay-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.stage-map,.stage.is-rail-collapsed .stage-map{top:calc(var(--chrome,64px) + 20px);bottom:12px;left:12px;right:12px}.stage:has(.rail.is-reading) .stage-map{top:calc(var(--chrome,64px) + 20px);bottom:12px;left:12px;right:12px}.stage:has(.rail.is-replay) .stage-map{top:calc(var(--chrome,64px) + 20px);bottom:12px;left:12px;right:12px}.rail-fold,.stage.is-rail-collapsed .rail-fold{top:auto;left:20px;bottom:calc(var(--sheet,42vh) + 16px)}.stage:has(.rail.is-reading) .rail-fold{top:auto;left:20px;bottom:calc(var(--sheet,42vh) + 16px)}.stage:has(.rail.is-replay) .rail-fold{top:auto;left:20px;bottom:calc(var(--sheet,42vh) + 16px)}.stage[data-sheet=map] .rail-fold{bottom:68px}.rail,.rail.is-reading,.rail.is-replay{width:auto;height:var(--sheet,42vh);border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;inset:auto 12px 12px}.stage[data-sheet=map] .rail>:not(.rail-resize){display:none}.rail-resize{flex:none;justify-content:center;gap:8px;padding:6px 0 2px;display:flex}.rail-resize button{background:color-mix(in srgb, var(--color-border) 50%, transparent);width:44px;height:28px;color:var(--color-text-primary);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.rail-resize button:disabled{opacity:.35;cursor:default}.rail-resize button.is-up svg{transform:rotate(180deg)}.viewer-stage{padding:12px 16px 28px}.moment-cover,.photo-stage.is-inline{height:120px}.map-layers{bottom:calc(var(--sheet,42vh) + 20px)}.trip-figures{margin-left:0}.replay-controls{left:var(--space-s);right:72px;bottom:calc(var(--sheet,42vh) + 16px);max-width:none}.replay-mosaic{flex:auto;grid-template-columns:64px minmax(0,1fr);min-height:140px}.replay-tile{flex-basis:56px;height:56px}.replay-end{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:10px}.replay-end-copy{justify-content:flex-start}.trip-figure:first-child{padding-left:0}.trip-intro.is-gate{flex-direction:column;justify-content:flex-end;align-items:stretch;padding-bottom:clamp(24px,6vh,48px);display:flex}.trip-intro-signin{grid-column:auto;width:100%;max-width:22rem}.trip-intro.is-gate h1{margin-bottom:var(--space-l);font-size:clamp(2.6rem,14vw,4.2rem)}.trip-intro-stack{width:38vw;top:12vh;right:50%;transform:translate(50%)}.trip-intro-figure{flex:0 0 50%;padding:0 0 0 16px}.trip-intro-figure:nth-child(odd){border-left:0;padding-left:0}}
