.lri-shell-suppressed {
  display: none !important;
}

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

/* Shared content contracts used by rendered workbench and briefing views. */
/* Academic registry: compact country pairs and readable affiliation details. */
.resource-workbench .resource-table .affiliation-cell{min-width:15rem;width:20%;max-width:24rem;white-space:normal;vertical-align:top}
.resource-workbench .affiliation-text,.resource-workbench .affiliation-details,.resource-workbench .affiliation-preview{min-width:0;max-width:22rem;white-space:normal;overflow-wrap:anywhere;line-height:1.5;font-size:12px}
.resource-workbench .affiliation-details{margin:0}
.resource-workbench .affiliation-details>summary{cursor:pointer;white-space:normal;list-style-position:inside}
.resource-workbench .affiliation-details>summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.resource-workbench .affiliation-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.resource-workbench .affiliation-details[open] .affiliation-preview{display:block;overflow:visible}
.resource-workbench .affiliation-expand,.resource-workbench .affiliation-collapse{font-size:10px;color:var(--accent);font-weight:650}
.resource-workbench .affiliation-collapse,.resource-workbench .affiliation-details[open] .affiliation-expand{display:none}
.resource-workbench .affiliation-details[open] .affiliation-collapse{display:inline}
.resource-workbench .affiliation-list{padding-left:1rem;margin:.35rem 0 0}
.resource-workbench .affiliation-list li{margin:.25rem 0;overflow-wrap:anywhere;white-space:normal}
.resource-workbench .resource-name-line{flex-wrap:wrap;row-gap:4px}
.resource-workbench .resource-country{gap:5px;flex-wrap:wrap}
.resource-workbench .country-pair{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.resource-workbench .country-code{font-size:10px}
#resource-dialog .detail-card .chip{white-space:normal;overflow-wrap:anywhere}
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}
.person-thesis {
  border-top: 3px solid var(--accent);
}
.viewpoint-core-card {
  min-width: 0;
}
.markdown-report {
  color: var(--text);
  line-height: 1.7;
}
.briefing-text-outline {
  max-width: 1040px;
  margin-inline: auto;
}
.v9-recovery article.r1 {
  border-color: #63a983;
  background: #eef8f2;
}
/* Insight Executive Design System
   Single source of truth for all static report pages.
   Visual direction: calm, polished, presentation-friendly, not poster-like. */
