/* Seracu app glue: layout only, tokens only. Extracted from the round-2 generators (design/round2/shared). */
/* Seracu · atlas — layout glue only. Tokens only: no colour, font, radius or shadow literals. */
.x-desk { display: block; }
.x-phone, .x-phone-inline { display: none; }
@media (max-width: 767px) {
  .x-desk, .x-hide-phone { display: none; }
  .x-phone { display: block; }
  .x-phone-inline { display: inline-flex; }
}
.x-t__term { fill: var(--ds-ink-2); text-anchor: middle; pointer-events: none; }
.x-pbar { display: flex; align-items: center; gap: var(--ds-space-3); }
.x-pbar svg { flex: 1 1 auto; block-size: 6px; inline-size: auto; }
.x-pbar span { flex: none; color: var(--ds-ink-muted); }

/* cluster dot in the data hue of its cluster (keywords, labels) */
.x-hue-dot { display: inline-block; inline-size: 8px; block-size: 8px; border-radius: var(--ds-radius-pill); margin-inline-end: var(--ds-space-2); vertical-align: middle; background: var(--ds-data-1); flex: none; }
.x-hue-dot[data-hue="2"] { background: var(--ds-data-2); } .x-hue-dot[data-hue="3"] { background: var(--ds-data-3); }
.x-hue-dot[data-hue="4"] { background: var(--ds-data-4); } .x-hue-dot[data-hue="5"] { background: var(--ds-data-5); }
.x-hue-dot[data-hue="6"] { background: var(--ds-data-6); } .x-hue-dot[data-hue="7"] { background: var(--ds-data-7); }
.x-hue-dot[data-hue="8"] { background: var(--ds-data-8); }
.x-src { font-family: var(--ds-font-label); font-size: var(--ds-text-xs); color: var(--ds-ink-muted); font-weight: var(--ds-weight-regular); }

