/* AssistantEval by ORO. Every color is from the ORO palette (platform/apps/frontend/BRAND.md
   section 2) or a tint of one: Forest on Cloud, Sand bands, Snowcap surfaces, Sierra labels,
   Amber and Gold as accents only, error red for real failures. Plus Jakarta Sans for headings,
   labels and buttons, Google Sans Flex for body; Geist Mono only for code and JSON.
   Spacing runs on an 8px scale: --s1 8, --s2 16, --s3 24, --s4 32, --s6 48, --s8 64. */
.ae-root {
  --bg: #FCFCFA;          /* Cloud */
  --cream: #F3F1E7;       /* Sand */
  --surface: #FCFAF2;     /* Snowcap */
  --ink: #0A3815;         /* Forest */
  --ink-2: #0A3815;
  --muted: #4A6B4F;       /* Forest tint, 5.8:1 on Cloud */
  --faint: #9BAE9E;       /* Forest at 40% */
  --rule: #E2DBC9;        /* card border */
  --rule-2: #F3F1E7;
  --gold: #956825;        /* Sierra: warm text and labels */
  --orange: #FF9138;      /* Amber: fills and dots, never text */
  --orange-ink: #956825;
  --yellow: #EDD03A;      /* Gold */
  /* Scoring colors (pass, fail, unsafe, the heat ramp, tiers and radar) are deliberately
     outside the brand palette: they carry meaning on the leaderboard. */
  --pass: #1E7A45;
  --pass-bg: #E3F2E8;
  --fail: #8A5A00;
  --fail-bg: #FBEFD5;
  --unsafe: #B42E27;
  --unsafe-bg: #FBE5E2;
  --o-pass: #2E9A5C;
  --o-fail: #E0A11B;
  --o-unsafe: #D2433C;
  /* Radar series: validated (light, all pairs, 3 slots). */
  --c1: #C8590A;
  --c2: #0E8468;
  --c3: #4D6BD6;
  --grid: #E3DDCC;
  /* Sequential ramp (one hue, light to dark) for the capability grid. */
  /* Score scale, bad to good (low scores carry the strongest color): under 60%, 60-75, 75-90, 90-97, 97 and up. */
  --h0: #F4C3BC; --h1: #F9D7B4; --h2: #F4E9B8; --h3: #EDF1E4; --h4: #DCEEDF;
  --h0-ink: #861B14; --h1-ink: #833F05; --h2-ink: #5E4C00; --h3-ink: #3F5546; --h4-ink: #145C30;
  --t0: #D2433C; --t1: #E07A1F; --t2: #CFA315; --t3: #6BAE7C; --t4: #1E7A45;
  --shadow: 3px 3px 6px 0 rgba(149, 104, 37, 0.08);

  --font: "Google Sans Flex", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-heading: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px; --s6: 48px; --s8: 64px;
  --radius: 20px;
  --gutter: clamp(20px, 7vw, 80px);  /* doubled from 40px at wide widths */
  color-scheme: light;
}
.ae-root,.ae-root::before,.ae-root::after,.ae-root *,.ae-root  *::before,.ae-root  *::after { box-sizing: border-box; }
.ae-root [hidden] { display: none !important; }
.ae-root { -webkit-text-size-adjust: 100%; overflow-x: clip; }
.ae-root {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
}
.ae-root .wrap { max-width: 1440px; margin-inline: auto; padding-inline: var(--gutter); }
.ae-root a { color: var(--ink-2); text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
.ae-root a:hover { color: var(--orange-ink); }
.ae-root :focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; border-radius: 6px; }
.ae-root h1,.ae-root  h2,.ae-root  h3 { margin: 0; font-family: var(--font-heading); font-weight: 800; letter-spacing: -0.02em; text-wrap: balance; color: var(--ink); }
.ae-root h1 { font-size: clamp(2rem, 4.5vw, 3rem); line-height: 0.98; }
.ae-root h2 { font-size: clamp(1.625rem, 3.2vw, 2.25rem); line-height: 1; }
.ae-root h3 { font-size: 1.25rem; line-height: 1.15; font-weight: 600; letter-spacing: 0; }
.ae-root p { margin: 0; }
.ae-root code,.ae-root  .mono { font-family: var(--mono); font-size: 0.86em; }
.ae-root .eyebrow { font-family: var(--font-heading); font-size: 0.75rem; line-height: 1.2; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--gold); }
.ae-root .muted { color: var(--muted); }
.ae-root .small { font-size: 0.875rem; }
.ae-root .lede { font-size: 1.1875rem; font-weight: 300; line-height: 1.5; color: var(--muted); max-width: 56em; }
.ae-root .note { font-size: 0.925rem; color: var(--muted); max-width: 72em; }
.ae-root .stack { display: grid; gap: var(--s2); }
.ae-root .row { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s2); align-items: center; }

/* Header and footer */
.ae-root .site-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s2) var(--s4); padding-block: var(--s3); }
.ae-root .mark { display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; font-family: var(--font-heading); font-weight: 800; font-size: 1.4rem; letter-spacing: -0.02em; }
.ae-root .mark:hover { color: var(--ink); }
.ae-root .brand { display: inline-flex; align-items: center; gap: 12px; }
.ae-root .by-oro { display: inline-flex; align-items: center; gap: 20px; font-family: var(--font-heading); font-size: 0.875rem; font-weight: 500; color: var(--muted); }
.ae-root .by-oro a { display: inline-flex; color: var(--ink); padding-left: 20px; border-left: 1px solid rgba(10, 56, 21, 0.25); }
.ae-root .by-oro svg { height: 24px; width: auto; }  /* ORO lockup at its 24px desktop minimum */
.ae-root .mark b { color: var(--orange-ink); font-weight: 800; }
.ae-root .site-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.ae-root .site-nav a { color: var(--ink); text-decoration: none; font-family: var(--font-heading); font-size: 0.95rem; font-weight: 500; padding: 7px 14px; border-radius: 999px; }
.ae-root .site-nav a:hover { background: var(--cream); color: var(--ink); }
.ae-root .site-nav a[aria-current="page"] { background: var(--ink-2); color: var(--bg); }
.ae-root .site-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s1) var(--s3); padding-block: var(--s4) var(--s6); margin-top: var(--s8); border-top: 1px solid var(--rule); font-size: 0.875rem; color: var(--muted); }
.ae-root .site-foot a { color: var(--muted); }

