/* dbg-bundle:start */
/*
 * Composable Dandex surface primitives derived from the dandex.ai foundation:
 * the shadcn zinc dark tokens in app/globals.css, the Figtree and Bellefair
 * faces loaded in app/layout.tsx, the radix-maia pill controls, and the
 * ambient teal floor rendered by components/landing/gradient-background.tsx.
 * All selectors and custom properties are namespaced with dbg-.
 *
 * Where Dandex has no opinion, the structure and semantics follow
 * https://vercel.com/geist/vercel-brand.css so that agents trained on the
 * Vercel API find the same shapes here. The public API is documented in
 * https://dandex.ai/design.md; do not target selectors that are not listed
 * there.
 *
 * This stylesheet is dark only: it sets color-scheme: dark and provides a
 * light rendering solely for print. The app itself has a light theme too.
 *
 * Standalone pages load Figtree and Bellefair from Google Fonts in the HTML
 * head; inside Next.js the --font-figtree and --font-bellefair variables from
 * next/font take precedence. The wordmark and mark are masks so currentColor
 * follows the surface.
 */

:where(.dbg-report) {
  color-scheme: dark;

  /* Faces */
  --dbg-font-sans: var(--font-figtree, var(--font-sans, "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));
  --dbg-font-display: var(--font-bellefair, "Bellefair", "Times New Roman", Georgia, serif);
  --dbg-font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;

  /* Floor and atmosphere. The only chromatic brand values. */
  --dbg-floor: #050d10;
  --dbg-teal-100: hsl(200 65% 7%);
  --dbg-teal-200: hsl(195 60% 9%);
  --dbg-teal-300: hsl(190 55% 12%);
  --dbg-selection: hsl(190 55% 12%);

  /* Neutral scale: zinc, dark ramp. 100 is darkest, 1000 is lightest. */
  --dbg-background-100: oklch(0.141 0.005 285.823);
  --dbg-background-200: oklch(0.21 0.006 285.885);
  --dbg-gray-100: oklch(0.21 0.006 285.885);
  --dbg-gray-200: oklch(0.244 0.006 286);
  --dbg-gray-300: oklch(0.274 0.006 286.033);
  --dbg-gray-400: oklch(0.31 0.008 286);
  --dbg-gray-500: oklch(0.37 0.013 285.805);
  --dbg-gray-600: oklch(0.442 0.017 285.786);
  --dbg-gray-700: oklch(0.552 0.016 285.938);
  --dbg-gray-800: oklch(0.63 0.016 286);
  --dbg-gray-900: oklch(0.705 0.015 286.067);
  --dbg-gray-1000: oklch(0.985 0 0);

  /* Translucent white ladder. Surfaces above the floor are layers, not fills. */
  --dbg-gray-alpha-100: oklch(1 0 0 / 0.05);
  --dbg-gray-alpha-200: oklch(1 0 0 / 0.08);
  --dbg-gray-alpha-300: oklch(1 0 0 / 0.1);
  --dbg-gray-alpha-400: oklch(1 0 0 / 0.15);
  --dbg-gray-alpha-500: oklch(1 0 0 / 0.2);
  --dbg-gray-alpha-600: oklch(1 0 0 / 0.3);
  --dbg-gray-alpha-700: oklch(1 0 0 / 0.4);
  --dbg-gray-alpha-800: oklch(1 0 0 / 0.5);
  --dbg-gray-alpha-900: oklch(1 0 0 / 0.6);
  --dbg-gray-alpha-1000: oklch(1 0 0 / 0.9);

  /* Semantic palette. Meaning only, always paired with a non-color cue. */
  --dbg-green-700: oklch(0.627 0.194 149.214);
  --dbg-green-500: oklch(0.723 0.219 149.579);
  --dbg-green-300: oklch(0.871 0.15 154.449);
  --dbg-amber-500: oklch(0.769 0.188 70.08);
  --dbg-amber-200: oklch(0.924 0.12 95.746);
  --dbg-blue-500: oklch(0.623 0.214 259.815);
  --dbg-blue-200: oklch(0.882 0.059 254.128);
  --dbg-red-500: oklch(0.704 0.191 22.216);

  --dbg-color-success: var(--dbg-green-700);
  --dbg-color-warning: var(--dbg-amber-500);
  --dbg-color-info: var(--dbg-blue-500);
  --dbg-color-error: var(--dbg-red-500);
  --dbg-tint-success: oklch(0.723 0.219 149.579 / 0.1);
  --dbg-tint-border-success: oklch(0.723 0.219 149.579 / 0.2);
  --dbg-tint-text-success: var(--dbg-green-300);
  --dbg-tint-warning: oklch(0.769 0.188 70.08 / 0.1);
  --dbg-tint-border-warning: oklch(0.769 0.188 70.08 / 0.3);
  --dbg-tint-text-warning: var(--dbg-amber-200);
  --dbg-tint-info: oklch(0.623 0.214 259.815 / 0.1);
  --dbg-tint-border-info: oklch(0.623 0.214 259.815 / 0.2);
  --dbg-tint-text-info: var(--dbg-blue-200);
  --dbg-tint-error: oklch(0.704 0.191 22.216 / 0.1);
  --dbg-tint-border-error: oklch(0.704 0.191 22.216 / 0.2);
  --dbg-tint-text-error: var(--dbg-red-500);

  /* Category series are monochrome. Reserve chromatic tokens for meaning. */
  --dbg-chart-1: var(--dbg-gray-1000);
  --dbg-chart-2: var(--dbg-gray-900);
  --dbg-chart-3: var(--dbg-gray-700);
  --dbg-chart-4: var(--dbg-gray-1000);
  --dbg-chart-5: var(--dbg-gray-900);
  --dbg-chart-6: var(--dbg-gray-700);

  /* Surfaces, text, borders */
  --dbg-surface-floor: var(--dbg-floor);
  --dbg-surface-primary: var(--dbg-background-200);
  --dbg-surface-secondary: var(--dbg-gray-alpha-100);
  --dbg-surface-hover: var(--dbg-gray-alpha-300);
  /* The contrast field is light on a dark brand. */
  --dbg-surface-contrast: var(--dbg-gray-1000);
  --dbg-text-primary: var(--dbg-gray-1000);
  --dbg-text-secondary: var(--dbg-gray-900);
  --dbg-text-tertiary: var(--dbg-gray-alpha-700);
  --dbg-text-on-contrast: var(--dbg-background-200);
  --dbg-text-on-contrast-secondary: var(--dbg-gray-600);
  --dbg-border-subtle: var(--dbg-gray-alpha-100);
  --dbg-border-default: var(--dbg-gray-alpha-300);
  --dbg-border-strong: var(--dbg-gray-alpha-500);
  --dbg-border-on-contrast: oklch(0 0 0 / 0.15);

  /* Action and focus. Focus is neutral, never blue. */
  --dbg-action: oklch(0.92 0.004 286.32);
  --dbg-action-hover: oklch(0.92 0.004 286.32 / 0.8);
  --dbg-action-text: var(--dbg-background-200);
  --dbg-focus: var(--dbg-gray-700);
  --dbg-focus-ring: oklch(0.552 0.016 285.938 / 0.5);

  /* Rhythm */
  --dbg-space-1: 4px;
  --dbg-space-2: 8px;
  --dbg-space-3: 12px;
  --dbg-space-4: 16px;
  --dbg-space-5: 20px;
  --dbg-space-6: 24px;
  --dbg-space-8: 32px;
  --dbg-space-10: 40px;
  --dbg-space-12: 48px;
  --dbg-space-16: 64px;

  /* Shape. Pills for controls, 18px for cards, 10px base. */
  --dbg-radius-small: 8px;
  --dbg-radius: 10px;
  --dbg-radius-large: 14px;
  --dbg-radius-card: 18px;
  --dbg-radius-pill: 9999px;

  /* Type size */
  --dbg-type-display: clamp(2.25rem, 6vw, 4.5rem);
  --dbg-type-headline: clamp(2.25rem, 5vw, 3.75rem);
  --dbg-type-page-title: clamp(1.875rem, 4vw, 2.25rem);
  --dbg-type-title: 1.5rem;
  --dbg-type-section: 1.5rem;
  --dbg-type-subsection: 1.25rem;
  --dbg-type-heading: 1.125rem;
  --dbg-type-lede: 1.125rem;
  --dbg-type-body: 1rem;
  --dbg-type-compact: 0.875rem;
  --dbg-type-label: 0.75rem;
  --dbg-type-metadata: 0.75rem;

  /* Type weight and tracking. Figtree ships 400, 500, 600 only. */
  --dbg-weight-regular: 400;
  --dbg-weight-medium: 500;
  --dbg-weight-semibold: 600;
  --dbg-weight-display: 400;
  --dbg-tracking-display: -0.07em;
  --dbg-tracking-heading: -0.025em;

  /* Leading */
  --dbg-leading-body: 24px;
  --dbg-leading-compact: 20px;
  --dbg-leading-caption: 16px;
  --dbg-leading-display: 1.05;
  --dbg-leading-headline: 1.1;
  --dbg-leading-page-title: 1.1;
  --dbg-leading-title: 1.25;
  --dbg-leading-section: 32px;
  --dbg-leading-subsection: 28px;
  --dbg-leading-lede: 28px;

  /* Flow relationships */
  --dbg-flow-tight: var(--dbg-space-2);
  --dbg-flow-copy: var(--dbg-space-4);
  --dbg-flow-group: var(--dbg-space-8);
  --dbg-flow-section: var(--dbg-space-16);

  /* Measures and shell geometry */
  --dbg-reading-width: 68ch;
  --dbg-display-measure: 22ch;
  --dbg-title-measure: 26ch;
  --dbg-shell-width: 1536px;
  --dbg-content-width: 1024px;
  --dbg-guided-width: 896px;
  --dbg-form-width: 448px;
  --dbg-shell-inset: 24px;
  --dbg-bar-height: 56px;
  --dbg-chart-min-width: 640px;
  --dbg-control-height: 36px;
  --dbg-control-height-sm: 32px;
  --dbg-control-height-lg: 40px;
  --dbg-control-height-xs: 24px;
  --dbg-control-height-touch: 44px;

  box-sizing: border-box;
  margin: 0;
  min-height: 100%;
  min-height: 100dvh;
  background-color: var(--dbg-surface-floor);
  /* The one gradient: the ambient teal floor, static. */
  background-image:
    radial-gradient(ellipse at 0% 0%, var(--dbg-teal-200) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 0%, var(--dbg-teal-300) 0%, transparent 50%),
    radial-gradient(ellipse at 0% 100%, var(--dbg-teal-100) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 100%, var(--dbg-teal-200) 0%, transparent 50%);
  background-attachment: fixed;
  background-size: cover;
  color: var(--dbg-text-primary);
  font-family: var(--dbg-font-sans);
  font-size: 16px;
  font-weight: var(--dbg-weight-regular);
  line-height: var(--dbg-leading-body);
  font-kerning: normal;
  font-optical-sizing: auto;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:where(.dbg-report[data-ambient="off"]) {
  background-image: none;
}

@supports selector(body:has(> .dbg-report)) {
  body:has(> .dbg-report) {
    margin: 0;
    background: var(--dbg-floor);
  }
}

:where(.dbg-report *, .dbg-report *::before, .dbg-report *::after) {
  box-sizing: inherit;
}

/* Published display primitives must never override the HTML hidden state. */
.dbg-report[hidden],
:where(.dbg-report) [hidden] {
  display: none !important;
}

:where(.dbg-report) ::selection {
  background-color: var(--dbg-selection);
  color: #ffffff;
}

/* ------------------------------------------------------------------ */
/* Typography                                                         */
/* ------------------------------------------------------------------ */

:where(.dbg-report) :where(h1, h2, h3, h4, p, ul, ol, dl, figure, blockquote, pre) {
  margin-block-start: 0;
}

:where(.dbg-report) :where(h1, h2, h3, h4) {
  color: var(--dbg-text-primary);
  font-weight: var(--dbg-weight-semibold);
  letter-spacing: var(--dbg-tracking-heading);
  text-wrap: balance;
}

:where(.dbg-report) :where(h1, h2, h3, h4, .dbg-display, .dbg-headline, .dbg-title, .dbg-page-title, .dbg-heading-24, .dbg-heading-20, .dbg-heading-18, .dbg-heading-16) strong {
  color: inherit;
  font-weight: inherit;
}

:where(.dbg-report) :where(p, li, dd, blockquote, figcaption, .dbg-lede) strong {
  color: var(--dbg-text-primary);
  font-weight: var(--dbg-weight-medium);
}

:where(.dbg-report) :where([id]) {
  scroll-margin-top: var(--dbg-space-8);
}

/* Bellefair roles. Regular weight, -0.07em, never below 24px. */
:where(.dbg-report) h1,
:where(.dbg-report) .dbg-page-title,
:where(.dbg-report) .dbg-display,
:where(.dbg-report) .dbg-headline,
:where(.dbg-report) .dbg-title {
  font-family: var(--dbg-font-display);
  font-weight: var(--dbg-weight-display);
  letter-spacing: var(--dbg-tracking-display);
  color: var(--dbg-text-primary);
  text-wrap: balance;
}

:where(.dbg-report) h1,
:where(.dbg-report) .dbg-page-title {
  max-width: var(--dbg-title-measure);
  margin-block-end: var(--dbg-space-4);
  font-size: var(--dbg-type-page-title);
  line-height: var(--dbg-leading-page-title);
}

:where(.dbg-report) .dbg-display {
  max-width: var(--dbg-display-measure);
  margin-block-end: var(--dbg-space-4);
  font-size: var(--dbg-type-display);
  line-height: var(--dbg-leading-display);
}

:where(.dbg-report) .dbg-headline {
  max-width: var(--dbg-title-measure);
  margin-block-end: var(--dbg-space-4);
  font-size: var(--dbg-type-headline);
  line-height: var(--dbg-leading-headline);
}

:where(.dbg-report) .dbg-title {
  margin-block-end: var(--dbg-space-3);
  font-size: var(--dbg-type-title);
  line-height: var(--dbg-leading-title);
}

/* Figtree heading roles. */
:where(.dbg-report) h2,
:where(.dbg-report) .dbg-heading-24 {
  margin-block-end: var(--dbg-space-4);
  font-family: var(--dbg-font-sans);
  font-size: var(--dbg-type-section);
  font-weight: var(--dbg-weight-semibold);
  letter-spacing: var(--dbg-tracking-heading);
  line-height: var(--dbg-leading-section);
}

:where(.dbg-report) h3,
:where(.dbg-report) .dbg-heading-20 {
  margin-block-end: var(--dbg-space-3);
  font-family: var(--dbg-font-sans);
  font-size: var(--dbg-type-subsection);
  font-weight: var(--dbg-weight-semibold);
  letter-spacing: var(--dbg-tracking-heading);
  line-height: var(--dbg-leading-subsection);
}

:where(.dbg-report) .dbg-heading-18 {
  margin-block-end: var(--dbg-space-3);
  font-family: var(--dbg-font-sans);
  font-size: var(--dbg-type-heading);
  font-weight: var(--dbg-weight-semibold);
  letter-spacing: -0.02em;
  line-height: 26px;
}

:where(.dbg-report) h4,
:where(.dbg-report) .dbg-heading-16 {
  margin-block-end: var(--dbg-space-2);
  font-family: var(--dbg-font-sans);
  font-size: var(--dbg-type-body);
  font-weight: var(--dbg-weight-medium);
  letter-spacing: -0.01em;
  line-height: var(--dbg-leading-body);
}

:where(.dbg-report) p {
  margin-block-end: var(--dbg-space-4);
  line-height: var(--dbg-leading-body);
  text-wrap: pretty;
}

:where(.dbg-report) :where(ul, ol) {
  margin-block-end: var(--dbg-space-4);
  padding-inline-start: 1.25rem;
}

:where(.dbg-report) li {
  line-height: var(--dbg-leading-body);
}

:where(.dbg-report) :where(.dbg-reading, .dbg-flow) li + li {
  margin-block-start: var(--dbg-flow-tight);
}

:where(.dbg-report) :where(.dbg-reading, .dbg-flow) li > :where(p, ul, ol) {
  margin-block-end: 0;
}

:where(.dbg-report) :where(.dbg-reading, .dbg-flow) li > p + p,
:where(.dbg-report) :where(.dbg-reading, .dbg-flow) li > :where(ul, ol) {
  margin-block-start: var(--dbg-flow-tight);
}

:where(.dbg-report) dt {
  font-weight: var(--dbg-weight-medium);
  line-height: var(--dbg-leading-body);
}

:where(.dbg-report) dd {
  margin-inline-start: 0;
  color: var(--dbg-text-secondary);
  line-height: var(--dbg-leading-body);
}

:where(.dbg-report) dt:not(:first-child) {
  margin-block-start: var(--dbg-flow-copy);
}

:where(.dbg-report) dt + dd {
  margin-block-start: var(--dbg-space-1);
}

:where(.dbg-report) blockquote {
  margin-inline: 0;
  margin-block-end: var(--dbg-flow-copy);
  padding-block: var(--dbg-space-2);
  padding-inline-start: var(--dbg-space-4);
  border-inline-start: 1px solid var(--dbg-border-strong);
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-lede);
  line-height: var(--dbg-leading-lede);
}

:where(.dbg-report) :where(p, li, dd, figcaption, .dbg-label, .dbg-meta) {
  overflow-wrap: anywhere;
}

:where(.dbg-report) :where(td, th) {
  overflow-wrap: break-word;
}

:where(.dbg-report) .dbg-lede {
  max-width: var(--dbg-reading-width);
  margin-block-end: var(--dbg-space-6);
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-lede);
  font-weight: var(--dbg-weight-regular);
  line-height: var(--dbg-leading-lede);
}

:where(.dbg-report) .dbg-lede > :where(p, ul, ol) {
  margin-block-end: 0;
}

:where(.dbg-report) .dbg-lede > p + p {
  margin-block-start: var(--dbg-flow-copy);
}

:where(.dbg-report) .dbg-context,
:where(.dbg-report) .dbg-label {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-label);
  font-weight: var(--dbg-weight-medium);
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) :where(.dbg-context, .dbg-label) strong {
  color: var(--dbg-text-primary);
  font-weight: var(--dbg-weight-medium);
}

