/* SAN Neural Observatory — native reader and a separate decorative scene. */
body[data-san-observatory] {
  --san-base:#eee9df; --san-panel:#fbf8f0; --san-soft:#e9e3d8;
  --san-accent:#996044; --san-rim:#80927d; --san-line:rgb(51 71 64 / .22);
  --san-line-strong:rgb(51 71 64 / .4); --san-paper-background:#fbf8f0;
  --san-accent-wash:rgb(153 96 68 / .1);
  color:var(--ink); background:var(--knowledge-wallpaper,var(--san-base));
  font-family:"Aptos","Segoe UI",Arial,sans-serif; isolation:isolate;
}
body[data-san-observatory] *,body[data-san-observatory] *::before,body[data-san-observatory] *::after { box-sizing:border-box; }
body[data-san-observatory] :is(a,button,input,select,summary,[tabindex]):focus-visible {
  outline:2px solid var(--ink); outline-offset:4px;
}
body[data-san-observatory] a { color:var(--wiki-link); text-underline-offset:.22em; }
body[data-san-observatory] .knowledge-bar {
  position:relative; z-index:50; max-width:1440px; margin:0 auto 24px;
  padding:20px clamp(18px,3vw,40px) 0; border:0; border-bottom:1px solid var(--san-line-strong);
  border-radius:0; background:var(--san-panel); color:var(--ink); box-shadow:none; backdrop-filter:none;
}
.san-shell-top { display:flex; align-items:center; gap:28px; padding-bottom:18px; }
.san-wordmark { display:inline-flex; align-items:center; gap:12px; min-height:48px; color:var(--ink)!important; text-decoration:none; }
.san-wordmark:hover { text-decoration:none; }
.san-network-mark { width:45px; height:45px; flex-shrink:0; color:var(--san-accent); }
.san-wordmark strong { display:block; font-size:clamp(17px,1.8vw,22px); font-weight:650; letter-spacing:-.035em; line-height:1.18; }
.san-wordmark small { display:block; margin-top:6px; color:var(--ink-soft); font-size:10px; font-weight:650; letter-spacing:.17em; text-transform:uppercase; }
.san-shell-destinations { display:flex; flex-wrap:wrap; gap:4px 22px; margin-left:auto; }
.san-shell-destinations a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink)!important; font-size:13px; text-decoration:none; border-bottom:1px solid transparent; }
.san-shell-destinations a:hover { border-bottom-color:var(--san-accent); }
.san-view-switch { display:flex; padding:3px; gap:3px; border:1px solid var(--san-line-strong); border-radius:5px; background:var(--san-soft); }
body[data-san-observatory] .san-view-switch button {
  min-width:50px; min-height:42px; border:0; border-radius:3px; background:transparent;
  color:var(--ink-soft); font:650 13px/1 "Aptos","Segoe UI",sans-serif; cursor:pointer;
}
body[data-san-observatory] .san-view-switch button[aria-pressed=true] { background:var(--ink); color:var(--san-panel); }
.san-shell-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; padding:12px 0; border-top:1px solid var(--san-line); }
.san-shell-tools > label { display:flex; align-items:center; gap:10px; color:var(--ink-soft); font-size:11px; font-weight:600; letter-spacing:.025em; }
body[data-san-observatory] .san-shell-tools select,
body[data-san-observatory] .san-shell-tools > button,
body[data-san-observatory] .san-paper-control button {
  min-height:42px; padding:8px 10px; border:1px solid var(--san-line); border-radius:3px;
  background:var(--san-panel); color:var(--ink); font:500 13px/1.3 "Aptos","Segoe UI",sans-serif;
}
body[data-san-observatory] .san-shell-tools > button,
body[data-san-observatory] .san-paper-control button { cursor:pointer; }
body[data-san-observatory] .san-shell-tools > button:disabled { color:var(--ink-soft); cursor:default; border-style:dashed; }
body[data-san-observatory] .san-shell-tools > button:not(:disabled):hover,
body[data-san-observatory] .san-paper-control button:hover { background:var(--san-soft); }
#knowledge-graphics-status { color:var(--ink-soft); font-size:11px; line-height:1.5; }
#knowledge-retry[hidden] { display:none; }
.san-paper-control {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding:12px 14px;
  border:1px solid var(--san-line); border-radius:3px; background:var(--san-panel); color:var(--ink);
  font:500 12px/1.4 "Aptos","Segoe UI",sans-serif;
}
.san-paper-control label { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; }
.san-paper-control label > span { white-space:nowrap; }
.san-paper-control output { display:inline-block; min-width:38px; margin-left:5px; font-variant-numeric:tabular-nums; color:var(--ink); font-weight:700; }
.san-paper-control input { width:130px; min-height:36px; margin:0; accent-color:var(--san-accent); cursor:pointer; }
#san-paper-help { color:var(--ink-soft); font-size:11px; }
.san-shell-tools > .san-paper-control { margin-left:auto; padding:0 0 0 18px; border-width:0 0 0 1px; border-radius:0; }
.san-shell-tools > .san-paper-control #san-paper-help { display:none; }
body[data-san-observatory] .san-shell-tools > .san-paper-control button { border:0; padding:4px 8px; }