.ae-root main { padding-top: var(--s3); min-height: 60vh; }
.ae-root .page-head { display: grid; gap: var(--s2); margin-bottom: var(--s6); }
.ae-root .crumbs { font-size: 0.875rem; color: var(--muted); }
.ae-root .crumbs a { color: var(--muted); }
.ae-root .section { margin-top: var(--s8); display: grid; gap: var(--s3); }
.ae-root .head-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s2) var(--s3); }
.ae-root .blurb { min-height: 3.2em; margin-top: calc(-1 * var(--s1)); }
.ae-root .section-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--s1) var(--s3); }
.ae-root .section-head > div:not(.legend):not(.tabs) { display: grid; gap: 6px; }
.ae-root .loading,.ae-root  .empty { padding: var(--s6) 0; color: var(--muted); }

/* Hero */
.ae-root .hero { display: grid; gap: 20px; padding-block: var(--s6) var(--s8); }
.ae-root .hero h1 { max-width: 16em; }
.ae-root .hero .lede { max-width: 44em; }
.ae-root { overflow-x: hidden; }

/* Cards */
.ae-root .card { background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); }
.ae-root .pad { padding: var(--s3); }
.ae-root .band { background: var(--cream); border-radius: calc(var(--radius) + 8px); padding: var(--s4); }

/* Pills, tabs and buttons */
.ae-root .tabs { display: inline-flex; flex: none; gap: 4px; padding: 4px; background: var(--cream); border: 1px solid var(--rule); border-radius: 999px; flex-wrap: wrap; }
.ae-root .tabs button,.ae-root  .tabs a { text-decoration: none; font: 600 0.925rem var(--font-heading); color: var(--muted); background: none; border: 0; padding: 8px 18px; border-radius: 999px; cursor: pointer; }
.ae-root .tabs button:hover,.ae-root  .tabs a:hover { color: var(--ink); }
.ae-root .tabs button[aria-selected="true"],.ae-root  .tabs a[aria-selected="true"] { background: var(--surface); color: var(--ink); box-shadow: var(--shadow); }
.ae-root .btn { display: inline-flex; align-items: center; gap: 8px; font: 600 0.9rem var(--font-heading); color: var(--ink); background: var(--surface); border: 1px solid var(--rule); border-radius: 999px; padding: 8px 16px; text-decoration: none; cursor: pointer; }
.ae-root .btn:hover { border-color: var(--ink-2); color: var(--ink); }
.ae-root .btn.primary { background: var(--ink-2); color: var(--bg); border-color: var(--ink-2); }
.ae-root .btn.primary:hover { background: var(--ink); color: var(--bg); }
.ae-root .btn[aria-disabled="true"] { color: var(--faint); pointer-events: none; }
.ae-root .chip { display: inline-flex; align-items: center; gap: 8px; font: 600 0.85rem var(--font-heading); color: var(--ink); background: var(--surface); border: 1px solid var(--rule); border-radius: 999px; padding: 6px 12px 6px 10px; cursor: pointer; }
.ae-root .chip i { width: 10px; height: 10px; border-radius: 50%; background: var(--faint); }
.ae-root .chip[aria-pressed="false"] { color: var(--muted); background: transparent; }
.ae-root .chip[aria-pressed="false"] i { background: transparent; border: 1.5px solid var(--faint); }
.ae-root .chip:disabled { opacity: 0.45; cursor: not-allowed; }

/* Badges */
.ae-root .badge { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font: 600 0.78rem/1 var(--font-heading); padding: 5px 10px; border-radius: 999px; background: var(--cream); color: var(--muted); }
.ae-root .badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ae-root .badge.plain::before { display: none; }
.ae-root .b-pass { background: var(--pass-bg); color: var(--pass); }
.ae-root .b-fail { background: var(--fail-bg); color: var(--fail); }
.ae-root .b-fail_unsafe { background: var(--unsafe-bg); color: var(--unsafe); }

/* Leaderboard rows */
.ae-root .board { display: grid; gap: 10px; }
.ae-root .findings { margin-bottom: var(--s6); }
.ae-root .findings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--s2); }
.ae-root .finding { display: grid; gap: 6px; align-content: start; }
.ae-root .finding h3 { font-size: 1.05rem; line-height: 1.3; }
.ae-root .finding p { color: var(--muted); font-size: 0.92rem; line-height: 1.5; }

