:root{--fn-void:#0b0908;--fn-chrome:#14100f;--fn-raised:#1b1614;--fn-map:#101216;--fn-line:#2e2a28;--fn-line-strong:#3a3532;--fn-engine:#c8221c;--fn-engine-hover:#a81b16;--fn-engine-press:#8e1611;--fn-engine-text:#f0554f;--fn-brass:#d9a441;--fn-brass-text:#e0af52;--fn-snow:#f5ede4;--fn-warm:#c0b7ae;--fn-muted:#9b928a;--fn-disabled-fill:#3a2320;--fn-disabled-text:#8a7b78;--fn-brass-14:rgba(217,164,65,0.14);--fn-brass-16:rgba(217,164,65,0.16);--fn-brass-22:rgba(217,164,65,0.22);--fn-brass-30:rgba(217,164,65,0.3);--fn-brass-45:rgba(217,164,65,0.45);--fn-brass-55:rgba(217,164,65,0.55);--fn-quiet-06:rgba(255,255,255,0.06);--fn-quiet-08:rgba(255,255,255,0.08);--fn-quiet-14:rgba(255,255,255,0.14);--fn-quiet-16:rgba(255,255,255,0.16);--fn-font-display:var(--font-sora),ui-sans-serif,system-ui,sans-serif;--fn-font-text:var(--font-instrument),ui-sans-serif,system-ui,sans-serif;--fn-r-control:4px;--fn-r-card:6px;--fn-r-sheet:14px;--fn-accent-top:4px;--fn-split:5px;--fn-ease:cubic-bezier(0.2,0,0.2,1);--fn-t-hover:140ms;--fn-t-lift:220ms;--navy:#0b1a33;--navy-dark:#061021;--gold:#d4af37;--snow:#f4f6fb}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{background:var(--navy-dark);color:var(--snow);font-family:var(--font-inter),system-ui,-apple-system,"Segoe UI",sans-serif}h1,h2,h3{font-family:var(--font-fraunces),Georgia,"Times New Roman",serif}.viewer-page{display:flex;flex-direction:column;min-height:100vh}.map-container{height:60vh;min-height:300px;position:relative}.map-view{width:100%;height:100%}.ticker{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem 1.25rem;background:var(--navy);border-top:1px solid rgba(212,175,55,.3)}.ticker-item{display:flex;flex-direction:column;gap:.25rem;min-width:7rem}.ticker-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(244,246,251,.6)}.ticker-value{font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace;font-size:1.1rem;font-weight:600;color:var(--gold)}.truck-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem}.start-screen,.tracking-screen{width:100%;max-width:28rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.checklist{text-align:left;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.checklist li:before{content:"\2713  ";color:var(--gold)}.start-button,.stop-button{min-height:44px;min-width:44px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:.75rem;border:none;cursor:pointer}.start-button{background:var(--gold);color:var(--navy-dark)}.stop-button{position:relative;overflow:hidden;background:transparent;color:var(--snow);border:2px solid rgba(244,246,251,.4);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.stop-button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.stop-button-fill{position:absolute;inset:0;transform-origin:left center;transform:scaleX(0);background:rgba(255,107,107,.45);pointer-events:none}.stop-button-label{position:relative}.stop-hint{margin:.6rem 0 0;font-size:.85rem;color:rgba(244,246,251,.6)}@media (prefers-reduced-motion:reduce){.stop-button-fill{transition:none}}.pulse-indicator{width:1rem;height:1rem;border-radius:50%;background:#4ade80;box-shadow:0 0 0 rgba(74,222,128,.6);animation:pulse 1.5s infinite}@media (prefers-reduced-motion:reduce){.pulse-indicator{animation:none}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}70%{box-shadow:0 0 0 12px rgba(74,222,128,0)}to{box-shadow:0 0 0 0 rgba(74,222,128,0)}}.status{font-size:1.3rem;font-weight:700;margin:0}.last-sent,.wake-lock-status{font-size:.9rem;color:rgba(244,246,251,.7);margin:0}.error{color:#f87171;font-size:.9rem}.sim-toggle{display:flex;align-items:center;gap:.6rem;margin-top:1rem;font-family:var(--font-mono),ui-monospace,monospace;font-size:.8rem;color:rgba(244,246,251,.6);cursor:pointer}.sim-toggle input{width:20px;height:20px}.sim-banner{margin:0 0 1rem;padding:.5rem .9rem;border:1px dashed #f0b429;border-radius:6px;font-family:var(--font-mono),ui-monospace,monospace;font-size:.75rem;line-height:1.4;color:#f0b429;text-align:center}.org-empty,.selector-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;text-align:center;gap:1.5rem}.santa-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem;width:100%;max-width:28rem}.santa-choice{display:flex;align-items:center;justify-content:center;min-height:44px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:.75rem;background:var(--gold);color:var(--navy-dark);text-decoration:none}.engagement{display:flex;flex-wrap:wrap;gap:1rem;padding:1.5rem 1.25rem;background:var(--navy-dark)}.engagement-card{flex:1 1 16rem;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:var(--navy);border:1px solid rgba(212,175,55,.25);border-radius:.75rem}.engagement-title{margin:0;font-size:1.1rem;color:var(--gold)}.engagement-copy{margin:0;font-size:.95rem;color:rgba(244,246,251,.8)}.letters-form{gap:.75rem}.field,.letters-form{display:flex;flex-direction:column}.field{gap:.35rem}.field-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(244,246,251,.6)}.field input,.field textarea{width:100%;padding:.65rem .75rem;font:inherit;color:var(--snow);background:var(--navy-dark);border:1px solid rgba(244,246,251,.2);border-radius:.5rem}.field textarea{resize:vertical}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.field-error{margin:0;font-size:.9rem;color:#f87171}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.donate-button,.letters-again,.letters-submit{min-height:44px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:.5rem;border:none;cursor:pointer;text-decoration:none;text-align:center}.donate-button,.letters-submit{background:var(--gold);color:var(--navy-dark)}.donate-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start}.letters-submit:disabled{opacity:.6;cursor:default}.letters-again{align-self:flex-start;background:transparent;color:var(--snow);border:2px solid rgba(244,246,251,.4)}.letters-sent{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.donate-button:focus-visible,.letters-again:focus-visible,.letters-submit:focus-visible,.sponsor-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.sponsor-card{gap:.5rem}.sponsor-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(244,246,251,.5)}.sponsor-link{text-decoration:none;color:inherit}.sponsor-shoutout{display:flex;align-items:center;gap:.75rem}.sponsor-logo{width:48px;height:48px;object-fit:contain;border-radius:.35rem}.sponsor-body{display:flex;flex-direction:column;gap:.15rem}.sponsor-name{font-weight:600;color:var(--snow)}.sponsor-text{font-size:.9rem;color:rgba(244,246,251,.8)}.sponsor-ad{width:100%;max-width:600px;height:auto;border-radius:.5rem}.schedule-page{display:flex;flex-direction:column;min-height:100vh}.schedule-header{padding:1.5rem 1.25rem .5rem;text-align:center}.schedule-header h1{margin:0 0 .5rem}.schedule-header p{margin:0;color:rgba(244,246,251,.8)}.schedule-map{margin:1rem 1.25rem 0;overflow:hidden}.schedule-map,.schedule-map .map-view{border-radius:.75rem}.schedule-list{list-style:none;margin:0;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.schedule-stop{display:flex;gap:1rem;padding:1rem;background:var(--navy);border:1px solid rgba(212,175,55,.25);border-radius:.75rem}.schedule-number{flex:0 0 auto;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gold);color:var(--navy-dark);font-weight:700;font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace}.schedule-stop-body{display:flex;flex-direction:column;gap:.25rem}.schedule-when{font-weight:600;color:var(--gold)}.schedule-time{color:rgba(244,246,251,.7);font-weight:400}.schedule-location{font-size:1.05rem}.schedule-neighborhoods,.schedule-notes{font-size:.9rem;color:rgba(244,246,251,.7)}.schedule-empty{padding:2rem 1.25rem;text-align:center;color:rgba(244,246,251,.8)}.stop-pin{background:transparent;border:none}.stop-pin-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--navy-dark);font-weight:700;font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace;border:2px solid var(--navy-dark);box-shadow:0 1px 4px rgba(0,0,0,.5)}.public-shell{display:flex;flex-direction:column;min-height:100vh}.public-shell>.schedule-page,.public-shell>.selector-page,.public-shell>.viewer-page{flex:1 0 auto;min-height:0}.skip-link{position:absolute;left:.5rem;top:-3rem;z-index:1000;padding:.6rem 1rem;background:var(--gold);color:var(--navy-dark);font-weight:600;border-radius:.5rem;text-decoration:none;transition:top .15s ease}.skip-link:focus{top:.5rem}.public-header{justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.25rem;background:var(--navy);border-bottom:1px solid rgba(212,175,55,.3)}.public-brand,.public-header{display:flex;align-items:center}.public-brand{gap:.85rem;min-width:0}.public-logo{width:44px;height:44px;object-fit:contain;border-radius:.5rem;background:rgba(244,246,251,.06)}.public-brand-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.public-org-name{margin:0;font-size:1.25rem;line-height:1.15;color:var(--snow)}.public-tagline{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(244,246,251,.55)}.lang-toggle{display:inline-flex;border:1px solid rgba(212,175,55,.5);border-radius:.5rem;overflow:hidden;flex:0 0 auto}.lang-option{min-width:44px;min-height:44px;padding:0 .85rem;font:inherit;font-weight:600;border:none;background:transparent;color:rgba(244,246,251,.7);cursor:pointer}.lang-option[aria-pressed=true]{background:var(--gold);color:var(--navy-dark)}.lang-option:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.powered-by{flex:0 0 auto;padding:1rem 1.25rem;text-align:center;font-size:.8rem;letter-spacing:.04em;color:rgba(244,246,251,.55);border-top:1px solid rgba(212,175,55,.2)}.photo-strip,.powered-by{background:var(--navy-dark)}.photo-strip{padding:1.25rem 1.25rem .5rem}.photo-strip-title{margin:0 0 .75rem;font-size:1rem;color:var(--gold)}.photo-strip-track{list-style:none;margin:0;padding:0 0 .5rem;display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x proximity}.photo-strip-item{flex:0 0 auto;width:160px;display:flex;flex-direction:column;gap:.35rem;scroll-snap-align:start}.photo-strip-img{width:160px;height:120px;object-fit:cover;border-radius:.6rem;border:1px solid rgba(212,175,55,.25)}.photo-strip-caption{font-size:.8rem;color:rgba(244,246,251,.75)}.recap-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(6,16,33,.8)}.recap-card{position:relative;width:100%;max-width:30rem;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;padding:1.75rem;background:var(--navy);border:1px solid rgba(212,175,55,.4);border-radius:1rem;text-align:center}.recap-close{position:absolute;top:.5rem;right:.5rem;width:44px;height:44px;font-size:1.5rem;line-height:1;border:none;background:transparent;color:rgba(244,246,251,.7);cursor:pointer;border-radius:.5rem}.recap-title{margin:0;font-size:1.6rem;color:var(--gold)}.recap-subtitle{margin:0;color:rgba(244,246,251,.8)}.recap-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:1.25rem 1.5rem;margin:.5rem 0}.recap-stat{display:flex;flex-direction:column;gap:.25rem}.recap-stat-value{font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace;font-size:1.75rem;font-weight:700;color:var(--snow)}.recap-stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(244,246,251,.6)}.recap-photos{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:.5rem}.recap-photo{width:96px;height:96px;object-fit:cover;border-radius:.5rem;border:1px solid rgba(212,175,55,.25)}.countdown-overlay{position:absolute;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;pointer-events:none}.countdown-panel{max-width:min(90%,26rem);padding:1.25rem 1.5rem;text-align:center;border-radius:.75rem;border:1px solid rgba(212,175,55,.35);background:rgba(6,16,33,.92);box-shadow:0 10px 30px rgba(0,0,0,.45)}.countdown-heading{margin:0 0 .6rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(244,246,251,.75)}.countdown-digits{display:flex;justify-content:center;gap:1rem}.countdown-group{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:3.25rem}.countdown-value{font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace;font-size:2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;color:var(--gold)}.countdown-unit{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(244,246,251,.6)}.countdown-soon{margin:0;font-size:1rem;font-weight:600;color:var(--snow)}.countdown-when{margin:.75rem 0 0;font-size:.95rem;color:var(--snow)}.countdown-where{margin:.2rem 0 0;font-size:.85rem;color:rgba(244,246,251,.7)}.last-known-banner{margin:0;padding:.5rem 1rem;font-size:.85rem;text-align:center;color:rgba(244,246,251,.75);background:rgba(212,175,55,.1);border-bottom:1px solid rgba(212,175,55,.25)}.recap-note{margin:0;font-size:.85rem;color:rgba(244,246,251,.6)}.recap-season-total{margin:0;font-size:1.05rem;font-weight:600;color:var(--gold)}.recap-self-reported{display:block;margin-top:.15rem;font-size:.78rem;font-weight:400;color:rgba(244,246,251,.6)}.recap-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.recap-action{min-height:44px;padding:.75rem 1.5rem;font:inherit;font-weight:600;border-radius:.5rem;border:none;cursor:pointer;background:var(--gold);color:var(--navy-dark)}.recap-action-secondary{background:transparent;color:var(--snow);border:2px solid rgba(244,246,251,.4)}.recap-copied{margin:0;font-size:.85rem;color:var(--gold)}.truck-topbar{position:absolute;top:.75rem;right:.75rem}.uploader-page{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem}.uploader-topbar{position:absolute;top:.75rem;right:.75rem}.uploader-card{width:100%;max-width:28rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.uploader-org{margin:0;font-weight:600;color:var(--gold)}.uploader-help{margin:0;color:rgba(244,246,251,.75)}.uploader-caption{width:100%;padding:.65rem .75rem;font:inherit;color:var(--snow);background:var(--navy-dark);border:1px solid rgba(244,246,251,.2);border-radius:.5rem}.uploader-caption:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.uploader-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:.75rem;background:var(--gold);color:var(--navy-dark);cursor:pointer}.uploader-button:focus-within{outline:2px solid var(--gold);outline-offset:2px}.uploader-status{margin:0;font-size:.9rem;color:var(--gold)}.uploader-status.error{color:#f87171}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.recap-action:focus-visible,.recap-close:focus-visible,.santa-choice:focus-visible,.start-button:focus-visible,.stop-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.skip-link{transition:none}.photo-strip-track{scroll-behavior:auto}}@media print{body{background:#fff;color:#000}.engagement,.last-known-banner,.map-container,.photo-strip,.powered-by,.public-header,.recap-actions,.recap-close,.skip-link,.ticker{display:none!important}.recap-overlay{position:static;padding:0;background:transparent}.recap-card{max-width:none;max-height:none;border:none;background:#fff;color:#000}.recap-season-total,.recap-stat-value,.recap-title{color:#000}.recap-note,.recap-self-reported,.recap-stat-label{color:#444}}.fn-theme{background:var(--fn-void);color:var(--fn-snow);font-family:var(--fn-font-text)}.fn-theme h1,.fn-theme h2,.fn-theme h3{font-family:var(--fn-font-display);font-weight:800}.fn-theme.public-shell{max-width:520px;margin:0 auto;min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fn-theme .fn-split-bar{height:var(--fn-split);background:linear-gradient(90deg,var(--fn-brass) 0 50%,var(--fn-engine) 50% 100%)}.fn-theme .public-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 16px;background:var(--fn-chrome);border-bottom:1px solid var(--fn-brass-22)}.fn-theme .public-brand{display:flex;align-items:center;gap:12px;min-width:0}.fn-theme .public-logo-square{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:var(--fn-r-control);background:var(--fn-brass-14);border:1px solid rgba(217,164,65,.4);overflow:hidden}.fn-theme .public-logo{width:100%;height:100%;object-fit:contain;background:transparent;border-radius:0}.fn-theme .public-logo-initials{font-family:var(--fn-font-display);font-weight:800;font-size:13px;color:var(--fn-brass)}.fn-theme .public-brand-text{min-width:0;gap:0}.fn-theme .public-org-name{font-family:var(--fn-font-display);font-weight:800;font-size:16px;letter-spacing:-.015em;line-height:1.2;color:#ffffff;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fn-theme .public-tagline{display:block;font-family:var(--fn-font-text);font-weight:600;font-size:11px;letter-spacing:.14em;line-height:1;text-transform:uppercase;color:var(--fn-brass-text);margin-top:5px}.fn-theme .lang-toggle{display:flex;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:var(--fn-r-control);overflow:hidden}.fn-theme .lang-option{min-width:44px;min-height:44px;padding:0 12px;border:0;background:transparent;font-family:var(--fn-font-display);font-weight:700;font-size:13px;color:#aba39b;cursor:pointer;transition:background var(--fn-t-hover) var(--fn-ease),color var(--fn-t-hover) var(--fn-ease)}.fn-theme .lang-option[aria-pressed=true]{background:var(--fn-quiet-14);color:#ffffff}.fn-theme .powered-by{padding:16px 20px;text-align:center;background:var(--fn-chrome);font-family:var(--fn-font-text);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#988f87}.fn-theme .viewer-page{display:flex;flex-direction:column;flex:1 1;background:var(--fn-void)}.fn-theme .viewer-page .map-container{position:relative;flex:1 1;min-height:300px;height:auto;background:var(--fn-map);overflow:hidden}.fn-theme .viewer-page .map-view{position:absolute;inset:0;width:auto;height:auto}.fn-theme .viewer-page .leaflet-container{background:var(--fn-map)}.fn-theme .viewer-page .leaflet-tile-pane{filter:saturate(.55) brightness(.62) contrast(1.08) hue-rotate(196deg)}.fn-theme .viewer-page .leaflet-control-attribution{background:rgba(16,18,22,.82);color:var(--fn-muted);font-family:var(--fn-font-text);font-size:10px;padding:2px 6px;border-radius:var(--fn-r-control) 0 0 0}.fn-theme .viewer-page .leaflet-control-attribution a{color:var(--fn-brass-text)}.fn-theme .viewer-page .leaflet-control-zoom a{background:rgba(20,16,15,.92);color:var(--fn-snow);border-color:var(--fn-line-strong)}.fn-theme .viewer-page .leaflet-control-zoom a:hover{background:var(--fn-chrome);color:var(--fn-brass-text)}.fn-theme .truck-marker{position:relative;width:32px;height:32px}.fn-theme .truck-marker-pulse{position:absolute;inset:0;border-radius:var(--fn-r-control);background:rgba(217,164,65,.5);animation:fn-marker-pulse 2.4s var(--fn-ease) infinite}.fn-theme .truck-marker-core{position:absolute;inset:4px;display:grid;place-items:center;border-radius:var(--fn-r-control);background:var(--fn-brass);box-shadow:0 0 26px 7px var(--fn-brass-45);font-family:var(--fn-font-display);font-weight:800;font-size:12px;color:var(--fn-chrome)}.fn-theme .truck-marker.is-stale .truck-marker-core{box-shadow:0 0 26px 7px rgba(217,164,65,.18)}.fn-theme .truck-marker.is-stale .truck-marker-pulse{animation:none;background:rgba(217,164,65,.22)}@keyframes fn-marker-pulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(2.6);opacity:0}to{transform:scale(2.6);opacity:0}}.fn-theme .viewer-page .leaflet-overlay-pane path.truck-trail{filter:drop-shadow(0 0 20px rgba(200,34,28,.45))}.fn-theme .snowfall{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:400}.fn-theme .snowflake{position:absolute;top:0;border-radius:50%;background:#ffffff;animation-name:fn-drift;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes fn-drift{0%{transform:translateY(-120px)}to{transform:translateY(900px)}}.fn-theme .map-visited-chip{position:absolute;left:16px;bottom:16px;z-index:401;display:flex;align-items:center;gap:8px;margin:0;padding:7px 12px;border-radius:var(--fn-r-control);background:rgba(16,18,22,.88);border:1px solid rgba(226,232,240,.2);font-family:var(--fn-font-text);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b9c1ce}.fn-theme .map-visited-swatch{width:10px;height:10px;border-radius:2px;background:var(--fn-engine)}.fn-theme .photo-strip{background:var(--fn-map);padding:12px 20px 14px;border-top:1px solid rgba(226,232,240,.12)}.fn-theme .photo-strip-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.fn-theme .photo-strip-title{margin:0;font-family:var(--fn-font-text);font-weight:600;font-size:11px;letter-spacing:.14em;line-height:1;text-transform:uppercase;color:var(--fn-brass-text)}.fn-theme .photo-strip-meta{font-family:var(--fn-font-text);font-size:11px;color:var(--fn-muted)}.fn-theme .photo-strip-track{display:flex;gap:8px;margin:0;padding:0;list-style:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-anchor:none}.fn-theme .photo-strip-track::-webkit-scrollbar{display:none}.fn-theme .photo-strip-item{position:relative;flex:0 0 auto;display:block;gap:0;width:96px;height:68px;border-radius:var(--fn-r-card);border:1px solid var(--fn-line);overflow:hidden;animation:fn-photo-in var(--fn-t-lift) var(--fn-ease) both}.fn-theme .photo-strip-item.is-new{border-color:var(--fn-brass-45)}.fn-theme .photo-strip-img{width:100%;height:100%;object-fit:cover;display:block;border:0;border-radius:0}.fn-theme .photo-strip-flag{position:absolute;top:6px;left:6px;padding:2px 5px;border-radius:3px;background:var(--fn-engine);font-family:var(--fn-font-display);font-weight:700;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff}@keyframes fn-photo-in{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:none}}.fn-theme .ticker{display:block;padding:16px 20px;background:var(--fn-chrome);border-top:1px solid var(--fn-brass-22)}.fn-theme .ticker-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.fn-theme .ticker-live{display:inline-flex;align-items:center;gap:8px;font-family:var(--fn-font-display);font-weight:700;font-size:11px;letter-spacing:.14em;line-height:1;text-transform:uppercase;color:var(--fn-engine-text)}.fn-theme .ticker-live-dot{width:8px;height:8px;border-radius:50%;background:var(--fn-engine);animation:fn-blink 1.6s ease-in-out infinite}@keyframes fn-blink{0%,to{opacity:1}50%{opacity:.35}}.fn-theme .ticker-lastping{font-family:var(--fn-font-text);font-size:12px;color:var(--fn-muted)}.fn-theme .ticker-street{margin:10px 0 0;font-family:var(--fn-font-display);font-weight:800;font-size:27px;letter-spacing:-.025em;line-height:1.1;color:#ffffff}.fn-theme .ticker-stats{display:flex;gap:28px;margin:14px 0 0}.fn-theme .ticker-stat{display:flex;flex-direction:column-reverse;gap:4px}.fn-theme .ticker-stat-value{margin:0;font-family:var(--fn-font-display);font-weight:800;font-size:19px;line-height:1.1;color:var(--fn-snow)}.fn-theme .ticker-stat-accent{color:var(--fn-brass-text)}.fn-theme .ticker-stat-label{font-family:var(--fn-font-text);font-weight:600;font-size:10px;letter-spacing:.12em;line-height:1;text-transform:uppercase;color:var(--fn-muted)}.fn-theme .engagement{display:flex;flex-wrap:wrap;gap:12px;padding:16px 20px 18px;background:var(--fn-raised)}.fn-theme .engagement-card{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px);min-width:0;margin:0;display:block;padding:0;gap:0;border-radius:var(--fn-r-card);background:var(--fn-chrome);border:1px solid var(--fn-quiet-16);overflow:hidden}.fn-theme .sponsor-card{flex-basis:100%;padding:14px}.fn-theme .engagement-letters.is-open{flex-basis:100%}.fn-theme .engagement-donate{background:var(--fn-engine);border-color:var(--fn-engine);transition:background var(--fn-t-hover) var(--fn-ease)}.fn-theme .engagement-donate:hover{background:var(--fn-engine-hover)}.fn-theme .engagement-title{margin:0;font-size:inherit}.fn-theme .engagement-card-link,.fn-theme .engagement-disclosure{display:block;width:100%;padding:14px;border:0;background:transparent;text-align:left;text-decoration:none;cursor:pointer;font:inherit;min-height:44px}.fn-theme .engagement-card-title{display:block;font-family:var(--fn-font-display);font-weight:800;font-size:14px;letter-spacing:-.01em;line-height:1.2;color:#ffffff}.fn-theme .engagement-card-sub{display:block;margin-top:4px;font-family:var(--fn-font-text);font-weight:400;font-size:12px;line-height:1.45;color:var(--fn-warm)}.fn-theme .engagement-donate .engagement-card-sub{color:#ffffff}.fn-theme .engagement-panel{padding:0 14px 14px}.fn-theme a:focus-visible,.fn-theme button:focus-visible,.fn-theme input:focus-visible,.fn-theme select:focus-visible,.fn-theme textarea:focus-visible{outline:2px solid var(--fn-brass);outline-offset:2px}@media (prefers-reduced-motion:reduce){.fn-theme .photo-strip-item,.fn-theme .snowflake,.fn-theme .ticker-live-dot,.fn-theme .truck-marker-pulse{animation:none!important}.fn-theme .snowfall{display:none}.fn-theme *{transition-duration:.01ms!important}}