/* Desktop sidebar: CPU identity, native search, then a focused draggable
   window onto the shared homepage circuit. */
#quarto-sidebar.sidebar-circuit-navigation {
  flex-direction:column;
  height: 100vh;
  overflow: hidden !important;
  overscroll-behavior: contain;
  background: #d7d2c3;
  border-right: 6px solid #aaa493;
  box-shadow: inset -4px 0 7px rgba(54,49,38,.28);
}
.sidebar-circuit-navigation .sidebar-header {
  display: block !important;
  padding: 14px 12px 12px !important;
  overflow: visible;
}
.sidebar-circuit-navigation #toc-compass-trigger { display:none !important; }
.sidebar-circuit-cpu {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 116px;
  color: #fff9dc !important;
  text-decoration: none !important;
  border: 2px solid #343a37;
  border-radius: 9px;
  background: linear-gradient(145deg,#29312e,#111714 62%,#303a35);
  box-shadow: inset 0 1px rgba(255,255,255,.18),0 4px 8px rgba(42,35,24,.34);
}
.sidebar-circuit-cpu::before,
.sidebar-circuit-cpu::after {
  position:absolute;
  z-index:-1;
  left:16px;
  right:16px;
  height:10px;
  content:"";
  background:repeating-linear-gradient(90deg,transparent 0 8px,#c9a227 8px 14px,transparent 14px 20px);
}
.sidebar-circuit-cpu::before { top:-12px; }
.sidebar-circuit-cpu::after { bottom:-12px; }
.sidebar-circuit-cpu__face {
  position:absolute;
  inset:10px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  grid-template-rows:1fr auto;
  align-items:center;
  gap:2px 10px;
  padding:8px 10px;
  border:2px solid #969994;
  border-radius:7px;
  background:linear-gradient(145deg,#d5d6d1,#858b89 48%,#c7c9c4);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.28),inset 0 -3px 5px rgba(38,42,41,.28);
  color:#303635;
  text-shadow:0 1px rgba(255,255,255,.48);
}
.sidebar-circuit-cpu__icon {
  grid-row:1 / 3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border:2px solid #686d69;
  border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#f1f1e8 0 12%,#afb3ad 42%,#626964 100%);
  font-size:21px;
}
.sidebar-circuit-cpu__title { font:700 12px/1.16 "Courier New",monospace; }
.sidebar-circuit-cpu__mark { font:700 7px/1 monospace;letter-spacing:.12em; }
.sidebar-circuit-cpu:hover .sidebar-circuit-cpu__icon,
.sidebar-circuit-cpu:focus-visible .sidebar-circuit-cpu__icon {
  color:#123b20;
  border-color:#52c878;
  background:radial-gradient(circle at 35% 30%,#efffe5 0 10%,#a6f58c 24%,#39b957 58%,#12632f 100%);
  box-shadow:0 0 8px #81f58b,0 0 16px rgba(54,220,93,.7);
}
.sidebar-circuit-navigation .sidebar-search { padding-inline:12px; }
.sidebar-circuit-search { flex:0 0 auto; }
.sidebar-circuit-hint {
  position:relative;
  margin:8px 12px 2px;
  padding:9px 10px 10px;
  overflow:hidden;
  color:#8fffb0;
  border:1px solid #27814b;
  border-radius:4px;
  background:linear-gradient(180deg,#061c1a 0%,#061510 57%,#020706 100%);
  box-shadow:inset 0 0 0 1px rgba(101,255,153,.12),0 0 10px rgba(32,208,102,.22);
}
.sidebar-circuit-hint::after {
  position:absolute;
  inset:0;
  pointer-events:none;
  content:"";
  background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(125,255,173,.06) 3px 4px);
  mix-blend-mode:screen;
}
.sidebar-circuit-hint__quote {
  margin:0;
  color:rgba(229,255,205,.92);
  font:700 clamp(15px,6vw,17px)/1.14 "Courier New",monospace;
  letter-spacing:.025em;
  text-wrap:balance;
  text-shadow:0 0 3px #d9ff93,0 0 8px rgba(76,255,186,.8),0 0 14px rgba(33,224,214,.5);
}
.sidebar-circuit-hint__teleprompter {
  position:relative;
  z-index:2;
  height:170px;
  overflow:hidden;
  mask-image:linear-gradient(to bottom,transparent 0,black 9px,black calc(100% - 5px),transparent 100%);
}
.sidebar-circuit-hint__quote-track {
  display:grid;
  gap:34px;
  padding-top:182px;
  animation:sidebar-flynn-teleprompter 30s linear infinite;
  will-change:transform;
}
@keyframes sidebar-flynn-teleprompter {
  0%,8% { transform:translateY(0); }
  24%,76% { transform:translateY(-170px); }
  90%,100% { transform:translateY(-370px); }
}
.sidebar-circuit-hint__credit {
  position:relative;
  z-index:2;
  margin:4px 0 0;
  color:#c8ff98;
  font:600 8px/1.1 "Courier New",monospace;
  letter-spacing:.08em;
  text-align:right;
  text-shadow:0 0 3px rgba(154,255,129,.9),0 0 7px rgba(48,238,190,.5);
}
@supports (-webkit-text-stroke: .45px #d9ff93) {
  .sidebar-circuit-hint__quote {
    color:rgba(4,25,20,.78);
    -webkit-text-stroke:.45px #d9ff93;
  }
}
.sidebar-circuit-hint__landscape {
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  left:0;
  height:47px;
  overflow:hidden;
  border-top:1px solid rgba(52,230,167,.22);
}
.sidebar-circuit-hint__grid {
  position:relative;
  display:block;
  width:142%;
  height:72px;
  margin:-8px -21% 0;
  transform:perspective(90px) rotateX(57deg);
  transform-origin:top center;
  background-image:
    linear-gradient(90deg,rgba(38,238,220,.52) 1px,transparent 1px),
    linear-gradient(0deg,rgba(74,255,160,.48) 1px,transparent 1px);
  background-size:11px 11px;
  box-shadow:0 -2px 13px rgba(48,242,191,.45),inset 0 8px 16px rgba(7,23,20,.65);
}
.sidebar-circuit-hint__mountains {
  position:absolute;
  z-index:2;
  right:10px;
  bottom:14px;
  width:68px;
  height:32px;
  opacity:.92;
  background:
    linear-gradient(135deg,transparent 0 43%,#2ce7d8 44% 46%,transparent 47%) 0 9px / 39px 24px no-repeat,
    linear-gradient(45deg,transparent 0 44%,#95ff9e 45% 47%,transparent 48%) 17px 0 / 50px 32px no-repeat,
    linear-gradient(135deg,transparent 0 42%,rgba(119,255,198,.8) 43% 45%,transparent 46%) 28px 8px / 41px 24px no-repeat;
  filter:drop-shadow(0 0 4px #38f1d5);
}
.sidebar-circuit-hint__road {
  position:absolute;
  z-index:3;
  bottom:-9px;
  left:22px;
  width:23px;
  height:57px;
  transform:perspective(90px) rotateX(57deg) skewX(-11deg);
  transform-origin:bottom center;
  border-right:2px solid #eaff82;
  border-left:2px solid #eaff82;
  background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(234,255,130,.92) 8px 10px,transparent 10px 15px);
  box-shadow:0 0 5px #eaff82,0 0 12px rgba(255,220,73,.66);
}
.navigation-score {
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:14px minmax(0,1fr);
  gap:2px 7px;
  width:100%;
  margin:8px 0 0;
  padding:6px 8px;
  color:#d9ff93;
  text-align:left;
  cursor:pointer;
  border:1px solid #3ecc86;
  border-radius:3px;
  background:rgba(3,25,18,.88);
  box-shadow:inset 0 0 0 1px rgba(126,255,177,.13),0 0 8px rgba(42,242,151,.26);
  font:700 8px/1.05 "Courier New",monospace;
  letter-spacing:.1em;
}
.navigation-score:hover,.navigation-score:focus-visible {
  color:#ecffd1;
  border-color:#b1ff7c;
  outline:0;
  box-shadow:inset 0 0 0 1px rgba(215,255,140,.38),0 0 5px #a4ff76,0 0 15px rgba(62,238,177,.7);
}
.navigation-score__lamp {
  grid-row:1 / 3;
  width:11px;
  height:11px;
  margin-top:1px;
  border:1px solid #bfd4ac;
  border-radius:50%;
  background:radial-gradient(circle at 35% 28%,#f7fbdd 0 12%,#8b9783 36%,#29362c 76%);
  box-shadow:inset 0 0 2px rgba(0,0,0,.7);
}
.navigation-score.is-active .navigation-score__lamp {
  border-color:#c9ff92;
  background:radial-gradient(circle at 35% 28%,#fffbd4 0 11%,#c6ff68 24%,#46d957 57%,#0c6a2d 100%);
  box-shadow:0 0 5px #8dff68,0 0 12px rgba(48,242,113,.9),inset 0 0 2px rgba(252,255,197,.9);
}
.navigation-score__label { grid-column:2;font-size:8px; }
.navigation-score__status { grid-column:2;color:#83d8af;font-size:6px;letter-spacing:.06em; }
.navigation-score--compact {
  flex:0 0 auto;
  width:calc(100% - 24px);
  margin:8px 12px 0;
  color:#e7ffe2;
  background:#15221c;
}
.sidebar-circuit-hint > .navigation-score--hint {
  align-self:stretch;
  margin:12px 0 0;
}
.navigation-score--unavailable { display:block;color:#8c988a;cursor:default; }
@media (prefers-reduced-motion:reduce) {
  .sidebar-circuit-hint * { animation:none !important; }
  .sidebar-circuit-hint__teleprompter { mask-image:none; }
  .sidebar-circuit-hint__quote-track { padding-top:3px;transform:none !important; }
}
.sidebar-circuit-window {
  position:relative;
  flex:1 1 auto;
  min-height:0;
  margin-top:10px;
  overflow:hidden;
  border-top:6px solid #aaa493;
  background-color:#d7d2c3;
  background-image:radial-gradient(circle,#74746e 0 2px,#d2d0c5 2.2px 3.3px,transparent 3.5px);
  background-size:10px 10px;
  box-shadow:inset 0 4px 8px rgba(54,49,38,.24);
}
.sidebar-circuit-frame { display:block;width:100%;height:100%;border:0;background:#d7d2c3; }

/* Switchable reader navigation. The schematic is deliberately quieter than
   the physical breadboard: straight traces, square corners, and a dot grid. */
.sidebar-circuit-navigator {
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
  margin-top:8px;
  border-top:6px solid #aaa493;
}
.sidebar-circuit-modes {
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  flex:0 0 auto;
  gap:3px;
  padding:7px 8px;
  background:#bdb8a9;
  box-shadow:0 2px 5px rgba(43,39,31,.22);
}
.sidebar-circuit-modes__button {
  padding:6px 3px;
  color:#26342d;
  border:1px solid #77766e;
  border-radius:3px;
  background:#dcd8cb;
  font:700 8px/1 "Courier New",monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.sidebar-circuit-modes__button[aria-selected="true"] {
  color:#dfffd8;
  border-color:#2b8d53;
  background:#102b20;
  box-shadow:inset 0 0 0 1px rgba(142,255,169,.18),0 0 7px rgba(46,210,112,.38);
}
.sidebar-circuit-modes__button:focus-visible { outline:2px solid #1c7e45;outline-offset:2px; }
.sidebar-circuit-panel { flex:1 1 auto;min-height:0; }
.sidebar-circuit-panel[hidden] { display:none !important; }
.sidebar-circuit-panel--contents { overflow:auto;overscroll-behavior:contain;background:#ece9df; }
.sidebar-circuit-panel--contents .sidebar-menu-container { display:block !important;padding:8px 10px; }
.sidebar-circuit-panel--board.sidebar-circuit-window { height:100%;margin-top:0;border-top:0; }
.sidebar-circuit-panel--error { padding:18px;color:#64251f;background:#f4e7dc;font:700 11px/1.4 Georgia,serif; }

.sidebar-circuit-panel--schematic {
  --schematic-grid-pitch:12px;
  --schematic-grid-dot:rgba(151,126,89,.42);
  --schematic-background:#edf0e8;
  --schematic-survey:#1d7a3b;
  --schematic-survey-width:4px;
  --schematic-detour:#2168a5;
  --schematic-detour-width:1.5px;
  --schematic-ground:#bd9400;
  --schematic-exception:#b6322d;
  overflow:auto;
  overscroll-behavior:contain;
  color:#183126;
  background-color:var(--schematic-background);
  box-shadow:inset 0 3px 7px rgba(37,49,42,.2);
}
.sidebar-schematic-drawing {
  position:relative;
  width:500px;
  min-width:0;
  background-color:var(--schematic-background);
  background-image:radial-gradient(circle,var(--schematic-grid-dot) 0 .65px,transparent .9px);
  background-position:0 0;
  background-size:var(--schematic-grid-pitch) var(--schematic-grid-pitch);
  zoom:.72;
  cursor:grab;
  touch-action:none;
}
.sidebar-schematic-drawing > svg { position:absolute;inset:0;width:500px;overflow:visible; }
.sidebar-schematic-wire { fill:none;stroke-linecap:square;stroke-linejoin:miter; }
.sidebar-schematic-wire--survey { stroke:var(--schematic-survey);stroke-width:var(--schematic-survey-width); }
.sidebar-schematic-wire--detour { stroke:var(--schematic-detour);stroke-width:var(--schematic-detour-width); }
.sidebar-schematic-junction { fill:var(--schematic-detour);stroke:var(--schematic-background);stroke-width:1px; }
.sidebar-schematic-resistor path { fill:none;stroke:var(--schematic-detour);stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter; }
.sidebar-schematic-diode path { stroke-linecap:square;stroke-linejoin:miter; }
.sidebar-schematic-diode path:first-of-type { fill:var(--schematic-background,#edf0e8);stroke-width:1.5; }
.sidebar-schematic-diode path:last-of-type { fill:none;stroke-width:1.5; }
.sidebar-schematic-diode--survey path { stroke:var(--schematic-survey); }
.sidebar-schematic-diode--detour path { stroke:var(--schematic-detour); }
.sidebar-schematic-ground path { fill:none;stroke:var(--schematic-detour);stroke-width:1.5;stroke-linecap:square; }
.sidebar-schematic-node {
  position:absolute;
  z-index:2;
  left:var(--x);
  top:var(--y);
  display:block;
  width:155px;
  height:44px;
  color:#183126 !important;
  text-decoration:none !important;
  font:700 15pt/1.1 "Courier New",monospace;
}
.sidebar-schematic-unit {
  position:absolute;
  z-index:3;
  left:var(--x);
  top:var(--y);
  width:155px;
  height:80px;
}
.sidebar-schematic-unit .sidebar-schematic-node { left:0;top:0; }
.sidebar-schematic-node--toggle {
  padding:0;
  text-align:left;
  cursor:pointer;
  border:0;
  background:transparent;
}
.sidebar-schematic-transistor {
  position:absolute;
  box-sizing:border-box;
  top:66px;
  left:42px;
  display:block;
  width:36px;
  height:36px;
  color:#111 !important;
  text-decoration:none !important;
  border:2px solid currentColor;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  transition:opacity .14s ease,transform .14s ease,filter .14s ease,box-shadow .14s ease;
}
.sidebar-schematic-unit:not(.is-open) .sidebar-schematic-transistor {
  pointer-events:none;
  opacity:0;
  transform:scale(.72);
}
.sidebar-schematic-transistor span,
.sidebar-schematic-transistor i {
  position:absolute;
  display:block;
  box-sizing:border-box;
}
.sidebar-schematic-transistor__radial { top:5px;left:5px;width:18px;height:2px;background:#111;transform:rotate(45deg);transform-origin:left center; }
.sidebar-schematic-transistor__base { top:16px;left:4px;width:28px;height:3px;background:currentColor;transform:rotate(-45deg);transform-origin:center; }
.sidebar-schematic-transistor__collector { top:16px;left:18px;width:18px;height:2px;background:currentColor; }
.sidebar-schematic-transistor__emitter { top:18px;left:17px;width:2px;height:18px;background:currentColor; }
/* The only arrow sits on the bottom vertical terminal and points down. */
.sidebar-schematic-transistor__emitter i { top:9px;left:-5px;width:0;height:0;border-top:8px solid currentColor;border-right:6px solid transparent;border-left:6px solid transparent; }
.sidebar-schematic-transistor:hover,.sidebar-schematic-transistor:focus-visible {
  color:#087329 !important;
  outline:0;
  background:transparent;
  box-shadow:0 0 7px rgba(119,247,135,.75);
  filter:brightness(1.16);
}
.sidebar-schematic-branch { position:absolute;inset:0; }
.sidebar-schematic-node__icon {
  display:grid;
  box-sizing:border-box;
  width:40px;
  height:40px;
  place-items:center;
  color:#effff1;
  border:2px solid var(--schematic-detour);
  border-radius:50%;
  background:#14241d;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 2px 4px rgba(32,40,35,.25);
  font-size:16.8pt;
}
/* The three method nodes are disclosure controls. Leave them hollow until
   their selected branch is open, then energize the matching icon. */
.sidebar-schematic-node--deduct .sidebar-schematic-node__icon,
.sidebar-schematic-node--communications .sidebar-schematic-node__icon,
.sidebar-schematic-node--abduct .sidebar-schematic-node__icon {
  color:var(--schematic-detour);
  border-color:var(--schematic-detour);
  background:transparent;
  box-shadow:inset 0 0 0 1px rgba(33,104,165,.16),0 2px 4px rgba(32,40,35,.18);
}
.sidebar-schematic-unit.is-open .sidebar-schematic-node--deduct .sidebar-schematic-node__icon,
.sidebar-schematic-unit.is-open .sidebar-schematic-node--communications .sidebar-schematic-node__icon,
.sidebar-schematic-unit.is-open .sidebar-schematic-node--abduct .sidebar-schematic-node__icon {
  color:#effff1;
  border-color:#72e895;
  background:#14241d;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 7px rgba(47,220,115,.55);
}
.sidebar-schematic-node__label {
  position:absolute;
  top:50%;
  left:50px;
  display:inline-block;
  width:max-content;
  padding:2px 4px;
  transform:translateY(-50%);
  color:#183126;
  font:700 12pt/1.1 "Courier New",monospace;
  white-space:nowrap;
  background:var(--schematic-background);
  text-shadow:0 1px 0 rgba(255,255,255,.82),1px 0 0 rgba(237,240,232,.86),-1px 0 0 rgba(237,240,232,.86);
}
.sidebar-schematic-node--survey .sidebar-schematic-node__icon { border-color:var(--schematic-survey); }
.sidebar-schematic-node--survey { height:48px; }
.sidebar-schematic-node--survey .sidebar-schematic-node__icon { width:48px;height:48px;font-size:19.2pt; }
.sidebar-schematic-node--survey .sidebar-schematic-node__label { left:58px; }
.sidebar-schematic-node--detail { height:24px; }
.sidebar-schematic-node--detail .sidebar-schematic-node__icon { width:24px;height:24px;border-color:var(--schematic-detour);font-size:13pt; }
.sidebar-schematic-node--detail .sidebar-schematic-node__label { left:34px; }
.sidebar-schematic-subgraph {
  position:absolute;
  z-index:2;
  left:var(--x);
  top:var(--y);
  width:48px;
  height:120px;
}
.sidebar-schematic-subgraph__outline {
  position:absolute;
  inset:0;
  box-sizing:border-box;
  border:1.5px solid var(--schematic-detour);
  pointer-events:none;
}
.sidebar-schematic-subgraph__label {
  position:absolute;
  top:0;
  left:calc(100% + 12px);
  right:auto;
  width:max-content;
  text-align:left;
  white-space:nowrap;
  transform:rotate(90deg);
  transform-origin:left top;
  color:#0d3020 !important;
  text-decoration:none !important;
  padding:2px 4px;
  font:700 15pt/1.1 "Courier New",monospace;
  background:var(--schematic-background);
  text-shadow:0 1px 0 rgba(255,255,255,.86),1px 0 0 rgba(237,240,232,.88),-1px 0 0 rgba(237,240,232,.88);
}
.sidebar-schematic-subgraph__member {
  position:absolute;
  top:var(--member-y);
  left:12px;
  width:24px;
  height:24px;
  color:#183126 !important;
  text-decoration:none !important;
}
.sidebar-schematic-subgraph__icon {
  display:grid;
  box-sizing:border-box;
  width:24px;
  height:24px;
  place-items:center;
  color:#effff1;
  border:2px solid var(--schematic-detour);
  border-radius:50%;
  background:#14241d;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 1px 3px rgba(32,40,35,.25);
  font-size:13pt;
}
.sidebar-schematic-subgraph__member-label {
  position:absolute;
  top:50%;
  left:auto;
  right:calc(100% + 12px);
  display:inline-block;
  width:max-content;
  text-align:right;
  white-space:nowrap;
  transform:translateY(-50%);
  color:#183126;
  padding:2px 4px;
  font:700 15pt/1.1 "Courier New",monospace;
  background:var(--schematic-background);
  text-shadow:0 1px 0 rgba(255,255,255,.82),1px 0 0 rgba(237,240,232,.86),-1px 0 0 rgba(237,240,232,.86);
}
.sidebar-schematic-subgraph__label:hover,.sidebar-schematic-subgraph__label:focus-visible,.sidebar-schematic-subgraph__member:hover,.sidebar-schematic-subgraph__member:focus-visible { outline:0; }
.sidebar-schematic-subgraph__label:hover,.sidebar-schematic-subgraph__label:focus-visible { color:#081b10 !important; }
.sidebar-schematic-subgraph__member:hover .sidebar-schematic-subgraph__icon,.sidebar-schematic-subgraph__member:focus-visible .sidebar-schematic-subgraph__icon { border-color:#72e895;box-shadow:0 0 7px rgba(47,220,115,.7); }
.sidebar-schematic-subgraph__member:hover .sidebar-schematic-subgraph__member-label,.sidebar-schematic-subgraph__member:focus-visible .sidebar-schematic-subgraph__member-label { color:#081b10; }
.sidebar-schematic-subgraph__member.is-current .sidebar-schematic-subgraph__icon { color:#172b1f;background:#aaf29b;border-color:#6fec80;box-shadow:0 0 5px #65ef7d,0 0 12px rgba(40,215,83,.62); }
.sidebar-schematic-subgraph__member.is-current .sidebar-schematic-subgraph__member-label { color:#081b10; }
.sidebar-schematic-node:hover,.sidebar-schematic-node:focus-visible { outline:0; }
.sidebar-schematic-node:hover .sidebar-schematic-node__icon,.sidebar-schematic-node:focus-visible .sidebar-schematic-node__icon { border-color:#72e895;box-shadow:0 0 7px rgba(47,220,115,.7); }
.sidebar-schematic-node:hover .sidebar-schematic-node__label,.sidebar-schematic-node:focus-visible .sidebar-schematic-node__label { color:#081b10; }
.sidebar-schematic-node.is-current {
  color:#172b1f !important;
}
.sidebar-schematic-node.is-current .sidebar-schematic-node__icon { color:#172b1f;background:#aaf29b;border-color:#6fec80;box-shadow:0 0 5px #65ef7d,0 0 12px rgba(40,215,83,.62); }
.sidebar-schematic-node.is-current .sidebar-schematic-node__label { color:#081b10; }
.sidebar-circuit-panel--schematic.is-dragging,
.sidebar-circuit-panel--schematic.is-dragging .sidebar-schematic-drawing { cursor:grabbing; }
.sidebar-circuit-panel--schematic.is-fit { overflow:hidden; }
.sidebar-circuit-panel--schematic.is-fit .sidebar-schematic-drawing {
  zoom:var(--schematic-fit-scale,1);
  cursor:default;
}

/* The map is compact until readers engage it. On hover or keyboard focus it
   overlays part of the reading column, making the whole circuit legible. */
@media (min-width:992px) {
  body.has-sidebar-circuit-window {
    --sidebar-circuit-width:clamp(260px,22vw,320px);
  }
  #quarto-sidebar.sidebar-circuit-navigation:not(.sidebar-circuit-navigation--home) {
    position:fixed;
    top:0;
    bottom:0;
    left:0;
    width:var(--sidebar-circuit-width) !important;
    z-index:20;
    transition:width .18s ease,box-shadow .18s ease;
  }
  /* Fixed navigation is removed from Quarto's page grid. Reserve its normal
     width explicitly so the article is reflowed beside it instead of being
     painted underneath it. Keep the expanded schematic as an intentional
     reading-column overlay. */
  body.has-sidebar-circuit-window #quarto-content {
    width:calc(100% - var(--sidebar-circuit-width));
    max-width:none;
    margin-left:var(--sidebar-circuit-width);
    /* Keep prose, equations, and callouts stable on ultrawide displays. */
    grid-template-columns:
      [screen-start] 0 [body-start] minmax(1.5rem,1fr) [body-content-start]
      minmax(0,60rem) [body-content-end] minmax(1.5rem,1fr) [body-end] 0 [screen-end];
  }
  body.sidebar-schematic-expanded #quarto-sidebar.sidebar-circuit-navigation:not(.sidebar-circuit-navigation--home) {
    width:min(560px,calc(100vw - 48px)) !important;
    box-shadow:inset -4px 0 7px rgba(54,49,38,.28),10px 0 24px rgba(18,28,22,.3);
  }
  body.sidebar-schematic-expanded .sidebar-circuit-panel--schematic {
    min-width:500px;
  }
  body.sidebar-schematic-expanded .sidebar-schematic-drawing {
    zoom:1.15;
  }
}

/* The expanded view has room on the incoming side of each symbol. Keep this
   outside the desktop media query so the same expanded layout works in a
   narrow viewport or an embedded preview. */
body.sidebar-schematic-expanded .sidebar-schematic-node__label {
  left:auto;
  right:100%;
  width:max-content;
  text-align:right;
}
body.sidebar-schematic-expanded .sidebar-schematic-subgraph__label {
  left:calc(100% + 12px);
  right:auto;
  width:max-content;
  text-align:left;
}
body.sidebar-schematic-expanded .sidebar-schematic-subgraph__member-label {
  left:auto;
  right:calc(100% + 12px);
  width:max-content;
  text-align:right;
}

/* The homepage is the circuit itself.  Keep the CPU and search, but do not
   repeat the three branch names as a conventional navigation list. */
.sidebar-circuit-navigation--home .sidebar-menu-container { display:none !important; }

/* The embedded document becomes only the map viewport. Quarto's own chrome is
   retained in ordinary pages but removed inside this same-origin window. */
body.home-circuit-window { overflow:hidden !important;background:#d7d2c3; }
body.home-circuit-window #quarto-header,
body.home-circuit-window #quarto-sidebar,
body.home-circuit-window #quarto-margin-sidebar,
body.home-circuit-window .page-navigation,
body.home-circuit-window footer { display:none !important; }
body.home-circuit-window #quarto-content,
body.home-circuit-window main.content {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  height:100vh !important;
  margin:0 !important;
  padding:0 !important;
}
body.home-circuit-window .home-circuit-viewport {
  width:100%;
  height:100vh;
  min-height:0;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.home-circuit-wire--current { filter:drop-shadow(0 0 4px rgba(58,255,104,.92)); }
.home-circuit-unit.is-current-path .home-circuit-unit__icon,
.home-circuit-branch.is-current-path .home-circuit-branch__icon,
.home-circuit-cpu.is-current-path .home-circuit-cpu__icon,
.home-circuit-folder.is-current-path .home-circuit-folder__icon,
.home-circuit-page.is-current-path .home-circuit-page__icon {
  color:#123b20;
  border-color:#57c96e;
  background:radial-gradient(circle at 35% 30%,#eaffdf 0 9%,#8dff91 23%,#32c858 57%,#087329 100%);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.86),0 0 7px #65ef7d,0 0 15px rgba(40,215,83,.78);
}
.home-circuit-page.is-current,
.home-circuit-folder.is-current,
.home-circuit-unit.is-current,
.home-circuit-branch.is-current,
.home-circuit-cpu.is-current { outline:4px solid #45d568;outline-offset:4px; }

@media (max-width: 991.98px) {
  #quarto-sidebar.sidebar-circuit-navigation.show { display:flex; height:100%; }
}
@media (min-width: 992px) {
  #quarto-sidebar.sidebar-circuit-navigation { display:flex !important; }
}
body.has-sidebar-circuit-cpu #toc-compass-mobile-pane { display:none !important; }
body.has-sidebar-circuit-cpu.toc-compass-mobile-active { padding-top:0 !important; }
body.has-sidebar-circuit-cpu.toc-compass-mobile-active #quarto-header { top:0 !important; }
@media (forced-colors:active) {
  .sidebar-circuit-cpu { color:LinkText !important;background:Canvas;border-color:CanvasText;box-shadow:none; }
  .sidebar-circuit-cpu__face,.sidebar-circuit-cpu__icon { color:LinkText;background:Canvas;border-color:CanvasText;box-shadow:none; }
  .sidebar-circuit-hint { color:CanvasText;background:Canvas;border-color:CanvasText;box-shadow:none; }
  .navigation-score { color:ButtonText;background:ButtonFace;border-color:ButtonText;box-shadow:none; }
  .navigation-score__lamp { background:Canvas;border-color:ButtonText;box-shadow:none; }
  .sidebar-circuit-hint__quote,.sidebar-circuit-hint__credit { color:CanvasText;text-shadow:none; }
  .sidebar-circuit-hint__grid,.sidebar-circuit-hint__mountains,.sidebar-circuit-hint__road { display:none; }
}