/* Home: a compact verdict, one leaderboard table, findings, and the folded task matrix. */
.ae-root .hero.hero-compact { padding-block: 0 var(--s3); gap: 10px; }
.ae-root .hero-compact h1 { font-size: clamp(2rem, 4.5vw, 3rem); line-height: 0.98; max-width: none; }
.ae-root .hero-compact .lede { max-width: 52em; }
.ae-root .research-abstract { border-left: 3px solid var(--orange); padding: var(--s2) var(--s3); margin-bottom: var(--s4); }
.ae-root .research-abstract p { margin-block: var(--s1) var(--s2); }
.ae-root .research-links,.ae-root  .sample-links { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s3); font-size: .88rem; }
.ae-root .task-example { border: 1px solid var(--rule); border-radius: var(--radius); padding: var(--s3); display: grid; gap: var(--s2); }
.ae-root .task-example + .task-example { margin-top: var(--s3); }
.ae-root .task-example p,.ae-root  .task-example blockquote { margin: 0; }
.ae-root .example-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.ae-root .example-result { padding: var(--s3); background: var(--cream); border-radius: 15px; display: grid; align-content: start; gap: var(--s2); }
.ae-root .example-pass { background: var(--pass-bg); }
.ae-root .example-fail { background: var(--unsafe-bg); }
.ae-root .task-example blockquote { border-left: 3px solid var(--faint); padding-left: var(--s2); }
.ae-root .task-example h4 { font-size: 1.08rem; margin: 0; }
.ae-root .conversation-phone { width: 100%; max-width: 390px; margin-inline: auto; border: 6px solid var(--ink); border-radius: 32px; overflow: hidden; background: var(--surface); box-shadow: var(--shadow); }
.ae-root .phone-header { padding: 16px; display: grid; justify-items: center; gap: 4px; border-bottom: 1px solid var(--rule); background: var(--bg); }
.ae-root .phone-header::before { content: ""; width: 64px; height: 5px; background: var(--ink); border-radius: 8px; margin-bottom: 12px; }
.ae-root .phone-header h4 { font-size: .95rem; }
.ae-root .phone-messages { padding: 16px 12px; display: grid; gap: 12px; align-content: start; font-size: .82rem; line-height: 1.5; }
.ae-root .task-example .chat-message { max-width: 94%; padding: 12px; border: 0; border-radius: 18px 18px 18px 4px; background: var(--cream); color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.ae-root .chat-message.user { justify-self: end; border-radius: 18px 18px 4px 18px; background: var(--ink); color: var(--surface); }
.ae-root .chat-sender { display: block; font-size: .67rem; font-weight: 700; margin-bottom: 5px; }
.ae-root .conversation-pair { align-items: stretch; row-gap: var(--s2); }
.ae-root .conversation-pair > .example-result { grid-row: span 3; grid-template-rows: subgrid; }
.ae-root .method-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--s6); align-items: center; margin-bottom: var(--s6); }
.ae-root .method-hero #method-title { font-size: clamp(2rem, 4.5vw, 3rem); line-height: 0.98; }
.ae-root .method-record { margin: 0; min-width: 0; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); box-shadow: var(--shadow); }
.ae-root .method-record-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s1); padding: 14px 18px; border-bottom: 1px solid var(--rule); }
.ae-root .method-record .tabs { gap: 4px; padding: 0; background: none; border: 0; }
.ae-root .method-record .tabs button { font: 500 .8rem var(--mono); padding: 8px 10px; border: 1px solid var(--rule); }
.ae-root .method-record .tabs button[aria-selected="true"] { background: var(--cream); box-shadow: none; }
.ae-root .method-turns { list-style: none; margin: 0; padding: 18px 18px 6px; display: grid; gap: 14px; }
.ae-root .method-turn { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 4px 12px; align-items: baseline; }
.ae-root .method-who { font: .75rem var(--mono); text-transform: uppercase; color: var(--muted); }
.ae-root .method-turn p { overflow-wrap: anywhere; }
.ae-root .method-turn.user p { font: .9rem/1.5 var(--mono); }
.ae-root .method-claim { background: linear-gradient(var(--orange-ink), var(--orange-ink)) no-repeat 0 58% / 100% 2px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.ae-root .method-pen { grid-column: 2; font: 600 1.1rem/1 var(--font-heading); color: var(--orange-ink); }
.ae-root .method-pen.ok,.ae-root  .method-status.ok { color: var(--pass); }
.ae-root .method-log { margin: 12px 18px 0; border-top: 1px dashed var(--rule); padding-top: 12px; display: grid; gap: var(--s1); }
.ae-root .method-log-row { display: grid; grid-template-columns: 86px minmax(0, 1fr) auto; gap: 12px; align-items: baseline; font: .82rem/1.45 var(--mono); }
.ae-root .method-log-row .svc,.ae-root  .method-log-row small { color: var(--muted); }
.ae-root .method-log-row code { font: inherit; overflow-wrap: anywhere; }
.ae-root .method-log-row small { display: block; font-size: .78rem; }
.ae-root .method-status.bad { color: var(--unsafe); }
.ae-root .method-verdict { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: baseline; margin-top: var(--s2); padding: 14px 18px 16px; border-top: 1px solid var(--rule); font-size: .95rem; }
.ae-root .method-verdict .chip { border: 0; border-radius: 5px; padding: 5px 8px; font: 500 .78rem var(--mono); cursor: default; }
.ae-root .method-verdict .fail { color: var(--fail); background: var(--fail-bg); }
.ae-root .method-verdict .unsafe { color: var(--unsafe); background: var(--unsafe-bg); }
.ae-root .method-verdict .pass { color: var(--pass); background: var(--pass-bg); }
@media (max-width: 920px) { .ae-root .method-hero { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .ae-root .method-turn { grid-template-columns: 1fr; } .ae-root .method-pen { grid-column: 1; } .ae-root .method-log-row { grid-template-columns: minmax(0, 1fr) auto; } .ae-root .method-log-row .svc { grid-column: 1 / -1; } }
@media (prefers-reduced-motion: no-preference) {
  .ae-root .method-claim { animation: method-strike .55s ease-out .7s both; }
  .ae-root .method-pen { animation: method-write .4s ease-out 1.2s both; }
  @keyframes method-strike { from { background-size: 0% 2px; } to { background-size: 100% 2px; } }
  @keyframes method-write { from { opacity: 0; } to { opacity: 1; } }
}
.ae-root .method-details { border: 1px solid var(--rule); border-radius: var(--radius); margin-top: var(--s2); }
.ae-root .method-details summary { font-weight: 700; }
.ae-root .method-content { padding: var(--s2); display: grid; gap: var(--s2); }
.ae-root .method-content table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.ae-root .method-content th,.ae-root  .method-content td { text-align: left; vertical-align: top; padding: 12px; border-bottom: 1px solid var(--rule); }
.ae-root .method-content th:first-child { width: 30%; }
.ae-root #method > .sample-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s2); }
.ae-root #method > .sample-links .btn { justify-content: center; text-align: center; }
@media (max-width: 920px) { .ae-root #method > .sample-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ae-root #method > .sample-links .btn:last-child { grid-column: 1 / -1; } }
@media (max-width: 600px) { .ae-root #method > .sample-links { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .ae-root .example-pair { grid-template-columns: 1fr; } .ae-root .task-example,.ae-root  .example-result { padding: var(--s2); } .ae-root .research-abstract { padding-inline: var(--s2); } }
.ae-root table.lb th button,.ae-root  table.tm th button { all: unset; cursor: pointer; font-weight: 600; }
.ae-root table.lb th button { display: inline-block; max-width: 6em; white-space: normal; }
.ae-root table.lb th.lb-score-h button { max-width: none; width: 100%; }
.ae-root table.lb th button:hover,.ae-root  table.lb th button[aria-pressed="true"] { color: var(--ink); }
.ae-root table.lb th button:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.ae-root table.lb th { vertical-align: bottom; line-height: 1.25; padding-inline: 10px; }
.ae-root table.lb td { padding-inline: 10px; }
.ae-root table.lb .heat { min-width: 3.2em; padding: 4px 6px; font-size: 0.85rem; }
.ae-root table.lb td { padding-block: 10px; }
.ae-root table.lb .lb-name,.ae-root  table.tm .lb-name { position: sticky; left: 0; z-index: 1; background: var(--surface); }
.ae-root table.lb th.lb-name,.ae-root  table.tm th.lb-name { background: var(--cream); }
.ae-root table.lb tr.link-row:hover td.lb-name { background: color-mix(in srgb, var(--cream) 60%, var(--surface)); }
.ae-root td.lb-name { white-space: nowrap; }
.ae-root table.lb td.lb-name a { white-space: nowrap; }
.ae-root .lb-who { display: flex; align-items: center; gap: 10px; }
.ae-root .lb-rank { min-width: 1.4em; font-weight: 800; color: var(--muted); font-variant-numeric: tabular-nums; font-size: 0.85rem; }
.ae-root .lb-time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ae-root th.lb-score-h { min-width: 11em; }
.ae-root .lb-score { display: grid; grid-template-columns: 3.1em minmax(90px, 1fr); align-items: center; gap: 2px 10px; }
.ae-root .lb-score b { font-size: 1.12rem; font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; }
.ae-root .lb-score .track { position: relative; height: 8px; background: var(--rule-2); border-radius: 999px; }
.ae-root .lb-score .ci { position: absolute; top: 0; bottom: 0; background: color-mix(in srgb, var(--ink-2) 16%, transparent); border-radius: 999px; }
.ae-root .lb-score .fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--ink-2); border-radius: 999px; }
.ae-root .lb-score small { grid-column: 2; font-size: 0.72rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.ae-root .section.matrix-section { margin-top: var(--s4); }
.ae-root .sort-mark { font-style: normal; margin-left: 4px; color: var(--faint); }
.ae-root th[aria-sort="none"] .sort-mark { opacity: 0.45; }
.ae-root th[aria-sort="ascending"] .sort-mark,.ae-root  th[aria-sort="descending"] .sort-mark { color: var(--ink); }
.ae-root table.tm th.tm-a { font-size: 0.72rem; white-space: normal; min-width: 4.5em; max-width: 7em; text-align: center; }
.ae-root table.tm td { padding: 5px 8px; }
.ae-root table.tm td.tm-task { font-size: 0.85rem; min-width: 14em; max-width: 24em; white-space: normal; line-height: 1.35; }
.ae-root td.tm-cell .dots { justify-content: center; gap: 3px; flex-wrap: nowrap; }
.ae-root td.tm-cell .dots a { width: 12px; height: 12px; border-radius: 3px; }
.ae-root .entry {
  display: grid; grid-template-columns: 44px minmax(0, 1.1fr) minmax(0, 1.6fr) auto; gap: var(--s3); align-items: center;
  padding: 18px var(--s3); background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius);
  color: inherit; text-decoration: none; transition: border-color 0.15s, box-shadow 0.15s;
}
.ae-root .entry:hover { color: inherit; border-color: var(--ink-2); box-shadow: var(--shadow); }
.ae-root .entry .pos { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; background: var(--cream); color: var(--ink); }
.ae-root .entry:first-child .pos { background: var(--orange); color: var(--ink); }
.ae-root .entry .name { display: grid; gap: 2px; min-width: 0; }
.ae-root .entry .name b { font-size: 1.1rem; font-weight: 800; letter-spacing: -0.015em; }
.ae-root .entry .name span { font-size: 0.85rem; color: var(--muted); }
.ae-root .entry .go { color: var(--faint); font-size: 1.2rem; }
.ae-root .meter { display: grid; grid-template-columns: 4.2em minmax(0, 1fr); gap: var(--s2); align-items: center; }
.ae-root .meter strong { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.02em; text-align: right; font-variant-numeric: tabular-nums; }
.ae-root .meter .track { position: relative; height: 10px; background: var(--rule-2); border-radius: 999px; }
.ae-root .meter .ci { position: absolute; top: 0; bottom: 0; background: color-mix(in srgb, var(--ink-2) 16%, transparent); border-radius: 999px; }
.ae-root .meter .fill { position: absolute; left: 0; top: 0; bottom: 0; background: var(--ink-2); border-radius: 999px; }
.ae-root .meter small { grid-column: 2; font-size: 0.78rem; color: var(--muted); margin-top: -6px; }

/* Radar */
.ae-root .radar-wrap { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--s4); align-items: center; }
.ae-root .radar svg { width: 100%; max-width: 560px; margin-inline: auto; height: auto; display: block; overflow: visible; }
.ae-root .radar .ring { fill: none; stroke: var(--grid); stroke-width: 1; }
.ae-root .radar .spoke { stroke: var(--grid); stroke-width: 1; }
.ae-root .radar .ring-label { font: 500 10px var(--mono); fill: var(--faint); }
.ae-root .radar .axis-label { font: 600 12.5px var(--font); fill: var(--ink); }
.ae-root .radar .series { stroke-width: 2.25; stroke-linejoin: round; }
.ae-root .radar .vertex { stroke: var(--surface); stroke-width: 2; }
.ae-root .radar .hit { fill: transparent; cursor: default; }
.ae-root .legend-list { display: grid; gap: var(--s2); }
.ae-root .legend-list .who { display: flex; gap: 10px; align-items: baseline; }
.ae-root .legend-list i { width: 12px; height: 12px; border-radius: 50%; flex: none; transform: translateY(1px); }
.ae-root .legend-list i.dash { background: none !important; border: 2px dashed var(--faint); }
.ae-root .dims { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.ae-root .dims th,.ae-root  .dims td { padding: 7px 8px; border-bottom: 1px solid var(--rule-2); text-align: left; }
.ae-root .dims td.num,.ae-root  .dims th.num { text-align: right; font-variant-numeric: tabular-nums; }
.ae-root .dims th { font-weight: 600; color: var(--muted); font-size: 0.8rem; }

/* Deeper links */
.ae-root .deeper { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s2); }
.ae-root .deeper a { display: grid; gap: 6px; padding: var(--s3); border-radius: var(--radius); background: var(--surface); border: 1px solid var(--rule); color: var(--ink); text-decoration: none; }
.ae-root .deeper a:hover { border-color: var(--ink-2); color: var(--ink); }
.ae-root .deeper b { font-size: 1.05rem; }
.ae-root .deeper span { color: var(--muted); font-size: 0.9rem; }

/* Tables */
.ae-root .table-wrap { overflow-x: auto; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--surface); }
.ae-root table.list { width: 100%; border-collapse: collapse; font-size: 0.925rem; }
.ae-root table.list th,.ae-root  table.list td { text-align: left; padding: 14px var(--s2); border-bottom: 1px solid var(--rule-2); vertical-align: middle; }
.ae-root table.list tbody tr:last-child td { border-bottom: 0; }
.ae-root table.list th { font-size: 0.78rem; font-weight: 600; color: var(--muted); background: var(--cream); white-space: nowrap; }
.ae-root table.list td.num,.ae-root  table.list th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ae-root table.list tr.link-row { cursor: pointer; }
.ae-root table.list tr.link-row:hover td { background: color-mix(in srgb, var(--cream) 60%, transparent); }
.ae-root table.list td a { font-weight: 600; text-decoration: none; }
.ae-root table.list td a:hover { text-decoration: underline; }

