:root{color-scheme:light dark;--text-xs:12px;--text-sm:14px;--text-md:18px;--text-lg:24px;--bg:#ffffff;--surface:#ffffff;--fg:#14171a;--fg-muted:#6a7280;--border:#d8dce1;--border-strong:#b6bcc4;--ok:#dcefdd;--caution:#f7e6c4;--cold:#d5e6f5;--nodata:#e8e9eb;--night-fill:#eceef1;--night-stroke:#8b93a0;--elevation-fill:#eef0f3;--elevation-stroke:#6a7280;--error:#a11b1b}@media (prefers-color-scheme:dark){:root{--bg:#0e1013;--surface:#14171b;--fg:#e8eaed;--fg-muted:#9aa2ad;--border:#2a2f36;--border-strong:#3b424b;--ok:#223a28;--caution:#453a1e;--cold:#1d3244;--nodata:#33373d;--night-fill:#1a1d22;--night-stroke:#79828f;--elevation-fill:#181c21;--elevation-stroke:#99a2ad;--error:#f08a8a}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--text-sm);line-height:1.45}.apiNote,.kv dd,.mastheadLine,.paceMeta,.ribbon,.subline{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page{max-width:1080px;margin:0 auto;padding:24px 20px 64px}.brand{display:flex;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:24px}.brandName{font-weight:600;letter-spacing:.02em;color:var(--fg);text-decoration:none}.brandTag{color:var(--fg-muted);font-size:var(--text-xs)}.uploadForm{max-width:520px;border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:16px;background:var(--surface)}.uploadForm h2{margin:0;font-size:var(--text-md);font-weight:600}.field{display:flex;flex-direction:column;gap:6px;flex:1 1}.field>span{font-size:var(--text-xs);color:var(--fg-muted)}.fieldRow{display:flex;gap:12px}button,input,select{font:inherit;color:var(--fg)}input[type=date],input[type=file],input[type=time],select{background:var(--bg);border:1px solid var(--border);padding:10px;border-radius:2px;width:100%;min-height:44px}.primary{background:var(--fg);color:var(--bg);border:1px solid var(--fg);padding:12px 14px;border-radius:2px;cursor:pointer;min-height:48px}.primary:disabled{opacity:.6;cursor:progress}.busy{display:flex;flex-direction:column;gap:8px;margin-top:-8px}.busyBar{height:3px;background:var(--border);overflow:hidden}.busyBar:after{content:"";display:block;width:34%;height:100%;background:var(--fg-muted);animation:busySlide 1.4s ease-in-out infinite}.busyNote{margin:0;font-size:var(--text-xs);color:var(--fg-muted)}@keyframes busySlide{0%{transform:translateX(-100%)}to{transform:translateX(295%)}}@media (prefers-reduced-motion:reduce){.busyBar:after{width:100%;animation:none;opacity:.5}}.error{color:var(--error);font-size:var(--text-sm);margin:0;border-left:3px solid var(--error);padding:8px 0 8px 10px}.muted{color:var(--fg-muted)}.report{gap:20px}.masthead,.report{display:flex;flex-direction:column}.masthead{gap:8px}.mastheadLine{display:flex;flex-wrap:wrap;gap:16px;font-size:var(--text-xs);color:var(--fg-muted);padding-bottom:8px;border-bottom:1px solid var(--border)}.headline{margin:0;font-size:var(--text-lg);font-weight:600;line-height:1.25;letter-spacing:-.01em}.subline{margin:0;font-size:var(--text-sm);color:var(--fg-muted)}.sublinePace{color:var(--fg);font-weight:600}.ribbonScroll{overflow-x:auto;border:1px solid var(--border);background:var(--surface)}.ribbon{display:block;width:100%;height:auto}.ribbonRowName{font-size:var(--text-xs);font-weight:500;fill:var(--fg)}.ribbonTick{font-size:11px;fill:var(--fg-muted)}.ribbonValue{font-size:11px;fill:var(--fg)}.ribbonNote,.ribbonValueMuted{font-size:11px;fill:var(--fg-muted)}.ribbonFlag{font-size:11px;fill:var(--fg);font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:var(--text-xs);color:var(--fg-muted)}.swatch{display:inline-block;width:12px;height:12px;border:1px solid var(--border-strong);margin-right:6px;vertical-align:-1px}.swatchOk{background:var(--ok)}.swatchCaution{background:var(--caution)}.swatchCold{background:var(--cold)}.swatchNodata{background:var(--nodata)}.swatchNight{background:repeating-linear-gradient(45deg,var(--night-fill),var(--night-fill) 3px,var(--night-stroke) 3px,var(--night-stroke) 4px)}.controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:16px}.paceSelector{display:flex;border:1px solid var(--border)}.paceButton{display:flex;flex-direction:column;gap:2px;align-items:flex-start;background:var(--surface);border:none;border-right:1px solid var(--border);padding:10px 14px;cursor:pointer;min-width:120px;min-height:48px;justify-content:center}.paceButton:last-child{border-right:none}.paceButtonActive{background:var(--fg);color:var(--bg)}.paceMeta{font-size:var(--text-xs);opacity:.75}.linkButton{background:none;border:none;color:var(--fg-muted);text-decoration:underline;cursor:pointer;padding:12px 0;min-height:44px}.numbers{border:1px solid var(--border);background:var(--surface)}.numbers>summary{padding:12px 14px;cursor:pointer;font-size:var(--text-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:44px}.numbersBody{padding:0 14px 16px;display:flex;flex-direction:column;gap:20px}.numbersBody h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin:0 0 8px;font-weight:600}.kv{display:grid;grid-template-columns:minmax(180px,260px) 1fr;grid-gap:4px 16px;gap:4px 16px;margin:0;font-size:var(--text-sm)}.kv dt{color:var(--fg-muted)}.kv dd{margin:0}.sources{margin:0;padding-left:18px;font-size:var(--text-sm)}.tableScroll{max-height:420px;overflow:auto;border:1px solid var(--border)}.grid{border-collapse:collapse;width:100%;font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grid td,.grid th{border-bottom:1px solid var(--border);padding:4px 8px;text-align:right;white-space:nowrap}.grid th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface);color:var(--fg-muted);font-weight:500}.grid td:nth-child(2),.grid td:nth-child(3),.grid th{text-align:right}.apiNote,.disclaimer,.share{margin:0;font-size:var(--text-xs);color:var(--fg-muted)}.disclaimer{border-top:1px solid var(--border);padding-top:12px}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}a{color:inherit}