:root{--md-surface:#0f1417;--md-surface-container-lowest:#0a0f11;--md-surface-container-low:#171c1f;--md-surface-container:#1b2124;--md-surface-container-high:#252b2e;--md-surface-container-highest:#303639;--md-on-surface:#e1e3e5;--md-on-surface-variant:#bfc8cc;--md-outline:#899296;--md-outline-variant:#3f484c;--md-primary:#70d8ff;--md-on-primary:#083443;--md-primary-container:#0f4d60;--md-on-primary-container:#bce8ff;--md-secondary-container:#354a53;--md-on-secondary-container:#d1e6f0;--md-error:#ffb4ab;--md-error-container:#93000a;--md-on-error-container:#ffdad6;--text-muted:#8a9296;--sig-excellent:#00e676;--sig-good:#9ccc65;--sig-fair:#ffca28;--sig-poor:#ff7043;--sig-none:#ef5350;--kind-cell:#5dddf0;--kind-wifi:#b388ff;--kind-ble:#ff80ab;--md-radius-sm:10px;--md-radius-md:16px;--md-radius-lg:24px;--shape-full:999px;--elevation-1:0 1px 2px #0000004d, 0 1px 3px 1px #00000026;--elevation-2:0 1px 2px #0000004d, 0 2px 6px 2px #00000026;--elevation-3:0 4px 8px 3px #00000026, 0 1px 3px #0000004d;--font-family:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-display:"Chakra Petch", "IBM Plex Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--md-surface);color:var(--md-on-surface);font-family:var(--font-family);-webkit-font-smoothing:antialiased;margin:0;padding:0}a{color:var(--md-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}.mono,code,kbd,pre,samp{font-family:var(--font-mono)}h1,h2,.page-h1{font-family:var(--font-display)}.card{background:var(--md-surface-container);border:1px solid var(--md-outline-variant);border-radius:var(--md-radius-lg);padding:16px}.label{color:var(--md-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.input{border-radius:var(--md-radius-sm);border:1px solid var(--md-outline);background:var(--md-surface-container-low);width:100%;color:var(--md-on-surface);padding:10px 14px;font-family:inherit;font-size:15px}.btn{background:var(--md-primary-container);color:var(--md-on-primary-container);border-radius:var(--md-radius-sm);letter-spacing:.5px;text-transform:uppercase;border:none;padding:12px 20px;font-weight:700}.btn:disabled{opacity:.5;cursor:not-allowed}.leaflet-container{background:var(--md-surface)!important}.leaflet-control-attribution{color:#aaa!important;background:#0009!important;font-size:9px!important}.leaflet-control-attribution a{color:#7cc!important}.legal{padding:0 20px;display:block}.legal-inner{max-width:44rem;margin:0 auto;padding:3rem 0 6rem}.legal h1{font-family:var(--font-display);letter-spacing:-.01em;color:var(--md-on-surface);margin:.5rem 0 1.25rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;line-height:1.2}.legal h2{font-family:var(--font-display);color:var(--md-on-surface);margin:2.75rem 0 .5rem;font-size:1.3125rem;font-weight:700;line-height:1.3}.legal p,.legal li{color:var(--md-on-surface);font-size:1rem;line-height:1.7}.legal p{margin:0 0 1rem}.legal ul{margin:0 0 1rem;padding-left:1.35rem}.legal li{margin:0 0 .5rem}.legal strong{color:var(--md-on-surface);font-weight:700}.legal a{color:var(--md-primary);text-underline-offset:2px;text-decoration:underline}.legal a:hover{opacity:.85;text-decoration:underline}.legal :focus-visible{outline:2px solid var(--md-primary);outline-offset:2px;border-radius:4px}.legal-back{font-size:.875rem}.legal-meta{border-bottom:1px solid var(--md-outline-variant);margin:0 0 2rem;padding:0 0 1.5rem}.legal-meta div{gap:.5rem;margin:0 0 .25rem;display:flex}.legal-meta dt{min-width:6.5rem;color:var(--md-on-surface-variant);font-weight:700}.legal-meta dd{color:var(--md-on-surface);margin:0}.legal-callout{background:var(--md-surface-container);border-left:3px solid var(--md-primary);border-radius:var(--shape-sm);margin:0 0 1rem;padding:.75rem 1rem}.legal-callout p{margin:0}.legal-table-wrap{margin:0 0 1rem;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;min-width:34rem}.legal-table th,.legal-table td{border:1px solid var(--md-outline-variant);text-align:left;vertical-align:top;color:var(--md-on-surface);padding:.625rem .75rem;font-size:.9375rem;line-height:1.5}.legal-table thead th{background:var(--md-surface-container);font-weight:700}.legal-table th[scope=row]{white-space:nowrap;font-weight:700}