/* Run dots */
.ae-root .dots { display: flex; flex-wrap: wrap; gap: 5px; }
.ae-root .dots a { width: 14px; height: 14px; border-radius: 4px; display: block; }
.ae-root .dots a:hover { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--ink); }
.ae-root .o-pass { background: var(--o-pass); }
.ae-root .o-fail { background: var(--o-fail); }
.ae-root .o-fail_unsafe { background: var(--o-unsafe); }
.ae-root .legend { display: flex; flex-wrap: wrap; gap: 6px var(--s2); font-size: 0.82rem; color: var(--muted); }
.ae-root .legend span { display: inline-flex; align-items: center; gap: 6px; }
.ae-root .legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }

/* Stat tiles */
.ae-root .stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--s2); }
.ae-root .stat { display: grid; gap: 2px; padding: var(--s2) 20px; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); }
.ae-root .stat b { font-size: 1.6rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; }
.ae-root .stat span { font-size: 0.82rem; color: var(--muted); }

/* Controls */
.ae-root .controls { display: flex; flex-wrap: wrap; gap: var(--s2); align-items: end; margin-bottom: var(--s3); }
.ae-root .control { display: grid; gap: 6px; }
.ae-root .control span { font-size: 0.78rem; font-weight: 600; color: var(--muted); }
.ae-root select,.ae-root  input[type="search"] { font: 0.925rem var(--font); color: var(--ink); background: var(--surface); border: 1px solid var(--rule); border-radius: 12px; padding: 9px 12px; min-width: 170px; max-width: 100%; }
.ae-root .pager { display: flex; gap: var(--s2); align-items: center; justify-content: space-between; margin-top: var(--s2); font-size: 0.875rem; color: var(--muted); }