/* ---------- the map (inline SVG; DS GAP cluster-map) ---------- */
.x-map { display: block; inline-size: 100%; block-size: auto; font-family: var(--ds-font-sans); }
.x-isl__ground { fill: var(--ds-surface-2); }
.x-pillar__ring { fill: var(--ds-surface); stroke: var(--ds-ink-2); stroke-width: 1.5; }
.x-pillar__dot { fill: var(--ds-ink-2); }
.x-t__dot { fill: var(--ds-surface); stroke: var(--ds-ink-muted); stroke-width: 1.25; }
.x-t[data-state="covered"] .x-t__dot { fill: var(--ds-accent-soft); stroke: none; }
.x-t[data-state="done"] .x-t__dot { fill: var(--ds-primary-fill); stroke: none; }
.x-t[data-state="prog"] .x-t__dot { fill: var(--ds-accent-tint); stroke: var(--ds-accent); stroke-width: 1.75; stroke-dasharray: 3 2; }
.x-t__halo { fill: none; stroke: var(--ds-accent); stroke-width: 1.25; }
.x-t[data-state="prog"] .x-t__halo { stroke-dasharray: 2 2; }
.x-t__tick { fill: none; stroke: var(--ds-ink-on-primary); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.x-t__sel { fill: none; stroke: var(--ds-accent-2); stroke-width: 2.5; }
.x-t__vol { fill: var(--ds-ink-2); text-anchor: middle; font-weight: var(--ds-weight-medium); font-variant-numeric: tabular-nums; pointer-events: none; }
.x-t[data-state="done"] .x-t__vol { fill: var(--ds-ink-on-primary); }
.x-t[data-state="covered"] .x-t__vol { fill: var(--ds-ink); }
.x-lab__name { fill: var(--ds-ink); font-size: 14px; font-weight: var(--ds-weight-semibold); }
.x-lab__meta, .x-lab__pct { fill: var(--ds-ink-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.x-lab__track { fill: var(--ds-surface-3); }
.x-lab__fill { fill: var(--ds-accent); }
.x-lab__dot { fill: var(--ds-data-1); }
.x-lab[data-hue="2"] .x-lab__dot { fill: var(--ds-data-2); } .x-lab[data-hue="3"] .x-lab__dot { fill: var(--ds-data-3); }
.x-lab[data-hue="4"] .x-lab__dot { fill: var(--ds-data-4); } .x-lab[data-hue="5"] .x-lab__dot { fill: var(--ds-data-5); }
.x-lab[data-hue="6"] .x-lab__dot { fill: var(--ds-data-6); } .x-lab[data-hue="7"] .x-lab__dot { fill: var(--ds-data-7); }
.x-lab[data-hue="8"] .x-lab__dot { fill: var(--ds-data-8); }
.x-legend { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-space-2) var(--ds-space-5); margin: 0; padding: 0; list-style: none; font-size: var(--ds-text-sm); color: var(--ds-ink-2); }
.x-legend__item { display: inline-flex; align-items: center; gap: var(--ds-space-2); }
.x-legend__glyph { inline-size: 20px; block-size: 20px; flex: none; overflow: visible; }
.x-legend__note { color: var(--ds-ink-muted); }
.x-legend__glyph .x-t__dot[data-x="gap"] { fill: var(--ds-surface); }

/* ---------- clusters canvas ---------- */
.x-shell { --_h: 100dvh; }
.x-canvas { display: flex; flex-direction: column; gap: var(--ds-space-5); padding: var(--ds-space-6) var(--ds-space-8) var(--ds-space-8); min-height: 100%; }
.x-mapbar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--ds-space-4) var(--ds-space-8); }
.x-mapbar__title { display: flex; flex-direction: column; gap: var(--ds-space-1); min-width: 0; flex: 1 1 320px; }
.x-gs { flex: none; }
.x-field { padding-block: var(--ds-space-2); }
.x-desk > .x-legend { margin-block-start: var(--ds-space-4); }
.x-plist { display: flex; flex-direction: column; gap: var(--ds-space-3); margin: var(--ds-space-4) 0 0; padding: 0; list-style: none; }
.x-pisl .ds-card__body { display: flex; flex-direction: column; gap: var(--ds-space-3); }
.x-prow { display: block; inline-size: 100%; block-size: auto; }
.x-psheet { list-style: none; }
@media (max-width: 767px) {
  .x-canvas { padding: var(--ds-space-5) var(--ds-space-4) var(--ds-space-8); gap: var(--ds-space-4); }
  .x-mapbar { align-items: flex-start; gap: var(--ds-space-3); }
  .x-phone > .x-legend { gap: var(--ds-space-1) var(--ds-space-4); font-size: var(--ds-text-xs); }
}

