.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--bg:#fff;--ink:#000;--muted:#444;--line:#000;--grid:#d0d0d0;--panel:#f2f2f2;--good:#006b2d;--bad:#b00020;--fair:#b85c00;--c1:#03c;--c2:#c05000;--c3:#6a1b9a;--driving:#03c;--maneuvers:#c05000;--rest:#333;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#000;--ink:#fff;--muted:#bbb;--line:#fff;--grid:#333;--panel:#161616;--good:#3ddc84;--bad:#ff5c6c;--fair:#ffa94d;--c1:#6ea8ff;--c2:#ffa94d;--c3:#d59cff;--driving:#6ea8ff;--maneuvers:#ffa94d;--rest:#ccc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font:18px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:960px;padding:8px 16px calc(88px + env(safe-area-inset-bottom));margin:0 auto}h1{margin:8px 0 12px;font-size:28px}h2{margin:24px 0 8px;font-size:22px}h3{margin:16px 0 4px;font-size:18px}a{color:var(--ink)}button,input{font:inherit;color:var(--ink)}.muted{color:var(--muted)}.error{color:var(--bad)}.unit{margin-left:2px;font-size:.5em;font-weight:600}.segments{z-index:2;background:var(--bg);border-bottom:3px solid var(--line);padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));position:sticky;top:0}.segment-now{align-items:center;gap:8px;max-width:928px;min-height:56px;margin:0 auto 6px;font-size:20px;display:flex}.segment-status{flex:1;min-width:0;line-height:1.2;text-decoration:none}.segment-status>*{display:block}.segment-status small{color:var(--muted);font-size:16px;font-weight:600}.big-time{font-size:24px;font-weight:800}.segment-buttons{grid-template-columns:1fr 1fr 1fr;gap:8px;max-width:928px;margin:0 auto;display:grid}.segment{border:3px solid var(--line);background:var(--bg);border-radius:10px;min-height:60px;font-size:20px;font-weight:800}.segment[aria-pressed=true]{color:var(--bg);border-color:#0000}.segment.driving[aria-pressed=true]{background:var(--driving)}.segment.maneuvers[aria-pressed=true]{background:var(--maneuvers)}.segment.rest[aria-pressed=true]{background:var(--rest)}.segment:disabled:not([aria-pressed=true]){opacity:.4}.segment.stop{background:var(--bad);border-color:var(--bad);color:#fff;min-height:52px;padding:0 22px}.kind.driving{color:var(--driving)}.kind.maneuvers{color:var(--maneuvers)}.kind.rest{color:var(--rest)}.tabs{z-index:2;background:var(--bg);border-top:3px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabs a{text-align:center;flex:auto;padding:18px 3px;font-size:14px;font-weight:700;text-decoration:none}@media (width<=380px){.tabs a{padding:18px 1px;font-size:13px}}.tabs a:last-child{flex:0 0 48px}.tabs svg{vertical-align:middle}.tabs a[aria-current=page]{background:var(--ink);color:var(--bg)}.choice{border:0;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;display:flex}.choice button{border:2px solid var(--line);background:var(--bg);border-radius:8px;min-width:60px;min-height:44px;padding:0 12px;font-weight:600}.choice button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.field{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.field input,.field button{border:2px solid var(--line);background:var(--bg);border-radius:8px;min-height:44px;padding:0 8px}.signal{border:3px solid var(--line);border-radius:12px;margin-bottom:10px;padding:10px 14px}.signal.good{background:var(--good);border-color:var(--good);color:#fff}.signal.not_good{background:var(--bad);border-color:var(--bad);color:#fff}.signal-label{text-transform:uppercase;font-size:22px;font-weight:800}.huge{font-size:96px;font-weight:800;line-height:1}.signal-main{font-size:96px}.signal-sub{font-size:18px;font-weight:600}.figures{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.figure,.tile{background:var(--panel);border-radius:10px;padding:8px 10px}.figure-label,.tile-name{font-size:16px;font-weight:700}.figure-value{font-size:48px;font-weight:800;line-height:1.05}.figures.small .figure-value{font-size:32px}.figure-sub,.tile-age{color:var(--muted);font-size:15px}.figure.better .figure-value{color:var(--good)}.figure.worse .figure-value{color:var(--bad)}.stale{opacity:.45}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.tile-value{font-size:40px;font-weight:800;line-height:1.1}.tile-value.long{font-size:28px;line-height:1.6}.rows{margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--grid)}.rows a,.row{align-items:center;gap:10px;padding:12px 0;text-decoration:none;display:flex}button.row{text-align:left;background:0 0;border:0;width:100%}.correct{padding:4px 0 12px}.correct .field span{min-width:52px;font-weight:700}.correct input{font-size:22px}.correct button{padding:0 18px;font-weight:800}.correct button.primary{background:var(--ink);color:var(--bg)}.row-main{flex:1;min-width:0}.row-main small{color:var(--muted);font-size:15px;display:block}.row-figure{text-align:right;min-width:52px;font-size:22px;font-weight:800}.row-figure small{font-size:13px;font-weight:600}.legend{text-align:right;font-size:14px}.notice{border:2px dashed var(--line);border-radius:10px;padding:12px;font-weight:600}.notice.error{border-color:var(--bad)}.card{border:2px solid var(--line);border-radius:12px;margin:12px 0;padding:4px 12px 12px}.estimates{border-collapse:collapse;width:100%}.estimates th{text-align:left;padding:4px 8px 4px 0;font-weight:600}.estimates td{padding:4px 0 4px 8px}.estimates .num{text-align:right;font-size:22px;font-weight:800}.estimates.proposed .num{color:var(--good)}.sensor .verdict{border:3px solid var(--line);border-radius:8px;padding:4px 12px;font-size:26px;font-weight:800;display:inline-block}.sensor.right .verdict{background:var(--good);border-color:var(--good);color:var(--bg)}.sensor.correct .verdict{background:var(--bad);border-color:var(--bad);color:var(--bg)}.sensor.not_enough .verdict{border-style:dashed}.sensor.correct .estimates.proposed .num{color:var(--ink);font-size:28px}.sensor .estimates.settings tr.off .num{color:var(--bad);font-size:28px}.missing{margin:8px 0 0;padding-left:20px;font-size:20px;font-weight:600}.sensor details{margin-top:12px}.sensor summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.chart{width:100%;margin-bottom:8px}.chart .u-legend{text-align:left;font-size:14px}.token{gap:8px;display:flex}.token input{border:2px solid var(--line);background:var(--bg);border-radius:8px;flex:1;min-height:52px;padding:0 10px}.token button{background:var(--ink);min-height:52px;color:var(--bg);border:0;border-radius:8px;padding:0 18px;font-weight:800}button.link{background:0 0;border:0;margin-top:16px;padding:8px 0;text-decoration:underline}.live .choice button{flex:1;padding:0 4px;font-weight:800}.data-age{color:var(--muted);margin:0 0 6px;font-size:15px;font-weight:600}.data-age.error{color:var(--bad)}.screens{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:32px;display:flex;position:relative;overflow-x:auto}.screens::-webkit-scrollbar{display:none}.screen{scroll-snap-align:start;flex:0 0 100%;min-width:0}.big-label{text-transform:uppercase;font-size:20px;font-weight:800}.versus{margin-bottom:20px}.versus-row{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.versus .huge{font-size:min(96px,22vw)}.versus .unit{font-size:24px}.versus-target{text-align:right;white-space:nowrap;color:var(--c1);font-size:min(44px,10vw);font-weight:800;line-height:1.05}.versus-target .big-label{font-size:16px}.gauge{background:var(--grid);border-radius:4px;height:26px;margin-top:6px;position:relative}.gauge-fill{background:var(--muted);border-radius:4px;position:absolute;top:0;bottom:0}.gauge-fill.good{background:var(--good)}.gauge-fill.fair{background:var(--fair)}.gauge-fill.poor{background:var(--bad)}.gauge-tick{background:var(--ink);width:4px;margin-left:-2px;position:absolute;top:-5px;bottom:-5px}.pair{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.ratio .huge{font-size:80px}.figures.two{grid-template-columns:1fr 1fr}.all{margin-top:16px}.all summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.tactic .big-label{text-align:center}.shift{justify-content:center;align-items:baseline;gap:12px;display:flex}.shift .huge{font-size:120px}.shift-word{text-transform:uppercase;font-size:32px;font-weight:800}.shift.good{color:var(--good)}.shift.poor{color:var(--bad)}.shifts{width:100%;height:120px;margin:8px 0 16px;display:block}.shifts-zero{stroke:var(--muted);stroke-width:2px;vector-effect:non-scaling-stroke}.shifts rect{fill:var(--muted)}.shifts rect.good{fill:var(--good)}.shifts rect.poor{fill:var(--bad)}.big-button{border:3px solid var(--line);background:var(--ink);width:100%;min-height:64px;color:var(--bg);border-radius:10px;font-size:20px;font-weight:800}.big-button:disabled{opacity:.4}