/* Tooltip */
.ae-root .tip { position: fixed; z-index: 50; pointer-events: none; max-width: 300px; background: var(--ink); color: var(--bg); font: 500 0.8rem/1.45 var(--font); padding: 8px 10px; border-radius: 10px; box-shadow: var(--shadow); }

/* Assistant pages */
.ae-root .summary { display: grid; grid-template-columns: minmax(0, 2.2fr) repeat(4, minmax(0, 1fr)); gap: var(--s2); align-items: stretch; }
.ae-root .summary .card { display: grid; align-items: center; }
.ae-root .misses { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
.ae-root .miss { display: flex; justify-content: space-between; gap: var(--s2); align-items: baseline; padding: 12px var(--s2); background: var(--surface); border: 1px solid var(--rule); border-radius: 12px; color: var(--ink); text-decoration: none; font-size: 0.9rem; }
.ae-root .miss:hover { color: var(--ink); border-color: var(--ink-2); }
.ae-root .miss b { font-weight: 600; color: var(--muted); white-space: nowrap; font-size: 0.82rem; }
.ae-root .miss.on { border-color: var(--orange); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 22%, transparent); }
.ae-root table.list tr.group td { background: var(--cream); padding-block: 12px; }
.ae-root table.grid th button { all: unset; cursor: pointer; font-weight: 600; }
.ae-root table.grid th button:hover,.ae-root  table.grid th button[aria-pressed="true"] { color: var(--ink); }
.ae-root table.grid th button:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.ae-root table.grid td { padding-block: 10px; }
.ae-root .heat { display: inline-block; min-width: 3.6em; padding: 5px 8px; border-radius: 8px; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; }
.ae-root .heat.h0 { background: var(--h0); color: var(--h0-ink); }
.ae-root .fill.t0,.ae-root  .bar i.t0 { background: var(--t0) !important; }
.ae-root .heat.h1 { background: var(--h1); color: var(--h1-ink); }
.ae-root .fill.t1,.ae-root  .bar i.t1 { background: var(--t1) !important; }
.ae-root .heat.h2 { background: var(--h2); color: var(--h2-ink); }
.ae-root .fill.t2,.ae-root  .bar i.t2 { background: var(--t2) !important; }
.ae-root .heat.h3 { background: var(--h3); color: var(--h3-ink); }
.ae-root .fill.t3,.ae-root  .bar i.t3 { background: var(--t3) !important; }
.ae-root .heat.h4 { background: var(--h4); color: var(--h4-ink); }
.ae-root .fill.t4,.ae-root  .bar i.t4 { background: var(--t4) !important; }
.ae-root table.list tr.group td b { font-weight: 700; }

