:root{color:#445149;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink:#14271d;--text:#445149;--muted:#728078;--surface:#fbfcf8;--border:#d8e0d8;--moss:#2d6547;--moss-soft:#dceadf;--coral:#d96f50;--coral-soft:#f6ddd5;--amber:#bb7b19;--amber-soft:#fae8c4;--border-strong:#bcc8be;--shadow-small:0 8px 28px #14271d1f;--shadow-large:0 30px 80px #1b2c231f;background:#eff3ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#eff3ed;min-width:320px}body{min-width:320px;min-height:100svh;margin:0}button,a{-webkit-tap-highlight-color:transparent}.holding-page{place-items:center;min-height:100svh;padding:clamp(28px,5vw,72px);display:grid}.message-page{place-items:center;min-height:100svh;padding:28px;display:grid}.message-card{border:1px solid var(--border);background:var(--surface);width:min(100%,680px);box-shadow:var(--shadow-large);border-radius:28px;padding:clamp(32px,7vw,72px)}.home-download-card{border:1px solid var(--border);background:var(--surface);width:min(100%,960px);box-shadow:var(--shadow-large);border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(220px,320px);grid-template-areas:"copy artwork";align-items:center;gap:clamp(40px,7vw,88px);padding:clamp(38px,6vw,72px);display:grid;overflow:hidden}.home-download-copy{grid-area:copy;min-width:0}.home-download-brand{color:var(--moss);letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;font-weight:800}.home-download-card h1{max-width:12ch;color:var(--ink);letter-spacing:-.06em;margin:18px 0 0;font-size:clamp(2.7rem,5.7vw,4.8rem);font-weight:650;line-height:.98}.home-download-description{max-width:43ch;color:var(--text);margin:24px 0 0;font-size:clamp(1rem,1.8vw,1.12rem);line-height:1.6}.home-store-badges{--home-store-badge-height:clamp(40px, 5vw, 52px);align-items:center;gap:calc(var(--home-store-badge-height) / 4);margin-top:32px;display:flex}.home-store-badge{border-radius:9px;flex:none;line-height:0}.home-store-badge img{width:auto;height:var(--home-store-badge-height);display:block}.home-store-badge:focus-visible{outline-offset:3px;outline:3px solid #2d65474d}.home-download-artwork{grid-area:artwork;place-items:center;display:grid}.home-app-icon{filter:drop-shadow(0 24px 34px #14271d33);width:100%;height:auto;display:block}@media (width<=700px){.holding-page{padding:12px}.home-download-card{text-align:center;border-radius:24px;grid-template-columns:minmax(0,1fr);grid-template-areas:"artwork""copy";gap:28px;width:min(100%,520px);padding:28px 14px 34px}.home-download-card h1{margin-left:auto;margin-right:auto;font-size:clamp(2.4rem,12vw,4rem)}.home-download-description{margin-left:auto;margin-right:auto}.home-download-artwork{justify-self:center;width:min(62vw,250px)}.home-store-badges{--home-store-badge-height:clamp(40px, 10vw, 48px);justify-content:center;margin-top:28px}}.message-card{width:min(100%,560px)}.brand{color:var(--ink);letter-spacing:-.03em;font-size:1rem;font-weight:780}.eyebrow{color:var(--moss);letter-spacing:.14em;text-transform:uppercase;margin:44px 0 14px;font-size:.72rem;font-weight:780}.holding-card h1,.message-card h1{max-width:11ch;color:var(--ink);letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,8vw,5rem);font-weight:650;line-height:.96}.message-card h1{max-width:12ch;font-size:clamp(2.25rem,7vw,4rem)}.summary{max-width:52ch;color:var(--text);margin:30px 0 0;font-size:clamp(1rem,2.5vw,1.2rem);line-height:1.6}.notice{border-top:1px solid var(--border);color:var(--muted);margin:44px 0 0;padding-top:20px;font-size:.8rem;line-height:1.5}.message-symbol{background:var(--moss-soft);border-radius:50%;place-items:center;width:58px;height:58px;margin-top:42px;display:grid}.message-symbol span{background:var(--moss);border-radius:999px;width:20px;height:3px}.message-card .eyebrow{margin-top:24px}.message-download{border-top:1px solid var(--border);margin-top:36px;padding-top:24px}.message-download h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.08rem;font-weight:740}.message-download>p{color:var(--text);margin:8px 0 0;font-size:.9rem;line-height:1.5}.message-store-badges{--message-store-badge-height:clamp(36px, 11.5vw, 48px);align-items:center;gap:calc(var(--message-store-badge-height) / 4);margin-top:18px;display:flex}.message-store-badge{border-radius:9px;flex:none;line-height:0}.message-store-badge img{width:auto;height:var(--message-store-badge-height);display:block}.message-store-badge:focus-visible{outline-offset:3px;outline:3px solid #2d65474d}.trace-page{background:#dbe5dc;min-height:100svh;position:relative;overflow:hidden}.trace-header{z-index:1000;top:max(16px, env(safe-area-inset-top));pointer-events:none;flex-direction:column;align-items:stretch;gap:8px;display:flex;position:absolute;left:16px}.trace-timestamp{min-width:0;min-height:40px;color:var(--text);box-shadow:var(--shadow-small);text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfcf8f0;border:1px solid #14271d1f;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0 14px;font-size:.77rem;font-weight:720;display:inline-flex;overflow:hidden}.trace-timestamp--stale,.trace-timestamp--disconnected{color:#75412f;background:#fff3eff5;border-color:#d96f5057}.trace-timestamp--waiting,.trace-timestamp--connecting{color:#704a10;background:#fff9ecf5;border-color:#bb7b1947}.trace-app-promo{color:#fff;background:var(--moss);min-height:40px;box-shadow:var(--shadow-small);font:inherit;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;cursor:pointer;border:1px solid #14271d1a;border-radius:999px;justify-content:center;align-items:center;padding:0 13px;font-size:.77rem;font-weight:720;line-height:1;transition:border-color .16s,background .16s;display:inline-flex}.trace-app-promo:hover{background:#24583d}.trace-app-promo:focus-visible{outline-offset:3px;outline:3px solid #2d65474d}.app-store-sheet-backdrop{z-index:2000;background:#0b140f5c;justify-content:center;align-items:flex-end;animation:.16s ease-out sheet-backdrop-in;display:flex;position:fixed;inset:0}.app-store-sheet{width:min(100%,460px);padding:28px 24px calc(24px + env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--surface);text-align:center;border-bottom:0;border-radius:26px 26px 0 0;animation:.22s cubic-bezier(.22,.8,.3,1) sheet-slide-in;position:relative;box-shadow:0 -24px 70px #0d16113d}.app-store-sheet h2{color:var(--ink);letter-spacing:-.03em;margin:4px 36px 0;font-size:1.3rem;font-weight:740}.app-store-sheet>p{max-width:31ch;color:var(--text);margin:10px auto 20px;font-size:.92rem;line-height:1.5}.app-store-sheet-close{width:44px;height:44px;color:var(--ink);background:var(--moss-soft);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid;position:absolute;top:12px;right:12px}.app-store-sheet-badges{--store-badge-height:clamp(40px, 12.5vw, 52px);justify-content:center;align-items:center;gap:calc(var(--store-badge-height) / 4);display:flex}.app-store-sheet-badge{border-radius:10px;flex:none;line-height:0}.app-store-sheet-badge img{width:auto;height:var(--store-badge-height);display:block}.app-store-sheet-close:focus-visible,.app-store-sheet-badge:focus-visible{outline-offset:3px;outline:3px solid #2d65474d}@keyframes sheet-backdrop-in{0%{opacity:0}}@keyframes sheet-slide-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.app-store-sheet-backdrop,.app-store-sheet{animation:none}}.map-shell,.trace-map{width:100%;height:100%;position:absolute;inset:0}.trace-map{z-index:0;background:#dbe5dc}.trace-map .mapboxgl-canvas{width:100%!important;height:100%!important}.mapboxgl-ctrl-top-right{top:max(10px, env(safe-area-inset-top));right:6px}.mapboxgl-ctrl-group{border:1px solid #14271d29;overflow:hidden;box-shadow:var(--shadow-small)!important;background:#fbfcf8f5!important;border-radius:10px!important}.mapboxgl-ctrl-group button{width:36px;height:36px}.mapboxgl-ctrl-bottom-left{bottom:calc(160px + env(safe-area-inset-bottom));left:8px}.mapboxgl-ctrl-attrib{background:#fbfcf8e0!important;border-radius:7px!important;font-size:9px!important}.map-error{z-index:2;width:min(100% - 48px,330px);color:var(--text);box-shadow:var(--shadow-small);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfcf8f0;border:1px solid #14271d26;border-radius:16px;gap:6px;padding:16px 18px;font-size:.8rem;line-height:1.42;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-loading{z-index:2;color:var(--text);box-shadow:var(--shadow-small);background:#fbfcf8e6;border:1px solid #14271d1f;border-radius:999px;padding:10px 14px;font-size:.8rem;font-weight:680;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-error strong{color:var(--ink);font-size:.95rem}.map-legend{z-index:2;bottom:calc(78px + env(safe-area-inset-bottom));min-width:92px;color:var(--text);box-shadow:var(--shadow-small);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfcf8ed;border:1px solid #14271d24;border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;font-size:.78rem;font-weight:720;display:flex;position:absolute;left:16px}.map-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border:2px solid #fff;border-radius:50%;width:11px;height:11px;display:inline-block;box-shadow:0 0 0 1px #14271d26}.legend-dot--tracer{background:#d95f40}.legend-dot--follower{background:#2767c8}.map-action{z-index:1000;right:16px;bottom:calc(78px + env(safe-area-inset-bottom));min-height:44px;color:var(--ink);box-shadow:var(--shadow-small);font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfcf8f5;border:1px solid #14271d29;border-radius:13px;align-items:center;gap:7px;padding:0 14px;font-size:.82rem;font-weight:740;display:inline-flex;position:absolute}.map-action span{font-size:1.15rem;line-height:1}.location-action,.location-status{z-index:1000;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:min(100% - 32px,360px);min-height:54px;box-shadow:var(--shadow-small);font:inherit;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;justify-content:center;align-items:center;margin:0 auto;padding:0 22px;font-weight:750;display:flex;position:absolute;left:16px}.location-action{color:#fff;background:var(--moss);cursor:pointer;border:1px solid #14271d1a}.location-status{color:#75412f;background:#fff3eff5;border:1px solid #d96f5057}.location-action:hover:not(:disabled){background:#24583d}.location-action:disabled{cursor:default;opacity:.88}.location-action:focus-visible,.map-action:focus-visible{outline-offset:3px;outline:3px solid #2d65474d}.privacy-page{background:radial-gradient(circle at 100% 0%, #dceadfe6, transparent 32rem), var(--surface);min-height:100svh;padding:clamp(24px,5vw,72px) 20px}.privacy-document{width:min(100%,760px);margin:0 auto}.privacy-header{border-bottom:1px solid var(--border);padding-bottom:clamp(36px,7vw,72px)}.privacy-brand{color:var(--ink);letter-spacing:-.03em;align-items:center;gap:9px;font-size:1rem;font-weight:780;text-decoration:none;display:inline-flex}.privacy-brand-mark{border:3px solid var(--moss);width:12px;height:12px;box-shadow:7px 7px 0 -3px var(--coral);border-radius:50%;display:inline-block}.privacy-brand:focus-visible,.privacy-body a:focus-visible,.privacy-summary a:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #2d654740}.privacy-header .eyebrow{margin-top:clamp(56px,9vw,96px)}.privacy-header h1{color:var(--ink);letter-spacing:-.065em;margin:0;font-size:clamp(3.25rem,10vw,6.5rem);font-weight:650;line-height:.94}.privacy-intro{max-width:54ch;color:var(--text);margin:28px 0 0;font-size:clamp(1.08rem,2.4vw,1.3rem);line-height:1.6}.privacy-effective{color:var(--muted);margin:26px 0 0;font-size:.88rem}.privacy-summary{border:1px solid var(--border);background:var(--moss-soft);border-radius:22px;margin:34px 0 0;padding:clamp(24px,5vw,36px)}.privacy-summary h2{color:var(--ink);letter-spacing:-.02em;margin:0 0 18px;font-size:1.1rem}.privacy-summary ul,.privacy-body ul{padding-left:1.25rem}.privacy-summary ul{margin:0}.privacy-summary li,.privacy-body li{color:var(--text);padding-left:.35rem;line-height:1.65}.privacy-summary li+li,.privacy-body li+li{margin-top:.65rem}.privacy-summary li::marker{color:var(--moss)}.privacy-body li::marker{color:var(--moss)}.privacy-body{padding:16px 0 72px}.privacy-body section{border-bottom:1px solid var(--border);padding:clamp(34px,6vw,56px) 0}.privacy-body h2{color:var(--ink);letter-spacing:-.035em;margin:0 0 20px;font-size:clamp(1.55rem,4vw,2rem);font-weight:680;line-height:1.15}.privacy-body h3{color:var(--ink);letter-spacing:-.015em;margin:30px 0 10px;font-size:1.02rem;font-weight:740}.privacy-body p,.privacy-body ul{color:var(--text);margin-top:0;margin-bottom:18px;font-size:1rem;line-height:1.75}.privacy-body p:last-child,.privacy-body ul:last-child{margin-bottom:0}.privacy-body a{color:var(--moss);text-underline-offset:3px;font-weight:680;text-decoration-thickness:1px}.privacy-body a:hover{color:#234f38}.privacy-contact{border-bottom:0!important}.support-page{background:radial-gradient(circle at 100% 0%, #dceadfe6, transparent 32rem), var(--surface);place-items:center;min-height:100svh;padding:28px;display:grid}.support-card{border:1px solid var(--border);background:var(--surface);width:min(100%,620px);box-shadow:var(--shadow-large);border-radius:28px;padding:clamp(32px,7vw,64px)}.support-brand{color:var(--ink);letter-spacing:-.03em;font-size:1rem;font-weight:780}.support-card h1{color:var(--ink);letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:650;line-height:.96}.support-card>p:last-child{max-width:48ch;color:var(--text);margin:28px 0 0;font-size:clamp(1rem,2.5vw,1.15rem);line-height:1.65}.support-card a{color:var(--moss);text-underline-offset:3px;font-weight:680;text-decoration-thickness:1px}.support-card a:hover{color:#234f38}.support-card a:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #2d654740}@media (width<=759px){.trace-page--location-active .mapboxgl-ctrl-bottom-left{bottom:calc(98px + env(safe-area-inset-bottom))}.trace-page--location-active .map-action,.trace-page--location-active .map-legend{bottom:calc(16px + env(safe-area-inset-bottom))}}@media (width>=760px){.trace-header{top:24px;left:24px}.mapboxgl-ctrl-top-right{top:14px;right:14px}.mapboxgl-ctrl-bottom-left{bottom:104px;left:16px}.map-action{bottom:24px;right:24px}.map-legend{bottom:24px;left:24px}.location-action,.location-status{width:320px;bottom:24px;left:24px;right:24px}}@media (width<=860px){.home-store-banner{width:min(100%,680px);margin:0 auto}}@media (width<=520px){.holding-page{padding:18px}.message-page,.support-page{padding:0}.message-card,.support-card{min-height:100svh;box-shadow:none;border:0;border-radius:0}.home-store-banner{border-radius:22px;width:min(100%,420px)}.privacy-page{padding-left:18px;padding-right:18px}}
