/* ---- Theme tokens (resolved from the Dashboard type's stylesheet) ---- */
:root{
  --font-anthropic-sans:"Public Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-anthropic-serif:"Newsreader",ui-serif,Georgia,"Times New Roman",serif;
  --color-bg:#f9f9f7; --color-panel:#fff; --color-fg:#0b0b0b; --color-fg-muted:#898781;
  --color-border-line:rgba(11,11,11,.1); --color-ok:#006300; --color-warn:#734500; --color-bad:#8e2626;
  --cds-border:rgba(11,11,11,.1); --cds-chart-grid:rgba(11,11,11,.1); --cds-chart-axis:#c3c2b7;
  --cds-chart-muted:#c3c2b7; --cds-chart-reference:#898781; --cds-text-secondary:#52514e;
  --cds-surface-popover:#fff; --cds-shadow-popover:0 8px 24px #0000001f,0 2px 6px #00000014;
  --cds-chart-categorical-1:#2a78d6; --cds-chart-categorical-2:#eb6834; --cds-chart-categorical-3:#1baf7a;
  --cds-chart-categorical-4:#eda100; --cds-chart-categorical-5:#e87ba4; --cds-chart-categorical-6:#008300;
  --cds-chart-categorical-7:#6250d6; --cds-chart-categorical-8:#e34948;
  --cds-dur-slow:.45s; --cds-font-weight-medium:500;
  --cds-font-size-caption:.75rem; --cds-font-size-body:.875rem; --cds-font-size-heading:.9375rem; --cds-font-size-title:1.375rem;
  --cds-gap-xs:.5rem; --cds-gap-sm:.75rem; --cds-gap-md:1rem; --cds-gap-lg:1.75rem;
  --cds-pad-xs:.375rem; --cds-pad-sm:.5rem; --cds-pad-md:.75rem; --cds-pad-lg:1rem; --cds-pad-xl:1.5rem;
  --cds-radius:.5rem;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --color-bg:#0b0b0b; --color-panel:#1a1a19; --color-fg:#f0efec; --color-fg-muted:#898781;
    --color-border-line:rgba(255,255,255,.1); --color-ok:#0ca30c; --color-warn:#db9300; --color-bad:#ec7e7e;
    --cds-border:rgba(255,255,255,.1); --cds-chart-grid:rgba(255,255,255,.1); --cds-chart-axis:#383835;
    --cds-chart-muted:#5f5e5a; --cds-chart-reference:#97958d; --cds-text-secondary:#c3c2b7;
    --cds-surface-popover:#20201f; --cds-shadow-popover:0 8px 24px #00000052,0 2px 6px #0003;
    --cds-chart-categorical-1:#3987e5; --cds-chart-categorical-2:#d95926; --cds-chart-categorical-3:#199e70;
    --cds-chart-categorical-4:#c98500; --cds-chart-categorical-5:#d55181; --cds-chart-categorical-6:#008300;
    --cds-chart-categorical-7:#9085e9; --cds-chart-categorical-8:#e66767;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --color-bg:#0b0b0b; --color-panel:#1a1a19; --color-fg:#f0efec; --color-fg-muted:#898781;
  --color-border-line:rgba(255,255,255,.1); --color-ok:#0ca30c; --color-warn:#db9300; --color-bad:#ec7e7e;
  --cds-border:rgba(255,255,255,.1); --cds-chart-grid:rgba(255,255,255,.1); --cds-chart-axis:#383835;
  --cds-chart-muted:#5f5e5a; --cds-chart-reference:#97958d; --cds-text-secondary:#c3c2b7;
  --cds-surface-popover:#20201f; --cds-shadow-popover:0 8px 24px #00000052,0 2px 6px #0003;
  --cds-chart-categorical-1:#3987e5; --cds-chart-categorical-2:#d95926; --cds-chart-categorical-3:#199e70;
  --cds-chart-categorical-4:#c98500; --cds-chart-categorical-5:#d55181; --cds-chart-categorical-6:#008300;
  --cds-chart-categorical-7:#9085e9; --cds-chart-categorical-8:#e66767;
  color-scheme:dark;
}
html,body{margin:0;background:var(--color-bg);color:var(--color-fg);font-family:var(--font-anthropic-sans)}
#dash-root{color:var(--color-fg);font-size:14px;line-height:1.45;--dash-ring:#6250d6;overflow-x:clip}
:where(#dash-root:not(:empty)){padding:var(--dash-gutter,clamp(var(--cds-pad-md),4%,var(--cds-pad-xl)))}
/* loading skeleton (from the Dashboard type) */
.dash-skeleton{-webkit-text-fill-color:transparent!important;background-image:linear-gradient(color-mix(in srgb,currentColor 13%,transparent) 0 0)!important}
.dash-skeleton>*{visibility:hidden!important}
.dash-skeleton:empty:before{content:"";width:3ch;display:inline-block}

:root { --font-anthropic-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; --cds-gap-xl: 2.5rem; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--color-bg); color: var(--color-fg); }
#dash-root { color: var(--color-fg); font-family: var(--font-anthropic-sans); font-size: 14px; line-height: 1.45;
             padding: clamp(var(--cds-pad-md), 4%, var(--cds-pad-xl)); -webkit-font-smoothing: antialiased; }
#dash-root .dash-skeleton { color: transparent; background: var(--color-border-line); border-radius: 3px; }