/* Run viewer */
.ae-root .run-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); gap: var(--s4); align-items: start; }
.ae-root .run-layout > * { min-width: 0; }
.ae-root .run-side { position: sticky; top: var(--s2); display: grid; gap: var(--s2); max-height: calc(100vh - 32px); overflow: auto; padding-bottom: var(--s1); }
.ae-root .run-nav { display: flex; flex-wrap: wrap; gap: var(--s1); }
.ae-root .timeline { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
.ae-root .tl-bar { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s2); align-items: center; margin-bottom: var(--s2); }
.ae-root .msg,.ae-root  .call,.ae-root  .click,.ae-root  details.fold { min-width: 0; }
.ae-root .msg { display: grid; gap: 6px; max-width: min(52em, 85%); }
.ae-root .msg .who-line { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; font-size: 0.78rem; color: var(--muted); }
.ae-root .msg .who-line b { color: var(--ink); font-weight: 700; }
.ae-root .bubble { padding: 12px 16px; border-radius: 18px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 0.95rem; }
.ae-root .msg.user { justify-self: end; }
.ae-root .msg.user .who-line { justify-content: flex-end; }
.ae-root .msg.user .bubble { background: var(--ink-2); color: var(--bg); border-bottom-right-radius: 6px; }
.ae-root .msg.assistant .bubble { background: var(--surface); border: 1px solid var(--rule); border-bottom-left-radius: 6px; }
.ae-root .msg.setup .bubble { background: var(--cream); color: var(--muted); font-size: 0.85rem; }
.ae-root .decision { font-size: 0.78rem; color: var(--muted); justify-self: end; text-align: right; max-width: 44em; margin-top: -4px; }
.ae-root .decision b { color: var(--gold); font-weight: 600; }
.ae-root .call { border: 1px solid var(--rule); border-left: 3px solid var(--faint); border-radius: 12px; background: var(--surface); font-size: 0.82rem; }
.ae-root .call.k-private_new,.ae-root  .call.k-private_change { border-left-color: var(--ink-2); }
.ae-root .call.k-visible_to_others,.ae-root  .call.k-money { border-left-color: var(--orange); }
.ae-root .call.s-refused,.ae-root  .call.s-error { border-left-color: var(--o-unsafe); }
.ae-root .call.flag { border-color: var(--unsafe); box-shadow: 0 0 0 3px var(--unsafe-bg); }
.ae-root .call summary { padding: 10px 14px; flex-wrap: wrap; gap: 4px 10px; }
.ae-root .call[open] summary :is(.op, .args, .t, .k) { color: inherit; }
.ae-root .call .op { font-family: var(--mono); font-weight: 500; color: var(--ink); }
.ae-root .call .args { font-family: var(--mono); color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1 1 12em; min-width: 0; }
.ae-root .call .t { font-family: var(--mono); color: var(--faint); }
.ae-root .call .body { padding: 0 14px 14px; display: grid; gap: var(--s1); }
.ae-root .call .flagnote { color: var(--unsafe); padding: 0 14px 10px; font-weight: 600; }
.ae-root .call .k { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gold); }
.ae-root pre.json { margin: 0; padding: 12px; background: var(--cream); border-radius: 10px; overflow: auto; max-height: 360px; font: 0.76rem/1.55 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.ae-root .click { font-size: 0.8rem; color: var(--muted); padding: 2px 0 2px 14px; border-left: 2px dashed var(--rule); }
.ae-root .checks { display: grid; gap: 10px; }
.ae-root .check { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; font-size: 0.875rem; align-items: start; }
.ae-root .check .ic { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font: 800 0.75rem/1 var(--font-heading); color: var(--surface); }
.ae-root .ic.pass { background: var(--o-pass); }
.ae-root .ic.fail { background: var(--o-fail); }
.ae-root .ic.unsafe { background: var(--o-unsafe); }
.ae-root .ic.na { background: var(--faint); }
.ae-root .check .about { font-family: var(--mono); font-size: 0.72rem; color: var(--muted); overflow-wrap: anywhere; margin-top: 2px; }
.ae-root details.fold > summary { font-size: 0.875rem; font-weight: 600; }
.ae-root .change { font-family: var(--mono); font-size: 0.74rem; border-top: 1px solid var(--rule-2); padding-top: var(--s1); display: grid; gap: 4px; overflow-wrap: anywhere; }
.ae-root .change .path { color: var(--ink); }
.ae-root .change .add { color: var(--pass); }
.ae-root .change .del { color: var(--unsafe); }

/* Task page */
.ae-root .quote { background: var(--surface); border: 1px solid var(--rule); border-left: 4px solid var(--orange); border-radius: 12px; padding: 14px 18px; font-size: 1.02rem; }
.ae-root .two { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--s3); }
.ae-root ul.plain { margin: 0; padding-left: 1.1em; display: grid; gap: var(--s1); }

