:root{
  --color-fg:#1a1a1a;--color-fg-muted:#5b5f66;--color-bg:#f6f4f0;--color-panel:#ffffff;--color-border-line:#e4e1db;
  --color-ok:#1e7b34;--color-warn:#a86400;--color-bad:#c62828;
  --font-anthropic-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-anthropic-serif:Georgia,"Times New Roman",serif;
  --cds-font-size-title:26px;--cds-font-size-heading:18px;--cds-font-size-body:15px;--cds-font-size-caption:13px;
  --cds-font-weight-medium:600;--cds-gap-xs:4px;--cds-gap-sm:8px;--cds-gap-md:12px;--cds-gap-lg:20px;--cds-gap-xl:28px;
  --cds-pad-xs:4px;--cds-pad-sm:8px;--cds-pad-lg:16px;--cds-radius:12px;
  --cds-chart-muted:#b9c0cc;--cds-chart-grid:#ececec;--cds-chart-axis:#cfcfcf;--cds-chart-reference:#8a8a8a;
  --cds-surface-popover:#ffffff;--cds-border:#dddddd;--cds-shadow-popover:0 4px 16px rgba(0,0,0,.12);--cds-text-secondary:#666;--cds-dur-slow:.3s;
}
@media (prefers-color-scheme: dark){:root{
  --color-fg:#ecebe8;--color-fg-muted:#a9adb4;--color-bg:#16181c;--color-panel:#1f2228;--color-border-line:#33373f;
  --color-ok:#5cc47a;--color-warn:#f0b04a;--color-bad:#ff6b6b;
  --cds-chart-muted:#5c6470;--cds-chart-grid:#2c3037;--cds-chart-axis:#444;--cds-chart-reference:#999;
  --cds-surface-popover:#262a31;--cds-border:#3a3f47;--cds-text-secondary:#aaa;
}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--color-bg);color:var(--color-fg);-webkit-text-size-adjust:100%}
#dash-root{max-width:1200px;margin:0 auto;padding:16px 16px 48px}
.dash-skeleton{color:transparent;background:linear-gradient(90deg,var(--color-border-line),transparent);border-radius:6px}
.site-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:baseline;font:13px var(--font-anthropic-sans);color:var(--color-fg-muted);margin-bottom:12px}
.site-bar b{color:var(--color-fg)}
/* mobile */
@media (max-width:640px){
  :root{--cds-font-size-title:22px;--cds-font-size-heading:17px;--cds-font-size-body:14px;--cds-font-size-caption:12px}
  #dash-root{padding:12px 12px 40px}
  .pf-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pf-nav button{white-space:nowrap}
  .pd-filters{flex-direction:column;align-items:stretch}
  .pd-filters select,.pd-filters button{width:100%;font-size:16px;padding:10px}
  .pf-table th,.pf-table td{padding:6px 8px}
  .pf-tile,.pf-card{padding:12px}
}
@media (max-width:640px){.pd-filters label{width:100%}.pd-filters label select{width:100%}}