/* Field-group labels inside dense data panels may be tracked uppercase.
   This is the only permitted all-caps role. */
:where(.dbg-report) .dbg-label[data-variant="group"] {
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

:where(.dbg-report) .dbg-meta {
  color: var(--dbg-text-secondary);
  font-family: var(--dbg-font-sans);
  font-size: var(--dbg-type-metadata);
  font-weight: var(--dbg-weight-regular);
  font-variant-numeric: tabular-nums;
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) figcaption,
:where(.dbg-report) .dbg-caption {
  margin-block-start: var(--dbg-space-3);
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
}

:where(.dbg-report) .dbg-mono {
  font-family: var(--dbg-font-mono);
  font-size: 0.9375em;
  font-variant-numeric: tabular-nums slashed-zero;
}

:where(.dbg-report) .dbg-numeric {
  font-variant-numeric: tabular-nums;
  text-align: end;
}

:where(.dbg-report) .dbg-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}

/* Links */
:where(.dbg-report) :where(a) {
  color: inherit;
  text-decoration-color: var(--dbg-gray-alpha-600);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color 150ms ease, text-decoration-color 150ms ease;
}

:where(.dbg-report) a:hover {
  text-decoration-color: currentColor;
}

:where(.dbg-report) .dbg-link {
  color: var(--dbg-text-primary);
  font-weight: var(--dbg-weight-medium);
  text-decoration: underline;
  text-decoration-color: var(--dbg-gray-alpha-600);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

:where(.dbg-report) .dbg-link:hover {
  text-decoration-color: currentColor;
}

:where(.dbg-report) .dbg-link[data-variant="secondary"] {
  color: var(--dbg-text-secondary);
  font-weight: var(--dbg-weight-regular);
  text-decoration: none;
}

:where(.dbg-report) .dbg-link[data-variant="secondary"]:hover {
  color: var(--dbg-text-primary);
}

/* Focus: neutral 3px halo plus border shift. Never removed. */
:where(.dbg-report) :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--dbg-focus);
  outline-offset: 3px;
}

