.location-recovery{margin-block:16px;padding:16px;border:1px solid #a17a4366;border-inline-start:4px solid #a17a43;border-radius:12px;background:#fff9ec;color:#28392e;max-width:75ch}.location-recovery[hidden]{display:none!important}.location-recovery p{margin:0 0 12px;font-size:.95rem;line-height:1.6}.location-retry-button{min-height:46px;max-width:100%;padding:10px 16px;border:1px solid #146b55;border-radius:10px;background:#146b55;color:#fff;font:inherit;font-weight:650;cursor:pointer}.location-recovery geolocation{display:inline-block;background-color:#fff;color:#143d31;font-size:16px}.location-retry-button:focus-visible{outline:3px solid #a15b14;outline-offset:3px}:root{--bg:#f5efdf;--surface:#fffcf6;--ink:#1e2b26;--muted:#536057;--accent:#0d7660;--line:rgba(30,43,38,.14);--font-body:"Avenir Next","Trebuchet MS","Segoe UI",sans-serif;--font-display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(ellipse at 8% 5%,#dfe8d2 0,transparent 45%),repeating-radial-gradient(ellipse at 90% 30%,transparent 0 30px,#1e2b2606 31px 32px),var(--bg);line-height:1.6}a{color:var(--accent);text-underline-offset:.2em}button,select,input{font:inherit}button,select,summary{cursor:pointer}button,select{min-height:46px;border-radius:12px}button{padding:.65rem 1rem;font-weight:650}button:disabled,input:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid #b45e10;outline-offset:4px}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;inset-block-start:8px;inset-inline-start:8px;background:var(--ink);color:#fff;padding:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.speed-shell{max-width:1140px;margin:auto;padding:24px 24px 40px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:18px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:1.4rem;font-weight:750;letter-spacing:-.05em;color:var(--ink)}.brand span{color:var(--accent);margin-inline-start:.3rem;font-family:var(--font-display);font-style:italic;font-weight:500}.languages{position:relative;z-index:5;font-size:.9rem}.languages summary{padding:8px 12px}.languages ul{position:absolute;inset-inline-end:0;max-height:65svh;overflow:auto;width:230px;padding:12px 20px;list-style:none;background:var(--surface);box-shadow:0 16px 40px #1e2b2626;border:1px solid var(--line);border-radius:16px}.languages a{display:block;padding:6px}.languages [aria-current]{font-weight:750}.breadcrumbs{font-size:.8rem;margin-block:22px;color:var(--muted)}.breadcrumbs a{color:inherit}.speed-heading{max-width:840px;margin-block:28px}.eyebrow{color:var(--accent);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750;margin-bottom:6px}h1{font-family:var(--font-display);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.08;letter-spacing:-.035em;font-weight:500;margin:0 0 16px;text-wrap:balance}.intro{max-width:760px;font-size:1.08rem;color:var(--muted);margin-bottom:28px}.instrument{position:relative;border:1px solid #9ba98f;border-radius:28px;padding:24px 30px;background:radial-gradient(ellipse at 85% 10%,#d7e7cd,transparent 70%),linear-gradient(150deg,#f4f5e6,#e5ecda);box-shadow:0 18px 50px #24372014;animation:arrive .45s ease both}.instrument-top,.instrument-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.status{max-width:680px;font-size:.9rem;margin:0;color:var(--muted);min-height:1.5em}.status:before{content:"";display:inline-block;width:8px;height:8px;background:#899280;border-radius:50%;margin-inline-end:9px}.instrument[data-state=live] .status:before,.instrument[data-state=estimated] .status:before{background:var(--accent);box-shadow:0 0 0 4px #0d76601a}.speed-readout{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:15px 0}.readout-label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}#speed-value{font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.065em;font-size:clamp(4.5rem,14vw,10rem);font-weight:650;max-width:100%;overflow-wrap:anywhere;direction:ltr}.unit-symbol{font-size:1.4rem;font-weight:500;color:var(--accent)}.speed-controls{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}.unit-control{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:650}.unit-control select{min-width:150px;background:var(--surface);border:1px solid #9aa68e;padding:8px 12px;color:var(--ink)}.buttons{display:flex;gap:10px;flex-wrap:wrap}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary-button:hover{background:#095c4c}.quiet-button{border:1px solid #8b9984;background:#ffffff70;color:var(--ink)}.quiet-button:hover{background:#fff}.trip-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding-block:24px 8px;margin-block:24px 0;border-top:1px solid #9ba98f66}.trip-stats dt{color:var(--muted);font-size:.78rem}.trip-stats dd{margin:4px 0;font-size:clamp(1.2rem,2.5vw,1.65rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.trip-stats small{font-size:.7rem}.instrument-bottom{padding-top:16px;font-size:.78rem;color:var(--muted)}.wake-control{display:flex;align-items:center;gap:7px;min-height:35px}.wake-control input{width:18px;height:18px;accent-color:var(--accent)}.mach-note{font-size:.85rem;max-width:750px;margin-bottom:0}.privacy-note{font-size:.8rem;color:var(--muted);margin:18px 0 26px}.location-readings{border:1px solid var(--line);border-radius:18px;background:#fffcf680}.location-readings dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:22px}.reading dt{font-size:.75rem;color:var(--muted)}.reading dd{margin:7px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.compass-arrow{display:inline-block;color:var(--accent);font-weight:750}.speed-guide{display:grid;grid-template-columns:1fr 1fr;gap:24px 50px;margin-block:40px}.speed-guide h2{font-family:var(--font-display);font-size:1.7rem;font-weight:500;line-height:1.2;margin:0 0 12px}.speed-guide p{font-size:.95rem;color:var(--muted);margin:0 0 12px}.safety-note{border-inline-start:3px solid #bf7332;padding:10px 18px;font-size:.85rem;color:var(--muted);background:#fff8ed80}footer{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:.8rem}footer span{margin-inline-start:auto;color:var(--muted)}.instrument:fullscreen,.instrument.focus-mode{border-radius:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(15px,4vw,48px);overflow:auto;min-height:100dvh}.instrument:fullscreen .speed-readout,.focus-mode .speed-readout{flex:1;min-height:180px}.instrument:fullscreen #speed-value,.focus-mode #speed-value{font-size:clamp(5rem,20vmin,14rem)}.instrument.focus-mode{position:fixed;inset:0;z-index:50}.focus-mode .instrument-top{margin-top:auto}.focus-mode .instrument-bottom{margin-bottom:auto}@keyframes arrive{0%{transform:translateY(8px)}to{transform:none}}@media(max-width:650px){.speed-shell{padding:16px 14px 28px}.brand{font-size:1.2rem}.languages{font-size:.8rem}.breadcrumbs{font-size:.72rem;margin-block:16px}.speed-heading{margin-top:22px}.intro{font-size:.95rem}.instrument{padding:18px;border-radius:22px}.instrument-top{align-items:start}.instrument-top .quiet-button{font-size:.72rem;padding:6px 10px;min-height:36px;flex-shrink:0}.status{font-size:.78rem}.speed-readout{min-height:235px}.speed-controls{gap:14px}.unit-control,.buttons{width:100%}.buttons button{flex:1;min-height:48px}.trip-stats{grid-template-columns:1fr 1fr;gap:16px;padding-top:18px;margin-top:20px}.location-readings dl{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.speed-guide{grid-template-columns:1fr;gap:22px;margin-block:30px}.speed-guide h2{font-size:1.55rem}.speed-guide p{font-size:.9rem}.instrument-bottom{gap:8px}.wake-control{font-size:.75rem}footer span{margin-inline-start:0}#speed-value{font-size:clamp(3.5rem,18vw,7rem)}}@media(prefers-reduced-motion:reduce){.instrument{animation:none}}.place-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0}.place-nav a{display:block;padding:8px 12px;border:1px solid var(--line);border-radius:24px;text-decoration:none;font-size:.85rem}