/* Compare */
.ae-root .vs { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--s2); align-items: center; }
.ae-root .vs .mid { font-size: 2rem; font-weight: 800; text-align: center; letter-spacing: -0.02em; }
.ae-root .win { font-weight: 800; }

@media (max-width: 900px) {
  .ae-root .summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ae-root .summary .card { grid-column: 1 / -1; }
  .ae-root .run-layout,.ae-root  .radar-wrap { grid-template-columns: 1fr; }
  .ae-root .run-side { position: static; max-height: none; }
}
@media (max-width: 640px) {
  .ae-root .tabs { flex: 1 1 auto; }
  .ae-root .radar .axis-label { font-size: 19px; }
  .ae-root .radar .ring-label { font-size: 14px; }
  .ae-root .tabs button { flex: 1; padding-inline: 10px; }
  .ae-root .entry { grid-template-columns: 36px minmax(0, 1fr); gap: 12px var(--s2); padding: var(--s2); }
  .ae-root .entry .meter { grid-column: 1 / -1; }
  .ae-root .entry .go { display: none; }
  .ae-root table.list th,.ae-root  table.list td { padding: 12px 12px; }
  .ae-root .hide-sm { display: none; }
  .ae-root .vs { grid-template-columns: 1fr; }
  .ae-root .band { padding: var(--s3) var(--s2); }
}
.ae-root table.grid td:first-child,.ae-root  table.grid th:first-child { min-width: 15em; }
.ae-root table.grid td:first-child a { white-space: nowrap; }
.ae-root .fine { gap: var(--s1); padding-top: var(--s3); border-top: 1px solid var(--rule); }
.ae-root .fine h3 { font-size: 0.95rem; }
.ae-root .fine p { font-size: 0.875rem; color: var(--muted); max-width: 72em; }

/* Assistant page: compact header, capabilities beside misses, runs with an inline panel */
.ae-root .a-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 460px); gap: var(--s3) var(--s4); align-items: end; margin-bottom: var(--s4); }
.ae-root .a-head h1 { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); }
.ae-root .a-score { padding: var(--s2) 20px; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); }
.ae-root .a-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s2); }
.ae-root .cap { display: grid; grid-template-columns: minmax(8em, 13em) minmax(0, 1fr) 3.2em; gap: 12px; align-items: center; font-size: 0.875rem; }
.ae-root .cap .bar { position: relative; height: 10px; background: var(--rule-2); border-radius: 999px; }
.ae-root .cap .bar i { position: absolute; inset: 0 auto 0 0; background: var(--ink-2); border-radius: 999px; }
.ae-root .cap .bar b { position: absolute; top: -4px; bottom: -4px; width: 2px; margin-left: -1px; background: var(--orange-ink); border-radius: 2px; }
.ae-root .cap em { font-style: normal; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.ae-root .avg-key { display: inline-block; width: 2px; height: 12px; background: var(--orange-ink); vertical-align: -2px; margin-right: 4px; }
.ae-root .misses { grid-template-columns: 1fr; gap: 8px; }
.ae-root .miss { padding: 9px 14px; }
.ae-root .runs-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s3); align-items: start; }
.ae-root .tasklist { display: grid; border: 1px solid var(--rule); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
.ae-root .trow { display: grid; gap: 8px; padding: 12px var(--s2); border-bottom: 1px solid var(--rule-2); }
.ae-root .trow:last-child { border-bottom: 0; }
.ae-root .tname { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.ae-root .tname b { font-weight: 600; font-size: 0.925rem; line-height: 1.35; }
.ae-root .tname span { white-space: nowrap; }
.ae-root .rchips { display: flex; flex-wrap: wrap; gap: 6px; }
.ae-root .rchip { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 10px 4px 8px; border: 1px solid var(--rule); border-radius: 999px; background: var(--surface); color: var(--ink); font: 600 0.8rem var(--font); cursor: pointer; }
.ae-root .rchip i { width: 10px; height: 10px; border-radius: 3px; }
.ae-root .rchip:hover { border-color: var(--ink-2); }
.ae-root .rchip[aria-pressed="true"] { background: var(--ink-2); border-color: var(--ink-2); color: var(--bg); }
.ae-root .run-pane { position: sticky; top: var(--s2); max-height: calc(100vh - 32px); overflow: auto; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); padding: var(--s3); display: grid; gap: var(--s2); align-content: start; }
.ae-root .run-pane .loading { padding: var(--s3) 0; }
.ae-root .pane-head { display: grid; gap: 4px; }
.ae-root .pane-verdict { display: grid; gap: 10px; padding: var(--s2); background: var(--cream); border-radius: 12px; }
.ae-root .pane-task { padding: 10px 0; border-top: 1px solid var(--rule-2); }
.ae-root .run-pane .tl-bar { margin: var(--s1) 0 0; }
.ae-root .run-pane .msg { max-width: 92%; }

@media (max-width: 900px) {
  .ae-root .a-head,.ae-root  .a-grid,.ae-root  .runs-split { grid-template-columns: 1fr; }
  .ae-root .run-pane { position: static; max-height: none; overflow: visible; padding: var(--s2); margin: 0 0 var(--s2); border-color: var(--ink-2); }
  .ae-root .tasklist .run-pane { border-radius: 12px; margin: 0 12px 12px; }

}
@media (max-width: 640px) {
  .ae-root .cap { grid-template-columns: minmax(0, 1fr) 3em; }
  .ae-root .cap .bar { grid-column: 1 / -1; grid-row: 2; }
  .ae-root .run-pane .msg { max-width: 100%; }
  .ae-root .call .args { display: none; }
  .ae-root .tabs button,.ae-root  .tabs a { padding: 8px 12px; }
}

/* Touch: fold-outs, sort headers and chips get finger-sized targets; small text stays readable. */
.ae-root details > summary { display: flex; align-items: center; gap: var(--s1); padding: var(--s2); list-style: none; cursor: pointer; background: var(--cream); color: var(--ink); border: 1px solid var(--ink-2); border-radius: var(--radius); }
.ae-root details > summary::-webkit-details-marker { display: none; }
.ae-root details > summary::after { content: "\203A"; margin-left: auto; flex: none; font-size: 1.4rem; font-weight: 700; line-height: 1; }
.ae-root details[open] > summary { background: var(--ink-2); color: var(--bg); }
.ae-root details[open] > summary::after { transform: rotate(90deg); }
.ae-root .check .about { font-size: 0.78rem; }
.ae-root table.grid th button { padding: 8px 0; }
.ae-root .chip { min-height: 36px; }
.ae-root .mark { min-height: 40px; }

/* Phones: wrapping navigation and tighter vertical rhythm. */
@media (max-width: 640px) {
  .ae-root .site-head { padding-block: 14px; gap: 12px; }
  .ae-root .mark { font-size: 1rem; gap: 8px; }
  .ae-root .by-oro svg { height: 20px; }  /* mobile minimum */
  .ae-root .site-nav a { padding: 8px 12px; font-size: 0.9rem; }
  .ae-root main { padding-top: var(--s1); }
  .ae-root .hero { padding-block: var(--s3) var(--s4); gap: 14px; }
  .ae-root h1 { font-size: 1.85rem; }
  .ae-root .lede { font-size: 1rem; }
  .ae-root .section { margin-top: var(--s6); }
  .ae-root .tabs button,.ae-root  .tabs a { font-size: 0.85rem; }
  .ae-root .blurb { min-height: 0; }
  .ae-root .band { padding: var(--s3) var(--s2); }
}
@media (max-width: 640px) {
  .ae-root .site-nav { gap: 2px; }
  .ae-root .site-nav a { white-space: nowrap; padding: 7px 10px; font-size: 0.85rem; }
  .ae-root .radar .axis-label { font-size: 16px; }
}

/* Where it slips: a generated sentence and up to three plain-language slips */
.ae-root .slip-lead { font-size: 0.95rem; line-height: 1.55; }
.ae-root .slips { display: grid; gap: 8px; }
.ae-root .slip { display: grid; gap: 2px; padding: 10px 14px; background: var(--surface); border: 1px solid var(--rule); border-left: 3px solid var(--o-fail); border-radius: 12px; color: var(--ink); text-decoration: none; }
.ae-root .slip:hover { color: var(--ink); border-color: var(--ink-2); border-left-color: var(--o-fail); }
.ae-root .slip b { font-weight: 700; font-size: 0.9rem; }
.ae-root .slip em { font-style: normal; font-size: 0.8rem; font-weight: 600; color: var(--muted); white-space: nowrap; }
.ae-root .slip.on { border-color: var(--orange); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 22%, transparent); }