:root {
  --bg: #f5f6f8;
  --bg-soft: #eef1f5;
  --surface: #ffffff;
  --surface-2: #f9fafb;
  --surface-3: #f3f5f8;
  --line: #d9dee7;
  --line-2: #e7ebf1;
  --text: #111827;
  --soft: #374151;
  --muted: #667085;
  --accent: #b91c1c;
  --accent-soft: #fff1f2;
  --accent-2: #1d4ed8;
  --blue-soft: #eff6ff;
  --green: #047857;
  --green-soft: #ecfdf5;
  --warn: #9a3412;
  --warn-soft: #fff7ed;
  --bad: #991b1b;
  --bad-soft: #fef2f2;
  --purple: #4b5563;
  --radius: 14px;
  --radius-sm: 9px;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .06);
  --shadow-md: 0 10px 28px rgba(15, 23, 42, .08);
  --shadow-lg: 0 22px 60px rgba(15, 23, 42, .10);
  --bg2: var(--bg);
  --panel: var(--surface);
  --panel2: var(--surface);
  --card: var(--surface);
  --card2: var(--surface);
  --blue: var(--accent-2);
  --green: #047857;
  --orange: var(--warn);
  --amber: var(--warn);
  --yellow: var(--warn);
  --red: var(--accent);
  --cyan: var(--accent-2);
  --shadow: var(--shadow-md);
  --r: var(--radius);
}
* { box-sizing: border-box; }
html { background: var(--bg); scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 10% -10%, rgba(185, 28, 28, .055), transparent 34%),
    radial-gradient(circle at 90% 0%, rgba(29, 78, 216, .055), transparent 30%),
    linear-gradient(180deg, #f7f8fa 0%, #eef1f5 100%);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  line-height: 1.58;
}
a { color: var(--accent-2); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; }
.wrap { max-width: 1360px; margin: 0 auto; padding: 24px 24px 52px; }
.hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
  border: 1px solid rgba(203, 213, 225, .92);
  border-left: 7px solid var(--accent);
  border-radius: 22px;
  padding: 32px 34px;
  box-shadow: var(--shadow-lg);
}
.hero::after {
  content: "";
  position: absolute;
  right: -110px;
  top: -130px;
  width: 300px;
  height: 300px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(185, 28, 28, .085), transparent 68%);
  pointer-events: none;
}
.hero > * { position: relative; }
.hero h1, h1 { color: var(--text); letter-spacing: -.04em; }
.hero h1 { font-size: clamp(32px, 4.9vw, 58px); line-height: 1.04; margin: 16px 0 12px; }
.hero p, .lead { color: var(--soft); max-width: 1180px; font-size: clamp(15px, 2vw, 19px); }
h2 { color: var(--text); letter-spacing: -.028em; }
h3 { color: var(--text); }
p, li { color: var(--soft); }
small { color: var(--muted); }
.muted, .meta, .footer, .reader-note, .profile-note, .profile-legend, .legend { color: var(--muted); }
.top, .topbar, .topline, .viz-head, .section-head, .section-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.brand { color: var(--text); font-weight: 900; letter-spacing: -.02em; }
.toplinks, .actions, .hero-actions, .eyebrow, .pills, .tagline, .stat-row, .reader-actions, .viz-actions, .route-line, .meta { display: flex; gap: 8px; flex-wrap: wrap; }
.toplinks { overflow: auto; white-space: nowrap; }
.back, .home, .pill, .mini, .status, .source-chip, .reader-badge, .reader-actions a, .route-line span, .viz-btn, .btn, .label, .badge, .tag, .rank, .theme-no, .num, .step::before {
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.8);
  color: var(--soft);
  font-size: 12.5px;
  box-shadow: var(--shadow-sm);
}
.back, .home, .pill, .mini, .status, .source-chip, .reader-badge, .reader-actions a, .route-line span, .viz-btn { display: inline-flex; align-items: center; padding: 7px 11px; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 15px;
  font-weight: 850;
  background: linear-gradient(135deg, #b91c1c, #991b1b);
  border-color: rgba(153, 27, 27, .85);
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(185, 28, 28, .17);
}
.btn.secondary, .btn.s, .btn.a, .btn.g {
  background: rgba(255,255,255,.88);
  color: var(--soft);
  border-color: #d1d5db;
  box-shadow: var(--shadow-sm);
}
.btn:hover, .nav a:hover, .toplinks a:hover, .wwdc-global-dock a:hover, .theme-card:hover, .card:hover, .path-card:hover {
  transform: translateY(-1px);
  text-decoration: none;
}
.hero .pill:first-child, .label.ok, .label.a, .label.p0, .label.world, .label.national, .label.admit, .badge.p0, .badge.ann, .tag.g, .tag.b, .theme-card.ready .status, .pill.good {
  background: var(--accent-soft);
  border-color: rgba(185, 28, 28, .28);
  color: var(--accent);
}
.label.mid, .label.pending, .label.infer, .badge.inf, .pill.gold, .theme-card.todo .status {
  background: var(--warn-soft);
  border-color: #fed7aa;
  color: var(--warn);
}
.label.warn, .label.reject, .label.no, .label.weak {
  background: var(--bad-soft);
  border-color: #fecaca;
  color: var(--bad);
}
.label.info, .label.p1, .label.p2, .label.p3, .label.p4, .label.bound, .label.direct, .label.spec, .badge.p1, .badge.p2, .tag.a {
  background: #eef2f7;
  border-color: #d1d5db;
  color: var(--soft);
}
.label, .badge, .tag { display: inline-flex; align-items: center; padding: 4px 8px; font-weight: 780; margin: 2px 4px 8px 0; }
.nav, .wwdc-global-dock {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(203, 213, 225, .88);
  border-radius: 16px;
  padding: 9px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: flex;
  gap: 8px;
  overflow: auto;
  box-shadow: var(--shadow-sm);
}
.nav { position: sticky; top: 0; z-index: 10; margin: 18px 0; }
.nav a, .wwdc-global-dock a {
  white-space: nowrap;
  background: rgba(255,255,255,.9);
  border: 1px solid #d1d5db;
  border-radius: 999px;
  padding: 8px 11px;
  color: var(--soft);
  font-size: 12.5px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: .16s ease;
}
.nav a:hover, .toplinks a:hover, .wwdc-global-dock a:hover { border-color: rgba(185, 28, 28, .42); color: var(--accent); }
.wwdc-global-dock { position: sticky; top: 0; z-index: 20; justify-content: center; }
.wwdc-global-dock .nav-key, .wwdc-global-dock .nav-label { color: inherit; }
.wwdc-global-dock a[data-current="true"] { border-color: rgba(185, 28, 28, .42); color: var(--accent); background: var(--accent-soft); }
.section, section { margin-top: 28px; }
.section-title, .section-head { border-bottom: 1px solid var(--line); padding-bottom: 11px; margin: 28px 0 14px; }
.section-title h2, .section-head h2 { font-size: clamp(23px, 2.7vw, 35px); margin: 0; }
.section-title p, .section-head p { color: var(--muted); margin: 0; max-width: 960px; }
.grid, .grid-2, .grid-3, .grid-4, .grid-5, .grid2, .grid3, .grid4, .reader-grid, .reader-grid.four, .gist-grid, .decision-grid, .source-grid, .viz-grid3, .viz-grid4, .viz-grid5, .viz-theme-grid, .nodes, .road, .stats { display: grid; gap: 14px; }
.grid, .grid-2, .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3, .grid3, .reader-grid, .decision-grid, .source-grid, .viz-grid3, .nodes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4, .grid4, .reader-grid.four, .viz-grid4, .stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-5, .viz-grid5, .viz-theme-grid, .road { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.card, .box, .callout, .risk, .stat, .formula, .hub-main, .hub-center, .node, .step, .proof-card, .path-card, .theme-card, .insight-card, .reader-brief, .reader-routes, .reader-index, .reader-proof, .reader-next, .reader-gist, .reader-decision, .reader-flow, .reader-digest, .reader-source, .reader-role, .reader-actions2, .reader-ladder, .reader-origins, .reader-tile, .gist-card, .decision-card, .source-card, .native-infographic, .viz-card, .viz-sidebar, .viz-theme, .cmp, .prof, .paper {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(203, 213, 225, .92);
  border-radius: var(--radius);
  color: var(--text);
  box-shadow: var(--shadow-sm);
}
.card, .box, .callout, .risk, .stat, .formula, .node, .step, .proof-card, .path-card, .theme-card, .insight-card, .reader-tile, .gist-card, .decision-card, .source-card, .viz-card, .viz-theme, .paper { padding: 17px; }
.card, .theme-card, .path-card, .reader-tile, .viz-theme { transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.card:hover, .theme-card:hover, .path-card:hover, .reader-tile:hover, .viz-theme:hover { border-color: rgba(185, 28, 28, .24); box-shadow: var(--shadow-md); }
.callout, .warn { border-left: 5px solid var(--accent); background: linear-gradient(135deg, #fff, #fff7f7); }
.risk { border-left: 5px solid var(--bad); background: linear-gradient(135deg, #fff, #fff5f5); }
.card h3, .box h3, .callout h2, .callout h3, .risk h2, .risk h3, .node b { margin-top: 0; color: var(--text); }
.card p, .box p, .callout p, .risk p, .theme-card p, .insight-card p, .proof-card p, .path-card p, .reader-tile p, .gist-card p, .decision-card p, .source-card p, .viz-card p, .viz-card li { color: var(--soft); }
.matrix-wrap, .tablewrap, .reader-scroll, .digest-scroll, .source-scroll, .table-wrap {
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(203, 213, 225, .92);
  border-radius: var(--radius);
  overflow: auto;
  box-shadow: var(--shadow-sm);
}
table, .matrix, .reader-table, .digest-table, .source-table { width: 100%; border-collapse: collapse; background: var(--surface); }
th, .matrix th, .reader-table th, .digest-table th, .source-table th { background: linear-gradient(180deg, #f8fafc, #f1f5f9); color: var(--text); font-weight: 780; }
td, .matrix td, .reader-table td, .digest-table td, .source-table td, th, .matrix th, .reader-table th, .digest-table th, .source-table th { border-bottom: 1px solid var(--line-2); padding: 11px; text-align: left; vertical-align: top; font-size: 13px; }
tr:hover td { background: #fafafa; }
.stat b { display: block; color: var(--text); font-size: 31px; line-height: 1; }
.stat span { display: block; color: var(--muted); font-size: 12px; }
.formula { border-left: 5px solid var(--accent); text-align: left; background: linear-gradient(135deg, #fff, #fff7f7); }
.formula b { display: block; color: var(--accent); font-size: clamp(24px, 4vw, 42px); }
.rank, .theme-no, .num, .step::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #ffffff, #f3f5f8);
  color: var(--text);
  border: 1px solid #d1d5db;
  font-weight: 850;
}
.rank, .num { width: 36px; height: 36px; }
.step::before { content: attr(data-step); width: 36px; height: 36px; margin-bottom: 10px; }
.timeline .step::before { counter-increment: s; content: counter(s); }
.dim { overflow: hidden; padding: 0; }
.dim-head, .software .dim-head, .cloud .dim-head, .hardware .dim-head, .chipdim .dim-head, .media .dim-head, .cmp-hd.g, .cmp-hd.a, .cmp-hd.s { background: linear-gradient(180deg, #f8fafc, #f1f5f9); color: var(--text); border-bottom: 1px solid var(--line); padding: 14px; }
.dim-body, .mini { background: var(--surface); }
.mini b { color: var(--text); }
.item { display: flex; gap: 8px; margin: 7px 0; color: var(--soft); }
.cmp { overflow: hidden; display: grid; grid-template-columns: 1fr auto 1fr; }
.cmp-bd { padding: 14px; }
.cmp-bd p, .cmp-bd li { color: var(--soft); }
.cmp-vs { display: grid; place-items: center; padding: 0 6px; color: var(--muted); background: #f9fafb; font-weight: 850; letter-spacing: .08em; }
.profile-links, .profile-icons { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.profile-links a, .profile-icons span, .profile-card-avatar, .prof-avatar, .portrait, .portrait-img { border-color: #d1d5db; background: var(--surface); color: var(--soft); border-radius: 999px; }
.profile-links a, .profile-icons span { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 28px; border: 1px solid #d1d5db; padding: 0 8px; }
.profile-links a.is-active, .profile-icons span.is-active { background: var(--green-soft); border-color: #a7f3d0; color: #065f46; }
.profile-links a.is-search, .profile-icons span.is-search { background: var(--blue-soft); border-color: #bfdbfe; color: var(--accent-2); }
.profile-links a.is-placeholder, .profile-icons span.is-placeholder { background: #f3f4f6; color: var(--muted); opacity: 1; }
.profile-card-avatar, .prof-avatar, .portrait, .portrait-img { display: flex; align-items: center; justify-content: center; overflow: hidden; border: 1px solid #d1d5db; box-shadow: var(--shadow-sm); }
.prof-avatar { width: 112px; height: 112px; }
.profile-card-avatar { width: 74px; height: 74px; }
.portrait, .portrait-img { width: 96px; height: 96px; }
.profile-card-avatar img, .prof-avatar img, .portrait-img { width: 100%; height: 100%; object-fit: cover; }
.portrait.p1, .portrait.p2, .portrait.p3, .portrait.p4, .portrait.p5, .portrait.p6, .portrait.p7, .portrait.p8 { background: linear-gradient(135deg, #f8fafc, #eef2f7); color: var(--soft); }
.native-infographic { padding: 18px; }
.viz-head { align-items: flex-start; }
.viz-kicker { color: var(--accent); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.viz-title { color: var(--text); font-size: clamp(28px, 4.8vw, 54px); line-height: 1.05; letter-spacing: -.045em; margin: 4px 0 8px; }
.viz-tag, .viz-card p, .viz-theme p { color: var(--soft); }
.viz-kpis { display: flex; gap: 8px; flex-wrap: wrap; }
.viz-kpi { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 9px 12px; text-align: center; box-shadow: var(--shadow-sm); }
.viz-kpi b { display: block; color: var(--text); font-size: 20px; }
.viz-no { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--accent-soft); border: 1px solid rgba(185, 28, 28, .26); color: var(--accent); }
.viz-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 8px; align-items: center; }
.viz-arrow { color: var(--muted); text-align: center; font-size: 24px; font-weight: 900; }
.viz-step { display: block; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 9px; margin: 8px 0; color: var(--soft); text-align: center; box-shadow: var(--shadow-sm); }
.footer { margin-top: 30px; border-top: 1px solid var(--line); padding-top: 16px; color: var(--muted); font-size: 13px; }
code, pre { background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 8px; color: var(--text); }
code { padding: 1px 5px; }
pre { overflow: auto; padding: 14px; }
blockquote { background: #f9fafb; border-left: 4px solid var(--accent); margin: 14px 0; padding: 8px 14px; color: var(--soft); border-radius: 8px; }
.markdown-body img { height: auto; border-radius: var(--radius); border: 1px solid var(--line); }
hr { border: 0; border-top: 1px solid var(--line); margin: 24px 0; }
.error { border-color: #fecaca; background: #fff5f5; }
/* Visual briefing components */
.briefing-band { background: rgba(255,255,255,.94); border: 1px solid rgba(203,213,225,.92); border-left: 7px solid var(--accent); border-radius: 20px; padding: 22px; margin-top: 24px; box-shadow: var(--shadow-md); }
.briefing-band h2 { margin-top: 0; }
.briefing-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; align-items: start; }
.briefing-script { display: grid; gap: 10px; }
.script-step { border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(180deg, #fff, #f8fafc); padding: 13px; box-shadow: var(--shadow-sm); }
.script-step b { display: block; color: var(--accent); margin-bottom: 4px; }
.script-step p { margin: 0; color: var(--soft); }
.diagram { background: linear-gradient(180deg, #fff, #f8fafc); border: 1px solid var(--line); border-radius: 18px; padding: 16px; margin: 16px 0; box-shadow: var(--shadow-sm); }
.diagram h3 { margin: 0 0 10px; }
.diagram p { margin: 8px 0 0; color: var(--muted); }
.diagram svg { display: block; width: 100%; height: auto; }
.diagram img { display: block; width: 100%; height: auto; }
.drawio-iframe { display: block; width: 100%; height: clamp(760px, 86vh, 1180px); min-height: 760px; border: 0; border-radius: 14px; background: #fff; }
.svg-box { fill: #ffffff; stroke: #cbd5e1; stroke-width: 1.5; }
.svg-box-soft { fill: #f8fafc; stroke: #cbd5e1; stroke-width: 1.5; }
.svg-accent { fill: #b91c1c; stroke: #b91c1c; }
.svg-blue { fill: #eff6ff; stroke: #93c5fd; stroke-width: 1.5; }
.svg-green { fill: #ecfdf5; stroke: #a7f3d0; stroke-width: 1.5; }
.svg-warn { fill: #fff7ed; stroke: #fed7aa; stroke-width: 1.5; }
.svg-line { stroke: #9ca3af; stroke-width: 2; fill: none; marker-end: url(#arrow); }
.svg-line-accent { stroke: #b91c1c; stroke-width: 2.2; fill: none; marker-end: url(#arrow-accent); }
.svg-text { fill: #111827; font-size: 14px; font-weight: 750; }
.svg-small { fill: #4b5563; font-size: 11px; }
.svg-muted { fill: #6b7280; font-size: 10px; }
.svg-title { fill: #111827; font-size: 16px; font-weight: 850; }
.svg-pill { fill: #ffffff; stroke: #d1d5db; stroke-width: 1; }
.svg-pill-text { fill: #374151; font-size: 10px; font-weight: 700; }
.sync-table { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.sync-cell { border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 13px; box-shadow: var(--shadow-sm); }
.sync-cell b { display: block; color: var(--accent); margin-bottom: 4px; }
.sync-cell p { margin: 0; color: var(--soft); font-size: 13px; }
.evidence-link { display: inline-flex; margin-top: 8px; font-size: 12px; color: var(--accent-2); }
@media(max-width:1180px) {
  .grid-5, .grid-4, .grid4, .viz-grid5, .viz-grid4, .stats, .road { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3, .grid3, .reader-grid, .decision-grid, .source-grid, .viz-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cmp { grid-template-columns: 1fr; }
  .cmp-vs { padding: 8px; }
}
@media(max-width:900px) {
  .briefing-grid, .sync-table { grid-template-columns: 1fr; }
  .diagram { padding: 12px; }
  .svg-text { font-size: 12px; }
  .svg-small { font-size: 10px; }
}
@media(max-width:760px) {
  .wrap { padding: 12px 10px 28px; }
  .hero { border-radius: 18px; padding: 20px; }
  .top, .topbar, .topline, .section-title, .section-head, .viz-head { display: block; }
  .back, .home { margin-bottom: 8px; }
  .actions .btn, .hero-actions .btn { width: 100%; }
  .grid, .grid-2, .grid-3, .grid-4, .grid-5, .grid2, .grid3, .grid4, .reader-grid, .reader-grid.four, .gist-grid, .decision-grid, .source-grid, .viz-grid3, .viz-grid4, .viz-grid5, .viz-theme-grid, .nodes, .road, .stats { grid-template-columns: 1fr; }
  .nav { margin-left: -4px; margin-right: -4px; }
  .viz-flow { grid-template-columns: 1fr; }
  .viz-arrow { transform: rotate(90deg); font-size: 18px; }
  table, .matrix, .reader-table, .digest-table, .source-table { min-width: 760px; }
  th, td, .matrix th, .matrix td { font-size: 12px; padding: 9px; }
}
@media print {
  body { background: #fff; }
  .nav, .actions, .hero-actions, .toplinks, .wwdc-global-dock { display: none; }
  .hero, .card, .callout, .matrix-wrap, .box { break-inside: avoid; box-shadow: none; }
}

/* Repository component coverage polish */
.metric,
.kpi,
.big-stat,
.score,
.score-row,
.kpi-grid {
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  box-shadow: var(--shadow-sm);
}
.metric b,
.metric strong,
.kpi-num,
.big-num,
.score {
  color: var(--accent);
  font-weight: 900;
  letter-spacing: -.02em;
}
.kpi-label,
.big-cap,
.metric span,
.score-row span {
  color: var(--muted);
  font-size: 12px;
}
.claim,
.evidence,
.claim-head,
.claim-id,
.essay,
.panel,
.focus-card,
.fact-card,
.mini-card,
.mini-block,
.cell,
.layer,
.list,
.index,
.narrative,
.summary-item {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 13px;
  box-shadow: var(--shadow-sm);
}
.claim-head,
.panel-title,
.section-label,
.slide-title-row,
.kicker {
  color: var(--accent);
  font-weight: 850;
  letter-spacing: -.015em;
}
.claim-id,
.page-chip,
.chip,
.ic,
.dot,
.pass,
.official,
.strong,
.ap,
.A,
.clean,
.status-badge,
.ok,
.high,
.mid,
.tiny,
.small,
.cap,
.horse-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  background: #f8fafc;
  color: var(--soft);
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 750;
}
.ok,
.pass,
.high,
.strong { background: var(--green-soft); border-color: #a7f3d0; color: #065f46; }
.mid { background: var(--warn-soft); border-color: #fed7aa; color: var(--warn); }
.red,
.reject,
.heat-high { background: var(--bad-soft); border-color: #fecaca; color: var(--bad); }
.green,
.heat-mid { background: var(--green-soft); border-color: #a7f3d0; color: #065f46; }
.yellow,
.orange { background: var(--warn-soft); border-color: #fed7aa; color: var(--warn); }
.purple { background: #f5f3ff; border-color: #ddd6fe; color: #5b21b6; }
.slide-wrap,
.frame,
.viewport,
.container {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(203,213,225,.9);
  border-radius: 22px;
  padding: 18px;
  box-shadow: var(--shadow-md);
}
.slide {
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow-sm);
}
.slide + .slide { margin-top: 14px; }
.slide-header,
.head,
.heat-top,
.topline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line-2);
  margin-bottom: 12px;
}
.slide-body,
.body,
.panel-body { color: var(--soft); }
.subtitle { color: var(--muted); font-size: 14px; }
.quote {
  background: linear-gradient(135deg, #fff, #f8fafc);
  border: 1px solid var(--line);
  border-left: 5px solid var(--accent);
  border-radius: 14px;
  padding: 14px;
  color: var(--soft);
  box-shadow: var(--shadow-sm);
}
.quote b,
.quote strong { color: var(--text); }
.timeline,
.timeline-col { display: grid; gap: 10px; }
.timeline-item {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 13px 13px 13px 42px;
  box-shadow: var(--shadow-sm);
}
.timeline-item::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 18px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 4px var(--accent-soft);
}
.timeline-date {
  display: inline-flex;
  color: var(--accent);
  font-weight: 850;
  font-size: 12px;
  margin-bottom: 4px;
}
.tree {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.theme {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
  box-shadow: var(--shadow-sm);
}
.theme h3 { margin-top: 0; }
.sub {
  display: block;
  border: 1px solid var(--line-2);
  border-radius: 12px;
  background: #f8fafc;
  padding: 10px 11px;
  margin-top: 8px;
  color: var(--soft);
}
.sub strong { display: block; color: var(--text); }
.sub span { display: block; color: var(--muted); font-size: 12px; margin-top: 3px; }
.bar,
.bar-fill,
.progress {
  display: block;
  height: 10px;
  border-radius: 999px;
  background: #eef2f7;
  overflow: hidden;
}
.bar-fill,
.progress > span {
  background: linear-gradient(90deg, var(--accent), #ef4444);
  min-width: 8px;
}
.bar-label { color: var(--muted); font-size: 12px; margin-top: 4px; }
.source-url,
.url {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--accent-2);
  background: var(--blue-soft);
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  padding: 2px 6px;
  font-size: 12px;
}
.mobile-note,
.footer-note,
.hint {
  color: var(--muted);
  font-size: 12px;
}
.list-item,
.bullet {
  position: relative;
  background: #fff;
  border: 1px solid var(--line-2);
  border-radius: 12px;
  padding: 10px 12px 10px 28px;
  margin: 7px 0;
}
.list-item::before,
.bullet::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 17px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--accent);
}
.connector {
  display: grid;
  place-items: center;
  color: var(--muted);
  font-weight: 900;
}
.node {
  position: relative;
}
.node::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 14px 0 0 14px;
  background: var(--accent-soft);
}
.fixed-ui,
.controls,
.nav-dots,
.chip-row,
.tag-row,
.pill-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
@media(max-width: 900px) {
  .tree { grid-template-columns: 1fr; }
  .slide-header,
  .head,
  .heat-top,
  .topline { display: block; }
  .metric,
  .claim,
  .panel,
  .slide,
  .theme { padding: 13px; }
}

/* Cross-topic compatibility layer */
.viz-layout { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 16px; align-items: start; }
.viz-section { margin-top: 20px; }
.viz-section-title { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--text); font-weight: 900; font-size: 18px; }
.theme-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 12px; }
.theme-row { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 12px; align-items: start; border: 1px solid var(--line); border-radius: 14px; padding: 13px; background: #fff; box-shadow: var(--shadow-sm); }
.link-card { display: block; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.link-card:hover { border-color: rgba(185, 28, 28, .28); box-shadow: var(--shadow-md); text-decoration: none; }
.note { background: var(--warn-soft); border-color: #fed7aa; color: var(--warn); }
.goal, .mat, .lab, .google, .public, .sup, .regional, .near, .c { display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid #d1d5db; padding: 4px 8px; font-size: 12px; font-weight: 780; }
.goal, .lab { background: var(--green-soft); border-color: #a7f3d0; color: #065f46; }
.mat, .google, .public, .sup, .regional, .near, .c { background: var(--blue-soft); border-color: #bfdbfe; color: var(--accent-2); }
.divider { border: 0; border-top: 1px solid var(--line); margin: 24px 0; }
.foot { margin-top: auto; padding-top: 10px; color: var(--muted); font-size: 12px; }
.priority { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; align-items: stretch; margin-bottom: 10px; }
.big-card { min-height: 220px; display: flex; flex-direction: column; }
.stat-item { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 10px 12px; text-align: center; box-shadow: var(--shadow-sm); }
.stat-item b { display: block; font-size: 22px; color: var(--accent-2); }
.stat-item span { color: var(--muted); font-size: 11px; }
.hub { display: grid; grid-template-columns: 1.2fr 1fr; gap: 14px; }
.resource, .split, .roadmap, .summary-grid, .phase, .stack, .compare, .counter { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 13px; box-shadow: var(--shadow-sm); }
.split, .summary-grid, .compare, .stack { display: grid; gap: 12px; }
.counter { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; min-height: 30px; color: var(--accent); font-weight: 900; background: var(--accent-soft); }
.stepnum { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-weight: 900; border: 1px solid rgba(185,28,28,.22); }
.help-pill, .event, .placeholder, .verified { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--line); border-radius: 999px; padding: 4px 8px; background: #fff; color: var(--soft); font-size: 12px; font-weight: 760; }
.verified { background: var(--green-soft); color: #065f46; border-color: #a7f3d0; }
.placeholder { background: #f3f4f6; color: var(--muted); }
.fail { background: var(--bad-soft); border-color: #fecaca; color: var(--bad); }
/* Lightweight utility compatibility for prototype pages that used Tailwind-like classes. */
.flex, [class~="flex"] { display: flex; }
.items-center, [class~="items-center"] { align-items: center; }
.justify-center, [class~="justify-center"] { justify-content: center; }
.w-full, [class~="w-full"] { width: 100%; }
.w-4, [class~="w-4"] { width: 1rem; }
.h-4, [class~="h-4"] { height: 1rem; }
.relative, [class~="relative"] { position: relative; }
.absolute, [class~="absolute"] { position: absolute; }
.hidden, [class~="hidden"] { display: none; }
.cursor-pointer, [class~="cursor-pointer"] { cursor: pointer; }
.font-bold, [class~="font-bold"] { font-weight: 800; }
.font-semibold, [class~="font-semibold"] { font-weight: 650; }
.text-sm, [class~="text-sm"] { font-size: 0.875rem; }
.text-gray-500, [class~="text-gray-500"] { color: var(--muted); }
.text-gray-800, [class~="text-gray-800"] { color: var(--text); }
.bg-white, [class~="bg-white"] { background: #fff; }
.shadow-sm, [class~="shadow-sm"] { box-shadow: var(--shadow-sm); }
.border-gray-100, [class~="border-gray-100"] { border-color: #f3f4f6; }
.rounded-full, [class~="rounded-full"] { border-radius: 999px; }
.p-6, [class~="p-6"] { padding: 1.5rem; }
.p-3, [class~="p-3"] { padding: .75rem; }
.mr-4, [class~="mr-4"] { margin-right: 1rem; }
.mt-1, [class~="mt-1"] { margin-top: .25rem; }
.pl-6, [class~="pl-6"] { padding-left: 1.5rem; }
[class~="-left-[9px]"] { left: -9px; }
.top-1, [class~="top-1"] { top: .25rem; }
/* Source snapshot readability guardrails */
.chapter-item, .chapter-summary, .jump-to-time, .jump-to-time-sample, .sample-code-main-container, .code-source, .btn-copy-code, .account-menu-link {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  padding: 8px 10px;
  color: var(--soft);
}
.chapter-item + .chapter-item { margin-top: 8px; }
.code-source, .sample-code-main-container { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; overflow: auto; }
@media(max-width: 900px) {
  .viz-layout, .hub, .theme-row, .priority { grid-template-columns: 1fr; }
}

/* Third-pass regression repair: snapshots, prototypes, visual workbenches */
.compact { gap: 4px; }
.compact > * { font-size: 12px; }
.cyan, .syn, .active { background: #ecfeff; border-color: #a5f3fc; color: #0e7490; }
.archive { background: #f5f3ff; border-color: #ddd6fe; color: #5b21b6; }
.hot, .B, .accent, .accent-2 { background: var(--accent-soft); border-color: rgba(185,28,28,.24); color: var(--accent); }
.card2, .related, .notice, .toolbar, .filters, .chips, .source-list, .matrix-wrapper, .metric-grid, .stat-grid, .subgrid, .risk-grid, .mini-cards, .split-band, .hero-grid, .hero-left, .hero-right, .hero-copy, .big-note, .ladder, .grid-6, .five-grid, .two-col, .session-grid, .ann-grid {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  box-shadow: var(--shadow-sm);
}
.hero-grid, .two-col, .split-band, .stat-grid, .metric-grid, .summary-grid, .risk-grid, .mini-cards, .session-grid, .ann-grid { display: grid; gap: 14px; }
.hero-grid, .two-col, .split-band { grid-template-columns: 1.1fr .9fr; }
.stat-grid, .metric-grid, .summary-grid, .risk-grid, .mini-cards, .five-grid, .grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.session-grid, .ann-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.line, .line2, .transfer { height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); border-radius: 999px; }
.float, .float2, .floating, .floating-tools { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 10px; box-shadow: var(--shadow-md); }
.primary { background: var(--accent); color: #fff; border-color: var(--accent); }
.ops { background: #eef2f7; border: 1px solid var(--line); border-radius: 14px; padding: 12px; }
.center { text-align: center; }
.mega { font-size: clamp(32px, 6vw, 72px); line-height: 1.02; letter-spacing: -.06em; color: var(--text); }
.heat-low { background: #f3f4f6; border-color: var(--line); color: var(--muted); }
.scroll { overflow: auto; }
.bad { background: var(--bad-soft); border-color: #fecaca; color: var(--bad); }
/* Theme Agent phone / deck mockup components */
.topnav, .fixed-ui { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.86); border: 1px solid var(--line); border-radius: 16px; padding: 10px; box-shadow: var(--shadow-sm); backdrop-filter: blur(12px); }
.page-counter { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 5px 9px; color: var(--muted); background: #fff; }
.deck { display: grid; gap: 18px; }
.hero-tags, .chip-row, .tag-row { display: flex; gap: 8px; flex-wrap: wrap; }
.phone-wrap { display: grid; place-items: center; }
.phone { width: min(280px, 100%); aspect-ratio: 9 / 19; border: 1px solid #cbd5e1; border-radius: 34px; background: linear-gradient(180deg,#111827,#374151); padding: 12px; box-shadow: var(--shadow-lg); }
.screen { width: 100%; height: 100%; border-radius: 26px; background: linear-gradient(180deg,#f8fafc,#e5e7eb); color: var(--text); padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.notch { width: 80px; height: 18px; border-radius: 999px; background: #111827; align-self: center; }
.time { font-size: 34px; font-weight: 900; letter-spacing: -.04em; }
.time-sub { color: var(--muted); font-size: 12px; }
.widget, .dock, .strip { background: rgba(255,255,255,.78); border: 1px solid rgba(203,213,225,.88); border-radius: 18px; padding: 10px; }
.icons { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.pal { width: 28px; height: 28px; border-radius: 999px; background: var(--accent-soft); border: 1px solid rgba(185,28,28,.2); }
.impact-table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.horse-grid, .talk-grid, .flow, .arch, .dense-map { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.horse-box, .alt, .dense-board { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 14px; box-shadow: var(--shadow-sm); }
.dense-title { color: var(--accent); font-weight: 900; margin-bottom: 8px; }
/* Tailwind-like utilities used by prototype pages */
.fixed, [class~="fixed"] { position: fixed; }
.sticky, [class~="sticky"] { position: sticky; }
.top-0, [class~="top-0"] { top: 0; }
.top-24, [class~="top-24"] { top: 6rem; }
.z-50, [class~="z-50"] { z-index: 50; }
.block, [class~="block"] { display: block; }
.flex-col, [class~="flex-col"] { flex-direction: column; }
.justify-between, [class~="justify-between"] { justify-content: space-between; }
.flex-shrink-0, [class~="flex-shrink-0"] { flex-shrink: 0; }
.max-w-7xl, [class~="max-w-7xl"] { max-width: 80rem; }
.max-w-3xl, [class~="max-w-3xl"] { max-width: 48rem; }
.mx-auto, [class~="mx-auto"] { margin-left: auto; margin-right: auto; }
.h-16, [class~="h-16"] { height: 4rem; }
.w-3, [class~="w-3"] { width: .75rem; }
.h-3, [class~="h-3"] { height: .75rem; }
.text-xl, [class~="text-xl"] { font-size: 1.25rem; }
.text-2xl, [class~="text-2xl"] { font-size: 1.5rem; }
.text-3xl, [class~="text-3xl"] { font-size: 1.875rem; line-height: 1.15; }
.text-lg, [class~="text-lg"] { font-size: 1.125rem; }
.text-gray-600, [class~="text-gray-600"] { color: #4b5563; }
.text-gray-700, [class~="text-gray-700"] { color: #374151; }
.text-gray-900, [class~="text-gray-900"] { color: #111827; }
.text-teal-800, [class~="text-teal-800"] { color: #115e59; }
.font-medium, [class~="font-medium"] { font-weight: 500; }
.font-extrabold, [class~="font-extrabold"] { font-weight: 900; }
.font-normal, [class~="font-normal"] { font-weight: 400; }
.leading-relaxed, [class~="leading-relaxed"] { line-height: 1.65; }
.tracking-tight, [class~="tracking-tight"] { letter-spacing: -.025em; }
.px-3, [class~="px-3"] { padding-left: .75rem; padding-right: .75rem; }
.px-4, [class~="px-4"] { padding-left: 1rem; padding-right: 1rem; }
.px-6, [class~="px-6"] { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-2, [class~="py-2"] { padding-top: .5rem; padding-bottom: .5rem; }
.py-4, [class~="py-4"] { padding-top: 1rem; padding-bottom: 1rem; }
.p-4, [class~="p-4"] { padding: 1rem; }
.p-8, [class~="p-8"] { padding: 2rem; }
.pt-24, [class~="pt-24"] { padding-top: 6rem; }
.pb-12, [class~="pb-12"] { padding-bottom: 3rem; }
.mr-2, [class~="mr-2"] { margin-right: .5rem; }
.mr-3, [class~="mr-3"] { margin-right: .75rem; }
.ml-3, [class~="ml-3"] { margin-left: .75rem; }
.mb-1, [class~="mb-1"] { margin-bottom: .25rem; }
.mb-2, [class~="mb-2"] { margin-bottom: .5rem; }
.mb-3, [class~="mb-3"] { margin-bottom: .75rem; }
.mb-4, [class~="mb-4"] { margin-bottom: 1rem; }
.mb-6, [class~="mb-6"] { margin-bottom: 1.5rem; }
.mb-8, [class~="mb-8"] { margin-bottom: 2rem; }
.mb-10, [class~="mb-10"] { margin-bottom: 2.5rem; }
.gap-6, [class~="gap-6"] { gap: 1.5rem; }
.gap-8, [class~="gap-8"] { gap: 2rem; }
.space-y-4 > * + *, [class~="space-y-4"] > * + * { margin-top: 1rem; }
.space-y-8 > * + *, [class~="space-y-8"] > * + * { margin-top: 2rem; }
.space-x-8 > * + *, [class~="space-x-8"] > * + * { margin-left: 2rem; }
.grid-cols-1, [class~="grid-cols-1"] { grid-template-columns: 1fr; }
.rounded, [class~="rounded"] { border-radius: 6px; }
.rounded-lg, [class~="rounded-lg"] { border-radius: 10px; }
.rounded-xl, [class~="rounded-xl"] { border-radius: 14px; }
.rounded-2xl, [class~="rounded-2xl"] { border-radius: 18px; }
.bg-gray-300, [class~="bg-gray-300"] { background: #d1d5db; }
.bg-teal-100, [class~="bg-teal-100"] { background: #ccfbf1; }
.bg-teal-500, [class~="bg-teal-500"] { background: #14b8a6; }
.border, [class~="border"] { border: 1px solid var(--line); }
.border-4, [class~="border-4"] { border-width: 4px; }
.border-white, [class~="border-white"] { border-color: #fff; }
.border-teal-100, [class~="border-teal-100"] { border-color: #ccfbf1; }
.glass-panel { background: rgba(255,255,255,.78); border: 1px solid rgba(203,213,225,.86); box-shadow: var(--shadow-sm); backdrop-filter: blur(12px); }
.nav-active { color: var(--accent); font-weight: 850; }
.chart-container { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 14px; box-shadow: var(--shadow-sm); }
.pulse-dot { background: var(--accent); border-radius: 999px; box-shadow: 0 0 0 5px var(--accent-soft); }
[class~="sm:px-6"] { padding-left: 1.5rem; padding-right: 1.5rem; }
[class~="lg:px-8"] { padding-left: 2rem; padding-right: 2rem; }
@media(min-width: 1024px) {
  [class~="lg:grid-cols-2"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
  [class~="lg:grid-cols-3"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
  [class~="lg:flex-row"] { flex-direction: row; }
  [class~="lg:w-1/3"] { width: 33.333%; }
  [class~="lg:w-2/3"] { width: 66.667%; }
}
/* Official page snapshot: reduce catastrophic unstyled blocks after inline-style removal. */
.globalnav,
.globalnav-flyout,
.globalnav-submenu,
.globalnav-flyout-content,
.globalnav-submenu-content,
.localnav,
.localnav-menu-link,
.footer-directory,
.footer-directory-column,
.section-content,
.supplement,
.document,
.ribbon,
.ribbon-content,
.account-menu-user-header {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px;
  box-shadow: var(--shadow-sm);
}
.globalnav-link,
.globalnav-submenu-link,
.globalnav-submenu-trigger-link,
.globalnav-searchresults-list-link,
.localnav-menu-link,
.footer-directory-column-section-link,
.footer-breadcrumbs-item,
.footer-mini-legal-link,
.ribbon-link {
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--soft);
}
.globalnav-submenu-list,
.footer-directory-column-section-list,
.no-bullet { list-style: none; padding-left: 0; }
.globalnav-submenu-list-item,
.globalnav-submenu-list-item-elevated,
.footer-directory-column-section-item,
.globalnav-searchresults-list-item,
.localnav-menu-item {
  margin: 4px 0;
}
.syntax-keyword { color: #b91c1c; font-weight: 700; }
.syntax-type, .class_, .function_ { color: #1d4ed8; }
.syntax-string { color: #047857; }
.syntax-comment { color: #6b7280; font-style: italic; }
.syntax-operator, .syntax-built_in, .syntax-title, .syntax-meta, .syntax-subst { color: #7c2d12; }
.large-centered { text-align: center; font-size: clamp(22px,4vw,42px); }
.row { display: flex; flex-wrap: wrap; gap: 12px; }
.column { flex: 1 1 240px; min-width: 0; }
.small-12, .smaller, .large-12, .large-11 { color: var(--muted); font-size: 12px; }
.loc-en-only { color: var(--muted); }
.tab { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--line); }

/* Five-round audit patch R2: remaining meaningful component gaps */
.group { position: relative; }
.overflow-hidden { overflow: hidden; }
.letter {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--accent-soft);
  border: 1px solid rgba(185,28,28,.22);
  color: var(--accent);
  font-weight: 900;
  font-size: 20px;
}
.cover-title { font-size: clamp(32px, 5vw, 62px); line-height: 1.04; letter-spacing: -.055em; margin: 0; color: var(--text); }
.hero-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.grid5 { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; background: rgba(255,255,255,.86); border: 1px solid var(--line); border-radius: 16px; padding: 10px; box-shadow: var(--shadow-sm); }
.mobile-hint { color: var(--muted); font-size: 12px; margin-top: 8px; }
.hero-row { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 18px; align-items: center; }
.viewer-shell { background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 22px; padding: 16px; box-shadow: var(--shadow-md); }
.viewer-stage { position: relative; min-height: 520px; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: linear-gradient(180deg,#fff,#f8fafc); }
.map-canvas { position: relative; min-height: 520px; overflow: auto; padding: 12px; }
.insight-map-svg { display: block; min-width: 960px; width: 100%; height: auto; }
.pulse { display: inline-block; width: 10px; height: 10px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 0 6px var(--accent-soft); }
.viewer-help { background: var(--blue-soft); border: 1px solid #bfdbfe; color: var(--accent-2); border-radius: 12px; padding: 10px; font-size: 12px; }
.below { margin-top: 14px; }
@media(max-width: 980px) {
  .hero-row, .hero-metrics, .grid5 { grid-template-columns: 1fr; }
  .viewer-stage, .map-canvas { min-height: 360px; }
}

/* Five-round audit patch R3: responsive and print refinements */
@media(max-width: 640px) {
  body { line-height: 1.54; }
  .wrap { padding: 10px 8px 26px; }
  .hero, .briefing-band, .diagram, .card, .box, .callout, .risk, .slide, .panel, .theme, .reader-tile, .metric { border-radius: 14px; }
  .hero h1 { font-size: clamp(30px, 10vw, 42px); }
  .btn, .btn.secondary { min-height: 42px; }
  .wwdc-global-dock { justify-content: flex-start; position: sticky; top: 0; }
  .matrix-wrap, .tablewrap, .reader-scroll, .digest-scroll, .source-scroll, .table-wrap { margin-left: -2px; margin-right: -2px; }
  .sync-cell, .script-step { padding: 11px; }
  .profile-links a, .profile-icons span { min-width: 28px; height: 26px; padding: 0 7px; }
}
@media print {
  body { background: #fff; color: #111827; }
  .hero, .card, .box, .callout, .risk, .stat, .diagram, .briefing-band, .slide, .panel, .theme, .paper { box-shadow: none; border-color: #d1d5db; }
  .wwdc-global-dock, .nav, .toplinks, .actions, .hero-actions, .reader-actions, .viz-actions, .floating-tools, .controls, .filterbar { display: none; }
  a { color: #111827; text-decoration: none; }
  .wrap { max-width: none; padding: 0; }
  table, .matrix, .reader-table, .digest-table, .source-table { min-width: 0; }
  .diagram svg { max-height: 720px; }
}

/* Five-round audit patch R4: readability, focus and hierarchy */
::selection { background: rgba(185,28,28,.16); color: var(--text); }
:focus-visible {
  outline: 3px solid rgba(29,78,216,.28);
  outline-offset: 3px;
  border-radius: 8px;
}
main > section + section { scroll-margin-top: 72px; }
.hero .eyebrow, .hero .pills { margin-bottom: 12px; }
.section-title + .diagram, .section-head + .diagram { margin-top: 10px; }
.markdown-body, .essay, .narrative, .reader-digest, .reader-source, .reader-origins { text-wrap: pretty; }
.markdown-body p, .essay p, .narrative p, .reader-digest p, .reader-source p { max-width: 78ch; }
.card h3 + p, .box h3 + p, .theme-card h3 + p, .reader-tile b + p, .sync-cell b + p { margin-top: 6px; }
.card ul, .box ul, .callout ul, .risk ul, .source-card ul { margin: 8px 0 0; padding-left: 1.2rem; }
.card li + li, .box li + li, .callout li + li, .risk li + li { margin-top: 4px; }
.tablewrap caption, .matrix-wrap caption, .reader-scroll caption, .source-scroll caption { color: var(--muted); font-size: 12px; text-align: left; padding: 8px 0; }
th:first-child, td:first-child { border-left: 0; }
.diagram figcaption, figure.diagram > figcaption { color: var(--muted); font-size: 12px; margin-top: 8px; }
.svg-title { letter-spacing: -.01em; }
.svg-small, .svg-muted { font-weight: 500; }
.warning, .caveat, .boundary { background: var(--warn-soft); border: 1px solid #fed7aa; border-left: 5px solid var(--warn); border-radius: 14px; padding: 12px; color: var(--warn); }
.proof, .evidence-box { background: var(--blue-soft); border: 1px solid #bfdbfe; border-left: 5px solid var(--accent-2); border-radius: 14px; padding: 12px; }
.next-step, .action-box { background: var(--green-soft); border: 1px solid #a7f3d0; border-left: 5px solid var(--green); border-radius: 14px; padding: 12px; }
@media(prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto; transition: none; animation: none; }
}

/* Report brief two-column reading layout */
.report-brief { max-width: 1760px; }
.brief-hero .stats { margin-top: 18px; }
.brief-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 22px; align-items: start; margin-top: 26px; }
.brief-rail { position: sticky; top: 72px; display: grid; gap: 14px; align-self: start; }
.rail-card, .rail-note { background: rgba(255,255,255,.94); border: 1px solid var(--line); border-radius: 18px; padding: 16px; box-shadow: var(--shadow-sm); }
.rail-card h2 { margin: 6px 0 8px; font-size: 24px; line-height: 1.12; }
.rail-card p, .rail-note p { margin: 0; color: var(--soft); font-size: 13px; }
.rail-kicker { display: inline-flex; color: var(--accent); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; font-size: 11px; }
.brief-outline { display: grid; gap: 8px; }
.brief-outline a { display: grid; grid-template-columns: 38px 1fr; grid-template-areas: "num title" "num sub"; gap: 2px 10px; align-items: center; background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 14px; padding: 10px; color: var(--text); box-shadow: var(--shadow-sm); }
.brief-outline a:hover { border-color: rgba(185,28,28,.32); box-shadow: var(--shadow-md); text-decoration: none; transform: translateY(-1px); }
.brief-outline span { grid-area: num; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-weight: 900; }
.brief-outline b { grid-area: title; font-size: 14px; }
.brief-outline em { grid-area: sub; font-style: normal; color: var(--muted); font-size: 12px; }
.brief-main { display: grid; gap: 22px; min-width: 0; }
.brief-chapter { scroll-margin-top: 84px; background: rgba(255,255,255,.7); border: 1px solid rgba(203,213,225,.78); border-radius: 22px; padding: 20px; box-shadow: var(--shadow-sm); }
.chapter-lead { border-bottom: 1px solid var(--line-2); padding-bottom: 12px; margin-bottom: 16px; }
.chapter-kicker { display: inline-flex; color: var(--accent); font-weight: 900; letter-spacing: .06em; text-transform: uppercase; font-size: 12px; margin-bottom: 6px; }
.chapter-lead h2 { margin: 0; font-size: clamp(24px, 3vw, 38px); line-height: 1.08; }
.chapter-summary { max-width: 960px; color: var(--soft); margin: 8px 0 0; }
.fact-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.fact-item { background: var(--blue-soft); border: 1px solid #bfdbfe; border-left: 5px solid var(--accent-2); border-radius: 14px; padding: 12px; }
.fact-item b { color: var(--accent-2); display: block; margin-bottom: 4px; }
.fact-item p { margin: 0; color: var(--soft); font-size: 13px; }
.finding-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px; box-shadow: var(--shadow-sm); }
.finding-card h3 { margin-top: 0; }
.chapter-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.chapter-actions a { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 6px 10px; background: #fff; font-size: 12px; font-weight: 780; }
.role-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.role-paths article { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 13px; box-shadow: var(--shadow-sm); }
.role-paths b { color: var(--accent); }
.role-paths p { margin: 5px 0 0; color: var(--soft); font-size: 13px; }
@media(max-width: 1100px) { .brief-layout { grid-template-columns: 1fr; } .brief-rail { position: static; } .brief-outline { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media(max-width: 720px) { .brief-chapter { padding: 14px; border-radius: 16px; } .brief-outline, .fact-strip, .role-paths { grid-template-columns: 1fr; } .brief-outline a { grid-template-columns: 34px 1fr; } }
@media print { .brief-layout { display: block; } .brief-rail { display: none; } .brief-chapter { box-shadow: none; break-inside: avoid; margin-top: 14px; } }

/* Reader-first layered path for report briefs */
.reader-layers { margin-top: 24px; }
.layer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.layer-card { display: block; background: rgba(255,255,255,.94); border: 1px solid var(--line); border-radius: 16px; padding: 15px; box-shadow: var(--shadow-sm); color: var(--text); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.layer-card:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); border-color: rgba(185,28,28,.26); text-decoration: none; }
.layer-time { display: inline-flex; align-items: center; border: 1px solid rgba(185,28,28,.22); background: var(--accent-soft); color: var(--accent); border-radius: 999px; padding: 4px 8px; font-size: 12px; font-weight: 900; margin-bottom: 8px; }
.layer-card b { display: block; font-size: 16px; margin-bottom: 5px; }
.layer-card p { margin: 0; color: var(--soft); font-size: 13px; }
.layer-card em { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; font-style: normal; }
.detail-cue { border: 1px solid #bfdbfe; background: var(--blue-soft); border-radius: 12px; padding: 9px 10px; margin-top: 10px; }
.detail-cue b { display: block; color: var(--accent-2); font-size: 12px; margin-bottom: 3px; }
.detail-cue span { color: var(--soft); font-size: 13px; }
@media(max-width: 1100px) { .layer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media(max-width: 720px) { .layer-grid { grid-template-columns: 1fr; } }

/* Rich architecture rail for report brief */
.brief-layout { grid-template-columns: 300px minmax(0, 1fr); }
.brief-rail { max-height: calc(100vh - 86px); overflow: auto; padding-right: 2px; }
.rail-hero-card h2 { font-size: 22px; }
.rail-architecture { display: grid; gap: 9px; }
.arch-node { display: grid; grid-template-columns: 58px minmax(0,1fr); grid-template-areas: "tag title" "tag body"; gap: 3px 10px; background: linear-gradient(180deg,#fff,#f8fafc); border: 1px solid var(--line); border-radius: 15px; padding: 11px; color: var(--text); box-shadow: var(--shadow-sm); }
.arch-node:hover { border-color: rgba(185,28,28,.28); box-shadow: var(--shadow-md); text-decoration: none; transform: translateY(-1px); }
.arch-node span { grid-area: tag; align-self: start; display: inline-grid; place-items: center; min-height: 32px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); border: 1px solid rgba(185,28,28,.22); font-size: 12px; font-weight: 900; }
.arch-node b { grid-area: title; color: var(--text); font-size: 14px; line-height: 1.25; }
.arch-node p { grid-area: body; margin: 0; color: var(--soft); font-size: 12.5px; line-height: 1.45; }
.rail-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.rail-facts div { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 10px; box-shadow: var(--shadow-sm); }
.rail-facts b { display: block; color: var(--accent); font-size: 22px; line-height: 1; }
.rail-facts span { color: var(--muted); font-size: 11px; }
@media(max-width: 1100px) { .brief-layout { grid-template-columns: 1fr; } .brief-rail { max-height: none; overflow: visible; } .rail-architecture { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 720px) { .rail-architecture, .rail-facts { grid-template-columns: 1fr; } .arch-node { grid-template-columns: 48px minmax(0,1fr); } }

/* Reader-first takeaway cards: conclusion -> impact -> evidence -> drilldown */
.takeaway-section { margin-top: 24px; }
.takeaway-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.takeaway-card { position: relative; background: rgba(255,255,255,.95); border: 1px solid var(--line); border-radius: 18px; padding: 16px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 8px; }
.takeaway-card:hover { border-color: rgba(185,28,28,.28); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.takeaway-no { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 999px; background: var(--accent-soft); color: var(--accent); border: 1px solid rgba(185,28,28,.22); font-weight: 900; font-size: 12px; }
.takeaway-card h3 { margin: 0; font-size: 17px; line-height: 1.25; }
.takeaway-card p { margin: 0; color: var(--soft); font-size: 13px; }
.takeaway-proof { margin-top: auto; background: var(--blue-soft); border: 1px solid #bfdbfe; border-radius: 12px; padding: 8px 9px; color: var(--accent-2); font-size: 12px; font-weight: 720; }
.takeaway-card a { display: inline-flex; margin-top: 2px; font-size: 12px; font-weight: 800; color: var(--accent-2); }
@media(max-width: 1100px) { .takeaway-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 720px) { .takeaway-grid { grid-template-columns: 1fr; } }

/* Calmer publication header for WWDC report brief */
.report-brief .brief-hero { padding-top: 26px; padding-bottom: 24px; }
.report-brief .brief-hero h1 { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.12; letter-spacing: -.035em; max-width: 1120px; }
.report-brief .brief-hero .lead { font-size: clamp(15px, 1.35vw, 18px); line-height: 1.65; max-width: 980px; }
.report-brief .brief-hero .eyebrow { gap: 7px; }
.report-brief .brief-hero .pill { padding: 5px 9px; font-size: 12px; }
.report-brief .brief-hero .actions { margin-top: 14px; }
.report-brief .brief-hero .btn { padding: 8px 12px; font-size: 13px; }
.report-brief .brief-hero .stats { margin-top: 14px; gap: 10px; }
.report-brief .brief-hero .stat { padding: 12px; }
.report-brief .brief-hero .stat b { font-size: 24px; }
.report-brief .brief-hero .stat span { font-size: 12px; }
@media(max-width: 720px) { .report-brief .brief-hero h1 { font-size: clamp(27px, 8vw, 34px); } }

/* Chart.js data visuals for report briefs */
.chart-section { margin-top: 24px; }
.chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.chart-card { background: rgba(255,255,255,.95); border: 1px solid var(--line); border-radius: 18px; padding: 16px; box-shadow: var(--shadow-sm); display: grid; gap: 12px; }
.chart-copy h3 { margin: 8px 0 6px; font-size: 18px; line-height: 1.25; }
.chart-copy p { margin: 0; color: var(--soft); font-size: 13px; }
.chart-canvas { height: 260px; min-height: 240px; }
.chart-canvas canvas { width: 100%; height: 100%; }
.report-brief .brief-hero h1 { font-size: clamp(25px, 2.75vw, 36px); line-height: 1.16; letter-spacing: -.025em; max-width: 980px; }
.report-brief .brief-hero .lead { font-size: clamp(14px, 1.12vw, 16px); line-height: 1.58; max-width: 900px; }
.report-brief .brief-hero .stat b { font-size: 21px; }
@media(max-width: 900px) { .chart-grid { grid-template-columns: 1fr; } }
@media(max-width: 720px) { .report-brief .brief-hero h1 { font-size: clamp(24px, 7vw, 30px); } .chart-canvas { height: 220px; } }

/* Evidence word cloud and claim-type map */
.evidence-cloud-section { margin-top: 24px; }
.evidence-cloud-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 14px; }
.claim-type-map, .word-cloud-card { background: rgba(255,255,255,.95); border: 1px solid var(--line); border-radius: 18px; padding: 16px; box-shadow: var(--shadow-sm); }
.claim-type-map h3, .word-cloud-card h3 { margin: 8px 0 12px; font-size: 18px; line-height: 1.28; }
.claim-type-cloud { min-height: 202px; display: flex; flex-wrap: wrap; align-content: center; gap: 10px; padding: 14px; border-radius: 16px; background: linear-gradient(135deg, var(--bg-soft), #fff); border: 1px solid var(--line-2); }
.claim-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--text); box-shadow: var(--shadow-sm); font-weight: 820; line-height: 1.15; }
.claim-chip b { color: var(--accent); }
.claim-xl { font-size: 18px; padding: 12px 15px; }
.claim-lg { font-size: 15px; padding: 10px 13px; }
.claim-md { font-size: 13px; padding: 8px 11px; }
.word-cloud { min-height: 202px; display: flex; flex-wrap: wrap; align-content: center; justify-content: center; gap: 8px 14px; padding: 14px; border-radius: 16px; background: radial-gradient(circle at 40% 35%, rgba(37,99,235,.12), transparent 42%), linear-gradient(135deg, #fff, var(--bg-soft)); border: 1px solid var(--line-2); }
.word-cloud span { display: inline-flex; align-items: center; font-weight: 900; letter-spacing: -.035em; color: var(--accent-2); line-height: 1; }
.word-cloud .w10 { font-size: clamp(38px, 5.3vw, 66px); color: var(--accent); }
.word-cloud .w9 { font-size: clamp(32px, 4.5vw, 54px); }
.word-cloud .w8 { font-size: clamp(26px, 3.7vw, 44px); color: var(--text); }
.word-cloud .w7 { font-size: clamp(21px, 3vw, 34px); color: var(--soft); }
.cloud-note { margin: 10px 0 0; color: var(--muted); font-size: 12px; }
@media(max-width: 900px) { .evidence-cloud-grid { grid-template-columns: 1fr; } }

/* D3-generated report visuals */
.d3-viz svg { width: 100%; height: auto; display: block; }
.d3-viz.is-d3-rendered { overflow: hidden; }
.d3-claim-map text, .d3-word-cloud text { paint-order: stroke; stroke: rgba(255,255,255,.72); stroke-width: 3px; stroke-linejoin: round; }
.d3-word-cloud { min-height: 220px; }

/* D3 topic relationship map */
.topic-map-viz svg { width: 100%; height: auto; display: block; }
.d3-topic-map text { paint-order: stroke; stroke: rgba(255,255,255,.75); stroke-width: 3px; stroke-linejoin: round; }

/* D3 pastel complex architecture map */
.architecture-map-viz svg { width: 100%; height: auto; display: block; }
.d3-architecture-map text { paint-order: stroke; stroke: rgba(255,255,255,.78); stroke-width: 3px; stroke-linejoin: round; }
.d3-architecture-map .arch-links path { mix-blend-mode: multiply; }

.drawio-viewer-body { margin: 0; background: #fff; }
.drawio-viewer-main { width: 100%; min-height: 100vh; margin: 0; padding: 0; background: #fff; }
.drawio-iframe-full { min-height: 100vh; height: 100vh; border-radius: 0; }
@media (max-width: 760px) {
  .drawio-iframe { height: 72vh; min-height: 520px; }
  .drawio-iframe-full { height: 100vh; min-height: 100vh; }
}

.drawio-official-viewer { width: 100%; height: 100vh; min-height: 100vh; background: #fff; overflow: hidden; }
@media (max-width: 760px) {
  .drawio-official-viewer { min-height: 620px; height: 100vh; }
}

.mxgraph { width: 100%; min-height: 100%; }

/* Collapsible rail for large Draw.io maps */
.brief-rail-toggle { position: absolute; opacity: 0; pointer-events: none; }
.rail-toggle-label { display: inline-flex; align-items: center; justify-content: center; width: 100%; border: 1px solid rgba(185,28,28,.24); background: var(--accent-soft); color: var(--accent); border-radius: 999px; padding: 8px 10px; font-weight: 900; cursor: pointer; user-select: none; }
.rail-toggle-label::after { content: "收起"; }
.brief-layout:has(.brief-rail-toggle:checked) { grid-template-columns: 82px minmax(0,1fr); }
.brief-layout:has(.brief-rail-toggle:checked) .rail-toggle-label::after { content: "展开"; }
.brief-layout:has(.brief-rail-toggle:checked) .rail-card,
.brief-layout:has(.brief-rail-toggle:checked) .rail-note,
.brief-layout:has(.brief-rail-toggle:checked) .rail-facts { display: none; }
.brief-layout:has(.brief-rail-toggle:checked) .brief-rail { gap: 10px; }
.brief-layout:has(.brief-rail-toggle:checked) .arch-node,
.brief-layout:has(.brief-rail-toggle:checked) .brief-outline a { display: grid; grid-template-columns: 1fr; place-items: center; min-height: 54px; padding: 8px 4px; border-radius: 18px; }
.brief-layout:has(.brief-rail-toggle:checked) .arch-node span { grid-area: auto; min-width: 42px; min-height: 42px; font-size: 13px; }
.brief-layout:has(.brief-rail-toggle:checked) .arch-node b,
.brief-layout:has(.brief-rail-toggle:checked) .arch-node p,
.brief-layout:has(.brief-rail-toggle:checked) .brief-outline a span,
.brief-layout:has(.brief-rail-toggle:checked) .brief-outline a b,
.brief-layout:has(.brief-rail-toggle:checked) .brief-outline a em { display: none; }
.brief-layout:has(.brief-rail-toggle:checked) .brief-outline a::after { content: attr(data-short); display: grid; place-items: center; width: 48px; height: 42px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); border: 1px solid rgba(185,28,28,.22); font-size: 13px; font-weight: 900; }
@media(max-width: 1100px) { .brief-rail-toggle, .rail-toggle-label { display: none; } .brief-layout:has(.brief-rail-toggle:checked), .brief-layout { grid-template-columns: 1fr; } }
@media(max-width: 720px) { .report-brief { max-width: 100%; } .drawio-iframe { height: 70vh; min-height: 500px; } }


/* Draw.io viewer maximization */
.drawio-diagram { padding: 10px; }
.drawio-diagram h3 { margin: 0 0 8px; }
.drawio-diagram figcaption { margin-top: 6px; }
.brief-layout:has(.brief-rail-toggle:checked) .drawio-diagram .drawio-iframe { height: clamp(820px, 90vh, 1280px); }
.drawio-viewer-main.diagram { margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: #fff; }
.drawio-viewer-body .mxgraph { width: 100%; min-height: 100vh; }
@media(max-width: 720px) {
  .drawio-diagram { padding: 6px; }
  .drawio-diagram .drawio-iframe { height: 76vh; min-height: 560px; }
}

/* Architecture diagram responsive fit audit */
.diagram { overflow: hidden; }
.diagram > svg, .diagram .d3-viz svg, .native-infographic svg { max-width: 100%; height: auto; }
.d3-viz, .topic-map-viz, .claim-type-map, .word-cloud-card { min-width: 0; }
.topic-map-viz, .architecture-map-viz { width: 100%; overflow: hidden; }
.topic-map-viz svg, .architecture-map-viz svg { max-height: min(76vh, 900px); }
.native-infographic { padding: clamp(10px, 1.2vw, 16px); overflow: hidden; }
.native-infographic .viz-layout { grid-template-columns: minmax(0, 1fr) minmax(150px, 16vw); gap: clamp(10px, 1.1vw, 16px); }
.native-infographic .viz-sidebar { position: sticky; top: 72px; max-height: calc(100vh - 88px); overflow: auto; }
.native-infographic .viz-title { font-size: clamp(24px, 3.6vw, 44px); }
.native-infographic .viz-section { margin-top: clamp(12px, 1.5vw, 20px); }
.native-infographic .viz-card { min-width: 0; }
.native-infographic .viz-flow { overflow-x: auto; padding-bottom: 2px; }
.report-brief .diagram.drawio-diagram { margin-left: -6px; margin-right: -6px; }
.report-brief .brief-chapter:has(.drawio-diagram) { padding: clamp(12px, 1.2vw, 18px); }
@media(min-width: 1500px) {
  .brief-layout { grid-template-columns: 280px minmax(0, 1fr); }
  .drawio-iframe { height: clamp(820px, 88vh, 1320px); }
  .native-infographic .viz-layout { grid-template-columns: minmax(0, 1fr) 180px; }
}
@media(max-width: 1100px) {
  .native-infographic .viz-layout { grid-template-columns: 1fr; }
  .native-infographic .viz-sidebar { position: static; max-height: none; overflow: visible; }
  .topic-map-viz svg, .architecture-map-viz svg { max-height: none; }
}
@media(max-width: 760px) {
  .diagram { padding: 10px; }
  .diagram > svg, .diagram .d3-viz svg { min-width: 720px; }
  .diagram:has(> svg), .diagram:has(.d3-viz) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .native-infographic { padding: 10px; }
  .native-infographic .viz-flow { grid-template-columns: repeat(7, minmax(150px, 1fr)); }
  .native-infographic .viz-grid4, .native-infographic .viz-grid5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 520px) {
  .native-infographic .viz-grid4, .native-infographic .viz-grid5, .native-infographic .viz-grid3 { grid-template-columns: 1fr; }
  .drawio-iframe { height: 78vh; min-height: 560px; }
}


/* Report v3 image-led synthesis layout */
.report-v3 { max-width: 1840px; }
.synthesis-shell { display: grid; grid-template-columns: 244px minmax(0,1fr); gap: 28px; align-items: start; }
.synthesis-main { min-width: 0; display: grid; gap: 22px; }
.synthesis-side { position: sticky; top: 74px; min-height: calc(100vh - 92px); display: flex; flex-direction: column; gap: 18px; padding: 18px 14px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.86); box-shadow: var(--shadow-sm); }
.synthesis-side-brand { display: grid; gap: 4px; padding: 8px 8px 14px; border-bottom: 1px solid var(--line-2); }
.synthesis-side-brand b { color: var(--text); font-size: 16px; letter-spacing: -.02em; }
.synthesis-side-brand span { color: var(--soft); font-size: 13px; }
.synthesis-side-brand em { justify-self: start; font-style: normal; background: var(--accent-soft); color: var(--accent); border: 1px solid rgba(185,28,28,.22); border-radius: 999px; padding: 3px 8px; font-size: 12px; font-weight: 900; }
.synthesis-side-nav { display: grid; gap: 8px; }
.synthesis-side-nav a { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid transparent; border-radius: 15px; color: var(--text); }
.synthesis-side-nav a:hover { background: var(--blue-soft); border-color: #bfdbfe; text-decoration: none; transform: translateY(-1px); }
.synthesis-side-nav span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: #fff; border: 1px solid var(--line); color: var(--accent-2); font-weight: 900; }
.synthesis-side-nav b { font-size: 14px; }
.synthesis-side-card { margin-top: auto; background: linear-gradient(180deg,#fff,#f8fafc); border: 1px solid var(--line); border-radius: 18px; padding: 14px; }
.synthesis-side-card b { display: block; color: var(--text); margin-bottom: 6px; }
.synthesis-side-card p { color: var(--soft); font-size: 13px; margin: 0 0 10px; line-height: 1.55; }
.synthesis-side-card span { display: inline-flex; color: var(--accent-2); background: var(--blue-soft); border: 1px solid #bfdbfe; border-radius: 999px; padding: 4px 8px; font-size: 12px; font-weight: 900; }
.synthesis-hero { position: relative; overflow: hidden; padding-right: clamp(24px, 16vw, 260px); }
.synthesis-hero-mark { position: absolute; right: clamp(22px, 4vw, 72px); top: 16px; font-size: clamp(92px, 12vw, 190px); line-height: .8; font-weight: 900; letter-spacing: -.08em; color: rgba(37,99,235,.08); text-shadow: 0 18px 48px rgba(37,99,235,.12); pointer-events: none; }
.synthesis-scan-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-top: 18px; }
.synthesis-scan-grid article { background: rgba(255,255,255,.94); border: 1px solid var(--line); border-radius: 18px; padding: 16px; box-shadow: var(--shadow-sm); }
.synthesis-scan-grid span { display: block; color: var(--accent-2); font-size: 12px; font-weight: 900; margin-bottom: 8px; }
.synthesis-scan-grid b { display: block; color: var(--text); font-size: 20px; letter-spacing: -.03em; margin-bottom: 5px; }
.synthesis-scan-grid p { color: var(--soft); margin: 0; font-size: 13px; line-height: 1.55; }
.report-v3 .brief-chapter { padding: clamp(18px, 1.6vw, 28px); border-radius: 26px; }
.report-v3 .chapter-lead h2 { font-size: clamp(26px, 2.6vw, 42px); letter-spacing: -.04em; }
.report-v3 .chapter-summary, .report-v3 p { line-height: 1.68; }
.report-v3 .takeaway-card, .report-v3 .finding-card, .report-v3 .card { border-color: rgba(203,213,225,.84); }
@media(max-width: 1180px) { .synthesis-shell { grid-template-columns: 1fr; } .synthesis-side { position: static; min-height: 0; } .synthesis-side-nav { grid-template-columns: repeat(3,minmax(0,1fr)); } .synthesis-side-card { display: none; } .synthesis-hero { padding-right: 24px; } .synthesis-hero-mark { opacity: .55; } }
@media(max-width: 760px) { .synthesis-side-nav { grid-template-columns: repeat(2,minmax(0,1fr)); } .synthesis-scan-grid { grid-template-columns: 1fr; } .synthesis-side { padding: 12px; border-radius: 18px; } .synthesis-hero-mark { display: none; } }
@media print { .synthesis-side { display: none; } .synthesis-shell { display: block; } }


/* D3 ranked evidence visuals */
.d3-word-rank text, .d3-claim-map text { paint-order: stroke; stroke: rgba(255,255,255,.78); stroke-width: 3px; stroke-linejoin: round; }
.claim-type-cloud.is-d3-rendered, .word-cloud.is-d3-rendered { min-height: 250px; align-content: stretch; justify-content: stretch; }
.claim-type-cloud.is-d3-rendered svg, .word-cloud.is-d3-rendered svg { width: 100%; height: auto; display: block; }
@media(max-width: 640px) { .claim-type-cloud.is-d3-rendered, .word-cloud.is-d3-rendered { overflow-x: auto; } .claim-type-cloud.is-d3-rendered svg, .word-cloud.is-d3-rendered svg { min-width: 620px; } }

.d3-word-groups text { paint-order: stroke; stroke: rgba(255,255,255,.82); stroke-width: 3px; stroke-linejoin: round; }
.word-cloud.is-d3-rendered.d3-viz { min-height: 520px; }
@media(max-width: 640px) { .word-cloud.is-d3-rendered svg.d3-word-groups { min-width: 720px; } }


/* Session readout cards: key sentence first */
.session-readout-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.session-readout-card { background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 22px; padding: 20px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 11px; }
.session-readout-card h3 { margin: 2px 0 0; font-size: clamp(20px, 1.7vw, 27px); line-height: 1.22; letter-spacing: -.035em; color: var(--text); }
.session-readout-card p { margin: 0; color: var(--soft); line-height: 1.64; }
.session-readout-card .evidence-line { color: var(--muted); font-size: 13px; border-top: 1px solid var(--line-2); padding-top: 10px; }
.keyword-row { display: flex; flex-wrap: wrap; gap: 7px; }
.keyword-row span { display: inline-flex; align-items: center; border: 1px solid #bfdbfe; border-radius: 999px; background: var(--blue-soft); color: var(--accent-2); padding: 4px 8px; font-size: 12px; font-weight: 900; line-height: 1.1; }
@media(max-width: 1180px) { .session-readout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 720px) { .session-readout-grid { grid-template-columns: 1fr; } .session-readout-card { padding: 16px; } }

.session-readout-card mark, .callout mark { background: transparent; color: var(--accent); font-weight: 950; padding: 0 .02em; border-radius: 0; text-decoration: none; }
.session-detail { border: 1px solid var(--line-2); border-radius: 16px; padding: 11px 12px; background: #fff; }
.session-detail b { display: block; color: var(--accent-2); font-size: 12px; letter-spacing: .02em; margin-bottom: 5px; }
.session-detail.key { background: linear-gradient(135deg, #fff, var(--bg-soft)); border-color: #bfdbfe; }
.session-detail.key b { color: var(--accent); }


/* Transcript × insight two-column lab */
.video-stage { display: grid; gap: 12px; margin: 22px 0; }
.video-frame-wrap { border: 1px solid var(--line); border-radius: 24px; overflow: hidden; background: #000; box-shadow: var(--shadow-sm); }
.session-video-frame { width: 100%; aspect-ratio: 16 / 9; min-height: 360px; border: 0; display: block; background: #000; }
.video-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--soft); font-size: 14px; }
.video-meta b { color: var(--text); }
.video-meta span { color: var(--accent); font-weight: 950; }
.transcript-lab { display: grid; grid-template-columns: minmax(320px, .88fr) minmax(0, 1.12fr); gap: 22px; align-items: start; }
.transcript-pane, .analysis-pane { border: 1px solid var(--line); border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-sm); padding: 18px; }
.transcript-pane { position: sticky; top: 74px; max-height: calc(100vh - 96px); overflow: auto; }
.pane-head h2 { margin: 8px 0 6px; font-size: 26px; letter-spacing: -.035em; }
.pane-head p { margin: 0 0 14px; color: var(--soft); line-height: 1.62; }
.transcript-list { display: grid; gap: 8px; }
.transcript-row { border: 1px solid var(--line-2); background: #fff; border-radius: 16px; padding: 10px 12px; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 10px; align-items: start; color: var(--text); }
.transcript-row:hover, .transcript-row.is-active { border-color: rgba(185,28,28,.42); background: #fff5f5; }
.tc-link { display: inline-flex; align-items: center; gap: 3px; color: var(--accent); font-weight: 950; font-variant-numeric: tabular-nums; text-decoration: none; }
.tc-link:hover { text-decoration: underline; }
.jump-mark { font-size: 11px; opacity: .78; }
.transcript-line { width: 100%; border: 0; background: transparent; padding: 0; text-align: left; cursor: pointer; color: var(--text); }
.transcript-line .txt { line-height: 1.45; }
.analysis-pane { display: grid; gap: 14px; }
.analysis-card { border: 1px solid var(--line); border-radius: 22px; padding: 18px; background: #fff; }
.analysis-card h3 { margin: 0 0 10px; font-size: clamp(20px, 1.8vw, 30px); line-height: 1.24; letter-spacing: -.035em; }
.analysis-card p { margin: 0; color: var(--soft); line-height: 1.68; }
.analysis-card.summary { background: linear-gradient(135deg, #fff, var(--bg-soft)); border-color: rgba(185,28,28,.28); }
.quote-refs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.quote-ref { border: 1px solid rgba(185,28,28,.24); border-radius: 999px; background: var(--accent-soft); color: var(--accent); padding: 6px 10px; font-weight: 950; cursor: pointer; }
.quote-ref:hover, .quote-ref.is-active { background: var(--accent); color: #fff; }
@media(max-width: 1000px) { .transcript-lab { grid-template-columns: 1fr; } .transcript-pane { position: static; max-height: none; } }
@media(max-width: 640px) { .session-video-frame { min-height: 240px; } .transcript-row { grid-template-columns: 54px minmax(0,1fr); } }

.detail-link { display: inline-flex; align-self: flex-start; color: var(--accent); font-weight: 950; font-size: 13px; margin-top: 2px; }
.detail-link:hover { text-decoration: underline; }

.session-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: auto; }
.primary-session-link { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(185,28,28,.28); border-radius: 999px; background: var(--accent-soft); color: var(--accent); padding: 8px 12px; font-size: 13px; font-weight: 950; }
.primary-session-link:hover { background: var(--accent); color: #fff; text-decoration: none; }

.video-launch-panel { border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(135deg, #fff, var(--bg-soft)); box-shadow: var(--shadow-sm); padding: clamp(20px, 2.4vw, 34px); }
.video-launch-panel h2 { margin: 10px 0 8px; font-size: clamp(26px, 3vw, 46px); line-height: 1.12; letter-spacing: -.045em; color: var(--text); }
.video-launch-panel p { max-width: 920px; color: var(--soft); line-height: 1.68; margin: 0; }
.video-launch-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.video-meta em { font-style: normal; color: var(--muted); font-weight: 850; }
.video-launch-stage { display: grid; gap: 12px; margin: 22px 0; }
.tc { font-variant-numeric: tabular-nums; }


.session-workbench-page { height: 100vh; overflow: hidden; background: var(--bg); }
.session-workbench-page .wwdc-global-dock { z-index: 20; }
.session-workbench-shell { height: 100vh; max-width: none; margin: 0; padding: 12px 16px 16px; display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 10px; overflow: hidden; box-sizing: border-box; }
.session-workbench-topbar { margin: 0; min-height: 44px; }
.session-workbench-toolbar { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .44fr); gap: 12px; align-items: stretch; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-sm); padding: 14px; }
.session-workbench-title h1 { margin: 8px 0 6px; font-size: clamp(24px, 2.6vw, 42px); line-height: 1.08; letter-spacing: -.045em; }
.session-workbench-title p { margin: 0; max-width: 960px; color: var(--soft); line-height: 1.58; }
.session-workbench-video { display: flex; flex-direction: column; justify-content: center; gap: 10px; border-left: 1px solid var(--line-2); padding-left: 14px; }
.session-workbench-video .video-meta { margin: 0; }
.session-workbench-video .video-launch-actions { margin: 0; }
.session-workbench-shell .transcript-lab { min-height: 0; height: 100%; overflow: hidden; grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr); gap: 12px; }
.session-workbench-shell .transcript-pane, .session-workbench-shell .analysis-pane { min-height: 0; height: 100%; max-height: none; overflow: auto; position: static; border-radius: 22px; padding: 14px; }
.session-workbench-shell .pane-head { position: sticky; top: 0; z-index: 2; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line-2); margin: -14px -14px 12px; padding: 14px; }
.session-workbench-shell .pane-head h2 { margin: 6px 0 4px; font-size: 22px; }
.session-workbench-shell .pane-head p { font-size: 13px; line-height: 1.5; margin-bottom: 0; }
.session-workbench-shell .analysis-card { padding: 16px; border-radius: 18px; }
.session-workbench-shell .analysis-card h3 { font-size: clamp(18px, 1.45vw, 25px); }
.session-workbench-shell .transcript-row { border-radius: 13px; padding: 9px 10px; }
@media(max-width: 1080px) { .session-workbench-page { overflow: auto; height: auto; } .session-workbench-shell { height: auto; min-height: 100vh; overflow: visible; } .session-workbench-toolbar { grid-template-columns: 1fr; } .session-workbench-video { border-left: 0; border-top: 1px solid var(--line-2); padding: 12px 0 0; } .session-workbench-shell .transcript-lab { height: auto; grid-template-columns: 1fr; overflow: visible; } .session-workbench-shell .transcript-pane, .session-workbench-shell .analysis-pane { height: auto; overflow: visible; } }


.session-ide-page { height: 100vh; overflow: hidden; background: #f3f4f6; color: var(--text); }

/* === Session IDE Shell Layout === */
.session-ide-shell { height: 100vh; display: grid; grid-template-rows: 42px minmax(0,1fr) 20px; grid-template-columns: 186px minmax(0,1fr) 220px; grid-template-areas: "top top top" "left center right" "status status status"; gap: 7px; padding: 7px; box-sizing: border-box; overflow: hidden; }
.session-ide-top { grid-area: top; display: grid; grid-template-columns: 230px minmax(0,1fr) 230px; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.96); padding: 4px 8px; box-shadow: var(--shadow-sm); }
.session-ide-brand { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ide-logo { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--accent-soft); color: var(--accent); font-weight: 950; }
.session-ide-brand b { display: block; font-size: 14px; letter-spacing: -.02em; line-height: 1.05; }
.session-ide-brand small { display: block; color: var(--soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; line-height: 1.05; }
.session-ide-tabs { display: flex; flex-wrap: nowrap; gap: 6px; min-width: 0; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.session-ide-tabs::-webkit-scrollbar { display: none; }
.session-ide-tabs a { color: var(--soft); font-size: 12px; font-weight: 850; border: 1px solid var(--line-2); border-radius: 999px; padding: 4px 8px; background: #fff; white-space: nowrap; }
.session-ide-tabs a:hover { color: var(--accent); border-color: rgba(185,28,28,.26); text-decoration: none; }
.session-ide-video { justify-self: end; display: flex; align-items: center; gap: 7px; color: var(--soft); font-size: 12px; white-space: nowrap; }
.session-ide-video b { color: var(--accent); font-weight: 950; }
.session-ide-video em { font-style: normal; color: var(--muted); margin-left: 3px; }
.ide-primary { border-radius: 999px; padding: 6px 10px; background: var(--accent); color: #fff; font-weight: 950; font-size: 12px; }
.ide-primary:hover { color: #fff; text-decoration: none; filter: brightness(.96); }
.session-ide-left { grid-area: left; min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.96); padding: 9px; display: flex; flex-direction: column; gap: 8px; }
.session-ide-right { grid-area: right; min-height: 0; overflow: auto; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.96); padding: 9px; display: flex; flex-direction: column; gap: 8px; }
.session-ide-status { grid-area: status; display: flex; align-items: center; gap: 14px; padding: 0 9px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--soft); font-size: 11px; font-weight: 800; overflow: hidden; white-space: nowrap; }
.session-ide-status span:first-child { color: var(--accent); }

/* === Session IDE Center Grid (Desktop >860px) === */
.session-ide-center { grid-area: center; min-width: 0; min-height: 0; overflow: hidden; display: grid; grid-template-columns: minmax(280px,1.05fr) minmax(240px,.95fr); grid-template-rows: 36px minmax(237px,.37fr) minmax(210px,.32fr) minmax(160px,.31fr); grid-template-areas: "identity identity" "video analysis" "sections analysis" "transcript analysis"; gap: 8px; }
.session-ide-split { display: contents; }
.session-video-stage { grid-area: video; min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.97); padding: 6px 8px; box-shadow: var(--shadow-sm); display: grid; grid-template-rows: 30px minmax(0,1fr) 14px; gap: 4px; }
.transcript-pane { grid-area: transcript; }
.analysis-pane { grid-area: analysis; }
.session-identity-strip { grid-area: identity; }
.script-sections-pane { grid-area: sections; }
.mobile-session-pane-tabs { display: none; }  /* hidden on desktop */

/* Session video stage */
.session-video-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 28px; overflow: hidden; }
.session-video-head h2 { margin: 0; font-size: 16px; letter-spacing: -.03em; white-space: nowrap; }
.session-video-head p { display: none; }
.session-video-head > div:first-child { display: flex; align-items: center; gap: 9px; min-width: 0; }
.session-video-head > div:first-child .label { flex: 0 0 auto; }
.session-video-head .hls-seek-row { flex: 0 0 auto; justify-content: flex-end; }
.session-hls-video { width: 100%; aspect-ratio: 16 / 9; border: 1px solid var(--line-2); border-radius: 14px; background: #0f172a; display: block; }
.session-video-stage .session-hls-video { height: 100%; min-height: 0; object-fit: contain; border-radius: 12px; background: #0f172a; }
.session-video-stage .hls-status { margin: 0; font-size: 11px; color: var(--soft); line-height: 1.25; }
.hls-seek-row { display: flex; flex-wrap: wrap; gap: 6px; }
.hls-seek-row button { border: 1px solid rgba(185,28,28,.22); background: rgba(254,242,242,.88); color: var(--accent); border-radius: 999px; padding: 4px 8px; font-size: 11px; font-weight: 900; cursor: pointer; }
.hls-seek-row button:hover { background: #fff; border-color: rgba(185,28,28,.42); }

/* Mode toggles (balanced/video/read) */
.session-mode-toggle { display: inline-flex; gap: 3px; border: 1px solid var(--line-2); border-radius: 999px; padding: 2px; }
.session-mode-toggle button { border: 0; border-radius: 999px; background: transparent; color: var(--soft); font-size: 11px; font-weight: 900; padding: 4px 7px; line-height: 1; }
.session-mode-toggle button.is-active { background: var(--accent); color: #fff; }
.session-ide-page[data-workbench-mode="video"] .session-ide-shell { grid-template-columns: minmax(0,1fr); grid-template-areas: "top" "center" "status"; }
.session-ide-page[data-workbench-mode="video"] .session-ide-left, .session-ide-page[data-workbench-mode="video"] .session-ide-right { display: none; }
.session-ide-page[data-workbench-mode="video"] .session-ide-center { grid-template-columns: 1.15fr .85fr; grid-template-rows: minmax(420px,.72fr) minmax(160px,.28fr); }
.session-ide-page[data-workbench-mode="read"] .session-ide-center { grid-template-columns: .9fr 1.1fr; grid-template-rows: minmax(210px,.36fr) minmax(360px,.64fr); }
.session-ide-page[data-workbench-mode="read"] .hls-seek-row { display: none; }
.session-ide-page[data-workbench-mode="read"] .session-video-stage { grid-template-rows: 28px minmax(0,1fr) 13px; }

/* Identity strip */
.session-identity-strip { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 26px; border: 1px solid var(--line-2); border-radius: 12px; background: linear-gradient(90deg,rgba(255,255,255,.98),rgba(248,250,252,.9)); padding: 4px 8px; box-shadow: var(--shadow-sm); overflow: hidden; }
.session-identity-strip .label { flex: 0 0 auto; font-size: 10px; padding: 2px 7px; line-height: 1; }
.session-identity-strip b { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; letter-spacing: -.02em; color: var(--ink); }
.session-identity-strip small { flex: 0 0 auto; color: var(--muted); font-size: 11px; font-weight: 800; white-space: nowrap; }
.session-identity-sep { flex: 0 0 auto; color: var(--muted); font-weight: 900; opacity: .75; }
.session-identity-title { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 16px; line-height: 1.1; font-weight: 950; letter-spacing: -.025em; color: var(--ink); }
.session-identity-meta { flex: 0 0 auto; max-width: 42vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 850; color: var(--muted); }

/* Script sections pane */
.script-sections-pane { min-height: 0; overflow: auto; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.97); box-shadow: var(--shadow-sm); padding: 8px 10px; }
.script-section-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.script-section-card { border: 1px solid rgba(203,213,225,.92); border-radius: 14px; background: rgba(255,255,255,.98); padding: 10px; box-shadow: none; }
.script-section-card h3 { margin: 3px 0 6px; font-size: 14px; line-height: 1.25; }
.script-section-card p { font-size: 12.5px; line-height: 1.48; margin: 0 0 7px; color: var(--ink); }
.script-section-card small { display: block; color: var(--muted); font-size: 11px; margin-top: 5px; }
.script-section-head { display: flex; gap: 8px; align-items: flex-start; justify-content: space-between; }
.tc-link { border: 1px solid var(--line-2); border-radius: 999px; background: #fff; color: var(--accent); font-weight: 900; font-size: 11px; padding: 4px 7px; white-space: nowrap; }
.session-video-stage h1 { font-size: 19px; line-height: 1.15; margin: 2px 0 4px; color: var(--ink); }

/* Analysis pane */
.analysis-card { border-radius: 14px; }
.ide-scroll-pane { min-height: 0; height: 100%; overflow: auto; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.97); padding: 10px; box-shadow: var(--shadow-sm); }
.ide-scroll-pane .pane-head { position: sticky; top: 0; z-index: 3; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line-2); margin: -10px -10px 8px; padding: 7px 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ide-scroll-pane .pane-head h2 { margin: 0; font-size: 16px; letter-spacing: -.03em; white-space: nowrap; }
.ide-scroll-pane .pane-head p { display: none; }
.session-ide-split .analysis-card { border-radius: 16px; padding: 12px; }
.session-ide-split .analysis-card h3 { font-size: clamp(16px,1.2vw,21px); }

/* Side panels */
.ide-panel-title { display: flex; align-items: center; gap: 6px; color: var(--text); font-size: 13px; font-weight: 950; padding-bottom: 6px; border-bottom: 1px solid var(--line-2); }
.ide-panel-title span { display: inline-grid; place-items: center; min-width: 34px; height: 18px; border-radius: 999px; background: rgba(185,28,28,.08); color: var(--accent); font-size: 9px; font-weight: 950; letter-spacing: .08em; }
.ide-nav-item { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 7px; align-items: center; border: 1px solid transparent; border-radius: 13px; padding: 7px; color: var(--text); }
.ide-nav-item:hover, .ide-nav-item.is-current { background: var(--accent-soft); border-color: rgba(185,28,28,.18); text-decoration: none; }
.ide-nav-item span { grid-row: span 2; font-size: 16px; }
.ide-nav-item b { font-size: 12px; line-height: 1.05; }
.ide-nav-item small { color: var(--soft); font-size: 11px; }
.ide-mini-map { margin-top: auto; border: 1px solid var(--line-2); border-radius: 13px; padding: 8px; background: #fafafa; }
.ide-mini-map b { color: var(--accent); font-size: 13px; }
.ide-mini-map ol { margin: 6px 0 0 16px; padding: 0; color: var(--soft); font-size: 11px; line-height: 1.42; }
.ide-help-card { border: 1px solid var(--line-2); border-radius: 15px; padding: 11px; background: #fff; }
.ide-help-card span { display: block; color: var(--accent); font-size: 12px; font-weight: 950; margin-bottom: 6px; }
.ide-help-card p { margin: 0; color: var(--soft); line-height: 1.55; font-size: 13px; }

/* Keyframe card */
.keyframe-card { overflow: hidden; }
.keyframe-figure { margin: 0; border: 1px solid var(--line-2); border-radius: 14px; background: #f8fafc; overflow: hidden; }
.keyframe-figure img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: linear-gradient(135deg, #f8fafc, #e5e7eb); }
.keyframe-figure figcaption { padding: 8px 9px; color: var(--soft); font-size: 12px; line-height: 1.45; }

/* Session toolbar */
.session-toolbar { display: grid; grid-template-columns: minmax(160px,1fr) minmax(180px,42%); align-items: center; gap: 8px; min-height: 30px; overflow: hidden; border-radius: 12px; background: linear-gradient(90deg,rgba(255,255,255,.94),rgba(248,250,252,.86)); padding: 2px 4px 2px 6px; }
.session-toolbar-title { display: flex; align-items: center; gap: 7px; min-width: 0; overflow: hidden; }
.session-toolbar-title .label { flex: 0 0 auto; font-size: 10px; padding: 3px 7px; line-height: 1; }
.session-toolbar-title h1, .session-toolbar-title h2 { min-width: 0; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; letter-spacing: -.02em; }
.video-evidence-toolbar .session-toolbar-title h1 { font-size: 17px; line-height: 1.08; }
.script-seek-toolbar .session-toolbar-title h2 { font-size: 14px; line-height: 1.08; }
.session-toolbar .hls-seek-row { position: relative; min-width: 0; max-width: 100%; display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 5px; overflow-x: auto; overflow-y: hidden; padding: 2px 2px 3px 28px; scrollbar-width: thin; mask-image: linear-gradient(90deg,transparent 0,#000 20px,#000 calc(100% - 16px),transparent 100%); }
.session-toolbar .hls-seek-row:before { position: absolute; left: 2px; top: 50%; transform: translateY(-50%); font-size: 10px; font-weight: 950; letter-spacing: .02em; color: var(--muted); background: rgba(255,255,255,.96); border: 1px solid var(--line-2); border-radius: 999px; padding: 1px 5px; z-index: 2; }
.video-evidence-toolbar .hls-seek-row:before { content: "视频"; }
.script-seek-toolbar .hls-seek-row:before { content: "分段"; }
.session-toolbar .hls-seek-row button { flex: 0 0 auto; padding: 3px 7px; font-size: 10.5px; line-height: 1.1; border-radius: 999px; }
.session-toolbar .hls-seek-row::-webkit-scrollbar { height: 4px; }
.session-toolbar .hls-seek-row::-webkit-scrollbar-thumb { background: rgba(185,28,28,.22); border-radius: 999px; }
.session-toolbar .hls-seek-row::-webkit-scrollbar-track { background: transparent; }
.session-video-stage { grid-template-rows: 32px minmax(0,1fr) 14px; }
.script-sections-pane .session-toolbar { grid-template-columns: minmax(138px,0.55fr) minmax(220px,1.45fr); background: linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,247,247,.72)); }
.session-ide-page[data-workbench-mode="read"] .script-seek-toolbar .hls-seek-row { display: flex; }
@media(max-width:1100px) { .session-toolbar { grid-template-columns: 1fr; align-items: start; } .session-toolbar .hls-seek-row { width: 100%; padding-left: 30px; } .script-sections-pane .session-toolbar { grid-template-columns: 1fr; } }

/* Shell-specific session IDE overrides */
.wwdc-shell-page .session-ide-top { grid-template-columns: 230px minmax(0,1fr) 220px; background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)); }
.wwdc-shell-page .session-ide-right .card:first-of-type { border-color: rgba(185,28,28,.18); background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,247,.72)); }

/* Session Focus Mode */
.wwdc-shell-page.is-session-focus .session-ide-shell { grid-template-columns: 56px minmax(0,1fr); grid-template-rows: 42px minmax(0,1fr) 20px; grid-template-areas: "top top" "left center" "status status"; }
.wwdc-shell-page.is-session-focus .session-ide-right { display: none; }
.wwdc-shell-page.is-session-focus .session-ide-left { padding: 6px; overflow: hidden; }
.wwdc-shell-page.is-session-focus .shell-rail-note, .wwdc-shell-page.is-session-focus .shell-path-group-title, .wwdc-shell-page.is-session-focus .ide-nav-link span { display: none; }
.wwdc-shell-page.is-session-focus .session-ide-center { grid-template-rows: 0px minmax(250px,.4fr) minmax(210px,.32fr) minmax(170px,.28fr); }
.wwdc-shell-page.is-session-focus .session-identity-strip { display: none; }

/* === Mobile (≤860px) === */
@media(max-width: 860px) {
  .session-ide-page { height: auto; overflow: auto; }
  .session-ide-shell { height: auto; min-height: 100vh; grid-template-columns: 1fr; grid-template-rows: auto auto auto auto auto; grid-template-areas: "top" "left" "center" "right" "status"; overflow: visible; }
  .session-ide-top { grid-template-columns: 1fr; }
  .session-ide-video { justify-self: start; flex-wrap: wrap; }
  .session-ide-left, .session-ide-right { overflow: visible; }
  .session-ide-center { height: auto; overflow: visible; grid-template-columns: 1fr; grid-template-rows: auto auto auto auto; grid-template-areas: "identity" "video" "sections" "transcript" "analysis"; }
  .session-ide-split { display: contents; }
  .ide-scroll-pane { height: auto; max-height: none; overflow: visible; }
  .session-video-stage .session-hls-video { height: auto; min-height: 0; }
  .session-video-head { flex-direction: column; align-items: flex-start; }
  .session-ide-page .script-section-grid { grid-template-columns: 1fr; }
  .session-ide-page .script-sections-pane { overflow: visible; }
  .session-list-page #sessionCards { grid-template-columns: 1fr; }
  /* Show mobile tabs in shell mode on mobile */
  .mobile-session-pane-tabs { display: flex; gap: 6px; align-items: center; min-width: 0; }
  .mobile-session-pane-tabs button { flex: 1; border: 1px solid var(--line-2); background: #fff; color: var(--soft); border-radius: 999px; padding: 7px 8px; font-size: 12px; font-weight: 950; line-height: 1; }
  .mobile-session-pane-tabs button.is-active { background: var(--accent); border-color: var(--accent); color: #fff; }
  .session-ide-page .session-identity-strip small { max-width: 30vw; overflow: hidden; text-overflow: ellipsis; }
  .session-ide-page .script-section-grid { grid-template-columns: 1fr; }
}

/* Standalone mobile (not in shell) — overrides for full-screen mobile app mode */
@media(max-width:860px){
  body.session-ide-page:not(.wwdc-shell-page) { height: 100vh; overflow: hidden; background: #f3f4f6; }
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-shell { height: 100vh; min-height: 0; grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) 20px; grid-template-areas: "center" "status"; padding: 6px; gap: 6px; overflow: hidden; }
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-top,
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-left,
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-right { display: none; }
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-center { height: 100%; min-height: 0; overflow: hidden; display: grid; grid-template-columns: 1fr; grid-template-rows: 34px minmax(210px,42vh) 34px minmax(0,1fr); grid-template-areas: "identity" "video" "mobiletabs" "mobilelower"; gap: 6px; }
  body.session-ide-page:not(.wwdc-shell-page) .session-identity-strip { grid-area: identity; min-height: 0; height: 34px; }
  body.session-ide-page:not(.wwdc-shell-page) .session-identity-meta { display: none; }
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage { grid-area: video; min-height: 0; height: 100%; overflow: hidden; position: relative; }
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage .session-hls-video { height: 100%; min-height: 0; max-height: 100%; object-fit: contain; }
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs { grid-area: mobiletabs; display: flex; gap: 6px; align-items: center; justify-content: stretch; min-width: 0; }
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs button { flex: 1; border: 1px solid var(--line-2); background: #fff; color: var(--soft); border-radius: 999px; padding: 7px 8px; font-size: 12px; font-weight: 950; line-height: 1; }
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs button.is-active { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 6px 16px rgba(185,28,28,.16); }
  body.session-ide-page:not(.wwdc-shell-page) .script-sections-pane,
  body.session-ide-page:not(.wwdc-shell-page) .analysis-pane,
  body.session-ide-page:not(.wwdc-shell-page) .transcript-pane { grid-area: mobilelower; height: 100%; min-height: 0; max-height: none; overflow: auto; }
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="sections"] .analysis-pane,
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="sections"] .transcript-pane { display: none; }
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="analysis"] .script-sections-pane,
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="analysis"] .transcript-pane { display: none; }
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="anchors"] .script-sections-pane,
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="anchors"] .analysis-pane { display: none; }
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-split { display: contents; }
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage .hls-status { font-size: 10px; }
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs { position: relative; z-index: 40; pointer-events: auto; }
}

/* WWDC shell page responsive fixes */
@media(max-width:860px){
  .wwdc-shell-page .session-ide-shell { grid-template-areas: "top" "center" "left" "right" "status"; }
  .wwdc-shell-page .session-ide-top { position: sticky; top: 0; z-index: 50; background: rgba(248,250,252,.96); backdrop-filter: blur(12px); }
  .wwdc-shell-page .shell-global-switch { display: flex; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 2px; scrollbar-width: none; }
  .wwdc-shell-page .shell-global-switch::-webkit-scrollbar { display: none; }
  .mobile-session-card-shortcut { position: fixed; right: 12px; bottom: 12px; z-index: 80; display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(185,28,28,.28); border-radius: 999px; background: linear-gradient(135deg,#b91c1c,#ef4444); color: #fff; font-weight: 950; font-size: 13px; padding: 10px 13px; text-decoration: none; box-shadow: 0 12px 28px rgba(185,28,28,.24); }
  .mobile-session-card-shortcut:hover { text-decoration: none; color: #fff; }
  .wwdc-shell-page.is-session-focus .session-ide-shell { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr) 20px; grid-template-areas: "top" "center" "status"; height: 100vh; min-height: 0; overflow: hidden; }
  .wwdc-shell-page.is-session-focus .session-ide-left, .wwdc-shell-page.is-session-focus .session-ide-right { display: none; }
  .wwdc-shell-page.is-session-focus #wwdcWorkbenchFrame { grid-area: center; width: 100%; min-width: 0; height: 100%; min-height: 0; display: block; }
}

/* Embedded mode (in iframe) — from workbench-shell */
html[data-wwdc-embedded] body.session-ide-page .session-ide-center { grid-template-columns: minmax(320px,.9fr) minmax(440px,1.25fr) minmax(300px,.85fr); grid-template-rows: 36px minmax(268px,.55fr) minmax(220px,.45fr); grid-template-areas: "identity identity identity" "video sections analysis" "transcript sections analysis"; gap: 8px; }
@media(max-width:1280px) { html[data-wwdc-embedded] body.session-ide-page .session-ide-center { grid-template-columns: minmax(320px,.82fr) minmax(460px,1.18fr); grid-template-rows: minmax(250px,.42fr) minmax(240px,.34fr) minmax(190px,.24fr); grid-template-areas: "video sections" "analysis sections" "transcript sections"; } }
@media(max-width:980px) { html[data-wwdc-embedded] body.session-ide-page .session-ide-center { grid-template-rows: auto auto auto auto auto; grid-template-areas: "identity" "video" "sections" "transcript" "analysis"; } }

@media print { .session-ide-page .session-ide-left, .session-ide-page .session-ide-right, .session-ide-page .session-ide-top, .session-ide-page .session-video-stage { display: none; } .session-ide-page .session-ide-shell { height: auto; display: block; } .session-ide-page .session-ide-center { display: block; overflow: visible; } }
.topic-shell-page {
  min-height: 100vh;
  overflow: hidden;
  background: #f3f4f6;
}
.topic-shell {
  height: 100vh;
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 278px;
  grid-template-rows: 52px minmax(0, 1fr) 22px;
  grid-template-areas: "top top top" "left center right" "status status status";
  gap: 8px;
  padding: 8px;
  box-sizing: border-box;
  overflow: hidden;
}
.topic-shell-top { grid-area: top; display: grid; grid-template-columns: 280px minmax(0,1fr) 300px; align-items: center; gap: 10px; }
.topic-shell-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.topic-shell-brand b { display: block; font-size: 15px; line-height: 1.05; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topic-shell-brand small { display: block; color: var(--soft); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topic-shell-global { display: flex; gap: 7px; overflow: auto; min-width: 0; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.topic-shell-global::-webkit-scrollbar { display: none; }
.topic-shell-global a { white-space: nowrap; border: 1px solid var(--line-2); border-radius: 999px; padding: 6px 10px; background: #fff; color: var(--soft); font-size: 12px; font-weight: 850; }
.topic-shell-global a:hover { color: var(--accent); border-color: rgba(185,28,28,.28); text-decoration: none; }
.topic-shell-kpis { display: flex; justify-content: flex-end; gap: 8px; color: var(--soft); font-size: 11px; font-weight: 850; }
.topic-shell-kpis span { border: 1px solid var(--line-2); border-radius: 999px; background: #fff; padding: 5px 8px; }
.topic-shell-left { grid-area: left; min-height: 0; overflow: auto; }
.topic-shell-center { grid-area: center; min-width: 0; min-height: 0; overflow: auto; }
.topic-shell-right { grid-area: right; min-height: 0; overflow: auto; }
.topic-shell-status { grid-area: status; display: flex; align-items: center; gap: 14px; padding: 0 10px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--soft); font-size: 11px; font-weight: 850; white-space: nowrap; overflow: hidden; }
.topic-path-rail, .topic-evidence-rail { border: 1px solid rgba(148,163,184,.30); border-radius: 16px; background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,250,251,.94)); box-shadow: 0 10px 28px rgba(15,23,42,.05); padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.topic-path-link { position: relative; display: grid; gap: 2px; padding: 8px 8px 8px 16px; border: 1px solid transparent; border-radius: 14px; color: var(--text); text-decoration: none; }
.topic-path-link::before { content: ""; position: absolute; left: 6px; top: 11px; bottom: 11px; width: 3px; border-radius: 999px; background: rgba(148,163,184,.35); }
.topic-path-link:hover { background: rgba(254,242,242,.76); border-color: rgba(185,28,28,.16); text-decoration: none; }
.topic-path-link:hover::before { background: var(--accent); }
.topic-path-link b { font-size: 12px; line-height: 1.08; }
.topic-path-link span { color: var(--soft); font-size: 10.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topic-workspace { display: grid; gap: 14px; padding-bottom: 16px; }
.topic-map { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.topic-map-node { border: 1px solid rgba(203,213,225,.92); border-radius: 16px; background: #fff; padding: 13px; box-shadow: var(--shadow-sm); }
.topic-map-node span { color: var(--accent); font-size: 11px; font-weight: 950; }
.topic-map-node h3 { margin: 5px 0 6px; font-size: 16px; }
.topic-map-node p { margin: 0; color: var(--soft); font-size: 12px; line-height: 1.45; }
.topic-rail-card { border: 1px solid var(--line-2); border-radius: 14px; background: #fff; padding: 10px; }
.topic-rail-card h3 { margin: 0 0 6px; font-size: 13px; }
.topic-rail-card p, .topic-rail-card li { color: var(--soft); font-size: 11.5px; line-height: 1.45; }
.topic-rail-card ul { margin: 0; padding-left: 16px; }
@media(max-width: 1100px) {
  .topic-shell-page { overflow: auto; }
  .topic-shell { height: auto; min-height: 100vh; grid-template-columns: 1fr; grid-template-rows: auto auto auto auto auto; grid-template-areas: "top" "left" "center" "right" "status"; overflow: visible; }
  .topic-shell-top { grid-template-columns: 1fr; }
  .topic-shell-kpis { justify-content: flex-start; flex-wrap: wrap; }
  .topic-shell-left, .topic-shell-center, .topic-shell-right { overflow: visible; }
  .topic-map { grid-template-columns: 1fr; }
}


/* Topic shell mobile layout: keep center workspace inside viewport. */
.topic-shell-center,
.topic-workspace,
.topic-workspace > *,
.topic-shell-center .hero,
.topic-shell-center .section,
.topic-shell-center .card,
.topic-shell-center .table-wrap {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.topic-workspace { grid-template-columns: minmax(0, 1fr); }
.topic-shell-center .stats { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.topic-shell-center :is(.hero, .section, .card, .stat, p, b, span, small, li, dd, dt) {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.topic-shell-center .stat b {
  font-size: clamp(18px, 5vw, 31px);
  line-height: 1.15;
}
@media(max-width: 1100px) {
  .topic-shell-center .hero,
  .topic-shell-center .section { width: 100%; }
  .topic-shell-center .actions { flex-direction: column; align-items: stretch; }
  .topic-shell-center .actions a { justify-content: center; }
}


/* Global top / left PATH / right EVID role clarity for topic workbenches. */
.topic-top-role {
  white-space: nowrap;
  align-self: center;
  border: 1px solid rgba(185, 28, 28, .20);
  color: var(--accent);
  background: rgba(185, 28, 28, .06);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  padding: 5px 9px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.58);
}
.topic-shell-left .shell-rail-note {
  margin-bottom: 4px;
}
.topic-shell-right .shell-rail-note {
  margin-bottom: 8px;
}
.topic-shell-global a[data-current] {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}
@media(max-width: 1180px) {
  .wwdc-shell-page .session-ide-top {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  .wwdc-shell-page .session-ide-brand,
  .wwdc-shell-page .shell-global-switch,
  .wwdc-shell-page .session-ide-video {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .wwdc-shell-page .session-ide-brand small {
    max-width: min(300px, 72vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .wwdc-shell-page .shell-global-switch {
    padding-bottom: 2px;
  }
  .wwdc-shell-page .shell-global-switch::before {
    position: sticky;
    left: 0;
    z-index: 1;
    background: rgba(255,255,255,.96);
  }
}
}


/* Workbench menu UI polish: clearer global entry, path, and action affordances. */
.shell-global-switch,
.topic-shell-global {
  scroll-snap-type: x proximity;
  mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
}
.shell-global-switch a,
.topic-shell-global a {
  scroll-snap-align: start;
  transition: background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.shell-global-switch a:hover,
.topic-shell-global a:hover,
.shell-global-switch a:focus-visible,
.topic-shell-global a:focus-visible {
  transform: translateY(-1px);
  outline: none;
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.shell-global-switch a:focus-visible,
.topic-shell-global a:focus-visible,
.wwdc-shell-page .ide-nav-link:focus-visible,
.topic-path-link:focus-visible,
.session-ide-right .mini:focus-visible,
.topic-shell-right a:focus-visible {
  outline: 2px solid rgba(185,28,28,.34);
  outline-offset: 2px;
}
.wwdc-shell-page .shell-global-switch a[data-current],
.topic-shell-global a[data-current] {
  position: relative;
  transform: translateY(-1px);
}
.wwdc-shell-page .shell-global-switch a[data-current]::after,
.topic-shell-global a[data-current]::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: rgba(185,28,28,.72);
  transform: translateX(-50%);
}
.wwdc-shell-page .shell-path-rail,
.topic-shell-left,
.topic-shell-right,
.wwdc-shell-page .session-ide-right {
  box-shadow: 0 12px 30px rgba(15,23,42,.055);
}
.wwdc-shell-page .ide-nav-link[data-current],
.topic-path-link.is-current,
.topic-path-link:target {
  box-shadow: inset 0 0 0 1px rgba(185,28,28,.10), 0 8px 18px rgba(185,28,28,.06);
}
.wwdc-shell-page .session-ide-right .card:first-of-type,
.topic-shell-right .topic-rail-card:first-of-type {
  border-color: rgba(185,28,28,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,247,.72));
}
.wwdc-shell-page .session-ide-right h2,
.topic-shell-right h3 {
  letter-spacing: -.01em;
}
@media(max-width: 1180px) {
  .wwdc-shell-page .session-ide-top,
  .topic-shell-top {
    position: sticky;
    top: 6px;
    z-index: 20;
    backdrop-filter: blur(10px);
    box-shadow: 0 12px 28px rgba(15,23,42,.10);
  }
  .shell-global-switch,
  .topic-shell-global {
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%);
  }
}

/* Workbench menu UI polish v2: active left PATH and accessible current affordance. */
.topic-shell-center .section,
.topic-shell-center .hero {
  scroll-margin-top: 18px;
}
.topic-path-link.is-current,
.topic-path-link[aria-current="location"] {
  background: linear-gradient(90deg, rgba(185,28,28,.10), rgba(255,255,255,.96));
  border-color: rgba(185,28,28,.22);
  box-shadow: inset 0 0 0 1px rgba(185,28,28,.10), 0 8px 18px rgba(185,28,28,.06);
}
.topic-path-link.is-current::before,
.topic-path-link[aria-current="location"]::before {
  background: var(--accent);
}
.topic-path-link.is-current::after,
.topic-path-link[aria-current="location"]::after {
  content: "当前";
  justify-self: start;
  color: var(--accent);
  background: rgba(185,28,28,.08);
  border: 1px solid rgba(185,28,28,.18);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  padding: 3px 6px;
}
.topic-shell-global a[aria-current="page"] {
  box-shadow: 0 10px 24px rgba(185,28,28,.16);
}
@media(max-width: 1180px) {
  .topic-path-link.is-current::after,
  .topic-path-link[aria-current="location"]::after {
    content: "当前段落";
  }
}
/* menu-ui mobile safe area */
@media(max-width: 720px) {
  .wwdc-shell-page .session-ide-top,
  .topic-shell-top {
    top: max(6px, env(safe-area-inset-top));
  }
  .shell-global-switch a,
  .topic-shell-global a {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
  }
}
  }
}

/* WWDC left rail continuity: stable spine + current-level expansion. */
.wwdc-shell-page .shell-path-group {
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  padding: 8px;
}
.wwdc-shell-page .shell-path-group + .shell-path-group { margin-top: 8px; }
.wwdc-shell-page .shell-path-spine { background: rgba(248,250,252,.82); }
.wwdc-shell-page .shell-path-group-title {
  display: grid;
  gap: 2px;
  margin: 0 0 6px;
  padding: 0 2px 6px;
  border-bottom: 1px solid rgba(148,163,184,.18);
}
.wwdc-shell-page .shell-path-group-title b {
  color: var(--text);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .02em;
}
.wwdc-shell-page .shell-path-group-title span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}
.wwdc-shell-page .ide-nav-link.is-spine {
  grid-template-columns: minmax(0,1fr);
  padding-top: 7px;
  padding-bottom: 7px;
  opacity: .82;
}
.wwdc-shell-page .ide-nav-link.is-spine[data-stage-current] {
  opacity: 1;
  background: rgba(248,250,252,.98);
  border-color: rgba(185,28,28,.18);
}
.wwdc-shell-page .ide-nav-link.is-spine[data-stage-current]::before {
  background: var(--accent);
}
.wwdc-shell-page .ide-nav-link.is-spine[data-stage-current] b {
  color: var(--accent);
}
.wwdc-shell-page .ide-nav-link.is-spine[data-stage-current] span::after {
  content: " · 当前阶段";
  color: var(--accent);
  font-weight: 950;
}
.wwdc-shell-page .shell-path-context {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,247,247,.46));
  animation: wwdcRailContextIn .18s ease-out;
}
.wwdc-shell-page .ide-nav-link.is-context[data-current] {
  background: linear-gradient(90deg, rgba(185,28,28,.10), rgba(255,255,255,.96));
}
@keyframes wwdcRailContextIn {
  from { opacity: .72; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .wwdc-shell-page .shell-path-context { animation: none; }
}

/* Workbench menu UI polish v4: grouped left PATH for faster scanning. */
.topic-rail-group-label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 8px 2px 2px;
  color: var(--soft);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.topic-rail-group-label::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgba(185, 28, 28, .42);
}
.topic-rail-group-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(148,163,184,.38), transparent);
}
.topic-shell-left .topic-path-link + .topic-rail-group-label {
  margin-top: 12px;
}
@media(max-width: 1180px) {
  .topic-rail-group-label {
    position: sticky;
    top: 68px;
    z-index: 2;
    background: rgba(255,255,255,.96);
    border-radius: 10px;
    padding: 4px 2px;
  }
}

/* Workbench menu UI polish v5: mirror current PATH in top/status bars. */
.topic-current-chip,
[data-topic-current-section-footer] {
  color: var(--accent) !important;
  border-color: rgba(185,28,28,.24) !important;
  background: linear-gradient(90deg, rgba(185,28,28,.10), rgba(255,255,255,.88)) !important;
  font-weight: 950 !important;
}
.topic-shell[data-current-section] .topic-shell-status [data-topic-current-section-footer]::before {
  content: "PATH ";
  color: var(--soft);
  font-weight: 850;
}
@media(max-width: 1180px) {
  .topic-current-chip {
    order: -1;
    width: fit-content;
  }
}

/* Workbench menu UI polish v6: show section ordinal + group in current state mirrors. */
.topic-shell[data-current-section-group] .topic-current-chip {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.topic-shell-status [data-topic-current-section-footer] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.topic-path-link[data-section-group] b::after {
  content: attr(data-section-group);
}
@media(min-width: 1181px) {
  .topic-current-chip {
    max-width: 220px;
  }
}

/* Workbench menu UI polish v7: visible topic path progress meter. */
.topic-progress-meter {
  display: inline-flex;
  align-items: center;
  width: 72px;
  height: 8px;
  padding: 1px;
  border: 1px solid rgba(185,28,28,.20) !important;
  border-radius: 999px;
  background: rgba(255,255,255,.88) !important;
  overflow: hidden;
}
.topic-progress-meter i {
  display: block;
  width: var(--topic-menu-progress, 7%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(185,28,28,.58), rgba(185,28,28,.86));
  transition: width .18s ease;
}
@media(max-width: 1180px) {
  .topic-progress-meter {
    width: min(120px, 36vw);
  }
}

/* Session workbench visual polish: explicit script-section layout and state clarity. */
.session-ide-page .script-sections-pane{grid-area:sections;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:var(--shadow-sm);padding:8px 10px;}
.session-ide-page .script-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.session-ide-page .script-section-card{border:1px solid rgba(203,213,225,.92);border-radius:14px;background:rgba(255,255,255,.98);padding:10px;box-shadow:none;}
.session-ide-page .script-section-card h3{margin:3px 0 6px;font-size:14px;line-height:1.25;}
.session-ide-page .script-section-card p{font-size:12.5px;line-height:1.48;margin:0 0 7px;color:var(--ink);}
.session-ide-page .script-section-card small{display:block;color:var(--muted);font-size:11px;margin-top:5px;}
.session-ide-page .script-section-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;}
.session-ide-page .tc-link{border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--accent);font-weight:900;font-size:11px;padding:4px 7px;white-space:nowrap;}
.session-ide-page .session-video-stage h1{font-size:19px;line-height:1.15;margin:2px 0 4px;color:var(--ink);}
.session-ide-page .analysis-card{border-radius:14px;}
.session-ide-page .session-ide-center{grid-template-rows:minmax(260px,.38fr) minmax(210px,.32fr) minmax(170px,.30fr);grid-template-areas:"video analysis" "sections analysis" "transcript analysis";}
.session-list-page #sessionCards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;}
.session-card .session-card-head{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;}
.session-card h3{font-size:16px;line-height:1.22;margin:4px 0 8px;}
.session-card p{margin:7px 0;}
.session-card .actions{margin-top:auto;}
@media(max-width:860px){.session-ide-page .session-ide-center{grid-template-columns:1fr;grid-template-areas:"video" "sections" "transcript" "analysis"}.session-ide-page .script-section-grid{grid-template-columns:1fr}.session-ide-page .script-sections-pane{overflow:visible}.session-list-page #sessionCards{grid-template-columns:1fr}}

/* Session workbench grid repair: make split children real grid items in desktop iframe. */
.session-ide-page .session-ide-split{display:contents;}
.session-ide-page .script-section-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}

/* Session workbench final grid guard: prevent iframe-width implicit 22px columns. */
.session-ide-page .session-ide-center{
  display:grid!important;
  grid-template-columns:minmax(280px,1.05fr) minmax(240px,.95fr)!important;
  grid-template-rows:minmax(250px,.38fr) minmax(210px,.32fr) minmax(170px,.30fr)!important;
  grid-template-areas:"video analysis" "sections analysis" "transcript analysis"!important;
}
.session-ide-page .session-ide-split{display:contents!important;}
.session-ide-page .session-video-stage,
.session-ide-page .script-sections-pane,
.session-ide-page .transcript-pane,
.session-ide-page .analysis-pane{min-width:0;}
.session-ide-page .script-sections-pane{overflow:auto;}

/* Session Focus Mode: outer shell gives the Session workbench the main canvas. */
.wwdc-shell-page.is-session-focus .session-ide-shell{
  grid-template-columns:56px minmax(0,1fr)!important;
  grid-template-rows:42px minmax(0,1fr) 20px!important;
  grid-template-areas:"top top" "left center" "status status"!important;
}
.wwdc-shell-page.is-session-focus .session-ide-right{display:none!important;}
.wwdc-shell-page.is-session-focus .session-ide-left{padding:6px!important;overflow:hidden!important;}
.wwdc-shell-page.is-session-focus .shell-rail-note,
.wwdc-shell-page.is-session-focus .shell-path-group-title,
.wwdc-shell-page.is-session-focus .ide-nav-link span,
.wwdc-shell-page.is-session-focus .ide-panel-title b{display:none!important;}
.wwdc-shell-page.is-session-focus .ide-panel-title{justify-content:center!important;}
.wwdc-shell-page.is-session-focus .ide-panel-title span{font-size:10px!important;}
.wwdc-shell-page.is-session-focus .shell-path-links{gap:6px!important;}
.wwdc-shell-page.is-session-focus .shell-path-group{gap:5px!important;}
.wwdc-shell-page.is-session-focus .ide-nav-link{display:grid!important;place-items:center!important;min-height:38px!important;padding:6px 2px!important;border-radius:14px!important;}
.wwdc-shell-page.is-session-focus .ide-nav-link b{font-size:10px!important;line-height:1.05!important;text-align:center!important;max-width:42px!important;white-space:normal!important;}
.wwdc-shell-page.is-session-focus #wwdcWorkbenchFrame{width:100%!important;height:100%!important;}
.wwdc-shell-page.is-session-focus .session-ide-video em{display:none!important;}
.wwdc-shell-page.is-session-focus #wwdcWorkbenchTitle{font-size:13px!important;}

/* Session content refinement layout: script is the primary reading lane. */
.session-ide-page .script-sections-pane{padding:10px 12px;}
.session-ide-page .script-section-grid{display:grid;grid-template-columns:1fr!important;gap:10px;}
.session-ide-page .script-section-card{padding:12px 13px;border-left:4px solid rgba(185,28,28,.26);}
.session-ide-page .script-section-card[data-content-grade="deep_refined"]{border-color:rgba(185,28,28,.44);background:linear-gradient(180deg,#fff,#fff7f7);}
.session-ide-page .script-section-card h3{font-size:15.5px;line-height:1.25;margin:2px 0 8px;letter-spacing:-.015em;}
.session-ide-page .section-summary{font-size:13.5px!important;line-height:1.62!important;color:var(--ink)!important;margin:0 0 9px!important;}
.session-ide-page .section-meta{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:start;margin:6px 0;}
.session-ide-page .section-meta>span{font-size:11px;font-weight:900;color:var(--muted);letter-spacing:.04em;}
.session-ide-page .insight-ref-row{display:flex;gap:5px;flex-wrap:wrap;}
.session-ide-page .insight-ref{display:inline-flex;align-items:center;border:1px solid rgba(185,28,28,.22);background:#fff;color:var(--accent);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:900;}
.session-ide-page .insight-id{display:inline-flex;margin-bottom:6px;border:1px solid rgba(185,28,28,.24);background:#fff7f7;color:var(--accent);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900;}
.session-ide-page .analysis-pane .analysis-card h3{font-size:14.2px;line-height:1.3;margin:0 0 7px;}
.session-ide-page .analysis-pane .analysis-card p{font-size:12.8px;line-height:1.55;color:var(--ink);}
.session-ide-page .analysis-pane .quote-refs{max-height:72px;overflow:auto;}
.session-ide-page .transcript-pane{opacity:.94;}
@media(max-width:1280px){
  html[data-wwdc-embedded] body.session-ide-page .session-ide-center{grid-template-columns:minmax(320px,.82fr) minmax(460px,1.18fr)!important;grid-template-rows:minmax(250px,.42fr) minmax(240px,.34fr) minmax(190px,.24fr)!important;grid-template-areas:"video sections" "analysis sections" "transcript sections"!important;}
}

.session-ide-page .refine-badge{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;color:var(--muted);background:#fff;white-space:nowrap}.session-ide-page .refine-badge.deep_refined{color:var(--accent);background:#fff7f7;border-color:rgba(185,28,28,.25)}.session-ide-page .refine-badge.auto_refined{color:#075985;background:#eff6ff;border-color:#bfdbfe}

.session-ide-page .claim-grade-badge{display:inline-flex;margin:0 0 6px 6px;border:1px solid var(--line-2);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900;color:var(--muted);background:#fff}.session-ide-page .claim-grade-badge.deep_claim{color:var(--accent);background:#fff7f7;border-color:rgba(185,28,28,.25)}.session-ide-page .claim-grade-badge.auto_claim{color:#075985;background:#eff6ff;border-color:#bfdbfe}.session-ide-page .claim-grade-badge.sample_claim{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}

/* Session card navigator polish */
.session-list-page .session-list-hero,.session-list-page .hero{position:relative;overflow:hidden}.session-list-page .hero:after{content:"";position:absolute;inset:auto -12% -45% 48%;height:220px;background:radial-gradient(circle at center,rgba(185,28,28,.10),transparent 62%);pointer-events:none}.session-list-page .section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:28px 0 14px}.session-list-page .section-title-row h2{margin:.2rem 0}.session-list-page .section-title-row p{margin:.15rem 0;color:var(--muted)}.featured-session-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.session-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.session-card{display:flex;flex-direction:column;gap:10px;min-height:310px}.featured-session-card{min-height:380px;border-color:rgba(185,28,28,.24);box-shadow:0 18px 44px rgba(15,23,42,.09)}.session-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.session-card-head h3{margin:.22rem 0 0;font-size:1.05rem;line-height:1.25}.featured-session-card .session-card-head h3{font-size:1.2rem}.session-badges{display:flex;flex-wrap:wrap;gap:6px}.session-card-reason{font-weight:800;color:var(--text);margin:0}.session-card-claim,.session-card-summary{margin:0;color:var(--muted);line-height:1.55}.session-card-claim b,.session-card-summary b{color:var(--text);margin-right:4px}.session-card-meta{margin:auto 0 0;color:var(--muted);font-size:.86rem}.session-card-filters,.filters{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(150px,220px));gap:10px}.session-card-filters input,.session-card-filters select,.filters input,.filters select{width:100%;border:1px solid var(--line-2);border-radius:14px;padding:11px 13px;background:#fff;color:var(--text)}#visibleCount{font-weight:900;color:var(--muted)}@media(max-width:1180px){.featured-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-card-filters,.filters{grid-template-columns:1fr 1fr}}@media(max-width:720px){.featured-session-grid,.session-card-grid,.session-card-filters,.filters{grid-template-columns:1fr}.session-list-page .section-title-row{display:block}.session-card{min-height:auto}}

/* Session card density pass: compact 9-card first screen */
.compact-session-list .compact-wrap{max-width:1420px;padding-top:10px}.compact-session-hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:center;border:1px solid var(--line-2);border-radius:18px;background:linear-gradient(135deg,#fff,rgba(248,250,252,.92));padding:12px 16px;margin:10px 0 12px}.compact-session-hero .eyebrow{margin-bottom:4px}.compact-session-hero h1{font-size:clamp(24px,2.2vw,34px);line-height:1.05;margin:0 0 4px;letter-spacing:-.04em}.compact-session-hero .lead{font-size:13px;line-height:1.45;max-width:860px;margin:0;color:var(--muted)}.session-mini-stats{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;min-height:78px}.session-mini-stats canvas{width:150px!important;height:76px!important}.session-mini-stats p{font-size:12px;line-height:1.45;margin:0;color:var(--muted)}.session-mini-stats b{color:var(--text);font-size:15px}.compact-featured-section{margin-top:8px}.compact-title-row{margin:8px 0 8px!important}.compact-title-row h2{font-size:18px;margin:0!important}.compact-title-row .label{font-size:10px}.compact-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.compact-featured-grid .session-card{min-height:156px!important;padding:11px 12px!important;gap:5px!important}.compact-featured-grid .session-card-head h3{font-size:14px!important;line-height:1.16!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-featured-grid .label{font-size:10px}.compact-featured-grid .session-badges{gap:4px}.compact-featured-grid .badge{font-size:10px;padding:2px 6px}.compact-featured-grid .session-card-reason{font-size:11.5px;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-featured-grid .session-card-claim{font-size:11.5px;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-featured-grid .session-card-summary{display:none}.compact-featured-grid .session-card-meta{font-size:10.5px;margin-top:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-actions{position:absolute;right:10px;bottom:8px;display:flex;gap:6px}.session-card{position:relative}.icon-actions a{width:24px;height:24px;display:inline-grid;place-items:center;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--text);font-weight:900;text-decoration:none}.icon-actions a:hover{border-color:rgba(185,28,28,.35);color:var(--accent)}.compact-filter-row{display:grid;grid-template-columns:minmax(260px,1fr) 150px 120px 150px 88px;gap:8px;align-items:center;margin:10px 0}.compact-filter-row input,.compact-filter-row select{border:1px solid var(--line-2);border-radius:12px;padding:9px 10px;background:#fff;font-size:12px}.compact-filter-row #visibleCount{font-size:12px;font-weight:900;color:var(--muted);text-align:right}.compact-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:10px!important}.compact-card-grid .session-card{min-height:150px!important;padding:10px 11px!important;gap:5px!important}.compact-card-grid .session-card-head h3{font-size:13px!important;line-height:1.18!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-card-grid .session-card-reason,.compact-card-grid .session-card-summary{display:none}.compact-card-grid .session-card-claim{font-size:11.5px;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-card-grid .badge{font-size:10px;padding:2px 6px}.compact-card-grid .session-card-meta{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-card-grid .session-badges{gap:4px}@media(max-width:1180px){.compact-session-hero{grid-template-columns:1fr}.session-mini-stats{grid-template-columns:150px 1fr}.compact-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compact-filter-row{grid-template-columns:1fr 1fr}}@media(max-width:720px){.compact-featured-grid,.compact-card-grid,.compact-filter-row{grid-template-columns:1fr!important}.session-mini-stats{grid-template-columns:1fr}.compact-session-hero h1{font-size:24px}.icon-actions{position:static;margin-top:4px}}

/* Session toolbar red-box polish: title and seek chips no longer compete for width. */
.session-ide-page .session-toolbar{display:grid!important;grid-template-columns:minmax(160px,1fr) minmax(180px,42%);align-items:center;gap:8px;min-height:30px;overflow:hidden;border-radius:12px;background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(248,250,252,.86));padding:2px 4px 2px 6px;}
.session-ide-page .session-toolbar-title{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;overflow:hidden!important;}
.session-ide-page .session-toolbar-title .label{flex:0 0 auto;font-size:10px!important;padding:3px 7px!important;line-height:1!important;}
.session-ide-page .session-toolbar-title h1,.session-ide-page .session-toolbar-title h2{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0!important;letter-spacing:-.02em;}
.session-ide-page .video-evidence-toolbar .session-toolbar-title h1{font-size:17px!important;line-height:1.08!important;}
.session-ide-page .script-seek-toolbar .session-toolbar-title h2{font-size:14px!important;line-height:1.08!important;}
.session-ide-page .session-toolbar .hls-seek-row{position:relative;min-width:0;max-width:100%;display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-start!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 2px 3px 28px;scrollbar-width:thin;mask-image:linear-gradient(90deg,transparent 0,#000 20px,#000 calc(100% - 16px),transparent 100%);}
.session-ide-page .session-toolbar .hls-seek-row:before{position:absolute;left:2px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:950;letter-spacing:.02em;color:var(--muted);background:rgba(255,255,255,.96);border:1px solid var(--line-2);border-radius:999px;padding:1px 5px;z-index:2;}
.session-ide-page .video-evidence-toolbar .hls-seek-row:before{content:"视频";}
.session-ide-page .script-seek-toolbar .hls-seek-row:before{content:"分段";}
.session-ide-page .session-toolbar .hls-seek-row button{flex:0 0 auto;padding:3px 7px!important;font-size:10.5px!important;line-height:1.1!important;border-radius:999px;box-shadow:none;}
.session-ide-page .session-toolbar .hls-seek-row::-webkit-scrollbar{height:4px}.session-ide-page .session-toolbar .hls-seek-row::-webkit-scrollbar-thumb{background:rgba(185,28,28,.22);border-radius:999px}.session-ide-page .session-toolbar .hls-seek-row::-webkit-scrollbar-track{background:transparent}
.session-ide-page .session-video-stage{grid-template-rows:32px minmax(0,1fr) 14px!important;}
.session-ide-page .script-sections-pane .session-toolbar{grid-template-columns:minmax(138px,0.55fr) minmax(220px,1.45fr);background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,247,247,.72));}
.session-ide-page[data-workbench-mode="read"] .script-seek-toolbar .hls-seek-row{display:flex!important;}
@media(max-width:1100px){.session-ide-page .session-toolbar{grid-template-columns:1fr;align-items:start}.session-ide-page .session-toolbar .hls-seek-row{width:100%;padding-left:30px}.session-ide-page .script-sections-pane .session-toolbar{grid-template-columns:1fr}}

/* Session identity strip: visible title without competing with seek chips. */
.session-ide-page .session-identity-strip{grid-area:identity;display:flex;align-items:center;gap:8px;min-width:0;min-height:26px;border:1px solid var(--line-2);border-radius:12px;background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(248,250,252,.9));padding:4px 8px;box-shadow:var(--shadow-sm);overflow:hidden;}
.session-ide-page .session-identity-strip .label{flex:0 0 auto;font-size:10px;padding:2px 7px;line-height:1;}
.session-ide-page .session-identity-strip b{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;letter-spacing:-.02em;color:var(--ink);}
.session-ide-page .session-identity-strip small{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap;}
.session-ide-page .session-ide-center{grid-template-rows:28px minmax(245px,.37fr) minmax(210px,.32fr) minmax(160px,.31fr)!important;grid-template-areas:"identity identity" "video analysis" "sections analysis" "transcript analysis"!important;}
html[data-wwdc-embedded] body.session-ide-page .session-ide-center{grid-template-columns:minmax(320px,.9fr) minmax(440px,1.25fr) minmax(300px,.85fr)!important;grid-template-rows:28px minmax(276px,.55fr) minmax(220px,.45fr)!important;grid-template-areas:"identity identity identity" "video sections analysis" "transcript sections analysis"!important;}
@media(max-width:980px){html[data-wwdc-embedded] body.session-ide-page .session-ide-center,.session-ide-page .session-ide-center{grid-template-rows:auto auto auto auto auto!important;grid-template-areas:"identity" "video" "sections" "transcript" "analysis"!important}.session-ide-page .session-identity-strip{flex-wrap:wrap;height:auto}.session-ide-page .session-identity-strip small{white-space:normal}}
.session-ide-page .session-identity-sep{flex:0 0 auto;color:var(--muted);font-weight:900;opacity:.75;}

/* Session identity title spans the full work area, not the video pane. */
.session-ide-page .session-identity-strip{display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;column-gap:8px;min-height:34px!important;padding:5px 10px!important;}
.session-ide-page .session-identity-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px!important;line-height:1.1;font-weight:950;letter-spacing:-.025em;color:var(--ink);}
.session-ide-page .session-identity-meta{justify-self:end;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:850;color:var(--muted);}
.session-ide-page .session-ide-center{grid-template-rows:36px minmax(237px,.37fr) minmax(210px,.32fr) minmax(160px,.31fr)!important;}
html[data-wwdc-embedded] body.session-ide-page .session-ide-center{grid-template-rows:36px minmax(268px,.55fr) minmax(220px,.45fr)!important;}
@media(max-width:980px){.session-ide-page .session-identity-strip{grid-template-columns:auto auto minmax(0,1fr);row-gap:4px}.session-ide-page .session-identity-meta{grid-column:1 / -1;justify-self:start;max-width:100%}}

/* Mobile Session card discoverability: show main content before path rail and expose quick entry. */
.mobile-session-card-shortcut{display:none;}
@media(max-width:860px){
  .session-ide-page:not([data-workbench-mode]) .session-ide-shell,
  .wwdc-shell-page .session-ide-shell{grid-template-areas:"top" "center" "left" "right" "status"!important;}
  .wwdc-shell-page .session-ide-top{position:sticky;top:0;z-index:50;background:rgba(248,250,252,.96);backdrop-filter:blur(12px);}
  .wwdc-shell-page .shell-global-switch{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;max-width:100%;padding-bottom:2px;scrollbar-width:none;}
  .wwdc-shell-page .shell-global-switch::-webkit-scrollbar{display:none;}
  .mobile-session-card-shortcut{position:fixed;right:12px;bottom:12px;z-index:80;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(185,28,28,.28);border-radius:999px;background:linear-gradient(135deg,#b91c1c,#ef4444);color:#fff!important;font-weight:950;font-size:13px;padding:10px 13px;text-decoration:none;box-shadow:0 12px 28px rgba(185,28,28,.24);}
  .mobile-session-card-shortcut:hover{text-decoration:none;color:#fff!important;}
}

/* Mobile Session split: fixed upper video, switchable lower reading pane. */
.mobile-session-pane-tabs{display:none;}
@media(max-width:860px){
  body.session-ide-page:not(.wwdc-shell-page){height:100vh!important;overflow:hidden!important;background:#f3f4f6;}
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-shell{height:100vh!important;min-height:0!important;grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) 20px!important;grid-template-areas:"center" "status"!important;padding:6px!important;gap:6px!important;overflow:hidden!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-top,
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-left,
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-right{display:none!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-center{height:100%!important;min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:34px minmax(210px,42vh) 34px minmax(0,1fr)!important;grid-template-areas:"identity" "video" "mobiletabs" "mobilelower"!important;gap:6px!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-identity-strip{grid-area:identity!important;min-height:0!important;height:34px!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-identity-meta{display:none!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage{grid-area:video!important;min-height:0!important;height:100%!important;overflow:hidden!important;position:relative!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage .session-hls-video{height:100%!important;min-height:0!important;max-height:100%!important;object-fit:contain!important;}
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs{grid-area:mobiletabs;display:flex;gap:6px;align-items:center;justify-content:stretch;min-width:0;}
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs button{flex:1;border:1px solid var(--line-2);background:#fff;color:var(--soft);border-radius:999px;padding:7px 8px;font-size:12px;font-weight:950;line-height:1;}
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs button.is-active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(185,28,28,.16);}
  body.session-ide-page:not(.wwdc-shell-page) .script-sections-pane,
  body.session-ide-page:not(.wwdc-shell-page) .analysis-pane,
  body.session-ide-page:not(.wwdc-shell-page) .transcript-pane{grid-area:mobilelower!important;height:100%!important;min-height:0!important;max-height:none!important;overflow:auto!important;}
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="sections"] .analysis-pane,
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="sections"] .transcript-pane{display:none!important;}
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="analysis"] .script-sections-pane,
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="analysis"] .transcript-pane{display:none!important;}
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="anchors"] .script-sections-pane,
  body.session-ide-page:not(.wwdc-shell-page)[data-mobile-session-pane="anchors"] .analysis-pane{display:none!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-split{display:contents!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage .hls-status{font-size:10px;}
}

/* Mobile shell session focus: iframe must occupy full width before inner split layout. */
@media(max-width:860px){
  .wwdc-shell-page.is-session-focus .session-ide-shell{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr) 20px!important;grid-template-areas:"top" "center" "status"!important;height:100vh!important;min-height:0!important;overflow:hidden!important;}
  .wwdc-shell-page.is-session-focus .session-ide-left,.wwdc-shell-page.is-session-focus .session-ide-right{display:none!important;}
  .wwdc-shell-page.is-session-focus #wwdcWorkbenchFrame{grid-area:center!important;width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;display:block!important;}
}
@media(max-width:860px){
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs{position:relative!important;z-index:40!important;pointer-events:auto!important;}
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage{z-index:10!important;}
  html[data-wwdc-embedded] body.session-ide-page .mobile-session-pane-tabs{position:relative!important;z-index:40!important;pointer-events:auto!important;}
  html[data-wwdc-embedded] body.session-ide-page .session-video-stage{z-index:10!important;}
}

/* Mobile video lock hardening: stop body/page scroll; only lower pane scrolls. */
@media(max-width:860px){
  html[data-wwdc-embedded],
  html[data-wwdc-embedded] body.session-ide-page,
  body.session-ide-page:not(.wwdc-shell-page){width:100%!important;height:100%!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important;}
  html[data-wwdc-embedded] body.session-ide-page,
  body.session-ide-page:not(.wwdc-shell-page){position:fixed!important;inset:0!important;margin:0!important;touch-action:none!important;}
  html[data-wwdc-embedded] body.session-ide-page .session-ide-shell,
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-shell{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important;}
  html[data-wwdc-embedded] body.session-ide-page .session-ide-center,
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-center{height:calc(100dvh - 20px)!important;max-height:calc(100dvh - 20px)!important;overflow:hidden!important;overscroll-behavior:none!important;}
  html[data-wwdc-embedded] body.session-ide-page .session-video-stage,
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage{position:relative!important;overflow:hidden!important;touch-action:manipulation!important;contain:layout paint!important;}
  html[data-wwdc-embedded] body.session-ide-page .script-sections-pane,
  html[data-wwdc-embedded] body.session-ide-page .analysis-pane,
  html[data-wwdc-embedded] body.session-ide-page .transcript-pane,
  body.session-ide-page:not(.wwdc-shell-page) .script-sections-pane,
  body.session-ide-page:not(.wwdc-shell-page) .analysis-pane,
  body.session-ide-page:not(.wwdc-shell-page) .transcript-pane{-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important;}
}

/* Mobile video lock v2: stable floating/sticky-style video without fixed-body shrink. */
@media(max-width:860px){
  html[data-wwdc-embedded],
  html[data-wwdc-embedded] body.session-ide-page,
  body.session-ide-page:not(.wwdc-shell-page){width:100%!important;height:100vh!important;height:100svh!important;min-height:100svh!important;max-height:100svh!important;overflow:hidden!important;overscroll-behavior:none!important;}
  html[data-wwdc-embedded] body.session-ide-page,
  body.session-ide-page:not(.wwdc-shell-page){position:relative!important;inset:auto!important;margin:0!important;touch-action:auto!important;}
  html[data-wwdc-embedded] body.session-ide-page .session-ide-shell,
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-shell{height:100vh!important;height:100svh!important;max-height:100svh!important;overflow:hidden!important;overscroll-behavior:none!important;}
  html[data-wwdc-embedded] body.session-ide-page .session-ide-center,
  body.session-ide-page:not(.wwdc-shell-page) .session-ide-center{height:calc(100svh - 20px)!important;max-height:calc(100svh - 20px)!important;overflow:hidden!important;overscroll-behavior:none!important;grid-template-rows:34px clamp(230px,42svh,330px) 34px minmax(0,1fr)!important;}
  html[data-wwdc-embedded] body.session-ide-page .session-video-stage,
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage{position:sticky!important;top:0!important;min-height:230px!important;height:100%!important;max-height:330px!important;overflow:hidden!important;touch-action:manipulation!important;contain:layout paint!important;z-index:12!important;}
  html[data-wwdc-embedded] body.session-ide-page .session-video-stage .session-hls-video,
  body.session-ide-page:not(.wwdc-shell-page) .session-video-stage .session-hls-video{min-height:170px!important;max-height:100%!important;object-fit:contain!important;}
  html[data-wwdc-embedded] body.session-ide-page .mobile-session-pane-tabs,
  body.session-ide-page:not(.wwdc-shell-page) .mobile-session-pane-tabs{z-index:40!important;}
  html[data-wwdc-embedded] body.session-ide-page .script-sections-pane,
  html[data-wwdc-embedded] body.session-ide-page .analysis-pane,
  html[data-wwdc-embedded] body.session-ide-page .transcript-pane,
  body.session-ide-page:not(.wwdc-shell-page) .script-sections-pane,
  body.session-ide-page:not(.wwdc-shell-page) .analysis-pane,
  body.session-ide-page:not(.wwdc-shell-page) .transcript-pane{min-height:0!important;max-height:100%!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;touch-action:pan-y!important;}
}

/* Compatibility: WWDC shell role/path baseline after session shell refactor. */
.shell-role-line {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}
.shell-role-line span {
  border: 1px solid rgba(148,163,184,.22);
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(248,250,252,.82);
}
.wwdc-shell-page .shell-path-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Workbench shell menu polish v5: restore left PATH cards and clarify top/center/bottom navigation. */
.wwdc-shell-page {
  --shell-red: #b91c1c;
  --shell-red-soft: rgba(185, 28, 28, .075);
  --shell-panel: rgba(255,255,255,.94);
  --shell-panel-2: rgba(248,250,252,.82);
  --shell-hairline: rgba(148,163,184,.26);
}
.wwdc-shell-page .session-ide-shell {
  background:
    radial-gradient(circle at 8% 0%, rgba(185,28,28,.055), transparent 28%),
    linear-gradient(180deg, #f8fafc, #f1f5f9);
}
.wwdc-shell-page .session-ide-top {
  min-height: 46px;
  border-color: rgba(148,163,184,.24);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
  box-shadow: 0 12px 28px rgba(15,23,42,.065);
}
.wwdc-shell-page .ide-logo {
  background: linear-gradient(135deg, rgba(185,28,28,.13), rgba(255,255,255,.78));
  border: 1px solid rgba(185,28,28,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.wwdc-shell-page .session-ide-brand b {
  color: #111827;
}
.wwdc-shell-page .session-ide-brand small {
  color: #64748b;
}
.wwdc-shell-page .shell-global-switch {
  gap: 7px;
  padding: 2px 4px 5px;
  align-items: center;
}
.wwdc-shell-page .shell-global-switch a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-color: rgba(148,163,184,.24);
  background: rgba(255,255,255,.80);
  color: #475569;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.wwdc-shell-page .shell-global-switch a:hover {
  color: var(--shell-red);
  border-color: rgba(185,28,28,.22);
  background: #fff;
}
.wwdc-shell-page .shell-global-switch a[data-current],
.wwdc-shell-page .shell-global-switch a[aria-current="page"] {
  color: #fff;
  border-color: var(--shell-red);
  background: linear-gradient(135deg, #b91c1c, #dc2626);
  box-shadow: 0 8px 18px rgba(185,28,28,.16);
}
.wwdc-shell-page .session-ide-video {
  justify-content: flex-end;
  color: #64748b;
}
.wwdc-shell-page .session-ide-video b {
  max-width: 172px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wwdc-shell-page .session-ide-left,
.wwdc-shell-page .session-ide-right {
  border-color: rgba(148,163,184,.24);
  background: linear-gradient(180deg, var(--shell-panel), rgba(248,250,252,.92));
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
}
.wwdc-shell-page .ide-panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 26px;
  margin: 0 0 2px;
}
.wwdc-shell-page .ide-panel-title span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(185,28,28,.18);
  background: rgba(185,28,28,.07);
  color: var(--shell-red);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  padding: 3px 7px;
}
.wwdc-shell-page .ide-panel-title b {
  min-width: 0;
  color: #111827;
  font-size: 12px;
  letter-spacing: -.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wwdc-shell-page .shell-rail-note {
  margin: 0 0 2px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.45;
}
.wwdc-shell-page .shell-path-links {
  min-height: 0;
  overflow: auto;
  padding-right: 1px;
  scrollbar-width: thin;
  scrollbar-color: rgba(185,28,28,.22) transparent;
}
.wwdc-shell-page .shell-path-links::-webkit-scrollbar { width: 5px; }
.wwdc-shell-page .shell-path-links::-webkit-scrollbar-thumb { background: rgba(185,28,28,.18); border-radius: 999px; }
.wwdc-shell-page .shell-path-group {
  display: grid;
  gap: 7px;
  border: 1px solid var(--shell-hairline);
  border-radius: 16px;
  background: rgba(255,255,255,.66);
  padding: 8px;
}
.wwdc-shell-page .shell-path-spine {
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(248,250,252,.86));
}
.wwdc-shell-page .shell-path-context {
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,247,247,.58));
}
.wwdc-shell-page .shell-path-group-title {
  display: grid;
  gap: 2px;
  padding: 0 2px 6px;
  border-bottom: 1px solid rgba(148,163,184,.18);
}
.wwdc-shell-page .shell-path-group-title b {
  color: #111827;
  font-size: 11px;
  font-weight: 950;
}
.wwdc-shell-page .shell-path-group-title span {
  color: #64748b;
  font-size: 10px;
  font-weight: 850;
}
.wwdc-shell-page .ide-nav-link {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 2px;
  min-height: 42px;
  padding: 8px 9px 8px 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: rgba(255,255,255,.58);
  color: #1f2937;
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
  transition: background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.wwdc-shell-page .ide-nav-link::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 999px;
  background: rgba(148,163,184,.35);
}
.wwdc-shell-page .ide-nav-link b {
  min-width: 0;
  color: inherit;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.16;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wwdc-shell-page .ide-nav-link span {
  min-width: 0;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.18;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wwdc-shell-page .ide-nav-link:hover {
  transform: translateY(-1px);
  color: var(--shell-red);
  border-color: rgba(185,28,28,.20);
  background: #fff;
  box-shadow: 0 10px 22px rgba(15,23,42,.065);
  text-decoration: none;
}
.wwdc-shell-page .ide-nav-link:hover::before {
  background: rgba(185,28,28,.55);
}
.wwdc-shell-page .ide-nav-link[data-current],
.wwdc-shell-page .ide-nav-link[aria-current="page"],
.wwdc-shell-page .ide-nav-link[aria-current="step"],
.wwdc-shell-page .ide-nav-link[data-stage-current] {
  color: var(--shell-red);
  border-color: rgba(185,28,28,.25);
  background: linear-gradient(90deg, rgba(185,28,28,.11), rgba(255,255,255,.92));
  box-shadow: inset 0 0 0 1px rgba(185,28,28,.07), 0 8px 20px rgba(185,28,28,.07);
}
.wwdc-shell-page .ide-nav-link[data-current]::before,
.wwdc-shell-page .ide-nav-link[aria-current="page"]::before,
.wwdc-shell-page .ide-nav-link[aria-current="step"]::before,
.wwdc-shell-page .ide-nav-link[data-stage-current]::before {
  background: var(--shell-red);
}
.wwdc-shell-page .ide-nav-link[data-current] span,
.wwdc-shell-page .ide-nav-link[aria-current="page"] span,
.wwdc-shell-page .ide-nav-link[aria-current="step"] span,
.wwdc-shell-page .ide-nav-link[data-stage-current] span {
  color: #7f1d1d;
}
.wwdc-shell-page .session-ide-status {
  min-height: 22px;
  border-color: rgba(148,163,184,.22);
  background: rgba(255,255,255,.88);
  box-shadow: 0 -6px 18px rgba(15,23,42,.035);
}
.wwdc-shell-page .session-ide-status span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.wwdc-shell-page .session-ide-status span + span::before {
  content: "";
  width: 4px;
  height: 4px;
  margin-right: 8px;
  border-radius: 999px;
  background: rgba(148,163,184,.62);
}
.wwdc-shell-page .session-ide-status span:first-child {
  color: var(--shell-red);
}
@media(max-width:1180px) {
  .wwdc-shell-page .session-ide-top {
    gap: 8px;
    padding: 8px;
  }
  .wwdc-shell-page .session-ide-video {
    justify-content: flex-start;
  }
}
@media(max-width:860px) {
  .wwdc-shell-page .session-ide-left {
    order: 3;
  }
  .wwdc-shell-page .shell-path-links {
    overflow: visible;
  }
  .wwdc-shell-page .shell-path-group {
    grid-template-columns: 1fr;
  }
}
/* Workbench shell menu polish v5 end */

/* Workbench shell home entry: right-top return to Insight home. */
.wwdc-shell-page .insight-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(185,28,28,.24);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(254,242,242,.86));
  color: var(--shell-red, #b91c1c);
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(185,28,28,.08);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.wwdc-shell-page .insight-home-btn::before {
  content: "⌂";
  font-size: 13px;
  line-height: 1;
}
.wwdc-shell-page .insight-home-btn:hover,
.wwdc-shell-page .insight-home-btn:focus-visible {
  color: #fff;
  border-color: var(--shell-red, #b91c1c);
  background: linear-gradient(135deg, #b91c1c, #dc2626);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(185,28,28,.18);
  outline: none;
}
.wwdc-shell-page .insight-home-btn:focus-visible {
  outline: 2px solid rgba(185,28,28,.34);
  outline-offset: 2px;
}
@media(max-width:1180px) {
  .wwdc-shell-page .session-ide-video {
    justify-content: space-between;
  }
  .wwdc-shell-page .insight-home-btn {
    margin-left: auto;
  }
}
@media(max-width:720px) {
  .wwdc-shell-page .insight-home-btn {
    min-height: 30px;
    padding: 5px 10px;
  }
}
/* Workbench shell home entry end. */

/* Session card tag system: multi-dimensional labels and fast tag filters. */
.session-tag-filter-panel {
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.88));
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
  padding: 12px 14px;
  margin: 12px 0 10px;
}
.session-tag-filter-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}
.session-tag-filter-head h2 {
  margin: 4px 0 2px;
  font-size: 18px;
  letter-spacing: -.02em;
}
.session-tag-filter-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.session-tag-clear {
  border: 1px solid rgba(185,28,28,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  padding: 7px 10px;
  cursor: pointer;
  white-space: nowrap;
}
.session-tag-clear:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.session-tag-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.session-tag-group {
  min-width: 0;
  border: 1px solid rgba(203,213,225,.72);
  border-radius: 16px;
  background: rgba(255,255,255,.66);
  padding: 9px;
}
.session-tag-group > b {
  display: block;
  margin-bottom: 7px;
  color: var(--text);
  font-size: 12px;
  font-weight: 950;
}
.session-tag-chipset {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  max-height: 116px;
  overflow: auto;
  scrollbar-width: thin;
}
.session-tag-filter {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid rgba(148,163,184,.24);
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
  padding: 5px 7px;
  cursor: pointer;
  line-height: 1;
}
.session-tag-filter em {
  font-style: normal;
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
}
.session-tag-filter:hover,
.session-tag-filter.is-active {
  border-color: rgba(185,28,28,.36);
  background: rgba(254,242,242,.94);
  color: var(--accent);
}
.session-tag-filter.is-active em { color: var(--accent); }
.session-tag-active {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.session-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 22px;
}
.session-tag {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.23);
  background: rgba(248,250,252,.88);
  color: #475569;
  font-size: 10.5px;
  font-weight: 900;
  line-height: 1;
  padding: 4px 7px;
  white-space: nowrap;
}
.session-tag.tag-tech { border-color: rgba(37,99,235,.20); background: rgba(239,246,255,.92); color: #1d4ed8; }
.session-tag.tag-theme { border-color: rgba(185,28,28,.20); background: rgba(254,242,242,.92); color: var(--accent); }
.session-tag.tag-progress { border-color: rgba(124,58,237,.20); background: rgba(245,243,255,.96); color: #6d28d9; }
.session-tag.tag-status { border-color: rgba(15,118,110,.18); background: rgba(240,253,250,.96); color: #0f766e; }
.session-tag.tag-priority { border-color: rgba(234,88,12,.18); background: rgba(255,247,237,.96); color: #c2410c; }
.compact-featured-grid .session-card-tags,
.compact-card-grid .session-card-tags { max-height: 48px; overflow: hidden; }
@media(max-width:1180px){
  .session-tag-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width:720px){
  .session-tag-filter-head { display: block; }
  .session-tag-clear { margin-top: 8px; width: 100%; justify-content: center; }
  .session-tag-groups { grid-template-columns: 1fr; }
  .session-tag-chipset { max-height: none; }
}
/* Session card tag system end. */

/* LRI migration compatibility: legacy topic assets migrated from Insight. */
.insight-ref,
.insight-ref-row,
.insight-id,
.section-summary,
.processed-card,
.review-status-cell,
.review-claim,
.review-chapter,
.audit-check,
.evidence-card,
.matrix-card,
.featured-compact-card {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 14px;
  padding: 12px;
}
.insight-ref-row,
.evidence-meta,
.evidence-actions,
.cite-row,
.matrix-top,
.matrix-metrics,
.session-card-meta,
.session-badges,
.video-seek-strip,
.section-seek-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.insight-id,
.cite-chip,
.tag-filter-tech,
.tag-filter-theme,
.tag-filter-status,
.tag-filter-progress,
.ungraded,
.sample_claim,
.auto_claim,
.auto_refined,
.deep_candidate,
.deep_refined,
.deep_claim {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 9px;
  background: var(--surface-2);
  color: var(--soft);
  font-size: 12px;
  line-height: 1.35;
}
.auto_refined,
.deep_refined {
  color: var(--green);
  background: var(--green-soft);
  border-color: rgba(15, 118, 110, 0.18);
}
.deep_candidate,
.sample_claim,
.auto_claim {
  color: var(--accent-2);
  background: var(--blue-soft);
  border-color: rgba(37, 99, 235, 0.18);
}
.ungraded {
  color: var(--warn);
  background: var(--warn-soft);
  border-color: rgba(217, 119, 6, 0.2);
}
.cite-section,
.claims-grid,
.portfolio-metrics {
  display: grid;
  gap: 12px;
}
.claims-grid,
.portfolio-metrics {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.evidence-card,
.matrix-card,
.processed-card,
.featured-compact-card {
  box-shadow: var(--shadow-sm);
}
.matrix-no {
  font-weight: 800;
  color: var(--accent);
}
.topic-rail-note,
.shell-right-title {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.wwdc-shell-frame {
  min-height: 70vh;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface);
  overflow: hidden;
}

/* LRI migration compatibility: WWDC compact/review layouts. */
.compact-wrap,
.review-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}
.compact-featured-section,
.evidence-matrix,
.evidence-rail,
.review-index-list {
  display: grid;
  gap: 14px;
}
.matrix-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.matrix-table {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.review-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 0;
}


/* LRI one-page editable report support: standalone aliases of workbench overview. */
.onepage-report, .onepage-report * { min-width: 0; overflow-wrap: anywhere; word-break: normal; }
.onepage-report .takeaway-card, .onepage-report .card, .onepage-report .layer-card { max-width: 100%; }
.onepage-report .hero::after { display: none; }
.onepage-report .footer { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.onepage-report .footer span { max-width: 100%; overflow-wrap: anywhere; }
.topic-shell-page .topic-shell-top { max-width: 100%; overflow: hidden; }
.topic-shell-page .topic-shell-brand { min-width: 0; max-width: 100%; }
.topic-shell-page .topic-shell-brand > div { min-width: 0; max-width: 100%; }
.topic-shell-page .topic-shell-brand b,
.topic-shell-page .topic-shell-brand small { display: block; max-width: 100%; overflow-wrap: anywhere; }
.topic-shell-page .topic-shell-global { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.topic-shell-page .topic-shell-global a { white-space: nowrap; }

body[data-lri-shell="auto"] > main.topic-shell {
  grid-template-rows: minmax(0, 1fr);
  grid-template-areas: "left center right";
}

/* === LRI unified workbench content contract v1 ===
   Shell/chrome is universal. Topic, report, page, and session adapters may
   choose different information layouts while sharing the same visual grammar. */
:root {
  --lri-workbench-content-max: 1480px;
  --lri-workbench-gutter: clamp(12px, 1.7vw, 24px);
  --lri-workbench-section-gap: clamp(20px, 2.4vw, 30px);
  --lri-workbench-card-gap: 14px;
  --lri-workbench-radius: 15px;
  --lri-workbench-hero-radius: 19px;
  --lri-workbench-border: #d8dee7;
  --lri-workbench-surface: #fff;
  --lri-workbench-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.055);
}
body[data-lri-content-kind] {
  background: #f3f5f7;
}
.lri-content-adapter {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
body[data-lri-content-kind="topic"] .lri-topic-adapter,
body[data-lri-content-kind="report"] .lri-report-adapter,
body[data-lri-content-kind="page"] .lri-page-adapter {
  width: min(100%, var(--lri-workbench-content-max));
  margin-inline: auto !important;
  padding: var(--lri-workbench-gutter) !important;
}
body[data-lri-content-kind="session"] .lri-session-adapter {
  margin: 0 !important;
  padding: 0 !important;
}
body[data-lri-content-kind="topic"] .topic-workspace {
  display: grid;
  gap: var(--lri-workbench-section-gap);
  padding: 0 0 var(--lri-workbench-gutter);
}
body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .section, section):first-child {
  margin-top: 0;
}
body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.section, section) {
  margin-top: var(--lri-workbench-section-gap);
}
body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > .hero,
body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > .brief-hero {
  border: 1px solid var(--lri-workbench-border);
  border-left: 5px solid var(--accent);
  border-radius: var(--lri-workbench-hero-radius);
  padding: clamp(22px, 3vw, 34px);
  background: linear-gradient(135deg, rgba(255,255,255,.99), rgba(247,249,252,.96));
  box-shadow: var(--lri-workbench-shadow);
}
body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) h1 {
  margin: 10px 0 10px;
  max-width: 1080px;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .lead {
  max-width: 980px;
  margin-block: 8px;
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.62;
}
body[data-lri-content-kind] :is(.section-title, .section-head) {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--lri-workbench-border);
}
body[data-lri-content-kind] :is(.section-title, .section-head) h2 {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.15;
}
body[data-lri-content-kind] :is(.card, .box, .callout, .risk, .stat, .panel, .topic-rail-card, .analysis-card) {
  border-color: var(--lri-workbench-border);
  border-radius: var(--lri-workbench-radius);
  background: var(--lri-workbench-surface);
  box-shadow: var(--lri-workbench-shadow);
}
body[data-lri-content-kind] :is(.grid, .grid-2, .grid-3, .grid-4, .grid-5, .grid2, .grid3, .grid4, .stats, .portfolio-metrics, .claims-grid) {
  gap: var(--lri-workbench-card-gap);
}
body[data-lri-content-kind] .actions {
  align-items: center;
  gap: 8px;
}
body[data-lri-content-kind] .actions > :is(a, button):not(.btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 11px;
  border: 1px solid #cfd6df;
  border-radius: 10px;
  background: #fff;
  color: #334155;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
body[data-lri-content-kind] .actions > :is(a, button):not(.btn):hover,
body[data-lri-content-kind] .actions > :is(a, button):not(.btn):focus-visible {
  border-color: #8eb8b3;
  background: #eef7f5;
  color: #0f5f58;
  outline: none;
}
body[data-lri-content-kind] :is(.table-wrap, .tablewrap, .matrix-table) {
  max-width: 100%;
  overflow-x: auto;
  border-color: var(--lri-workbench-border);
  border-radius: var(--lri-workbench-radius);
  background: #fff;
}
body[data-lri-content-kind="topic"] :is(.topic-path-rail, .topic-evidence-rail) {
  min-width: 0;
}
body[data-lri-content-kind="topic"] .topic-rail-card {
  margin-bottom: 9px;
  padding: 11px;
}
@media(max-width:760px) {
  :root {
    --lri-workbench-gutter: 9px;
    --lri-workbench-section-gap: 18px;
    --lri-workbench-card-gap: 10px;
    --lri-workbench-radius: 13px;
    --lri-workbench-hero-radius: 14px;
  }
  body[data-lri-content-kind="topic"] .lri-topic-adapter,
  body[data-lri-content-kind="report"] .lri-report-adapter,
  body[data-lri-content-kind="page"] .lri-page-adapter {
    padding: var(--lri-workbench-gutter) !important;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > .hero,
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > .brief-hero {
    padding: 18px 16px;
    border-left-width: 4px;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) h1 {
    font-size: clamp(26px, 8vw, 32px);
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .lead {
    font-size: 14px;
    line-height: 1.55;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .eyebrow {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    scrollbar-width: none;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .eyebrow::-webkit-scrollbar {
    display: none;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .eyebrow > * {
    flex: 0 0 auto;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .actions {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    scrollbar-width: none;
    margin-top: 10px;
    padding-bottom: 2px;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .actions::-webkit-scrollbar {
    display: none;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .actions > :is(a, button) {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 7px 10px;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .stat {
    min-height: 62px;
    padding: 9px 10px;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .stat b {
    font-size: 20px;
    line-height: 1.1;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) .stat span {
    font-size: 11px;
  }
  body[data-lri-content-kind] :is(.topic-workspace, .report-brief, .page) > :is(.hero, .brief-hero) > .callout {
    margin-top: 12px;
    padding: 11px 12px;
  }
  body[data-lri-content-kind] :is(.section-title, .section-head) {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 8px;
  }
  body[data-lri-content-kind] :is(.section-title, .section-head) h2 {
    font-size: 21px;
  }
  body[data-lri-content-kind] :is(.card, .box, .callout, .risk, .stat, .panel, .analysis-card) {
    padding: 13px;
  }
  body[data-lri-content-kind] .actions {
    align-items: stretch;
  }
  body[data-lri-content-kind] .actions > :is(a, button) {
    flex: 1 1 auto;
  }
}

/* Russian AI Top100 resource registry */
body[data-lri-content-kind="resource-registry"] {
  --registry-ink: #171717;
  --registry-muted: #626262;
  --registry-line: #dedede;
  --registry-soft: #f5f5f5;
  --registry-accent: #c7000b;
  --registry-good: #0b7554;
}

body[data-lri-content-kind="resource-registry"] .registry-hero {
  overflow: visible;
}

body[data-lri-content-kind="resource-registry"] .hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 0.7fr);
  gap: 28px;
  align-items: end;
}

body[data-lri-content-kind="resource-registry"] .boundary-note {
  border-left: 4px solid var(--registry-accent);
  background: var(--registry-soft);
  padding: 18px 20px;
  border-radius: 0 12px 12px 0;
}

body[data-lri-content-kind="resource-registry"] .boundary-note strong {
  color: var(--registry-accent);
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body[data-lri-content-kind="resource-registry"] .boundary-note p {
  margin: 8px 0 0;
  color: var(--registry-muted);
  line-height: 1.65;
}

body[data-lri-content-kind="resource-registry"] .registry-metrics {
  margin-top: 28px;
}

body[data-lri-content-kind="resource-registry"] .registry-metrics .metric {
  min-height: 122px;
}

body[data-lri-content-kind="resource-registry"] .registry-metrics strong {
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1;
}

body[data-lri-content-kind="resource-registry"] .metric-label {
  color: var(--registry-muted);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}

body[data-lri-content-kind="resource-registry"] .registry-metrics small {
  display: block;
  margin-top: 10px;
  color: var(--registry-muted);
}

body[data-lri-content-kind="resource-registry"] .snapshot-line {
  margin: 16px 0 0;
  color: var(--registry-muted);
  font-size: 13px;
}

body[data-lri-content-kind="resource-registry"] .language-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}

body[data-lri-content-kind="resource-registry"] .registry-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(170px, 1fr)) 100px auto;
  gap: 12px;
  align-items: end;
  padding: 16px;
  margin: 18px 0 12px;
  border: 1px solid var(--registry-line);
  background: #fff;
  border-radius: 14px;
}

body[data-lri-content-kind="resource-registry"] .control {
  display: grid;
  gap: 7px;
  min-width: 0;
}

body[data-lri-content-kind="resource-registry"] .control > span {
  color: var(--registry-muted);
  font-size: 12px;
  font-weight: 700;
}

body[data-lri-content-kind="resource-registry"] .control-size {
  min-width: 90px;
}

body[data-lri-content-kind="resource-registry"] .control input,
body[data-lri-content-kind="resource-registry"] .control select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  background: #fff;
  color: var(--registry-ink);
  padding: 9px 11px;
  font: inherit;
}

body[data-lri-content-kind="resource-registry"] .control input:focus,
body[data-lri-content-kind="resource-registry"] .control select:focus {
  outline: 3px solid rgba(199, 0, 11, .12);
  border-color: var(--registry-accent);
}

body[data-lri-content-kind="resource-registry"] .reset-button {
  min-height: 42px;
  white-space: nowrap;
}

body[data-lri-content-kind="resource-registry"] .registry-status {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin: 10px 2px;
  color: var(--registry-muted);
  font-size: 13px;
}

body[data-lri-content-kind="resource-registry"] .registry-table-wrap {
  border: 1px solid var(--registry-line);
  border-radius: 14px;
  background: #fff;
  max-height: 72vh;
  overflow: auto;
}

body[data-lri-content-kind="resource-registry"] .registry-table {
  width: 100%;
  min-width: 1320px;
  border-collapse: separate;
  border-spacing: 0;
}

body[data-lri-content-kind="resource-registry"] .registry-table th,
body[data-lri-content-kind="resource-registry"] .registry-table td {
  padding: 13px 12px;
  vertical-align: top;
  border-bottom: 1px solid #e7e7e7;
  background: #fff;
}

body[data-lri-content-kind="resource-registry"] .registry-table th {
  position: sticky;
  top: 0;
  z-index: 4;
  background: #f7f7f7;
  color: #4d4d4d;
  font-size: 12px;
  text-align: left;
  white-space: nowrap;
  box-shadow: 0 1px 0 var(--registry-line);
}

body[data-lri-content-kind="resource-registry"] .registry-table th:first-child,
body[data-lri-content-kind="resource-registry"] .registry-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  width: 68px;
  text-align: center;
}

body[data-lri-content-kind="resource-registry"] .registry-table th:nth-child(2),
body[data-lri-content-kind="resource-registry"] .registry-table td:nth-child(2) {
  position: sticky;
  left: 68px;
  z-index: 3;
  min-width: 210px;
  box-shadow: 1px 0 0 #e7e7e7;
}

body[data-lri-content-kind="resource-registry"] .registry-table th:first-child,
body[data-lri-content-kind="resource-registry"] .registry-table th:nth-child(2) {
  z-index: 5;
  background: #f7f7f7;
}

body[data-lri-content-kind="resource-registry"] .registry-table tbody tr:hover td {
  background: #fafafa;
}

body[data-lri-content-kind="resource-registry"] .registry-table tbody tr:hover td:first-child,
body[data-lri-content-kind="resource-registry"] .registry-table tbody tr:hover td:nth-child(2) {
  background: #fafafa;
}

body[data-lri-content-kind="resource-registry"] .rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #ededed;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

body[data-lri-content-kind="resource-registry"] .rank-badge.top-rank {
  background: var(--registry-accent);
  color: #fff;
}

body[data-lri-content-kind="resource-registry"] .scholar-name {
  display: block;
  color: var(--registry-ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

body[data-lri-content-kind="resource-registry"] .scholar-name:hover {
  color: var(--registry-accent);
  text-decoration: underline;
}

body[data-lri-content-kind="resource-registry"] .scholar-id,
body[data-lri-content-kind="resource-registry"] .cell-note {
  display: block;
  margin-top: 5px;
  color: var(--registry-muted);
  font-size: 11px;
  line-height: 1.45;
}

body[data-lri-content-kind="resource-registry"] .institution-list,
body[data-lri-content-kind="resource-registry"] .topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 220px;
}

body[data-lri-content-kind="resource-registry"] .institution-chip,
body[data-lri-content-kind="resource-registry"] .topic-chip,
body[data-lri-content-kind="resource-registry"] .status-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  line-height: 1.35;
}

body[data-lri-content-kind="resource-registry"] .institution-chip {
  border: 1px solid #dddddd;
  color: #3d3d3d;
  background: #fff;
}

body[data-lri-content-kind="resource-registry"] .topic-chip {
  background: #f0f0f0;
  color: #343434;
}

body[data-lri-content-kind="resource-registry"] .status-chip.verified {
  background: #e7f6ef;
  color: var(--registry-good);
  font-weight: 700;
}

body[data-lri-content-kind="resource-registry"] .status-chip.unverified {
  background: #fff2e8;
  color: #8c4d11;
}

body[data-lri-content-kind="resource-registry"] .numeric-cell {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body[data-lri-content-kind="resource-registry"] .score-cell strong {
  color: var(--registry-accent);
  font-size: 16px;
}

body[data-lri-content-kind="resource-registry"] .sort-button {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

body[data-lri-content-kind="resource-registry"] .sort-button::after {
  content: " ↕";
  color: #9b9b9b;
}

body[data-lri-content-kind="resource-registry"] .sort-button.active[data-direction="asc"]::after {
  content: " ↑";
  color: var(--registry-accent);
}

body[data-lri-content-kind="resource-registry"] .sort-button.active:not([data-direction="asc"])::after {
  content: " ↓";
  color: var(--registry-accent);
}

body[data-lri-content-kind="resource-registry"] .detail-button {
  min-height: 34px;
  padding: 6px 10px;
  white-space: nowrap;
}

body[data-lri-content-kind="resource-registry"] .loading-cell,
body[data-lri-content-kind="resource-registry"] .empty-cell,
body[data-lri-content-kind="resource-registry"] .error-cell {
  padding: 42px !important;
  text-align: center;
  color: var(--registry-muted);
}

body[data-lri-content-kind="resource-registry"] .error-cell {
  color: var(--registry-accent);
}

body[data-lri-content-kind="resource-registry"] .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding-top: 18px;
}

body[data-lri-content-kind="resource-registry"] .pagination button:disabled {
  opacity: .42;
  cursor: not-allowed;
}

body[data-lri-content-kind="resource-registry"] .methodology-card {
  margin-bottom: 48px;
}

body[data-lri-content-kind="resource-registry"] .methodology-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-lri-content-kind="resource-registry"] .step-index {
  color: var(--registry-accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

body[data-lri-content-kind="resource-registry"] .profile-dialog {
  width: min(860px, calc(100vw - 30px));
  max-height: min(86vh, 900px);
  border: 0;
  border-radius: 18px;
  padding: 0;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
}

body[data-lri-content-kind="resource-registry"] .profile-dialog::backdrop {
  background: rgba(0, 0, 0, .48);
  backdrop-filter: blur(3px);
}

body[data-lri-content-kind="resource-registry"] .dialog-shell {
  margin: 0;
}

body[data-lri-content-kind="resource-registry"] .dialog-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px 16px;
  background: #fff;
  border-bottom: 1px solid var(--registry-line);
}

body[data-lri-content-kind="resource-registry"] .dialog-header h2 {
  margin: 8px 0 0;
}

body[data-lri-content-kind="resource-registry"] .dialog-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--registry-line);
  border-radius: 50%;
  background: #fff;
  color: #333;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

body[data-lri-content-kind="resource-registry"] .dialog-content {
  padding: 22px 24px 28px;
  overflow: auto;
}

body[data-lri-content-kind="resource-registry"] .dialog-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}

body[data-lri-content-kind="resource-registry"] .dialog-metric {
  border: 1px solid var(--registry-line);
  border-radius: 10px;
  padding: 12px;
  background: var(--registry-soft);
}

body[data-lri-content-kind="resource-registry"] .dialog-metric span {
  display: block;
  color: var(--registry-muted);
  font-size: 11px;
}

body[data-lri-content-kind="resource-registry"] .dialog-metric strong {
  display: block;
  margin-top: 6px;
  font-size: 21px;
  font-variant-numeric: tabular-nums;
}

body[data-lri-content-kind="resource-registry"] .detail-section {
  padding: 16px 0;
  border-top: 1px solid var(--registry-line);
}

body[data-lri-content-kind="resource-registry"] .detail-section h3 {
  margin: 0 0 10px;
  font-size: 15px;
}

body[data-lri-content-kind="resource-registry"] .detail-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body[data-lri-content-kind="resource-registry"] .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 1180px) {
  body[data-lri-content-kind="resource-registry"] .registry-controls {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-lri-content-kind="resource-registry"] .control-search {
    grid-column: span 2;
  }

  body[data-lri-content-kind="resource-registry"] .methodology-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-lri-content-kind="resource-registry"] .hero-grid,
body[data-lri-content-kind="resource-registry"] .registry-controls,
body[data-lri-content-kind="resource-registry"] .methodology-grid,
body[data-lri-content-kind="resource-registry"] .dialog-metrics {
    grid-template-columns: 1fr;
  }

  body[data-lri-content-kind="resource-registry"] .control-search {
    grid-column: auto;
  }

  body[data-lri-content-kind="resource-registry"] .registry-status {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  body[data-lri-content-kind="resource-registry"] .registry-table-wrap {
    max-height: none;
    margin-left: -12px;
    margin-right: -12px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }

  body[data-lri-content-kind="resource-registry"] .registry-table {
    min-width: 1160px;
  }

  body[data-lri-content-kind="resource-registry"] .registry-table th,
body[data-lri-content-kind="resource-registry"] .registry-table td {
    padding: 11px 9px;
  }

  body[data-lri-content-kind="resource-registry"] .registry-table th:first-child,
body[data-lri-content-kind="resource-registry"] .registry-table td:first-child {
    width: 54px;
  }

  body[data-lri-content-kind="resource-registry"] .registry-table th:nth-child(2),
body[data-lri-content-kind="resource-registry"] .registry-table td:nth-child(2) {
    left: 54px;
    min-width: 178px;
  }

  body[data-lri-content-kind="resource-registry"] .dialog-header,
body[data-lri-content-kind="resource-registry"] .dialog-content {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-lri-content-kind="resource-registry"] *,
body[data-lri-content-kind="resource-registry"] *::before,
body[data-lri-content-kind="resource-registry"] *::after {
    scroll-behavior: auto !important;
  }
}
/* Frontier AI Minds TableGit adapter */
.frontier-view[hidden] { display: none; }
.frontier-viewer-page .topic-path-link[aria-current="page"] { border-color: var(--accent, #c7000b); background: color-mix(in srgb, var(--accent, #c7000b) 10%, transparent); }
.frontier-person-links, .frontier-quick-links { display: grid; gap: .45rem; }
.frontier-person-links a, .frontier-quick-links a { color: inherit; text-decoration: none; }
.frontier-person-links a:hover, .frontier-quick-links a:hover { color: var(--accent, #c7000b); }
.frontier-metrics { margin: 1rem 0 1.4rem; }
.frontier-filter-row { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0 0 1.25rem; }
.frontier-filter-row label { display: grid; gap: .35rem; min-width: min(18rem, 100%); font-size: .85rem; color: var(--muted, #666); }
.frontier-filter-row select { min-height: 2.5rem; border: 1px solid var(--line, #ddd); border-radius: .5rem; background: var(--surface, #fff); color: inherit; padding: .45rem .65rem; }
.frontier-timeline { display: grid; gap: 1rem; }
.frontier-event { position: relative; border-left: 3px solid var(--accent, #c7000b); }
.frontier-event blockquote { margin: .75rem 0; padding-left: 1rem; border-left: 2px solid var(--line, #ddd); color: var(--muted, #555); }
.frontier-event-meta { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.frontier-event-meta a { overflow-wrap: anywhere; }
.frontier-person-detail { margin-top: 1.5rem; }
.frontier-person-detail > .hero { margin-bottom: 1rem; }
.frontier-selection { border-top: 3px solid var(--accent, #c7000b); }
.frontier-selection .stats { margin-top: .75rem; }
.frontier-outline { display: grid; gap: .8rem; }
.frontier-outline article { display: grid; grid-template-columns: minmax(3rem, 5rem) 1fr; gap: 1rem; align-items: start; }
.frontier-outline-number { font-size: 1.7rem; font-weight: 750; color: var(--accent, #c7000b); }
.frontier-deck-controls { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.frontier-deck-controls button { min-width: 2.5rem; min-height: 2.5rem; border: 1px solid var(--line, #ddd); border-radius: 50%; background: var(--surface, #fff); color: inherit; cursor: pointer; }
.frontier-slide { aspect-ratio: 16 / 9; min-height: 24rem; display: grid; align-content: center; padding: clamp(1.5rem, 5vw, 4.5rem); border: 1px solid var(--line, #ddd); border-top: .45rem solid var(--accent, #c7000b); border-radius: 1rem; background: linear-gradient(145deg, var(--surface, #fff), color-mix(in srgb, var(--accent, #c7000b) 4%, var(--surface, #fff))); box-shadow: 0 1rem 3rem rgba(0,0,0,.08); }
.frontier-slide h3 { max-width: 18ch; font-size: clamp(1.8rem, 4vw, 3.8rem); line-height: 1.05; margin: .5rem 0 1.25rem; }
.frontier-slide p { max-width: 60ch; }
.frontier-catalog-count { font-size: 1.9rem; font-weight: 750; }
.frontier-source-only { color: var(--muted, #666); font-size: .8rem; }
.frontier-runtime-error { border-color: #b42318; color: #b42318; }
.tablegit-view-group > div { display: grid; gap: .4rem; }
.topic-path-link[data-section-id][hidden] { display: none !important; }
.tablegit-view-group .topic-path-link { padding: .55rem .65rem; }
.tablegit-view-group .topic-path-link[aria-current="page"] { border-color: var(--accent, #c7000b); background: color-mix(in srgb, var(--accent, #c7000b) 10%, transparent); }
.tablegit-focused-view[hidden] { display: none; }
.tablegit-focused-block { margin-top: 1rem; }
.tablegit-focused-card dl { display: grid; gap: .4rem; margin: .8rem 0 0; }
.tablegit-focused-card dl div { display: grid; grid-template-columns: minmax(7rem, 11rem) 1fr; gap: .75rem; border-top: 1px solid var(--line, #ddd); padding-top: .4rem; }
.tablegit-focused-card dt { color: var(--muted, #666); font-size: .78rem; text-transform: uppercase; }
.tablegit-focused-card dd { margin: 0; overflow-wrap: anywhere; }
.tablegit-focused-search { display: grid; gap: .4rem; max-width: 34rem; margin: 0 0 1rem; color: var(--muted, #666); font-size: .85rem; }
.tablegit-focused-search input { min-height: 2.65rem; border: 1px solid var(--line, #ddd); border-radius: .55rem; background: var(--surface, #fff); color: inherit; padding: .5rem .7rem; }
.tablegit-focused-deck-controls { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.tablegit-focused-deck-controls button { min-width: 2.5rem; min-height: 2.5rem; border: 1px solid var(--line, #ddd); border-radius: 50%; background: var(--surface, #fff); color: inherit; cursor: pointer; }
.tablegit-focused-slide { aspect-ratio: 16 / 9; min-height: 24rem; display: grid; align-content: center; padding: clamp(1.5rem, 5vw, 4.5rem); border: 1px solid var(--line, #ddd); border-top: .45rem solid var(--accent, #c7000b); border-radius: 1rem; background: linear-gradient(145deg, var(--surface, #fff), color-mix(in srgb, var(--accent, #c7000b) 4%, var(--surface, #fff))); box-shadow: 0 1rem 3rem rgba(0,0,0,.08); }
.tablegit-focused-slide > .card { border: 0; box-shadow: none; background: transparent; padding: 0; }
@media (max-width: 760px) {
  .frontier-outline article { grid-template-columns: 1fr; }
  .frontier-slide { min-height: 22rem; aspect-ratio: auto; }
  .tablegit-focused-card dl div { grid-template-columns: 1fr; }
  .tablegit-focused-slide { min-height: 22rem; aspect-ratio: auto; }
}


/* TableGit focused view grammar v2: semantic layouts without business-data ownership. */
.tablegit-view-grammar-v2 { display: contents; }
.tablegit-narrative-slide { align-content: stretch; gap: 1.15rem; }
.tablegit-narrative-slide > header h2 { margin: .5rem 0; font-size: clamp(1.65rem, 3vw, 2.75rem); line-height: 1.08; }
.tablegit-narrative-slide > header .lead { max-width: 62rem; font-size: clamp(1rem, 1.6vw, 1.35rem); }
.tablegit-narrative-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.tablegit-narrative-field { border: 1px solid var(--line,#ddd); border-radius: .8rem; padding: .85rem 1rem; background: color-mix(in srgb,var(--surface,#fff) 96%,var(--accent,#c7000b)); }
.tablegit-narrative-field > span { display:block; color:var(--muted,#666); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.tablegit-narrative-field p { margin:.35rem 0 0; }
.tablegit-narrative-field.decision { border-left:.28rem solid var(--accent,#c7000b); }
.tablegit-narrative-field.boundary { border-left:.28rem solid #8a6d1f; }
.tablegit-evidence-chips { display:flex; flex-wrap:wrap; gap:.35rem; }
.tablegit-evidence-chips span { border:1px solid var(--line,#ddd); border-radius:999px; padding:.22rem .5rem; font-size:.72rem; overflow-wrap:anywhere; }
.tablegit-visual-note,.tablegit-speaker-note { margin:0; padding:.65rem .8rem; border-radius:.65rem; background:color-mix(in srgb,var(--accent,#c7000b) 5%,transparent); }
.tablegit-speaker-note { margin-top:auto; font-weight:600; }
.tablegit-collection-slide { align-content:start; gap:1rem; overflow:auto; }
.tablegit-collection-slide > header h2 { margin:.25rem 0; font-size:clamp(1.5rem,2.5vw,2.35rem); }
.tablegit-collection-slide-grid .card { min-width:0; }
.tablegit-focused-inventory { display:grid; gap:.55rem; }
.tablegit-inventory-row { display:grid; grid-template-columns:3.25rem minmax(0,1fr); gap:.8rem; align-items:start; padding:.7rem 0; border-bottom:1px solid var(--line,#ddd); }
.tablegit-inventory-index { color:var(--muted,#666); font-variant-numeric:tabular-nums; font-weight:700; padding-top:.35rem; }
.tablegit-inventory-row .card { border:0; box-shadow:none; padding:.2rem 0 .55rem; background:transparent; }
.tablegit-focused-outline { display:grid; gap:.75rem; }
.tablegit-focused-outline > article { display:grid; grid-template-columns:4rem minmax(0,1fr); gap:1rem; padding:1rem; border:1px solid var(--line,#ddd); border-radius:.8rem; }
.tablegit-outline-number,.tablegit-section-number { color:var(--accent,#c7000b); font-size:1.4rem; font-weight:800; font-variant-numeric:tabular-nums; }
.tablegit-focused-outline h3 { margin:.2rem 0 .45rem; }
.tablegit-briefing-section { margin:1rem 0 1.5rem; }
.tablegit-briefing-section > header { display:flex; gap:.8rem; align-items:flex-start; margin-bottom:.75rem; }
.tablegit-briefing-section > header h3 { margin:0; }
.tablegit-briefing-card { position:relative; overflow:hidden; }

/* WWDC shell is a document workspace, not a viewport-locked standalone Session IDE.
   Keep the outer document naturally scrollable; Session video/panes own their local
   sticky/overflow behavior inside the runtime. */
body.wwdc-shell-page {
  height:auto!important;
  min-height:100vh!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior-y:auto!important;
}
body.wwdc-shell-page #wwdcWorkbenchView {
  overflow:visible!important;
}
.tablegit-briefing-card::before { content:''; position:absolute; inset:0 auto 0 0; width:.2rem; background:var(--accent,#c7000b); opacity:.75; }
.tablegit-briefing-judgement { font-weight:650; font-size:1.02rem; }
@media (max-width:760px) {
  .tablegit-narrative-grid { grid-template-columns:1fr; }
  .tablegit-focused-outline > article { grid-template-columns:2.5rem minmax(0,1fr); }
  .tablegit-inventory-row { grid-template-columns:2.5rem minmax(0,1fr); }
}


/* Frontier AI Minds view grammar: TableGit-driven outline and research deck. */
.frontier-outline-card { display:grid; grid-template-columns:3.5rem minmax(0,1fr); gap:1rem; }
.frontier-outline-meta,.frontier-slide-meta { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; }
.frontier-outline-boundary { margin-top:.75rem; padding:.65rem .8rem; border-radius:.65rem; border:1px solid var(--line,#ddd); }
.frontier-outline-boundary.pending { border-left:.28rem solid #8a6d1f; background:color-mix(in srgb,#b38a22 7%,transparent); }
.frontier-outline-boundary.ready { border-left:.28rem solid #1f7a4d; background:color-mix(in srgb,#1f7a4d 6%,transparent); }
.frontier-outline-boundary p { margin:.25rem 0 .45rem; }
.frontier-research-slide { aspect-ratio:16/9; min-height:24rem; display:grid; align-content:start; gap:1rem; padding:clamp(1.2rem,4vw,3.5rem); border:1px solid var(--line,#ddd); border-top:.4rem solid var(--accent,#c7000b); border-radius:1rem; background:linear-gradient(145deg,var(--surface,#fff),color-mix(in srgb,var(--accent,#c7000b) 4%,var(--surface,#fff))); box-shadow:0 1rem 3rem rgba(0,0,0,.08); }
.frontier-research-slide h3 { margin:.25rem 0 0; font-size:clamp(1.6rem,3vw,2.6rem); line-height:1.08; }
.frontier-slide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.frontier-slide-grid > article { padding:.9rem 1rem; border:1px solid var(--line,#ddd); border-radius:.8rem; background:color-mix(in srgb,var(--surface,#fff) 96%,var(--accent,#c7000b)); }
.frontier-slide-grid > article > span { display:block; color:var(--muted,#666); font-size:.76rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.frontier-slide-grid p { margin:.35rem 0 0; }
.frontier-deck-map { margin-top:auto; display:grid; grid-template-columns:repeat(14,minmax(0,1fr)); gap:.25rem; }
.frontier-deck-map button { min-width:0; min-height:2rem; border:1px solid var(--line,#ddd); border-radius:.35rem; background:var(--surface,#fff); color:inherit; font-size:.72rem; cursor:pointer; }
.frontier-deck-map button[aria-current="page"] { border-color:var(--accent,#c7000b); background:color-mix(in srgb,var(--accent,#c7000b) 10%,var(--surface,#fff)); font-weight:800; }
@media (max-width:760px) {
  .frontier-outline-card { grid-template-columns:2.4rem minmax(0,1fr); }
  .frontier-research-slide { aspect-ratio:auto; min-height:26rem; }
  .frontier-slide-grid { grid-template-columns:1fr; }
  .frontier-deck-map { grid-template-columns:repeat(7,minmax(0,1fr)); }
}


/* Focused semantic issue-board and resource-graph views. */
.tablegit-issue-board,.tablegit-graph-map,.tablegit-graph-relations { margin:1rem 0 1.5rem; }
.tablegit-issue-board>header,.tablegit-graph-map>header,.tablegit-graph-relations>header { display:flex; gap:.8rem; align-items:flex-start; margin-bottom:.8rem; }
.tablegit-issue-board h3,.tablegit-graph-map h3,.tablegit-graph-relations h3 { margin:0; }
.tablegit-issue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.tablegit-issue-card { position:relative; padding-top:2.5rem; border-top:.22rem solid var(--accent,#c7000b); }
.tablegit-issue-number { position:absolute; top:.7rem; right:.8rem; color:var(--muted,#666); font-size:.76rem; font-weight:800; }
.tablegit-node-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.tablegit-node-groups>section { border:1px solid var(--line,#ddd); border-radius:.8rem; padding:.75rem; min-width:0; }
.tablegit-node-groups h4 { display:flex; justify-content:space-between; gap:.5rem; margin:0 0 .6rem; text-transform:capitalize; }
.tablegit-node-groups h4 span { color:var(--muted,#666); font-variant-numeric:tabular-nums; }
.tablegit-node-groups>section>div { display:grid; gap:.45rem; }
.tablegit-node-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.15rem .5rem; padding:.55rem .6rem; border-radius:.55rem; background:color-mix(in srgb,var(--surface,#fff) 95%,var(--accent,#c7000b)); }
.tablegit-node-card b { grid-column:1/-1; overflow-wrap:anywhere; }
.tablegit-node-card small { color:var(--muted,#666); overflow-wrap:anywhere; }
.tablegit-node-card span { color:var(--muted,#666); font-size:.72rem; white-space:nowrap; }
.tablegit-node-card[data-node-type="control_plane"] { border-left:.22rem solid var(--accent,#c7000b); }
.tablegit-edge-ledger { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
.tablegit-edge-ledger article { display:grid; grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto; align-items:center; gap:.4rem; padding:.55rem .65rem; border:1px solid var(--line,#ddd); border-radius:.6rem; min-width:0; }
.tablegit-edge-ledger b { overflow-wrap:anywhere; }
.tablegit-edge-ledger small { color:var(--muted,#666); }
@media (max-width:900px) { .tablegit-issue-grid,.tablegit-node-groups { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .tablegit-issue-grid,.tablegit-node-groups,.tablegit-edge-ledger { grid-template-columns:1fr; } .tablegit-edge-ledger article { grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr); } .tablegit-edge-ledger small { grid-column:2/-1; } }

.section-note { color: var(--muted); margin: .35rem 0 1rem; line-height: 1.55; }

/* WWDC reading adapter v1. Visual ownership stays in the shared stylesheet.
   Session-native layout, TableGit authority and media synchronization are unchanged. */
#wwdcWorkbenchView {
  --wwdc-reading-radius: 12px;
  --wwdc-reading-gap: 16px;
  --wwdc-reading-ink: var(--text, #111827);
  --wwdc-reading-muted: var(--soft, #374151);
  --wwdc-reading-border: var(--line, #d9dee7);
  --wwdc-reading-accent: var(--accent, #b91c1c);
  --wwdc-reading-tint: var(--accent-soft, #fff1f2);
  min-width: 0;
  background: var(--surface-3, #f3f5f8);
  color: var(--wwdc-reading-ink);
  font-family: Arial, "Microsoft YaHei", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}
#wwdcWorkbenchView *,
#wwdcWorkbenchView *::before,
#wwdcWorkbenchView *::after { box-sizing: border-box; }
#wwdcWorkbenchView :where([hidden]) { display: none !important; }
#wwdcWorkbenchView :where(.wwdc-runtime-view) {
  min-width: 0;
  padding: clamp(12px, 1.6vw, 24px);
  background: var(--surface-3, #f3f5f8);
  color: var(--wwdc-reading-ink);
}
#wwdcWorkbenchView :where(.wwdc-runtime-hero, .wwdc-runtime-hero.is-compact, .wwdc-session-identity) {
  margin: 0;
  padding: 20px 24px;
  border: 1px solid var(--wwdc-reading-border);
  border-top: 3px solid var(--wwdc-reading-accent);
  border-radius: var(--wwdc-reading-radius);
  background: var(--surface, #fff);
  color: var(--wwdc-reading-ink);
  box-shadow: none;
}
#wwdcWorkbenchView :where(.wwdc-runtime-hero h1, .wwdc-runtime-hero.is-compact h1, .wwdc-session-identity h1) {
  margin: 8px 0 12px;
  max-width: 100%;
  font-size: clamp(25px, 2.5vw, 36px);
  line-height: 1.3;
  letter-spacing: -.015em;
  color: var(--wwdc-reading-ink);
  overflow-wrap: anywhere;
}
#wwdcWorkbenchView :where(.wwdc-runtime-hero p, .wwdc-session-identity p) {
  max-width: 92ch;
  color: var(--wwdc-reading-muted);
  font-size: 15px;
  line-height: 1.75;
}
#wwdcWorkbenchView :where(.wwdc-hero-labels span, .wwdc-chip, .wwdc-tag-row span) {
  border: 1px solid var(--wwdc-reading-border);
  border-radius: 6px;
  padding: 3px 8px;
  background: var(--surface-3, #f3f5f8);
  color: var(--wwdc-reading-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
#wwdcWorkbenchView :where(.wwdc-chip.is-strong) {
  border-color: var(--wwdc-reading-accent);
  background: var(--wwdc-reading-tint);
  color: var(--wwdc-reading-accent);
}
#wwdcWorkbenchView :where(.wwdc-hero-actions, .wwdc-card-actions) { gap: 8px; margin-top: 16px; }
#wwdcWorkbenchView :where(.wwdc-action) {
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid var(--wwdc-reading-accent);
  border-radius: 8px;
  background: var(--wwdc-reading-accent);
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  box-shadow: none;
  transition: background-color .15s ease, border-color .15s ease;
}
#wwdcWorkbenchView :where(.wwdc-action.is-secondary, .wwdc-hero-actions .wwdc-action:not(:first-child)) {
  border-color: var(--wwdc-reading-border);
  background: var(--surface, #fff);
  color: var(--wwdc-reading-ink) !important;
}
#wwdcWorkbenchView :where(.wwdc-action:hover) { border-color: var(--wwdc-reading-accent); text-decoration: underline; transform: none; box-shadow: none; }
#wwdcWorkbenchView :where(a, button, input, select, summary):focus-visible {
  outline: 3px solid var(--wwdc-reading-accent);
  outline-offset: 3px;
}
#wwdcWorkbenchView :where(.wwdc-runtime-section) { margin-top: 28px; }
#wwdcWorkbenchView :where(.wwdc-section-head) { align-items: baseline; gap: 12px; margin-bottom: 14px; }
#wwdcWorkbenchView :where(.wwdc-section-head h2, .wwdc-runtime-document-head h1) { margin: 4px 0; font-size: 22px; line-height: 1.35; letter-spacing: 0; }
#wwdcWorkbenchView :where(.wwdc-kicker) { color: var(--wwdc-reading-accent); font-size: 12px; letter-spacing: .04em; font-weight: 700; }
#wwdcWorkbenchView :where(.wwdc-muted, .wwdc-evidence-theme small) { color: var(--muted, #667085); font-size: 13px; }
#wwdcWorkbenchView :where(.wwdc-runtime-grid) { gap: var(--wwdc-reading-gap); }
#wwdcWorkbenchView :where(.wwdc-runtime-grid.is-2) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
#wwdcWorkbenchView :where(.wwdc-runtime-grid.is-3) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); }
#wwdcWorkbenchView :where(.wwdc-runtime-card, .wwdc-session-reading-pane, .wwdc-runtime-document-head, .wwdc-document-view, .wwdc-evidence-theme) {
  min-width: 0;
  border: 1px solid var(--wwdc-reading-border);
  border-radius: var(--wwdc-reading-radius);
  background: var(--surface, #fff);
  box-shadow: none;
}
#wwdcWorkbenchView :where(.wwdc-runtime-card) { padding: 20px; }
#wwdcWorkbenchView :where(.wwdc-runtime-card h2, .wwdc-runtime-card h3) { margin: 10px 0; font-size: 19px; line-height: 1.45; color: var(--wwdc-reading-ink); }
#wwdcWorkbenchView :where(.wwdc-runtime-card p, .wwdc-evidence-theme > p, .wwdc-session-reading-pane p, .wwdc-theme-claim-details li span) {
  color: var(--wwdc-reading-muted);
  font-size: 15px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
#wwdcWorkbenchView :where(.wwdc-metrics) { gap: 6px; }
#wwdcWorkbenchView :where(.wwdc-metrics span, .wwdc-overview-review-strip span) { border-radius: 6px; padding: 5px 8px; font-size: 12px; background: var(--surface-3, #f3f5f8); color: var(--wwdc-reading-muted); }
#wwdcWorkbenchView :where(.wwdc-runtime-metric-strip article, .wwdc-runtime-detail-grid article) { padding: 12px 14px; border: 1px solid var(--wwdc-reading-border); border-radius: 8px; background: var(--surface, #fff); }
#wwdcWorkbenchView :where(.wwdc-runtime-metric-strip b) { font-size: 25px; line-height: 1.4; font-variant-numeric: tabular-nums; color: var(--wwdc-reading-ink); }
#wwdcWorkbenchView :where(.wwdc-runtime-metric-strip span, .wwdc-runtime-detail-grid span) { font-size: 12px; line-height: 1.5; text-transform: none; letter-spacing: 0; color: var(--muted, #667085); }
#wwdcWorkbenchView :where(.wwdc-theme-claim-details) { margin-top: 14px; padding-top: 12px; border-color: var(--wwdc-reading-border); }
#wwdcWorkbenchView :where(.wwdc-theme-claim-details summary) { min-height: 36px; font-size: 14px; line-height: 1.5; color: var(--wwdc-reading-accent); }
#wwdcWorkbenchView :where(.wwdc-theme-claim-details li) { grid-template-columns: 1fr; gap: 4px; }
#wwdcWorkbenchView :where(.wwdc-theme-claim-details li b) { overflow-wrap: anywhere; font-size: 11px; color: var(--muted, #667085); }
#wwdcWorkbenchView :where(.wwdc-runtime-toolbar) {
  position: static;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  gap: 12px;
  padding: 12px;
  border-radius: 10px;
  background: var(--surface, #fff);
  backdrop-filter: none;
  box-shadow: none;
}
#wwdcWorkbenchView :where(.wwdc-runtime-toolbar label) { font-size: 13px; }
#wwdcWorkbenchView :where(.wwdc-runtime-toolbar input, .wwdc-runtime-toolbar select) { min-width: 0; min-height: 44px; border-radius: 8px; font-size: 16px; }
#wwdcWorkbenchView :where(.wwdc-filter-buttons button) { min-height: 40px; border-radius: 8px; font-size: 13px; }
#wwdcWorkbenchView :where(.wwdc-filter-buttons button.is-active, .wwdc-session-mode-toggle button.is-active, .wwdc-session-mobile-tabs button.is-active) {
  border-color: var(--wwdc-reading-accent);
  background: var(--wwdc-reading-tint);
  color: var(--wwdc-reading-accent);
}
#wwdcWorkbenchView :where(.wwdc-runtime-toolbar output) { background: var(--surface-3, #f3f5f8); color: var(--wwdc-reading-ink); border-radius: 8px; }
#wwdcWorkbenchView :where(.wwdc-evidence-claim, .wwdc-session-section-card, .wwdc-session-insight-card) { border-radius: 10px; border-color: var(--wwdc-reading-border); background: var(--surface, #fff); box-shadow: none; }
#wwdcWorkbenchView :where(.wwdc-evidence-claim h4) { font-size: 16px; line-height: 1.65; color: var(--wwdc-reading-ink); }
#wwdcWorkbenchView :where(.wwdc-evidence-time-links a, .wwdc-evidence-time-links span, .wwdc-session-time-button) { border-radius: 6px; background: var(--wwdc-reading-tint); color: var(--wwdc-reading-accent); font-size: 13px; }
#wwdcWorkbenchView :where(.wwdc-evidence-time-links a) { align-items: center; min-height: 36px; padding: 6px 10px; }
#wwdcWorkbenchView :where(.wwdc-session-section-card.is-active, .wwdc-session-anchor-list li.is-active button) { border-color: var(--wwdc-reading-accent); background: var(--wwdc-reading-tint); box-shadow: none; }
#wwdcWorkbenchView :where(.wwdc-session-section-card h3, .wwdc-session-insight-card h3) { font-size: 17px; line-height: 1.5; }
#wwdcWorkbenchView :where(.wwdc-session-anchor-list em, .wwdc-session-capability-item p) { font-size: 15px; line-height: 1.65; }
#wwdcWorkbenchView :where(.wwdc-session-anchor-list time, .wwdc-timeline time, .wwdc-session-impact-metrics b) { color: var(--wwdc-reading-accent); }
#wwdcWorkbenchView :where(.wwdc-session-organization-card) { border-color: var(--wwdc-reading-border); border-radius: 10px; background: var(--surface-3, #f3f5f8); }
#wwdcWorkbenchView :where(.wwdc-session-capability-item, .wwdc-anchor-grid article) { border-left-color: var(--wwdc-reading-accent); }
#wwdcWorkbenchView :where(.wwdc-session-player) { border-radius: var(--wwdc-reading-radius); box-shadow: none; }
#wwdcWorkbenchView :where(.wwdc-session-current) { background: var(--wwdc-reading-accent); color: #fff; }
#wwdcWorkbenchView :where(.wwdc-session-frame-rail .is-current) { border-color: #fff; background: var(--wwdc-reading-accent); }
#wwdcWorkbenchView :where(.wwdc-session-now p) { display: block; overflow: visible; -webkit-line-clamp: unset; font-size: 13px; line-height: 1.6; }
#wwdcWorkbenchView :where(.wwdc-overview-gap-card) { border-left: 3px solid var(--warn, #b45309); background: #fffbeb; }
#wwdcWorkbenchView :where(.wwdc-runtime-error) { border: 1px solid #fca5a5; border-left: 3px solid var(--wwdc-reading-accent); background: #fff7f7; border-radius: 10px; }
#wwdcWorkbenchView :where(.wwdc-runtime-loading, .wwdc-runtime-empty) { border-radius: 10px; box-shadow: none; }
#wwdcWorkbenchView :where(.wwdc-runtime-loading span) { border-top-color: var(--wwdc-reading-accent); }
#wwdcWorkbenchView :where(.wwdc-document-view p, .wwdc-document-view li) { font-size: 15px; line-height: 1.8; }
@media (max-width: 1050px) {
  #wwdcWorkbenchView :where(.wwdc-runtime-toolbar) { grid-template-columns: minmax(0, 1fr) auto; }
  #wwdcWorkbenchView :where(.wwdc-runtime-toolbar label) { grid-column: 1 / -1; }
  #wwdcWorkbenchView :where(.wwdc-filter-buttons) { min-width: 0; flex-wrap: wrap; }
}
@media (max-width: 760px) {
  #wwdcWorkbenchView { --wwdc-reading-gap: 12px; font-size: 16px; }
  #wwdcWorkbenchView :where(.wwdc-runtime-view) { padding: 10px; }
  #wwdcWorkbenchView :where(.wwdc-runtime-hero, .wwdc-runtime-hero.is-compact) { padding: 16px; border-radius: 10px; }
  #wwdcWorkbenchView :where(.wwdc-runtime-hero h1, .wwdc-runtime-hero.is-compact h1) { font-size: 25px; margin: 8px 0 10px; line-height: 1.35; }
  #wwdcWorkbenchView :where(.wwdc-runtime-hero p, .wwdc-runtime-card p, .wwdc-evidence-theme > p, .wwdc-session-reading-pane p, .wwdc-theme-claim-details li span, .wwdc-session-anchor-list em, .wwdc-document-view p, .wwdc-document-view li) { font-size: 16px; line-height: 1.7; }
  #wwdcWorkbenchView :where(.wwdc-runtime-grid.is-2, .wwdc-runtime-grid.is-3, .wwdc-evidence-claim-list) { grid-template-columns: minmax(0, 1fr); }
  #wwdcWorkbenchView :where(.wwdc-runtime-card) { padding: 16px; }
  #wwdcWorkbenchView :where(.wwdc-runtime-section) { margin-top: 22px; }
  #wwdcWorkbenchView :where(.wwdc-section-head) { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  #wwdcWorkbenchView :where(.wwdc-section-head h2) { font-size: 21px; }
  #wwdcWorkbenchView :where(.wwdc-action, .wwdc-filter-buttons button, .wwdc-evidence-time-links a, .wwdc-session-time-button, .wwdc-session-play-button, .wwdc-session-mobile-tabs button) { min-height: 44px; }
  #wwdcWorkbenchView :where(.wwdc-theme-claim-details summary) { min-height: 44px; padding-block: 8px; }
  #wwdcWorkbenchView :where(.wwdc-runtime-metric-strip, .wwdc-runtime-detail-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #wwdcWorkbenchView :where(.wwdc-runtime-metric-strip article) { padding: 10px 12px; }
  #wwdcWorkbenchView :where(.wwdc-runtime-metric-strip b) { font-size: 23px; }
  #wwdcWorkbenchView :where(.wwdc-runtime-toolbar) { padding: 10px; gap: 10px; }
  #wwdcWorkbenchView :where(.wwdc-filter-buttons) { overflow: visible; gap: 6px; }
  #wwdcWorkbenchView :where(.wwdc-filter-buttons button) { white-space: normal; }
  #wwdcWorkbenchView :where(.wwdc-session-runtime) { padding: 6px; }
  #wwdcWorkbenchView :where(.wwdc-session-identity) { height: auto; min-height: 0; grid-template-columns: minmax(0, 1fr); padding: 8px 10px; gap: 6px; overflow: visible; }
  #wwdcWorkbenchView :where(.wwdc-session-identity h1) { display: block; margin: 3px 0 0; font-size: 17px; line-height: 1.4; white-space: normal; overflow: visible; text-overflow: clip; }
  #wwdcWorkbenchView :where(.wwdc-session-mode-toggle) { width: 100%; }
  #wwdcWorkbenchView :where(.wwdc-session-mode-toggle button) { flex: 1; min-height: 44px !important; height: auto; padding: 7px 10px; font-size: 13px; }
  #wwdcWorkbenchView :where(.wwdc-session-workbench) { grid-template-rows: auto 44px minmax(0, 1fr); }
  #wwdcWorkbenchView :where(.wwdc-session-mobile-tabs button) { font-size: 13px; padding: 8px 6px; }
  #wwdcWorkbenchView :where(.wwdc-session-section-card, .wwdc-session-insight-card) { padding: 12px; }
  #wwdcWorkbenchView :where(.wwdc-session-section-card h3, .wwdc-session-insight-card h3) { font-size: 17px; }
  #wwdcWorkbenchView :where(.wwdc-session-reading-pane) { padding: 12px; scroll-padding-top: 64px; }
  #wwdcWorkbenchView :where(.wwdc-session-reading-pane > .wwdc-section-head) { top: -12px; margin: -12px -12px 10px; padding: 10px 12px; }
}
@media (max-width: 760px) and (max-height: 640px) {
  #wwdcWorkbenchView :where(.wwdc-session-workbench) { --wwdc-mobile-video-height: min(20dvh, 128px); }
  #wwdcWorkbenchView :where(.wwdc-session-workbench[data-session-mode="read"]) { --wwdc-mobile-video-height: min(16dvh, 104px); }
}
@media (prefers-reduced-motion: reduce) {
  #wwdcWorkbenchView :where(.wwdc-action, .wwdc-runtime-card, .wwdc-session-section-card, .wwdc-session-insight-card) { transition: none; transform: none; }
  #wwdcWorkbenchView :where(.wwdc-runtime-loading span) { animation: none; }
}
/* End WWDC reading adapter v1. */

/* WWDC Session layout v2: existing renderer only; navigation v2 is not wired yet. */
body.wwdc-shell-page .shell-path-rail { min-width: 0; }
body.wwdc-shell-page .shell-path-rail .ide-nav-link { min-width: 0; padding: 10px 12px; border-radius: 8px; line-height: 1.5; }
body.wwdc-shell-page .shell-path-rail .ide-nav-link b { font-size: 14px; white-space: normal; overflow-wrap: anywhere; }
body.wwdc-shell-page .shell-path-rail .ide-nav-link span { font-size: 12px; line-height: 1.5; }
body.wwdc-shell-page .shell-path-rail .shell-path-group { margin-top: 16px; }
body.wwdc-shell-page .shell-path-rail .ide-nav-link:focus-visible { outline: 3px solid var(--accent, #b91c1c); outline-offset: 2px; }
#wwdcWorkbenchView .wwdc-session-identity { align-items: start; gap: 12px; }
#wwdcWorkbenchView .wwdc-session-identity-actions { align-items: center; gap: 8px; }
#wwdcWorkbenchView .wwdc-session-mode-toggle { border-radius: 8px; }
#wwdcWorkbenchView .wwdc-session-mode-toggle button { min-height: 40px; font-size: 13px; }
#wwdcWorkbenchView .wwdc-session-reading-pane { scroll-padding-top: 76px; }
#wwdcWorkbenchView .wwdc-session-section-card,
#wwdcWorkbenchView .wwdc-session-insight-card,
#wwdcWorkbenchView .wwdc-session-anchor-list li { scroll-margin-top: 76px; }
#wwdcWorkbenchView .wwdc-session-anchor-list button { min-width: 0; grid-template-columns: 58px minmax(0, 1fr); }
#wwdcWorkbenchView .wwdc-session-anchor-list em { overflow-wrap: anywhere; }
#wwdcWorkbenchView .wwdc-session-frame-rail .wwdc-session-quick-seek button { min-height: 36px; min-width: 58px; }
@media (min-width: 761px) {
  #wwdcWorkbenchView .wwdc-session-identity { padding: 14px 18px; grid-template-columns: minmax(0, 1fr) auto; }
  #wwdcWorkbenchView .wwdc-session-identity h1 { font-size: clamp(23px, 2vw, 31px); margin: 4px 0 8px; }
  #wwdcWorkbenchView .wwdc-session-identity-actions { max-width: 320px; }
  #wwdcWorkbenchView .wwdc-session-metrics { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 10px 0 14px; padding: 0 4px; }
  #wwdcWorkbenchView .wwdc-session-metrics article { display: flex; align-items: baseline; gap: 6px; border: 0; background: transparent; padding: 0; }
  #wwdcWorkbenchView .wwdc-session-metrics b { font-size: 17px; }
  #wwdcWorkbenchView .wwdc-session-metrics span { font-size: 12px; }
  #wwdcWorkbenchView .wwdc-session-workbench { grid-template-columns: minmax(0, .46fr) minmax(0, .54fr); gap: 16px; align-items: start; }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="read"] { grid-template-columns: minmax(0, .34fr) minmax(0, .66fr); }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="video"] { grid-template-columns: minmax(0, 1fr); }
  #wwdcWorkbenchView .wwdc-session-video-column { min-width: 0; position: sticky; top: 72px; }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="video"] .wwdc-session-video-column { position: static; }
  #wwdcWorkbenchView .wwdc-session-transcript-column > .wwdc-session-reading-pane { max-height: min(66dvh, 720px); overflow: auto; }
  #wwdcWorkbenchView .wwdc-session-intelligence-column > [data-session-pane="insights"] { max-height: none; overflow: visible; }
  #wwdcWorkbenchView .wwdc-session-intelligence-column > [data-session-pane="anchors"] { max-height: min(66dvh, 720px); overflow: auto; }
  @container (max-width: 860px) {
    #wwdcWorkbenchView .wwdc-session-identity { grid-template-columns: minmax(0, 1fr); }
    #wwdcWorkbenchView .wwdc-session-identity-actions { max-width: none; justify-content: flex-start; }
    #wwdcWorkbenchView .wwdc-session-workbench,
    #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="read"] { grid-template-columns: minmax(0, 1fr); }
    #wwdcWorkbenchView .wwdc-session-workbench .wwdc-session-video-column,
    #wwdcWorkbenchView .wwdc-session-workbench .wwdc-session-transcript-column,
    #wwdcWorkbenchView .wwdc-session-workbench .wwdc-session-intelligence-column { grid-column: 1; grid-row: auto; position: static; }
  }
}
@media (max-width: 760px) {
  body.wwdc-shell-page .shell-path-rail .ide-nav-link { min-height: 44px; }
  #wwdcWorkbenchView .wwdc-session-runtime { height: calc(100dvh - 104px - env(safe-area-inset-top, 0px)); min-height: 0; grid-template-rows: auto minmax(0, 1fr); }
  #wwdcWorkbenchView .wwdc-session-identity { padding: 8px 10px; gap: 6px; }
  #wwdcWorkbenchView .wwdc-session-identity h1 { font-size: 17px; }
  #wwdcWorkbenchView .wwdc-session-metrics { display: none; }
  #wwdcWorkbenchView .wwdc-session-workbench { --wwdc-mobile-video-height: min(24dvh, 196px); grid-template-rows: auto 44px minmax(0, 1fr); min-height: 0; }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="read"] { --wwdc-mobile-video-height: min(18dvh, 148px); }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="video"] { --wwdc-mobile-video-height: min(33dvh, 270px); }
  #wwdcWorkbenchView .wwdc-session-reading-pane { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; }
  #wwdcWorkbenchView .wwdc-session-section-card p,
  #wwdcWorkbenchView .wwdc-session-insight-card p,
  #wwdcWorkbenchView .wwdc-session-anchor-list em { font-size: 16px; line-height: 1.7; }
  #wwdcWorkbenchView .wwdc-session-player-foot { display: block; padding: 5px 9px; }
  #wwdcWorkbenchView .wwdc-session-player-foot p { display: block; max-width: none; white-space: normal; overflow-wrap: anywhere; font-size: 12px; line-height: 1.5; }
  #wwdcWorkbenchView .wwdc-session-runtime:has(.wwdc-session-player[data-player-state="error"]) .wwdc-session-identity-actions > .wwdc-action { display: inline-flex; }
}
@media (max-width: 760px) and (max-height: 650px) {
  #wwdcWorkbenchView .wwdc-session-workbench { --wwdc-mobile-video-height: min(18dvh, 110px); }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="read"] { --wwdc-mobile-video-height: min(14dvh, 86px); }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="video"] { --wwdc-mobile-video-height: min(26dvh, 166px); }
}
/* End WWDC Session layout v2. */

/* Navigation v2 component grammar, dormant until the approved shell integration. */
.wwdc-reading-nav { display: grid; align-content: start; gap: 18px; min-width: 0; }
.wwdc-reading-nav .wwdc-reading-group { display: grid; gap: 4px; margin: 0; padding: 0; }
.wwdc-reading-nav .wwdc-reading-group h2 { margin: 0 0 6px; padding: 0 10px; font-size: 12px; line-height: 1.5; font-weight: 700; color: var(--muted, #667085); }
.wwdc-reading-nav .wwdc-reading-link,
.wwdc-reading-nav .wwdc-reading-jump { display: block; width: 100%; min-height: 40px; min-width: 0; padding: 9px 10px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--text, #111827); text-align: left; font: inherit; font-size: 14px; line-height: 1.5; text-decoration: none; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.wwdc-reading-nav .wwdc-reading-link:hover,
.wwdc-reading-nav .wwdc-reading-jump:hover { background: var(--surface-3, #f3f5f8); }
.wwdc-reading-nav [aria-current="page"],
.wwdc-reading-nav [data-reading-current] { border-left: 3px solid var(--accent, #b91c1c); background: var(--accent-soft, #fff1f2); color: var(--accent, #b91c1c); font-weight: 700; }
.wwdc-reading-nav :is(a,button):focus-visible { outline: 3px solid var(--accent, #b91c1c); outline-offset: 2px; }
#wwdcWorkbenchView .wwdc-reading-breadcrumb { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 18px; padding: 8px clamp(10px, 1.6vw, 24px); border-bottom: 1px solid var(--line, #d9dee7); background: var(--surface, #fff); }
#wwdcWorkbenchView .wwdc-reading-breadcrumb nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
#wwdcWorkbenchView .wwdc-reading-breadcrumb a,
#wwdcWorkbenchView .wwdc-reading-breadcrumb button { display: inline-flex; align-items: center; min-height: 36px; padding: 5px 8px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--text, #111827); font: inherit; font-size: 13px; text-decoration: none; }
#wwdcWorkbenchView .wwdc-reading-breadcrumb a:hover { color: var(--accent, #b91c1c); background: var(--accent-soft, #fff1f2); }
#wwdcWorkbenchView .wwdc-reading-breadcrumb span { font-size: 13px; overflow-wrap: anywhere; }
#wwdcWorkbenchView .wwdc-reading-breadcrumb button:disabled { color: var(--muted, #667085); cursor: default; opacity: .65; }
#wwdcWorkbenchView .wwdc-reading-neighbours { margin-left: auto; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
  .wwdc-reading-nav .wwdc-reading-link,
  .wwdc-reading-nav .wwdc-reading-jump { min-height: 44px; }
  #wwdcWorkbenchView .wwdc-reading-breadcrumb { padding: 4px 10px; gap: 2px 8px; }
  #wwdcWorkbenchView .wwdc-reading-breadcrumb a,
  #wwdcWorkbenchView .wwdc-reading-breadcrumb button { min-height: 44px; }
  #wwdcWorkbenchView .wwdc-session-runtime { height: var(--wwdc-session-available-height, calc(100dvh - 104px - env(safe-area-inset-top, 0px))); }
  #wwdcWorkbenchView .wwdc-session-player[data-player-state="ready"] .wwdc-session-player-foot { display: none; }
}

/* WWDC mobile dual-window balance v3. */
@media (max-width: 760px) {
  #wwdcWorkbenchView .wwdc-reading-breadcrumb {
    min-height: 48px;
    flex-wrap: nowrap;
    gap: 4px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  #wwdcWorkbenchView .wwdc-reading-breadcrumb::-webkit-scrollbar { display: none; }
  #wwdcWorkbenchView .wwdc-reading-breadcrumb nav,
  #wwdcWorkbenchView .wwdc-reading-neighbours { flex: 0 0 auto; flex-wrap: nowrap; white-space: nowrap; }
  #wwdcWorkbenchView .wwdc-reading-neighbours { display: flex; align-items: center; gap: 2px; }
  #wwdcWorkbenchView .wwdc-reading-neighbours > span { display: none; }
  #wwdcWorkbenchView .wwdc-reading-breadcrumb a,
  #wwdcWorkbenchView .wwdc-reading-breadcrumb button { min-height: 40px; padding: 4px 7px; }

  #wwdcWorkbenchView .wwdc-session-identity { grid-template-rows: auto 44px; align-content: start; }
  #wwdcWorkbenchView .wwdc-session-identity > div:first-child > p,
  #wwdcWorkbenchView .wwdc-session-identity [data-session-theme-relations],
  #wwdcWorkbenchView .wwdc-session-identity-actions > .wwdc-action { display: none; }
  #wwdcWorkbenchView .wwdc-session-identity-actions { min-height: 44px; }

  #wwdcWorkbenchView .wwdc-session-workbench {
    --wwdc-mobile-video-height: min(30dvh, 248px);
    grid-template-rows: var(--wwdc-mobile-video-height) 44px minmax(0, 1fr);
  }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="read"] { --wwdc-mobile-video-height: min(22dvh, 180px); }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="video"] { --wwdc-mobile-video-height: min(40dvh, 320px); }
  #wwdcWorkbenchView .wwdc-session-player {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
  }
  #wwdcWorkbenchView .wwdc-session-player > header b,
  #wwdcWorkbenchView .wwdc-session-frame-rail,
  #wwdcWorkbenchView .wwdc-session-now { display: none; }
  #wwdcWorkbenchView .wwdc-session-video-frame { height: auto; min-height: 0; }
  #wwdcWorkbenchView .wwdc-session-player-foot { min-height: 0; }
}
@media (max-width: 760px) and (max-height: 650px) {
  #wwdcWorkbenchView .wwdc-session-workbench { --wwdc-mobile-video-height: min(26dvh, 164px); }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="read"] { --wwdc-mobile-video-height: min(18dvh, 116px); }
  #wwdcWorkbenchView .wwdc-session-workbench[data-session-mode="video"] { --wwdc-mobile-video-height: min(36dvh, 228px); }
}
/* End WWDC mobile dual-window balance v3. */

/* Preserve the native HTML visibility contract for styled controls. */
[hidden] { display: none !important; }

/* Review fragment: append to the native shared insight-executive.css. */
.compression-research-workbench [hidden]{display:none!important}
.compression-research-workbench .wb-header{padding:0;margin-bottom:12px;background:none;border:0;box-shadow:none}
.compression-research-workbench .wb-header h1{font-size:26px;line-height:1.3;margin:0 0 4px}
.compression-research-workbench .wb-research-scope{margin:4px 0;max-width:76ch;font-size:13px}
.compression-research-workbench .wb-runtime{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.compression-research-workbench .wb-runtime p{margin:0;font-size:12px}
.compression-research-workbench .wb-runtime .btn{padding:6px 10px;min-height:0;font-size:12px;line-height:1.3;box-shadow:none}
.compression-research-workbench .wb-view-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:0 0 10px;max-width:100%}
.compression-research-workbench .wb-view-tabs a{display:block;flex:1;min-width:0;padding:10px 8px;font-size:14px;line-height:1.3;text-align:center;white-space:normal;overflow-wrap:anywhere;color:var(--soft);border-bottom:3px solid transparent;font-weight:650;text-decoration:none}
.compression-research-workbench .wb-view-tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}
.compression-research-workbench .wb-view-tabs a:focus-visible,.compression-research-workbench .wb-domain-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.compression-research-workbench .wb-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm)}
.compression-research-workbench .wb-filters>div{display:flex;flex-direction:column;gap:4px;min-width:140px;max-width:100%;flex:1}
.compression-research-workbench .wb-filters label{font-size:12px;color:var(--muted)}
.compression-research-workbench .wb-filters select{width:100%;min-width:0;max-width:100%}
.compression-research-workbench .wb-reading-controls{margin:0 0 14px;font-size:13px}
.compression-research-workbench .wb-reading-controls .wb-filters{margin:8px 0 0}
.compression-research-workbench .wb-home{max-width:960px;margin-inline:auto}
.compression-research-workbench .wb-home>h2{font-size:clamp(22px,3vw,28px);line-height:1.4;margin:6px 0 10px}
.compression-research-workbench .wb-home>h3{margin:14px 0 10px}
.compression-research-workbench .wb-overview-context{margin:0 0 14px;font-size:12px;color:var(--muted)}
.compression-research-workbench .wb-home>#home-period{margin:0 0 6px;font-size:12px}
.compression-research-workbench .wb-home-meta{border-top:1px solid var(--line);padding:10px 0 14px;margin-top:12px;color:var(--muted);font-size:12px}
.compression-research-workbench .wb-home-meta p{margin:4px 0}
.compression-research-workbench .wb-reading-list{display:flex;flex-direction:column;gap:14px}
.compression-research-workbench .wb-reading-list>.card{max-width:100%;min-width:0;padding:18px 22px;box-shadow:none}
.compression-research-workbench .wb-reading-list h3,.compression-research-workbench .wb-reading-list h4{margin-top:0;line-height:1.45}
.compression-research-workbench .wb-reading-list p{margin:8px 0;overflow-wrap:anywhere}
.compression-research-workbench .wb-reading-list details{margin-top:12px;border-top:1px solid var(--line-2);padding-top:10px}
.compression-research-workbench .wb-reading-list .actions{margin-top:12px}
.compression-research-workbench .wb-reading-list .actions a{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
.compression-research-workbench .wb-keywords{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.compression-research-workbench .wb-keyword{display:inline-block;background:var(--surface-3);border-radius:4px;padding:2px 8px;color:var(--soft);font-size:12px}
.compression-research-workbench .wb-evidence-note{font-size:12px;color:var(--muted)}
.compression-research-workbench .wb-domain-tabs{display:flex;gap:6px;margin:16px 0;flex-wrap:wrap}
.compression-research-workbench .wb-domain-tabs button{border:1px solid var(--line);padding:8px 18px;border-radius:var(--radius-sm);background:var(--surface);color:var(--soft);cursor:pointer;font:inherit}
.compression-research-workbench .wb-domain-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:650}
.compression-research-workbench #monthly-directions li{margin:10px 0;line-height:1.65}
.compression-research-workbench .wb-next{margin:20px 0 0}
.compression-research-workbench #compact-map{max-width:100%;overflow-x:auto}
.compression-research-workbench #compact-map table{min-width:760px}
.compression-research-workbench #document-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
@media(max-width:680px){
 .compression-research-workbench.wrap{padding-inline:12px}
 .compression-research-workbench .wb-header{padding:0}
 .compression-research-workbench .wb-filters{gap:10px;padding:12px}
 .compression-research-workbench .wb-filters>div{flex-basis:calc(50% - 10px);min-width:0}
 .compression-research-workbench .wb-filters>div:nth-child(2){flex-basis:100%;order:3}
 .compression-research-workbench .wb-reading-list>.card{padding:16px}
 .compression-research-workbench .wb-reading-list .actions{align-items:flex-start}
}


/* Compression map: neutral atlas entries, with accessible topic navigation. */
.compression-research-workbench .compression-matrix{table-layout:fixed;width:100%;min-width:0;border-collapse:separate;border-spacing:4px;background:transparent}
.compression-matrix caption{text-align:left;color:#667085;padding:0 0 12px;font-size:13px}
.compression-research-workbench .compression-matrix th,.compression-research-workbench .compression-matrix td{background:transparent;border:0;padding:0;vertical-align:middle}
.compression-matrix thead th{font-size:14px;text-align:center;height:42px;color:#344054}.compression-matrix thead th:first-child{width:108px;text-align:left;font-size:11px}
.compression-matrix tbody th{font-size:14px;text-align:left;padding-right:8px!important}.map-object-code{display:block;font-size:11px;color:#98a2b3;margin-bottom:3px;letter-spacing:.08em}
.map-cell{--map-accent:#4e6c94;display:flex;flex-direction:column;gap:7px;min-height:112px;padding:14px 11px;border:1px solid #e4e9f1;border-radius:12px;background:#f6f8fc;color:#344054;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;height:100%;box-sizing:border-box}
.map-cell[data-method="L"]{--map-accent:#7d6199}.map-cell[data-method="S"]{--map-accent:#367a72}.map-cell[data-method="P"]{--map-accent:#9a7745}.map-cell[data-method="D"]{--map-accent:#a36175}.map-cell[data-method="G"]{--map-accent:#67758a}
.map-cell[data-coverage="registered"]{border-top:3px solid var(--map-accent);padding-top:12px;background:#fff}.map-cell[data-coverage="building"]{background:#f8f9fb;color:#667085}
.map-cell:hover,.map-cell:focus-visible{border-color:var(--map-accent);background:#f0f4fa;color:#1d2939;transform:translateY(-2px);outline:2px solid var(--map-accent);outline-offset:2px}
.map-cell[aria-current]{outline:2px solid var(--map-accent)}.map-cell-count{font-size:14px;color:var(--map-accent)}.map-cell[data-coverage="building"] .map-cell-count{font-weight:500;color:#667085}
.map-cell-preview{font-size:11px;line-height:1.5;overflow-wrap:anywhere;flex:1}.map-cell-arrow{font-size:10px;color:#667085}.map-mobile-method{display:none}.map-object-card{background:#fff;border:1px solid #e4e9f1;border-radius:14px;padding:12px}
.direction-topic{scroll-margin-top:90px}.direction-back{display:inline-block;margin-bottom:20px;color:#667085;font-size:14px}.direction-hero{background:linear-gradient(120deg,#f1f4f9,#fff);border:1px solid #e4e9f1;border-radius:20px;padding:28px;margin-bottom:16px}
.direction-hero h2{font-size:clamp(26px,4vw,38px);line-height:1.25;margin:20px 0 12px!important}.direction-lead{font-size:17px;line-height:1.8;max-width:800px;color:#475467}.direction-badges{display:flex;gap:8px;flex-wrap:wrap}.direction-badges span{background:#fff;border:1px solid #dfe5ee;border-radius:30px;padding:5px 10px;color:#667085;font-size:12px}
.direction-stats{display:flex;gap:40px;margin-top:24px}.direction-stats>div{display:flex;gap:10px;align-items:baseline}.direction-stats strong{font-size:26px;color:#344054}.direction-stats span{font-size:12px;color:#667085}
.direction-note{font-size:12px;color:#667085;line-height:1.7;border-left:3px solid #d0d5dd;padding:8px 14px}.direction-nav{display:flex;gap:16px;flex-wrap:wrap;padding:16px 0;margin:18px 0;border-bottom:1px solid #e4e9f1}.direction-nav a{font-size:13px;color:#475467;text-decoration:none}.direction-nav a:hover{color:#a31d24;text-decoration:underline}
.direction-section{padding:20px 0;scroll-margin-top:90px;border-bottom:1px solid #eef1f5}.direction-section h3{font-size:20px;margin:0 0 18px}.direction-section h4{font-size:17px;margin:0 0 10px}.direction-section p{line-height:1.8;color:#475467}.direction-definition-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.direction-definition-grid article,.direction-route,.direction-paper{border:1px solid #e4e9f1;border-radius:14px;padding:20px;margin-bottom:16px;background:#fff}
.direction-flow{display:flex;gap:18px;align-items:center;margin:18px 0}.direction-flow span{padding:12px 18px;border-radius:10px;background:#f2f4f7;flex:1;text-align:center;font-size:13px}.direction-flow span+span:before{content:'→';float:left;margin-left:-32px;color:#98a2b3}
.direction-question{font-weight:600}.direction-gap{border:1px dashed #d0d5dd;background:#f9fafb;padding:20px;border-radius:12px;color:#667085;line-height:1.8}.direction-paper .actions a{background:#f5f7fa!important;color:#344054!important;border:1px solid #e4e9f1!important;box-shadow:none!important;font-size:12px;white-space:normal;overflow-wrap:anywhere}.direction-paper summary{font-size:13px;color:#667085}.direction-neighbors{display:flex;gap:10px;flex-wrap:wrap;padding:16px 0}.direction-neighbors a{background:#f2f4f7;border-radius:8px;padding:8px 12px;color:#475467;font-size:13px}
@media(max-width:900px){.compression-matrix{border-spacing:3px!important}.map-cell{padding:10px 6px;min-height:105px}.map-cell-count{font-size:12px}.compression-matrix thead th:first-child{width:82px}.map-cell-preview{font-size:10px}}
@media(max-width:650px){.compression-research-workbench .compression-matrix,.compression-matrix tbody{display:block}.compression-matrix caption{display:block}.compression-matrix thead{display:none}.compression-matrix tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:22px}.compression-matrix tbody th{grid-column:1/-1;padding:8px 0!important;display:flex;align-items:center;gap:10px}.map-object-code{margin:0}.map-mobile-method{display:block;font-weight:600;font-size:14px}.map-cell{min-height:128px}.map-cell-count{font-size:12px}.map-cell-preview{font-size:12px}.direction-hero{padding:20px}.direction-stats{gap:18px;flex-wrap:wrap}.direction-definition-grid{grid-template-columns:1fr}.direction-flow{flex-direction:column;gap:8px}.direction-flow span{width:100%}.direction-flow span+span:before{content:''}.direction-nav{gap:12px}}

.science-map-header{padding:24px;border:1px solid #e4e9f1;border-radius:16px;background:linear-gradient(110deg,#f1f5fa,#fff);margin:22px 0}.science-map-header h3{font-size:24px;line-height:1.5;margin:8px 0}.science-eyebrow{font-size:12px;color:#667085;letter-spacing:.08em}.science-map-header p{color:#667085;line-height:1.8}.science-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.science-target-card{border:1px solid #e4e9f1;border-top:3px solid #607a9b;border-radius:14px;background:#fff;padding:20px}.science-target-card:nth-child(2){border-top-color:#648a7a}.science-target-card:nth-child(3){border-top-color:#827297}.science-target-number{color:#98a2b3;font-size:12px}.science-target-card h4{font-size:22px;margin:8px 0 14px}.science-target-card p{font-size:13px;color:#667085;line-height:1.7}.science-route-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #e4e9f1;padding:12px;margin:9px 0;border-radius:10px;text-decoration:none;color:#344054;background:#f9fafc}.science-route-link:hover,.science-route-link:focus-visible{background:#edf2f8;border-color:#607a9b;outline:2px solid #607a9b;outline-offset:2px}.science-route-link strong{font-size:13px}.science-route-count{font-size:11px;color:#667085;margin-left:auto}.science-route-link small{flex-basis:100%;font-size:11px;color:#667085;overflow-wrap:anywhere}.science-strategy{border:1px solid #e4e9f1;border-radius:14px;padding:20px;margin:16px 0}.science-strategy>div{display:inline-block;width:49%;vertical-align:top;padding:12px;box-sizing:border-box}.science-strategy p{font-size:13px;color:#667085;line-height:1.7}.science-tag{display:inline-block;border:1px solid #e4e9f1;background:#f9fafb;border-radius:20px;padding:5px 10px;margin:5px;font-size:12px}.science-facets,.science-basis,#legacy-map-index{margin:16px 0;padding:16px;border:1px solid #e4e9f1;border-radius:12px}.science-basis table{font-size:13px}.science-basis p{font-size:13px;line-height:1.8}.science-facets section{margin:20px 0}.science-facets p{font-size:13px;color:#667085}@media(max-width:850px){.science-target-grid{grid-template-columns:1fr}.science-strategy>div{width:100%}} 

/* Subpage reading hierarchy: evidence first, progressive detail, compact navigation. */
.compression-research-workbench .wb-view-purpose{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:12px 16px;margin:14px 0;background:#f5f7fa;border-left:3px solid #607a9b;border-radius:6px;font-size:13px;color:#475467}
.wb-view-purpose strong{color:#344054}.wb-source-policy,.wb-collection-audit{padding:10px 0;color:#667085;font-size:12px}.wb-source-policy p{margin:8px 0}.wb-selection-title{font-weight:600;font-size:15px}.wb-direction-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.wb-direction-filters section{padding:12px;border:1px solid #e4e9f1;border-radius:10px}.wb-direction-filters h4{margin:0 0 12px;font-size:14px}.wb-direction-filters button{display:block;width:100%;margin:6px 0;padding:8px!important;font-size:12px!important;text-align:left;white-space:normal;background:#f5f7fa!important;color:#344054!important;box-shadow:none!important;border:1px solid #dfe5ee!important}.wb-direction-filters button[aria-pressed=true]{border-color:#a31d24!important;color:#a31d24!important;background:#fff1f2!important}
.wb-analysis-facts{margin:18px 0 28px}.wb-fact-brief{padding:16px 0;border-bottom:1px solid #e4e9f1}.wb-fact-brief h4{margin:0 0 8px;font-size:16px}.wb-fact-brief p{margin:6px 0;font-size:14px}.compression-research-workbench .wb-fact-brief>a{background:transparent!important;box-shadow:none!important;color:#4e6c94!important;padding:0!important;font-size:12px;min-height:0}.wb-archive-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wb-archive-month{padding:16px;border:1px solid #e4e9f1;border-radius:12px;background:#fff}.wb-archive-month h4{margin:0 0 8px;font-size:18px}.wb-archive-month .btn{font-size:12px!important;padding:8px 10px!important;box-shadow:none!important;background:#f5f7fa!important;color:#344054!important;border:1px solid #dfe5ee!important;white-space:normal}.compression-research-workbench #evidence-cards .card>h3{font-size:18px}.compression-research-workbench #evidence-cards .actions .btn{background:#f5f7fa!important;color:#344054!important;box-shadow:none!important;padding:8px 12px!important;border:1px solid #e4e9f1!important;font-size:12px}.direction-nav button{font-size:13px!important;padding:6px 0!important;background:transparent!important;color:#475467!important;border:0!important;box-shadow:none!important;min-height:0}.direction-nav button:focus-visible{outline:2px solid #607a9b}.compression-research-workbench #view-reports>#validation{border-top:1px solid #e4e9f1;font-size:13px}.compression-research-workbench #appendix>h2{font-size:18px}
@media(max-width:760px){.wb-direction-filters{grid-template-columns:1fr}.wb-archive-months{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-view-purpose{gap:6px}.wb-fact-brief p{font-size:13px}}
@media(max-width:440px){.wb-archive-months{grid-template-columns:1fr}}

/* Literature taxonomy: complete target-by-method matrix. */
.literature-matrix-wrap{overflow-x:auto;margin:20px 0 24px;border:1px solid #dce2ea;border-radius:16px;background:#fff}
.literature-matrix{width:100%;min-width:800px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14px}
.literature-matrix caption{caption-side:bottom;text-align:left;padding:15px 20px;line-height:1.7;color:#64748b;border-top:1px solid #e2e8f0}
.literature-matrix th,.literature-matrix td{padding:14px;border:0;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;vertical-align:top}
.literature-matrix tr>*:last-child{border-right:0}.literature-matrix tbody tr:last-child>*{border-bottom:0}
.literature-matrix thead th{background:#f8fafc;color:#172b46;text-align:left;font-size:16px}
.literature-matrix th:first-child{width:22%}.literature-matrix tbody th{text-align:left;background:#fbfcfe;color:#172b46;font-size:17px}
.literature-matrix th small{display:block;font-size:12px;font-weight:400;line-height:1.7;color:#64748b;margin-top:8px}
.literature-cell{display:flex;min-height:106px;flex-direction:column;justify-content:center;gap:10px;padding:13px;border-radius:10px;text-decoration:none!important;background:#fff7f7;color:#8f1d23!important;border:1px solid #f3d9d9;transition:background .15s,border-color .15s}
.literature-cell strong{font-size:16px}.literature-cell span{font-size:12px;color:#475569;line-height:1.6}
.literature-cell:hover,.literature-cell:focus-visible{background:#feecec;border-color:#b51b24;outline:2px solid #b51b24;outline-offset:2px}
.literature-cell.is-gap{background:#f8fafc;border-color:#e2e8f0;color:#64748b!important}.literature-cell.is-gap:hover{border-color:#64748b}
.literature-extensions{margin:20px 0}.literature-extensions>section{padding:14px 0;border-bottom:1px solid #e2e8f0}
.literature-extensions>section>a{display:inline-block;margin:4px 12px 4px 0}.science-basis li{margin-bottom:12px;line-height:1.7}