:where(.dbg-report) :where(button, .dbg-button, input, select, textarea, .dbg-unit-field):focus-visible,
:where(.dbg-report) .dbg-unit-field:has(:focus-visible) {
  outline: none;
  border-color: var(--dbg-focus);
  box-shadow: 0 0 0 3px var(--dbg-focus-ring);
}

:where(.dbg-report) .dbg-unit-field:has(:focus-visible) :where(input, select) {
  box-shadow: none;
  border-color: transparent;
}

/* Code */
:where(.dbg-report) :where(code, kbd, samp, pre) {
  font-family: var(--dbg-font-mono);
  font-variant-numeric: tabular-nums slashed-zero;
}

:where(.dbg-report) :where(code, kbd) {
  border: 1px solid var(--dbg-border-default);
  border-radius: 4px;
  background: var(--dbg-gray-alpha-100);
  padding: 0.1em 0.35em;
  font-size: 0.875em;
}

:where(.dbg-report) .dbg-formula {
  display: block;
  max-width: 100%;
  overflow: visible;
  overflow-wrap: anywhere;
  white-space: normal;
  color: var(--dbg-text-secondary);
  font-family: var(--dbg-font-mono);
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
}

.dbg-report :is(.dbg-formula, [data-dbg-formula], [data-formula]) {
  min-inline-size: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal !important;
}

:where(.dbg-report) pre {
  overflow: auto;
  border: 1px solid var(--dbg-border-default);
  border-radius: var(--dbg-radius);
  background: var(--dbg-gray-alpha-100);
  padding: var(--dbg-space-4);
  font-size: 0.8125rem;
  line-height: 1.55;
}

:where(.dbg-report) pre code {
  border: 0;
  background: transparent;
  padding: 0;
  font-size: inherit;
}

:where(.dbg-report) :where(img, svg, video, canvas) {
  display: block;
  max-width: 100%;
  height: auto;
}

:where(.dbg-report) figure {
  margin-inline: 0;
  margin-block-end: var(--dbg-space-8);
}

:where(.dbg-report) hr {
  border: 0;
  border-block-start: 1px solid var(--dbg-border-subtle);
  margin-block: var(--dbg-space-8);
}

/* ------------------------------------------------------------------ */
/* Shell                                                              */
/* ------------------------------------------------------------------ */

:where(.dbg-report) .dbg-shell {
  width: min(calc(100% - (var(--dbg-shell-inset) * 2)), var(--dbg-shell-width));
  margin-inline: auto;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  container-name: dbg-shell;
  container-type: inline-size;
}

:where(.dbg-report) .dbg-shell > main {
  flex: 1 1 auto;
  width: min(100%, var(--dbg-content-width));
  margin-inline: auto;
  padding-block: var(--dbg-space-8) var(--dbg-space-16);
}

:where(.dbg-report) .dbg-shell[data-track="guided"] > main {
  width: min(100%, var(--dbg-guided-width));
  padding-block-start: var(--dbg-space-12);
}

:where(.dbg-report) .dbg-shell[data-track="reading"] > main {
  width: min(100%, calc(var(--dbg-reading-width) + var(--dbg-space-8)));
}

:where(.dbg-report) .dbg-shell[data-track="full"] > main {
  width: 100%;
}

:where(.dbg-report) .dbg-skip-link {
  position: absolute;
  inset-inline-start: var(--dbg-space-4);
  inset-block-start: var(--dbg-space-2);
  z-index: 100;
  transform: translateY(-200%);
  border: 1px solid var(--dbg-border-strong);
  border-radius: var(--dbg-radius-pill);
  background: var(--dbg-surface-primary);
  color: var(--dbg-text-primary);
  padding: var(--dbg-space-2) var(--dbg-space-4);
  font-size: var(--dbg-type-compact);
  font-weight: var(--dbg-weight-medium);
  text-decoration: none;
}

:where(.dbg-report) .dbg-skip-link:focus-visible {
  transform: translateY(0);
}

/* Header: 56px bar, wordmark left, at most two sourced fields or one action right, hairline below. */
:where(.dbg-report) .dbg-header {
  position: relative;
  min-height: var(--dbg-bar-height);
  display: flex;
  align-items: center;
  padding-block: var(--dbg-space-2);
}

:where(.dbg-report) .dbg-header::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  height: 1px;
  background: var(--dbg-border-subtle);
}

:where(.dbg-report) .dbg-masthead {
  width: 100%;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--dbg-space-6);
  min-width: 0;
}

:where(.dbg-report) .dbg-identity {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: var(--dbg-text-primary);
}

/* Remote SVG documents do not inherit currentColor through <img>. Masks do. */
:where(.dbg-report) .dbg-wordmark {
  display: inline-block;
  width: 128px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: url("https://dandex.ai/dandex-logo.svg") left center / contain no-repeat;
  mask: url("https://dandex.ai/dandex-logo.svg") left center / contain no-repeat;
}

/* The lens as in the wordmark: wide, with an upright pupil. */
:where(.dbg-report) .dbg-mark {
  display: inline-block;
  width: 24px;
  height: 14px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 373.203 216.2'%3E%3Cpath d='M373.203 108.101C373.203 118.843 370.195 127.236 365.089 134.105C359.99 140.964 352.82 146.277 344.537 150.899C336.256 155.521 326.825 159.472 317.194 163.588C307.553 167.708 297.702 171.995 288.53 177.298C251.778 198.547 229.266 216.2 186.602 216.2C143.938 216.2 121.425 198.547 84.6728 177.298C75.5014 171.995 65.6502 167.708 56.0088 163.588C46.3782 159.473 36.9476 155.521 28.667 150.899C20.3838 146.277 13.2128 140.964 8.11425 134.105C3.00807 127.236 7.59836e-05 118.843 -4.72523e-06 108.101C1.42161e-05 97.3585 3.00817 88.9649 8.11425 82.0957C13.2128 75.2368 20.3838 69.9245 28.667 65.3017C36.9477 60.6803 46.378 56.7277 56.0088 52.6123C65.6503 48.4923 75.5013 44.2051 84.6728 38.9023C121.425 17.6529 143.938 5.63742e-05 186.602 -8.15661e-06C229.265 1.37056e-05 251.778 17.6529 288.53 38.9023C297.702 44.2051 307.553 48.4923 317.194 52.6123C326.825 56.7277 336.256 60.6803 344.537 65.3018C352.82 69.9245 359.99 75.237 365.089 82.0957C370.195 88.9649 373.203 97.3585 373.203 108.101ZM327.445 109.663C327.445 71.2537 264.212 40.1162 186.211 40.1162C108.21 40.1163 44.9775 71.2537 44.9775 109.663C44.9778 148.072 108.21 179.209 186.211 179.209C264.212 179.209 327.445 148.072 327.445 109.663Z'/%3E%3Cellipse cx='186.21' cy='108.1' rx='15.606' ry='48.448'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 373.203 216.2'%3E%3Cpath d='M373.203 108.101C373.203 118.843 370.195 127.236 365.089 134.105C359.99 140.964 352.82 146.277 344.537 150.899C336.256 155.521 326.825 159.472 317.194 163.588C307.553 167.708 297.702 171.995 288.53 177.298C251.778 198.547 229.266 216.2 186.602 216.2C143.938 216.2 121.425 198.547 84.6728 177.298C75.5014 171.995 65.6502 167.708 56.0088 163.588C46.3782 159.473 36.9476 155.521 28.667 150.899C20.3838 146.277 13.2128 140.964 8.11425 134.105C3.00807 127.236 7.59836e-05 118.843 -4.72523e-06 108.101C1.42161e-05 97.3585 3.00817 88.9649 8.11425 82.0957C13.2128 75.2368 20.3838 69.9245 28.667 65.3017C36.9477 60.6803 46.378 56.7277 56.0088 52.6123C65.6503 48.4923 75.5013 44.2051 84.6728 38.9023C121.425 17.6529 143.938 5.63742e-05 186.602 -8.15661e-06C229.265 1.37056e-05 251.778 17.6529 288.53 38.9023C297.702 44.2051 307.553 48.4923 317.194 52.6123C326.825 56.7277 336.256 60.6803 344.537 65.3018C352.82 69.9245 359.99 75.237 365.089 82.0957C370.195 88.9649 373.203 97.3585 373.203 108.101ZM327.445 109.663C327.445 71.2537 264.212 40.1162 186.211 40.1162C108.21 40.1163 44.9775 71.2537 44.9775 109.663C44.9778 148.072 108.21 179.209 186.211 179.209C264.212 179.209 327.445 148.072 327.445 109.663Z'/%3E%3Cellipse cx='186.21' cy='108.1' rx='15.606' ry='48.448'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Unknown masthead content stays readable instead of entering a narrow track. */
:where(.dbg-report) .dbg-document-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  column-gap: var(--dbg-space-6);
  row-gap: var(--dbg-space-1);
  min-width: 0;
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-metadata);
  font-variant-numeric: tabular-nums;
  line-height: var(--dbg-leading-caption);
  text-align: end;
}

:where(.dbg-report) .dbg-document-meta > * {
  margin: 0;
}

:where(.dbg-report) .dbg-document-meta :where(.dbg-recipient, .dbg-state, .dbg-date, .dbg-confidentiality) {
  white-space: nowrap;
}

:where(.dbg-report) .dbg-document-meta .dbg-recipient {
  color: var(--dbg-text-primary);
}

/* Footer: copyright left, one sourced line or a quiet link row right, hairline above. */
:where(.dbg-report) .dbg-footer {
  position: relative;
  min-height: var(--dbg-bar-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--dbg-space-2) var(--dbg-space-6);
  margin-block-start: auto;
  padding-block: var(--dbg-space-3);
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-metadata);
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) .dbg-footer::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  height: 1px;
  background: var(--dbg-border-subtle);
}

:where(.dbg-report) .dbg-footer > * {
  margin: 0;
}

:where(.dbg-report) .dbg-footer nav,
:where(.dbg-report) .dbg-footer ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--dbg-space-1) var(--dbg-space-6);
  list-style: none;
  padding: 0;
  margin: 0;
}

:where(.dbg-report) .dbg-footer a {
  text-decoration: none;
  color: var(--dbg-text-secondary);
}

:where(.dbg-report) .dbg-footer a:hover {
  color: var(--dbg-text-primary);
}

