/* Generated from the Lighthouse UI package. */
:root {
  color-scheme: light dark;

  /* Lighthouse asset palette: night, navy, signal blue and clear whites. */
  --lh-white: #ffffff;
  --lh-night: #0d0f17;
  --lh-navy: #111b2b;
  --lh-slate: #26344b;
  --lh-blue-deep: #1f6fd1;
  --lh-blue: #4da3ff;
  --lh-blue-light: #8fc2ff;
  --lh-ice: #f8faff;
  --lh-slate-light: #dce1eb;
  --lh-slate-muted: #aab6c9;

  --lh-canvas: light-dark(var(--lh-ice), var(--lh-night));
  --lh-surface: light-dark(var(--lh-white), var(--lh-navy));
  --lh-surface-muted: light-dark(var(--lh-slate-light), var(--lh-slate));
  --lh-text: light-dark(var(--lh-night), var(--lh-ice));
  --lh-text-muted: light-dark(var(--lh-slate), var(--lh-slate-muted));
  --lh-border: light-dark(var(--lh-slate-light), var(--lh-slate));
  --lh-border-strong: light-dark(var(--lh-slate-muted), var(--lh-blue-light));
  --lh-action: light-dark(var(--lh-blue-deep), var(--lh-blue));
  --lh-on-action: light-dark(var(--lh-white), var(--lh-night));
  --lh-action-hover: light-dark(var(--lh-night), var(--lh-blue-light));
  --lh-action-soft: light-dark(var(--lh-slate-light), var(--lh-slate));
  --lh-focus: light-dark(var(--lh-blue-deep), var(--lh-blue-light));

  --lh-positive: light-dark(#195c40, #96e4ad);
  --lh-positive-surface: light-dark(#e3f3e9, #173e2b);
  --lh-caution: light-dark(#765211, #f8cf79);
  --lh-caution-surface: light-dark(#fff2d7, #473612);
  --lh-negative: light-dark(#9a3434, #ffb6ab);
  --lh-negative-surface: light-dark(#fce8e5, #492825);

  --lh-font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --lh-font-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
  --lh-text-small: 0.8125rem;
  --lh-text-base: 0.9375rem;
  --lh-text-large: 1.125rem;
  --lh-leading: 1.55;
  --lh-space-1: 0.25rem;
  --lh-space-2: 0.5rem;
  --lh-space-3: 0.75rem;
  --lh-space-4: 1rem;
  --lh-space-6: 1.5rem;
  --lh-space-8: 2rem;
  --lh-space-12: 3rem;
  --lh-radius-control: 0.375rem;
  --lh-radius-panel: 0.625rem;
  --lh-control-height: 2.5rem;
  --lh-shadow-overlay: 0 16px 48px rgb(0 0 0 / 18%);
  --lh-motion-fast: 120ms;
}

[data-lh-theme="light"] { color-scheme: light; }
[data-lh-theme="dark"] { color-scheme: dark; }
[data-lh-theme="system"] { color-scheme: light dark; }

@media (prefers-reduced-motion: reduce) {
  :root { --lh-motion-fast: 0ms; }
}

.lh-root {
  margin: 0;
  background: var(--lh-canvas);
  color: var(--lh-text);
  font: var(--lh-text-base)/var(--lh-leading) var(--lh-font-sans);
  -webkit-font-smoothing: antialiased;
}
.lh-root *, .lh-root *::before, .lh-root *::after { box-sizing: border-box; }
.lh-root a { color: var(--lh-action); text-underline-offset: 0.2em; }
.lh-root :where(button, input, select, textarea) { font: inherit; }
.lh-root :focus-visible { outline: 2px solid var(--lh-focus); outline-offset: 3px; }
.lh-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: var(--lh-space-2);
  min-height: var(--lh-control-height);
  padding: var(--lh-space-2) var(--lh-space-4);
  border: 1px solid transparent;
  border-radius: var(--lh-radius-control);
  background: var(--lh-action);
  color: var(--lh-on-action);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--lh-motion-fast);
}
.lh-button:hover:not(:disabled) { background: var(--lh-action-hover); }
.lh-button[data-variant="secondary"] {
  background: var(--lh-surface);
  border-color: var(--lh-border-strong);
  color: var(--lh-text);
}
.lh-button[data-variant="secondary"]:hover:not(:disabled) { background: var(--lh-surface-muted); }
.lh-button:disabled { cursor: not-allowed; opacity: 0.55; }
.lh-input, .lh-select, .lh-textarea {
  width: 100%;
  min-height: var(--lh-control-height);
  padding: var(--lh-space-2) var(--lh-space-3);
  border: 1px solid var(--lh-border-strong);
  border-radius: var(--lh-radius-control);
  background: var(--lh-surface);
  color: var(--lh-text);
}
.lh-input::placeholder, .lh-textarea::placeholder { color: var(--lh-text-muted); }
.lh-input[aria-invalid="true"] { border-color: var(--lh-negative); }
.lh-field { display: grid; gap: var(--lh-space-2); }
.lh-field label { font-weight: 600; }
.lh-hint { color: var(--lh-text-muted); font-size: var(--lh-text-small); margin: 0; }
.lh-card {
  padding: var(--lh-space-6);
  border: 1px solid var(--lh-border);
  border-radius: var(--lh-radius-panel);
  background: var(--lh-surface);
}
.lh-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: var(--lh-radius-control);
  background: var(--lh-surface-muted);
  color: var(--lh-text);
  font-size: var(--lh-text-small);
  font-weight: 600;
  white-space: nowrap;
}
.lh-badge[data-tone="positive"], .lh-alert[data-tone="positive"] { color: var(--lh-positive); background: var(--lh-positive-surface); }
.lh-badge[data-tone="caution"], .lh-alert[data-tone="caution"] { color: var(--lh-caution); background: var(--lh-caution-surface); }
.lh-badge[data-tone="negative"], .lh-alert[data-tone="negative"] { color: var(--lh-negative); background: var(--lh-negative-surface); }
.lh-alert { padding: var(--lh-space-3) var(--lh-space-4); border-radius: var(--lh-radius-control); }
.lh-table { width: 100%; border-collapse: collapse; text-align: left; }
.lh-table caption { text-align: left; color: var(--lh-text-muted); padding-bottom: var(--lh-space-4); }
.lh-table th { color: var(--lh-text-muted); font-size: var(--lh-text-small); font-weight: 500; }
.lh-table th, .lh-table td { padding: var(--lh-space-3) var(--lh-space-4); border-bottom: 1px solid var(--lh-border); }
.lh-table tbody tr:last-child td { border-bottom: 0; }
.lh-dialog {
  width: min(28rem, calc(100% - 2rem));
  border: 1px solid var(--lh-border-strong);
  border-radius: var(--lh-radius-panel);
  padding: var(--lh-space-6);
  background: var(--lh-surface);
  color: var(--lh-text);
  box-shadow: var(--lh-shadow-overlay);
}
.lh-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.lh-dialog form { display: grid; gap: var(--lh-space-6); }
.lh-dialog h2 { margin: 0; }
.lh-root [hidden] { display: none; }
