:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f1f4;--border:#e3e5ea;--border-strong:#c8ccd4;--text:#16181d;--text-2:#4b5060;--text-3:#5f6575;--accent:#2f5bd3;--accent-text:#2f5bd3;--accent-hover:#2549b0;--accent-fg:#fff;--button:#2f5bd3;--button-hover:#2549b0;--focus:#2f5bd3;--fixture:#0a6b74;--fixture-bg:#e3f4f5;--fixture-border:#9fd3d8;--live:#b0198e;--live-bg:#fbe7f6;--live-border:#e7a6d7;--warn:#9a5b00;--warn-bg:#fff4e0;--warn-border:#f0c77a;--error:#c0262d;--error-bg:#fdecec;--error-border:#f0a9ad;--ok:#1f7a3d;--ok-fill:#d7eedd;--band:#f3f5f8;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.23, 1, .32, 1);--header-h:52px;font-family:var(--font-sans);color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;font-size:13px;line-height:18px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e0f12;--surface:#15171b;--surface-2:#1b1e23;--border:#2a2e35;--border-strong:#3a3f48;--text:#ebedf0;--text-2:#b0b5bf;--text-3:#8d93a0;--accent:#4f74f0;--accent-text:#7b98ff;--accent-hover:#6b8cff;--accent-fg:#fff;--button:#3a5fd9;--button-hover:#4a6ee6;--focus:#7b98ff;--fixture:#3cc4cf;--fixture-bg:#0f2a2d;--fixture-border:#1e5b61;--live:#e45bcb;--live-bg:#2d1028;--live-border:#6b2a5f;--warn:#f0b347;--warn-bg:#2b2010;--warn-border:#6a4a14;--error:#ff6b6f;--error-bg:#2d1214;--error-border:#6e2a2e;--ok:#4cc77a;--ok-fill:#1d4a2c;--band:#1a1d22}.outcome-read rect{stroke-width:1.5px}}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select{font:inherit;color:inherit}h1,h2,p{margin:0}[hidden]{display:none!important}.mono{font-family:var(--font-mono)}.dim{color:var(--text-3)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip-link{z-index:30;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);border-radius:6px;padding:8px 12px;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.app{--mode:var(--fixture);min-height:100dvh}.app.mode-live{--mode:var(--live)}.app.mode-neutral{--mode:var(--border-strong)}.app-header{top:env(safe-area-inset-top,0);z-index:20;height:calc(var(--header-h) + 2px);background:var(--surface);border-bottom:2px solid var(--mode);justify-content:space-between;align-items:center;gap:16px;padding:0 16px;display:flex;position:sticky}.header-title,.header-meta{align-items:center;gap:8px;min-width:0;display:flex}.wordmark{font-size:15px;font-weight:600;line-height:20px}.header-sep{color:var(--text-3)}.app-header h1{color:var(--text-2);white-space:nowrap;font-size:15px;font-weight:500;line-height:20px}.header-title .mode-chip{margin-left:8px}.header-meta{color:var(--text-2);font-size:12px;line-height:16px}.chip,.mode-chip,.badge{white-space:nowrap;border:1px solid var(--border);border-radius:4px;align-items:center;font-size:12px;line-height:16px;display:inline-flex}.chip{height:22px;padding:0 8px}.chip-quiet{color:var(--text-2)}.mode-chip{letter-spacing:.04em;text-transform:uppercase;height:22px;padding:0 8px;font-weight:600}.chip-fixture{background:var(--fixture-bg);color:var(--fixture);border-color:var(--fixture-border)}.chip-live{background:var(--live-bg);color:var(--live);border-color:var(--live-border)}.chip-neutral{background:var(--surface-2);color:var(--text-2);border-color:var(--border-strong)}.shell{min-height:calc(100dvh - var(--header-h) - 2px);grid-template-columns:300px minmax(0,1fr);display:grid}.sidebar{background:var(--surface-2);border-right:1px solid var(--border)}.controls{top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 2px);max-height:calc(100dvh - var(--header-h) - 2px);position:sticky;overflow-y:auto}.main{flex-direction:column;gap:16px;width:100%;min-width:0;max-width:1400px;padding:16px;display:flex}.controls{flex-direction:column;gap:24px;padding:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label,.bounds legend{color:var(--text-2);font-size:12px;font-weight:500;line-height:16px}.help{color:var(--text-3);font-size:12px;line-height:16px}.group-title{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600;line-height:18px}.fault-field{border-top:1px solid var(--border);padding-top:16px}select,input{border:1px solid var(--border-strong);background-color:var(--surface);height:32px;transition:border-color .15s var(--ease), background-color .15s var(--ease);border-radius:6px}select{cursor:pointer;width:100%;padding:0 8px}select:hover:not(:disabled),input:hover:not(:disabled){border-color:var(--text-3)}select:disabled,input:disabled{color:var(--text-3);background-color:var(--surface-2);border-color:var(--border);cursor:default}.bounds{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.bounds legend{margin-bottom:6px;padding:0}.bounds-row{grid-template-columns:64px 1fr auto 1fr;align-items:center;column-gap:8px;display:grid}.bounds-axis{color:var(--text-2);font-size:12px;line-height:16px}.bounds-input{display:contents}.bounds-to{color:var(--text-3);font-size:12px}.bounds input{width:100%;min-width:0;font-family:var(--font-mono);text-align:right;appearance:textfield;padding:0 8px}.bounds input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bounds input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bounds input[aria-invalid=true]{border-color:var(--error);background-color:var(--error-bg)}.field-error{color:var(--error);font-size:12px;line-height:16px}.text-button{height:28px;color:var(--accent-text);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:0;border-radius:6px;align-self:flex-start;margin-left:-8px;padding:0 8px;font-weight:500}.text-button:hover:not(:disabled){background:color-mix(in oklch, var(--accent) 10%, transparent)}.text-button:disabled{color:var(--text-3);cursor:default}.action-bar{flex-direction:column-reverse;gap:12px;display:flex}.actions{gap:8px;display:flex}.button{cursor:pointer;height:32px;transition:background-color .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease), transform .1s var(--ease);border:1px solid #0000;border-radius:6px;padding:0 12px;font-weight:500}.button:active:not(:disabled){transform:translateY(1px)}.button-primary{background:var(--button);color:var(--accent-fg);flex:1}.button-primary:hover:not(:disabled){background:var(--button-hover)}.button-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.button-secondary:hover:not(:disabled){background:var(--surface-2)}.button:disabled{background:var(--surface-2);color:var(--text-3);border-color:var(--border);cursor:default}.button-primary[aria-busy=true]{cursor:progress}.read-status{color:var(--text-2);align-items:baseline;gap:8px;min-height:36px;display:flex}.read-status>span:last-child{text-wrap:pretty}.read-status strong{color:var(--text);font-weight:600}.status-dot{background:var(--text-3);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-1px)}.status-reading .status-dot{background:var(--accent);animation:1s ease-in-out infinite alternate pulse}.status-reading strong{color:var(--accent-text)}.status-complete .status-dot{background:var(--ok)}.status-complete strong{color:var(--ok)}.status-cancelled .status-dot{background:var(--warn)}.status-cancelled strong{color:var(--warn)}.status-error .status-dot{background:var(--error)}.status-error strong{color:var(--error)}@keyframes pulse{0%{opacity:1}to{opacity:.4}}.mode-banner{border:1px solid var(--fixture-border);background:var(--fixture-bg);color:var(--text);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.mode-banner:focus{outline:none}.mode-banner strong{color:var(--fixture);font-weight:600}.banner-live{border-color:var(--live-border);background:var(--live-bg)}.banner-live strong{color:var(--live)}.banner-neutral{border-color:var(--border-strong);background:var(--surface-2)}.banner-neutral strong{color:var(--text)}.panel{background:var(--surface);border:1px solid var(--border);min-width:0;scroll-margin-top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 10px);border-radius:8px;padding:16px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:16px;display:flex}.panel-head h2{font-size:15px;font-weight:600;line-height:20px}.panel-head h2 .meta{margin-left:4px;font-weight:400}.meta{color:var(--text-2);font-size:12px;line-height:16px}.region-body{grid-template-columns:316px minmax(0,1fr);align-items:start;gap:24px 32px;display:grid}.map-column,.values-column{flex-direction:column;gap:12px;min-width:0;display:flex}.values-column:only-child{grid-column:1/-1}.array-map{border-radius:6px;flex-direction:column;gap:12px;display:flex}.array-map svg{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.array-map svg.is-disabled{cursor:default}.map-base{fill:var(--surface-2)}.grid-cell{stroke:var(--border);stroke-width:1px}.grid-chunk{stroke:var(--text-3);stroke-width:1px}.grid-shard{stroke:var(--text-2);stroke-width:2.5px}.tick{font:12px/1 var(--font-mono);fill:var(--text-3)}.planned{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 2;opacity:.7}.selection{stroke:var(--accent);stroke-width:1.5px;fill:color-mix(in oklch, var(--accent) 15%, transparent);transition:fill .15s var(--ease)}.selection-reading{fill:color-mix(in oklch, var(--accent) 30%, transparent)}.selection-done{fill:none;stroke-width:2px}.map-object rect{fill:none}.outcome-read rect{fill:var(--ok-fill);stroke:var(--ok);stroke-width:1px}.outcome-fallback rect{fill:var(--warn-bg);stroke:var(--warn);stroke-width:1px}.outcome-fallback rect.hatch{fill:url(#hatch);stroke:none}.hatch-line{stroke:var(--warn);stroke-width:1px;opacity:.55}.outcome-failed rect{fill:var(--error-bg);stroke:var(--error);stroke-width:1px}.cross{stroke:var(--error);stroke-width:1.5px}.outcome-aborted rect{stroke:var(--text-3);stroke-width:1px;stroke-dasharray:4 3}.outcome-fill rect{stroke:var(--text-3);stroke-width:1px;stroke-dasharray:1 2}.map-legend{color:var(--text-2);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;font-size:12px;line-height:16px;list-style:none;display:flex}.map-legend li{align-items:center;gap:6px;display:inline-flex}.swatch{border:1px solid var(--border-strong);border-radius:2px;width:12px;height:12px}.swatch-selection{border:1.5px solid var(--accent);background:color-mix(in oklch, var(--accent) 15%, transparent)}.swatch-planned{border:1px dashed var(--accent)}.swatch-read{background:var(--ok-fill);border-color:var(--ok)}.swatch-fallback{background:repeating-linear-gradient(45deg, var(--warn) 0 1px, var(--warn-bg) 1px 4px);border-color:var(--warn)}.swatch-failed{background:var(--error-bg);border-color:var(--error)}.swatch-aborted{border:1px dashed var(--text-3)}.swatch-fill{border:1px dotted var(--text-3)}.map-summary{color:var(--text-2);font-size:12px;line-height:16px}.values-scroll{max-width:100%;overflow-x:auto}.values-table{border-collapse:separate;border-spacing:0;font-family:var(--font-mono);font-size:13px;line-height:18px}.values-table th{height:24px;color:var(--text-3);text-align:right;padding:0 8px;font-size:12px;font-weight:400}.values-table thead th{vertical-align:bottom;padding-bottom:4px}.values-table tbody th{z-index:1;background:var(--surface);padding-left:0;position:sticky;left:0}.values-table .corner{text-align:left;white-space:nowrap;padding-left:0}.values-table td{text-align:right;min-width:48px;height:32px;color:var(--text);background:var(--surface);border-top:1px solid var(--border);border-left:1px solid var(--border);padding:0 8px}.values-table tr td:last-child{border-right:1px solid var(--border)}.values-table tbody tr:last-child td{border-bottom:1px solid var(--border)}.values-table td.band{background:var(--band)}.values-table td.edge-left{border-left:1px dashed var(--text-3)}.values-table td.edge-top{border-top:1px dashed var(--text-3)}.values-table td.is-hovered{outline:2px solid var(--text);outline-offset:-2px}.empty-note{color:var(--text-2);padding:12px 0;font-size:13px;line-height:18px}.legend-line{color:var(--text-3);flex-wrap:wrap;gap:4px 24px;font-size:12px;line-height:16px;display:flex}.readout{color:var(--text-2)}.callout{color:var(--text);border:1px solid;border-radius:6px;flex-direction:column;gap:4px;padding:12px;font-size:14px;line-height:20px;display:flex}.callout-title{font-weight:600}.callout-title .mono{font-size:12px;font-weight:400}.callout-next{color:var(--text-2)}.callout-error{border-color:var(--error-border);background:var(--error-bg)}.callout-error .callout-title{color:var(--error)}.callout-warn{border-color:var(--warn-border);background:var(--warn-bg);margin-bottom:16px}.callout-warn .callout-title{color:var(--warn)}.sidebar .callout{margin-top:-12px;font-size:13px;line-height:18px}.metrics{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px 24px;margin:0 0 12px;display:grid}.metric{flex-direction:column;gap:2px;min-width:0;display:flex}.metric dt{color:var(--text-2);font-size:12px;line-height:16px}.metric dd{color:var(--text);flex-wrap:wrap;align-items:baseline;column-gap:4px;margin:0;font-size:20px;font-weight:500;line-height:24px;display:flex}.metric dd .unit{color:var(--text-3);font-size:13px;font-weight:400}.metric-over dd{color:var(--warn)}.over-note{flex-basis:100%;font-size:12px;font-weight:400;line-height:16px}.unmeasured{color:var(--text-3);font-size:13px;font-weight:400;line-height:24px}.measurement-note{max-width:75ch;color:var(--text-2);margin-bottom:16px;font-size:12px;line-height:16px}.badge{height:20px;padding:0 6px;font-weight:500}.badge-ok{color:var(--ok)}.badge-quiet{color:var(--text-2);cursor:help}.badge-error{color:var(--error);background:var(--error-bg);border-color:var(--error-border)}.badge-warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.ledger-scroll{border:1px solid var(--border);border-radius:6px;max-height:420px;overflow:auto}.ledger{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:1000px;font-size:13px;line-height:18px}.w-index{width:36px}.w-key{width:168px}.w-result{width:112px}.w-range{width:140px}.w-bytes{width:76px}.w-ms{width:48px}.ledger th{z-index:2;background:var(--surface-2);border-bottom:1px solid var(--border);height:32px;color:var(--text-2);text-align:left;white-space:nowrap;padding:0 8px;font-size:12px;font-weight:500;line-height:16px;position:sticky;top:0}.ledger td{border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;background:var(--surface);height:32px;padding:0 8px;overflow:hidden}.ledger tbody tr:last-child td{border-bottom:0}.ledger tbody tr:hover td{background:var(--surface-2)}.ledger .num{text-align:right;font-family:var(--font-mono)}.ledger th.num{font-family:var(--font-sans)}.ledger .col-index{padding-left:12px;padding-right:4px}.ledger .unit{color:var(--text-3)}.ledger .row-probe td{color:var(--text-2)}.ledger td.cell-over{color:var(--warn)}.range-cell{align-items:center;gap:8px;display:flex}.range-cell>span:first-child{min-width:9ch}.range-cell .dim{font-family:var(--font-sans)}.range-bar{background:var(--surface-2);width:48px;height:6px;box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:2px;flex:none;position:relative;overflow:hidden}.range-bar i{top:0;bottom:0;left:calc(var(--start) * 100%);width:max(2px, calc(var(--size) * 100%));background:var(--text-3);position:absolute}.empty-ledger{color:var(--text-2);white-space:normal!important;height:48px!important}@media (width>=1280px){.main,.panel{padding:24px}.region-body{grid-template-columns:minmax(316px,420px) minmax(0,1fr)}}@media (width<=1023px){.region-body{grid-template-columns:minmax(0,1fr)}.map-column{max-width:360px}}@media (width<=760px){:root{--header-h:48px}.app{padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))}.app-header{padding:0 16px}.header-sep,.header-meta{display:none}.app-header h1{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{flex-direction:column;gap:16px;padding-block:16px;display:flex}.main{display:contents}.main>*{margin-inline:16px}.mode-banner{order:-1}.sidebar{background:0 0;border-right:0}.controls{gap:20px;max-height:none;padding:0 16px;position:static;overflow:visible}.panel{padding:16px 12px}select,input{height:40px;font-size:16px}.bounds-row{grid-template-columns:64px 1fr auto 1fr}.text-button{height:40px}.action-bar{z-index:20;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);gap:8px;position:fixed;bottom:0;left:0;right:0}.read-status{min-height:0}.button{height:44px;padding:0 16px}.map-column{max-width:360px}.map-summary{max-width:none}.values-table td{min-width:44px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ledger-scroll{max-height:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.ledger{table-layout:auto;min-width:0}.ledger col{width:auto}.ledger .col-size,.ledger .col-upstream,.ledger .col-proxy{display:none}.ledger .col-index{z-index:1;position:sticky;left:0}.ledger th.col-index{z-index:3}.mode-banner{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.status-reading .status-dot{animation:none}}
