:root { color-scheme: dark; --bg:#020708; --panel:#061012; --text:#b9fbff; --bright:#d8fdff; --cyan:#51f6ff; --dim:#69aeb3; --line:#1f747b; --focus:#fff; --ascii-amber:#ffd166; --ascii-violet:#c9a7ff; --ascii-mint:#7df7b5; --ascii-coral:#ff9b9b; --max:72rem; font-family:"Courier New",Courier,monospace; }
* { box-sizing:border-box; } html { background:var(--bg); color:var(--text); font-size:16px; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 50% 0%,rgba(81,246,255,.06),transparent 34rem),var(--bg); }
a { color:var(--cyan); text-decoration-thickness:1px; text-underline-offset:.18em; } a:hover { color:var(--bright); }
a:focus-visible,button:focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
.skip-link { position:absolute; left:-9999px; } .skip-link:focus { left:1rem; top:1rem; z-index:100; padding:.6rem .8rem; background:var(--bright); color:var(--bg); }
.shell { width:min(calc(100% - 2rem),var(--max)); margin:0 auto; padding:1.5rem 0 3rem; }
.ascii-rail { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:baseline; width:100%; min-width:0; overflow:hidden; color:var(--cyan); line-height:1; white-space:nowrap; font-variant-ligatures:none; opacity:.72; }
.ascii-rail-prefix,.ascii-rail-end { flex:0 0 auto; } .ascii-rail-fill { min-width:0; overflow:hidden; white-space:nowrap; letter-spacing:0; } .ascii-rail-label-mobile { display:none; }
.ascii-brand { width:100%; min-width:0; margin-bottom:1rem; }
.ascii-brand-home {
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.ascii-brand-home:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:.25rem;
}
.ascii-brand-main-row,
.ascii-brand-strapline-row {
  display:grid;
  grid-template-columns:1ch minmax(0,1fr) 1ch;
  min-width:0;
  column-gap:.75rem;
}
.ascii-brand-main-row {
  align-items:start;
  color:var(--cyan);
  line-height:1.25;
}
.ascii-brand-strapline-row { align-items:center; }
.ascii-brand-heading { min-width:0; margin:0; }
.ascii-brand-wordmark-front {
  position: relative;
  z-index: 2;
  color: var(--cyan);
  text-shadow:
    0 0 .18rem rgb(81 246 255 / .22),
    0 0 .4rem rgb(81 246 255 / .12);
}

