:root {
  color-scheme: light;
  --site-paper: #f8f7f6;
  --ink: #202020;
  --muted: #595653;
  --accent-color: #801c20;
  --line: #d8d5d2;
  --pale: #f0eeec;
  --sans: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --page-edge: clamp(16px, 4vw, 48px);
}
* { box-sizing: border-box }
body { margin: 0; background: var(--site-paper); color: var(--ink); font-family: var(--sans) }
a { color: inherit; text-decoration: none }
button { cursor: pointer; font: inherit }
:focus-visible { outline: 2px solid var(--accent-color); outline-offset: 4px }
.top {
  max-width: 1280px; width: calc(100% - 96px); margin: auto; min-height: 70px; border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--accent-color); font-size: 14px;
}
.top nav { display: flex; align-items: center; gap: 24px }
.top button, dialog button {
  min-height: 40px; background: #fff; border: 1px solid var(--line); color: var(--accent-color); padding: 0 13px;
}
.top button:hover, dialog button:hover { background: var(--pale) }
.top button span { margin-left: 5px; font-size: 18px }
.overview { width: min(calc(100% - 48px), 1120px); margin: 22px auto 40px }
.graph {
  position: relative; isolation: isolate; min-height: 420px;
  border: 1px solid #dedad7; border-radius: 20px; overflow: clip;
  background:
    radial-gradient(#d1ccca 1px, transparent 1px) 0 0 / 17px 17px, var(--site-paper);
}
.graph-home { min-height: clamp(470px, 72svh, 680px) }
.graph::before, .graph::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 62%; height: 66%;
  translate: -50% -50%; border: 1px solid #d7d1cf; border-radius: 50%; pointer-events: none;
}
.graph::after { width: 47%; height: 50%; border-style: dashed }
.graph svg { position: absolute; width: 100%; height: 100%; inset: 0; stroke: #916c6d; stroke-dasharray: 3 5; pointer-events: none }
.graph-center {
  position: absolute; z-index: 1; top: 50%; left: 50%; translate: -50% -50%;
  padding: 16px; width: clamp(110px, 24vw, 220px); aspect-ratio: 1; display: grid;
  place-content: center; gap: 8px; border-radius: 50%; text-align: center;
  background: radial-gradient(at 30% 15%, #943a3e, #801c20 65%, #5d1216);
  color: white; box-shadow: 0 0 0 9px #f1dedc, 0 0 0 10px #d9b9b9, 0 9px 35px #58141630;
  font-size: clamp(16px, 2.1vw, 25px); font-weight: 500; line-height: 1.35;
}
.graph-center h1 { font-size: clamp(23px, 3.5vw, 39px); white-space: nowrap; margin: 0; letter-spacing: .025em; font-weight: 500 }
.graph-center p { margin: 0; color: #f1dedc; font-size: clamp(10px, 1.4vw, 14px); font-weight: 400 }
.graph-node {
  position: absolute; z-index: 2; left: var(--x); top: var(--y); translate: -50% -50%;
  width: clamp(132px, 18%, 190px); min-height: 60px; padding: 9px 12px;
  display: flex; align-items: center; justify-content: space-between; gap: 7px;
  background: white; border: 1px solid #dfdbd8; border-left: 4px solid var(--accent); border-radius: 9px;
  box-shadow: 0 5px 18px #2e20201a; font-size: clamp(13px, 1.6vw, 18px); font-weight: 500;
  transition: box-shadow .18s, background .18s, transform .18s;
}
.graph-node span:last-child { color: var(--accent-color) }
.graph-node:hover, .graph-node:focus-visible { background: #f4e9e8; box-shadow: 0 8px 24px #58141630; transform: translateY(-4px) }
.definition { margin: 18px auto 0; color: var(--muted); text-align: center; font-size: 15px; line-height: 1.7 }
h1:focus { outline: none }
.topic-list { margin-top: 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px }
.topic-link { display: block; min-width: 0; padding: 6px 0 }
.topic-link:hover h2,.overview-topic:hover h3 { color:var(--accent-color); text-decoration:underline; text-underline-offset:4px }
.topic-link h2 { display: flex; justify-content: space-between; gap: 10px; font-size: 17px }
.topic-link h2 span { color: var(--accent-color) }
.topic-link p { margin: 0; color: var(--muted); line-height: 1.75; font-size: 15px }
.related, .evidence { margin-top: 25px; max-width: 700px }
.evidence summary { cursor: pointer; padding: 12px 0; color: var(--accent-color); font-weight: 600 }
.summary p { margin: 0 0 .45em }
.reader { width: min(100% - 96px, 1040px); margin: 32px auto 68px }
.source-entry a:hover { text-decoration: underline; text-underline-offset: 4px }
.article { min-width: 0 }
.article h1, .reader > h1 { margin: 0; line-height: 1.16; font-weight: 500; font-size: clamp(32px, 5vw, 57px); letter-spacing: .015em; overflow-wrap: anywhere }
.summary { font-size: 18px; line-height: 1.9; margin: 20px 0 27px; max-width: 36em }
.mark { display: inline-block; margin: 13px 0 0; color: var(--accent-color); background: var(--pale); padding: 5px 8px; font-size: 13px }
.entries { border-top: 1px solid var(--line) }
.entry { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 14px 12px; min-height: 56px; border-bottom: 1px solid var(--line); font-size: 16px; font-weight: 500 }
.entry:hover, .entry:focus-visible { color: var(--accent-color); background: var(--pale) }
.entry span:last-child { color: var(--accent-color); flex: none }
.evidence { padding-top: 2px; min-width: 0 }
h2 { margin: 0 0 12px; font-size: 16px }
.evidence h2:not(:first-child) { margin-top: 26px }
.evidence .entry { min-height: 46px; font-size: 14px; padding-inline: 0 }
.ref { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 13px; overflow-wrap: anywhere }
.ref:hover { color: var(--accent-color) }
.ref span { display: block; color: var(--accent-color); font-size: 12px; margin-bottom: 4px }
.source-entry { padding: 16px 12px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; scroll-margin-top: 20px }
.source-entry.target { background: var(--pale); border-left: 3px solid var(--accent-color) }
.source-entry h2 { margin-bottom: 7px }
.source-entry p { color: var(--muted); margin: 0; line-height: 1.65 }
.archive { display: inline-block; color: var(--accent-color); margin: 20px 0 }
dialog { width: min(520px, calc(100% - 32px)); padding: 20px; border: 1px solid var(--accent-color); color: var(--ink) }
dialog::backdrop { background: #25222255 }
@media (max-width: 760px) {
  .top { width: calc(100% - 32px); min-height: 60px }
  .top nav { gap: 12px }
  .overview { width: calc(100% - 24px); margin-top: 13px }
  .graph { min-height: 390px; border-radius: 13px }
  .graph-home { min-height: 440px }
  .graph-node { width: 25%; padding: 7px 5px; min-height: 46px; font-size: 12px; border-left-width: 2px }
  .graph-node span:last-child { font-size: 10px }
  .graph-center { width: 30%; padding: 10px }
  .graph-center h1 { font-size: clamp(17px, 5vw, 23px) }
  .reader { width: calc(100% - 24px); margin-top: 18px }
  .topic-list { grid-template-columns: 1fr }

}
@media (prefers-reduced-motion: reduce) { *, *::before { transition: none !important } }

:root {
  color-scheme: light;
  --ink: #202020;
  --muted: #565351;
  --accent-color: #801c20;
  --line: #d8d4d0;
  --pale: #eeebe8;
}
.top { max-width: 1520px; color: var(--ink) }
.top button, dialog button { background: #f2f0ee; color: var(--ink) }
.overview { width: min(calc(100% - 48px), 1520px); margin: 0 auto 64px }
.tree-scroll { min-width:0; overflow-x:auto }
.fan { display:block; width:100%; max-height:calc(100svh - 90px); min-width:790px; font-family:var(--sans); overflow:visible }
.fan .stem,.fan .twig { fill:none; stroke:#958986; stroke-width:1.4 }
.fan .twig { stroke-width:.85; opacity:.73 }
.fan text,.fan circle { fill:#272422 }
.fan .branch-head { font-size:23px; font-weight:500 }
.fan .leaf { font-size:13px }
.fan a { cursor:pointer }
.fan a:hover text,.fan a:focus text,.fan .active text { fill:#801c20 }
.fan a:hover circle,.fan a:focus circle,.fan .active circle { fill:#801c20; filter:drop-shadow(0 0 5px #9a333462) }
.fan .active .stem { stroke:#801c20; stroke-width:2.5; filter:drop-shadow(0 0 4px #9a33344a) }
.fan .root-link text { font-size:34px; font-weight:500; fill:#fff9f7 }
.back { color:var(--accent-color); font-size:13px }
.article-list { margin:28px 0 20px }
.article-list h2 { color:#252321 }
.document small,.reader h1 small { display:block; color:var(--muted); font-size:12px; font-weight:400; margin-top:5px }
.document span:first-child { overflow-wrap:anywhere }
.document-summary { max-width: 820px; }
.document-summary #reader-back { color:var(--accent-color); background:transparent; border:1px solid var(--line); padding:9px 14px; margin-bottom:24px; }
.document-summary h1 { font-size:clamp(25px,4vw,42px); }
.document-summary .article-lead { color:var(--ink); font-size:19px; margin:24px 0; line-height:1.8; }
.document-summary section { margin-top:30px; }
.document-summary section p { color:var(--muted); font-size:16px; line-height:1.8; margin:0; padding:0 0 14px; }
.citation-note { color:var(--muted); font-size:13px; }
dialog { background:var(--site-paper); }

.chart-stage { min-height: calc(100svh - 70px); display: grid; align-items: center; }
.overview-details { width:min(100%,1040px); margin:auto; scroll-margin-top:20px; }
.overview-section { padding:clamp(25px,5vw,60px) 0; border-top:1px solid var(--line); }
.overview-section h1,.overview-section h2 { font:500 clamp(25px,4vw,44px)/1.25 var(--sans); margin:0 0 20px; }
.overview-section > p { max-width:42em; font-size:clamp(16px,1.9vw,19px); line-height:1.9; color:var(--muted); margin:0 0 14px; }
.overview-section .back { display:inline-block; margin-bottom:12px; }
.intro-photos,.overview-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.intro-photo { margin:0; }
.intro-photo img { display:block; width:100%; height:auto; border-radius:8px; }
.intro-photo figcaption { font-size:12px; color:var(--muted); margin-top:8px; line-height:1.6; }
.overview-topic { padding:5px 0; }
.overview-topic h3 { margin:0 0 8px; font-size:19px; }
.overview-topic h3 span { color:var(--accent-color); }
.overview-topic p { margin:0; color:var(--muted); line-height:1.65; font-size:15px; }
@media (prefers-reduced-motion:no-preference) {
  .fan { animation:chart-enter .65s ease-out both; }
  .fan text,.fan circle,.fan .stem { transition:fill .25s,stroke .25s,filter .25s; }
  .section-enter { animation:chart-enter .55s ease-out both; }
}
@keyframes chart-enter { from { opacity:.45; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:760px) {
  .overview { width:calc(100% - 28px); }
  .chart-stage { min-height:calc(100svh - 60px); }
  .fan { width:790px; max-height:none; }
  .intro-photos,.overview-topics { grid-template-columns:1fr; gap:16px; }
}
.chart-hint { display:none; }
@media(max-width:760px) {
  .chart-stage { align-content:center; }
  .chart-hint { display:block; text-align:center; color:var(--muted); font-size:12px; margin:12px 0 0; }
}

.industry-home .overview-details { margin-top:18px; }
.industry-home [id] { scroll-margin-top:20px; }
.industry-home .chart-stage { min-height:0; }
@media(max-width:760px) {
  .top { flex-wrap:wrap; align-items:center; gap:10px; padding:12px 0; }
  .top nav { flex-wrap:wrap; gap:8px 14px; }
  .top nav button { min-height:32px; }
}


.article .intro-photo { max-width: 740px; margin: 24px 0 36px; }
.article .intro-photo img { border-radius: 0; }
.photo-context { display:block; margin-top:5px; font-size:14px; }
.topic-list { column-gap:clamp(24px,5vw,64px); row-gap:22px; }
.overview-topics { column-gap:clamp(24px,5vw,64px); row-gap:24px; }


/* All page regions share the same column tracks and outside edges. */
:root {
  --page-edge:48px;
  --grid-width:1280px;
  --grid-columns:12;
  --grid-gap:24px;
  --space-section:64px;
}
.top,.map-content,.overview,.reader {
  width:min(calc(100% - 2 * var(--page-edge)),var(--grid-width));
  max-width:none;
  margin-inline:auto;
}
.map-content,.overview,.reader {
  display:grid;
  grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));
  column-gap:var(--grid-gap);
}
.map-content > *, .overview > *, .reader > * { grid-column:1/-1; min-width:0; }
.overview-details,.overview-section,.article {
  display:grid;
  grid-template-columns:subgrid;
  grid-column:1/-1;
  min-width:0;
}
.overview-details { width:100%; margin-inline:0; }
.overview-section { padding-block:var(--space-section); }
.overview-section > *, .article > * { grid-column:1/-1; min-width:0; }
.overview-section > p,
.article > .summary,.article > .intro-photo,
.reader > .related,
.document-summary > .article-lead,.document-summary > section { grid-column:1/span 8; }
.overview-section h1,.overview-section h2 { margin:0 0 24px; }
.overview-section > p { margin-bottom:16px; }
.overview-topics,.topic-list {
  display:grid;
  grid-template-columns:subgrid;
  row-gap:24px;
  align-items:start;
}
.overview-topic,.topic-link { grid-column:span 6; min-width:0; }
.overview-topic h3,.topic-link h2 { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.overview-topic h3 span,.topic-link h2 span { flex:none; }
.article .intro-photo { max-width:none; }
.article .intro-photo { margin:24px 0 32px; }
.reader { margin-block:32px 64px; }
.reader .entry { padding-inline:0; }
.document-summary #reader-back { justify-self:start; }
h1,h2,h3,strong,b { font-weight:500; }
@media (max-width:1020px) {
  :root { --page-edge:32px; --grid-columns:8; --grid-gap:24px; --space-section:48px; }
  .overview-topic,.topic-link { grid-column:span 4; }
  .top { flex-wrap:wrap; }
}
@media (max-width:760px) {
  :root { --page-edge:16px; --grid-columns:4; --grid-gap:16px; --space-section:32px; }
  .overview-section > p,
  .article > .summary,.article > .intro-photo,.reader > .related,
  .document-summary > .article-lead,.document-summary > section { grid-column:1/-1; }
  .overview-topic,.topic-link { grid-column:1/-1; }
}

/* Inline photography */
.visually-hidden {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}
#photo-view {
  box-sizing:border-box; border-color:var(--line);
  border-radius:10px; box-shadow:0 20px 80px #0007;
}
#photo-view::backdrop { background:#27232399; }

.photo-zoom {
  position:relative; display:block; width:100%; padding:0; border:0;
  border-radius:inherit; background:none; color:var(--ink); cursor:zoom-in;
}
.photo-zoom:focus-visible { outline:2px solid var(--accent-color); outline-offset:4px; }
.photo-zoom svg {
  color:#fffaf7;
  position:absolute; inset:auto 12px 12px auto; box-sizing:content-box;
  padding:9px; border-radius:50%; background:#292524df;
  transition:background-color 150ms ease;
}
.photo-zoom:hover svg, .photo-zoom:focus-visible svg { background:#801c20; color:#fffaf7; }
#photo-view { width:max-content; max-width:calc(100% - 32px); max-height:calc(100% - 32px); padding:0; }
.photo-view-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:8px 12px; }
.photo-view-head p { font-size:14px; margin:0; }
.photo-view-head button {
  display:grid; place-items:center; padding:0; width:40px; height:40px;
  font-size:22px; line-height:1; border-radius:5px;
}
#photo-full { display:block; max-width:100%; max-height:calc(100svh - 94px); object-fit:contain; }
@media (prefers-reduced-motion:no-preference) {
  #photo-view[open] { animation:dialog-in 190ms cubic-bezier(.2,.8,.2,1) both; }
}
@keyframes dialog-in { from { opacity:0; transform:translateY(6px); } }

/* Motion cues for browsing, inspired by React Bits. */
.top-actions { display:flex; align-items:center; gap:8px; }
.top .top-actions button { display:inline-flex; align-items:center; gap:8px; border-radius:5px; }
.top .top-actions svg { width:17px; height:17px; flex:none; }
.top .top-links { margin-inline-start:auto; margin-inline-end:8px; gap:clamp(12px,1.7vw,24px); }
.top-links a:hover, .top-links [aria-current] { color:var(--accent-color); }
#site-menu {
  position:fixed;
  inset:0 0 0 auto;
  margin:0;
  padding:0;
  width:min(780px,100%);
  max-width:100%;
  height:100%;
  max-height:100%;
  border:0;
  background:transparent;
  overflow:clip;
}
#site-menu::backdrop { background:#27232380; }
.menu-layer { position:absolute; inset:0; pointer-events:none; }
.menu-layer-accent { background:var(--accent-color); }
.menu-layer-muted { background:#c5b5b1; }
.menu-sheet {
  position:relative;
  height:100%;
  padding:12px var(--page-edge) 26px;
  background:var(--site-paper);
  overflow:auto;
  overscroll-behavior:contain;
}
.menu-head, #menu-links { max-width:var(--grid-width); margin-inline:auto; }
.menu-head { display:flex; justify-content:flex-end; }
.menu-head button {
  display:flex; align-items:center; gap:8px; min-height:44px;
  border:0; background:transparent; padding:0 8px;
}
.menu-head button:hover { color:var(--accent-color); }
.menu-head button span { font-size:24px; line-height:1; }
#menu-links { margin-top:clamp(20px,6vh,65px); }
#menu-links ul { list-style:none; margin:0; padding:0; }
.menu-groups { display:grid; width:min(100%,38rem); gap:clamp(8px,1.6vw,20px); }
.menu-group-title {
  display:flex; align-items:center; width:fit-content; min-height:44px; padding:3px 0;
  font-size:clamp(20px,3vw,38px); font-weight:500; line-height:1.25;
}
.menu-group-title:is(:hover,:focus-visible,[aria-expanded=true],[aria-current]) { color:var(--accent-color); }
.menu-disclosure { display:grid; grid-template-rows:0fr; opacity:0; }
.menu-group.is-expanded .menu-disclosure { grid-template-rows:1fr; opacity:1; }
.menu-disclosure > ul { min-height:0; overflow:hidden; }
.menu-subgroups::before {
  content:""; display:block; width:min(100%,24rem); height:1px; background:var(--line); margin-block:6px 7px;
}
.menu-subgroups a { display:block; width:fit-content; padding:7px 0; font-size:clamp(14px,1.35vw,17px); overflow-wrap:anywhere; }
.menu-subgroups a:focus-visible { outline-offset:-2px; }
.menu-subgroups a:is(:hover,[aria-current]) { color:var(--accent-color); }
.overview-topic, .topic-link { position:relative; isolation:isolate; }
.overview-topic::before, .topic-link::before {
  content:""; position:absolute; z-index:-1; inset:-6px -9px; border-radius:7px;
  pointer-events:none; opacity:0; background:#801c200c;
}
.overview-topic:hover::before, .topic-link:hover::before,
.overview-topic:focus-visible::before, .topic-link:focus-visible::before { opacity:1; }
.overview-topic:hover h3, .topic-link:hover h2,
.overview-topic:focus-visible h3, .topic-link:focus-visible h2 { color:var(--accent-color); }

.photo-view-controls:not([hidden]) { display:flex; align-items:center; }
.photo-view-controls button { min-width:42px; min-height:42px; }
.photo-view-controls:not([hidden]) { padding:8px 12px; justify-content:center; gap:18px; }
#photo-view:has(.photo-view-controls:not([hidden])) #photo-full { max-height:calc(100svh - 162px); margin-inline:auto; }
#photo-position { font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }

@media (max-width:880px) {
  .top nav.top-links { display:none; }
  .top { min-height:64px; flex-wrap:nowrap; gap:8px; }
}
@media (max-width:380px) {
  .top .top-actions button { padding-inline:9px; gap:5px; }
}
@media (prefers-reduced-motion:no-preference) {
  .menu-disclosure { transition:grid-template-rows 330ms cubic-bezier(.22,1,.36,1),opacity 170ms ease; }
  .menu-subgroups li { opacity:0; translate:0 -7px; transition:opacity 140ms ease,translate 160ms ease; }
  .menu-group.is-expanded .menu-subgroups li {
    opacity:1; translate:0 0;
    transition-duration:250ms,340ms;
    transition-delay:var(--item-delay,35ms);
    transition-timing-function:ease,cubic-bezier(.22,1,.36,1);
  }
  .menu-subgroups li:nth-child(2) { --item-delay:75ms; }
  .menu-subgroups li:nth-child(3) { --item-delay:115ms; }
  #site-menu[open] .menu-layer, #site-menu[open] .menu-sheet {
    animation:menu-enter 420ms cubic-bezier(.22,1,.36,1) both;
  }
  #site-menu[open] .menu-layer-muted { animation-delay:55ms; }
  #site-menu[open] .menu-sheet { animation-delay:110ms; }
  #site-menu[open] .menu-group-title { animation:menu-item-enter 340ms ease-out both; animation-delay:calc(250ms + var(--order) * 55ms); }
  #site-menu[open].is-closing .menu-layer, #site-menu[open].is-closing .menu-sheet {
    animation:menu-exit 240ms cubic-bezier(.55,0,.8,.45) both;
  }
  #site-menu[open].is-closing .menu-layer-accent { animation-delay:75ms; }
  #site-menu[open].is-closing .menu-layer-muted { animation-delay:38ms; }
  #site-menu[open].is-closing .menu-sheet { animation-delay:0ms; }
  .overview-topic::before, .topic-link::before { transition:opacity 200ms ease; }
  .overview-topic h3 span, .topic-link h2 span { transition:transform 260ms cubic-bezier(.2,.8,.2,1); }
  .overview-topic:hover h3 span, .topic-link:hover h2 span { transform:translate(3px,-3px); }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .overview-topic::before, .topic-link::before {
    background:radial-gradient(ellipse 180px 85px at calc(var(--light-x, 50%) + 9px) calc(var(--light-y, 50%) + 6px), #801c201d, #801c2006 78%, transparent);
  }
}
@media (prefers-reduced-motion:reduce) {
  .photo-zoom svg { transition:none; }
}
@keyframes menu-enter { from { transform:translateX(100%); } }
@keyframes menu-exit { to { transform:translateX(100%); } }
@keyframes menu-item-enter { from { opacity:0; transform:translateY(24px); } }

/* Figures embedded in topic and article reading pages. */
.explanation-diagram {
  margin:clamp(24px,4vw,48px) 0;
  padding:clamp(16px,2.6vw,32px);
  border:1px solid var(--line);
  background:var(--site-paper);
  font-size:15px;
  line-height:1.65;
  min-width:0;
}
.article > .explanation-diagram { grid-column:1 / span 10; }
.explanation-diagram > figcaption {
  color:var(--ink);
  font-size:clamp(18px,2.2vw,25px);
  font-weight:500;
  line-height:1.4;
  margin-bottom:24px;
}
.explanation-diagram strong { color:var(--ink); }
.explanation-diagram p { margin:6px 0 0; color:var(--muted); }
.explanation-diagram .diagram-note { margin-top:16px; font-size:13px; }
.diagram-steps, .diagram-layers, .diagram-options { padding:0; margin:0; list-style:none; }
.diagram-steps {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:24px;
}
.diagram-steps li {
  position:relative;
  padding-top:12px;
  border-top:2px solid #801c208c;
}
.diagram-steps li:not(:last-child)::after {
  content:"→";
  position:absolute;
  right:-20px;
  top:9px;
  color:var(--accent-color);
}
.diagram-steps a span { color:var(--accent-color); padding-left:4px; }
.diagram-loop .diagram-feedback {
  margin:16px 0 0;
  padding:8px 12px;
  border:1px solid #801c2066;
  border-top:0;
  text-align:center;
  color:var(--ink);
}
.diagram-feedback span { color:var(--accent-color); margin-right:6px; }
.diagram-layers { max-width:680px; }
.diagram-layers li {
  display:grid;
  grid-template-columns:minmax(44px,.5fr) minmax(0,1.5fr) minmax(0,1fr);
  gap:14px;
  padding:10px 12px;
  align-items:center;
  border-inline-start:3px solid #801c208c;
}
.diagram-layers li:nth-child(odd) { background:#efedeb; }
.diagram-layers li + li { margin-top:6px; }
.diagram-layers p { margin:0; }
.diagram-layers small { color:var(--accent-color); font-size:12px; }
.diagram-matrix table { width:100%; table-layout:fixed; border-collapse:collapse; }
.diagram-matrix td, .diagram-matrix th {
  padding:10px;
  border-bottom:1px solid var(--line);
  font-weight:400;
  text-align:left;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.diagram-matrix td { color:var(--muted); }
.diagram-matrix thead th { padding-top:0; color:var(--accent-color); font-size:13px; }
.diagram-matrix th:first-child { width:26%; }
.explanation-diagram .diagram-question {
  width:fit-content;
  margin:0 auto;
  padding:8px 14px;
  color:var(--ink);
  border:1px solid #801c208c;
  text-align:center;
}
.diagram-options {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  position:relative;
  padding-top:21px;
}
.diagram-options::before {
  content:"";
  position:absolute;
  inset:0 50% auto auto;
  height:11px;
  border-inline-start:1px solid #801c208c;
}
.diagram-options li {
  position:relative;
  border-top:1px solid #801c208c;
  padding-top:10px;
}
.diagram-options li::before {
  content:"";
  position:absolute;
  top:-11px;
  left:50%;
  height:10px;
  width:calc(50% + 10px);
  border-top:1px solid #801c208c;
  border-left:1px solid #801c208c;
}
.diagram-options li + li::before {
  left:auto;
  right:50%;
  border-left:0;
  border-right:1px solid #801c208c;
}
.diagram-options strong { color:var(--accent-color); }
.diagram-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.diagram-photo-grid h3 { font-size:15px; margin:0 0 8px; }
.article .diagram-photo-grid .intro-photo { margin:0; }
.diagram-photo-grid .photo-zoom { overflow:hidden; }
.diagram-photo-grid .photo-zoom img { height:auto; aspect-ratio:4/3; object-fit:cover; }
.diagram-photo-grid .photo-context { margin-top:10px; }
@media (max-width:1020px) {
  .article > .explanation-diagram { grid-column:1/-1; }
}
@media (max-width:620px) {
  .diagram-steps { grid-auto-flow:row; gap:16px; }
  .diagram-steps li { padding:0 0 0 13px; border-top:0; border-left:2px solid #801c208c; }
  .diagram-steps li:not(:last-child)::after { content:"↓"; right:auto; left:-4px; top:100%; font-size:13px; }
  .diagram-photo-grid { grid-template-columns:1fr; gap:22px; }
  .diagram-photo-grid .photo-zoom img { aspect-ratio:16/9; }
  .diagram-matrix td, .diagram-matrix th { padding-inline:5px; }
  .diagram-layers li { gap:8px; padding-inline:8px; }
}

.map-path {
  grid-column:1/-1;
  min-width:0;
  margin-bottom:clamp(28px,5vw,56px);
}
.branch-overview > .map-path { margin-top:32px; }
.branch-overview > .chart-stage { min-height:0; margin-block:32px; }
.map-path > p {
  margin:0 0 12px;
  font-size:12px;
  font-weight:500;
  letter-spacing:.08em;
  color:var(--muted);
}
.map-path ol {
  --path-gap:clamp(14px,2.2vw,32px);
  display:flex;
  align-items:center;
  gap:var(--path-gap);
  margin:0;
  padding:0;
  list-style:none;
}
.map-path li { position:relative; min-width:0; }
.map-path li + li::before {
  content:"";
  position:absolute;
  top:50%;
  right:100%;
  width:var(--path-gap);
  border-block-start:1px solid #801c2070;
}
.path-node {
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:6px 14px;
  border:1px solid #d2cbc8;
  border-radius:999px;
  background:#f3f1ef;
  color:var(--ink);
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.path-node[href]:hover, .path-node[href]:focus-visible {
  color:var(--accent-color);
  border-color:var(--accent-color);
  background:#efe0df;
}
.path-node[aria-current] {
  gap:8px;
  color:#fffaf7;
  font-weight:500;
  border-color:#801c20;
  background:linear-gradient(115deg,#801c20,#651619);
  box-shadow:0 2px 18px #801c201f;
}
.path-node[aria-current]::before {
  content:"";
  flex:none;
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}
@media (max-width:700px) {
  .map-path ol { --path-gap:10px; flex-direction:column; align-items:flex-start; padding-inline-start:0; }
  .map-path li + li::before {
    top:auto;
    bottom:100%;
    left:17px;
    right:auto;
    width:0;
    height:var(--path-gap);
    border-block-start:0;
    border-inline-start:1px solid #801c2070;
  }
}
@media (prefers-reduced-motion:no-preference) {
  .path-node {
    animation:path-node-in 290ms cubic-bezier(.2,.8,.2,1) backwards;
    animation-delay:calc(var(--path-step) * 48ms);
    transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease;
  }
  .map-path li + li::before {
    animation:path-line-in 240ms ease-out backwards;
    animation-delay:calc(var(--path-step) * 48ms - 30ms);
  }
}
@keyframes path-node-in { from { opacity:0; transform:translateY(4px); } }
@keyframes path-line-in { from { opacity:0; } }

/* Inner-page figures share an editorial layout, with shape keyed to meaning. */
.explanation-diagram {
  padding-inline:0;
  border:0;
  border-block:1px solid var(--line);
  background:transparent;
}
.explanation-diagram > figcaption { margin-bottom:clamp(24px,4vw,40px); }
.diagram-steps { gap:28px; }
.diagram-steps li { border-color:#8e383a; }
.diagram-steps li::before {
  content:"";
  position:absolute;
  top:-5px;
  left:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent-color);
}
.diagram-chain .diagram-steps a:hover strong { text-decoration:underline; text-underline-offset:4px; }

.loop-stages {
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,3vw,36px);
}
.loop-stages li { position:relative; text-align:center; }
.loop-index {
  display:grid;
  place-items:center;
  width:56px;
  aspect-ratio:1;
  margin:0 auto 12px;
  border:1px solid #a2828075;
  border-top:2px solid var(--accent-color);
  border-radius:50%;
  color:var(--accent-color);
  font-size:20px;
  font-variant-numeric:tabular-nums;
}
.loop-stages li:not(:last-child)::after {
  content:"→";
  position:absolute;
  top:16px;
  right:0;
  translate:calc(50% + clamp(6px,1.5vw,18px));
  color:var(--accent-color);
}
.diagram-loop .diagram-feedback {
  width:fit-content;
  margin:24px auto 0;
  border:0;
  border-radius:999px;
  background:#801c2013;
}
.diagram-photo-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,4vw,42px);
}
.diagram-photo-grid h3 { margin:14px 0; }
.diagram-photo-grid .photo-zoom {
  width:min(100%,220px);
  border-radius:50%;
  margin-block:0 14px;
}
.diagram-photo-grid .photo-zoom img, .article .diagram-photo-grid .photo-zoom img {
  aspect-ratio:1;
  border-radius:50%;
  object-fit:cover;
}
.diagram-photo-grid .photo-zoom svg {
  right:50%; bottom:8%;
  transform:translateX(50%);
  background:#292524e8;
}
.diagram-photo-grid .photo-context { max-width:25em; }
.dot-comparison :is(ul,li) { list-style:none; margin:0; padding:0; }
.dot-comparison li + li { margin-top:15px; }
.dot-legend { display:flex; gap:18px; margin-bottom:12px; }
.dot-legend span::before {
  content:""; display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:7px;
  background:var(--accent-color);
}
.dot-legend span + span::before { background:#4d4947; }
.dot-axis { display:flex; justify-content:space-between; margin-right:64px; color:var(--muted); font-size:12px; }
.dot-row { display:grid; align-items:center; grid-template-columns:minmax(0,1fr) 54px; gap:10px; color:var(--accent-color); }
.dot-row:last-child { color:#4d4947; }
.dot-track { position:relative; height:1px; background:#d8d4d0; }
.dot-track i { position:absolute; left:0; top:0; width:var(--value); height:1px; background:currentColor; }
.dot-track i::after {
  content:""; position:absolute; right:0; top:50%; translate:50% -50%;
  width:7px; height:7px; border-radius:50%; background:currentColor;
}
.dot-number { font-size:13px; font-variant-numeric:tabular-nums; text-align:right; }

@media (max-width:620px) {
  .diagram-steps li::before { top:9px; left:-5px; }
  .diagram-steps li:not(:last-child)::after { left:-5px; background:var(--site-paper); }
  .loop-stages { grid-template-columns:1fr; gap:12px; }
  .loop-stages li { padding-left:44px; text-align:left; }
  .loop-stages li:not(:last-child)::after {
    content:"↓";
    right:auto; left:10px; top:auto; bottom:-13px; translate:none;
  }
  .loop-index { position:absolute; left:0; top:0; width:29px; font-size:14px; }
  .diagram-photo-grid { grid-template-columns:1fr; }
  .diagram-photo-grid .photo-zoom { width:150px; }
}

.polar-layout {
  display:grid;
  grid-template-columns:minmax(0,340px) minmax(0,340px);
  gap:clamp(24px,6vw,72px);
  align-items:center;
}
.polar-plot {
  position:relative;
  width:90%;
  max-width:310px;
  margin:12px auto;
  aspect-ratio:1;
}
.polar-sector, .polar-ring {
  position:absolute;
  top:50%; left:50%;
  translate:-50% -50%;
  width:var(--diameter);
  aspect-ratio:1;
  border-radius:50%;
}
.polar-sector, .polar-key {
  --slice-color:var(--accent-color);
  background-color:var(--slice-color);
}
:is(.polar-sector,.polar-key)[style*="--sector:1"] { --slice-color:#9b5558; }
:is(.polar-sector,.polar-key)[style*="--sector:2"] { --slice-color:#66615f; }
:is(.polar-sector,.polar-key)[style*="--sector:3"] { --slice-color:#b08c8e; }
.polar-sector {
  background:conic-gradient(from calc(90deg * var(--sector)),transparent 1deg,var(--slice-color) 1deg 89deg,transparent 89deg);
}
.polar-ring { border:1px solid #afaaa8; }
.polar-ring small {
  position:absolute;
  left:50%; top:0;
  translate:5px -100%;
  font-size:11px;
  color:var(--ink);
}
.polar-legend { padding:0; margin:0; list-style:none; }
.polar-legend li {
  display:grid;
  grid-template-columns:10px 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-block-end:1px solid var(--line);
}
.polar-key { width:8px; height:8px; border-radius:50%; }
.polar-legend strong { font-size:20px; font-variant-numeric:tabular-nums; }
.polar-legend strong small { font-size:.65em; margin-left:2px; }

.timeline-summary { display:flex; flex-wrap:wrap; gap:4px 20px; align-items:baseline; margin-bottom:20px; }
.timeline-summary strong { color:var(--accent-color); font-size:clamp(26px,4vw,44px); font-variant-numeric:tabular-nums; }
.timeline-summary small { color:var(--muted); }
.timeline-scroll { overflow:auto; }
.timeline-chart { position:relative; min-width:570px; padding-left:57px; height:264px; }
.timeline-chart ol {
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:clamp(5px,1.2vw,15px);
  height:100%;
  margin:0;
  padding:0;
  list-style:none;
}
.timeline-chart li { position:relative; }
.timeline-grid { position:absolute; inset:17px 0 27px 0; pointer-events:none; }
.timeline-grid span { position:absolute; inset:auto 0 var(--level) 0; height:1px; font-size:11px; color:var(--muted); }
.timeline-grid span::after { content:""; position:absolute; inset:0 0 auto 57px; border-top:1px solid var(--line); }
.timeline-column {
  position:absolute;
  inset:17px 0 27px 0;
  background:linear-gradient(#a56565,#a56565) left bottom / 100% var(--level) no-repeat;
}
.timeline-chart li:nth-child(8) .timeline-column { background-image:linear-gradient(var(--accent-color),var(--accent-color)); }
.forecast .timeline-column { background-image:repeating-linear-gradient(135deg,#801c208c 0 2px,#801c201a 2px 5px); }
.timeline-value {
  position:absolute;
  left:50%; bottom:var(--level);
  translate:-50% -2px;
  font-size:11px;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.timeline-year { position:absolute; bottom:0; left:50%; translate:-50%; font-size:12px; color:var(--muted); }
@media(max-width:620px) {
  .polar-layout { grid-template-columns:1fr; gap:16px; }
  .polar-plot { width:min(74%,230px); }
}
.explanation-diagram .timeline-hint { display:none; }
@media (max-width:680px) {
  .explanation-diagram .timeline-hint { display:block; font-size:12px; margin:0 0 8px; }
}

.theme-intro h1 { margin:0 0 10px; font-size:clamp(36px,5.6vw,76px); letter-spacing:-.025em; }
.theme-intro p { color:var(--muted); margin:0; line-height:1.75; }
.theme-reader > .explanation-diagram { margin-block:32px 0; }
.theme-branches { margin-block:36px 0; }
.theme-branches .entry small { display:block; color:var(--muted); margin-top:6px; font-weight:400; }
.theme-rings, .theme-tracks, .theme-scenes { margin-top:clamp(24px,5vw,54px); }
.theme-rings {
  position:relative;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  padding:22px 0;
  min-height:330px;
  align-items:center;
  background:repeating-radial-gradient(circle at 0 50%, #7768673b 0 1px, transparent 2px 65px),
    radial-gradient(circle at 0 50%, #801c2023, transparent 65%);
}
.theme-rings .theme-visual-label {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:12px;
  width:fit-content;
  margin-left:clamp(12px, 7vw, 92px);
  color:var(--ink);
}
.theme-rings .theme-visual-label:nth-child(2) { margin-left:clamp(12px,15vw,200px); }
.theme-rings strong {
  width:62px; aspect-ratio:1; display:grid; place-items:center;
  border:1px solid #8877768c; border-radius:50%; background:#f0edeb;
}
.theme-rings .theme-visual-label span, .theme-tracks .theme-visual-label span, .theme-scenes a span { color:var(--muted); font-size:14px; }
.theme-tracks { display:grid; gap:10px; }
.theme-tracks .theme-visual-label {
  display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 15px;
  padding:14px 18px;
  border-left:2px solid #801c20;
  border-bottom:1px solid #801c2055;
  border-bottom-left-radius:28px;
  background:linear-gradient(90deg,#801c201b,transparent);
}
.theme-tracks .theme-visual-label:nth-child(2) { margin-inline-start:4%; }
.theme-tracks .theme-visual-label:nth-child(3) { margin-inline-start:8%; }
.theme-tracks .theme-visual-label:nth-child(4) { margin-inline-start:12%; }
.theme-scenes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--grid-gap); }
.theme-scenes .photo-zoom img { aspect-ratio:16/10; height:auto; object-fit:cover; }
.theme-scenes div > a { display:grid; gap:6px; margin-top:14px; }
.theme-scenes div > a:hover strong { color:var(--accent-color); }
@media (max-width:680px) {
  .theme-scenes { grid-template-columns:1fr; row-gap:28px; }
  .theme-rings { min-height:270px; }
}

.industry-home .map-section {
  color:var(--ink);
  scroll-margin-top:var(--header-height,64px);
}
.map-content { padding-block:clamp(48px,7vw,96px) clamp(56px,8vw,112px); }
.lineage-chart {
  --lineage-ink:var(--ink);
  --lineage-muted:var(--muted);
  position:relative;
  isolation:isolate;
}
.lineage-chart :where(h3,h4,ul) { margin:0; padding:0; }
.lineage-chart ul { list-style:none; }
.lineage-caption { margin-bottom:clamp(34px,5vw,70px); }
.lineage-caption span { color:var(--lineage-muted); font-size:12px; letter-spacing:.15em; }
.lineage-caption h2 { margin:5px 0 0; font-size:clamp(28px,4vw,48px); font-weight:500; letter-spacing:-.025em; }
.lineage-chart :is(.lineage-origin,.lineage-group) { --lineage-label:color-mix(in srgb,var(--wire-color) 45%,#242122); }
.lineage-hue-0 { --wire-color:#dfbe81; }
.lineage-hue-1 { --wire-color:#dd9b85; }
.lineage-hue-2 { --wire-color:#8ebbbb; }
.lineage-hue-3 { --wire-color:#afadd7; }
.lineage-wires { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
.lineage-wire { fill:none; stroke:var(--wire-color); stroke-width:1.55; stroke-linecap:round; stroke-dasharray:1 1; }
.lineage-wire-origin { stroke-width:2.6; }
.lineage-wire-theme { stroke-width:1.8; }
.lineage-origins {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  text-align:center;
  padding-bottom:clamp(164px,20vw,274px);
}
.lineage-origin:nth-child(1) { margin-top:12px; }
.lineage-origin:nth-child(2) { margin-top:60px; }
.lineage-origin:nth-child(4) { margin-top:34px; }
.lineage-origin a,.lineage-theme a { display:inline-flex; flex-direction:column; align-items:center; }
.lineage-origin a { min-height:44px; padding:3px; }
.lineage-origin strong { order:-2; font-size:clamp(15px,1.6vw,22px); font-weight:500; color:var(--lineage-label); }
.lineage-origin small {
  order:-1; color:var(--lineage-muted); font-size:clamp(11px,1vw,13px);
  line-height:1.55; margin:4px 0 13px;
}
.lineage-pin {
  width:7px; height:7px; box-sizing:border-box; flex:none; border-radius:100%; display:block;
  background:var(--wire-color,currentColor);
}
.lineage-origin .lineage-pin {
  width:10px; height:10px; outline:1px solid var(--wire-color); outline-offset:4px;
}
.lineage-hub {
  position:relative;
  display:flex; flex-direction:column; align-items:center; width:max-content; max-width:100%; margin-inline:auto;
  padding:0 22px 7px;
  background:var(--site-paper);
}
.lineage-hub::after {
  content:""; position:absolute; left:50%; bottom:-8px; translate:-50% 0;
  width:7px; height:7px; border-radius:50%; background:var(--lineage-ink);
}
.lineage-hub .lineage-pin { width:9px; height:9px; background:var(--lineage-ink); box-shadow:0 0 0 5px #20242518; margin-bottom:9px; }
/* Use the same glyphs to clip the footage and render the fallback title. */
.lineage-heading {
  position:relative;
  width:100%;
  text-align:center;
  font-size:clamp(46px,8.6vw,132px);
  font-weight:650;
  line-height:1.14;
  white-space:nowrap;
}
.lineage-heading strong { display:block; font-weight:inherit; }
.lineage-heading-defs { position:absolute; inset:0; }
.lineage-heading-defs text { font:inherit; }
.lineage-heading-film {
  position:absolute;
  inset:0;
  clip-path:url(#lineage-heading-mask);
  opacity:0;
  pointer-events:none;
}
.lineage-heading.has-film .lineage-heading-film { opacity:1; }
.lineage-heading-film video {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.72) contrast(1.03);
}
.lineage-film-controls:not([hidden]) {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:2px 8px;
  margin-top:3px;
  color:var(--lineage-muted);
  font-size:11px;
}
.lineage-film-controls button {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  background:none;
  color:var(--ink);
}
@media (max-width:420px) { .lineage-hub { padding-inline:10px; } }
@media (prefers-reduced-motion:no-preference) {
  .lineage-heading-film { transition:opacity 220ms ease; }
}
.lineage-hub small { font-size:clamp(10px,1.1vw,13px); color:var(--lineage-muted); letter-spacing:.075em; line-height:1.4; }
.lineage-themes { display:grid; grid-template-columns:2fr 2fr 1fr 2fr; gap:clamp(12px,2vw,30px); padding-top:clamp(68px,9vw,126px); }
.lineage-theme { text-align:center; font-weight:500; line-height:1.35; }
.lineage-theme a { position:relative; background:var(--site-paper); padding:0 3px 4px; }
.lineage-theme a { color:var(--lineage-label); font-size:clamp(15px,1.65vw,23px); }
.lineage-theme .lineage-pin { margin-bottom:4px; width:8px; height:8px; }
.lineage-branches {
  display:grid;
  grid-template-columns:repeat(var(--lineage-columns),minmax(0,1fr));
  gap:clamp(12px,1.5vw,22px);
  padding-top:clamp(16px,2vw,28px);
}
.lineage-branches > li {
  min-width:0;
  padding-top:11px;
  border-top:1px solid var(--wire-color);
}
.lineage-branch { font-size:clamp(13px,1.2vw,17px); font-weight:500; }
.lineage-branch a { display:block; padding-block:3px 5px; }
.lineage-leaves a {
  display:inline-block;
  padding-block:4px;
  color:var(--lineage-muted);
  font-size:clamp(12px,1.03vw,14px);
  line-height:1.5;
}
@media (prefers-reduced-motion:no-preference) {
  .lineage-ready .lineage-branches > li {
    opacity:0;
    translate:0 7px;
  }
  .lineage-ready .lineage-branches.is-visible > li,
  .lineage-ready .lineage-branches:focus-within > li {
    opacity:1;
    translate:none;
    transition:opacity 340ms ease, translate 420ms cubic-bezier(.22,1,.36,1);
    transition-delay:calc(var(--branch-order) * 75ms);
  }
  .lineage-ready .lineage-branches:not(.is-visible) { pointer-events:none; }
}
.lineage-chart a:is(:hover,:focus-visible) { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.lineage-chart a:focus-visible { outline:1px solid var(--lineage-label); outline-offset:4px; }
.lineage-ready :is([data-flow-parent],.lineage-hub) { opacity:var(--lineage-visible,0); }
.lineage-ready [data-flow-parent]:focus-within { opacity:1; }
@media (max-width:850px) {
  .lineage-themes { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:44px; }
  .lineage-branch a { font-size:14px; }
  .lineage-leaves a { font-size:13px; }
}
@media (max-width:540px) {
  .lineage-origins { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 8px; padding-bottom:135px; }
  .lineage-origin:nth-child(n) { margin-top:0; }
  .lineage-origin:nth-child(even) { margin-top:17px; }
  .lineage-origin small { max-width:11em; }
  .lineage-origin :is(strong,small) { background:var(--site-paper); }
  .lineage-themes { grid-template-columns:minmax(0,1fr); padding-inline-start:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .lineage-ready :is([data-flow-parent],.lineage-hub) { opacity:1; }
}

.photo-view-head #photo-title { margin-inline-end:auto; }
.photo-view-head #photo-magnify { width:auto; min-height:34px; height:auto; padding:5px 9px; font-size:13px; white-space:nowrap; }
.photo-view-head { gap:12px; }
#photo-view.scene-photo-view { width:min(1000px, calc(100% - 32px)); }
.scene-photo-view #photo-viewport { overflow:auto; max-height:calc(100svh - 170px); background:var(--site-paper); }
.scene-photo-view #photo-full { margin-inline:auto; cursor:zoom-in; }
.scene-photo-view #photo-viewport.is-magnified #photo-full {
  width:200%; max-width:none; max-height:none; cursor:zoom-out; margin:0;
}
.photo-view-head #photo-magnify[hidden] { display:none; }

.site-header {
  position:sticky;
  top:0;
  z-index:10;
  background:var(--site-paper);
}
.site-header.is-scrolled {
  background:color-mix(in srgb,var(--site-paper) 79%,transparent);
  backdrop-filter:blur(14px);
}
.site-header .top {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:16px;
  border:0;
}
.site-header .top-links { grid-column:2; margin:0; justify-self:center; gap:clamp(24px,3vw,48px); }
.site-header .top-actions { grid-column:-2/-1; justify-self:end; gap:5px; }
.header-brand { grid-column:1; justify-self:start; font-size:22px; font-weight:500; line-height:1.15; }
.header-brand small { display:block; margin-top:4px; font-size:11px; letter-spacing:.035em; color:var(--muted); }
.header-brand:hover { color:var(--accent-color); }
.site-header .top-actions button {
  min-height:44px;
  border:0;
  border-radius:50%;
  background:none;
}
.site-header .top-actions button:hover { color:var(--accent-color); }
.site-header #menu-open { padding-inline:8px; }
.industry-home [id] { scroll-margin-top:78px; }
@media (max-width:880px) {
  .site-header .top { grid-template-columns:minmax(0,1fr) auto; }
}
@media (prefers-reduced-motion:no-preference) {
  .site-header { transition:background-color 220ms ease; }
}

.network-reader .map-path { margin-bottom:24px; }
.network-heading h1 { margin:0; font-size:clamp(28px,4vw,46px); }
.network-heading p { margin:8px 0 20px; color:var(--muted); }
.network-board { position:relative; background:var(--site-paper); border:1px solid var(--line); }
.network-tools {
  position:absolute; z-index:1; top:10px; right:10px; display:flex; gap:4px;
}
.network-tools button {
  min-width:36px; min-height:38px; padding-inline:8px;
  border:1px solid var(--line); background:var(--site-paper); border-radius:4px; color:var(--ink);
}
.network-tools button:hover { color:var(--accent-color); border-color:var(--accent-color); }
#knowledge-network { display:block; width:100%; height:clamp(430px,72svh,950px); cursor:grab; touch-action:none; }
#knowledge-network:active { cursor:grabbing; }
.network-edges line { stroke:#9e918b; stroke-width:1; vector-effect:non-scaling-stroke; }
.network-edges .network-related { stroke:#a98e87; stroke-dasharray:3 5; opacity:.36; }
.network-edges .is-connected { stroke:var(--accent-color); stroke-width:1.6; opacity:1; }
.network-node { --node-color:#806d64; }
.network-node[data-group="1"] { --node-color:#625753; }
.network-node[data-group="2"] { --node-color:#a26861; }
.network-node[data-group="3"] { --node-color:#6d3435; }
.network-node circle { fill:var(--site-paper); stroke:var(--node-color); stroke-width:1.6; }
.network-node text { fill:var(--ink); font-size:14px; paint-order:stroke; stroke:var(--site-paper); stroke-width:4px; pointer-events:none; }
.network-node[data-depth="0"] circle { fill:var(--accent-color); stroke:none; }
.network-node[data-depth="1"] circle { fill:var(--node-color); }
.network-node[data-depth="0"] text,.network-node[data-depth="1"] text { fill:#fff; stroke:none; font-weight:500; }
.network-node[data-depth="0"] text { font-size:23px; }
.network-node[data-depth="1"] text { font-size:15px; }
.network-node[data-depth="2"] circle { fill:#ded6d0; }
.network-node[data-depth="3"] text,.network-node[data-depth="4"] text,.network-node[data-depth="5"] text { visibility:hidden; }
#knowledge-network.is-zoomed .network-node[data-depth="3"] text,
.network-node:is(:hover,:focus-visible) text { visibility:visible; }
#knowledge-network.has-highlight :is(.network-node,line):not(.is-connected) { opacity:.18; }
.network-node:is(:hover,:focus-visible) circle { stroke:var(--accent-color); stroke-width:3; }
.network-node:is(:hover,:focus-visible) text { font-weight:600; }
.network-status { margin:0; padding:8px 14px 12px; color:var(--muted); font-size:13px; min-height:40px; }
@media(prefers-reduced-motion:no-preference) {
  #knowledge-network :is(.network-node,line) { transition:opacity 180ms ease; }
}

.polar-sector { filter:drop-shadow(0 0 1px #32222225); }
.diagram-matrix :is(td,th) { white-space:normal; overflow-wrap:anywhere; }

.network-edges .network-source { stroke:#947b76; stroke-dasharray:1 4; opacity:.31; }
.network-edges .network-source.is-connected { stroke:var(--accent-color); opacity:1; }
.network-node[data-depth="6"] circle { fill:#ad8d87; }
.network-node[data-depth="6"] text { visibility:hidden; }
.network-node[data-depth="6"]:is(:hover,:focus-visible) text { visibility:visible; }
.network-node > circle { vector-effect:non-scaling-stroke; }
.network-node[data-depth="1"] text { font-size:12px; }
.network-node[data-depth="0"] text { font-size:20px; }

.industry-hero {
  position:relative;
  height:max(470px,calc(100svh - var(--header-height,70px)));
  background:var(--site-paper);
  isolation:isolate;
}
.industry-hero .infinite-menu:focus-visible { outline:none; box-shadow:none; }
.industry-hero:has(.infinite-menu:focus-visible) .infinite-controls span { color:var(--accent-color); text-decoration:underline; text-underline-offset:4px; }
.industry-hero .infinite-menu {
  --infinite-menu-text:var(--ink);
  --infinite-menu-accent:var(--accent-color);
  --infinite-menu-on-accent:#fff;
  --infinite-menu-shadow:0 2px 12px var(--site-paper);
  height:calc(100% - 38px);
}
.infinite-menu .infinite-menu__title { font-weight:500; letter-spacing:0; }
.infinite-menu .infinite-menu__description { color:var(--ink); opacity:1; }
.infinite-menu .infinite-menu__info[data-moving=true] .infinite-menu__description { opacity:0; }
.infinite-menu .infinite-menu__info[data-layout=stacked] .infinite-menu__title { bottom:65px; }
.infinite-menu .infinite-menu__info[data-layout=stacked] .infinite-menu__description {
  bottom:18px; white-space:normal; overflow:visible; text-overflow:clip;
}
.infinite-controls {
  position:absolute; z-index:2; bottom:6px; left:50%; translate:-50%;
  display:flex; align-items:center; gap:12px; white-space:nowrap;
  color:var(--muted); font-size:12px;
}
.infinite-controls button {
  width:34px; height:32px; border:0; background:transparent; border-radius:50%; color:var(--ink);
}
.infinite-controls button:hover { background:#eae3df; color:var(--accent-color); }
.infinite-fallback { position:absolute; inset:15% 0 auto; margin:auto; width:min(72%,420px); height:58%; object-fit:cover; border-radius:50%; }
.uses-fallback .infinite-menu__canvas { display:none; }
@media(max-width:720px) {
  .infinite-controls { left:var(--page-edge); translate:none; gap:4px; }
}
@media(prefers-reduced-motion:reduce) {
  .infinite-menu :is(.infinite-menu__title,.infinite-menu__description,.infinite-menu__action) { transition:none; }
}

.scene-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px var(--grid-gap);
}
.scene-sector { min-width:0; }
.scene-sector .intro-photo { margin:0; }
.scene-sector .photo-zoom img {
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
}
.scene-sector h3 { margin:12px 0 5px; font-size:clamp(17px,1.65vw,23px); font-weight:500; }
.scene-sector h3 a:hover { color:var(--accent-color); }
.scene-sector h3 span { color:var(--accent-color); font-size:.72em; }
.scene-sector > p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
@media (max-width:900px) {
  .scene-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:540px) {
  .scene-grid { grid-template-columns:minmax(0,1fr); }
}

/* The topic axis is drawn in reading order when the section enters view. */
#fields.section-enter { animation:none; }
.topic-timeline {
  --axis-ink:#282523;
  --axis-line:#c9c3bf;
  --stem-length:clamp(48px,6vw,83px);
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) minmax(122px,1.22fr);
  align-items:center;
  min-height:clamp(280px,35vw,415px);
  padding-inline:0 16px;
}
.topic-axis {
  position:absolute;
  inset:50% 12% auto 0;
  height:1px;
  background:var(--axis-line);
  transform-origin:left center;
}
.topic-stop {
  position:relative;
  display:grid;
  justify-items:center;
  text-align:center;
  grid-template-rows:minmax(112px,1fr) 14px minmax(112px,1fr);
  align-self:stretch;
  min-width:0;
}
.topic-stem {
  position:absolute;
  width:1px;
  height:var(--stem-length);
  bottom:50%;
  left:50%;
  background:var(--axis-line);
  transform-origin:center bottom;
}
.topic-stop:nth-of-type(even) .topic-stem { top:50%; bottom:auto; transform-origin:center top; }
.topic-junction {
  position:relative;
  grid-row:2;
  align-self:center;
  width:9px;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--axis-ink);
}
.topic-medallion {
  position:absolute;
  display:grid;
  place-items:center;
  width:clamp(42px,5.1vw,64px);
  aspect-ratio:1;
  left:50%;
  bottom:calc(50% + var(--stem-length));
  translate:-50% 0;
  border-radius:50%;
  border:1px solid var(--axis-line);
  color:var(--axis-ink);
  background:#faf9f8;
  font-size:clamp(20px,2.5vw,31px);
}
.topic-stop:nth-of-type(even) .topic-medallion { top:calc(50% + var(--stem-length)); bottom:auto; }
.topic-stop-copy { grid-row:3; padding:12px 4px 0; }
.topic-stop:nth-of-type(even) .topic-stop-copy { grid-row:1; align-self:end; padding:0 4px 12px; }
.topic-stop-copy h3 { margin:0 0 6px; font-size:clamp(14px,1.65vw,21px); line-height:1.35; }
.topic-stop-copy ul { display:grid; gap:3px; margin:0; padding:0; list-style:none; }
.topic-stop-copy li a { display:inline-block; padding:1px 4px; color:#66615f; font-size:clamp(12px,1.15vw,15px); }
.topic-stop-copy a:is(:hover,:focus-visible), .topic-medallion:is(:hover,:focus-visible) { color:var(--accent-color); }
.topic-stop-copy li a:hover { text-decoration:underline; text-underline-offset:3px; }
.topic-destination {
  position:relative;
  justify-self:center;
  width:min(85%,170px);
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:6px;
  background:var(--axis-ink);
  color:white;
  text-align:center;
}
.topic-destination::before,.topic-destination::after {
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid var(--axis-line);
  border-radius:50%;
  pointer-events:none;
}
.topic-destination::after {
  inset:-16px;
  border-color:#807772 transparent #807772 #807772;
  rotate:-24deg;
}
.topic-destination span { font-size:clamp(15px,2vw,25px); font-weight:500; }
.topic-destination small { font-size:clamp(10px,1vw,13px); }
.topic-destination:hover { background:var(--accent-color); }

@media (max-width:700px) {
  .topic-timeline {
    --column-inset:16px;
    grid-template-columns:1fr;
    gap:22px;
    padding:8px 0 15px 34px;
  }
  .topic-axis { inset:24px auto 54px var(--column-inset); width:1px; height:auto; transform-origin:top; }
  .topic-stop,.topic-stop:nth-of-type(even) {
    display:grid;
    grid-template: auto / 42px minmax(0,1fr);
    align-items:start;
    justify-items:start;
    gap:12px;
    text-align:left;
    min-height:68px;
  }
  .topic-stop .topic-stem,.topic-stop:nth-of-type(even) .topic-stem {
    inset:20px auto auto -18px;
    width:20px;
    height:1px;
    transform-origin:left;
  }
  .topic-junction { grid-area:1/1; position:absolute; left:-22px; top:16px; }
  .topic-stop .topic-medallion,.topic-stop:nth-of-type(even) .topic-medallion {
    grid-area:1/1; position:relative; inset:auto; translate:none;
  }
  .topic-stop .topic-stop-copy,.topic-stop:nth-of-type(even) .topic-stop-copy {
    grid-area:1/2; align-self:start; padding:3px 0 0;
  }
  .topic-stop-copy ul { display:flex; flex-wrap:wrap; gap:3px 9px; }
  .topic-stop-copy li a { padding:2px 0; }
  .topic-destination { justify-self:start; margin-left:0; width:108px; }
}

@media (prefers-reduced-motion:no-preference) {
  #fields.awaiting-timeline:not(:has(.topic-timeline a:focus-visible)) :is(.topic-axis,.topic-stem,.topic-junction,.topic-medallion,.topic-stop-copy,.topic-destination) { opacity:0; }
  #fields.section-enter .topic-axis { animation:topic-axis-draw 560ms cubic-bezier(.3,.7,.2,1) both; }
  #fields.section-enter .topic-junction { animation:topic-content-in 180ms ease-out calc(460ms + var(--stop-delay)) both; }
  #fields.section-enter .topic-stem { animation:topic-branch-draw 320ms cubic-bezier(.2,.7,.2,1) calc(520ms + var(--stop-delay)) both; }
  #fields.section-enter .topic-medallion { animation:topic-content-in 310ms cubic-bezier(.2,.75,.25,1) calc(790ms + var(--stop-delay)) both; }
  #fields.section-enter .topic-stop-copy { animation:topic-content-in 270ms ease-out calc(900ms + var(--stop-delay)) both; }
  #fields.section-enter .topic-stop-copy ul { animation:topic-content-in 290ms ease-out calc(1010ms + var(--stop-delay)) both; }
  #fields.section-enter .topic-destination { animation:topic-content-in 340ms ease-out 1250ms both; }
  #fields:has(.topic-timeline a:focus-visible) .topic-timeline * { animation:none; opacity:1; }
  @media (max-width:700px) {
    #fields.section-enter .topic-axis { animation-name:topic-branch-draw; }
    #fields.section-enter .topic-stem { animation-name:topic-axis-draw; }
  }
}
@keyframes topic-axis-draw { from { transform:scaleX(0); } }
@keyframes topic-branch-draw { from { transform:scaleY(0); } }
@keyframes topic-content-in { from { opacity:0; transform:translateY(6px); } }

@media (prefers-reduced-motion:no-preference) {
  .header-brand { animation:brand-appear 480ms ease-out both; }
  .header-brand small { animation:brand-appear 480ms 100ms ease-out both; }
  .header-brand { transition:color 180ms ease; }
}
@keyframes brand-appear { from { opacity:0; translate:0 4px; } }

/* Research chapters use the site's existing reading grid and text scale. */
.chapter-heading > p { margin:0 0 6px; color:var(--accent-color); }
.chapter-heading > h1 { margin-top:0; }
.chapter-toc {
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  padding-block:8px 20px;
  border-bottom:1px solid var(--line);
}
.chapter-toc a { padding-block:5px; color:var(--muted); font-size:14px; }
.chapter-toc a:is(:hover,[aria-current]), .chapter-links a:hover, .chapter-neighbors a:hover { color:var(--accent-color); }
.chapter-section {
  max-width:54rem;
  padding-block:clamp(22px,4vw,44px);
  scroll-margin-top:calc(var(--header-height,70px) + 20px);
}
.chapter-section + .chapter-section { border-top:1px solid var(--line); }
.chapter-section h2 { margin:0 0 10px; font-size:clamp(20px,2.4vw,30px); font-weight:500; }
.chapter-section h2 small { color:var(--accent-color); margin-inline-end:.7em; font-size:.62em; }
.chapter-section h2 small:empty { display:none; }
.chapter-section > p { margin:0 0 12px; line-height:1.85; }
.chapter-links { display:flex; flex-wrap:wrap; gap:4px 18px; font-size:14px; }
.chapter-links a { padding-block:4px; text-decoration:underline; text-underline-offset:3px; }
.chapter-links a span { color:var(--accent-color); }
.chapter-neighbors { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:18px; border-top:1px solid var(--line); }

.branch-lead, .branch-body, .reading-sources { max-width:54rem; }
.branch-reader > h1 { margin-bottom:10px; }
.branch-lead p, .topic-block > p { margin:0 0 10px; line-height:1.85; }
.topic-block { scroll-margin-top:calc(var(--header-height,70px) + 22px); }
.topic-depth-1 { padding-block:clamp(24px,4vw,48px); }
.topic-depth-1 + .topic-depth-1 { border-top:1px solid var(--line); }
.topic-depth-2 { margin-top:26px; }
.topic-depth-3 { margin-top:12px; }
.topic-block :is(h2,h3,h4,h5,h6) { margin:0 0 7px; }
.topic-block h2 { font-size:clamp(23px,2.7vw,33px); }
.topic-block h3 { font-size:clamp(17px,1.9vw,23px); }
.topic-block :is(h4,h5,h6) { font-size:1em; }
.topic-block .intro-photo { max-width:540px; margin-block:18px; }
.reading-sources {
  border-top:1px solid var(--line);
  margin-top:24px;
  padding-top:14px;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
  overflow-wrap:anywhere;
}
.reading-sources h2 { margin:0 0 6px; font-size:13px; }
.reading-sources ul { margin:0; padding:0; list-style:none; }
.reading-sources li + li { margin-top:4px; }
.reading-sources a { text-decoration:underline; text-underline-offset:2px; }
.reading-sources a:hover { color:var(--accent-color); }

.chapter-directory ol { list-style:none; margin:0 0 28px; padding:0; border-top:1px solid var(--line); }
.chapter-directory-row {
  position:relative;
  display:grid;
  grid-template-columns:3em minmax(0,1fr) clamp(120px,17vw,235px) auto;
  align-items:center;
  gap:clamp(12px,2vw,28px);
  padding:clamp(15px,2.2vw,30px) 0;
  border-bottom:1px solid var(--line);
}
.chapter-row-number { align-self:start; padding-top:4px; color:var(--accent-color); font-variant-numeric:tabular-nums; }
.chapter-row-copy h2 { margin:0 0 5px; font-size:clamp(19px,2.3vw,30px); font-weight:500; }
.chapter-directory-row:focus-visible { outline:2px solid var(--accent-color); outline-offset:2px; }
.chapter-row-copy p { margin:0; max-width:42em; color:var(--muted); font-size:14px; line-height:1.65; }
.chapter-row-image { overflow:hidden; aspect-ratio:16/10; }
.chapter-row-image img { display:block; width:100%; height:100%; object-fit:cover; }
.chapter-row-arrow { color:var(--accent-color); font-size:20px; }
.chapter-directory-row:is(:hover,:focus-within) h2 { color:var(--accent-color); }
@media(prefers-reduced-motion:no-preference) {
  .chapter-row-arrow,.chapter-row-image img { transition:transform 220ms ease; }
  .chapter-directory-row:is(:hover,:focus-within) .chapter-row-arrow { transform:translate(2px,-2px); }
  .chapter-directory-row:is(:hover,:focus-within) .chapter-row-image img { transform:scale(1.045); }
}
@media(max-width:600px) {
  .chapter-directory-row { grid-template-columns:minmax(0,1fr) clamp(68px,24vw,115px); gap:4px 12px; }
  .chapter-row-number { grid-column:1; font-size:12px; padding-top:0; }
  .chapter-row-copy { grid-column:1; }
  .chapter-row-copy p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  .chapter-row-image { grid-column:2; grid-row:1/span 2; }
  .chapter-row-arrow { display:none; }
}

.radial-atlas { position:relative; overflow-anchor:none; }
.radial-heading > p { margin:0; color:var(--muted); }
.radial-heading h2 { margin-bottom:9px; }
.radial-toolbar {
  position:sticky; top:var(--header-height,70px); z-index:2;
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start;
  gap:12px 24px; margin-block:14px 0; padding-block:8px; background:var(--site-paper);
}
.radial-toolbar button,.radial-actions button {
  min-width:38px; min-height:38px; border:1px solid #c9d6de; border-radius:3px;
  background:transparent; color:#244c67; padding:0 10px;
}
.radial-toolbar button:hover,.radial-actions button:hover { background:#e8eff4; }
.radial-zoom-controls { display:flex; align-items:center; width:max-content; }
.radial-zoom-controls button { min-width:44px; min-height:44px; font-size:20px; }
.radial-zoom-controls button[data-radial-view=reset] { margin-inline-start:8px; font-size:13px; }
.radial-zoom-level { min-width:64px; text-align:center; color:#244c67; font-size:14px; font-variant-numeric:tabular-nums; }
.radial-zoom p { margin:5px 0 0; font-size:12px; color:var(--muted); }
.radial-zoom kbd { font:inherit; color:#244c67; }
.radial-stage { width:100%; max-width:1200px; margin-inline:auto; }
.radial-stage svg { display:block; width:100%; height:auto; aspect-ratio:1; touch-action:pan-y; cursor:grab; }
.radial-stage svg:active { cursor:grabbing; }
.radial-ring { fill:none; stroke:#5483ae; stroke-width:1; }
.radial-edge { fill:none; stroke:#9da2a7; opacity:.55; stroke-width:.75; }
.radial-edge.is-selected { stroke:#1d5d89; opacity:1; stroke-width:2; }
.radial-node { cursor:pointer; }
.radial-node circle { fill:var(--site-paper); stroke:#447eb0; stroke-width:1.05; }
.radial-core circle { stroke-width:1.5; }
.radial-node text { fill:#25292d; font-family:var(--sans); font-size:8px; pointer-events:none; }
.radial-core text { font-size:12px; font-weight:600; }
.radial-tip text { font-size:4.65px; }
.radial-node:is(:hover,:focus-visible,.is-selected) circle { fill:#1d5d89; stroke:#123d5c; stroke-width:1.75; }
.radial-node:is(:hover,:focus-visible,.is-selected) text { font-weight:700; fill:#123d5c; }
.radial-inspector:not([hidden]) {
  position:sticky; bottom:12px; display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px; padding:14px 18px; border:1px solid #c9d6de;
  background:var(--site-paper); box-shadow:0 3px 16px #244c6716;
}
.radial-inspector h3 { margin:3px 0; font-size:18px; }
.radial-trail,.radial-summary { margin:0; color:var(--muted); font-size:13px; }
.radial-trail:empty,.radial-summary:empty { display:none; }
.radial-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:#244c67; font-size:14px; }
.radial-actions a { text-decoration:underline; }
.radial-search { display:flex; flex-wrap:wrap; gap:6px; align-items:center; min-width:0; }
@media(max-width:600px) {
  .radial-toolbar { position:static; }
}
.radial-search input {
  width:clamp(120px,22vw,260px); min-height:38px; border:1px solid #c9d6de; border-radius:3px;
  background:transparent; font:inherit; color:var(--ink); padding:0 9px;
}
.radial-search-message { margin:0; font-size:13px; color:var(--muted); }
.radial-search-message:empty { display:none; }
