.analytics-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.analytics-filters label{flex-direction:column;gap:4px;display:flex}.analytics-note{margin:0;font-size:.9em}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;display:grid}.analytics-card{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.analytics-card h4{margin:0}.analytics-def{margin:0;font-size:.9em}.analytics-chart{width:100%;height:auto;max-height:140px}.analytics-bar{fill:currentColor;opacity:.75}.analytics-axis{stroke:currentColor;stroke-width:1px;opacity:.4}.analytics-table-wrap{max-height:180px;overflow:auto}.analytics-table{border-collapse:collapse;width:100%;font-size:.9em}.analytics-table th,.analytics-table td{text-align:left;border-bottom:1px solid var(--border);padding:2px 6px}.analytics-table caption{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.admin-console{flex-direction:column;gap:12px;display:flex}.admin-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-item{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:12px;display:flex}.admin-diff{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;display:grid}.admin-diff dd{overflow-wrap:anywhere;margin:0}.admin-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0;display:grid}.admin-cards div{border:1px solid var(--border);border-radius:var(--radius);padding:10px}.admin-cards dt{color:var(--muted);font-size:.9rem}.admin-cards dd{margin:0;font-size:1.4rem;font-weight:800}.badge{background:var(--notice-bg);border-radius:6px;padding:2px 6px;font-size:.75rem}.admin-console select{min-height:44px;font:inherit}.personal .personal-places{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.personal .personal-kind{margin-right:8px;font-weight:700}.personal .personal-label{overflow-wrap:anywhere}.personal .personal-confirm{border:2px solid;border-radius:8px;margin-top:12px;padding:12px}.personal .error{font-weight:700}.speed-chart svg{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:auto}.speed-line{fill:none;stroke:var(--brand);stroke-width:2px}.limit-line{fill:none;stroke:var(--fg);stroke-width:2px;stroke-dasharray:6 4}.key-speed:before,.key-limit:before{content:"";vertical-align:middle;width:18px;margin-right:4px;display:inline-block}.key-speed:before{border-top:2px solid var(--brand)}.key-limit:before{border-top:2px dashed var(--fg)}:root{--bg:#fff;--fg:#0d1512;--muted:#4a5752;--brand:#0b3d2e;--brand-fg:#fff;--danger:#a3141c;--border:#c9d3cf;--notice-bg:#eef5f1;--alert-bg:#fdecec;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d1512;--fg:#f2f6f4;--muted:#b4c1bc;--brand:#4fd1a1;--brand-fg:#04130d;--danger:#ff8a8f;--border:#33423c;--notice-bg:#16241e;--alert-bg:#3a1416}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;line-height:1.5}.page{max-width:40rem;margin:0 auto;padding:24px 16px 48px}h1{margin:0 0 8px;font-size:1.75rem}h2{margin:24px 0 8px;font-size:1.25rem}.lead{font-size:1.125rem}.muted{color:var(--muted)}.notice{background:var(--notice-bg);border-radius:var(--radius);padding:12px 16px}.alert{background:var(--alert-bg);border-radius:var(--radius);padding:12px 16px;font-weight:600}.stack{flex-direction:column;gap:12px;margin:16px 0;display:flex}.row{flex-wrap:wrap;gap:8px;display:flex}label{flex-direction:column;gap:4px;font-weight:600;display:flex}input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-height:44px;color:var(--fg);padding:8px 12px}.button{border:2px solid var(--brand);border-radius:var(--radius);background:var(--brand);min-width:44px;min-height:44px;color:var(--brand-fg);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-flex}.button.secondary{color:var(--brand);background:0 0}.button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.button.big{min-height:64px;font-size:1.25rem}.button.small{min-height:44px;padding:6px 12px;font-size:.95rem}.button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--brand);outline-offset:2px}a{color:var(--brand)}.field{flex-direction:column;gap:4px;display:flex}.field label{font-weight:600}.with-toggle{gap:8px;display:flex}.with-toggle input{flex:1;min-width:0}.field-error{color:var(--danger);margin:0;font-weight:600}.small-text{margin:0;font-size:.9rem}.divider{text-align:center;color:var(--muted);margin:0}.link-button{min-height:44px;color:var(--brand);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:8px 0;text-decoration:underline}.button:disabled{opacity:.6;cursor:wait}.auth-panel h2{margin-top:8px}.recording{color:var(--danger);font-weight:800}.readout{grid-template-columns:repeat(2,1fr);gap:12px;margin:0;display:grid}.readout div{border:1px solid var(--border);border-radius:var(--radius);padding:12px}.readout dt{color:var(--muted);font-size:.9rem}.readout dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.75rem;font-weight:800}.traces{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.traces li{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:12px;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.limit-sign-wrap{flex-direction:column;align-items:center;gap:4px;display:inline-flex;position:relative}.limit-sign{box-sizing:border-box;background:#fff;border:11px solid #c8102e;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.limit-sign.unknown{border-color:#6b7570}.limit-number{color:#000;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:900;line-height:1}.limit-source{font-size:.85rem;font-weight:700}.limit-info{border:2px solid var(--border);background:var(--bg);min-width:44px;min-height:44px;color:var(--fg);border-radius:50%;font-style:italic;font-weight:800;position:absolute;top:-6px;right:-14px}.limit-info[aria-disabled=true]{opacity:.5}.sheet{background:var(--bg);color:var(--fg);border-top:2px solid var(--border);z-index:10;padding:20px 16px 28px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000040}.speed-readout{border-radius:var(--radius);border:4px solid #0000;align-items:baseline;gap:6px;padding:8px 14px;display:inline-flex}.speed-number{font-variant-numeric:tabular-nums;font-size:3rem;font-weight:900;line-height:1}.speed-unit{font-weight:700}.speed-readout.over,.speed-readout.well_over{border-color:var(--danger)}.speed-readout.well_over{background:var(--alert-bg)}.over-badge{color:var(--danger);font-weight:800}