/* ---------- editor: a centred document with margin columns ---------- */
.x-doc { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 680px) minmax(260px, 330px); justify-content: center; gap: var(--ds-space-10); padding: var(--ds-space-8) var(--ds-space-8) var(--ds-space-16); align-items: start; }
.x-doc__left, .x-doc__right { display: flex; flex-direction: column; gap: var(--ds-space-8); min-width: 0; position: sticky; top: var(--ds-space-6); }
.x-doc__page { display: flex; flex-direction: column; gap: var(--ds-space-5); min-width: 0; }
.x-doc__eyebrow { --_gap: 0; }
.x-meta { display: flex; flex-direction: column; gap: var(--ds-space-3); }
.x-meta__desc { display: flex; flex-direction: column; gap: var(--ds-space-2); }
.x-meta__desc .ds-label { display: flex; justify-content: space-between; gap: var(--ds-space-3); }
.x-prose h2 { font-size: var(--ds-text-xl); font-weight: var(--ds-heading-weight); line-height: var(--ds-lh-heading); margin-block-start: var(--ds-space-6); }
.x-prose h3 { font-size: var(--ds-text-lg); font-weight: var(--ds-heading-weight); line-height: var(--ds-lh-heading); margin-block-start: var(--ds-space-3); }
.x-prose ul { padding-inline-start: var(--ds-space-5); display: flex; flex-direction: column; gap: var(--ds-space-2); }
.x-prose a { color: var(--ds-ink-link); }
.x-edited { border-inline-start: 3px solid var(--ds-warning); padding-inline-start: var(--ds-space-3); }
.x-ins { text-decoration: none; background: var(--ds-warning-tint); color: var(--ds-warning-ink); border-radius: var(--ds-radius-xs); }
.x-edited__mark { padding-inline-start: var(--ds-space-3); }
.x-voice, .x-fc, .x-removed { display: flex; flex-direction: column; gap: var(--ds-space-3); }
.x-meter { gap: var(--ds-space-2); }
.x-preview-note { margin-block-start: calc(var(--ds-space-3) * -1); }
@media (max-width: 1280px) {
  .x-doc { grid-template-columns: minmax(0, 680px) minmax(260px, 320px); gap: var(--ds-space-8); }
  .x-doc__left { order: 3; position: static; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
}
@media (max-width: 900px) {
  .x-doc { grid-template-columns: minmax(0, 1fr); padding: var(--ds-space-5) var(--ds-space-4) var(--ds-space-12); gap: var(--ds-space-8); }
  .x-doc__right { position: static; }
}

/* ---------- overview ---------- */
.x-ov { display: flex; flex-direction: column; gap: var(--ds-space-6); padding: var(--ds-space-6) var(--ds-space-8) var(--ds-space-12); max-inline-size: 1240px; margin-inline: auto; }
.x-ov__hero-body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--ds-space-10); align-items: center; }
.x-ov__thumb { display: flex; flex-direction: column; gap: var(--ds-space-3); color: inherit; text-decoration: none; min-width: 0; }
.x-ov__score { display: flex; flex-direction: column; gap: var(--ds-space-5); min-width: 0; }
.x-ov__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-space-6); align-items: start; }
@media (max-width: 1100px) { .x-ov__cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 767px) {
  .x-ov { padding: var(--ds-space-5) var(--ds-space-4) var(--ds-space-10); gap: var(--ds-space-4); }
  .x-ov__hero-body { grid-template-columns: minmax(0, 1fr); gap: var(--ds-space-6); }
  .x-ov__cols { grid-template-columns: minmax(0, 1fr); gap: var(--ds-space-4); }
}

/* ---------- keywords ---------- */
.x-kw { display: flex; flex-direction: column; gap: var(--ds-space-5); padding: var(--ds-space-6) var(--ds-space-6) var(--ds-space-10); }
.x-kw__table thead th { position: sticky; top: 0; z-index: 1; }
.x-kw__table tbody tr[aria-selected="true"] td { background: var(--ds-selected-bg); }
.x-kw__table .ds-data-table__secondary { display: block; }
.x-kw .x-phone { display: none; }
@media (max-width: 767px) {
  .x-kw { padding: var(--ds-space-5) var(--ds-space-4) var(--ds-space-10); gap: var(--ds-space-4); }
  .x-kw .x-phone { display: flex; flex-direction: column; gap: var(--ds-space-4); }
}