/* Optional context line between masthead and title. Metadata role. */
:where(.dbg-report) .dbg-context {
  margin-block-end: var(--dbg-space-3);
}

/* ------------------------------------------------------------------ */
/* Layout                                                             */
/* ------------------------------------------------------------------ */

:where(.dbg-report) .dbg-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--dbg-space-6);
}

:where(.dbg-report) .dbg-grid > * {
  grid-column: 1 / -1;
  min-width: 0;
}

:where(.dbg-report) .dbg-span-4 { grid-column: span 4; }
:where(.dbg-report) .dbg-span-5 { grid-column: span 5; }
:where(.dbg-report) .dbg-span-6 { grid-column: span 6; }
:where(.dbg-report) .dbg-span-7 { grid-column: span 7; }
:where(.dbg-report) .dbg-span-8 { grid-column: span 8; }
:where(.dbg-report) .dbg-span-12 { grid-column: 1 / -1; }

:where(.dbg-report) .dbg-split {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--dbg-space-6);
  align-items: start;
}

:where(.dbg-report) .dbg-split[data-ratio="equal"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

:where(.dbg-report) .dbg-split[data-ratio="wide"] {
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
}

:where(.dbg-report) .dbg-split > * {
  min-width: 0;
}

/* A split section introduction aligns first text baselines, not box tops. */
:where(.dbg-report) .dbg-split > :where(h2, h3, .dbg-heading-24, .dbg-heading-20) + :where(p, .dbg-lede) {
  margin-block-start: 0;
}

:where(.dbg-report) .dbg-section {
  margin-block-end: var(--dbg-flow-group);
}

:where(.dbg-report) .dbg-section:last-child {
  margin-block-end: 0;
}

:where(.dbg-report) .dbg-section > :where(h2, .dbg-heading-24):first-child {
  margin-block-start: 0;
}

:where(.dbg-report) .dbg-chapter {
  margin-block-end: var(--dbg-flow-section);
}

:where(.dbg-report) .dbg-chapter:last-child {
  margin-block-end: 0;
}

/* Reading measure for narrative. Tables, charts, and data regions escape it. */
:where(.dbg-report) .dbg-reading {
  max-width: var(--dbg-reading-width);
}

:where(.dbg-report) .dbg-reading > :where(.dbg-table-wrap, .dbg-chart, .dbg-stat-strip, .dbg-comparison, .dbg-bar-list, .dbg-calculator) {
  max-width: none;
}

/* Every gap has one owner. */
:where(.dbg-report) .dbg-flow > * {
  margin-block: 0;
}

:where(.dbg-report) .dbg-flow > * + * {
  margin-block-start: var(--dbg-flow-copy);
}

:where(.dbg-report) .dbg-flow > :where(h2, .dbg-heading-24) + *,
:where(.dbg-report) .dbg-flow > :where(h3, .dbg-heading-20, .dbg-heading-18) + *,
:where(.dbg-report) .dbg-flow > :where(h4, .dbg-heading-16) + * {
  margin-block-start: var(--dbg-flow-tight);
}

:where(.dbg-report) .dbg-flow > * + :where(h2, .dbg-heading-24) {
  margin-block-start: var(--dbg-flow-group);
}

:where(.dbg-report) .dbg-flow > * + :where(h3, h4, .dbg-heading-20, .dbg-heading-18, .dbg-heading-16) {
  margin-block-start: var(--dbg-space-6);
}

:where(.dbg-report) .dbg-flow > * + :where(.dbg-table-wrap, .dbg-chart, .dbg-stat-strip, .dbg-comparison, .dbg-bar-list, .dbg-calculator, .dbg-facts) {
  margin-block-start: var(--dbg-space-6);
}

:where(.dbg-report) .dbg-flow > :where(.dbg-table-wrap, .dbg-chart, .dbg-stat-strip, .dbg-comparison, .dbg-bar-list, .dbg-calculator) + :where(p, ul, ol) {
  margin-block-start: var(--dbg-space-6);
}

:where(.dbg-report) .dbg-flow > :where(figcaption, .dbg-caption, .dbg-sources) {
  margin-block-start: var(--dbg-space-3);
}

:where(.dbg-report) .dbg-stack {
  display: grid;
  gap: var(--dbg-space-4);
}

:where(.dbg-report) .dbg-stack[data-gap="tight"] {
  gap: var(--dbg-space-2);
}

:where(.dbg-report) .dbg-stack[data-gap="group"] {
  gap: var(--dbg-space-8);
}

:where(.dbg-report) .dbg-stack > * {
  margin-block: 0;
  min-width: 0;
}

:where(.dbg-report) .dbg-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--dbg-space-2) var(--dbg-space-3);
}

:where(.dbg-report) .dbg-cluster > * {
  margin-block: 0;
}

/* Bands. The contrast band is the only light field on a Dandex page. */
:where(.dbg-report) .dbg-band {
  padding: var(--dbg-space-8) 0;
}

:where(.dbg-report) .dbg-band[data-tone="secondary"] {
  border-block: 1px solid var(--dbg-border-subtle);
  background: var(--dbg-surface-secondary);
  padding-inline: var(--dbg-space-6);
  border-radius: var(--dbg-radius-card);
}

:where(.dbg-report) .dbg-band[data-tone="contrast"] {
  --dbg-text-primary: var(--dbg-text-on-contrast);
  --dbg-text-secondary: var(--dbg-text-on-contrast-secondary);
  --dbg-border-subtle: var(--dbg-border-on-contrast);
  --dbg-border-default: var(--dbg-border-on-contrast);
  --dbg-border-strong: oklch(0 0 0 / 0.35);
  --dbg-surface-secondary: oklch(0 0 0 / 0.04);
  --dbg-surface-hover: oklch(0 0 0 / 0.08);
  --dbg-gray-alpha-100: oklch(0 0 0 / 0.05);
  --dbg-gray-alpha-200: oklch(0 0 0 / 0.08);
  --dbg-gray-alpha-300: oklch(0 0 0 / 0.1);
  --dbg-gray-alpha-400: oklch(0 0 0 / 0.15);
  --dbg-gray-alpha-500: oklch(0 0 0 / 0.2);
  --dbg-gray-alpha-600: oklch(0 0 0 / 0.3);
  --dbg-gray-alpha-700: oklch(0 0 0 / 0.45);
  --dbg-chart-1: var(--dbg-text-on-contrast);
  --dbg-chart-2: oklch(0.42 0.01 286);
  --dbg-chart-3: oklch(0.6 0.01 286);
  --dbg-chart-4: var(--dbg-text-on-contrast);
  --dbg-chart-5: oklch(0.42 0.01 286);
  --dbg-chart-6: oklch(0.6 0.01 286);
  --dbg-action: var(--dbg-background-200);
  --dbg-action-hover: oklch(0.21 0.006 285.885 / 0.85);
  --dbg-action-text: var(--dbg-gray-1000);
  --dbg-focus: oklch(0.42 0.01 286);
  --dbg-focus-ring: oklch(0.42 0.01 286 / 0.4);
  --dbg-selection: oklch(0.85 0.03 200);
  border-radius: var(--dbg-radius-card);
  background: var(--dbg-surface-contrast);
  color: var(--dbg-text-on-contrast);
  padding: var(--dbg-space-8) var(--dbg-space-6);
}

:where(.dbg-report) .dbg-band[data-tone="contrast"] :where(h1, h2, h3, h4, .dbg-display, .dbg-headline, .dbg-title, .dbg-page-title, .dbg-heading-24, .dbg-heading-20, .dbg-heading-18, .dbg-heading-16) {
  color: var(--dbg-text-on-contrast);
}

:where(.dbg-report) .dbg-band[data-tone="contrast"] ::selection {
  color: var(--dbg-background-200);
}

/* Contained surface. Opt in only when a region has a real boundary. */
:where(.dbg-report) .dbg-surface {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

:where(.dbg-report) .dbg-surface[data-variant="contained"] {
  border: 1px solid var(--dbg-border-default);
  border-radius: var(--dbg-radius-card);
  background: var(--dbg-surface-secondary);
  padding: var(--dbg-space-6);
}

:where(.dbg-report) .dbg-surface[data-variant="contained"] > :last-child {
  margin-block-end: 0;
}

/* Opening: claim, decisive proof, optional context. */
:where(.dbg-report) .dbg-opening {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--dbg-space-6);
  row-gap: var(--dbg-space-8);
  margin-block-end: var(--dbg-flow-section);
}

:where(.dbg-report) .dbg-opening > * {
  grid-column: 1 / -1;
  min-width: 0;
}

:where(.dbg-report) .dbg-opening > * > :last-child {
  margin-block-end: 0;
}

:where(.dbg-report) .dbg-opening[data-layout="split"] > .dbg-opening-claim {
  grid-column: 1 / span 7;
}

:where(.dbg-report) .dbg-opening[data-layout="split"] > .dbg-opening-proof {
  grid-column: 8 / span 5;
}

:where(.dbg-report) .dbg-opening-claim > :where(p, .dbg-lede) {
  max-width: var(--dbg-reading-width);
}

:where(.dbg-report) .dbg-opening-context {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
}

/* ------------------------------------------------------------------ */
/* Entity primitives (Dandex)                                         */
/* ------------------------------------------------------------------ */

/* Breadcrumb: 12px secondary, slash separators, current page in primary. */
:where(.dbg-report) .dbg-breadcrumb {
  margin-block-end: var(--dbg-space-6);
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-metadata);
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) .dbg-breadcrumb :where(ol, ul) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--dbg-space-1);
  list-style: none;
  margin: 0;
  padding: 0;
}

:where(.dbg-report) .dbg-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: var(--dbg-space-1);
  line-height: inherit;
  min-width: 0;
}

:where(.dbg-report) .dbg-breadcrumb li + li::before {
  content: "/";
  margin-inline: 2px;
  color: var(--dbg-text-tertiary);
}

:where(.dbg-report) .dbg-breadcrumb a {
  text-decoration: none;
  color: var(--dbg-text-secondary);
}

:where(.dbg-report) .dbg-breadcrumb a:hover {
  color: var(--dbg-text-primary);
}

:where(.dbg-report) .dbg-breadcrumb [aria-current="page"] {
  color: var(--dbg-text-primary);
}