.ascii-brand-wordmark-back {
  position: absolute;
  inset: 0;
  z-index: 1;
  transform: translate(.16rem, .16rem);
  color: var(--line);
  opacity: .95;
  pointer-events: none;
  text-shadow:
    0 0 .3rem rgb(31 116 123 / .65),
    0 0 .65rem rgb(31 116 123 / .45),
    0 0 1rem rgb(31 116 123 / .25);
}
.ascii-brand-main-row > :first-child,
.ascii-brand-main-row > :last-child,
.ascii-brand-strapline-row > :first-child,
.ascii-brand-strapline-row > :last-child { opacity:.72; }
.ascii-brand-lockup {
  display:block;
  min-width:0;
  padding:.4rem 0 .25rem;
  container-type:inline-size;
}
.ascii-brand-heading,
.ascii-brand-strapline-row p { min-width:0; margin:0; }
.ascii-brand-heading { width:100%; overflow:visible; padding:0 0 .35rem; }
.ascii-brand-lockup-visual {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  max-width:100%;
}
.ascii-brand-wordmark-stack { position:relative; display:inline-block; min-width:max-content; padding-right:.35rem; }
.ascii-brand-wordmark {
  display:block;
  white-space:pre;
  font-family:"Riemann Console Wordmark",monospace;
  line-height:.95;
  letter-spacing:0;
  font-style:normal;
  font-weight:400;
  font-synthesis:none;
  font-kerning:none;
  font-variant-ligatures:none;
  font-feature-settings:"liga" 0,"calt" 0,"kern" 0;
}
.ascii-brand-wordmark--riemann,
.ascii-brand-divider {
  font-size:clamp(.75rem,1vw,.875rem);
  font-size:min(.875rem,calc((100cqw - .5rem) / 30));
  line-height:.95;
}
.ascii-brand-divider {
  display:block;
  margin:.04rem 0 .08rem .25rem;
  color:var(--cyan);
  opacity:.72;
  font-family:"Riemann Console Wordmark",monospace;
  font-style:normal;
  font-weight:400;
  font-synthesis:none;
  font-kerning:none;
}
.ascii-brand-lower-row { display:flex; align-items:flex-end; gap:.65rem; width:max-content; max-width:100%; }
.ascii-brand-wordmark--console {
  font-size:.625rem;
  font-size:min(.625rem,calc((100cqw - 8rem) / 30));
}
.ascii-brand-domain-suffix {
  flex:0 0 auto;
  color:var(--cyan);
  font-family:"Riemann Console Domain",monospace;
  font-size:1.75rem;
  line-height:1;
  margin:0;
  padding:0;
  letter-spacing:0;
  font-style:normal;
  font-weight:400;
  font-synthesis:none;
  font-kerning:none;
  font-variant-ligatures:none;
  text-shadow:0 0 .18rem rgb(81 246 255 / .22),0 0 .4rem rgb(81 246 255 / .12);
}
.ascii-brand-strapline-row p {
  padding:.45rem 0 .75rem;
  color:var(--text);
  opacity:.82;
  font-family:inherit;
  font-size:.9rem;
  line-height:1.45;
  letter-spacing:0;
}
.wave-mark { width:2.25rem; height:2.25rem; object-fit:contain; flex:none; margin-top:.08rem; }
.nav { margin:1.2rem 0 0; } .nav ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.65rem 1rem; } .nav-desktop .nav-row + .nav-row { margin-top:.65rem; } .nav a { text-decoration:none; } .key { color:var(--bright); } .navigation-rail { margin-top:.85rem; margin-bottom:2rem; opacity:.58; }
main { line-height:1.65; } .collection-object-title { font-size:1.5em; margin-block:.83em; } .console-title { color:var(--bright); margin-bottom:.25rem; } .rule { color:var(--line); overflow:hidden; white-space:nowrap; user-select:none; }
.panel { border-left:2px solid var(--line); padding-left:1rem; margin:1.75rem 0; } .status-grid { display:grid; grid-template-columns:max-content 1fr; gap:.35rem 1rem; }
.status-grid dt { color:var(--dim); } .status-grid dd { margin:0; color:var(--bright); } .prompt { margin-top:2.5rem; color:var(--cyan); } .command-console{position:relative}.command-line{display:flex;align-items:center;min-height:1.6rem}.command-hint{margin-top:.3rem;font-size:.72rem;letter-spacing:.04em;opacity:.55}
.cursor {
  position:absolute;
  left:calc(var(--command-caret, 0) * 1ch);
  top:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1ch;
  height:1.08em;
  transform:translateY(-50%);
  background:var(--cyan);
  color:var(--bg);
  font:inherit;
  font-size:1rem;
  line-height:1;
  text-shadow:none;
  box-shadow:0 0 .6rem rgb(81 246 255 / .72);
  pointer-events:none;
  user-select:none;
  animation:terminalBlink 1s steps(2,end) infinite;
}
@keyframes terminalBlink { 50% { opacity:0; } }
.shortcut-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(12rem,1fr)); gap:.75rem 1rem; } .shortcut-list div { display:grid; grid-template-columns:2.5rem 1fr; gap:.5rem; align-items:baseline; } kbd { font:inherit; border:1px solid currentColor; padding:.05rem .3rem; }
@media (prefers-reduced-motion: reduce) { .cursor { animation:none !important; } }
@media (forced-colors:active) {
  .command-form input { caret-color:auto; }
  .command-entry .cursor { display:none; }
}
html.search-mode #global-command-console { display:none; }
.search-mode-help { margin:.35rem 0 .65rem; font-size:.72rem; letter-spacing:.04em; opacity:.62; }
footer { margin-top:3rem; padding-top:1rem; border-top:1px solid var(--line); color:var(--dim); font-size:.85rem; } .math-inline { display:inline-block; max-width:100%; vertical-align:-0.08em; }
.math-inline math { font-size:1.02em; }
.math-display { overflow-x:auto; padding:1rem 0; text-align:center; }
.math-display math { display:block; margin:0 auto; font-size:1.15em; }
.status-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:1rem; } .status-grid div { min-width:0; } .status-grid dt { opacity:.72; } .status-grid dd { margin:.25rem 0 0; font-size:1.2rem; }
.search-console { position:relative; overflow:hidden; } .search-console-head { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1rem; } .search-kicker { margin:0 0 .35rem; opacity:.68; letter-spacing:.08em; } .search-online { flex:0 0 auto; font-size:.78rem; letter-spacing:.08em; opacity:.82; } .search-command { margin:0 0 1rem; } .search-command>label { display:block; margin-bottom:.45rem; opacity:.72; } .search-command-line { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.65rem; border:1px solid var(--cyan); padding:.75rem; background:rgb(40 242 255 / .025); } .search-command-line>span { color:var(--cyan); white-space:nowrap; } .search-command-line input { width:100%; min-width:0; border:0; border-bottom:1px solid rgb(40 242 255 / .35); outline:0; background:transparent; color:inherit; caret-color:var(--cyan); font:inherit; font-size:1.05rem; padding:.5rem .15rem; } .search-command-line button { min-height:44px; border:1px solid var(--line); background:transparent; color:var(--cyan); font:inherit; padding:.55rem .8rem; cursor:pointer; } .search-command-line button:hover,.search-command-line button:focus-visible { border-color:var(--cyan); background:rgb(40 242 255 / .07); } .search-telemetry { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:1rem 0; border:1px solid var(--line); background:var(--line); } .search-telemetry>div { padding:.6rem .75rem; background:#020708; } .search-telemetry span,.search-telemetry strong { display:block; } .search-telemetry span { font-size:.72rem; opacity:.58; } .search-telemetry strong { margin-top:.2rem; color:var(--cyan); font-weight:inherit; } .search-process { min-height:5.4rem; padding:.75rem 0; color:var(--cyan); opacity:.78; } .search-process-line { margin:.14rem 0; } .search-process-line::after { content:' ▪'; animation:searchPulse 800ms steps(2,end) infinite; } .search-status { min-height:1.5rem; margin:.5rem 0 1rem; } .search-results { list-style:none; margin:0; padding:0; } .search-result { display:grid; grid-template-columns:3.2rem minmax(0,1fr); gap:.75rem; padding:1rem 0; border-top:1px solid var(--line); } .search-result:last-child { border-bottom:1px solid var(--line); } .search-result-index { color:var(--cyan); opacity:.52; } .search-result-kind { margin-bottom:.25rem; color:var(--cyan); font-size:.74rem; letter-spacing:.08em; } .search-result-title { display:inline-block; font-size:1.12rem; } .search-result-route { margin-top:.25rem; opacity:.52; font-size:.78rem; overflow-wrap:anywhere; } .search-result-excerpt { max-width:72ch; margin:.55rem 0 0; opacity:.84; } .search-result-enter { opacity:0; transform:translateY(.4rem); animation:searchResultEnter 220ms ease-out forwards; animation-delay:var(--result-delay); } @keyframes searchPulse { 50% { opacity:.2; } } @keyframes searchResultEnter { to { opacity:1; transform:translateY(0); } }
@media (max-width:759px) { .search-console-head { display:block; } .search-online { display:inline-block; margin-top:.35rem; } .search-command-line { grid-template-columns:1fr; } .search-command-line button { width:100%; } .search-telemetry { grid-template-columns:1fr; } .search-result { grid-template-columns:2.5rem minmax(0,1fr); } }
@media (max-width:759px) {
  .ascii-rail-label-desktop { display:none; }
  .ascii-rail-label-mobile { display:inline; }
  .ascii-brand-main-row,
  .ascii-brand-strapline-row { column-gap:.45rem; }
  .ascii-brand-lockup { padding:.25rem 0 .1rem; }
  .ascii-brand-heading { max-width:100%; }
  .ascii-brand-wordmark--riemann,
  .ascii-brand-divider {
    font-size:.5625rem;
    font-size:min(.625rem,calc((100cqw - .5rem) / 30));
    line-height:.95;
  }
  .ascii-brand-lower-row { gap:.4rem; }
  .ascii-brand-wordmark--console {
    font-size:.4375rem;
    font-size:min(.4375rem,calc((100cqw - 6rem) / 30));
    line-height:.95;
  }
  .ascii-brand-domain-suffix { font-size:1.25rem; }
  .ascii-brand-wordmark-back { transform:translate(.1rem,.1rem); }
  .ascii-brand-strapline-row p { padding:.4rem 0 .65rem; font-size:.82rem; }
  .wave-mark { width:1.9rem; height:1.9rem; margin-top:0; }
  .navigation-rail { margin-top:.8rem; margin-bottom:1.6rem; }
}
.command-form { width:100%; border-bottom:1px solid var(--line); cursor:text; }
@media (prefers-reduced-motion:reduce) { .search-process-line::after,.search-result-enter { animation:none!important; } .search-result-enter { opacity:1; transform:none; } }
.mobile-menu-button,.mobile-drawer,.mobile-backdrop { display:none; }
@media (max-width:759px) { .nav-desktop { display:none; } header { position:relative; } .mobile-menu-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin-top:1rem; border:1px solid var(--line); background:transparent; color:var(--cyan); font:inherit; padding:.65rem .9rem; cursor:pointer; } .mobile-backdrop { display:block; position:fixed; inset:0; z-index:90; background:rgb(0 0 0 / .62); } .mobile-backdrop[hidden] { display:none; } .mobile-drawer { display:block; position:fixed; z-index:100; top:0; right:0; width:min(86vw,22rem); height:100dvh; padding:1rem; border-left:1px solid var(--cyan); background:#020708; transform:translateX(105%); transition:transform 180ms ease-out; overflow-y:auto; } .mobile-drawer.is-open { transform:translateX(0); } .mobile-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:.75rem; margin-bottom:.75rem; border-bottom:1px solid var(--line); color:var(--cyan); } .mobile-menu-close { min-width:48px; min-height:48px; border:1px solid var(--line); background:transparent; color:var(--cyan); font:inherit; font-size:1.4rem; cursor:pointer; } .mobile-drawer nav ul { list-style:none; margin:0; padding:0; } .mobile-drawer nav li { margin:0; border-bottom:1px solid rgb(40 242 255 / .18); } .mobile-drawer nav a { display:flex; align-items:center; min-height:48px; padding:.65rem .25rem; color:var(--cyan); text-decoration:none; } .mobile-drawer nav a::before { content:'> '; white-space:pre; opacity:.7; } html.menu-open,html.menu-open body { overflow:hidden; } }
@media (prefers-reduced-motion:reduce) { .mobile-drawer { transition:none; } }
@media (max-width:40rem) { .shell { width:min(calc(100% - 1rem),var(--max)); } .status-grid { grid-template-columns:1fr; } .status-grid dt { margin-top:.5rem; } }
@media (max-width:759px) { .command-submit { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-left:auto; border:1px solid var(--line); background:transparent; color:var(--cyan); font:inherit; padding:.45rem .7rem; cursor:pointer; } .command-form input { font-size:16px; } }

.command-line {
  display: flex;
  align-items: center;
  min-height: 1.6rem;
  color: var(--cyan);
}

#command-buffer {
  white-space: pre;
  text-shadow: 0 0 .65rem currentColor;
}

.command-hint {
  margin-top: .3rem;
  font-size: .72rem;
  letter-spacing: .04em;
  opacity: .55;
}
.command-form {
  display:flex;
  align-items:center;
  gap:.35rem;
  min-height:2.75rem;
}
.command-prefix { flex:none; }
.command-entry {
  --command-caret:0;
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 3ch;
  width:3ch;
  min-width:3ch;
  min-height:1.25em;
}
.command-form input {
  flex:none;
  width:2ch;
  min-width:2ch;
  max-width:2ch;
  border:0;
  background:transparent;
  color:var(--bright);
  caret-color:transparent;
  font:inherit;
  font-size:1rem;
  line-height:1.2;
  outline:none;
  padding:0;
  margin:0;
}
.command-form:focus-within {
  border-bottom-color:var(--cyan);
  box-shadow:0 .4rem .8rem -.7rem var(--cyan);
}
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.system-footer { margin-top:3rem; padding-top:1rem; border-top:1px solid var(--line); color:var(--dim); font-size:.85rem; }
.system-footer nav > span { display:block; overflow:hidden; white-space:nowrap; }
.footer-links { display:flex; flex-wrap:wrap; gap:.45rem 1rem; margin:.75rem 0; }
.footer-links a { color:var(--cyan); text-decoration:none; }
.system-footer p { margin:.75rem 0; line-height:1.6; }
.system-footer .footer-credit { color:inherit; text-decoration:none; }
.system-footer .footer-credit-business { color:#82c0c4; }

.nav-desktop a.is-command-selected {
  color: var(--cyan);
  text-shadow: 0 0 .7rem currentColor;
}
.terminal-output-active::after { content:'▮'; margin-left:.18em; opacity:.7; animation:terminalBlink 1s steps(2,end) infinite; }
@media (prefers-reduced-motion:reduce) { .terminal-output-active::after { display:none; } }
.context-command-menu { margin-top: 2rem; }
.context-command-menu ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.context-command-menu li { margin: 0; border-bottom: 1px solid var(--line); }
.context-command-menu a { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: .75rem; align-items: start; padding: .85rem .25rem; text-decoration: none; }
.context-command-code { color: var(--cyan); opacity: .68; }.context-command-copy { min-width: 0; }.context-command-copy strong, .context-command-copy small { display: block; }.context-command-copy small { margin-top: .2rem; opacity: .56; overflow-wrap: anywhere; }
.context-command-menu a.is-context-command-selected { background: rgb(40 242 255 / .045); text-shadow: 0 0 .65rem rgb(40 242 255 / .35); }.context-command-menu a.is-context-command-selected .context-command-code { opacity: 1; }
.markdown-command-reference { color: inherit; }.markdown-command-reference-code { color: var(--cyan); font-size: .82em; opacity: .7; white-space: nowrap; }.search-result-command { color: var(--cyan); opacity: .58; }

.command-executing .command-console {
  text-shadow: 0 0 .75rem currentColor;
}
@media (max-width:759px) { .command-form input { font-size:16px; } }

@media (max-width:759px) {
  .navigation-rail { display:none; }
  .mobile-menu-button { display:flex; width:100%; align-items:center; justify-content:space-between; }
}
.explain-aside { color: var(--ascii-violet); }
@media (forced-colors:active) { .explain-aside { color: CanvasText; } }
@media print { .explain-aside { color: #000; } }

@media (prefers-reduced-motion: no-preference) {
  .command-executing .command-console {
    animation: commandExecute 110ms steps(2, end) 1;
  }

  @keyframes commandExecute {
    50% {
      filter: brightness(1.75);
      transform: translateX(.08rem);
    }
  }
}
/* Scholarly long-form navigation and equation anchors. */
.markdown-content h1[id^="sec-"],.markdown-content h2[id^="sec-"],.markdown-content h3[id^="sec-"],.markdown-content h4[id^="sec-"],.markdown-content h5[id^="sec-"],.markdown-content h6[id^="sec-"] { scroll-margin-top:1.5rem; }
.scholarly-toc { margin:1.5rem 0 2rem; padding:1rem; border:1px solid var(--line); background:rgb(40 242 255 / .025); }
.scholarly-toc-title { margin:0 0 .65rem; color:var(--cyan); font-size:.78rem; letter-spacing:.08em; }
.scholarly-toc ol { margin:.3rem 0 0 1.25rem; padding:0; }
.scholarly-toc>ol { margin-left:0; list-style-position:inside; }
.scholarly-toc li { margin:.22rem 0; }
.scholarly-toc a { text-decoration:none; }
.scholarly-equation { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.75rem; margin:1rem 0; scroll-margin-top:1.5rem; }
.scholarly-equation-math { min-width:0; overflow-x:auto; }
.scholarly-equation-math .math-display { padding:.65rem 0; }
.scholarly-equation-number { align-self:center; min-width:2.5rem; text-align:right; text-decoration:none; color:var(--dim); }
.scholarly-equation:target,.markdown-content [id^="sec-"]:target { outline:1px solid var(--line); outline-offset:.35rem; }
.scholarly-equation-ref { white-space:nowrap; }
@media (max-width:40rem) { .scholarly-equation { grid-template-columns:1fr; gap:.15rem; } .scholarly-equation-number { justify-self:end; } }
/* Scholarly bibliography citations and generated references. */
.scholarly-citation-group { white-space:nowrap; font-size:.92em; }
.scholarly-citation { text-decoration:none; }
.scholarly-references { margin-top:2.5rem; padding-top:1rem; border-top:1px solid var(--line); }
.scholarly-references h2 { margin-top:0; }
.scholarly-references ol { margin:0; padding-left:2rem; }
.scholarly-references li { margin:.7rem 0; padding-left:.25rem; scroll-margin-top:1.5rem; }
.scholarly-references li:target { outline:1px solid var(--line); outline-offset:.3rem; }
.scholarly-references a { overflow-wrap:anywhere; }


/* Scholarly explanatory notes. */
.scholarly-note-ref { font-size:.8em; line-height:0; }
.scholarly-note-ref a,.scholarly-note-backlink { text-decoration:none; }
.scholarly-notes { margin-top:2.5rem; padding-top:1rem; border-top:1px solid var(--line); }
.scholarly-notes h2 { margin-top:0; }
.scholarly-notes ol { margin:0; padding-left:2rem; }
.scholarly-notes li { margin:.7rem 0; padding-left:.25rem; scroll-margin-top:1.5rem; }
.scholarly-notes li:target,.scholarly-note-ref:target { outline:1px solid var(--line); outline-offset:.3rem; }
.scholarly-note-backlinks { margin-left:.35rem; white-space:nowrap; }
.ascii-figure { margin:2rem 0; border:1px solid var(--line); background:rgb(40 242 255 / .018); }
.ascii-figure-title { padding:.6rem .8rem; border-bottom:1px solid var(--line); color:var(--cyan); font-size:.78rem; letter-spacing:.08em; }
.ascii-figure-viewport { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; padding:.9rem .8rem; }
.ascii-figure-viewport:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.ascii-figure-art { display:block; width:max-content; min-width:100%; margin:0; white-space:pre; font-family:"Courier New",Courier,monospace; font-size:.82rem; line-height:1.28; letter-spacing:0; font-variant-ligatures:none; text-shadow:none; color:var(--text); user-select:text; }
.ascii-figure figcaption { padding:.65rem .8rem .75rem; border-top:1px solid var(--line); color:var(--dim); font-size:.85rem; line-height:1.5; }
.ascii-tone-cyan { color:var(--cyan); } .ascii-tone-amber { color:var(--ascii-amber); } .ascii-tone-violet { color:var(--ascii-violet); } .ascii-tone-mint { color:var(--ascii-mint); } .ascii-tone-coral { color:var(--ascii-coral); } .ascii-tone-dim { color:var(--dim); } .ascii-tone-bright { color:var(--bright); }
@media (forced-colors:active) { .ascii-tone-cyan,.ascii-tone-amber,.ascii-tone-violet,.ascii-tone-mint,.ascii-tone-coral,.ascii-tone-dim,.ascii-tone-bright { color:CanvasText; } }

/* Public-facing orientation and research-discovery surfaces. */
.nav .nav-item--secondary > a,
.mobile-drawer nav .nav-item--secondary > a { color:var(--dim); }
.nav .nav-item--secondary .key { color:inherit; }
.nav .nav-item--secondary > a:hover,
.nav .nav-item--secondary > a:focus-visible,
.mobile-drawer nav .nav-item--secondary > a:hover,
.mobile-drawer nav .nav-item--secondary > a:focus-visible { color:var(--bright); }
.nav-desktop .nav-item--secondary > a.is-command-selected { color:var(--cyan); }
.home-section { margin-top:2.75rem; }
.home-section .context-command-menu { margin-top:1rem; }
.orientation-panel { margin:2rem 0; padding:1rem 1.1rem; border-left:2px solid var(--line); background:rgb(40 242 255 / .018); }
.orientation-panel h2 { margin-top:0; color:var(--bright); }
.orientation-note { margin:2rem 0; padding-left:1rem; border-left:2px solid var(--line); }
/* Public breadcrumb trail and Google BreadcrumbList visual counterpart. */
.breadcrumbs { margin:0 0 1.5rem; color:var(--dim); font-size:.78rem; letter-spacing:.02em; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.35rem; list-style:none; margin:0; padding:0; }
.breadcrumbs li { display:flex; min-width:0; align-items:center; gap:.35rem; }
.breadcrumbs li:not(:last-child)::after { content:'/'; color:var(--line); }
.breadcrumbs a { color:var(--cyan); text-decoration:none; opacity:.78; }
.breadcrumbs a:hover { color:var(--bright); opacity:1; }
.breadcrumbs [aria-current='page'] { color:var(--text); overflow-wrap:anywhere; }
@media print { .breadcrumbs { display:none!important; } }
.empty-state { margin:1rem 0; padding:.75rem 0 .75rem 1rem; border-left:1px solid var(--line); color:var(--dim); }
.research-map { margin:2.75rem 0; }
.research-tree { margin:1.25rem 0; padding:1rem; border:1px solid var(--line); background:rgb(40 242 255 / .018); overflow-wrap:anywhere; }
.research-tree-root { margin:0 0 .55rem; color:var(--bright); letter-spacing:.04em; }
.research-tree ul { list-style:none; margin:.25rem 0 0; padding-left:1.4rem; }
.research-tree > ul { padding-left:0; }
.research-tree li { margin:.45rem 0; }
.research-tree li li { margin:.35rem 0; }
.research-tree-branch { color:var(--line); user-select:none; }
.research-tree-count { color:var(--dim); font-size:.82em; }
.research-tree small { display:block; margin:.12rem 0 0 1.7rem; color:var(--dim); }
@media (max-width:759px) {
  .home-section { margin-top:2.25rem; }
  .research-tree { padding:.8rem .65rem; }
  .research-tree ul { padding-left:.7rem; }
  .research-tree small { margin-left:1.35rem; }
}

/* Publication-ready narrow-screen containment and print treatment. */
@media (max-width:759px) {
  html,body { overflow-x:hidden; }
}

@page { margin:16mm; }
@media print {
  :root { color-scheme:light; --bg:#fff; --panel:#fff; --text:#000; --bright:#000; --cyan:#000; --dim:#333; --line:#777; --focus:#000; }
  html,body { background:#fff!important; color:#000!important; }
  body { min-height:0; font-size:10.5pt; }
  .shell { width:100%; max-width:none; margin:0; padding:0; }
  header,.mobile-backdrop,.mobile-drawer,#global-command-console,footer { display:none!important; }
  main { line-height:1.45; }
  a { color:#000!important; text-decoration:underline; }
  .panel,.scholarly-toc { background:transparent; border-color:#777; }
  .markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6 { break-after:avoid-page; }
  .scholarly-equation,.scholarly-references li,.scholarly-notes li,pre,blockquote { break-inside:avoid; }
  .scholarly-equation { grid-template-columns:minmax(0,1fr) auto; }
  .scholarly-equation-math,.math-display { overflow:visible; }
  .math-display math { font-size:1em; }
  .ascii-figure { break-inside:avoid; }
  .ascii-figure-viewport { overflow:visible; }
  .ascii-figure-art { font-size:7.5pt; white-space:pre; text-shadow:none; }
  .ascii-tone-cyan,.ascii-tone-amber,.ascii-tone-violet,.ascii-tone-mint,.ascii-tone-coral,.ascii-tone-bright { color:#000; }
  .ascii-tone-dim { color:#555; }
}
/* Search V2 — public research exploration instrument. */
.search-intro { max-width:62ch; margin:.35rem 0 0; opacity:.78; }
.search-intro-label { color:var(--bright); opacity:1; }
.search-command { position:relative; z-index:30; }
.search-hint-rail { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; margin:.65rem 0 0; font-size:.72rem; letter-spacing:.035em; }
.search-help-cluster { display:inline-flex; flex-wrap:wrap; align-items:stretch; border:1px solid rgb(40 242 255 / .28); background:rgb(40 242 255 / .025); }
.search-help-launch,.search-help-topics a { display:inline-flex; align-items:center; min-height:44px; color:var(--cyan); text-decoration:none; }
.search-help-launch { padding:.36rem .6rem; border-right:1px solid rgb(40 242 255 / .22); }
.search-help-launch strong { font-weight:inherit; letter-spacing:.055em; }
.search-help-topics { display:flex; flex-wrap:wrap; align-items:stretch; }
.search-help-topics a { padding:.36rem .52rem; border-left:1px dotted rgb(40 242 255 / .18); font-size:.68rem; letter-spacing:.055em; }
.search-help-topics a:first-child { border-left:0; }
.search-help-launch:hover,.search-help-launch:focus-visible,.search-help-topics a:hover,.search-help-topics a:focus-visible { background:rgb(40 242 255 / .08); outline:0; }
.search-help-cluster:focus-within { border-color:var(--cyan); }
.search-input-shell { position:relative; display:block; min-width:0; }
.search-input-shell input { position:relative; z-index:1; }
.search-input-shell:focus-within input::placeholder { color:transparent; }
.search-ghost { position:absolute; z-index:0; inset:0; display:block; overflow:hidden; pointer-events:none; white-space:pre; color:var(--bright); opacity:.28; font:inherit; font-size:1.05rem; line-height:normal; padding:.5rem .15rem; border-bottom:1px solid transparent; }
.search-keyboard-hints { display:flex; flex-wrap:wrap; gap:.35rem 1rem; opacity:.62; }
.search-suggestions { position:absolute; z-index:40; top:100%; left:0; right:0; max-height:min(24rem,55vh); overflow:auto; overscroll-behavior:contain; margin:.25rem 0 0; border:1px solid var(--line); background:#020708; box-shadow:0 .8rem 1.8rem rgb(0 0 0 / .55); }
.search-suggestions[hidden] { display:none; }
.search-suggestions button { width:100%; display:grid; grid-template-columns:minmax(10rem,auto) minmax(0,1fr); gap:1rem; border:0; border-bottom:1px solid rgb(40 242 255 / .13); background:transparent; color:inherit; font:inherit; text-align:left; padding:.55rem .7rem; cursor:pointer; }
.search-suggestions button:last-child { border-bottom:0; }
.search-suggestions.is-ambient { border-style:dashed; background:#020708; box-shadow:0 .9rem 2rem rgb(0 0 0 / .72); }
.search-suggestions-head { padding:.42rem .7rem .2rem; color:var(--bright); font-size:.66rem; letter-spacing:.09em; opacity:.48; }
.search-suggestions.is-ambient button { opacity:.72; }
.search-suggestions.is-ambient button[aria-selected="true"],.search-suggestions.is-ambient button:hover,.search-suggestions.is-ambient button:focus-visible { opacity:1; }
.search-suggestions button:hover,.search-suggestions button:focus-visible,.search-suggestions button[aria-selected="true"] { background:rgb(40 242 255 / .08); outline:0; }
.search-suggestions strong { color:var(--cyan); font-weight:inherit; }
.search-suggestions small { opacity:.64; }
.search-telemetry.search-telemetry-v2 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.search-try { margin:1.5rem 0; padding:1rem; border:1px solid var(--line); background:rgb(40 242 255 / .018); }
.search-try-persistent { margin:1.1rem 0 1.25rem; }
.search-try h3 { margin:0 0 .7rem; font-size:.78rem; letter-spacing:.08em; color:var(--cyan); }
.search-try ul { list-style:none; margin:0; padding:0; display:grid; gap:.38rem; }
.search-try a::before { content:'> '; opacity:.58; }
.search-results-v2 { margin-top:.4rem; }
.search-result.search-result-v2 { display:grid; grid-template-columns:7rem minmax(0,1fr); gap:1rem; padding:1.25rem 0; }
.search-result-rank { color:var(--cyan); opacity:.58; font-size:.74rem; letter-spacing:.06em; padding-top:.15rem; }
.search-result-main { min-width:0; }
.search-result-heading { margin:.1rem 0 .35rem; font-size:1.1rem; }
.search-result-match,.search-result-why,.search-result-count { margin-top:.38rem; font-size:.74rem; letter-spacing:.045em; }
.search-result-match { color:var(--cyan); opacity:.82; }
.search-result-why { opacity:.72; }
.search-result-count { opacity:.56; }
.search-result-actions,.search-workspace-actions { display:flex; flex-wrap:wrap; gap:.45rem .7rem; margin-top:.8rem; }
.search-result-actions a,.search-workspace-actions a { display:inline-grid; grid-template-columns:auto auto; gap:.4rem; align-items:baseline; min-height:44px; padding:.42rem .55rem; border:1px solid rgb(40 242 255 / .22); text-decoration:none; }
.search-result-actions a:hover,.search-result-actions a:focus-visible,.search-workspace-actions a:hover,.search-workspace-actions a:focus-visible { border-color:var(--cyan); background:rgb(40 242 255 / .06); }
.search-action-copy { display:grid; }
.search-action-copy strong { font-weight:inherit; }
.search-action-copy small { opacity:.58; font-size:.65rem; }
.search-occurrences,.search-trace-paths { margin-top:.9rem; border-top:1px dotted var(--line); padding-top:.7rem; }
.search-occurrences summary,.search-trace-paths summary { cursor:pointer; color:var(--cyan); }
.search-occurrences ol { margin:.65rem 0 0; padding-left:1.4rem; }
.search-occurrences li { margin:.55rem 0; }
.search-occurrences li span { display:block; opacity:.55; font-size:.72rem; }
.search-occurrences li p { margin:.2rem 0 0; opacity:.78; }
.search-pagination { margin:1.2rem 0; display:flex; flex-wrap:wrap; gap:.5rem; color:var(--cyan); }
.search-workspace-panel { margin:1rem 0; padding:1rem; border:1px solid var(--line); background:rgb(40 242 255 / .018); }
.search-workspace-panel h3 { margin:.2rem 0 .75rem; }
.search-mode-label { margin:0; color:var(--cyan); font-size:.74rem; letter-spacing:.08em; opacity:.72; }
.search-trace-list { list-style:none; margin:.75rem 0; padding:0; }
.search-trace-list li { padding:.42rem 0; border-bottom:1px dotted rgb(40 242 255 / .15); }
.search-trace-relation { display:inline-block; min-width:14rem; color:var(--cyan); opacity:.76; }
.search-citation-text { max-width:80ch; padding:.8rem; border-left:2px solid var(--cyan); background:rgb(40 242 255 / .025); }
.search-copy { min-height:44px; border:1px solid var(--line); background:transparent; color:var(--cyan); font:inherit; padding:.5rem .75rem; cursor:pointer; }
.search-copy:hover,.search-copy:focus-visible { border-color:var(--cyan); background:rgb(40 242 255 / .06); }
.search-workspace-note { margin-top:1rem; opacity:.68; font-size:.82rem; }
.search-verify-status,.search-command-reference { display:grid; gap:1px; border:1px solid var(--line); background:var(--line); }
.search-verify-status>div,.search-command-reference>div { display:grid; grid-template-columns:minmax(9rem,14rem) minmax(0,1fr); gap:1rem; padding:.55rem .7rem; background:#020708; }
.search-verify-status dt,.search-command-reference dt { color:var(--cyan); }
.search-verify-status dd,.search-command-reference dd { margin:0; }
.search-error { color:var(--amber,#ffd27a); }
.search-syntax-help { opacity:.78; }
.search-did-you-mean { margin:.8rem 0; padding:.65rem .75rem; border-left:2px solid var(--cyan); background:rgb(40 242 255 / .025); }
.search-did-you-mean p { margin:0 0 .3rem; color:var(--cyan); font-size:.7rem; letter-spacing:.08em; }
.search-did-you-mean code { font-size:.86rem; }
.search-help-dialog { width:min(40rem,calc(100vw - 2rem)); max-width:none; height:100dvh; max-height:100dvh; margin:0 0 0 auto; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scrollbar-gutter:stable; touch-action:pan-y; border:0; border-left:1px solid var(--cyan); background:#020708; color:var(--bright); padding:clamp(1rem,2.4vw,1.6rem); box-shadow:-1rem 0 2.5rem rgb(40 242 255 / .12); }
.search-help-dialog[open] { animation:search-help-in 140ms ease-out; }
.search-help-dialog section { margin:1rem 0; padding-top:.7rem; border-top:1px dotted rgb(40 242 255 / .18); scroll-margin-top:1rem; }
.search-help-dialog h4 { margin:0 0 .45rem; color:var(--cyan); font-size:.78rem; letter-spacing:.075em; text-transform:uppercase; }
.search-help-dialog h4[tabindex="-1"]:focus { outline:0; }
@keyframes search-help-in { from { transform:translateX(1rem); opacity:.5; } to { transform:translateX(0); opacity:1; } }
.search-help-dialog::backdrop { background:rgb(0 0 0 / .72); }
.search-help-close-form { position:sticky; z-index:2; top:0; float:right; margin:0; }
.search-help-close { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; min-width:48px; min-height:48px; padding:0; border:1px solid var(--line); background:#020708; color:var(--cyan); font:inherit; cursor:pointer; touch-action:manipulation; }
.search-help-close:hover,.search-help-close:focus-visible { border-color:var(--cyan); background:rgb(40 242 255 / .08); outline:0; }
html.search-help-open { overscroll-behavior:none; }
.search-help-examples { list-style:none; margin:.8rem 0; padding:0; display:grid; gap:.4rem; }
.search-help-examples button { border:0; background:transparent; color:var(--cyan); font:inherit; padding:.2rem 0; cursor:pointer; }
.search-help-intro { margin:.7rem 3.5rem 1.1rem 0; padding:.8rem .9rem; border-left:2px solid var(--ascii-mint); background:rgb(125 247 181 / .035); color:var(--bright); line-height:1.55; }
.search-help-lede { max-width:68ch; color:var(--bright); font-size:.98rem; line-height:1.65; }
.search-help-flow { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .65rem; margin:.85rem 0 1rem; padding:.55rem .7rem; border-block:1px dotted rgb(40 242 255 / .22); color:var(--ascii-mint); font-size:.7rem; letter-spacing:.1em; }
.search-help-flow b { color:var(--dim); font-weight:inherit; }
.search-help-demo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:.9rem 0 1rem; }
.search-help-demo-grid article { min-width:0; padding:.7rem .75rem; border:1px solid rgb(40 242 255 / .2); background:rgb(40 242 255 / .018); }
.search-help-demo-grid article:first-child:nth-last-child(3),.search-help-demo-grid article:first-child:nth-last-child(3)~article { grid-column:auto; }
.search-help-demo-label,.search-help-alias-label { display:block; margin-bottom:.3rem; color:var(--ascii-amber); font-size:.65rem; letter-spacing:.08em; }
.search-help-demo-grid code { display:block; overflow-wrap:anywhere; color:var(--cyan); }
.search-help-demo-grid p { margin:.4rem 0 0; color:var(--dim); font-size:.82rem; line-height:1.5; }
.search-help-example-note { margin:.65rem 0 0; color:var(--dim); font-size:.78rem; line-height:1.5; }
.search-help-operator-list,.search-help-command-pair,.search-help-key-list { display:grid; gap:.55rem; margin:.85rem 0; }
.search-help-operator-list>div,.search-help-command-pair>div,.search-help-key-list>div { display:grid; grid-template-columns:minmax(7.5rem,10rem) minmax(0,1fr); gap:.8rem; padding:.7rem .75rem; border:1px solid rgb(40 242 255 / .18); background:#020708; }
.search-help-operator-list dt,.search-help-command-pair dt,.search-help-key-list dt { color:var(--ascii-violet); }
.search-help-operator-list dd,.search-help-command-pair dd,.search-help-key-list dd { margin:0; min-width:0; }
.search-help-operator-list dd>strong,.search-help-command-pair dd>strong { color:var(--bright); font-weight:inherit; }
.search-help-operator-list dd p,.search-help-command-pair dd p { margin:.35rem 0 0; color:var(--dim); line-height:1.5; }
.search-help-example-line { font-size:.78rem; }
.search-help-example-line span { color:var(--ascii-amber); letter-spacing:.07em; }
.search-help-example-line code { color:var(--cyan); }
.search-help-note,.search-help-caution,.search-help-complete { margin:1rem 0; padding:.75rem .85rem; border-left:2px solid var(--line); background:rgb(40 242 255 / .025); line-height:1.6; }
.search-help-note strong { color:var(--ascii-mint); font-weight:inherit; letter-spacing:.06em; }
.search-help-note p { margin:.35rem 0 0; }
.search-help-caution { border-left-color:var(--ascii-amber); }
.search-help-caution strong { color:var(--ascii-amber); font-weight:inherit; }
.search-help-complete { border-left-color:var(--ascii-violet); color:var(--bright); }
.search-help-aliases { display:grid; gap:.6rem; margin:.85rem 0 1rem; }
.search-help-aliases>div { padding:.7rem .8rem; border:1px solid rgb(40 242 255 / .17); background:rgb(40 242 255 / .015); }
.search-help-aliases p { margin:0; color:var(--dim); line-height:1.65; }
.search-help-aliases code { color:var(--cyan); }
.search-help-map { margin:.9rem 0 1rem; padding:.8rem .9rem; overflow-x:auto; border:1px solid rgb(40 242 255 / .2); background:#010405; color:var(--ascii-mint); font:inherit; font-size:.78rem; line-height:1.55; text-shadow:none; }
.search-help-key-list>div { grid-template-columns:5rem minmax(0,1fr); }
.search-help-key-list dt { color:var(--ascii-amber); }
.search-help-manual-link { margin:1.25rem 0 .25rem; padding-top:1rem; border-top:1px solid var(--line); }
.search-help-dialog code { overflow-wrap:anywhere; }
.help-toc { margin:1rem 0 1.5rem; padding:1rem; border:1px solid var(--line); }
.help-toc ol { margin:0; padding-left:1.4rem; columns:2; }
.help-toc li { break-inside:avoid; margin:.25rem 0; }
#search,#search-operators,#research-commands,#mathematical-search,#trace-provenance,#keyboard,#public-boundary,#getting-started { scroll-margin-top:1rem; }
@media (max-width:759px) {
  .search-telemetry.search-telemetry-v2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-telemetry.search-telemetry-v2>div:last-child { grid-column:1/-1; }
  .search-result.search-result-v2 { grid-template-columns:1fr; gap:.35rem; }
  .search-result-actions a,.search-workspace-actions a { flex:1 1 9rem; }
  .search-trace-relation { min-width:0; display:block; margin-bottom:.15rem; }
  .search-verify-status>div,.search-command-reference>div { grid-template-columns:1fr; gap:.2rem; }
  .search-suggestions button { grid-template-columns:1fr; gap:.1rem; }
  .search-hint-rail { align-items:stretch; }
  .search-help-cluster { flex:1 1 100%; display:grid; grid-template-columns:1fr; }
  .search-help-launch { border-right:0; border-bottom:1px solid rgb(40 242 255 / .22); }
  .search-help-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-help-topics a { justify-content:center; border-left:0; border-top:1px dotted rgb(40 242 255 / .18); }
  .search-help-topics a:nth-child(odd) { border-right:1px dotted rgb(40 242 255 / .18); }
  .search-keyboard-hints { flex:1 1 100%; justify-content:space-between; gap:.35rem; }
  .search-help-dialog { width:calc(100vw - .6rem); height:calc(100dvh - .6rem); max-height:calc(100dvh - .6rem); margin:.3rem; border:1px solid var(--cyan); }
  .search-help-demo-grid { grid-template-columns:1fr; }
  .search-help-operator-list>div,.search-help-command-pair>div,.search-help-key-list>div { grid-template-columns:1fr; gap:.3rem; }
  .search-help-intro { margin-right:3rem; }
  .help-toc ol { columns:1; }
}

@media (prefers-reduced-motion: reduce) { .search-help-dialog[open] { animation:none; } }
/* Glossary and public-discovery surfaces. */
.public-timeline { padding-left:1.35rem; }
.public-timeline li { margin:.8rem 0; }
.glossary-index { margin:2.75rem 0; }
.glossary-jump { display:flex; flex-wrap:wrap; gap:.35rem; margin:1.2rem 0 2rem; }
.glossary-jump a { display:inline-flex; align-items:center; justify-content:center; min-width:2.4rem; min-height:2.4rem; padding:.25rem .45rem; border:1px solid var(--line); text-decoration:none; }
.glossary-jump a:hover,.glossary-jump a:focus-visible { border-color:var(--cyan); background:rgb(40 242 255 / .05); }
.glossary-letter { margin:2rem 0; scroll-margin-top:1rem; }
.glossary-letter > h3 { margin-bottom:.75rem; color:var(--bright); }
.glossary-entries { display:grid; gap:.8rem; }
.glossary-entry { display:grid; grid-template-columns:minmax(10rem,16rem) minmax(0,1fr); gap:.8rem 1.25rem; padding:1rem 0; border-top:1px solid var(--line); }
.glossary-entry dt { margin:0; color:var(--bright); }
.glossary-entry dd { min-width:0; margin:0; }
.glossary-entry dd p { margin:.25rem 0 .55rem; }
.glossary-entry-kind { color:var(--cyan); font-size:.76rem; letter-spacing:.07em; text-transform:uppercase; }
.glossary-entry-context { color:var(--dim); font-size:.84rem; }
.research-tree-v2 > ul > li { padding:.15rem 0 .35rem; }
.research-tree-relation { color:var(--dim); font-size:.86em; }
@media (max-width:759px) {
  .glossary-entry { grid-template-columns:1fr; gap:.2rem; }
  .glossary-jump a { min-width:2.75rem; min-height:2.75rem; }
}
@font-face {
  font-family:"Riemann Console Wordmark";
  src:url("./fonts/riemann-console-wordmark.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:block;
  unicode-range:U+0020,U+2550-2551,U+2554,U+2557,U+255A,U+255D,U+2588,U+2592-2593;
}
@font-face {
  font-family:"Riemann Console Domain";
  src:url("./fonts/riemann-console-domain.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:block;
  unicode-range:U+002E,U+0067,U+006F,U+0072;
}
@font-face {
  font-family:"Riemann Console ASCII";
  src:url("./fonts/riemann-console-ascii.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:block;
  unicode-range:U+0020-007E;
}
/* ASCII portrait/illustration presentation. */
.ascii-figure--portrait,
.ascii-figure--illustration { background:rgb(40 242 255 / .028); }
.ascii-figure--portrait .ascii-figure-title,
.ascii-figure--illustration .ascii-figure-title { color:var(--bright); }
.ascii-portrait-shell { display:grid; gap:.85rem; padding:.9rem .8rem; }
.ascii-portrait-trigger {
  display:flex;
  align-items:center;
  gap:.45rem;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.ascii-portrait-trigger:hover .ascii-portrait-prompt,
.ascii-portrait-trigger:focus-visible .ascii-portrait-prompt { color:var(--bright); }
.ascii-portrait-trigger:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.ascii-portrait-prompt,
.ascii-portrait-status,
.ascii-figure-art--portrait {
  font-family:"Riemann Console ASCII",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono","Courier New",monospace;
  font-variant-ligatures:none;
  font-synthesis:none;
  font-kerning:none;
  letter-spacing:0;
}
.ascii-portrait-prompt { white-space:pre-wrap; }
.ascii-portrait-cursor {
  display:inline-block;
  color:var(--cyan);
  animation:ascii-portrait-cursor 1s steps(1,end) infinite;
}
@keyframes ascii-portrait-cursor {
  0%,49% { opacity:1; }
  50%,100% { opacity:0; }
}
.ascii-portrait-panel { display:grid; gap:.8rem; }
.ascii-portrait-panel[hidden] { display:none; }
.ascii-portrait-status {
  margin:0;
  white-space:pre-wrap;
  color:var(--dim);
  font-size:.75rem;
  line-height:1.45;
}
.ascii-figure--portrait .ascii-figure-viewport,
.ascii-figure--illustration .ascii-figure-viewport { padding:.85rem .75rem; overflow-x:auto; }
.ascii-figure-art--portrait {
  display:block;
  width:max-content;
  min-width:0;
  margin:0;
  white-space:pre;
  font-size:clamp(.375rem,1.7vw,.78rem);
  line-height:1.02;
  text-shadow:none;
  color:var(--text);
  user-select:text;
}
.ascii-portrait-row {
  display:block;
  overflow:hidden;
  white-space:pre;
  min-height:1.02em;
}
@media (prefers-reduced-motion:reduce) {
  .ascii-portrait-cursor { animation:none; }
}
@media print {
  .ascii-portrait-panel { display:block!important; }
  .ascii-portrait-trigger,.ascii-portrait-status { display:none!important; }
  .ascii-portrait-row { width:auto!important; overflow:visible; }
}

/* Page utilities: persistent SHARE + long-page TOP / CONTENTS navigation. */
.rc-long-page-nav {
  position:fixed;
  right:max(1rem,env(safe-area-inset-right));
  bottom:max(1rem,env(safe-area-inset-bottom));
  z-index:70;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.5rem;
  max-width:min(34rem,calc(100vw - 2rem));
}
.rc-long-page-button[hidden],
.rc-long-page-contents[hidden] {
  display:none!important;
}
.rc-long-page-controls {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.5rem;
}
.rc-long-page-button,
.rc-long-page-close {
  border:1px solid var(--line);
  background:rgb(2 7 8 / .95);
  color:var(--cyan);
  font:inherit;
  cursor:pointer;
}
.rc-long-page-button {
  min-height:44px;
  padding:.55rem .72rem;
  font-size:.82rem;
  letter-spacing:.04em;
  white-space:nowrap;
  box-shadow:0 0 1rem rgb(81 246 255 / .06);
}
.rc-long-page-button:hover,
.rc-long-page-close:hover {
  border-color:var(--cyan);
  color:var(--bright);
}
.rc-share-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.34rem;
  transition:border-color 160ms ease,color 160ms ease,box-shadow 160ms ease;
}
.rc-share-bracket {
  opacity:.72;
}
.rc-share-icon {
  width:1.35rem;
  height:1.35rem;
  flex:0 0 auto;
  overflow:visible;
}
.rc-share-link,
.rc-share-signal {
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.rc-share-link {
  stroke-width:1.35;
  opacity:.58;
}
.rc-share-signal {
  stroke-width:1.85;
  stroke-dasharray:.16 .84;
  stroke-dashoffset:1;
  opacity:0;
}
.rc-share-node {
  fill:var(--bg);
  stroke:currentColor;
  stroke-width:1.45;
  transform-box:fill-box;
  transform-origin:center;
}
.rc-share-button.is-transmitting .rc-share-node--source {
  animation:rc-share-node-source 620ms ease-out both;
}
.rc-share-button.is-transmitting .rc-share-signal--upper {
  animation:rc-share-signal 340ms ease-out 70ms both;
}
.rc-share-button.is-transmitting .rc-share-node--upper {
  animation:rc-share-node-target 280ms ease-out 300ms both;
}
.rc-share-button.is-transmitting .rc-share-signal--lower {
  animation:rc-share-signal 340ms ease-out 180ms both;
}
.rc-share-button.is-transmitting .rc-share-node--lower {
  animation:rc-share-node-target 280ms ease-out 410ms both;
}
.rc-share-button.is-copied {
  border-color:var(--cyan);
  color:var(--bright);
  box-shadow:0 0 1.15rem rgb(81 246 255 / .18);
}
.rc-share-button.is-copied .rc-share-node {
  fill:currentColor;
  filter:drop-shadow(0 0 .22rem currentColor);
}
.rc-share-button.is-copy-failed {
  border-color:var(--ascii-coral);
  color:var(--ascii-coral);
}
@keyframes rc-share-signal {
  0% {
    opacity:0;
    stroke-dashoffset:1;
  }
  18% {
    opacity:1;
  }
  82% {
    opacity:1;
  }
  100% {
    opacity:0;
    stroke-dashoffset:0;
  }
}
@keyframes rc-share-node-source {
  0% {
    fill:var(--bg);
    transform:scale(1);
  }
  30% {
    fill:currentColor;
    transform:scale(1.12);
    filter:drop-shadow(0 0 .3rem currentColor);
  }
  100% {
    fill:var(--bg);
    transform:scale(1);
    filter:none;
  }
}
@keyframes rc-share-node-target {
  0% {
    fill:var(--bg);
    transform:scale(1);
  }
  48% {
    fill:currentColor;
    transform:scale(1.12);
    filter:drop-shadow(0 0 .3rem currentColor);
  }
  100% {
    fill:var(--bg);
    transform:scale(1);
    filter:none;
  }
}
.rc-long-page-contents {
  width:min(32rem,calc(100vw - 2rem));
  max-height:min(70vh,36rem);
  overflow:auto;
  border:1px solid var(--line);
  background:rgb(2 7 8 / .98);
  box-shadow:0 .75rem 2rem rgb(0 0 0 / .48),0 0 1.25rem rgb(81 246 255 / .05);
}
.rc-long-page-contents-header {
  position:sticky;
  top:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.65rem .75rem;
  border-bottom:1px solid var(--line);
  background:var(--panel);
  color:var(--cyan);
  font-size:.82rem;
  letter-spacing:.05em;
}
.rc-long-page-close {
  min-width:40px;
  min-height:40px;
  padding:.35rem .5rem;
}
.rc-long-page-contents-list {
  list-style:none;
  margin:0;
  padding:.45rem 0;
}
.rc-long-page-contents-item {
  margin:0;
}
.rc-long-page-contents-item--h3 {
  padding-left:1.2rem;
}
.rc-long-page-contents-link {
  display:block;
  padding:.46rem .75rem;
  color:var(--dim);
  text-decoration:none;
  line-height:1.35;
}
.rc-long-page-contents-link::before {
  content:'  ';
  white-space:pre;
}
.rc-long-page-contents-link:hover {
  color:var(--bright);
  background:rgb(81 246 255 / .045);
}
.rc-long-page-contents-link[aria-current='location'] {
  color:var(--bright);
  text-shadow:0 0 .6rem currentColor;
}
.rc-long-page-contents-link[aria-current='location']::before {
  content:'> ';
  color:var(--cyan);
}
.markdown-content h2[id],
.markdown-content h3[id] {
  scroll-margin-top:1rem;
}
@media (max-width:759px) {
  .rc-long-page-nav {
    right:max(.5rem,env(safe-area-inset-right));
    bottom:max(.5rem,env(safe-area-inset-bottom));
    max-width:calc(100vw - 1rem);
  }
  .rc-long-page-contents {
    width:calc(100vw - 1rem);
    max-height:min(72dvh,34rem);
  }
  .rc-long-page-button {
    min-height:48px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rc-share-button {
    transition:none;
  }
  .rc-share-button.is-transmitting .rc-share-node,
  .rc-share-button.is-transmitting .rc-share-signal {
    animation:none;
  }
}
@media (forced-colors:active) {
  .rc-long-page-button,
  .rc-long-page-close,
  .rc-long-page-contents,
  .rc-long-page-contents-header {
    border-color:CanvasText;
    background:Canvas;
    color:CanvasText;
    box-shadow:none;
  }
  .rc-long-page-contents-link,
  .rc-long-page-contents-link[aria-current='location'] {
    color:LinkText;
    text-shadow:none;
  }
  .rc-share-node {
    fill:Canvas;
  }
  .rc-share-button.is-copied .rc-share-node {
    fill:CanvasText;
    filter:none;
  }
  .rc-share-button.is-copy-failed {
    border-color:CanvasText;
    color:CanvasText;
  }
}
@media print {
  .rc-long-page-nav {
    display:none!important;
  }
}

/* Prime Spring Lab — page-scoped interactive surface. */
.rc-lab.rc-prime-spring .rc-prime-spring__instrument {
  position:relative;
  margin:1.5rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:.75rem 0 .9rem;
}
.rc-lab.rc-prime-spring [hidden] {
  display:none!important;
}
.rc-lab.rc-prime-spring .rc-prime-spring__instrument-rule {
  margin:0 0 .65rem;
  color:var(--cyan);
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  opacity:.8;
}
.rc-lab.rc-prime-spring .rc-prime-spring__viewport {
  position:relative;
  width:100%;
  height:clamp(20rem,62vw,42rem);
  overflow:hidden;
  border:1px solid var(--line);
  background:rgb(6 16 18 / .55);
  box-shadow:inset 0 0 1.5rem rgb(81 246 255 / .025);
}
.rc-lab.rc-prime-spring .rc-prime-spring__canvas {
  display:block;
  width:100%;
  height:100%;
  touch-action:none;
  cursor:grab;
}
.rc-lab.rc-prime-spring .rc-prime-spring__canvas.is-dragging {
  cursor:grabbing;
}

.rc-lab.rc-prime-spring .rc-prime-spring__canvas.is-unroll {
  touch-action:pan-y;
  cursor:crosshair;
}

.rc-lab.rc-prime-spring .rc-prime-spring__canvas.is-unroll.is-dragging {
  cursor:crosshair;
}
.rc-lab.rc-prime-spring .rc-prime-spring__viewbar {
  position:absolute;
  z-index:3;
  top:.65rem;
  left:.65rem;
  display:grid;
  grid-template-columns:minmax(4.2rem,auto);
  gap:.35rem;
  margin:0;
  padding:.4rem;
  border:1px solid rgb(31 116 123 / .82);
  background:rgb(2 7 8 / .84);
}
.rc-lab.rc-prime-spring .rc-prime-spring__view-label {
  color:var(--dim);
  padding:.05rem .2rem;
  font-size:.76rem;
}
.rc-lab.rc-prime-spring .rc-prime-spring__view-button,
.rc-lab.rc-prime-spring .rc-prime-spring__fullscreen-button {
  min-height:2.35rem;
  padding:.35rem .6rem;
  border:1px solid var(--line);
  border-radius:0;
  background:rgb(2 7 8 / .78);
  color:var(--cyan);
  font:inherit;
  letter-spacing:.04em;
  cursor:pointer;
}
.rc-lab.rc-prime-spring .rc-prime-spring__view-button:hover,
.rc-lab.rc-prime-spring .rc-prime-spring__view-button[aria-pressed='true'],
.rc-lab.rc-prime-spring .rc-prime-spring__fullscreen-button:hover,
.rc-lab.rc-prime-spring .rc-prime-spring__fullscreen-button[aria-pressed='true'] {
  border-color:var(--cyan);
  color:var(--bright);
  background:rgb(81 246 255 / .08);
  text-shadow:0 0 .6rem currentColor;
}
.rc-lab.rc-prime-spring .rc-prime-spring__view-button:focus-visible,
.rc-lab.rc-prime-spring .rc-prime-spring__fullscreen-button:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:3px;
}
.rc-lab.rc-prime-spring .rc-prime-spring__fullscreen-button {
  position:absolute;
  z-index:4;
  top:.65rem;
  right:.65rem;
  min-width:7.6rem;
}
.rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts {
  position:absolute;
  z-index:3;
  left:.65rem;
  bottom:.65rem;
  max-width:min(46rem,calc(100% - 1.3rem));
  pointer-events:none;
}
.rc-lab.rc-prime-spring .rc-prime-spring__readout,
.rc-lab.rc-prime-spring .rc-prime-spring__structure-rail {
  margin:0;
  padding:.35rem .5rem;
  border:1px solid rgb(31 116 123 / .78);
  background:rgb(2 7 8 / .84);
  font-size:.84rem;
  line-height:1.4;
}
.rc-lab.rc-prime-spring .rc-prime-spring__readout {
  color:var(--text);
}
.rc-lab.rc-prime-spring .rc-prime-spring__structure-rail {
  margin-top:.3rem;
  color:var(--bright);
  overflow-wrap:anywhere;
}
.rc-lab.rc-prime-spring .rc-prime-spring__density-note {
  position:absolute;
  z-index:3;
  top:.65rem;
  left:50%;
  width:max-content;
  max-width:min(30rem,calc(100% - 14rem));
  margin:0;
  padding:.35rem .5rem;
  transform:translateX(-50%);
  border:1px solid var(--line);
  background:rgb(2 7 8 / .9);
  color:var(--dim);
  font-size:.78rem;
  line-height:1.35;
  text-align:center;
}
.rc-lab.rc-prime-spring .rc-prime-spring__dock {
  margin:.5rem 0 0;
  padding:.45rem 0 0;
}
.rc-lab.rc-prime-spring .rc-prime-spring__controls {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.2fr);
  gap:.75rem;
  margin:0;
}
.rc-lab.rc-prime-spring .rc-prime-spring__control-group {
  min-width:0;
  margin:0;
  padding:.65rem;
  border:1px solid var(--line);
  border-radius:0;
}
.rc-lab.rc-prime-spring .rc-prime-spring__control-group legend {
  padding:0 .35rem;
  color:var(--dim);
  font-size:.82rem;
  letter-spacing:.04em;
}
.rc-lab.rc-prime-spring .rc-prime-spring__control-group legend [data-prime-spring-profile] {
  color:var(--bright);
}
.rc-lab.rc-prime-spring .rc-prime-spring__control-row {
  display:grid;
  grid-template-columns:minmax(7.5rem,auto) minmax(6rem,1fr) 5.6rem;
  align-items:center;
  gap:.55rem;
  margin:.45rem 0;
}
.rc-lab.rc-prime-spring .rc-prime-spring__control-row--modulus {
  grid-template-columns:max-content minmax(0,1fr) 5.6rem;
}
.rc-lab.rc-prime-spring .rc-prime-spring__control-row label,
.rc-lab.rc-prime-spring .rc-prime-spring__preset-label {
  color:var(--dim);
  font-size:.82rem;
}
.rc-lab.rc-prime-spring .rc-prime-spring__range {
  width:100%;
  min-width:0;
  accent-color:var(--cyan);
  cursor:pointer;
}
.rc-lab.rc-prime-spring .rc-prime-spring__number {
  width:100%;
  min-width:0;
  min-height:2.35rem;
  padding:.3rem .4rem;
  border:1px solid var(--line);
  border-radius:0;
  background:var(--panel);
  color:var(--bright);
  font:inherit;
  font-variant-numeric:tabular-nums;
}
.rc-lab.rc-prime-spring .rc-prime-spring__range:focus-visible,
.rc-lab.rc-prime-spring .rc-prime-spring__number:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:3px;
}
.rc-lab.rc-prime-spring .rc-prime-spring__presets {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem;
  margin-top:.6rem;
}
.rc-lab.rc-prime-spring .rc-prime-spring__presets button {
  min-height:2.35rem;
  padding:.35rem .6rem;
  border:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--cyan);
  font:inherit;
  cursor:pointer;
}
.rc-lab.rc-prime-spring .rc-prime-spring__presets button:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.rc-lab.rc-prime-spring .rc-prime-spring__presets button:hover,
.rc-lab.rc-prime-spring .rc-prime-spring__presets button[aria-pressed='true'] {
  border-color:var(--cyan);
  background:rgb(81 246 255 / .055);
  color:var(--bright);
  text-shadow:0 0 .6rem currentColor;
}
.rc-lab.rc-prime-spring .rc-prime-spring__sieve-stages { margin-top:.45rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__lens-note,
.rc-lab.rc-prime-spring .rc-prime-spring__probe-hint { margin:.45rem 0 0; color:var(--dim); font-size:.78rem; line-height:1.4; }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-entry { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-entry label { color:var(--dim); font-size:.82rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-entry input { flex:1 1 5.5rem; width:6rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-entry button { min-height:2.35rem; padding:.35rem .6rem; border:1px solid var(--line); background:transparent; color:var(--cyan); font:inherit; cursor:pointer; }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-entry button:hover { border-color:var(--cyan); color:var(--bright); }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-entry button:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-readout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem .75rem; margin:.55rem 0 0; font-size:.78rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-readout div { display:grid; grid-template-columns:minmax(4rem,.55fr) minmax(0,1fr); gap:.35rem; min-width:0; }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-readout dt { color:var(--dim); }
.rc-lab.rc-prime-spring .rc-prime-spring__probe-readout dd { margin:0; color:var(--bright); overflow-wrap:anywhere; }
.rc-lab.rc-prime-spring .rc-prime-spring__counting-readout { display:grid; gap:.35rem; margin:.35rem 0 0; }
.rc-lab.rc-prime-spring .rc-prime-spring__counting-readout > div { display:grid; grid-template-columns:minmax(0,1fr) max-content; gap:.65rem; align-items:baseline; padding:.38rem .45rem; border:1px solid rgb(31 116 123 / .55); background:rgb(2 7 8 / .42); }
.rc-lab.rc-prime-spring .rc-prime-spring__counting-readout dt { color:var(--dim); font-size:.78rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__counting-readout dd { margin:0; color:var(--bright); font-variant-numeric:tabular-nums; text-align:right; }
.rc-lab.rc-prime-spring .rc-prime-spring__counting-note { margin:.55rem 0 0; color:var(--dim); font-size:.72rem; line-height:1.4; }
.rc-lab.rc-prime-spring .rc-prime-spring__explanation { margin-top:.75rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__explanation p { margin:.35rem 0; }
.rc-lab.rc-prime-spring .rc-prime-spring__instruction {
  margin:.4rem 0 0;
  color:var(--dim);
  font-size:.84rem;
  line-height:1.4;
}

.rc-lab.rc-prime-spring .rc-prime-spring__instrument:fullscreen {
  width:100%;
  height:100%;
  margin:0;
  padding:.65rem;
  border:0;
  background:var(--bg);
  display:flex;
  flex-direction:column;
  gap:.45rem;
  overflow:hidden;
}
.rc-lab.rc-prime-spring .rc-prime-spring__instrument:fullscreen .rc-prime-spring__instrument-rule {
  flex:0 0 auto;
  margin:0;
}
.rc-lab.rc-prime-spring .rc-prime-spring__instrument:fullscreen .rc-prime-spring__viewport {
  flex:1 1 auto;
  min-height:0;
  height:auto;
}
.rc-lab.rc-prime-spring .rc-prime-spring__instrument:fullscreen .rc-prime-spring__dock {
  flex:0 0 auto;
  max-height:34vh;
  margin:0;
  padding:.5rem;
  overflow:auto;
  border:1px solid var(--line);
  background:rgb(2 7 8 / .94);
}
.rc-lab.rc-prime-spring .rc-prime-spring__instrument:fullscreen .rc-prime-spring__controls {
  gap:.55rem;
}
.rc-lab.rc-prime-spring .rc-prime-spring__instrument:fullscreen .rc-prime-spring__control-group {
  padding:.5rem;
}
.rc-lab.rc-prime-spring .rc-prime-spring__instrument:fullscreen .rc-prime-spring__fullscreen-button {
  display:block;
}

@media (max-width:760px) {
  .rc-lab.rc-prime-spring .rc-prime-spring__controls {
    grid-template-columns:minmax(0,1fr);
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__viewport {
    height:clamp(18rem,90vw,32rem);
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__view-button {
    min-height:2.75rem;
    min-width:4.25rem;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts {
    right:.65rem;
    max-width:none;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__readout,
  .rc-lab.rc-prime-spring .rc-prime-spring__structure-rail {
    font-size:.76rem;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__density-note {
    top:auto;
    left:.65rem;
    right:.65rem;
    bottom:6.3rem;
    width:auto;
    max-width:none;
    transform:none;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__instrument:fullscreen .rc-prime-spring__dock {
    max-height:42vh;
  }
}
@media (max-width:520px) {
  .rc-lab.rc-prime-spring .rc-prime-spring__probe-readout { grid-template-columns:minmax(0,1fr); }
  .rc-lab.rc-prime-spring .rc-prime-spring__control-row {
    grid-template-columns:minmax(0,1fr) 5.5rem;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__control-row label {
    grid-column:1 / -1;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__control-row--modulus {
    grid-template-columns:minmax(0,1fr) 5.5rem;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__presets button,
  .rc-lab.rc-prime-spring .rc-prime-spring__probe-entry button {
    min-height:2.75rem;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__fullscreen-button {
    min-width:0;
    padding:.35rem .45rem;
    font-size:.76rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .rc-lab.rc-prime-spring .rc-prime-spring__view-button,
  .rc-lab.rc-prime-spring .rc-prime-spring__fullscreen-button {
    transition:none;
  }
}
@media (forced-colors:active) {
  .rc-lab.rc-prime-spring .rc-prime-spring__viewport,
  .rc-lab.rc-prime-spring .rc-prime-spring__viewbar,
  .rc-lab.rc-prime-spring .rc-prime-spring__view-button,
  .rc-lab.rc-prime-spring .rc-prime-spring__fullscreen-button,
  .rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts,
  .rc-lab.rc-prime-spring .rc-prime-spring__readout,
  .rc-lab.rc-prime-spring .rc-prime-spring__structure-rail,
  .rc-lab.rc-prime-spring .rc-prime-spring__density-note,
  .rc-lab.rc-prime-spring .rc-prime-spring__dock,
  .rc-lab.rc-prime-spring .rc-prime-spring__control-group,
  .rc-lab.rc-prime-spring .rc-prime-spring__number,
  .rc-lab.rc-prime-spring .rc-prime-spring__presets button,
  .rc-lab.rc-prime-spring .rc-prime-spring__counting-readout > div,
  .rc-lab.rc-prime-spring .rc-prime-spring__probe-entry button {
    border-color:CanvasText;
    background:Canvas;
    color:CanvasText;
    box-shadow:none;
    text-shadow:none;
  }
}

.rc-lab.rc-prime-spring .rc-prime-spring__autoplay-button {
  position:absolute;
  right:.65rem;
  bottom:.65rem;
  z-index:3;
  min-width:5.5rem;
  min-height:2.75rem;
  padding:.4rem .65rem;
  border:1px solid var(--line);
  border-radius:0;
  background:rgb(2 7 8 / .94);
  color:var(--cyan);
  font:inherit;
  cursor:pointer;
}
.rc-lab.rc-prime-spring .rc-prime-spring__autoplay-button:hover,
.rc-lab.rc-prime-spring .rc-prime-spring__autoplay-button[aria-pressed='true'] {
  border-color:var(--cyan);
  color:var(--bright);
}
.rc-lab.rc-prime-spring .rc-prime-spring__autoplay-button:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:3px;
}
.rc-lab.rc-prime-spring .rc-prime-spring__controls :disabled,
.rc-lab.rc-prime-spring .rc-prime-spring__viewbar :disabled {
  opacity:.6;
  cursor:default;
}
/* On compact displays put telemetry above the bottom-right PLAY/PAUSE row. */
@media (max-width:760px) {
  .rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts {
    bottom:4rem;
  }
  .rc-lab.rc-prime-spring .rc-prime-spring__density-note {
    bottom:11.5rem;
  }
}
@media (forced-colors:active) {
  .rc-lab.rc-prime-spring .rc-prime-spring__autoplay-button {
    border-color:ButtonText;
    background:ButtonFace;
    color:ButtonText;
  }
}


/* Prime Spring corner drawers: deliberately outside fullscreen dock idle behavior. */
.rc-lab.rc-prime-spring .rc-prime-spring__panel-toggle {
  position:absolute;
  left:.65rem;
  z-index:5;
  min-height:2.75rem;
  min-width:5.5rem;
  padding:.35rem .6rem;
  border:1px solid var(--line);
  border-radius:0;
  background:rgb(2 7 8 / .94);
  color:var(--cyan);
  font:inherit;
  font-size:.8rem;
  letter-spacing:.04em;
  cursor:pointer;
}
.rc-lab.rc-prime-spring .rc-prime-spring__panel-toggle--views { top:.65rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__panel-toggle--info { bottom:.65rem; }
.rc-lab.rc-prime-spring .rc-prime-spring__panel-toggle:hover,
.rc-lab.rc-prime-spring .rc-prime-spring__panel-toggle[aria-expanded='true'] {
  border-color:var(--cyan);
  color:var(--bright);
}
.rc-lab.rc-prime-spring .rc-prime-spring__panel-toggle:focus-visible,
.rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:3px;
}
.rc-lab.rc-prime-spring .rc-prime-spring__corner-panel {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
  overflow:auto;
  max-height:calc(100% - 8rem);
  overscroll-behavior:contain;
}
.rc-lab.rc-prime-spring .rc-prime-spring__viewbar.rc-prime-spring__corner-panel {
  top:4rem;
  left:.65rem;
  max-width:calc(100% - 1.3rem);
  transform-origin:top left;
  transform:translateY(-.4rem) scale(.98);
}
.rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts.rc-prime-spring__corner-panel {
  bottom:4rem;
  left:.65rem;
  right:auto;
  width:max-content;
  max-width:min(46rem,calc(100% - 1.3rem));
  transform-origin:bottom left;
  transform:translateY(.4rem) scale(.98);
  touch-action:pan-y;
}
.rc-lab.rc-prime-spring .rc-prime-spring__viewbar.rc-prime-spring__corner-panel.is-open,
.rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts.rc-prime-spring__corner-panel.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition-delay:0s;
}
.rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts .rc-prime-spring__density-note {
  position:static;
  width:auto;
  max-width:none;
  margin:.3rem 0 0;
  transform:none;
}
.rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts .rc-prime-spring__readout {
  overflow-wrap:anywhere;
}
@media (max-width:760px), (max-height:520px) {
  .rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts.rc-prime-spring__corner-panel {
    width:calc(100% - 1.3rem);
    max-width:none;
  }
}
@media (prefers-reduced-motion:reduce) {
  .rc-lab.rc-prime-spring .rc-prime-spring__viewbar.rc-prime-spring__corner-panel,
  .rc-lab.rc-prime-spring .rc-prime-spring__viewport-readouts.rc-prime-spring__corner-panel {
    transition:none;
    transform:none;
  }
}
@media (forced-colors:active) {
  .rc-lab.rc-prime-spring .rc-prime-spring__panel-toggle {
    border-color:ButtonText;
    background:ButtonFace;
    color:ButtonText;
  }
}



.rc-lab.rc-prime-spring .rc-prime-spring__label-with-help {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-width:0;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-button {
  display:inline-grid;
  place-items:center;
  width:1.35rem;
  height:1.35rem;
  min-width:1.35rem;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:transparent;
  color:var(--dim);
  font:inherit;
  font-size:.72rem;
  line-height:1;
  cursor:help;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-button:hover {
  border-color:var(--cyan);
  color:var(--bright);
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-button:focus-visible,
.rc-lab.rc-prime-spring .rc-prime-spring__help-close:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:3px;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-popover {
  display:none;
  flex-direction:column;
  width:min(44rem,calc(100vw - 2rem));
  max-height:82vh;
  max-height:82dvh;
  overflow:hidden;
  margin:auto;
  padding:0;
  border:1px solid var(--cyan);
  border-radius:0;
  background:var(--panel);
  color:var(--text);
  box-shadow:0 0 2rem rgb(81 246 255 / .12);
  font:inherit;
  line-height:1.6;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-popover:popover-open {
  display:flex;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-popover::backdrop {
  background:rgb(2 7 8 / .45);
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex:0 0 auto;
  padding:.75rem 1rem .75rem 1.25rem;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-title {
  margin:0;
  color:var(--bright);
  letter-spacing:.04em;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-close {
  display:inline-grid;
  place-items:center;
  min-width:48px;
  min-height:48px;
  padding:.35rem .55rem;
  border:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--cyan);
  font:inherit;
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-close:hover {
  border-color:var(--cyan);
  color:var(--bright);
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-body {
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
  padding:.35rem 1.25rem 1.25rem;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-body p {
  margin:.8rem 0;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-body p:last-child {
  margin-bottom:0;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-section-title {
  margin:1.25rem 0 .35rem;
  color:var(--cyan);
  font:inherit;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.055em;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-body code {
  color:var(--bright);
  overflow-wrap:anywhere;
}

.rc-lab.rc-prime-spring .rc-prime-spring__help-button--play {
  position:absolute;
  right:6.4rem;
  bottom:1.35rem;
  z-index:3;
}

@media (max-width:760px), (max-height:520px) {
  .rc-lab.rc-prime-spring .rc-prime-spring__help-popover {
    width:calc(100vw - 1rem);
    max-height:86vh;
    max-height:86dvh;
  }

  .rc-lab.rc-prime-spring .rc-prime-spring__help-head {
    padding:.6rem .65rem .6rem .9rem;
  }

  .rc-lab.rc-prime-spring .rc-prime-spring__help-body {
    padding:.25rem .9rem 1rem;
  }
}

@media (forced-colors:active) {
  .rc-lab.rc-prime-spring .rc-prime-spring__help-button,
  .rc-lab.rc-prime-spring .rc-prime-spring__help-close,
  .rc-lab.rc-prime-spring .rc-prime-spring__help-popover {
    border-color:CanvasText;
    background:Canvas;
    color:CanvasText;
    box-shadow:none;
  }

  .rc-lab.rc-prime-spring .rc-prime-spring__help-head {
    border-color:CanvasText;
    background:Canvas;
  }

  .rc-lab.rc-prime-spring .rc-prime-spring__help-button:focus-visible,
  .rc-lab.rc-prime-spring .rc-prime-spring__help-close:focus-visible {
    outline-color:Highlight;
  }

  .rc-lab.rc-prime-spring .rc-prime-spring__help-popover::backdrop {
    background:Canvas;
  }
}