/* Native homepage structure, including its existing links and mobile menu. */
body.san-observatory-home { margin:0; }
body.san-observatory-home .wrap { max-width:1320px; padding-inline:clamp(20px,4vw,48px); }
body.san-observatory-home header.nav {
  position:relative; top:auto; z-index:20; max-width:1440px; margin:-24px auto 0;
  background:var(--san-panel); border:0; border-bottom:1px solid var(--san-line); backdrop-filter:none;
}
body.san-observatory-home .nav .wrap { padding-block:8px; justify-content:flex-start; gap:28px; }
body.san-observatory-home .nav .brand { font-size:11px; font-weight:500; color:var(--ink-soft); letter-spacing:.03em; }
body.san-observatory-home .nav nav { gap:8px 22px; }
body.san-observatory-home .nav nav a { display:inline-flex; align-items:center; min-height:40px; color:var(--ink-soft); font-size:12px; }
body.san-observatory-home .nav nav :is(.research-button,.login-button) {
  padding:4px 9px; background:transparent; color:var(--ink); border:1px solid var(--san-line); border-radius:3px; font-weight:500;
}
body.san-observatory-home .nav-toggle { border-radius:3px; background:var(--san-panel); color:var(--ink); }
body.san-observatory-home main > .hero {
  position:relative; display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);
  align-items:center; gap:clamp(22px,4vw,60px); min-height:660px; padding-block:70px 90px; text-align:left; background:transparent;
}
.san-hero-copy { position:relative; padding:clamp(24px,3vw,42px); background:var(--san-paper-background); border:1px solid var(--san-line); border-radius:3px; }
body.san-observatory-home .hero .eyebrow { color:var(--ink-soft); font-size:10px; letter-spacing:.13em; line-height:1.7; }
body.san-observatory-home .hero h1 {
  color:var(--ink); background:none; -webkit-text-fill-color:var(--ink);
  font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(43px,5.4vw,76px);
  line-height:1.02; letter-spacing:-.055em; margin:22px 0;
}
body.san-observatory-home .hero p.lede { color:var(--ink-soft); font-size:clamp(16px,1.5vw,19px); line-height:1.75; max-width:40em; margin:0; }
body.san-observatory-home .hero .btnrow { justify-content:flex-start!important; gap:10px; margin-top:30px; }
body.san-observatory-home .btn {
  min-height:46px; padding:12px 16px; border:1px solid var(--san-line-strong); border-radius:3px;
  background:var(--san-panel); color:var(--ink); font-size:12px; font-weight:600; line-height:1.35;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
body.san-observatory-home .btn:is(.gold,.primary) { background:var(--ink); color:var(--san-panel); border-color:var(--ink); }
body.san-observatory-home .btn:hover { filter:none; box-shadow:0 3px 0 var(--san-accent); }
.san-scene-aperture {
  position:relative; display:flex; flex-direction:column; justify-content:space-between;
  align-self:stretch; min-height:470px; margin:0; padding:12px 0; background:transparent; color:var(--ink-soft);
  border-top:1px solid var(--san-line); border-bottom:1px solid var(--san-line);
}
.san-aperture-index,.san-scene-aperture figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; position:relative; z-index:1; font:500 10px/1.5 "Aptos","Segoe UI",sans-serif; letter-spacing:.035em; }
.san-aperture-index span:first-child { text-transform:uppercase; letter-spacing:.12em; }
.san-scene-aperture figcaption { padding-top:16px; }
.san-field-label { color:var(--ink); font-size:12px; }
.san-static-field { display:block; width:100%; max-height:440px; flex:1; color:var(--san-accent); }
body[data-knowledge-mode="3d"].knowledge-graphics-ready .san-static-field { visibility:hidden; }
body.san-observatory-home section { padding:50px 0; border-top:1px solid var(--san-line); }
body.san-observatory-home section > .wrap { padding-block:34px; background:var(--san-paper-background); border:1px solid var(--san-line); border-radius:3px; }
body.san-observatory-home section h2 { color:var(--ink); font:400 clamp(28px,3vw,42px)/1.2 Georgia,"Times New Roman",serif; letter-spacing:-.035em; }
body.san-observatory-home section .sub { color:var(--ink-soft); line-height:1.75; }
body.san-observatory-home .book { grid-template-columns:minmax(180px,240px) minmax(0,1fr); gap:clamp(28px,5vw,72px); }
body.san-observatory-home .book .coverwrap { filter:drop-shadow(0 14px 16px rgb(0 0 0 / .12)); }
body.san-observatory-home .book img { border-radius:2px; }
body.san-observatory-home .next-book { border-color:var(--san-accent); }
body.san-observatory-home .next-book h3 { color:var(--ink); font:400 26px/1.25 Georgia,"Times New Roman",serif; }
body.san-observatory-home .next-book p { color:var(--ink-soft); }
body.san-observatory-home .cards { gap:16px; perspective:1200px; }
body.san-observatory-home .card {
  padding:24px; border:1px solid var(--san-line); border-radius:3px; background:var(--san-paper-background);
  color:var(--ink); box-shadow:none; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
body.san-observatory-home .card h3 { color:var(--ink); font-size:17px; font-weight:600; }
body.san-observatory-home .card p { color:var(--ink-soft); line-height:1.7; }
body.san-observatory-home footer { max-width:1440px; margin:auto; background:var(--san-panel); color:var(--ink-soft); border-color:var(--san-line); }
body.san-observatory-home footer a { color:var(--wiki-link); }


/* Wiki typography and panels. Reading plane, controls, media remain untransformed. */
body[data-san-observatory].wiki-theme-san { padding:16px; --wiki-font:"Aptos","Segoe UI",Arial,sans-serif; }
body[data-san-observatory].wiki-theme-san .page-shell { max-width:1440px; }
body[data-san-observatory].wiki-theme-san .hero { margin-bottom:18px; background:transparent; }
body[data-san-observatory].wiki-theme-san .hero-copy {
  padding:20px 24px; border:1px solid var(--san-line); border-radius:3px;
  background:var(--san-panel); color:var(--ink); box-shadow:none; backdrop-filter:none;
}
body[data-san-observatory].wiki-theme-san .hero h1 { color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.025em; }
body[data-san-observatory].wiki-theme-san .hero-text { color:var(--ink-soft); }
body[data-san-observatory].wiki-theme-san .brand-mark { border-radius:2px; background:var(--ink); color:var(--san-panel); box-shadow:none; }
body[data-san-observatory].wiki-theme-san .wiki-family-strip { gap:8px; background:transparent; border:0; box-shadow:none; }
body[data-san-observatory].wiki-theme-san .wiki-family-link {
  border:1px solid var(--san-line); border-radius:3px; background:var(--san-panel); color:var(--ink);
  box-shadow:none; font-weight:500;
}
body[data-san-observatory].wiki-theme-san .wiki-family-link.current { border-color:var(--san-accent); background:var(--san-accent-wash); color:var(--ink); }
body[data-san-observatory].wiki-theme-san .wiki-family-link.offline { color:var(--ink-soft); background:var(--san-panel); }
body[data-san-observatory].wiki-theme-san .layout { gap:20px; }
body[data-san-observatory].wiki-theme-san .panel {
  border:1px solid var(--san-line); border-radius:3px; box-shadow:none; color:var(--ink); backdrop-filter:none;
}
body[data-san-observatory].wiki-theme-san :is(.navigation-panel,.context-panel) { background:var(--san-panel); }
body[data-san-observatory].wiki-theme-san .article-panel { background:var(--san-paper-background); padding:30px clamp(22px,2.6vw,44px); }
body[data-san-observatory].wiki-theme-san .article-title { color:var(--ink); font:400 clamp(29px,3vw,43px)/1.18 Georgia,"Times New Roman",serif; letter-spacing:-.025em; overflow-wrap:break-word; }
body[data-san-observatory].wiki-theme-san .article-summary { color:var(--ink-soft); font-size:16px; line-height:1.75; }
body[data-san-observatory].wiki-theme-san .article-topic { color:var(--wiki-link); font-size:10px; letter-spacing:.11em; }
body[data-san-observatory].wiki-theme-san .article-body { color:var(--ink); font-size:16px; line-height:1.85; }
body[data-san-observatory].wiki-theme-san .article-body :is(h2,h3,h4) { color:var(--ink); letter-spacing:-.015em; }
body[data-san-observatory].wiki-theme-san .article-body h2 { font-size:25px; font-weight:550; margin-top:2em; border-color:var(--san-line); }
body[data-san-observatory].wiki-theme-san .article-body h3 { font-size:20px; font-weight:600; }
body[data-san-observatory].wiki-theme-san .article-body :is(pre,code,th) { color:var(--ink); background:var(--san-soft); border-color:var(--san-line); }
body[data-san-observatory].wiki-theme-san .article-body td { border-color:var(--san-line); }
body[data-san-observatory].wiki-theme-san .article-body blockquote { color:var(--ink); border-left-color:var(--san-accent); background:var(--san-accent-wash); }
body[data-san-observatory].wiki-theme-san .san-paper-control { margin:20px 0; }
body[data-san-observatory].wiki-theme-san .article-navigation { border-color:var(--san-line); }
body[data-san-observatory].wiki-theme-san .article-navigation-link { background:var(--san-panel); color:var(--ink); border:1px solid var(--san-line); border-radius:3px; box-shadow:none; }
body[data-san-observatory].wiki-theme-san .article-navigation-link :is(strong,.article-navigation-direction) { color:var(--ink); }
body[data-san-observatory].wiki-theme-san .article-navigation-context { color:var(--ink-soft); }
body[data-san-observatory].wiki-theme-san #page-search { min-height:44px; border:1px solid var(--san-line-strong); border-radius:3px; background:var(--san-soft); color:var(--ink); box-shadow:none; }
body[data-san-observatory].wiki-theme-san #page-search::placeholder { color:var(--ink-soft); opacity:1; }
body[data-san-observatory].wiki-theme-san :is(.page-list-status,.page-meta,.panel-label) { color:var(--ink-soft); }
body[data-san-observatory].wiki-theme-san .page-link { border-radius:2px; background:transparent; color:var(--ink); }
body[data-san-observatory].wiki-theme-san .page-link:is(:hover,:focus-visible,.active,[aria-current=page]) { background:color-mix(in srgb,var(--san-accent) 12%,var(--san-panel)); color:var(--ink); border-color:var(--san-line); box-shadow:inset 2px 0 var(--san-accent); }
body[data-san-observatory].wiki-theme-san .page-title { color:var(--ink); }
body[data-san-observatory].wiki-theme-san .page-list-group > details > summary { color:var(--ink); border-color:var(--san-line); }
body[data-san-observatory].wiki-theme-san .page-list-group > details > summary:is(:hover,:focus-visible) { background:var(--san-soft); }
body[data-san-observatory].wiki-theme-san .page-list-group-count { background:var(--san-soft); color:var(--ink); }
body[data-san-observatory].wiki-theme-san .article-outline-link { color:var(--ink-soft); }
body[data-san-observatory].wiki-theme-san .article-outline-link:is(:hover,:focus-visible,[aria-current=location]) { background:var(--san-accent-wash); color:var(--ink); border-color:var(--san-accent); }
body[data-san-observatory].wiki-theme-san .reading-progress { background:var(--san-soft); }
body[data-san-observatory].wiki-theme-san .reading-progress > span { background:var(--san-accent); }
body[data-san-observatory].wiki-theme-san .mobile-nav-toggle { background:var(--san-panel); color:var(--ink); border-color:var(--san-line); border-radius:3px; }
body[data-san-observatory].wiki-theme-san .navigation-panel.mobile-nav-open,
body[data-san-observatory].wiki-theme-san .navigation-panel.mobile-nav-open .mobile-nav-toggle { background:var(--san-panel); }
body[data-san-observatory].wiki-theme-san .skip-link { background:var(--san-panel); color:var(--ink); }
body[data-san-observatory] .article-body :is(.wiki-visual-asset,.article-figure) {
  --ink:#20323d; --ink-soft:#4b606a; --wiki-link:#315b70; --wiki-crosslink:#376549;
  --wiki-missing:#71483b; background:#fff; color:var(--ink); border-color:#cbd2cf;
}
body[data-san-observatory] .article-body img { max-width:100%; height:auto; object-fit:contain; }
body[data-san-observatory] .article-body :is(.wiki-visual-asset,.article-figure) a { color:var(--wiki-link); }

/* Scene never receives native reader input. Paper alpha is not a foreground opacity. */
.knowledge-scene { position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden; background:var(--knowledge-wallpaper); }
.knowledge-scene[hidden] { display:none!important; }
.knowledge-scene canvas,.knowledge-scene-shield { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.knowledge-scene-shield { background:transparent; }
body[data-knowledge-mode="2d"] .knowledge-scene { display:none!important; }
@media (max-width:1120px) {
  .san-shell-top { flex-wrap:wrap; gap:12px 20px; }
  .san-shell-destinations { order:3; width:100%; margin-left:0; }
  .san-view-switch { margin-left:auto; }
  .san-shell-tools { gap:8px 14px; }
  .san-shell-tools > .san-paper-control { margin-left:0; padding-left:0; border-left:0; }
  body.san-observatory-home main > .hero { gap:22px; padding-block:48px; min-height:580px; }
  body[data-san-observatory].wiki-theme-san .layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  body[data-san-observatory] .knowledge-bar { padding:16px 16px 0; margin-bottom:18px; }
  .san-shell-top { gap:12px; padding-bottom:12px; }
  .san-wordmark { gap:9px; max-width:calc(100% - 116px); }
  .san-wordmark strong { font-size:17px; }
  .san-wordmark small { font-size:9px; letter-spacing:.11em; }
  .san-network-mark { width:34px; height:34px; }
  .san-view-switch { gap:2px; padding:2px; }
  body[data-san-observatory] .san-view-switch button { min-width:43px; }
  .san-shell-destinations { gap:4px 20px; }
  .san-shell-tools { gap:8px 12px; }
  .san-shell-tools > label { flex:1; justify-content:space-between; }
  .san-shell-tools select { max-width:150px; }
  #knowledge-graphics-status { flex:1; }
  .san-shell-tools > .san-paper-control { flex-basis:100%; border-top:1px solid var(--san-line); padding-top:8px; }
  .san-paper-control { padding:10px; gap:5px 10px; }
  .san-paper-control label { flex:1; gap:5px 10px; }
  .san-paper-control input { flex:1; min-width:90px; width:120px; }
  #san-paper-help { width:100%; order:3; }
  body.san-observatory-home header.nav { margin-top:-18px; }
  body.san-observatory-home .nav .wrap { padding-inline:18px; }
  body.san-observatory-home main > .hero { display:flex; flex-direction:column; align-items:stretch; padding:28px 18px 36px; gap:26px; min-height:0; }
  .san-hero-copy { padding:26px 24px; }
  body.san-observatory-home .hero h1 { font-size:clamp(43px,10vw,66px); margin:16px 0; }
  body.san-observatory-home .hero p.lede { font-size:16px; }
  .san-scene-aperture { min-height:280px; height:280px; margin:0 10px; padding:10px 0; }
  .san-static-field { min-height:0; max-height:220px; }
  .san-aperture-index,.san-scene-aperture figcaption { font-size:9px; }
  body.san-observatory-home section { padding:24px 18px; }
  body.san-observatory-home section > .wrap { padding:26px 24px; }
  body.san-observatory-home .book { grid-template-columns:1fr; gap:28px; justify-items:center; }
  body.san-observatory-home .book .coverwrap { max-width:210px; }
  body.san-observatory-home .book h2 { text-align:left; }
  body.san-observatory-home .next-book { text-align:left; }
  body[data-san-observatory].wiki-theme-san { padding:8px; }
  body[data-san-observatory].wiki-theme-san .article-panel { padding:22px 18px; }
  body[data-san-observatory].wiki-theme-san .hero-copy { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
  body[data-san-observatory] *,body[data-san-observatory] *::before,body[data-san-observatory] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  body.san-observatory-home .card { transform:none!important; }
}
@media (forced-colors:active) {
  body[data-san-observatory] {
    --san-base:Canvas!important; --san-panel:Canvas!important; --san-soft:Canvas!important;
    --san-paper-background:Canvas!important; --san-line:CanvasText!important; --san-line-strong:CanvasText!important;
    --san-accent:LinkText!important; --san-accent-wash:Canvas!important; --ink:CanvasText!important;
    --ink-soft:CanvasText!important; --wiki-link:LinkText!important; background:Canvas!important; color:CanvasText!important;
  }
  .knowledge-scene { display:none!important; }
  body[data-san-observatory] .san-static-field { visibility:visible!important; }
  body[data-san-observatory] :is(a,button,input,select,summary,[tabindex]):focus-visible { outline-color:Highlight; }
  body[data-san-observatory] .san-view-switch button[aria-pressed=true] { background:Highlight; color:HighlightText; }
}
@media print {
  body[data-san-observatory] {
    --san-base:white!important; --san-panel:white!important; --san-soft:white!important; --san-paper-background:white!important;
    --ink:#111!important; --ink-soft:#333!important; --wiki-link:#111!important; --san-line:#bbb!important;
    background:white!important; color:#111!important; padding:0!important;
  }
  .knowledge-bar,.knowledge-scene,.san-paper-control,.san-scene-aperture,
  body.san-observatory-home header.nav,body[data-san-observatory].wiki-theme-san :is(.navigation-panel,.context-panel,.wiki-family-strip,.reading-progress) { display:none!important; }
  body[data-san-observatory].wiki-theme-san .layout,body.san-observatory-home main > .hero { display:block; }
  body[data-san-observatory].wiki-theme-san .article-panel { border:0; padding:0; }
  body.san-observatory-home .san-hero-copy { padding:0; border:0; }
}



/* V6 spatial interface: the selectable native surface and its matching 3D frame. */
body[data-san-spatial-reader] { background-attachment:fixed; }
body[data-san-spatial-reader] .knowledge-bar {
  max-width:1520px; margin:16px auto 38px; padding:24px clamp(18px,3vw,40px) 0;
  border:1px solid var(--san-line-strong); border-bottom:4px solid var(--san-edge);
  border-radius:18px; overflow:visible;
  background:linear-gradient(120deg,var(--san-flow-a),transparent 42%,var(--san-flow-b));
  box-shadow:inset 0 1px var(--san-edge-light),0 8px 0 var(--san-soft),0 18px 32px var(--san-shadow);
}
body[data-san-spatial-reader] .san-shell-top { gap:24px; }
body[data-san-spatial-reader] .san-wordmark { min-width:0; }
body[data-san-spatial-reader] .san-wordmark strong { font-size:clamp(18px,1.75vw,25px); letter-spacing:-.035em; }
body[data-san-spatial-reader] .san-wordmark strong > span { display:block; color:var(--ink); font-size:.78em; font-weight:500; margin-top:3px; letter-spacing:.02em; }
body[data-san-spatial-reader] .san-wordmark small { font-size:9px; letter-spacing:.09em; }
body[data-san-spatial-reader] .san-network-mark { width:52px; height:52px; color:var(--san-edge); filter:drop-shadow(0 2px 0 var(--san-soft)); }
body[data-san-spatial-reader] .san-shell-tools { gap:14px 24px; padding-block:18px; overflow:visible; }
body[data-san-spatial-reader] .san-shell-tools > label { gap:14px; }
body[data-san-spatial-reader] .san-shell-tools :is(select,button),body[data-san-spatial-reader] .san-view-switch {
  border:1px solid var(--san-line-strong); border-radius:8px;
  background:linear-gradient(145deg,var(--san-flow-a),transparent 70%),var(--san-panel);
}
body[data-san-spatial-reader] .san-view-switch button { border:0; background:transparent; border-radius:5px; }
body[data-san-spatial-reader] .san-view-switch button[aria-pressed=true] {
  color:var(--san-panel); background:var(--ink); box-shadow:inset 0 1px rgb(255 255 255 / .3);
}
body[data-san-spatial-reader] [data-san-depth] {
  position:relative; transform:perspective(1200px) translateY(var(--san-lift,0px)) rotateX(var(--san-rx,0deg)) rotateY(var(--san-ry,0deg));
  transform-origin:50% 50%; transition:box-shadow .18s ease,border-color .18s ease;
  box-shadow:inset 0 1px 0 var(--san-edge-light),inset 1px 0 0 var(--san-line),
    1px 1px 0 var(--san-edge),2px 3px 0 var(--san-edge),3px 6px 0 var(--san-soft),
    4px 9px 0 var(--san-edge),8px 20px 32px var(--san-shadow);
}
body[data-san-spatial-reader] [data-san-depth=control] {
  box-shadow:inset 0 1px var(--san-edge-light),0 2px 0 var(--san-edge),1px 4px 0 var(--san-soft),3px 9px 16px var(--san-shadow);
}
body[data-san-spatial-reader] [data-san-depth=card] {
  box-shadow:inset 0 1px var(--san-edge-light),inset 1px 0 var(--san-line),
    1px 2px var(--san-edge),3px 5px var(--san-soft),5px 9px var(--san-edge),
    10px 24px 30px var(--san-shadow),0 0 24px var(--san-flow-a);
}
body[data-san-spatial-reader] [data-san-depth=reader] {
  box-shadow:inset 0 1px var(--san-edge-light),1px 2px var(--san-edge),3px 6px var(--san-soft),5px 10px var(--san-edge),10px 22px 38px var(--san-shadow);
}
body[data-san-spatial-reader][data-knowledge-mode="2d"] [data-san-depth] {
  transform:none!important; box-shadow:inset 0 1px var(--san-line),0 2px 6px var(--san-shadow);
}

/* Staged home: broad Institute color flows around distinct, thick reading planes. */
body[data-san-spatial-reader].san-observatory-home .wrap { max-width:1410px; }
body[data-san-spatial-reader].san-observatory-home header.nav {
  max-width:1440px; margin:-14px auto 0; background:transparent; border:0;
}
body[data-san-spatial-reader].san-observatory-home .nav .wrap { gap:32px; padding-block:12px; }
body[data-san-spatial-reader].san-observatory-home .nav nav a { color:var(--ink); }
body[data-san-spatial-reader].san-observatory-home main > .hero {
  min-height:760px; padding-block:90px 110px; gap:clamp(46px,7vw,100px);
  grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); overflow:visible;
}
body[data-san-spatial-reader].san-observatory-home .san-hero-copy {
  padding:clamp(30px,4vw,54px); border:1px solid var(--san-line-strong); border-radius:18px;
  background:var(--san-paper-background);
}
body[data-san-spatial-reader].san-observatory-home .hero h1 {
  font-family:"Aptos","Segoe UI",Arial,sans-serif; font-size:clamp(44px,5vw,73px);
  line-height:1.05; font-weight:650; letter-spacing:-.06em;
}
.san-institute-title { display:block; }
body[data-san-spatial-reader].san-observatory-home .hero h1 .san-institute-title {
  margin-top:14px; font-size:.58em; font-weight:450; letter-spacing:-.035em; line-height:1.15;
}
body[data-san-spatial-reader][data-knowledge-theme=institute].san-observatory-home .hero h1 {
  background:linear-gradient(108deg,#eaf1ff 8%,#bcd0ff 56%,#b9a8ff 92%);
  background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
}
body[data-san-spatial-reader].san-observatory-home .hero p.lede { font-size:17px; line-height:1.8; }
body[data-san-spatial-reader].san-observatory-home .btn { border-radius:7px; border-bottom-width:3px; box-shadow:inset 0 1px var(--san-line); }
body[data-san-spatial-reader][data-knowledge-theme=institute].san-observatory-home .btn:is(.gold,.primary) {
  border-color:#e6b34a; background:linear-gradient(120deg,#f0c869,#e6b34a); color:#201909;
}
body[data-san-spatial-reader] .san-scene-aperture {
  min-height:530px; border:1px solid var(--san-line); border-radius:28px 8px 28px 8px;
  padding:20px; background:linear-gradient(135deg,var(--san-flow-a),transparent 52%,var(--san-flow-b));
  box-shadow:inset 0 1px var(--san-line-strong),inset 0 0 55px var(--san-flow-b);
}
body[data-san-spatial-reader] .san-aperture-index { gap:12px; color:var(--ink); }
body[data-san-spatial-reader].san-observatory-home section { padding-block:65px; border:0; }
body[data-san-spatial-reader].san-observatory-home section > .wrap {
  border-radius:16px; border:1px solid var(--san-line-strong); padding-block:46px;
}
body[data-san-spatial-reader].san-observatory-home section > .wrap:has(.cards) {
  border:0; background:transparent; padding-inline:0; box-shadow:none;
}
body[data-san-spatial-reader].san-observatory-home .cards { gap:32px; perspective:none; padding:24px 10px; }
body[data-san-spatial-reader].san-observatory-home .card {
  padding:28px; border-radius:13px; border:1px solid var(--san-line-strong); background:var(--san-paper-background);
}
body[data-san-spatial-reader].san-observatory-home .card:nth-child(even) { margin-top:22px; }
body[data-san-spatial-reader].san-observatory-home footer {
  margin-top:40px; border-radius:18px 18px 0 0; border-top:2px solid var(--san-edge);
  background:linear-gradient(130deg,var(--san-flow-a),transparent 65%,var(--san-flow-b)),var(--san-panel);
}

/* Wiki's original sidebar/search, reader and outline remain separate native planes. */
body[data-san-spatial-reader].wiki-theme-san { padding:20px; }
body[data-san-spatial-reader].wiki-theme-san .page-shell { max-width:1520px; }
body[data-san-spatial-reader].wiki-theme-san .hero { margin:26px 12px 28px; }
body[data-san-spatial-reader].wiki-theme-san .hero-copy {
  padding:28px 32px; border-radius:14px; border:1px solid var(--san-line-strong);
  background:linear-gradient(120deg,var(--san-flow-a),transparent 50%,var(--san-flow-b)),var(--san-panel);
}
body[data-san-spatial-reader].wiki-theme-san .hero h1 { font:550 clamp(23px,2.4vw,32px)/1.18 "Aptos","Segoe UI",sans-serif; }
body[data-san-spatial-reader].wiki-theme-san .hero h1 .san-institute-title { margin-top:4px; font-size:.73em; font-weight:450; }
body[data-san-spatial-reader].wiki-theme-san .wiki-family-strip { margin:20px 12px 28px; gap:12px; }
body[data-san-spatial-reader].wiki-theme-san .wiki-family-link { border-radius:7px; border-bottom:3px solid var(--san-line-strong); }
body[data-san-spatial-reader].wiki-theme-san .layout {
  gap:32px; padding:30px 10px 60px; overflow:visible;
  grid-template-columns:minmax(220px,250px) minmax(0,1fr) minmax(200px,230px);
}
body[data-san-spatial-reader].wiki-theme-san .panel {
  border-radius:13px; border:1px solid var(--san-line-strong);
}
body[data-san-spatial-reader].wiki-theme-san :is(.navigation-panel,.context-panel) {
  background:linear-gradient(155deg,var(--san-flow-a),transparent 48%,var(--san-flow-b)),var(--san-panel);
}
body[data-san-spatial-reader].wiki-theme-san .article-panel { background:var(--san-paper-background); padding:34px clamp(24px,2.8vw,46px); }
body[data-san-spatial-reader].wiki-theme-san #article-title {
  color:var(--ink); font:500 clamp(29px,3vw,43px)/1.2 "Aptos","Segoe UI",sans-serif; letter-spacing:-.035em;
}
body[data-san-spatial-reader].wiki-theme-san #article-summary { color:var(--ink-soft); font-size:16px; line-height:1.8; }
body[data-san-spatial-reader].wiki-theme-san #article-topic { color:var(--wiki-link); font-size:11px; letter-spacing:.09em; }
body[data-san-spatial-reader].wiki-theme-san .san-paper-control { border-radius:7px; border-bottom:3px solid var(--san-line-strong); }
body[data-san-spatial-reader].wiki-theme-san #page-search { background:var(--san-panel); border-radius:7px; border-bottom:3px solid var(--san-line-strong); }
body[data-san-spatial-reader].wiki-theme-san .article-navigation-link { border-radius:7px; border-bottom:3px solid var(--san-line-strong); }
body[data-san-spatial-reader].wiki-theme-san .navigation-panel.mobile-nav-open {
  transform:none!important; background:var(--san-panel); box-shadow:-18px 0 48px var(--san-shadow);
}

/* Atlas cards are copied navigation routes, never a second content collection. */
.san-spatial-atlas {
  position:relative; margin:34px 12px 40px; padding:0; border:1px solid var(--san-line-strong);
  border-radius:18px; color:var(--ink); background:linear-gradient(125deg,var(--san-flow-a),transparent 48%,var(--san-flow-b));
  box-shadow:inset 0 1px var(--san-edge-light),0 5px 0 var(--san-soft),0 7px 0 var(--san-edge),0 24px 46px var(--san-shadow);
}
.san-spatial-atlas > summary {
  position:relative; display:flex; align-items:center; gap:20px; padding:22px 28px;
  cursor:pointer; list-style:none; color:var(--ink); border-radius:18px; min-height:84px;
}
.san-spatial-atlas > summary::-webkit-details-marker { display:none; }
.san-atlas-heading { display:block; min-width:0; }
.san-atlas-heading small { display:block; color:var(--ink-soft); font-size:10px; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; margin-bottom:6px; }
.san-atlas-heading strong { display:block; font:500 clamp(22px,2.4vw,30px)/1.15 "Aptos","Segoe UI",sans-serif; letter-spacing:-.035em; }
.san-atlas-count { margin-left:auto; color:var(--ink-soft); font:500 12px/1.4 "Aptos","Segoe UI",sans-serif; white-space:nowrap; }
.san-atlas-toggle { width:32px; height:32px; border:1px solid var(--san-line-strong); border-radius:50%; position:relative; flex-shrink:0; }
.san-atlas-toggle::before,.san-atlas-toggle::after { content:""; position:absolute; background:var(--ink); left:10px; right:10px; top:15px; height:1px; }
.san-atlas-toggle::after { transform:rotate(90deg); }
.san-spatial-atlas[open] .san-atlas-toggle::after { display:none; }
.san-spatial-atlas:not([open]) > :not(summary) { display:none; }
.san-spatial-atlas[open] > summary { border-bottom:1px solid var(--san-line); border-radius:18px 18px 0 0; }
.san-atlas-stage { position:relative; padding:34px 30px 44px; overflow:visible; isolation:isolate; }
.san-atlas-connections { position:absolute; inset:0; width:100%; height:100%; color:var(--san-edge); pointer-events:none; z-index:-1; }
.san-atlas-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:44px 30px; align-items:center; overflow:visible; }
body[data-san-spatial-reader] .san-atlas-card {
  position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:22px;
  min-height:176px; padding:22px; border:1px solid var(--san-line-strong); border-radius:12px;
  color:var(--ink); text-decoration:none;
  background:linear-gradient(145deg,var(--san-flow-a),transparent 48%,var(--san-flow-b)),var(--san-panel);
}
body[data-san-spatial-reader] .san-atlas-card:nth-child(even) { margin-top:28px; }
body[data-san-spatial-reader] .san-atlas-card strong { color:var(--ink); font:550 clamp(15px,1.45vw,20px)/1.35 "Aptos","Segoe UI",sans-serif; letter-spacing:-.025em; overflow-wrap:anywhere; }
.san-atlas-card-meta { display:block; color:var(--ink-soft); font-size:9px; line-height:1.5; letter-spacing:.055em; text-transform:uppercase; }
.san-atlas-card-action { display:flex; justify-content:space-between; color:var(--wiki-link); font-size:11px; font-weight:650; line-height:1.5; }
body[data-san-spatial-reader] .san-atlas-card:is(:hover,:focus-visible) { border-color:var(--san-edge); text-decoration:none; }
body[data-san-spatial-reader] .san-atlas-card[aria-current=page] { border-color:var(--san-edge); outline:2px solid var(--san-edge); outline-offset:3px; }
.san-atlas-empty { margin:30px 0; color:var(--ink-soft); text-align:center; }
.san-atlas-empty[hidden] { display:none; }
.san-atlas-footnote { margin:0; padding:14px 28px; border-top:1px solid var(--san-line); color:var(--ink-soft); font-size:11px; line-height:1.5; }
@media (max-width:1200px) {
  body[data-san-spatial-reader].wiki-theme-san .layout { grid-template-columns:minmax(0,1fr); }
  .san-atlas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .san-atlas-connections { display:none; }
  body[data-san-spatial-reader] .san-atlas-card strong { font-size:19px; }
  body[data-san-spatial-reader].wiki-theme-san .layout > aside.panel { position:static; max-height:none; overflow:visible; }
}
@media (max-width:760px) {
  body[data-san-spatial-reader] .knowledge-bar { margin:10px 10px 32px; padding:18px 16px 0; border-radius:13px; }
  body[data-san-spatial-reader] .san-shell-top { gap:14px; }
  body[data-san-spatial-reader] .san-wordmark { max-width:calc(100% - 112px); align-items:flex-start; gap:9px; }
  body[data-san-spatial-reader] .san-wordmark strong { font-size:16px; line-height:1.2; }
  body[data-san-spatial-reader] .san-wordmark strong > span { font-size:.82em; }
  body[data-san-spatial-reader] .san-wordmark small { font-size:8px; line-height:1.5; letter-spacing:.025em; }
  body[data-san-spatial-reader] .san-network-mark { width:32px; height:32px; margin-top:3px; }
  body[data-san-spatial-reader] .san-shell-tools { gap:14px 18px; padding-block:16px; }
  body[data-san-spatial-reader] .san-shell-tools > label { gap:8px; }
  body[data-san-spatial-reader] .san-shell-tools select { max-width:137px; }
  body[data-san-spatial-reader].san-observatory-home .nav .wrap { padding-inline:24px; }
  body[data-san-spatial-reader].san-observatory-home main > .hero { min-height:0; padding:38px 30px 54px; gap:42px; }
  body[data-san-spatial-reader].san-observatory-home .san-hero-copy { padding:30px 25px; border-radius:13px; }
  body[data-san-spatial-reader].san-observatory-home .hero h1 { font-size:clamp(42px,10vw,64px); }
  body[data-san-spatial-reader].san-observatory-home .hero p.lede { font-size:16px; }
  body[data-san-spatial-reader] .san-scene-aperture { min-height:320px; height:320px; margin-inline:0; padding:14px; }
  body[data-san-spatial-reader].san-observatory-home section { padding:35px 28px; }
  body[data-san-spatial-reader].san-observatory-home section > .wrap { padding:30px 25px; }
  body[data-san-spatial-reader].san-observatory-home .cards { gap:30px; padding:20px 0; }
  body[data-san-spatial-reader].san-observatory-home .card:nth-child(even) { margin-top:0; }
  body[data-san-spatial-reader].wiki-theme-san { padding:8px; }
  body[data-san-spatial-reader].wiki-theme-san .hero { margin:24px 16px 30px; }
  body[data-san-spatial-reader].wiki-theme-san .hero-copy { padding:22px; }
  body[data-san-spatial-reader].wiki-theme-san .layout { gap:34px; padding:20px 16px 50px; }
  body[data-san-spatial-reader].wiki-theme-san .article-panel { padding:26px 20px; }
  .san-spatial-atlas { margin:30px 12px 38px; border-radius:13px; }
  .san-spatial-atlas > summary { gap:12px; padding:20px; flex-wrap:wrap; }
  .san-atlas-heading { flex:1; }
  .san-atlas-heading strong { font-size:24px; }
  .san-atlas-count { order:3; width:100%; margin-left:0; font-size:11px; }
  .san-atlas-stage { padding:26px 24px 38px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scroll-padding-inline:24px; scrollbar-color:var(--san-edge) var(--san-soft); }
  .san-atlas-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:clamp(220px,72vw,280px); gap:28px; }
  body[data-san-spatial-reader] .san-atlas-card { min-height:208px; height:208px; padding:20px; gap:14px; scroll-snap-align:start; }
  body[data-san-spatial-reader] .san-atlas-card strong { font-size:17px; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
  body[data-san-spatial-reader] .san-atlas-card:nth-child(even) { margin-top:0; }
  .san-atlas-footnote { padding:14px 20px; }
}
@media (prefers-reduced-motion:reduce) {
  body[data-san-spatial-reader] [data-san-depth] { transform:none!important; transition:none!important; }
}
@media (forced-colors:active) {
  body[data-san-spatial-reader] { --san-edge:CanvasText!important; --san-edge-light:CanvasText!important; --san-flow-a:transparent!important; --san-flow-b:transparent!important; --san-shadow:transparent!important; }
  body[data-san-spatial-reader] [data-san-depth] { transform:none!important; box-shadow:none!important; border:1px solid CanvasText!important; }
  body[data-san-spatial-reader] .san-atlas-connections { display:none; }
  body[data-san-spatial-reader][data-knowledge-theme=institute].san-observatory-home .hero h1 { background:none; color:CanvasText; -webkit-text-fill-color:CanvasText; }
}
@media print {
  body[data-san-spatial-reader] [data-san-depth] { transform:none!important; box-shadow:none!important; border:0; }
  .san-spatial-atlas { display:none!important; }
  body[data-san-spatial-reader] { --san-flow-a:transparent!important; --san-flow-b:transparent!important; --san-shadow:transparent!important; }
  body[data-san-spatial-reader][data-knowledge-theme=institute].san-observatory-home .hero h1 { background:none; color:#111; -webkit-text-fill-color:#111; }
}

/* V6 live feedback: remove the legacy white library canvas behind translucent paper. */
body[data-san-spatial-reader].wiki-theme-san { background:var(--knowledge-wallpaper,var(--san-base)); background-attachment:fixed; }
body[data-san-spatial-reader].wiki-theme-san .page-shell {
  background:transparent; overflow:visible; border:0; box-shadow:none;
}
body[data-san-spatial-reader].wiki-theme-san .layout { background:transparent; overflow:visible; }
body[data-san-spatial-reader].wiki-theme-san .wiki-family-strip { background:transparent; }
body[data-san-spatial-reader].wiki-theme-san .wiki-family-link {
  background:var(--san-menu-gradient); color:var(--san-menu-ink); -webkit-text-fill-color:var(--san-menu-ink);
  border:1px solid var(--san-line-strong); border-bottom-width:3px; text-shadow:none;
}
body[data-san-spatial-reader].wiki-theme-san .wiki-family-link:is(.current,:hover,:focus-visible) {
  background:var(--san-active-menu-gradient); color:var(--san-menu-ink)!important; -webkit-text-fill-color:var(--san-menu-ink);
  border-color:var(--san-edge); text-shadow:none;
}
body[data-san-spatial-reader].wiki-theme-san .wiki-family-link.current {
  box-shadow:inset 0 2px 0 var(--san-edge-light),0 3px 0 var(--san-edge); font-weight:750;
}
body[data-san-spatial-reader].wiki-theme-san .wiki-family-link.offline { background:var(--san-panel); color:var(--ink-soft); -webkit-text-fill-color:var(--ink-soft); }
body[data-san-spatial-reader] .san-atlas-card { background:var(--san-card-gradient); }
body[data-san-spatial-reader] .san-atlas-card:is(:hover,:focus-visible,[aria-current=page]) { background:var(--san-active-menu-gradient); }
body[data-san-spatial-reader] .san-shell-tools select,
body[data-san-spatial-reader] .san-shell-tools > button,
body[data-san-spatial-reader] .san-view-switch { background:var(--san-menu-gradient); }
body[data-san-spatial-reader] .san-shell-tools option { color:var(--ink); background:var(--san-panel); }
body[data-san-spatial-reader].wiki-theme-san :is(.navigation-panel,.context-panel) { background:var(--san-card-gradient); }
body[data-san-spatial-reader].wiki-theme-san .navigation-panel.mobile-nav-open { background:var(--san-panel); }
body[data-san-spatial-reader].wiki-theme-san :is(#article-body,.article-header) { color:var(--ink); text-shadow:var(--san-reading-halo); }
body[data-san-spatial-reader].wiki-theme-san :is(#article-title,#article-summary,#article-topic) { color:var(--ink); }
body[data-san-spatial-reader] .article-body :is(.wiki-visual-asset,.article-figure,pre,code,.source-archive-notice) { text-shadow:none; }
body[data-san-spatial-reader] .article-body .page-review-status { background:var(--san-panel); color:var(--ink); text-shadow:none; }
@media (forced-colors:active) {
  body[data-san-spatial-reader] { --san-menu-ink:CanvasText!important; --san-menu-gradient:Canvas!important; --san-active-menu-gradient:Canvas!important; --san-card-gradient:Canvas!important; --san-reading-halo:none!important; }
  body[data-san-spatial-reader].wiki-theme-san { background:Canvas!important; }
  body[data-san-spatial-reader].wiki-theme-san .wiki-family-link.current { outline:2px solid Highlight; }
}
@media print {
  body[data-san-spatial-reader] { --san-menu-gradient:white!important; --san-active-menu-gradient:white!important; --san-card-gradient:white!important; --san-reading-halo:none!important; }
}
/* ===== SAN spatial reader V7 (2026-10-05, local candidate) ===== */

/* Community: V6 removed the inline padding of the card wrapper (".wrap:has(.cards)"), so "Join in /
   Community" sat on the page edge while every other section's copy starts inside its panel.
   Restore the same content edge (panel padding + 1px border) for the heading and the cards. */
body[data-san-spatial-reader].san-observatory-home section > .wrap:has(.cards) {
  padding-inline:clamp(20px,4vw,48px); border:1px solid transparent;
}
body[data-san-spatial-reader].san-observatory-home section > .wrap:has(.cards) > .cards { padding-inline:0; }
/* The neighbouring panels lean back (rotateY about -2.5deg), which moves their copy about 16px right on
   screen. Match that visible text edge on desktop so the headings line up down the page. */
@media (min-width:761px) {
  body[data-san-spatial-reader].san-observatory-home section > .wrap:has(.cards) { padding-inline:calc(clamp(20px,4vw,48px) + 16px); }
}
@media (max-width:760px) {
  body[data-san-spatial-reader].san-observatory-home section > .wrap:has(.cards) { padding-inline:25px; }
}
/* Community destination thumbnails (placeholders until real screenshots are captured). */
body[data-san-spatial-reader].san-observatory-home .card .san-community-thumb {
  display:block; margin:-12px -12px 20px; aspect-ratio:16/9; overflow:hidden; border-radius:9px;
  border:1px solid var(--san-line); background:#0e1528; text-decoration:none;
}
body[data-san-spatial-reader].san-observatory-home .card .san-community-thumb img { display:block; width:100%; height:100%; object-fit:cover; }

/* Product construction map: native HTML in the article (SAN blue / green / red / gold identity). */
.san-cmap {
  container-type:inline-size; margin:26px 0 30px; border:1px solid var(--san-line-strong,#9aa7b8); border-radius:14px; overflow:hidden;
  background:color-mix(in srgb,var(--san-panel,#14223b) 94%,transparent); color:var(--ink); text-shadow:none;
  font-family:"Aptos","Segoe UI",system-ui,sans-serif;
}
.san-cmap :is(h3,h4,p,ul,ol) { margin:0; padding:0; border:0; }
.san-cmap :is(ul,ol) { list-style:none; }
.san-cmap li::marker { content:none; }
.san-cmap a.wiki-link { color:var(--wiki-link,var(--accent)); text-decoration:underline; text-underline-offset:2px; }
.san-cmap h4 { font-size:16px; line-height:1.25; font-weight:750; color:var(--ink); letter-spacing:0; }
.san-cmap-head { position:relative; padding:24px 26px 24px; border-bottom:1px solid var(--san-line); background:linear-gradient(100deg,color-mix(in srgb,#145da0 18%,transparent),transparent 45%); }
.san-cmap-head::after { content:""; position:absolute; left:26px; bottom:-2px; width:min(240px,50%); height:4px; border-radius:3px;
  background:linear-gradient(90deg,#2f6fdf 0 25%,#1e9e6a 25% 50%,#e0483e 50% 75%,#f2b33d 75%); }
.san-cmap-eyebrow { font:750 12px/1.3 "Segoe UI",system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--wiki-link); margin-bottom:6px!important; }
.san-cmap .san-cmap-title { font-size:clamp(21px,3.4cqi,28px); line-height:1.2; font-weight:750; color:var(--ink); }
.san-cmap-lede { margin-top:10px!important; max-width:62ch; color:var(--ink-soft); font-size:15.5px; line-height:1.5; }

.san-cmap-band { display:grid; grid-template-columns:170px 1fr; gap:18px; padding:22px 26px; border-bottom:1px solid var(--san-line); }
.san-cmap-label p { margin-top:6px!important; color:var(--ink-soft); font-size:14px; line-height:1.4; }
.san-cmap-donors,.san-cmap-outputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.san-cmap-donors li { padding:10px 12px; border-left:5px solid var(--c); border-radius:4px; background:color-mix(in srgb,var(--c) 14%,transparent); }
.san-cmap-outputs li { position:relative; padding:10px 12px 10px 34px; border:1px solid var(--san-line); border-radius:8px; }
.san-cmap-outputs li::before { content:""; position:absolute; left:12px; top:13px; width:12px; height:12px; border-radius:50%; background:var(--c); box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 28%,transparent); }
.san-cmap :is(.san-cmap-donors,.san-cmap-outputs) b { display:block; font-size:15px; line-height:1.25; }
.san-cmap :is(.san-cmap-donors,.san-cmap-outputs) span { display:block; margin-top:3px; color:var(--ink-soft); font-size:13.5px; line-height:1.35; }

.san-cmap-lanes { padding:22px 26px 22px; border-bottom:1px solid var(--san-line);
  background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) .8px,transparent .9px); background-size:14px 14px; }
.san-cmap-lanes-head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px 24px; flex-wrap:wrap; margin-bottom:12px; }
.san-cmap-lanes-head p { max-width:40ch; color:var(--ink-soft); font-size:14px; line-height:1.4; }
.san-cmap-lane { display:grid; grid-template-columns:132px 1fr; margin-top:10px; border:1px solid var(--san-line); border-radius:10px; overflow:hidden; background:var(--san-panel); }
.san-cmap-lane-head { padding:14px 14px; color:#fff; background:var(--c); }
.san-cmap-num { display:block; font:800 24px/1.1 "Segoe UI",system-ui,sans-serif; opacity:.78; margin-bottom:4px; }
.san-cmap-lane-head b { display:block; font-size:18px; line-height:1.15; }
.san-cmap-lane-head small { display:block; margin-top:5px; font-size:13px; line-height:1.3; opacity:.95; }
.san-cmap-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.san-cmap-steps li { position:relative; padding:14px 16px 13px; border-left:1px solid var(--san-line); }
.san-cmap-steps li:not(:last-child)::after { content:""; position:absolute; z-index:1; top:calc(50% - 7px); right:-8px; width:12px; height:12px;
  border-top:2px solid var(--c,currentColor); border-right:2px solid var(--c,currentColor); background:var(--san-panel); transform:rotate(45deg); }
.san-cmap-kicker { display:block; margin-bottom:4px; font:800 11.5px/1.2 "Segoe UI",system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:color-mix(in srgb,var(--c) 70%,var(--ink)); }
.san-cmap-steps b { display:block; font-size:15px; line-height:1.25; }
.san-cmap-steps p { margin-top:5px!important; color:var(--ink-soft); font-size:13.5px; line-height:1.4; }
.san-cmap-handoff { display:grid; grid-template-columns:1fr 1fr 1fr; gap:26px; margin-top:16px!important; padding:12px 16px!important; border:1px solid var(--san-line-strong); border-radius:8px; background:var(--san-panel); counter-reset:h; }
.san-cmap-handoff li { position:relative; text-align:center; font-weight:750; font-size:14.5px; line-height:1.25; }
.san-cmap-handoff li:not(:last-child)::after { content:"\2192"; position:absolute; right:-21px; top:50%; transform:translateY(-50%); color:var(--san-rim,#e6b34a); font-weight:800; }

.san-cmap-programs { padding:20px 26px 22px; border-bottom:1px solid var(--san-line); background:color-mix(in srgb,#0b1730 88%,var(--san-panel)); color:#f1f5ff; }
.san-cmap-programs h4 { color:#f1f5ff; margin-bottom:12px!important; }
.san-cmap-programs ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(122px,1fr)); gap:8px; }
.san-cmap-programs li { padding:10px 11px; border-top:4px solid var(--c); border-radius:4px; background:rgb(255 255 255 / .08); font-weight:700; font-size:14px; line-height:1.3; }
.san-cmap-programs li.is-core { background:rgb(242 179 61 / .18); outline:1px solid rgb(242 179 61 / .65); }
.san-cmap-programs a.wiki-link { color:#ffd27a; }
.san-cmap-programs li:not(.is-core) a.wiki-link { color:#b9d3ff; }

.san-cmap-release { padding:20px 26px 24px; }
.san-cmap-release h4 { margin-bottom:12px!important; }
.san-cmap-states { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
.san-cmap-states li { position:relative; padding:10px 22px 10px 12px; color:#fff; background:var(--c); }
.san-cmap-states li:first-child { border-radius:6px 0 0 6px; }
.san-cmap-states li:last-child { border-radius:0 6px 6px 0; }
.san-cmap-states li:not(:last-child)::after { content:""; position:absolute; z-index:1; top:calc(50% - 8px); right:-8px; width:16px; height:16px; background:var(--c); transform:rotate(45deg); }
.san-cmap-states b { display:block; font-size:15px; }
.san-cmap-states span { display:block; margin-top:2px; font-size:13px; line-height:1.3; }
.san-cmap-boundary { margin-top:12px!important; color:var(--ink-soft); font-size:14px; line-height:1.45; text-align:center; }

.san-cmap-original { margin:-14px 0 26px; }
.san-cmap-original > summary { cursor:pointer; color:var(--wiki-link,var(--accent)); font-size:14px; font-weight:650; }
.san-cmap-original[open] > summary { margin-bottom:10px; }

@container (max-width:640px) {
  .san-cmap-band { grid-template-columns:1fr; gap:12px; padding:18px 16px; }
  .san-cmap-head,.san-cmap-lanes,.san-cmap-programs,.san-cmap-release { padding-inline:16px; }
  .san-cmap-head::after { left:16px; }
  .san-cmap-donors,.san-cmap-outputs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .san-cmap-lane { grid-template-columns:1fr; }
  .san-cmap-lane-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; padding:11px 14px; }
  .san-cmap-num { display:inline; margin:0; font-size:18px; }
  .san-cmap-lane-head small { margin:0; flex-basis:100%; }
  .san-cmap-steps { grid-template-columns:1fr; }
  .san-cmap-steps li { border-left:0; border-top:1px solid var(--san-line); }
  .san-cmap-steps li:first-child { border-top:0; }
  .san-cmap-steps li:not(:last-child)::after { top:auto; bottom:-8px; right:calc(50% - 6px); transform:rotate(135deg); }
  .san-cmap-handoff { grid-template-columns:1fr; gap:18px; }
  .san-cmap-handoff li:not(:last-child)::after { content:"\2193"; right:auto; left:50%; top:auto; bottom:-19px; transform:translateX(-50%); }
  .san-cmap-states { grid-template-columns:1fr 1fr; }
  .san-cmap-states li { border-radius:6px!important; }
  .san-cmap-states li::after { display:none; }
}
@container (max-width:380px) {
  .san-cmap-donors,.san-cmap-outputs { grid-template-columns:1fr; }
}
@media (forced-colors:active) { .san-cmap-lane-head,.san-cmap-states li { forced-color-adjust:auto; } }
@media print { .san-cmap { break-inside:avoid-page; } .san-cmap-original { display:none; } }

/* ===== SAN spatial reader V7, reader pass 2 (2026-10-05) ===== */

/* Scene status ("3D view" / "Colour field") stays for screen readers only. */
#knowledge-graphics-status { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; padding:0!important; margin:-1px!important; border:0!important; }

/* Paper opacity: one compact control in the top bar. */
.knowledge-bar .san-paper-control.san-v7-paper { display:inline-flex!important; align-items:center; gap:8px; margin:0 0 0 auto!important; padding:4px 6px 4px 10px!important; min-height:0!important; border-radius:10px; position:static!important; width:auto!important; transform:none!important; box-shadow:none!important; }
.knowledge-bar .san-paper-control.san-v7-paper label { display:inline-flex; align-items:center; gap:8px; margin:0; font-size:12px; white-space:nowrap; }
.knowledge-bar .san-paper-control.san-v7-paper label > span { font-size:12px; }
.knowledge-bar .san-paper-control.san-v7-paper input[type=range] { width:96px; min-width:0; }
.knowledge-bar .san-paper-control.san-v7-paper #san-paper-help { display:none!important; }
.knowledge-bar .san-paper-control.san-v7-paper button { min-height:28px!important; height:28px; padding:0 9px!important; font-size:12px!important; }
@media (max-width:760px) {
  .knowledge-bar .san-paper-control.san-v7-paper { margin:0!important; }
  .knowledge-bar .san-paper-control.san-v7-paper input[type=range] { width:84px; }
}

/* Explore SAN (top bar) opens the page's own drawer below 1024px. */
.san-v7-explore { display:none; align-items:center; gap:7px; height:40px; padding:0 13px; margin-left:auto; border-radius:11px; border:1px solid var(--san-line-strong); background:var(--san-panel); color:var(--ink); font:700 13px/1 "Segoe UI",system-ui,sans-serif; cursor:pointer; white-space:nowrap; }
.san-v7-explore:focus-visible { outline:3px solid var(--san-rim,#e6b34a); outline-offset:2px; }
@media (max-width:1023px) {
  body.san-v7-reader .san-v7-explore { display:inline-flex; }
  body.san-v7-reader .san-shell-top .san-view-switch { margin-left:8px; }
  body.san-v7-reader .navigation-panel:not(.mobile-nav-open) { display:none!important; }
  body.san-v7-reader .navigation-panel.mobile-nav-open { background:var(--san-panel)!important; color:var(--ink); transform:none!important; }
  body.san-v7-reader .navigation-panel.mobile-nav-open .mobile-nav-toggle { background:var(--san-panel)!important; color:var(--ink); }
}

/* Collection pill row and hero banner duplicate the top bar (and "Comparison offline" is internal state). */
body.san-v7-reader .page-shell > .wiki-family-strip,
body.san-v7-reader .page-shell > .hero { display:none!important; }

/* Side column (>=1024px): search at top, category accordion = the reading routes, current page in view. */
@media (min-width:1024px) {
  body.san-v7-reader.wiki-theme-san .layout { grid-template-columns:280px minmax(0,1fr)!important; column-gap:32px!important; align-items:start; }
  body.san-v7-reader.wiki-theme-san .layout > .navigation-panel { grid-column:1; grid-row:1 / span 2; position:sticky!important; top:16px; max-height:calc(100vh - 32px)!important; overflow-y:auto!important; overscroll-behavior:contain; }
  body.san-v7-reader.wiki-theme-san .layout > .article-panel { grid-column:2; grid-row:1; }
  body.san-v7-reader.wiki-theme-san .layout > .context-panel { grid-column:2; grid-row:2; position:static!important; max-height:none!important; }
  body.san-v7-reader.wiki-theme-san .navigation-panel .mobile-nav-toggle { display:none!important; }
  body.san-v7-reader.wiki-theme-san .navigation-panel:not(.mobile-nav-open) > .panel-label,
  body.san-v7-reader.wiki-theme-san .navigation-panel:not(.mobile-nav-open) > #page-search,
  body.san-v7-reader.wiki-theme-san .navigation-panel:not(.mobile-nav-open) > #page-list-status,
  body.san-v7-reader.wiki-theme-san .navigation-panel:not(.mobile-nav-open) > #page-list { display:block!important; }
  body.san-v7-reader.wiki-theme-san .navigation-panel #page-list { max-height:none!important; overflow:visible!important; }
}
@media (min-width:1360px) {
  body.san-v7-reader.wiki-theme-san .layout { grid-template-columns:280px minmax(0,1fr) 220px!important; }
  body.san-v7-reader.wiki-theme-san .layout > .context-panel { grid-column:3; grid-row:1; position:sticky!important; top:16px; max-height:calc(100vh - 32px)!important; overflow-y:auto!important; }
}
/* Category headers are the reading routes: number, name, page count. */
body.san-v7-reader #page-list { counter-reset:san-route; }
body.san-v7-reader #page-list > .page-list-group { counter-increment:san-route; }
body.san-v7-reader #page-list > .page-list-group > details > summary > span:first-child::before { content:counter(san-route,decimal-leading-zero); display:inline-block; min-width:2.1em; margin-right:4px; font:800 11px/1 "Segoe UI",system-ui,sans-serif; letter-spacing:.04em; color:var(--wiki-link); }

/* Readable line length; figures and the construction map take the full article width. */
body.san-v7-reader .article-body > :is(p,ul,ol,h2,h3,h4,h5,blockquote,dl,pre,.wiki-callout) { max-width:760px; margin-left:0!important; margin-right:auto!important; }

/* Tighter article header and previous/next block. */
body.san-v7-reader .article-header { padding-bottom:10px!important; margin-bottom:10px!important; }
body.san-v7-reader .article-header .article-topic { margin-bottom:4px!important; }
body.san-v7-reader .article-header h2#article-title { margin:0 0 6px!important; }
body.san-v7-reader .article-header .article-summary { margin:0!important; }
body.san-v7-reader .article-navigation { padding:6px 0!important; margin:0 0 14px!important; gap:4px!important; border-width:1px 0!important; }
body.san-v7-reader .article-navigation .article-navigation-context { font-size:11px!important; margin:0!important; }
body.san-v7-reader .article-navigation-link strong { font-size:13px!important; line-height:1.3!important; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
body.san-v7-reader .article-navigation-direction { font-size:10.5px!important; }
@media (max-width:767px) { body.san-v7-reader .article-navigation .article-navigation-context { display:none!important; } }

/* Figures: large and legible inline at the column width, no white letterbox; click opens the lightbox. */
body[data-san-observatory].san-v7-reader .article-body :is(.wiki-visual-asset,.article-figure) {
  --ink:inherit; --ink-soft:inherit; --wiki-link:inherit;
  max-width:none!important; width:100%!important; margin:22px 0 26px!important; padding:0!important;
  background:transparent!important; border:0!important; box-shadow:none!important; color:inherit; float:none!important;
}
body.san-v7-reader .article-body .article-figure a.article-figure-expand { display:block; cursor:zoom-in; border-radius:10px; }
body.san-v7-reader .article-body .article-figure a.article-figure-expand::before,
body.san-v7-reader .article-body .article-figure a.article-figure-expand::after { content:none!important; display:none!important; }
body.san-v7-reader .article-body .article-figure img { display:block; width:100%!important; max-width:100%!important; height:auto!important; max-height:none!important; margin:0!important; border-radius:10px; border:1px solid var(--san-line); background:#fff; }
body.san-v7-reader .article-body .article-figure figcaption { margin-top:10px!important; max-width:760px; color:var(--ink-soft)!important; font-size:14px; line-height:1.5; text-align:left; }
body.san-v7-reader .article-body .article-figure a.article-figure-expand:focus-visible { outline:3px solid var(--san-rim,#e6b34a); outline-offset:3px; }

/* Provenance disclosure at the end of the article. */
.san-v7-provenance { margin:34px 0 8px; padding:12px 16px; border:1px solid var(--san-line); border-radius:10px; color:var(--ink-soft); font-size:14px; line-height:1.55; max-width:760px; }
.san-v7-provenance > summary { cursor:pointer; color:var(--ink); font-weight:700; }
.san-v7-provenance[open] > summary { margin-bottom:10px; }
.san-v7-provenance aside.page-review-status { display:block!important; margin:0 0 10px!important; padding:0!important; border:0!important; background:none!important; color:inherit!important; box-shadow:none!important; }
.san-v7-provenance aside.page-review-status strong { display:block; color:var(--ink); }
.san-v7-provenance p { margin:0 0 10px; }
.san-v7-provenance code { font-size:12.5px; overflow-wrap:anywhere; }

/* Wiki home: one compact reading-routes grid (replaces the 8 large atlas cards). */
.san-v7-routes { display:none; margin:0 0 22px; }
body.san-v7-home .san-v7-routes { display:block; }
.san-v7-routes-title { display:flex; align-items:baseline; gap:12px; margin:0 0 10px; font:700 17px/1.2 "Segoe UI Variable Display","Segoe UI",system-ui,sans-serif; color:var(--ink); text-shadow:var(--san-reading-halo,none); }
.san-v7-routes-title span { font-size:12.5px; font-weight:600; color:var(--ink-soft); }
.san-v7-route-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.san-v7-route-grid > li { margin:0; min-width:0; }
.san-v7-route { display:grid; grid-template-columns:112px minmax(0,1fr); gap:12px; align-items:center; height:104px; padding:8px; border:1px solid var(--san-line-strong); border-radius:12px; background:var(--san-panel); color:var(--ink)!important; text-decoration:none!important; overflow:hidden; }
.san-v7-route:hover { border-color:var(--san-rim,#e6b34a); }
.san-v7-route:focus-visible { outline:3px solid var(--san-rim,#e6b34a); outline-offset:2px; }
.san-v7-route[aria-current] { border-color:var(--san-rim,#e6b34a); }
.san-v7-route-thumb { display:block; width:112px; height:86px; object-fit:cover; object-position:50% 0; border-radius:8px; background:#fff; border:1px solid var(--san-line); }
.san-v7-route-type { display:grid; place-items:center; background:linear-gradient(135deg,color-mix(in srgb,var(--san-accent) 40%,var(--san-panel)),color-mix(in srgb,var(--san-rim) 30%,var(--san-panel))); color:var(--ink); font:800 30px/1 "Segoe UI Variable Display","Segoe UI",system-ui,sans-serif; letter-spacing:-.02em; }
.san-v7-route-text { display:flex; flex-direction:column; gap:3px; min-width:0; }
.san-v7-route-meta { font:700 10.5px/1.2 "Segoe UI",system-ui,sans-serif; letter-spacing:.07em; text-transform:uppercase; color:var(--wiki-link); }
.san-v7-route-text strong { font:700 14.5px/1.25 "Segoe UI",system-ui,sans-serif; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.san-v7-route-first { font-size:12px; line-height:1.3; color:var(--wiki-link,var(--accent)); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:1180px) { .san-v7-route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
  .san-v7-route-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; padding-bottom:6px; }
  .san-v7-route-grid > li { flex:0 0 78%; scroll-snap-align:start; }
  .san-v7-route { grid-template-columns:96px minmax(0,1fr); height:96px; }
  .san-v7-route-thumb { width:96px; height:78px; }
}

/* Lightbox */
.san-v7-lightbox { width:min(1180px,96vw); height:min(94vh,1400px); max-width:none; max-height:none; padding:0; border:1px solid var(--san-line-strong,#5a6b84); border-radius:14px; background:var(--san-panel,#14223b); color:var(--ink,#eef4ff); overflow:hidden; }
.san-v7-lightbox[open] { display:flex; flex-direction:column; }
.san-v7-lightbox::backdrop { background:rgb(4 8 18 / .72); }
.san-v7-lb-bar { display:flex; align-items:center; gap:14px; padding:10px 14px; border-bottom:1px solid var(--san-line,#33465f); font-family:"Segoe UI",system-ui,sans-serif; }
.san-v7-lb-bar strong { flex:1; min-width:0; font-size:16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.san-v7-lb-open { color:var(--wiki-link,#b7d4ff); font-size:13.5px; font-weight:650; white-space:nowrap; }
.san-v7-lb-close { height:34px; padding:0 12px; border-radius:9px; border:1px solid var(--san-line-strong,#5a6b84); background:transparent; color:inherit; font:700 13px/1 "Segoe UI",system-ui,sans-serif; cursor:pointer; }
.san-v7-lb-close:focus-visible,.san-v7-lb-open:focus-visible { outline:3px solid var(--san-rim,#e6b34a); outline-offset:2px; }
.san-v7-lb-scroll { flex:1; min-height:0; overflow:auto; background:#e8edf1; }
.san-v7-lb-scroll img { display:block; width:100%; max-width:1100px; height:auto; margin:0 auto; background:#fff; }
.san-v7-lb-caption { margin:0; padding:10px 14px 12px; border-top:1px solid var(--san-line,#33465f); font-size:13.5px; line-height:1.45; color:var(--ink-soft,#c5d2e8); max-height:22vh; overflow:auto; }
@media (max-width:767px) {
  .san-v7-lightbox { width:100vw; height:100dvh; border-radius:0; border:0; }
  .san-v7-lb-open { font-size:12.5px; }
}

/* Small screens: one compact top bar; display controls fold behind "Display". */
.san-v7-display { display:none; align-items:center; height:40px; padding:0 12px; border-radius:11px; border:1px solid var(--san-line-strong); background:var(--san-panel); color:var(--ink); font:700 13px/1 "Segoe UI",system-ui,sans-serif; cursor:pointer; }
.san-v7-display[aria-expanded=true] { background:var(--ink); color:var(--san-panel); }
.san-v7-display:focus-visible { outline:3px solid var(--san-rim,#e6b34a); outline-offset:2px; }
@media (max-width:767px) {
  .san-v7-display { display:inline-flex; margin-left:auto; }
  body.san-v7-reader .san-v7-explore { margin-left:auto; }
  body.san-v7-reader .san-v7-display { margin-left:8px; }
  body[data-san-spatial-reader]:not(.san-v7-tools-open) .knowledge-bar .san-shell-tools { display:none!important; }
  body[data-san-spatial-reader] .knowledge-bar { margin-bottom:16px!important; }
  body[data-san-spatial-reader] .knowledge-bar .san-wordmark small { display:none; }
}

/* ===== SAN spatial reader V7, scenes + hero plate (2026-10-05) ===== */
/* "None" and "Signal helix" use the quiet base: the V6 3D scene layer is not shown. */
body[data-san-scene="quiet"] .knowledge-scene { visibility:hidden!important; }
#san-v7-helix { position:fixed; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; opacity:.62; }
#san-v7-helix.is-light { opacity:.5; }
#san-v7-helix[hidden] { display:none; }
body[data-knowledge-mode="2d"] #san-v7-helix { display:none; }
@media (forced-colors:active), print { #san-v7-helix { display:none!important; } }

/* Hero "Field study / 01": the real PWD plate. */
.san-scene-aperture:has(.san-v7-plate) > :not(.san-v7-plate) { display:none!important; }
.san-scene-aperture:has(.san-v7-plate) { justify-content:flex-start!important; gap:0; padding:14px!important; height:auto!important; min-height:0!important; }
.san-v7-plate { display:flex; flex-direction:column; gap:14px; flex:1; min-height:0; }
.san-v7-plate-image { display:block; flex:1 1 auto; min-height:220px; max-height:400px; border-radius:14px 6px 14px 6px; overflow:hidden; background:#fffefb; border:1px solid var(--san-line-strong); box-shadow:0 18px 40px -22px rgba(0,0,0,.6); cursor:zoom-in; }
.san-v7-plate-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 0; }
.san-v7-plate-image:focus-visible { outline:3px solid var(--san-rim,#f2b33d); outline-offset:3px; }
.san-v7-plate-text { display:flex; flex-direction:column; gap:5px; padding:0 4px 2px; color:var(--ink); }
.san-v7-plate-kicker { font:700 10.5px/1.3 "Segoe UI",system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--wiki-link); }
.san-v7-plate-text strong { font:700 19px/1.2 "Segoe UI Variable Display","Segoe UI",system-ui,sans-serif; }
.san-v7-plate-text p { margin:0; font-size:13px; line-height:1.45; color:var(--ink-soft); }
.san-v7-plate-links { display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:3px; font-size:13.5px; font-weight:650; }
.san-v7-plate-links a { color:var(--wiki-link,var(--accent)); }
@media (max-width:760px) {
  .san-v7-plate-image { min-height:0; height:220px; flex:none; }
  .san-v7-plate-text p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
}
@media (max-width:767px) {
  body[data-san-spatial-reader]:not(.san-v7-tools-open) .knowledge-bar .san-view-switch { display:none!important; }
}
/* Wiki routes: the reading panels stay flat. V6 tilted the very tall article panel in 3D, which pushed its
   visible top far below its layout position on long pages (about 1000px at 390px wide). */
body.san-v7-reader [data-san-depth] { transform:none!important; translate:none!important; }
/* One left edge for the article header, previous/next, body and footer at every width. */
body.san-v7-reader .article-panel > :is(.article-header,#article-navigation,#article-body,.article-discovery) { max-width:none!important; margin-left:0!important; margin-right:0!important; }
/* V6 tilted home panels overhang the viewport by about 14px when the browser shows a classic scrollbar
   (headed Windows Chrome), adding a horizontal scrollbar. Clip it; `clip` keeps sticky positioning working. */
html:has(body.san-observatory-home), body.san-observatory-home { overflow-x:clip; }

/* Institute scope is readable on desktop; the home introduction carries it on phones. */
@media(min-width:761px){body[data-san-spatial-reader] .knowledge-bar .san-wordmark small{display:block;max-width:64ch;font-size:11px;line-height:1.5;letter-spacing:.025em;text-transform:none}}