/* Entity header: name and status co-primary, then one metadata line. */
:where(.dbg-report) .dbg-entity {
  margin-block-end: var(--dbg-space-8);
}

:where(.dbg-report) .dbg-entity-name {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: var(--dbg-space-3);
  row-gap: var(--dbg-space-2);
  max-width: none;
  margin-block-end: var(--dbg-space-1);
}

:where(.dbg-report) .dbg-entity-name > .dbg-status {
  position: relative;
  top: -0.2em;
  font-family: var(--dbg-font-sans);
  letter-spacing: 0;
}

/* Parts of the run are set apart by the gap alone: no middle dot or other glyph between them. */
:where(.dbg-report) .dbg-entity-meta {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--dbg-space-4);
  row-gap: var(--dbg-space-1);
  margin: 0;
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
}

/* Status pill: 20px, 12px medium text, pill radius. Tone carries meaning. */
:where(.dbg-report) .dbg-status {
  display: inline-flex;
  align-items: center;
  gap: var(--dbg-space-1);
  height: 20px;
  border: 1px solid transparent;
  border-radius: var(--dbg-radius-pill);
  padding-inline: var(--dbg-space-2);
  font-family: var(--dbg-font-sans);
  font-size: var(--dbg-type-label);
  font-weight: var(--dbg-weight-medium);
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
  border-color: var(--dbg-border-default);
  background: var(--dbg-gray-alpha-100);
  color: var(--dbg-text-primary);
}

:where(.dbg-report) .dbg-status > svg {
  width: 12px;
  height: 12px;
}

:where(.dbg-report) .dbg-status[data-tone="emphasis"] {
  border-color: transparent;
  background: var(--dbg-action);
  color: var(--dbg-action-text);
}

:where(.dbg-report) .dbg-status[data-tone="secondary"] {
  border-color: transparent;
  background: var(--dbg-gray-300);
  color: var(--dbg-text-primary);
}

:where(.dbg-report) .dbg-status[data-tone="negative"] {
  border-color: transparent;
  background: oklch(0.704 0.191 22.216 / 0.2);
  color: var(--dbg-color-error);
}

:where(.dbg-report) .dbg-status[data-tone="positive"] {
  border-color: var(--dbg-tint-border-success);
  background: var(--dbg-tint-success);
  color: var(--dbg-tint-text-success);
}

:where(.dbg-report) .dbg-status[data-tone="warning"] {
  border-color: var(--dbg-tint-border-warning);
  background: var(--dbg-tint-warning);
  color: var(--dbg-tint-text-warning);
}

:where(.dbg-report) .dbg-status[data-tone="info"] {
  border-color: var(--dbg-tint-border-info);
  background: var(--dbg-tint-info);
  color: var(--dbg-tint-text-info);
}

/* Signed figures: sign in the text, color as the second cue. */
:where(.dbg-report) .dbg-delta {
  font-variant-numeric: tabular-nums;
  color: var(--dbg-text-secondary);
}

:where(.dbg-report) .dbg-delta[data-sign="positive"] {
  color: var(--dbg-color-success);
}

:where(.dbg-report) .dbg-delta[data-sign="negative"] {
  color: var(--dbg-color-error);
}

/* Fact list: label over value, peers on one grid. */
:where(.dbg-report) .dbg-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: var(--dbg-space-4) var(--dbg-space-6);
  margin: 0 0 var(--dbg-space-6);
}

:where(.dbg-report) .dbg-facts > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

:where(.dbg-report) .dbg-facts dt {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-label);
  font-weight: var(--dbg-weight-regular);
  line-height: var(--dbg-leading-caption);
  margin: 0;
}

:where(.dbg-report) .dbg-facts dd {
  color: var(--dbg-text-primary);
  font-size: var(--dbg-type-compact);
  font-weight: var(--dbg-weight-medium);
  font-variant-numeric: tabular-nums;
  line-height: var(--dbg-leading-compact);
  margin: 0;
}

:where(.dbg-report) .dbg-facts dt:not(:first-child) {
  margin-block-start: 0;
}

/* Navigable card: one linked whole, one hover state, no nested cards. */
:where(.dbg-report) .dbg-card {
  display: block;
  border: 1px solid var(--dbg-border-default);
  border-radius: var(--dbg-radius-card);
  background: var(--dbg-surface-secondary);
  padding: var(--dbg-space-5) var(--dbg-space-6);
  color: inherit;
  text-decoration: none;
  transition: background-color 150ms ease, border-color 150ms ease;
}

:where(.dbg-report) .dbg-card[data-size="sm"] {
  padding: var(--dbg-space-4);
}

:where(.dbg-report) a.dbg-card:hover,
:where(.dbg-report) .dbg-card:has(> a:first-child):hover {
  background: var(--dbg-surface-hover);
}

:where(.dbg-report) .dbg-card > :last-child {
  margin-block-end: 0;
}

:where(.dbg-report) .dbg-card :where(h2, h3, h4, .dbg-heading-20, .dbg-heading-18, .dbg-heading-16) {
  font-size: var(--dbg-type-body);
  font-weight: var(--dbg-weight-medium);
  letter-spacing: 0;
  line-height: var(--dbg-leading-body);
  margin-block-end: var(--dbg-space-1);
}

:where(.dbg-report) a.dbg-card:hover :where(h2, h3, h4) {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--dbg-gray-alpha-600);
}

:where(.dbg-report) .dbg-card .dbg-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dbg-space-1) var(--dbg-space-4);
}

:where(.dbg-report) .dbg-card .dbg-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

:where(.dbg-report) .dbg-card .dbg-meta svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

/* Timeline: date lane, dot on a hairline, body. */
:where(.dbg-report) .dbg-timeline {
  position: relative;
  list-style: none;
  margin: 0 0 var(--dbg-space-6);
  padding: 0;
}

:where(.dbg-report) .dbg-timeline::before {
  content: "";
  position: absolute;
  inset-block: var(--dbg-space-2);
  inset-inline-start: 7px;
  width: 1px;
  background: var(--dbg-border-default);
}

:where(.dbg-report) .dbg-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr);
  column-gap: var(--dbg-space-3);
  align-items: start;
  border-radius: var(--dbg-radius);
  padding: var(--dbg-space-3) var(--dbg-space-2);
  line-height: var(--dbg-leading-compact);
  transition: background-color 150ms ease;
}

:where(.dbg-report) .dbg-timeline-item::before {
  content: "";
  position: relative;
  z-index: 1;
  width: 15px;
  height: 15px;
  margin-block-start: 3px;
  border: 2px solid var(--dbg-border-default);
  border-radius: 50%;
  background: var(--dbg-surface-floor);
}

:where(.dbg-report) .dbg-timeline-item[aria-current="true"],
:where(.dbg-report) .dbg-timeline-item[data-current="true"] {
  background: var(--dbg-surface-hover);
}

:where(.dbg-report) .dbg-timeline-item[aria-current="true"]::before,
:where(.dbg-report) .dbg-timeline-item[data-current="true"]::before {
  border-color: var(--dbg-action);
  background: var(--dbg-action);
}

:where(.dbg-report) a.dbg-timeline-item {
  color: inherit;
  text-decoration: none;
}

:where(.dbg-report) a.dbg-timeline-item:hover {
  background: var(--dbg-surface-hover);
}

:where(.dbg-report) .dbg-timeline-body {
  display: grid;
  gap: var(--dbg-space-1);
  min-width: 0;
}

:where(.dbg-report) .dbg-timeline-body > * {
  margin: 0;
}

:where(.dbg-report) .dbg-timeline-date {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-metadata);
  font-variant-numeric: tabular-nums;
  line-height: var(--dbg-leading-caption);
}

/* ------------------------------------------------------------------ */
/* Notes and sources                                                  */
/* ------------------------------------------------------------------ */

:where(.dbg-report) .dbg-note {
  border: 1px solid var(--dbg-border-default);
  border-radius: var(--dbg-radius);
  background: var(--dbg-surface-secondary);
  padding: var(--dbg-space-4);
  color: var(--dbg-text-primary);
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
  margin-block-end: var(--dbg-space-6);
}

:where(.dbg-report) .dbg-note > :last-child {
  margin-block-end: 0;
}

:where(.dbg-report) .dbg-note > p {
  margin-block-end: var(--dbg-space-2);
}

:where(.dbg-report) .dbg-note[data-tone="info"] {
  border-color: var(--dbg-tint-border-info);
  background: var(--dbg-tint-info);
}

:where(.dbg-report) .dbg-note[data-tone="success"] {
  border-color: var(--dbg-tint-border-success);
  background: var(--dbg-tint-success);
}

:where(.dbg-report) .dbg-note[data-tone="warning"] {
  border-color: var(--dbg-tint-border-warning);
  background: var(--dbg-tint-warning);
}

:where(.dbg-report) .dbg-note[data-tone="error"] {
  border-color: var(--dbg-tint-border-error);
  background: var(--dbg-tint-error);
}

:where(.dbg-report) .dbg-note[data-tone="info"] strong { color: var(--dbg-tint-text-info); }
:where(.dbg-report) .dbg-note[data-tone="success"] strong { color: var(--dbg-tint-text-success); }
:where(.dbg-report) .dbg-note[data-tone="warning"] strong { color: var(--dbg-tint-text-warning); }
:where(.dbg-report) .dbg-note[data-tone="error"] strong { color: var(--dbg-tint-text-error); }

:where(.dbg-report) .dbg-sources {
  border-block-start: 1px solid var(--dbg-border-subtle);
  padding-block-start: var(--dbg-space-4);
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
}

:where(.dbg-report) .dbg-sources :where(ul, ol) {
  margin: 0;
  padding-inline-start: 1.25rem;
}

:where(.dbg-report) .dbg-sources li + li {
  margin-block-start: var(--dbg-space-1);
}

:where(.dbg-report) .dbg-sources > :last-child {
  margin-block-end: 0;
}

/* ------------------------------------------------------------------ */
/* Stats                                                              */
/* ------------------------------------------------------------------ */

:where(.dbg-report) .dbg-stat-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
  gap: var(--dbg-space-6) var(--dbg-space-8);
  margin-block-end: var(--dbg-space-6);
  border: 0;
  background: transparent;
}

