@import url('../generated/status-tones.css');
@import url('./b5.css');

.aic-kv { display: grid; grid-template-columns: minmax(4rem, 1fr) minmax(0, 2fr); gap: var(--aic-sem-space-sm); container-type: inline-size; }
@container (max-width: 320px) { .aic-kv > dt, .aic-kv > dd { grid-column: 1 / -1; } }
.aic-kv dd { margin: 0; overflow-wrap: anywhere; }
.aic-verbatim { white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--aic-sem-font-family-mono); }
.aic-diff { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap: var(--aic-sem-space-md); }
.aic-table-wrap { max-width: 100%; overflow: auto; max-height: 30rem; container-type: inline-size; }
.aic-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.aic-table caption { text-align: start; padding-block: var(--aic-sem-space-sm); }
.aic-table th { position: sticky; top: 0; z-index: 1; background: var(--aic-sem-bg-surface); }
.aic-table th, .aic-table td { padding: var(--aic-sem-space-sm); text-align: start; border-block-end: 1px solid var(--aic-sem-border-subtle); overflow-wrap: anywhere; }
.aic-numeric, .aic-table .aic-numeric { text-align: end; font-variant-numeric: tabular-nums; }
.aic-clamp-two { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.aic-clamp-two:focus, .aic-clamp-two:hover { display: block; overflow: visible; }
.aic-table-wrap:focus-within .aic-clamp-two { display: block; overflow: visible; }
.aic-table-exact, .aic-table-details { display: none; }
.aic-table-wrap:focus-within .aic-table-exact, .aic-table td:hover .aic-table-exact { display: block; }
@container (max-width: 479px) {
  .aic-table, .aic-table tbody, .aic-table caption { display: block; }
  .aic-table thead { display: none; }
  .aic-table tr { display: flex; flex-direction: column; border: 1px solid var(--aic-sem-border-subtle); margin-block: 8px; }
  .aic-table td { display: block; text-align: start; }
  .aic-table td::before { content: attr(data-label); display: block; color: var(--aic-sem-fg-muted); }
  .aic-table .aic-table-extra { display: none; order: 2; }
  .aic-table tr[data-expanded="true"] .aic-table-extra { display: block; }
  .aic-table .aic-table-details { display: block; order: 1; }
}
.aic-chart { margin: 0; min-width: 0; }
.aic-chart .aic-table-wrap { max-height: none; }
/* a chart's folded number table (charts.js tableForReaders): out of layout until opened */
.aic-chart-table:not([open]) > :not(summary) { display: none; }
.aic-chart-table > summary { cursor: pointer; margin-top: 4px; }
.aic-chart svg { display: block; width: 100%; overflow: hidden; }
.aic-chart { font-family: var(--aic-sem-font-family-sans); font-size: max(12px, var(--aic-sem-font-size-caption)); }
.aic-bar-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .6fr); align-items: center; gap: 8px; margin-block: 8px; }
.aic-bar-row svg { height: 20px; }
.aic-bar-name, .aic-bar-value, .aic-series-label { overflow-wrap: anywhere; word-break: normal; }
.aic-series-label { line-height: 1.5; padding-inline-end: 4px; }
.aic-chart-axis { display: block; width: 100%; fill: currentColor; }
.aic-chart-mark { fill: var(--aic-sem-fg-default); }
.aic-chart-line { stroke: var(--aic-sem-fg-default); stroke-width: 2; fill: none; }
.aic-chart-dashed { stroke-dasharray: 5 4; }
.aic-timeline li, .aic-handoff-note { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aic-sem-space-sm); }
.aic-office-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap: var(--aic-sem-space-sm); }
.aic-office-legend { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--aic-sem-space-sm); }
.aic-portrait-placeholder { display: inline-flex; align-items: center; justify-content: center; border: 1px dashed var(--aic-sem-border-control); overflow: hidden; font-size: var(--aic-sem-font-size-caption); image-rendering: pixelated; }
.aic-portrait-scale-2 { width: 32px; height: 32px; }
.aic-portrait-scale-3 { width: 48px; height: 48px; }
.aic-portrait-scale-4 { width: 64px; height: 64px; }