/* Unsafe runs stand out wherever they're counted. */
.ae-root .unsafe-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: var(--unsafe-bg); color: var(--unsafe); font-weight: 800; font-size: 0.85rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ae-root .unsafe-pill::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--o-unsafe); }
.ae-root .unsafe-none { color: var(--faint); font-variant-numeric: tabular-nums; }
.ae-root th.unsafe-h button { color: var(--unsafe); }
.ae-root .unsafe-note { display: flex; gap: 10px; align-items: baseline; padding: 10px 14px; border-radius: 12px; background: var(--unsafe-bg); color: var(--unsafe); font-size: 0.9rem; }
.ae-root .unsafe-note b { font-weight: 800; }
.ae-root .unsafe-note a { color: inherit; font-weight: 700; }
/* An assistant's runs: the task list and the open run share one height, each scrolling. */
@media (min-width: 901px) {
  .ae-root .runs-split { align-items: stretch; height: calc(100vh - 32px); max-height: 900px; min-height: 480px; }
  .ae-root .runs-split > .tasklist,.ae-root  .runs-split > .run-pane { position: static; height: 100%; max-height: none; overflow: auto; }
  .ae-root .runs-split > .tasklist { display: block; }
}

/* Research figures: numbered labels, horizontal bars, self-contained captions.
   Labels build on .eyebrow, captions on .note; bar colors reuse .o-pass and .o-fail. */
.ae-root .figure > h2,.ae-root  .figure > .note { margin: 0; }
.ae-root .caption { margin: 0; border-top: 1px solid var(--rule); padding-top: var(--s2); }
.ae-root .bars { display: grid; gap: 10px; }
.ae-root .bar-row { display: grid; grid-template-columns: minmax(140px, 270px) minmax(0, 1fr) minmax(150px, auto); align-items: center; gap: var(--s2); font-size: 0.93rem; }
.ae-root .bar-name { font-weight: 600; line-height: 1.25; }
.ae-root .bar-val { font-size: 0.875rem; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ae-root .bar-val b { color: var(--ink); font-weight: 600; }
.ae-root .bar-track { display: flex; height: 14px; border-radius: 4px; background: var(--rule-2); overflow: hidden; }
.ae-root .seg { display: block; height: 100%; }
.ae-root .seg-once { background: repeating-linear-gradient(135deg, var(--o-fail) 0 3px, var(--fail-bg) 3px 6px); }
.ae-root .seg-split { background: var(--orange); }
.ae-root .seg-cover { background: var(--ink-2); }
.ae-root .check-table { display: grid; gap: var(--s1); margin-top: var(--s2); }
.ae-root table.check-grid { width: 100%; }
.ae-root .ck-ok { color: var(--pass); }
.ae-root .ck-miss { color: var(--unsafe); font-weight: 600; }
.ae-root .offer-list { margin: 0; padding-left: 1.2em; display: grid; gap: var(--s1); }
@media (max-width: 640px) {
  .ae-root .bar-row { grid-template-columns: minmax(0, 1fr) auto; gap: 4px var(--s1); }
  .ae-root .bar-track { grid-column: 1 / -1; grid-row: 2; }
  .ae-root table.check-grid th,.ae-root  table.check-grid td { padding: 10px 12px; }
}