:where(.dbg-report) .dbg-grid > :is(.dbg-stat-strip, .dbg-result-group):only-child {
  grid-column: 1 / -1 !important;
}

:where(.dbg-report) .dbg-stat {
  display: grid;
  align-content: start;
  gap: var(--dbg-space-1);
  min-width: 0;
  background: transparent;
  padding: 0;
}

:where(.dbg-report) .dbg-stat > * {
  margin-block: 0;
}

:where(.dbg-report) .dbg-stat-label,
:where(.dbg-report) .dbg-stat > .dbg-label:first-child {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-label);
  font-weight: var(--dbg-weight-regular);
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) .dbg-stat-value,
:where(.dbg-report) .dbg-stat > :is(strong, output):nth-child(2) {
  color: var(--dbg-text-primary);
  font-family: var(--dbg-font-sans);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: var(--dbg-weight-semibold);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--dbg-tracking-heading);
  line-height: 1.15;
  max-inline-size: 100%;
  overflow-wrap: normal;
  word-break: normal;
}

:where(.dbg-report) .dbg-stat[data-priority="primary"] :is(.dbg-stat-value, :is(strong, output):nth-child(2)) {
  font-size: clamp(2rem, 4vw, 2.5rem);
}

:where(.dbg-report) .dbg-stat[data-priority="supporting"] :is(.dbg-stat-value, :is(strong, output):nth-child(2)) {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
}

:where(.dbg-report) .dbg-stat-detail,
:where(.dbg-report) .dbg-stat > :nth-child(3) {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-metadata);
  font-variant-numeric: tabular-nums;
  line-height: var(--dbg-leading-caption);
}

/* ------------------------------------------------------------------ */
/* Tables                                                             */
/* ------------------------------------------------------------------ */

:where(.dbg-report) .dbg-table-wrap {
  width: 100%;
  min-width: 0;
  margin-block-end: var(--dbg-space-6);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

/* Evidence tables always own the complete evidence track. */
:where(.dbg-report) .dbg-grid > .dbg-table-wrap,
:where(.dbg-report) .dbg-table-wrap.dbg-span-12 {
  grid-column: 1 / -1 !important;
}

:where(.dbg-report) .dbg-table-wrap > table,
:where(.dbg-report) table.dbg-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
  font-variant-numeric: tabular-nums;
}

:where(.dbg-report) table caption {
  caption-side: top;
  padding-block-end: var(--dbg-space-3);
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
  text-align: start;
}

:where(.dbg-report) table caption strong {
  color: var(--dbg-text-primary);
  font-weight: var(--dbg-weight-medium);
}

:where(.dbg-report) th {
  padding: var(--dbg-space-2) var(--dbg-space-3);
  border-block-end: 1px solid var(--dbg-border-default);
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-label);
  font-weight: var(--dbg-weight-medium);
  line-height: var(--dbg-leading-caption);
  text-align: start;
  vertical-align: bottom;
  white-space: nowrap;
}

:where(.dbg-report) td {
  padding: var(--dbg-space-2) var(--dbg-space-3);
  border-block-end: 1px solid var(--dbg-border-subtle);
  color: var(--dbg-text-primary);
  vertical-align: baseline;
}

:where(.dbg-report) tbody th {
  color: var(--dbg-text-primary);
  font-size: var(--dbg-type-compact);
  font-weight: var(--dbg-weight-medium);
  line-height: var(--dbg-leading-compact);
  border-block-end: 1px solid var(--dbg-border-subtle);
  vertical-align: baseline;
  white-space: normal;
}

:where(.dbg-report) :where(th, td):first-child {
  padding-inline-start: 0;
}

:where(.dbg-report) :where(th, td):last-child {
  padding-inline-end: 0;
}

:where(.dbg-report) tbody tr:last-child :where(td, th) {
  border-block-end-color: var(--dbg-border-default);
}

:where(.dbg-report) tbody tr:hover > :where(td, th) {
  background: var(--dbg-gray-alpha-100);
}

:where(.dbg-report) tfoot :where(td, th) {
  border-block-end: 0;
  color: var(--dbg-text-primary);
  font-weight: var(--dbg-weight-medium);
}

:where(.dbg-report) :where(th, td).dbg-numeric,
:where(.dbg-report) :where(th, td)[data-align="numeric"] {
  text-align: end;
  font-variant-numeric: tabular-nums;
}

:where(.dbg-report) tr[data-highlight="true"] > :where(td, th) {
  background: var(--dbg-surface-secondary);
}

:where(.dbg-report) .dbg-table-wrap[data-density="compact"] :where(th, td) {
  padding-block: var(--dbg-space-1);
  font-size: var(--dbg-type-label);
  line-height: var(--dbg-leading-caption);
}

/* Preserve meaningful row labels. Prefer local scrolling to character-level wrapping. */
:where(.dbg-report) tbody th[scope="row"] {
  min-width: 10ch;
}

:where(.dbg-report) .dbg-table-wrap .dbg-mono {
  overflow-wrap: anywhere;
}

/* ------------------------------------------------------------------ */
/* Comparison                                                         */
/* ------------------------------------------------------------------ */

:where(.dbg-report) .dbg-comparison {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: var(--dbg-space-6);
  margin-block-end: var(--dbg-space-6);
}

:where(.dbg-report) .dbg-comparison > * {
  display: grid;
  align-content: start;
  gap: var(--dbg-space-3);
  min-width: 0;
  padding-block-start: var(--dbg-space-4);
  border-block-start: 1px solid var(--dbg-border-default);
}

:where(.dbg-report) .dbg-comparison > * > * {
  margin-block: 0;
}

:where(.dbg-report) .dbg-comparison > [data-recommended="true"] {
  border-block-start-color: var(--dbg-text-primary);
}

/* ------------------------------------------------------------------ */
/* Charts and bars                                                    */
/* ------------------------------------------------------------------ */

:where(.dbg-report) .dbg-chart {
  display: grid;
  gap: var(--dbg-space-3);
  min-width: 0;
  margin-block-end: var(--dbg-space-8);
}

:where(.dbg-report) .dbg-grid > .dbg-chart {
  grid-column: 1 / -1;
}

:where(.dbg-report) .dbg-chart-header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--dbg-space-1) var(--dbg-space-4);
}

:where(.dbg-report) .dbg-chart-header > * {
  margin-block: 0;
}

:where(.dbg-report) .dbg-chart-header :where(h2, h3, h4, .dbg-heading-20, .dbg-heading-18, .dbg-heading-16) {
  margin-block-end: 0;
}

:where(.dbg-report) .dbg-chart-viewport {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

:where(.dbg-report) .dbg-chart-viewport > svg {
  display: block;
  width: 100%;
  min-width: min(100%, var(--dbg-chart-min-width));
  height: auto;
  overflow: visible;
  color: var(--dbg-text-primary);
  font-family: var(--dbg-font-sans);
}

:where(.dbg-report) .dbg-chart figcaption {
  margin-block-start: 0;
}

:where(.dbg-report) .dbg-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dbg-space-1) var(--dbg-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-label);
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) .dbg-legend > * {
  display: inline-flex;
  align-items: center;
  gap: var(--dbg-space-2);
  margin: 0;
}

:where(.dbg-report) .dbg-legend > *::before {
  content: "";
  width: 12px;
  height: 2px;
  background: var(--dbg-series-color, var(--dbg-chart-1));
}

/* Visualization marks. Series 4 to 6 repeat the ramp with dashes so
   monochrome series stay distinguishable without color alone. */
:where(.dbg-report) .dbg-series-1 { --dbg-series-color: var(--dbg-chart-1); }
:where(.dbg-report) .dbg-series-2 { --dbg-series-color: var(--dbg-chart-2); }
:where(.dbg-report) .dbg-series-3 { --dbg-series-color: var(--dbg-chart-3); }
:where(.dbg-report) .dbg-series-4 { --dbg-series-color: var(--dbg-chart-4); --dbg-series-dash: 6 4; }
:where(.dbg-report) .dbg-series-5 { --dbg-series-color: var(--dbg-chart-5); --dbg-series-dash: 2 3; }
:where(.dbg-report) .dbg-series-6 { --dbg-series-color: var(--dbg-chart-6); --dbg-series-dash: 8 3 2 3; }

:where(.dbg-report) .dbg-chart-axis {
  stroke: var(--dbg-gray-alpha-500);
  stroke-width: 1;
  fill: none;
  shape-rendering: crispEdges;
}

:where(.dbg-report) .dbg-chart-gridline {
  stroke: var(--dbg-gray-alpha-200);
  stroke-width: 1;
  fill: none;
  shape-rendering: crispEdges;
}

:where(.dbg-report) .dbg-series-stroke {
  fill: none;
  stroke: var(--dbg-series-color, var(--dbg-chart-1));
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: var(--dbg-series-dash, none);
}

:where(.dbg-report) .dbg-series-fill {
  fill: var(--dbg-series-color, var(--dbg-chart-1));
  stroke: none;
}

:where(.dbg-report) .dbg-series-fill[data-emphasis="secondary"] {
  fill-opacity: 0.45;
}

:where(.dbg-report) .dbg-data-point {
  fill: var(--dbg-surface-floor);
  stroke: var(--dbg-series-color, var(--dbg-chart-1));
  stroke-width: 1.5;
}

:where(.dbg-report) .dbg-chart-direct-label {
  fill: var(--dbg-text-secondary);
  font-size: 12px;
  font-family: var(--dbg-font-sans);
}

:where(.dbg-report) .dbg-chart-direct-label[data-emphasis="primary"] {
  fill: var(--dbg-text-primary);
  font-weight: var(--dbg-weight-medium);
}

:where(.dbg-report) .dbg-chart-value {
  fill: var(--dbg-text-primary);
  font-size: 12px;
  font-family: var(--dbg-font-sans);
  font-variant-numeric: tabular-nums;
}

:where(.dbg-report) .dbg-chart-annotation {
  fill: var(--dbg-text-secondary);
  font-size: 12px;
  font-family: var(--dbg-font-sans);
}

:where(.dbg-report) .dbg-chart-annotation-line {
  stroke: var(--dbg-gray-alpha-600);
  stroke-width: 1;
  stroke-dasharray: 3 3;
  fill: none;
}