/* ---------- home ---------- */
.x-hero { padding: var(--ds-space-6) var(--ds-gutter-page) var(--ds-space-4); }
.x-hero__stage { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); max-inline-size: 1320px; margin-inline: auto; align-items: center; }
.x-hero__map { grid-row: 1; grid-column: 3 / -1; margin: 0; display: flex; flex-direction: column; gap: var(--ds-space-3); }
.x-hero__mapframe { background: var(--ds-surface); border-radius: var(--ds-radius-xl); padding: var(--ds-space-6) var(--ds-space-4) var(--ds-space-6) 30%; }
.x-hero__map figcaption { display: flex; flex-direction: column; gap: var(--ds-space-2); padding-inline-start: 30%; }
.x-hero__card { grid-row: 1; grid-column: 1 / span 5; position: relative; z-index: 1; }
.x-hero__card .ds-card__body { padding: var(--ds-space-8); }
.x-hero__h { text-wrap: balance; }
.x-hero__comps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-space-2); }
.x-hero__phone { display: none; }
@media (max-width: 900px) {
  .x-hero__stage { display: flex; flex-direction: column; gap: var(--ds-space-6); }
  .x-hero__card { order: -1; min-inline-size: 0; max-inline-size: 100%; }
  .x-hero__h { font-size: var(--ds-text-3xl); max-inline-size: none; }
  .x-hero__map { display: none; }
  .x-hero__phone { display: block; }
  .x-hero__comps { grid-template-columns: minmax(0, 1fr); }
  .x-hero { padding: var(--ds-space-4) var(--ds-space-4) var(--ds-space-10); }
  .x-hero__card .ds-card__body { padding: var(--ds-space-6) var(--ds-space-5); }
}
.x-badges { display: inline-flex; align-items: center; gap: var(--ds-space-2); padding-inline-end: var(--ds-space-3); }
.x-view{flex:none}.x-pmenu{--_min-w:280px}@media (max-width:767px){.x-view{display:none}}
.x-s-page{display:flex;flex-direction:column;gap:var(--ds-space-3);padding:var(--ds-space-4) var(--ds-space-4) var(--ds-space-6);max-inline-size:1280px;margin-inline:auto;inline-size:100%}
.x-s-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--ds-space-2)}
.x-s-head__text{display:flex;flex-direction:column;gap:var(--ds-space-1);max-inline-size:var(--ds-measure);min-width:0}
.x-s-callout{max-inline-size:var(--ds-measure)}
.x-s-num{display:inline;white-space:normal}
.x-s-num .ds-tooltip-affordance{vertical-align:middle;margin-inline-start:var(--ds-space-1)}
.x-s-why{margin:0;color:var(--ds-ink-2)}
.x-s-term{margin:0;overflow-wrap:anywhere}
.x-s-preview{display:inline-flex;align-items:center;gap:var(--ds-space-1);margin:0}
.x-s-preview svg{inline-size:16px;block-size:16px;flex:none}
.x-s-hard{display:inline-flex;align-items:center;gap:var(--ds-space-1)}
.x-s-rank{display:inline-grid;place-items:center;inline-size:28px;block-size:28px;border-radius:var(--ds-radius-pill);background:var(--ds-surface-2);color:var(--ds-ink);font-weight:var(--ds-weight-semibold);font-size:var(--ds-text-sm);flex:none}
.x-s-card__top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-1) var(--ds-space-1-5);margin:0}
.x-s-card__top .x-s-preview{margin-inline-start:auto}
/* A: grid of cards */
.x-s-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--ds-space-2);margin:0;padding:0;list-style:none}
.x-s-cell{display:flex;min-width:0}
.x-s-card{inline-size:100%}
.x-s-card__body{display:flex;flex-direction:column;gap:var(--ds-space-1-5)}
.x-s-card__title{margin:0;text-wrap:balance}
.x-s-card__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ds-space-1-5);margin-block-start:auto;padding-block-start:var(--ds-space-1-5);border-block-start:1px solid var(--ds-rule-soft)}
.x-s-wait{margin:0;flex:1 1 100%}
.x-s-steps{margin:0}
.x-s-steps .ds-progress-steps__step{min-block-size:var(--ds-space-3)}
.x-s-steps .ds-progress-steps__label{padding-block:calc((var(--ds-space-3) - 1lh) / 2)}
.x-s-steps .ds-progress-steps__list{gap:var(--ds-space-1)}
.x-s-steps .ds-progress-steps__glyph{margin-block-start:calc((var(--ds-space-3) - var(--ds-icon-size)) / 2)}
.x-s-foot{margin:0}
/* B: featured + numbered list */
.x-s-feat__body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--ds-space-4);align-items:start}
.x-s-feat__main{display:flex;flex-direction:column;gap:var(--ds-space-2);min-width:0}
.x-s-feat__title{margin:0;text-wrap:balance}
.x-s-feat__act{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-1-5) var(--ds-space-3);margin-block-start:var(--ds-space-1)}
.x-s-feat__side{display:flex;flex-direction:column;gap:var(--ds-space-1-5);min-width:0}
.x-s-feat__side .ds-label{display:flex;align-items:center;gap:var(--ds-space-1)}
.x-s-qs{display:flex;flex-direction:column;gap:var(--ds-space-1);margin:0;padding-inline-start:var(--ds-space-2);list-style:disc}
.x-s-list{display:flex;flex-direction:column;gap:var(--ds-space-1-5)}
.x-s-rows{margin:0;padding:0;list-style:none;border-block-start:1px solid var(--ds-rule)}
.x-s-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--ds-space-1) var(--ds-space-2);align-items:start;padding-block:var(--ds-space-2);border-block-end:1px solid var(--ds-rule)}
.x-s-row__rank{font-size:var(--ds-text-2xl);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-muted);line-height:1.1}
.x-s-row__body{display:flex;flex-direction:column;gap:var(--ds-space-1);min-width:0;max-inline-size:72ch}
.x-s-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-1) var(--ds-space-2);margin:0}
.x-s-row__title{margin:0}
.x-s-row__act{display:flex;justify-content:flex-end;align-self:center;min-inline-size:200px;max-inline-size:260px}
.x-s-row__act .x-s-wait{text-align:end}
/* overview */
.x-s-ov{max-inline-size:820px;margin-inline:0}
.x-s-ov__lead{text-wrap:pretty;max-inline-size:30ch}
.x-s-ov__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-space-2)}
.x-s-ov__grid .ds-stat{justify-content:space-between}
.x-s-ov__grid .ds-stat__label{display:inline-flex;align-items:center;gap:var(--ds-space-1)}
.x-s-ov__next{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-2) var(--ds-space-3)}
/* article */
.x-s-art{display:grid;grid-template-columns:minmax(0,760px) minmax(280px,360px);justify-content:center;gap:var(--ds-space-4);padding:var(--ds-space-3) var(--ds-space-4) var(--ds-space-6);align-items:start}
.x-s-art__main{display:flex;flex-direction:column;gap:var(--ds-space-2);min-width:0}
.x-s-art__head{display:flex;flex-direction:column;gap:var(--ds-space-1-5)}
.x-s-back{display:inline-flex;align-items:center;gap:var(--ds-space-1);align-self:flex-start}
.x-s-back svg{inline-size:16px;block-size:16px}
.x-s-actions{display:flex;flex-wrap:wrap;gap:var(--ds-space-1-5)}
.x-s-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-1) var(--ds-space-1-5);margin:0;font-size:var(--ds-text-sm)}
.x-s-doc__body{padding:var(--ds-space-5) var(--ds-space-6);gap:var(--ds-space-3)}
.x-s-doc__title{margin:0;text-wrap:balance}
.x-s-prose{max-inline-size:none;font-family:var(--ds-font-sans)}
.x-s-prose h2{font-size:var(--ds-text-2xl);margin-block-start:1.6em}
.x-s-prose li + li{margin-block-start:var(--ds-space-1)}
.x-s-edited{border-inline-start:3px solid var(--ds-warning);padding-inline-start:var(--ds-space-2);display:flex;flex-direction:column;gap:var(--ds-space-1)}
.x-s-edited > p{margin:0}
.x-s-ins{text-decoration:none;background:var(--ds-warning-tint);color:var(--ds-warning-ink);border-radius:var(--ds-radius-xs)}
.x-s-art__side{display:flex;flex-direction:column;gap:var(--ds-space-2);min-width:0;position:sticky;top:var(--ds-space-3)}
.x-s-panel .ds-card__body{gap:var(--ds-space-1-5)}
.x-s-panel .ds-h4{display:flex;align-items:center;gap:var(--ds-space-1);margin:0}
.x-s-claim__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-1) var(--ds-space-1-5);white-space:normal}
.x-s-claim__meta a{display:inline-flex;align-items:center;gap:var(--ds-space-1)}
.x-s-claim__meta svg{inline-size:12px;block-size:12px;flex:none}
.x-s-claim{block-size:auto;padding-block:var(--ds-space-1-5)}
@media (max-width:1100px){
  .x-s-art{grid-template-columns:minmax(0,1fr)}
  .x-s-art__side{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
  .x-s-feat__body{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .x-s-page{padding:var(--ds-space-2) var(--ds-space-2) var(--ds-space-5);gap:var(--ds-space-2)}
  .x-s-grid{grid-template-columns:minmax(0,1fr);gap:var(--ds-space-2)}
  .x-s-card__foot{flex-direction:column;align-items:stretch}
  .x-s-card__foot > .ds-button-primary{justify-content:center}
  .x-s-wait{max-inline-size:none;text-align:start}
  .x-s-row{grid-template-columns:28px minmax(0,1fr);gap:var(--ds-space-1) var(--ds-space-1-5)}
  .x-s-row__rank{font-size:var(--ds-text-lg)}
  .x-s-row__act{grid-column:2;justify-content:flex-start;min-inline-size:0}
  .x-s-row__act .x-s-wait{text-align:start}
  .x-s-feat__act{flex-direction:column;align-items:stretch}
  .x-s-feat{--_pad:var(--ds-space-3)}
  .x-s-ov{padding-inline-end:var(--ds-space-2)}
  .x-s-ov__grid{grid-template-columns:minmax(0,1fr)}
  .x-s-art{padding:var(--ds-space-2) var(--ds-space-2) var(--ds-space-5);gap:var(--ds-space-2)}
  .x-s-art__side{grid-template-columns:minmax(0,1fr)}
  .x-s-doc__body{padding:var(--ds-space-3) var(--ds-space-2)}
  .x-s-prose{font-size:var(--ds-text-md)}
  .x-s-actions > *{flex:1 1 auto;justify-content:center}
}
.x-bn { display: flex; flex-direction: column; gap: var(--ds-space-6); padding: var(--ds-space-6) var(--ds-space-8) var(--ds-space-12); max-inline-size: 1240px; margin-inline: auto; }
.x-bn--wide { max-inline-size: 1440px; }
.x-bn__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--ds-space-2) var(--ds-space-8); }
.x-bn__title { display: flex; flex-direction: column; gap: var(--ds-space-1); min-inline-size: 0; flex: 1 1 420px; }
.x-bn__foot { display: inline-flex; align-items: center; flex-wrap: wrap; gap: var(--ds-space-1); }
.x-bn__foot svg { inline-size: 16px; block-size: 16px; flex: none; }
.x-bn__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: var(--ds-space-8); align-items: start; }
.x-bn__main, .x-bn__side { display: flex; flex-direction: column; gap: var(--ds-space-6); min-inline-size: 0; }
.x-bn__stack { display: flex; flex-direction: column; gap: var(--ds-space-6); }
.x-bn__below { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-space-6); align-items: start; }
.x-bn__side { position: sticky; top: var(--ds-space-6); }
.x-bn-card { padding-inline: var(--ds-space-4); container-type: inline-size; }
.x-bn-dl.x-bn-dl .ds-key-value-facts__value { align-items: flex-start; gap: var(--ds-space-1) var(--ds-space-4); flex-wrap: wrap; inline-size: 100%; }
.x-bn-dl.x-bn-dl .ds-key-value-facts__item { padding-block: var(--ds-space-2); align-items: start; }
.x-bn-dl.x-bn-dl .ds-key-value-facts__key { padding-block-start: var(--ds-space-0-5); }
.x-bn-fact { display: flex; flex-direction: column; gap: var(--ds-space-1); flex: 1 1 0; min-inline-size: 0; }
@container (max-width: 360px) { .x-bn-fact { flex-basis: 100%; } }
@container (max-width: 360px) { .x-bn-dl.x-bn-dl .ds-key-value-facts__action { margin-inline-start: 0; } }
.x-bn-fact__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-space-2); }
.x-bn-fix { display: flex; flex-direction: column; gap: var(--ds-space-2); margin-block-start: var(--ds-space-2); }
.x-bn-wrap { white-space: normal; min-inline-size: 12em; }
.x-bn-prev { margin-inline-start: var(--ds-space-2); }
.x-bn-tt .ds-tree-table__label-text { white-space: normal; overflow: visible; }
.x-bn-tt .ds-tree-table__row { align-items: start; }
.x-bn-tt .ds-tree-table__label { align-items: flex-start; }
.x-bn-tt .ds-tree-table__label-text, .x-bn-tt .ds-tree-table__num { padding-block: var(--ds-space-1-5); }
.x-bn-tt .ds-tree-table__num { display: inline-flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: var(--ds-space-1); }
.x-bn-ghost.x-bn-ghost.x-bn-ghost { text-align: start; min-block-size: 0; padding: var(--ds-space-2) var(--ds-space-3); flex-direction: row; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--ds-space-2) var(--ds-space-4); inline-size: 100%; margin-block: var(--ds-space-1); }
.x-bn-ghost .x-bn-new { flex: 1 1 16rem; min-inline-size: 0; }
.x-bn-ghost__st { display: inline-flex; flex-direction: column; align-items: flex-end; gap: var(--ds-space-1); }
.x-bn-recrow .ds-tree-table__num { display: none; }
.x-bn-recrow .ds-tree-table__row { grid-template-columns: minmax(0, 1fr); }
.x-bn-new { display: flex; flex-direction: column; gap: var(--ds-space-1); }
.x-bn-new__t { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--ds-space-2); }
.x-bn-path { display: block; }
.x-bn-recrow .ds-tree-table__label-text { padding-block: 0; }
.x-bn-qs { display: flex; flex-direction: column; gap: var(--ds-space-1); padding-inline-start: var(--ds-space-4); margin: 0; }
/* site map (inline SVG; DS GAP site-tree): fills from tokens only */
.x-bn-map { display: block; inline-size: 100%; block-size: auto; font-family: var(--ds-font-sans); }
.x-bn-e { fill: none; stroke: var(--ds-rule-strong); stroke-width: 1.25; }
.x-bn-e[data-new] { stroke: var(--ds-accent); stroke-dasharray: 4 3; }
.x-bn-n rect { fill: var(--ds-surface); stroke: var(--ds-ink-2); stroke-width: 1.25; }
.x-bn-n[data-kind="root"] rect { fill: var(--ds-primary-fill); stroke: none; }
.x-bn-n[data-kind="root"] text { fill: var(--ds-ink-on-primary); }
.x-bn-n[data-kind="leaf"] rect { stroke: var(--ds-rule-strong); }
.x-bn-n__t { fill: var(--ds-ink); font-weight: var(--ds-weight-semibold); }
.x-bn-n__m { fill: var(--ds-ink-muted); font-variant-numeric: tabular-nums; }
.x-bn-tile { fill: var(--ds-surface-3); stroke: var(--ds-rule-strong); stroke-width: 1; }
.x-bn-p rect { fill: var(--ds-surface-3); stroke: var(--ds-rule-strong); stroke-width: 1; }
.x-bn-p text { fill: var(--ds-ink); }
.x-bn-g rect { fill: var(--ds-surface); stroke: var(--ds-accent); stroke-width: 1.5; stroke-dasharray: 5 3; }
.x-bn-g[data-status="writing"] rect { fill: var(--ds-accent-tint); }
.x-bn-g[data-status="ready"] rect, .x-bn-g[data-status="approved"] rect { fill: var(--ds-accent-tint); stroke-dasharray: none; }
.x-bn-g__s { fill: var(--ds-accent-ink); font-weight: var(--ds-weight-medium); }
.x-bn-g[aria-current="true"] rect { stroke: var(--ds-accent-2); stroke-width: 2.5; }
.x-legend__glyph .x-bn-g rect, .x-legend__glyph .x-bn-n rect { stroke-width: 1.25; }
/* onboarding */
.x-bn-mark svg { inline-size: 18px; block-size: 18px; }
.x-bn-obaside { display: flex; flex-direction: column; gap: var(--ds-space-4); }
.x-bn-form { gap: var(--ds-space-4); }
.x-bn-ob2 { gap: var(--ds-space-5); }
.x-bn-ctl { display: flex; flex-direction: column; gap: var(--ds-space-1-5); }
.x-bn-add { display: flex; gap: var(--ds-space-2); align-items: center; }
.x-bn-add > .ds-button-secondary { flex: none; }
.x-bn-choices { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ds-space-4); }
.x-bn-choice { align-items: start; grid-template-columns: minmax(0, 1fr) auto; }
.x-bn-choice .ds-choice-card__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 17rem); column-gap: var(--ds-space-6); align-items: start; }
.x-bn-choice .ds-choice-card__label, .x-bn-choice .ds-choice-card__desc { grid-column: 1; }
.x-bn-ill { display: block; grid-column: 2; grid-row: 1 / span 3; pointer-events: none; }
.x-bn-mini { inline-size: 100%; }
.x-bn-note { display: flex; align-items: flex-start; gap: var(--ds-space-2); margin-block-start: var(--ds-space-4); }
.x-bn-src { margin-block-start: 0; }
.x-bn-note svg, .x-bn-form > p svg { inline-size: 16px; block-size: 16px; flex: none; vertical-align: -3px; }
.x-bn-ob .ds-onboarding-step__panel { max-inline-size: 640px; }
.x-bn-mini { display: none; }
.x-bn-mini ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--ds-space-2); }
@media (max-width: 1100px) {
  .x-bn__cols { grid-template-columns: minmax(0, 1fr); }
  .x-bn__side { position: static; }
  .x-bn__below { grid-template-columns: minmax(0, 1fr); }
  .x-bn__side--first { order: -1; }
}
@media (max-width: 767px) {
  .x-bn { padding: var(--ds-space-5) var(--ds-space-4) var(--ds-space-10); gap: var(--ds-space-4); }
  .x-bn-card { padding-inline: var(--ds-space-3); }
  .x-bn-choice .ds-choice-card__body { grid-template-columns: minmax(0, 1fr); }
  .x-bn-ill { grid-column: 1; grid-row: auto; margin-block-start: var(--ds-space-3); }
  .x-bn-steps { display: none; }
  .x-bn-mini { display: block; margin-block-start: var(--ds-space-3); }
  .x-bn-psheet { margin-block-start: var(--ds-space-4); }
}

/* ---------- shell additions (core) ---------- */
.x-boot { min-block-size: 100dvh; }
.x-bn--tight { padding-block-end: 0; }
.x-dialog { border: 0; padding: 0; background: transparent; max-inline-size: min(480px, calc(100vw - var(--ds-space-8))); color: var(--ds-ink); }
.x-dialog::backdrop { background: oklch(10% 0 0 / .55); }
.x-dialog .ds-card { box-shadow: var(--ds-shadow-modal); }
.x-dialog__actions { display: flex; flex-wrap: wrap; gap: var(--ds-space-2); justify-content: flex-end; margin-block-start: var(--ds-space-3); }
.x-pmenu { z-index: var(--ds-z-popover, 30); }
.ds-popover-anchor { position: relative; display: inline-flex; }