:host { display: block; min-width: 0; color: var(--aic-sem-fg-default); font-family: var(--aic-sem-font-family-sans); font-size: var(--aic-sem-font-size-body); line-height: var(--aic-sem-font-lineHeight-body); letter-spacing: var(--aic-sem-font-tracking-body); }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
article, section, aside, header, footer, p, span, h2, h3, h4 { min-width: 0; word-break: keep-all; overflow-wrap: anywhere; }
h2, h3, h4 { margin-block: var(--aic-sem-space-sm); line-height: var(--aic-sem-font-lineHeight-tight); }
h2 { font-size: var(--aic-sem-font-size-h2); }
h3 { font-size: var(--aic-sem-font-size-h3); }
h4 { font-size: var(--aic-sem-font-size-lead); }
p { margin-block: var(--aic-sem-space-sm); }
.aic-card { border: 1px solid var(--aic-sem-border-subtle); border-radius: var(--aic-sem-radius-md); background: var(--aic-sem-bg-surface); padding: var(--aic-sem-space-md); box-shadow: var(--aic-sem-elevation-e1); }
.aic-request-card { border-inline-start: 3px solid var(--aic-comp-card-request-border-pending); }
.aic-request-card.aic-done { border-color: var(--aic-comp-card-request-border-done); border-style: dashed; }
.aic-card header, .aic-actions, .aic-exec-chips, footer { display: flex; flex-wrap: wrap; align-items: center; gap: var(--aic-sem-space-sm); }
.aic-card header h3 { flex-basis: 100%; }
.aic-actions { margin-block-start: var(--aic-sem-space-md); gap: max(8px, var(--aic-sem-space-sm)); }
.aic-field { display: flex; flex-wrap: wrap; gap: var(--aic-sem-space-sm); margin-block: var(--aic-sem-space-xs); }
.aic-field-label { color: var(--aic-sem-fg-muted); }
.aic-caption { font-size: var(--aic-sem-font-size-caption); color: var(--aic-sem-fg-muted); }
.aic-status-badge { display: inline-flex; align-items: center; gap: var(--aic-sem-space-xs); border-width: 1px; border-style: solid; border-radius: var(--aic-sem-radius-sm); padding: var(--aic-sem-space-xs) var(--aic-sem-space-sm); font-size: var(--aic-sem-font-size-caption); line-height: var(--aic-sem-font-lineHeight-snug); }
.aic-icon { display: inline-flex; flex: none; width: var(--aic-sem-icon-size-sm); height: var(--aic-sem-icon-size-sm); }
.aic-icon[data-asset-missing] { display: none; }
.aic-icon img { width: 100%; height: 100%; }
.aic-portrait { width: var(--aic-comp-portrait-size-md); height: var(--aic-comp-portrait-size-md); image-rendering: pixelated; }
button { font: inherit; font-size: var(--aic-sem-font-size-small); min-width: var(--aic-sem-size-target); min-height: var(--aic-sem-size-target); max-width: 100%; border: 1px solid var(--aic-sem-border-control); border-radius: var(--aic-sem-radius-xs); padding: var(--aic-sem-space-xs) var(--aic-sem-space-sm); color: var(--aic-sem-accent-secondaryFg); background: var(--aic-sem-accent-secondary); cursor: pointer; word-break: keep-all; overflow-wrap: anywhere; }
button:hover { background: var(--aic-sem-bg-hover); }
.aic-primary { background: var(--aic-sem-accent-default); color: var(--aic-sem-fg-onAccent); }
.aic-primary:hover { background: var(--aic-sem-accent-hover); }
.aic-danger { margin-inline-start: auto; background: var(--aic-sem-danger-action); color: var(--aic-sem-danger-onAction); }
.aic-danger:hover { background: var(--aic-sem-danger-action); }
button:disabled { color: var(--aic-sem-fg-disabled); cursor: default; }
:focus-visible { outline: 2px solid var(--aic-sem-focus-ring); outline-offset: 2px; }
pre, .aic-verbatim { max-width: 100%; white-space: pre-wrap; word-break: normal; overflow-wrap: anywhere; background: var(--aic-sem-bg-sunken); color: var(--aic-sem-fg-default); font-family: var(--aic-sem-font-family-mono); line-height: var(--aic-sem-font-lineHeight-mono); }
.aic-dialog { max-width: min(40em, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; color: var(--aic-sem-fg-default); background: var(--aic-sem-bg-raised); border: 1px solid var(--aic-sem-border-control); border-radius: var(--aic-sem-radius-xl); padding: var(--aic-sem-space-lg); box-shadow: var(--aic-sem-elevation-e3); z-index: var(--aic-sem-z-dialog); }
.aic-dialog::backdrop { background: var(--aic-sem-bg-scrim); }
.aic-banner { position: sticky; top: 0; padding: var(--aic-sem-space-sm); background: var(--aic-sem-bg-surface); border: 1px solid var(--aic-sem-border-control); z-index: var(--aic-sem-z-sticky); }
.aic-core-status .aic-banner { position: static; }
.aic-toast { padding: var(--aic-sem-space-sm); background: var(--aic-sem-bg-raised); border: 1px solid var(--aic-sem-border-control); z-index: var(--aic-sem-z-toast); }
.aic-error-state { border: 1px solid var(--aic-sem-status-danger-border); padding: var(--aic-sem-space-md); }
.aic-skeleton { min-height: var(--aic-sem-size-rowTwoLine); background: var(--aic-sem-bg-hover); border-radius: var(--aic-sem-radius-md); }
.aic-count-badge { border-radius: var(--aic-sem-radius-full); padding-inline: var(--aic-sem-space-sm); font-variant-numeric: var(--aic-sem-font-numeric); }
.aic-presence-dot { display: inline-block; width: 8px; height: 8px; border: 1px solid currentColor; border-radius: var(--aic-sem-radius-full); }
.aic-presence-filled { background: currentColor; }
.aic-presence-empty { background: none; }
.aic-presence-half { background: linear-gradient(to right, currentColor 50%, var(--aic-sem-bg-surface) 50%); }
.aic-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
:host-context([data-aic-theme="high-contrast"]) .aic-status-badge, :host-context([data-aic-theme="high-contrast"]) .aic-card, :host-context([data-aic-theme="high-contrast"]) .aic-dialog, :host-context([data-aic-theme="high-contrast"]) button { border-width: 2px; }
:host-context([data-aic-theme="host-vscode"][data-aic-scheme="highContrast"]) .aic-status-badge, :host-context([data-aic-theme="host-vscode"][data-aic-scheme="highContrast"]) button { border-width: 2px; }
@media (forced-colors: active) { .aic-status-badge, .aic-card, .aic-dialog, button { border-width: 2px; } :focus-visible { outline-width: 3px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* A label guide is not a measured segment (question 44, provisional). */
.aic-chart-leader{stroke:currentColor;stroke-width:1;stroke-dasharray:2 4;opacity:.45}
.aic-chart-axis text{font-size:max(12px,var(--aic-sem-font-size-caption));white-space:nowrap}

.aic-line-area { position: relative; }
.aic-line-area > .aic-chart-axis { position: absolute; top: 196px; left: 0; pointer-events: none; }
.aic-bar-name, .aic-bar-value, .aic-series-label { word-break: keep-all; }
.aic-series-label { box-sizing: border-box; background: var(--aic-sem-bg-surface); margin-inline: 3px; padding-inline: 2px; }