/* Bar list: one shared label lane, one plot lane, one value lane. */
:where(.dbg-report) .dbg-bar-list {
  display: grid;
  grid-template-columns: minmax(96px, 2fr) minmax(0, 6fr) minmax(56px, auto);
  column-gap: var(--dbg-space-4);
  row-gap: var(--dbg-space-3);
  align-items: center;
  margin-block-end: var(--dbg-space-6);
  list-style: none;
  padding: 0;
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
}

:where(.dbg-report) .dbg-bar {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  align-items: center;
  min-width: 0;
}

:where(.dbg-report) .dbg-bar > * {
  margin: 0;
  min-width: 0;
}

:where(.dbg-report) .dbg-bar-label {
  color: var(--dbg-text-primary);
  overflow-wrap: anywhere;
}

:where(.dbg-report) .dbg-bar-track {
  position: relative;
  height: 8px;
  border-radius: var(--dbg-radius-pill);
  background: var(--dbg-gray-alpha-200);
  overflow: hidden;
}

:where(.dbg-report) .dbg-bar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--dbg-series-color, var(--dbg-chart-1));
  width: var(--dbg-bar-width, 0%);
}

:where(.dbg-report) .dbg-bar[data-emphasis="primary"] .dbg-bar-fill {
  background: var(--dbg-text-primary);
}

:where(.dbg-report) .dbg-bar[data-emphasis="secondary"] .dbg-bar-fill {
  background: var(--dbg-gray-alpha-600);
}

:where(.dbg-report) .dbg-bar-value {
  color: var(--dbg-text-primary);
  font-variant-numeric: tabular-nums;
  text-align: end;
  white-space: nowrap;
}

/* ------------------------------------------------------------------ */
/* Controls                                                           */
/* ------------------------------------------------------------------ */

:where(.dbg-report) :where(button, .dbg-button, input, select, textarea) {
  font-family: inherit;
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
  color: inherit;
}

/* Buttons: pills, 36px, 14px medium, one primary per viewport. */
:where(.dbg-report) :where(button, .dbg-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: var(--dbg-control-height);
  border: 1px solid var(--dbg-border-default);
  border-radius: var(--dbg-radius-pill);
  background: var(--dbg-gray-alpha-100);
  padding-inline: var(--dbg-space-3);
  color: var(--dbg-text-primary);
  font-weight: var(--dbg-weight-medium);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, opacity 150ms ease;
}

:where(.dbg-report) :where(button, .dbg-button) > svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

:where(.dbg-report) :where(button, .dbg-button):hover {
  background: var(--dbg-surface-hover);
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="primary"] {
  border-color: transparent;
  background: var(--dbg-action);
  color: var(--dbg-action-text);
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="primary"]:hover {
  background: var(--dbg-action-hover);
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="outline"] {
  border-color: var(--dbg-border-default);
  background: var(--dbg-gray-alpha-100);
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="ghost"] {
  border-color: transparent;
  background: transparent;
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="ghost"]:hover {
  background: var(--dbg-surface-hover);
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="destructive"] {
  border-color: transparent;
  background: var(--dbg-tint-error);
  color: var(--dbg-color-error);
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="destructive"]:hover {
  background: oklch(0.704 0.191 22.216 / 0.2);
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="link"] {
  height: auto;
  border: 0;
  background: transparent;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--dbg-gray-alpha-600);
}

:where(.dbg-report) :where(button, .dbg-button)[data-variant="link"]:hover {
  background: transparent;
  text-decoration-color: currentColor;
}

:where(.dbg-report) :where(button, .dbg-button)[data-size="xs"] {
  height: var(--dbg-control-height-xs);
  padding-inline: 10px;
  font-size: var(--dbg-type-label);
}

:where(.dbg-report) :where(button, .dbg-button)[data-size="xs"] > svg {
  width: 12px;
  height: 12px;
}

:where(.dbg-report) :where(button, .dbg-button)[data-size="sm"] {
  height: var(--dbg-control-height-sm);
}

:where(.dbg-report) :where(button, .dbg-button)[data-size="lg"] {
  height: var(--dbg-control-height-lg);
  padding-inline: var(--dbg-space-4);
}

:where(.dbg-report) :where(button, .dbg-button)[data-shape="icon"] {
  width: var(--dbg-control-height);
  padding-inline: 0;
}

:where(.dbg-report) :where(button, .dbg-button):disabled,
:where(.dbg-report) :where(button, .dbg-button)[aria-disabled="true"] {
  opacity: 0.5;
  pointer-events: none;
}

:where(.dbg-report) :where(button, .dbg-button)[aria-pressed="true"],
:where(.dbg-report) :where(button, .dbg-button)[aria-expanded="true"] {
  background: var(--dbg-gray-300);
}

/* Inputs: pills, 36px, 8% fill, 15% border, 40% placeholder. */
:where(.dbg-report) :where(input, select, textarea, .dbg-input) {
  width: 100%;
  min-width: 0;
  height: var(--dbg-control-height);
  border: 1px solid var(--dbg-gray-alpha-400);
  border-radius: var(--dbg-radius-pill);
  background: var(--dbg-gray-alpha-200);
  padding-inline: 14px;
  color: var(--dbg-text-primary);
  font-variant-numeric: tabular-nums;
  transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

:where(.dbg-report) :where(input, select, textarea)::placeholder {
  color: var(--dbg-text-tertiary);
}

:where(.dbg-report) :where(input, select, textarea):disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

:where(.dbg-report) :where(input, select, textarea)[aria-invalid="true"] {
  border-color: var(--dbg-tint-border-error);
  box-shadow: 0 0 0 3px var(--dbg-tint-error);
}

:where(.dbg-report) textarea {
  height: auto;
  min-height: calc(var(--dbg-control-height) * 2.5);
  border-radius: var(--dbg-radius-large);
  padding-block: var(--dbg-space-2);
  resize: vertical;
}

:where(.dbg-report) select {
  appearance: none;
  padding-inline-end: var(--dbg-space-8);
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}

:where(.dbg-report) input[type="checkbox"],
:where(.dbg-report) input[type="radio"] {
  width: 16px;
  height: 16px;
  padding: 0;
  accent-color: var(--dbg-action);
  border-radius: 4px;
}

:where(.dbg-report) input[type="radio"] {
  border-radius: 50%;
}

:where(.dbg-report) input[type="range"] {
  height: auto;
  border: 0;
  background: transparent;
  padding: 0;
  accent-color: var(--dbg-action);
}

:where(.dbg-report) input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

:where(.dbg-report) input[type="number"]::-webkit-inner-spin-button,
:where(.dbg-report) input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Fields */
:where(.dbg-report) .dbg-field {
  display: grid;
  gap: var(--dbg-space-2);
  min-width: 0;
}

:where(.dbg-report) .dbg-field > * {
  margin: 0;
}

:where(.dbg-report) .dbg-field > .dbg-label,
:where(.dbg-report) .dbg-field > label {
  color: var(--dbg-text-primary);
  font-size: var(--dbg-type-compact);
  font-weight: var(--dbg-weight-medium);
  line-height: var(--dbg-leading-compact);
}

:where(.dbg-report) .dbg-helper {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-label);
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) .dbg-error {
  display: flex;
  align-items: center;
  gap: var(--dbg-space-2);
  color: var(--dbg-color-error);
  font-size: var(--dbg-type-compact);
  line-height: var(--dbg-leading-compact);
}

:where(.dbg-report) .dbg-error > svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

:where(.dbg-report) .dbg-error:empty {
  display: none;
}

/* Unit field: the field owns the border; label and helper stay outside. */
:where(.dbg-report) .dbg-unit-field {
  display: flex;
  align-items: center;
  height: var(--dbg-control-height);
  border: 1px solid var(--dbg-gray-alpha-400);
  border-radius: var(--dbg-radius-pill);
  background: var(--dbg-gray-alpha-200);
  padding-inline: 14px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

:where(.dbg-report) .dbg-unit-field > :where(input, select) {
  flex: 1 1 auto;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

:where(.dbg-report) .dbg-unit-field > :where(input, select):focus-visible {
  outline: none;
  box-shadow: none;
}

:where(.dbg-report) .dbg-unit-prefix,
:where(.dbg-report) .dbg-unit-suffix {
  flex: 0 0 auto;
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-compact);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

:where(.dbg-report) .dbg-unit-prefix {
  margin-inline-end: var(--dbg-space-2);
}

:where(.dbg-report) .dbg-unit-suffix {
  margin-inline-start: var(--dbg-space-2);
}

:where(.dbg-report) .dbg-range-ends {
  display: flex;
  justify-content: space-between;
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-label);
  font-variant-numeric: tabular-nums;
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) .dbg-range-ends > * {
  margin: 0;
}

:where(.dbg-report) .dbg-control-group {
  display: grid;
  gap: var(--dbg-space-4);
}

:where(.dbg-report) .dbg-control-group[data-columns="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Calculator: inputs and output in one coherent tool. */
:where(.dbg-report) .dbg-calculator {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--dbg-space-8);
  align-items: start;
  margin-block-end: var(--dbg-space-8);
}

:where(.dbg-report) .dbg-calculator > * {
  min-width: 0;
}

:where(.dbg-report) .dbg-calculator-inputs {
  display: grid;
  gap: var(--dbg-space-5);
}

:where(.dbg-report) .dbg-calculator-inputs > * {
  margin: 0;
}

/* The output owns the split boundary instead of inheriting it from source order. */
:where(.dbg-report) .dbg-calculator-output {
  display: grid;
  gap: var(--dbg-space-6);
  padding-inline-start: var(--dbg-space-8);
  border-inline-start: 1px solid var(--dbg-border-subtle);
}

:where(.dbg-report) .dbg-calculator-output > * {
  margin: 0;
}

:where(.dbg-report) .dbg-result-group {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
  gap: var(--dbg-space-6);
  margin-block-end: var(--dbg-space-6);
}

:where(.dbg-report) .dbg-result {
  display: grid;
  align-content: start;
  gap: var(--dbg-space-1);
  min-width: 0;
}

:where(.dbg-report) .dbg-result > * {
  margin: 0;
}

:where(.dbg-report) .dbg-result-label {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-label);
  line-height: var(--dbg-leading-caption);
}

:where(.dbg-report) .dbg-result-value {
  color: var(--dbg-text-primary);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: var(--dbg-weight-semibold);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--dbg-tracking-heading);
  line-height: 1.15;
}

