:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem; --space-4: 1rem; --space-5: 1.25rem; --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem;
  --color-bg: #f7f6f2; --color-surface: #f9f8f5; --color-surface-2: #fbfbf9; --color-surface-offset: #f1efea; --color-surface-dynamic: #e3e0da;
  --color-divider: #dcd9d5; --color-border: #d4d1ca; --color-text: #28251d; --color-text-muted: #696760; --color-text-faint: #9b9891; --color-text-inverse: #f9f8f4;
  --color-primary: #01696f; --color-primary-hover: #0c4e54; --color-primary-active: #0f3638; --color-primary-highlight: #cedcd8;
  --color-warning: #964219; --color-success: #437a22; --color-error: #a12c7b;
  --radius-sm: 0.375rem; --radius-md: 0.5rem; --radius-lg: 0.75rem; --radius-xl: 1rem; --radius-full: 9999px;
  --shadow-sm: 0 1px 2px oklch(0.2 0.01 80 / 0.06); --shadow-md: 0 4px 12px oklch(0.2 0.01 80 / 0.08); --shadow-lg: 0 12px 32px oklch(0.2 0.01 80 / 0.12);
  --transition-interactive: 180ms cubic-bezier(0.16,1,0.3,1);
  --font-display: 'Cabinet Grotesk', 'Inter', sans-serif;
  --font-body: 'General Sans', 'Inter', sans-serif;
}
[data-theme="dark"] {
  --color-bg: #171614; --color-surface: #1c1b19; --color-surface-2: #201f1d; --color-surface-offset: #1d1c1a; --color-surface-dynamic: #2d2c2a;
  --color-divider: #262523; --color-border: #393836; --color-text: #cdccca; --color-text-muted: #9b9995; --color-text-faint: #71706d; --color-text-inverse: #2b2a28;
  --color-primary: #4f98a3; --color-primary-hover: #227f8b; --color-primary-active: #1a626b; --color-primary-highlight: #313b3b;
  --color-warning: #bb653b; --color-success: #6daa45; --color-error: #d163a7;
  --shadow-sm: 0 1px 2px oklch(0 0 0 / 0.2); --shadow-md: 0 4px 12px oklch(0 0 0 / 0.3); --shadow-lg: 0 12px 32px oklch(0 0 0 / 0.4);
}
*,:before,:after{box-sizing:border-box}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}
body{margin:0;min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:radial-gradient(circle at top right,color-mix(in oklab,var(--color-primary) 8%,transparent),transparent 22%),var(--color-bg)}
a,button,input,textarea,select{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive)}
img,svg{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
h1,h2,h3{font-family:var(--font-display);line-height:1.1;letter-spacing:-.03em;margin:0}
p{margin:0;max-width:72ch}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
.skip-link{position:absolute;left:var(--space-4);top:-100px;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);z-index:20}
.skip-link:focus{top:var(--space-4)}
.container{max-width:1120px;margin:0 auto;padding:0 var(--space-4)}
.header{position:sticky;top:0;z-index:10;backdrop-filter:blur(16px);background:color-mix(in oklab,var(--color-bg) 82%,transparent);border-bottom:1px solid color-mix(in oklab,var(--color-text) 10%,transparent)}
.header-inner{max-width:1120px;margin:0 auto;padding:var(--space-4);display:flex;gap:var(--space-4);align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:inherit}
.brand-mark{width:2.75rem;height:2.75rem;padding:var(--space-2);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--color-surface-2),var(--color-surface-offset));border:1px solid color-mix(in oklab,var(--color-text) 9%,transparent);box-shadow:var(--shadow-sm)}
.brand-copy strong{display:block;font-family:var(--font-display);font-size:var(--text-sm)}
.brand-copy span{display:block;font-size:var(--text-xs);color:var(--color-text-muted)}
.header-nav{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}
.icon-btn,.nav-link,.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-full);text-decoration:none}
.nav-link{padding:0 var(--space-4);color:var(--color-text-muted)}
.nav-link:hover{color:var(--color-text)}
.icon-btn{min-width:44px;border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);background:var(--color-surface);box-shadow:var(--shadow-sm)}
.hero{padding:clamp(var(--space-10),7vw,var(--space-16)) 0 var(--space-10)}
.hero-grid,.two-col,.dashboard{display:grid;gap:var(--space-6)}
.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:color-mix(in oklab,var(--color-primary) 8%,var(--color-surface));color:var(--color-primary);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.hero h1{font-size:var(--text-xl);max-width:16ch;margin:.6rem 0 .8rem}
.hero p{color:var(--color-text-muted)}
.hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-5)}
.panel,.card,.shell,.chat-shell{background:color-mix(in oklab,var(--color-surface) 82%,var(--color-surface-2));border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
.panel,.card,.chat-shell{padding:var(--space-5)}
.card-grid{display:grid;gap:var(--space-4);margin-top:var(--space-6)}
.card h3{font-size:var(--text-base);margin-bottom:var(--space-2)}
.card p,.card li,.muted{color:var(--color-text-muted)}
.btn{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:600}
.btn-primary{color:var(--color-text-inverse);background:var(--color-primary);box-shadow:var(--shadow-md)}
.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}
.btn-secondary{color:var(--color-text);background:var(--color-surface);border:1px solid color-mix(in oklab,var(--color-text) 10%,transparent)}
.section{padding:var(--space-8) 0}
.section-title{display:grid;gap:var(--space-2);margin-bottom:var(--space-6)}
.section-title h2{font-size:var(--text-lg)}
.field{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}
.field label{font-size:var(--text-sm);font-weight:600}
.field small{color:var(--color-text-muted);font-size:var(--text-xs)}
.input,textarea,select{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid color-mix(in oklab,var(--color-text) 12%,transparent);background:var(--color-surface-2)}
textarea{min-height:12rem;resize:vertical}
.alert{padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);border:1px solid transparent}
.alert-success{background:color-mix(in oklab,var(--color-success) 10%,var(--color-surface));border-color:color-mix(in oklab,var(--color-success) 20%,transparent);color:var(--color-success)}
.alert-error{background:color-mix(in oklab,var(--color-error) 10%,var(--color-surface));border-color:color-mix(in oklab,var(--color-error) 18%,transparent);color:var(--color-error)}
.token-chip,.mono-chip{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);background:var(--color-text);color:var(--color-text-inverse);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em}
.badge{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}
.badge-primary{background:color-mix(in oklab,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}
.badge-success{background:color-mix(in oklab,var(--color-success) 14%,var(--color-surface));color:var(--color-success)}
.badge-warning{background:color-mix(in oklab,var(--color-warning) 16%,var(--color-surface));color:var(--color-warning)}
.badge-muted{background:color-mix(in oklab,var(--color-text) 10%,var(--color-surface));color:var(--color-text-muted)}
.message-list{display:grid;gap:var(--space-3);margin:var(--space-5) 0;max-height:28rem;overflow:auto;padding-right:var(--space-2)}
.message{max-width:min(44rem,100%);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-2);border:1px solid color-mix(in oklab,var(--color-text) 8%,transparent)}
.message.reporter{margin-left:auto;background:color-mix(in oklab,var(--color-primary) 12%,var(--color-surface));border-color:color-mix(in oklab,var(--color-primary) 18%,transparent)}
.message header{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}
.case-list{display:grid;gap:var(--space-3)}
.case-link{display:block;padding:var(--space-4);border-radius:var(--radius-lg);text-decoration:none;color:inherit;background:var(--color-surface-2);border:1px solid color-mix(in oklab,var(--color-text) 8%,transparent)}
.case-link.active{background:color-mix(in oklab,var(--color-primary) 10%,var(--color-surface-2));border-color:color-mix(in oklab,var(--color-primary) 22%,transparent)}
.case-link strong{display:block}
.case-link span{display:block;font-size:var(--text-xs);color:var(--color-text-muted)}
.kpis{display:grid;gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:var(--space-4)}
.kpi{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-2);border:1px solid color-mix(in oklab,var(--color-text) 8%,transparent)}
.kpi strong{display:block;font-family:var(--font-display);font-size:var(--text-lg)}
.footer{padding:var(--space-10) 0;color:var(--color-text-muted);font-size:var(--text-sm)}
.sql-block{overflow:auto;padding:var(--space-4);border-radius:var(--radius-lg);background:#111;color:#f8f8f2;font-size:.9rem;line-height:1.55}
.help-list{display:grid;gap:var(--space-2);padding-left:1.2rem}
@media (min-width:768px){.hero-grid{grid-template-columns:1.15fr .85fr}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard{grid-template-columns:320px minmax(0,1fr)}}
@media (max-width:767px){.header-inner{flex-direction:column;align-items:flex-start}.header-nav{width:100%;justify-content:space-between}.kpis{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.hero-card-list{display:grid;gap:var(--space-4);margin-top:var(--space-5)}
.notice{padding:var(--space-4);border-radius:var(--radius-lg);background:color-mix(in oklab,var(--color-primary) 8%,var(--color-surface));border:1px solid color-mix(in oklab,var(--color-primary) 18%,transparent);color:var(--color-text)}