:where(.dbg-report) .dbg-result[data-priority="primary"] .dbg-result-value {
  font-size: clamp(2rem, 4vw, 2.5rem);
}

:where(.dbg-report) .dbg-result-detail {
  color: var(--dbg-text-secondary);
  font-size: var(--dbg-type-metadata);
  font-variant-numeric: tabular-nums;
  line-height: var(--dbg-leading-caption);
}

/* Live status for calculators: one concise line. */
:where(.dbg-report) [aria-live] > :last-child {
  margin-block-end: 0;
}

/* ------------------------------------------------------------------ */
/* Responsive                                                         */
/* ------------------------------------------------------------------ */

@media (max-width: 1024px) {
  :where(.dbg-report) .dbg-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  :where(.dbg-report) :where(.dbg-span-4, .dbg-span-5, .dbg-span-6, .dbg-span-7, .dbg-span-8) {
    grid-column: span 3;
  }

  :where(.dbg-report) :where(.dbg-span-7, .dbg-span-8) {
    grid-column: span 6;
  }
}

@media (max-width: 800px) {
  :where(.dbg-report) .dbg-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  :where(.dbg-report) :where(.dbg-span-4, .dbg-span-5, .dbg-span-6, .dbg-span-7, .dbg-span-8, .dbg-span-12) {
    grid-column: 1 / -1;
  }

  :where(.dbg-report) .dbg-split,
  :where(.dbg-report) .dbg-split[data-ratio] {
    grid-template-columns: minmax(0, 1fr);
  }

  :where(.dbg-report) .dbg-opening[data-layout="split"] > .dbg-opening-claim,
  :where(.dbg-report) .dbg-opening[data-layout="split"] > .dbg-opening-proof {
    grid-column: 1 / -1;
  }

  :where(.dbg-report) .dbg-opening {
    row-gap: var(--dbg-space-6);
    margin-block-end: var(--dbg-space-12);
  }

  :where(.dbg-report) .dbg-calculator {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--dbg-space-6);
  }

  :where(.dbg-report) .dbg-calculator-output {
    padding-inline-start: 0;
    padding-block-start: var(--dbg-space-6);
    border-inline-start: 0;
    border-block-start: 1px solid var(--dbg-border-subtle);
  }

  :where(.dbg-report) .dbg-control-group[data-columns="2"] {
    grid-template-columns: minmax(0, 1fr);
  }

  :where(.dbg-report) .dbg-chapter {
    margin-block-end: var(--dbg-space-12);
  }

  :where(.dbg-report) .dbg-shell > main {
    padding-block-end: var(--dbg-space-12);
  }

  :where(.dbg-report) .dbg-bar-list {
    grid-template-columns: minmax(80px, 3fr) minmax(0, 5fr) minmax(48px, auto);
    column-gap: var(--dbg-space-3);
  }

  :where(.dbg-report) .dbg-band[data-tone="contrast"],
  :where(.dbg-report) .dbg-band[data-tone="secondary"] {
    padding: var(--dbg-space-6) var(--dbg-space-4);
  }
}

@media (max-width: 599px) {
  :where(.dbg-report) {
    --dbg-shell-inset: 16px;
  }

  :where(.dbg-report) .dbg-masthead {
    align-items: center;
  }

  :where(.dbg-report) .dbg-document-meta {
    flex-direction: column;
    align-items: flex-end;
    row-gap: 0;
  }

  :where(.dbg-report) .dbg-footer {
    flex-direction: column;
    align-items: flex-start;
    padding-block: var(--dbg-space-4);
  }

  :where(.dbg-report) .dbg-footer nav,
  :where(.dbg-report) .dbg-footer ul {
    justify-content: flex-start;
  }

  :where(.dbg-report) .dbg-stat-strip {
    gap: var(--dbg-space-5) var(--dbg-space-6);
  }

  :where(.dbg-report) .dbg-surface[data-variant="contained"],
  :where(.dbg-report) .dbg-card {
    padding: var(--dbg-space-4);
  }

  :where(.dbg-report) :where(button, .dbg-button, input, select, .dbg-unit-field) {
    min-height: var(--dbg-control-height-touch);
    height: var(--dbg-control-height-touch);
  }

  :where(.dbg-report) :where(button, .dbg-button)[data-size="xs"],
  :where(.dbg-report) :where(button, .dbg-button)[data-size="sm"] {
    min-height: var(--dbg-control-height);
    height: var(--dbg-control-height);
  }

  :where(.dbg-report) :where(button, .dbg-button)[data-variant="link"] {
    min-height: 0;
    height: auto;
  }

  :where(.dbg-report) :where(input[type="checkbox"], input[type="radio"], input[type="range"]) {
    min-height: 0;
    height: auto;
  }

  :where(.dbg-report) .dbg-timeline-item {
    padding-inline: var(--dbg-space-1);
  }
}

/* Two stats on a tablet stay two per row rather than four narrow columns. */
@media (min-width: 600px) and (max-width: 800px) {
  :where(.dbg-report) .dbg-stat-strip[data-count="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ------------------------------------------------------------------ */
/* Motion, forced colors, print                                       */
/* ------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
  :where(.dbg-report *, .dbg-report *::before, .dbg-report *::after) {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  :where(.dbg-report) {
    background-attachment: scroll;
  }
}

@media (forced-colors: active) {
  :where(.dbg-report) {
    background-image: none;
  }

  :where(.dbg-report) :where(button, .dbg-button, input, select, textarea, .dbg-unit-field, .dbg-status, .dbg-card, .dbg-note) {
    border-color: CanvasText;
  }

  :where(.dbg-report) :where(a, button, input, select, textarea):focus-visible {
    outline: 2px solid Highlight;
    outline-offset: 3px;
    box-shadow: none;
  }

  :where(.dbg-report) :where(button, .dbg-button)[aria-pressed="true"],
  :where(.dbg-report) :where(button, .dbg-button)[data-variant="primary"] {
    forced-color-adjust: none;
    background: Highlight;
    color: HighlightText;
  }

  :where(.dbg-report) .dbg-wordmark,
  :where(.dbg-report) .dbg-mark {
    background-color: CanvasText;
  }

  :where(.dbg-report) .dbg-bar-fill {
    background: CanvasText;
  }

  :where(.dbg-report) .dbg-bar-track {
    border: 1px solid CanvasText;
  }
}

/* Print is the only light rendering. Ink on paper, no atmosphere, no pills. */
@media print {
  :where(.dbg-report) {
    color-scheme: light;
    --dbg-floor: #ffffff;
    --dbg-surface-floor: #ffffff;
    --dbg-surface-primary: #ffffff;
    --dbg-surface-secondary: oklch(0 0 0 / 0.03);
    --dbg-surface-hover: oklch(0 0 0 / 0.06);
    --dbg-surface-contrast: #050d10;
    --dbg-text-primary: #050d10;
    --dbg-text-secondary: oklch(0.42 0.01 286);
    --dbg-text-tertiary: oklch(0 0 0 / 0.4);
    --dbg-text-on-contrast: #ffffff;
    --dbg-text-on-contrast-secondary: oklch(0.8 0 0);
    --dbg-border-subtle: oklch(0 0 0 / 0.1);
    --dbg-border-default: oklch(0 0 0 / 0.18);
    --dbg-border-strong: oklch(0 0 0 / 0.35);
    --dbg-gray-alpha-100: oklch(0 0 0 / 0.04);
    --dbg-gray-alpha-200: oklch(0 0 0 / 0.06);
    --dbg-gray-alpha-300: oklch(0 0 0 / 0.1);
    --dbg-gray-alpha-400: oklch(0 0 0 / 0.15);
    --dbg-gray-alpha-500: oklch(0 0 0 / 0.2);
    --dbg-gray-alpha-600: oklch(0 0 0 / 0.3);
    --dbg-gray-alpha-700: oklch(0 0 0 / 0.4);
    --dbg-gray-300: oklch(0.92 0 0);
    --dbg-chart-1: #050d10;
    --dbg-chart-2: oklch(0.42 0.01 286);
    --dbg-chart-3: oklch(0.65 0.01 286);
    --dbg-chart-4: #050d10;
    --dbg-chart-5: oklch(0.42 0.01 286);
    --dbg-chart-6: oklch(0.65 0.01 286);
    --dbg-action: #050d10;
    --dbg-action-text: #ffffff;
    --dbg-color-success: oklch(0.52 0.15 148);
    --dbg-color-error: oklch(0.55 0.23 25);
    --dbg-tint-text-success: oklch(0.4 0.12 148);
    --dbg-tint-text-warning: oklch(0.45 0.12 60);
    --dbg-tint-text-info: oklch(0.45 0.18 258);
    --dbg-tint-text-error: oklch(0.5 0.2 25);
    background: #ffffff !important;
    color: #050d10;
    font-size: 11pt;
  }

  :where(.dbg-report) .dbg-shell {
    width: 100%;
    min-height: 0;
  }

  :where(.dbg-report) .dbg-shell > main {
    width: 100%;
    padding-block: var(--dbg-space-6);
  }

  :where(.dbg-report) .dbg-skip-link {
    display: none;
  }

  :where(.dbg-report) .dbg-header,
  :where(.dbg-report) .dbg-footer {
    min-height: 0;
  }

  :where(.dbg-report) :where(.dbg-chart, .dbg-table-wrap, .dbg-stat-strip, .dbg-card, .dbg-note, .dbg-facts, figure, tr) {
    break-inside: avoid;
  }

  :where(.dbg-report) :where(h1, h2, h3, h4) {
    break-after: avoid;
  }

  :where(.dbg-report) .dbg-table-wrap,
  :where(.dbg-report) .dbg-chart-viewport {
    overflow: visible;
  }

  :where(.dbg-report) a[href^="http"]:not(.dbg-card):not(.dbg-timeline-item)::after {
    content: " (" attr(href) ")";
    color: var(--dbg-text-secondary);
    font-size: 0.85em;
  }

  :where(.dbg-report) :where(button, .dbg-button):not([data-variant="link"]) {
    display: none;
  }

  :where(.dbg-report) tbody tr:hover > :where(td, th) {
    background: transparent;
  }
}
/* dbg-bundle:end */
