/* GENERATED by scripts/build-tokens.ts from src/design-system/tokens.ts. Do not edit by hand. */
:root {
  color-scheme: dark;
  --bu-color-bg: #08090B;
  --bu-color-surface: #111317;
  --bu-color-surface-raised: #171A1F;
  --bu-color-surface-sunken: #0C0D10;
  --bu-color-surface-overlay: rgba(17, 19, 23, 0.92);
  --bu-color-border: #252A32;
  --bu-color-border-strong: #363C47;
  --bu-color-border-subtle: #1A1D23;
  --bu-color-hairline: rgba(245, 245, 247, 0.06);
  --bu-color-text: #F5F5F7;
  --bu-color-text-secondary: #8B9099;
  --bu-color-text-tertiary: #5D626B;
  --bu-color-text-on-orange: #0A0B0D;
  --bu-color-orange: #F7931A;
  --bu-color-orange-bright: #FFA733;
  --bu-color-orange-deep: #C4710F;
  --bu-color-orange-dim: #7A4A12;
  --bu-color-orange-glow: rgba(247, 147, 26, 0.18);
  --bu-color-orange-wash: rgba(247, 147, 26, 0.08);
  --bu-color-valid: #5FBF8F;
  --bu-color-invalid: #E5644E;
  --bu-color-caution: #E3B341;
  --bu-color-info: #7FA8D1;
  --bu-color-simulated: #9D8CD9;
  --bu-color-focus: #F7931A;
  --bu-iso-steel-top: #2A2F37;
  --bu-iso-steel-left: #1E2229;
  --bu-iso-steel-right: #15181D;
  --bu-iso-steel-edge: #3A414C;
  --bu-iso-graphite-top: #1C1F25;
  --bu-iso-graphite-left: #15171C;
  --bu-iso-graphite-right: #0F1114;
  --bu-iso-graphite-edge: #2B3039;
  --bu-iso-brass-top: #7A4A12;
  --bu-iso-brass-left: #5E3A10;
  --bu-iso-brass-right: #432A0C;
  --bu-iso-brass-edge: #C4710F;
  --bu-iso-signal-top: #F7931A;
  --bu-iso-signal-left: #D97E12;
  --bu-iso-signal-right: #B0660E;
  --bu-iso-signal-edge: #FFB54D;
  --bu-iso-glass-top: rgba(245,245,247,0.06);
  --bu-iso-glass-left: rgba(245,245,247,0.04);
  --bu-iso-glass-right: rgba(245,245,247,0.02);
  --bu-iso-glass-edge: rgba(245,245,247,0.18);
  --bu-font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", system-ui, sans-serif;
  --bu-font-display: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", system-ui, sans-serif;
  --bu-font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, monospace;
  --bu-text-xs: 0.75rem;
  --bu-text-sm: 0.875rem;
  --bu-text-base: 1rem;
  --bu-text-md: 1.125rem;
  --bu-text-lg: 1.375rem;
  --bu-text-xl: 1.75rem;
  --bu-text-2xl: 2.25rem;
  --bu-text-3xl: 3rem;
  --bu-text-display: clamp(2.5rem, 6vw, 4.5rem);
  --bu-weight-regular: 400;
  --bu-weight-medium: 500;
  --bu-weight-semibold: 600;
  --bu-weight-bold: 700;
  --bu-leading-tight: 1.15;
  --bu-leading-snug: 1.3;
  --bu-leading-normal: 1.5;
  --bu-leading-relaxed: 1.65;
  --bu-tracking-tight: -0.02em;
  --bu-tracking-normal: 0;
  --bu-tracking-wide: 0.06em;
  --bu-tracking-instrument: 0.14em;
  --bu-space-0: 0;
  --bu-space-1: 0.25rem;
  --bu-space-2: 0.5rem;
  --bu-space-3: 0.75rem;
  --bu-space-4: 1rem;
  --bu-space-5: 1.25rem;
  --bu-space-6: 1.5rem;
  --bu-space-8: 2rem;
  --bu-space-10: 2.5rem;
  --bu-space-12: 3rem;
  --bu-space-16: 4rem;
  --bu-space-24: 6rem;
  --bu-radius-none: 0;
  --bu-radius-xs: 2px;
  --bu-radius-sm: 4px;
  --bu-radius-md: 8px;
  --bu-radius-lg: 12px;
  --bu-radius-xl: 16px;
  --bu-radius-pill: 999px;
  --bu-stroke-hairline: 0.5;
  --bu-stroke-fine: 0.75;
  --bu-stroke-regular: 1;
  --bu-stroke-bold: 1.5;
  --bu-stroke-signal: 2;
  --bu-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --bu-ease-settle: cubic-bezier(0.16, 1, 0.3, 1);
  --bu-ease-enter: cubic-bezier(0, 0, 0.2, 1);
  --bu-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --bu-ease-linear: linear;
  --bu-target-min: 44px;
  --bu-target-drag-handle: 48px;
  --bu-focus-width: 2px;
  --bu-focus-offset: 2px;
  --bu-focus-color: #F7931A;
  --bu-layer-base: 0;
  --bu-layer-figure: 10;
  --bu-layer-overlay: 100;
  --bu-layer-tooltip: 200;
  --bu-layer-dialog: 300;
  --bu-layer-toast: 400;
  --bu-duration-instant: 0ms;
  --bu-duration-fast: 120ms;
  --bu-duration-base: 220ms;
  --bu-duration-slow: 420ms;
  --bu-duration-deliberate: 800ms;
  --bu-duration-stage: 1400ms;
}

/* Reduced motion collapses every duration. Figures must also stop their own rAF loops. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --bu-duration-instant: 0ms;
    --bu-duration-fast: 0ms;
    --bu-duration-base: 0ms;
    --bu-duration-slow: 0ms;
    --bu-duration-deliberate: 0ms;
    --bu-duration-stage: 0ms;
  }
}

/* Higher contrast for learners who ask for it (many older adults do). */
@media (prefers-contrast: more) {
  :root {
    --bu-color-text-secondary: #B4B9C2;
    --bu-color-text-tertiary: #8B9099;
    --bu-color-border: #3A414C;
    --bu-color-border-strong: #5A6270;
  }
}
/*
 * Bitcoin Universe shared component styles.
 *
 * Framework-free, class-based, and safe to inline into a standalone figure.
 * Depends only on the custom properties in tokens.css. Every class is
 * prefixed `bu-` so it never collides with an /anatomy figure's own `.iso`
 * classes or a future website framework.
 *
 * Contents
 *   1. Base and focus
 *   2. Figure card (Fig n · title · hint · live readout · caption)
 *   3. Educational mode switch (EASY / EXPLORE / ADVANCED)
 *   4. Controls: button, segmented, slider, number field, stepper
 *   5. Readouts and data labels
 *   6. Simulated-data badge and accuracy tags
 *   7. Mode-conditional content
 *   8. Utilities
 */

/* 1. Base and focus ------------------------------------------------------ */

.bu-root {
  background: var(--bu-color-bg);
  color: var(--bu-color-text);
  font-family: var(--bu-font-sans);
  font-size: var(--bu-text-base);
  line-height: var(--bu-leading-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.bu-root *,
.bu-root *::before,
.bu-root *::after {
  box-sizing: border-box;
}

/* One focus treatment everywhere, including SVG parts with tabindex. */
.bu-root :focus-visible {
  outline: var(--bu-focus-width) solid var(--bu-focus-color);
  outline-offset: var(--bu-focus-offset);
  border-radius: var(--bu-radius-xs);
}

.bu-root svg [tabindex]:focus-visible {
  outline: none;
}

/* SVG parts that take focus draw their own ring via this class. */
.bu-root svg .bu-focusable:focus-visible .bu-focus-ring,
.bu-root svg .bu-focusable.is-focused .bu-focus-ring {
  stroke: var(--bu-color-focus);
  stroke-width: var(--bu-stroke-signal);
  opacity: 1;
}

.bu-root svg .bu-focus-ring {
  fill: none;
  opacity: 0;
  pointer-events: none;
}

.bu-num {
  font-family: var(--bu-font-mono);
  font-variant-numeric: tabular-nums slashed-zero;
  letter-spacing: 0;
}

/* 2. Figure card -------------------------------------------------------- */

.bu-figure {
  position: relative;
  max-width: 1200px;
  margin-inline: auto;
  background: var(--bu-color-surface);
  border: 1px solid var(--bu-color-border);
  border-radius: var(--bu-radius-lg);
  box-shadow:
    inset 0 1px 0 var(--bu-color-hairline),
    0 24px 60px -30px rgba(0, 0, 0, 0.8);
  overflow: hidden;
}

.bu-figure__head,
.bu-figure__foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--bu-space-4);
  padding: var(--bu-space-3) var(--bu-space-5);
}

.bu-figure__head {
  border-bottom: 1px solid var(--bu-color-border-subtle);
}

.bu-figure__foot {
  border-top: 1px solid var(--bu-color-border-subtle);
  font-size: var(--bu-text-sm);
  color: var(--bu-color-text-secondary);
}

.bu-figure__number {
  font-family: var(--bu-font-mono);
  font-size: var(--bu-text-xs);
  letter-spacing: var(--bu-tracking-instrument);
  text-transform: uppercase;
  color: var(--bu-color-text-secondary);
}

.bu-figure__title {
  margin: 0;
  font-family: var(--bu-font-display);
  font-size: var(--bu-text-sm);
  font-weight: var(--bu-weight-medium);
  letter-spacing: var(--bu-tracking-wide);
  text-transform: uppercase;
  color: var(--bu-color-text);
}

.bu-figure__stage {
  position: relative;
  display: block;
  width: 100%;
  touch-action: manipulation;
}

.bu-figure__stage > svg {
  display: block;
  width: 100%;
  height: auto;
}

.bu-figure__hint {
  color: var(--bu-color-text-secondary);
}

.bu-figure__readout {
  color: var(--bu-color-text);
  text-align: right;
}

.bu-caption {
  max-width: 68ch;
  margin: var(--bu-space-4) auto 0;
  padding-inline: var(--bu-space-5);
  font-size: var(--bu-text-sm);
  line-height: var(--bu-leading-relaxed);
  color: var(--bu-color-text-secondary);
}

@media (max-width: 600px) {
  .bu-figure__head,
  .bu-figure__foot {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--bu-space-1);
    padding-inline: var(--bu-space-4);
  }

  .bu-figure__readout {
    text-align: left;
  }
}

/* 3. Educational mode switch ------------------------------------------- */

.bu-modes {
  display: inline-flex;
  padding: 3px;
  gap: 2px;
  background: var(--bu-color-surface-sunken);
  border: 1px solid var(--bu-color-border);
  border-radius: var(--bu-radius-pill);
}

.bu-modes__option {
  min-height: var(--bu-target-min);
  min-width: var(--bu-target-min);
  padding: 0 var(--bu-space-4);
  border: 0;
  border-radius: var(--bu-radius-pill);
  background: transparent;
  color: var(--bu-color-text-secondary);
  font: inherit;
  font-size: var(--bu-text-sm);
  font-weight: var(--bu-weight-medium);
  letter-spacing: var(--bu-tracking-wide);
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background-color var(--bu-duration-base) var(--bu-ease-standard),
    color var(--bu-duration-base) var(--bu-ease-standard);
}

.bu-modes__option:hover {
  color: var(--bu-color-text);
}

.bu-modes__option[aria-checked="true"],
.bu-modes__option[aria-pressed="true"] {
  background: var(--bu-color-surface-raised);
  color: var(--bu-color-orange);
  box-shadow: inset 0 0 0 1px var(--bu-color-border-strong);
}

/* 4. Controls ----------------------------------------------------------- */

.bu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--bu-space-2);
  min-height: var(--bu-target-min);
  padding: 0 var(--bu-space-4);
  border: 1px solid var(--bu-color-border-strong);
  border-radius: var(--bu-radius-md);
  background: var(--bu-color-surface-raised);
  color: var(--bu-color-text);
  font: inherit;
  font-size: var(--bu-text-sm);
  font-weight: var(--bu-weight-medium);
  cursor: pointer;
  transition:
    border-color var(--bu-duration-fast) var(--bu-ease-standard),
    background-color var(--bu-duration-fast) var(--bu-ease-standard);
}

.bu-button:hover {
  border-color: var(--bu-color-text-secondary);
}

.bu-button:disabled,
.bu-button[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
}

/* The one primary action in a figure (e.g. Play, Start mining). */
.bu-button--signal {
  background: var(--bu-color-orange);
  border-color: var(--bu-color-orange);
  color: var(--bu-color-text-on-orange);
}

.bu-button--signal:hover {
  background: var(--bu-color-orange-bright);
  border-color: var(--bu-color-orange-bright);
}

.bu-button--quiet {
  background: transparent;
  border-color: transparent;
  color: var(--bu-color-text-secondary);
}

.bu-field {
  display: grid;
  gap: var(--bu-space-1);
}

.bu-field__label {
  font-size: var(--bu-text-sm);
  color: var(--bu-color-text-secondary);
}

.bu-field__value {
  font-family: var(--bu-font-mono);
  font-variant-numeric: tabular-nums;
  color: var(--bu-color-text);
}

.bu-input {
  min-height: var(--bu-target-min);
  padding: 0 var(--bu-space-3);
  border: 1px solid var(--bu-color-border-strong);
  border-radius: var(--bu-radius-md);
  background: var(--bu-color-surface-sunken);
  color: var(--bu-color-text);
  font-family: var(--bu-font-mono);
  font-size: var(--bu-text-base);
  font-variant-numeric: tabular-nums;
}

.bu-input[aria-invalid="true"] {
  border-color: var(--bu-color-invalid);
}

/* Range slider: a machined rail with an orange travel and a knurled thumb. */
.bu-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: var(--bu-target-min);
  background: transparent;
  cursor: pointer;
}

.bu-slider::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: var(--bu-radius-pill);
  background: linear-gradient(
    to right,
    var(--bu-color-orange) 0 var(--bu-fill, 0%),
    var(--bu-color-border-strong) var(--bu-fill, 0%) 100%
  );
}

.bu-slider::-moz-range-track {
  height: 4px;
  border-radius: var(--bu-radius-pill);
  background: var(--bu-color-border-strong);
}

.bu-slider::-moz-range-progress {
  height: 4px;
  border-radius: var(--bu-radius-pill);
  background: var(--bu-color-orange);
}

.bu-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  margin-top: -9px;
  border-radius: 50%;
  border: 1px solid var(--bu-color-border-strong);
  background:
    repeating-conic-gradient(var(--bu-color-text-tertiary) 0 4deg, transparent 4deg 12deg),
    var(--bu-color-surface-raised);
  box-shadow: 0 0 0 3px var(--bu-color-bg);
}

.bu-slider::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid var(--bu-color-border-strong);
  background: var(--bu-color-surface-raised);
}

/* 5. Readouts ----------------------------------------------------------- */

.bu-readout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--bu-space-1) var(--bu-space-4);
  margin: 0;
  font-size: var(--bu-text-sm);
}

.bu-readout dt {
  color: var(--bu-color-text-secondary);
}

.bu-readout dd {
  margin: 0;
  font-family: var(--bu-font-mono);
  font-variant-numeric: tabular-nums slashed-zero;
  text-align: right;
}

.bu-readout dd.is-live {
  color: var(--bu-color-orange);
}

.bu-label-instrument {
  font-family: var(--bu-font-mono);
  font-size: var(--bu-text-xs);
  letter-spacing: var(--bu-tracking-instrument);
  text-transform: uppercase;
  color: var(--bu-color-text-secondary);
}

/* 6. Simulated-data badge and accuracy tags ----------------------------- */

/*
 * Every figure that shows simulated, accelerated or demonstration data must
 * display a .bu-sim badge in view of that data. See docs/accuracy.md.
 */
.bu-sim {
  display: inline-flex;
  align-items: center;
  gap: var(--bu-space-1);
  padding: 2px var(--bu-space-2);
  border: 1px dashed var(--bu-color-simulated);
  border-radius: var(--bu-radius-sm);
  color: var(--bu-color-simulated);
  font-family: var(--bu-font-mono);
  font-size: var(--bu-text-xs);
  letter-spacing: var(--bu-tracking-wide);
  text-transform: uppercase;
}

/* Rule-domain tags: consensus / policy / miner / wallet / simulated. */
.bu-tag {
  display: inline-block;
  padding: 1px var(--bu-space-2);
  border-radius: var(--bu-radius-sm);
  border: 1px solid currentColor;
  font-family: var(--bu-font-mono);
  font-size: var(--bu-text-xs);
  letter-spacing: var(--bu-tracking-wide);
  text-transform: uppercase;
}

.bu-tag--consensus { color: var(--bu-color-orange); }
.bu-tag--policy { color: var(--bu-color-info); }
.bu-tag--miner { color: var(--bu-color-caution); }
.bu-tag--wallet { color: var(--bu-color-valid); }
.bu-tag--simulated { color: var(--bu-color-simulated); border-style: dashed; }

.bu-state--valid { color: var(--bu-color-valid); }
.bu-state--invalid { color: var(--bu-color-invalid); }

/* 7. Mode-conditional content ------------------------------------------- */

/*
 * Put data-bu-mode="easy|explore|advanced" on the figure root. Content marked
 * data-bu-show="advanced" (space-separated list allowed) appears only in
 * those modes. Hidden content is removed from the accessibility tree too.
 */
[data-bu-mode="easy"] [data-bu-show]:not([data-bu-show~="easy"]),
[data-bu-mode="explore"] [data-bu-show]:not([data-bu-show~="explore"]),
[data-bu-mode="advanced"] [data-bu-show]:not([data-bu-show~="advanced"]) {
  display: none !important;
}

/* EASY mode reads larger and calmer. */
[data-bu-mode="easy"] .bu-caption,
[data-bu-mode="easy"] .bu-explain {
  font-size: var(--bu-text-md);
}

/* 8. Utilities ---------------------------------------------------------- */

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

@media (prefers-reduced-motion: reduce) {
  .bu-root *,
  .bu-root *::before,
  .bu-root *::after {
    animation-duration: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0ms !important;
    scroll-behavior: auto !important;
  }
}

@media (forced-colors: active) {
  .bu-modes__option[aria-checked="true"],
  .bu-modes__option[aria-pressed="true"] {
    outline: 2px solid CanvasText;
  }
}
/* Model viewer chrome (bu-viewer). Uses tokens.css and components.css. */
.bu-viewer{display:grid;gap:12px}
.bu-viewer__bar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between}
.bu-viewer__eyebrow{margin:0;font-family:var(--bu-font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bu-color-text-secondary)}
.bu-viewer__title{margin:2px 0 0;font-size:1.5rem;color:var(--bu-color-text)}
.bu-viewer__tagline{margin:4px 0 0;color:var(--bu-color-text-secondary)}
.bu-viewer__stage{position:relative;min-height:320px;border:1px solid var(--bu-color-border);border-radius:12px;background:var(--bu-color-bg);overflow:hidden}
.bu-viewer__placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:12px;text-align:center;padding:16px;color:var(--bu-color-text-secondary)}
.bu-viewer[data-state=loading] .bu-viewer__placeholder p{animation:bu-viewer-pulse 1.6s ease-in-out infinite}
.bu-viewer[data-state=error] .bu-viewer__placeholder p{color:var(--bu-color-caution)}
.bu-viewer[data-state=ready] .bu-viewer__stage{min-height:0}
.bu-viewer__nav{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
@keyframes bu-viewer-pulse{50%{opacity:.5}}
@media (prefers-reduced-motion:reduce){.bu-viewer[data-state=loading] .bu-viewer__placeholder p{animation:none}}
.bu-viewer__bar[hidden]{display:none}
/* Bitcoin Universe site. Builds on tokens.css and components.css; brand values only through tokens. */
:root{--site-max:1200px;--site-gutter:clamp(16px,4vw,40px);--site-header:64px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--site-header) + 16px);-webkit-text-size-adjust:100%}
body.site{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;margin:0;background:var(--bu-color-bg);color:var(--bu-color-text);font-family:var(--bu-font-sans);font-size:1.0625rem;line-height:1.6;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:var(--bu-focus-width,2px) solid var(--bu-color-focus,var(--bu-color-orange));outline-offset:var(--bu-focus-offset,2px);border-radius:4px}
#main:focus{outline:none}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;background:var(--bu-color-orange);color:var(--bu-color-text-on-orange,#08090B);border-radius:8px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px}
.bu-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- header and navigation */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bu-color-bg) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--bu-color-border)}
.site-header__inner{max-width:var(--site-max);margin:0 auto;padding:0 var(--site-gutter);height:var(--site-header);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--bu-color-text);min-height:44px}
.bu-mark{width:30px;height:30px;color:var(--bu-color-text);flex:none}
.brand__name{font-weight:600;letter-spacing:.01em;white-space:nowrap}
.site-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;white-space:nowrap;border-radius:8px;text-decoration:none;color:var(--bu-color-text-secondary);font-size:.95rem}
.site-nav a:hover{color:var(--bu-color-text);background-color:var(--bu-color-surface)}
.site-nav a[aria-current=page]{color:var(--bu-color-text);background-image:linear-gradient(var(--bu-color-orange),var(--bu-color-orange));background-repeat:no-repeat;background-size:calc(100% - 28px) 2px;background-position:14px calc(100% - 6px)}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--bu-color-border);border-radius:10px;background:var(--bu-color-surface);color:var(--bu-color-text);cursor:pointer;align-items:center;justify-content:center}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:18px;height:1.6px;background:currentColor;border-radius:2px;position:relative;transition:transform var(--bu-duration-fast,150ms) ease}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-6px}.nav-toggle__bars::after{top:6px}
/* The menu folds into the button below 1120 px, where the eight links (with Sitadel) no longer fit on one line. */
@media (max-width:1120px){
  .nav-toggle{display:inline-flex}
  .site-nav{position:fixed;inset:var(--site-header) 0 auto 0;background:var(--bu-color-bg);border-bottom:1px solid var(--bu-color-border);padding:8px var(--site-gutter) 16px;display:none}
  body[data-nav-open] .site-nav{display:block}
  .site-nav ul{flex-direction:column}
  .site-nav a{width:100%;font-size:1.05rem}
  body[data-nav-open] .nav-toggle__bars{background:transparent}
  body[data-nav-open] .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
  body[data-nav-open] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}
}

/* ---------- type and building blocks */
main{display:block;flex:1 0 auto;width:100%;box-sizing:border-box;max-width:var(--site-max);margin:0 auto;padding:0 var(--site-gutter) 96px}
.eyebrow{margin:0 0 10px;font-family:var(--bu-font-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bu-color-orange)}
.page-head{padding:56px 0 24px;max-width:860px}
.page-head--center{margin:0 auto;text-align:center;padding:120px 0}
.page-title{margin:0;font-family:var(--bu-font-display,var(--bu-font-sans));font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.08;letter-spacing:-.02em;font-weight:600;hyphens:auto;overflow-wrap:break-word}
.page-lede{margin:16px 0 0;font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--bu-color-text-secondary);max-width:70ch}
.section-title{margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.01em;font-weight:600}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.text-link{color:var(--bu-color-orange);text-decoration:none;font-weight:500;min-height:44px;display:inline-flex;align-items:center}
.text-link:hover{text-decoration:underline}
.text-btn{background:none;border:0;padding:0 4px;min-height:44px;color:var(--bu-color-orange);font:inherit;cursor:pointer;text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--bu-color-border-strong,var(--bu-color-border));background:var(--bu-color-surface);color:var(--bu-color-text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:border-color var(--bu-duration-fast,150ms) ease,background var(--bu-duration-fast,150ms) ease}
.btn:hover{border-color:var(--bu-color-text-secondary)}
.btn--primary{background:var(--bu-color-orange);border-color:var(--bu-color-orange);color:#08090B}
.btn--primary:hover{background:var(--bu-color-orange-bright,var(--bu-color-orange));border-color:var(--bu-color-orange-bright,var(--bu-color-orange))}
.btn--small{min-height:44px;padding:0 16px;font-size:.92rem}
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--bu-color-border);border-radius:999px;font-family:var(--bu-font-mono);font-size:.74rem;color:var(--bu-color-text-secondary);white-space:nowrap}
.pips{display:inline-flex;gap:2px}.pips i{width:5px;height:5px;border-radius:1px;background:var(--bu-color-border-strong,#3a404a)}.pips i[data-on]{background:var(--bu-color-orange)}
.fine-print{color:var(--bu-color-text-secondary);font-size:.85rem;margin-top:48px}
.empty-note{padding:32px;text-align:center;color:var(--bu-color-text-secondary);border:1px dashed var(--bu-color-border);border-radius:16px}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;list-style:none;margin:0 0 20px;padding:0;font-size:.9rem;color:var(--bu-color-text-secondary)}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{text-decoration:none;color:var(--bu-color-text-secondary);display:inline-flex;min-height:44px;align-items:center}.crumbs a:hover{color:var(--bu-color-text)}
.crumbs li{display:inline-flex;align-items:center;min-height:44px}
.crumbs [aria-current]{color:var(--bu-color-text)}

.lang ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.lang a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;padding:0 8px;border-radius:8px;text-decoration:none;font-family:var(--bu-font-mono);font-size:.8rem;color:var(--bu-color-text-secondary)}
.lang a[aria-current]{color:var(--bu-color-orange)}
.site-header__end{display:flex;align-items:center;gap:8px}

/* ---------- hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:center;min-height:min(780px,calc(100svh - var(--site-header)));padding:48px 0 32px}
.hero__title{margin:0;font-size:clamp(2.6rem,6.4vw,5rem);line-height:1;letter-spacing:-.035em;font-weight:650;text-transform:uppercase}
.hero__title span{display:block}
.hero__title span+span{color:var(--bu-color-orange)}
.hero__lede{margin:24px 0 0;font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--bu-color-text-secondary);max-width:34ch}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero__facts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:28px 0 0;font-family:var(--bu-font-mono);font-size:.78rem;letter-spacing:.06em;color:var(--bu-color-text-secondary)}
.hero__facts span::before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:1px;background:var(--bu-color-orange);vertical-align:1px}
.hero__network{margin:0}
.net{border:1px solid var(--bu-color-border);border-radius:20px;background:radial-gradient(120% 90% at 50% 40%,var(--bu-color-surface) 0%,var(--bu-color-bg) 70%);overflow:hidden}
.net svg{display:block;width:100%;height:auto}
.net__plate{fill:color-mix(in srgb,var(--bu-color-surface) 70%,transparent);stroke:var(--bu-color-border);stroke-width:1}
.net__grid line{stroke:var(--bu-color-border);stroke-width:.6;opacity:.55}
.net__links line{stroke:#4a5260;stroke-width:1;transition:stroke var(--bu-duration-base,250ms) ease}
.net__links line[data-used]{stroke:var(--bu-color-orange-deep,#b8650f);stroke-width:1.4}
.net__pulses circle{fill:var(--bu-color-orange)}
.net__node{cursor:pointer;outline:none}
.net__halo{fill:transparent}
.net__box{fill:#1b1f26;stroke:#6b7280;stroke-width:1.2;transition:fill var(--bu-duration-fast,150ms) ease,stroke var(--bu-duration-fast,150ms) ease}
.net__core{fill:#6b7280}
.net__node:hover .net__box,.net__node:focus-visible .net__box{stroke:var(--bu-color-text)}
.net__node:focus-visible .net__halo{fill:none;stroke:var(--bu-color-orange);stroke-width:1.5}
.net__node[data-checking] .net__box{stroke:var(--bu-color-orange);fill:#2a1d0c}
.net__node[data-lit] .net__box{fill:var(--bu-color-orange);stroke:var(--bu-color-orange)}
.net__node[data-lit] .net__core{fill:#08090B}
.net__node[data-source] .net__halo{fill:color-mix(in srgb,var(--bu-color-orange) 22%,transparent)}
.net__cap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;font-size:.9rem;color:var(--bu-color-text-secondary)}
.net__status{flex:1 1 260px;min-height:2.6em}
.net__cap a{color:var(--bu-color-orange);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:0;padding-top:32px}.hero__lede{max-width:none}}

/* ---------- bands */
.band{padding:72px 0;border-top:1px solid var(--bu-color-border)}
.band--tight{padding:56px 0}
.steps-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;margin:32px 0 0;padding:0}
.steps-3 h3{margin:8px 0;font-size:1.2rem}
.steps-3 p{margin:0;color:var(--bu-color-text-secondary)}
.steps-3__no{font-family:var(--bu-font-mono);font-size:.8rem;color:var(--bu-color-orange);letter-spacing:.12em}
@media (max-width:760px){.steps-3{grid-template-columns:1fr;gap:24px}}
.rooms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin:28px 0 0;padding:0}
.rooms a{display:flex;flex-direction:column;gap:6px;height:100%;padding:20px;border:1px solid var(--bu-color-border);border-radius:16px;background:var(--bu-color-surface);text-decoration:none;transition:border-color var(--bu-duration-fast,150ms) ease,transform var(--bu-duration-fast,150ms) ease}
.rooms a:hover{border-color:var(--bu-color-text-secondary)}
.rooms__count{font-family:var(--bu-font-mono);font-size:.74rem;color:var(--bu-color-orange);letter-spacing:.08em}
.rooms__title{font-weight:600;font-size:1.1rem}
.rooms__sum{font-size:.9rem;color:var(--bu-color-text-secondary)}
@media (max-width:1000px){.rooms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.rooms{grid-template-columns:1fr}}
.path-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.path-row{display:grid;grid-template-columns:1fr auto auto;gap:8px 24px;align-items:center;padding:18px 20px;min-height:64px;border:1px solid var(--bu-color-border);border-radius:14px;text-decoration:none;background:var(--bu-color-surface)}
.path-row:hover{border-color:var(--bu-color-text-secondary)}
.path-row__title{font-weight:600;font-size:1.1rem}
.path-row__aud,.path-row__n{color:var(--bu-color-text-secondary);font-size:.9rem}
.path-row__n{font-family:var(--bu-font-mono)}
@media (max-width:640px){.path-row{grid-template-columns:1fr}}

/* ---------- gallery */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.model-card{border:1px solid var(--bu-color-border);border-radius:18px;background:var(--bu-color-surface);overflow:hidden;transition:border-color var(--bu-duration-fast,150ms) ease,transform var(--bu-duration-base,250ms) var(--bu-ease-standard,ease)}
.model-card:hover{border-color:var(--bu-color-text-secondary);transform:translateY(-2px)}
.model-card[hidden]{display:none}
.model-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.model-card__link:focus-visible{outline-offset:-3px;border-radius:18px}
.model-card__preview{position:relative;aspect-ratio:16/10;overflow:hidden;background:#121418;border-bottom:1px solid var(--bu-color-border)}
.model-card__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.model-card__preview img[data-tall]{object-fit:contain;padding:8px 0}
.model-card__no{position:absolute;z-index:1;top:12px;left:14px;font-family:var(--bu-font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--bu-color-text-secondary)}
.model-card__body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.model-card__collection{margin:0;font-family:var(--bu-font-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bu-color-orange)}
.model-card__title{margin:0;font-size:1.2rem;line-height:1.25;font-weight:600}
.model-card__tagline{margin:0;color:var(--bu-color-text)}
.model-card__objective{margin:0;font-size:.92rem;color:var(--bu-color-text-secondary)}
.model-card__objective::before{content:attr(data-prefix);color:var(--bu-color-text-secondary);font-weight:500}
.model-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 0;padding-top:8px}
.filters{display:grid;gap:10px;margin-top:28px}
.filters__row{display:flex;flex-wrap:wrap;gap:8px}
.chip-btn{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--bu-color-border);background:transparent;color:var(--bu-color-text-secondary);font:inherit;font-size:.92rem;cursor:pointer}
.chip-btn:hover{color:var(--bu-color-text);border-color:var(--bu-color-text-secondary)}
.chip-btn[aria-checked=true]{background:var(--bu-color-surface);border-color:var(--bu-color-orange);color:var(--bu-color-text)}
.filters__count{margin:0;font-family:var(--bu-font-mono);font-size:.8rem;color:var(--bu-color-text-secondary)}
.collection{padding-top:48px}
.collection[hidden]{display:none}
.collection__head{margin-bottom:20px;max-width:70ch}
.collection__head p{margin:6px 0 0;color:var(--bu-color-text-secondary)}

/* ---------- model viewer page */
.viewer-page{padding-top:28px}
.viewer-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}
.viewer-head > div{min-width:0}
.viewer-head__meta{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 0}
.viewer-head__label{margin:0 0 6px;font-size:.8rem;color:var(--bu-color-text-secondary)}
.viewer-head .bu-modes__option{min-height:44px}
.explain{margin:24px 0 20px;padding:20px 24px;border:1px solid var(--bu-color-border);border-left:3px solid var(--bu-color-orange);border-radius:14px;background:var(--bu-color-surface)}
.explain__promise{margin:0;font-size:1.15rem;font-weight:600}
.explain__framing{margin:4px 0 0;color:var(--bu-color-text-secondary)}
.explain h3{margin:14px 0 6px;font-size:.85rem;font-family:var(--bu-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bu-color-text-secondary);font-weight:500}
.ticks{margin:0;padding-left:1.2em}
.viewer-stage{border-radius:18px}
.viewer-stage .bu-viewer__stage{border-radius:18px;padding-top:14px}
.map-stage,.lab-stage,.live-stage{padding-top:14px}
.viewer-stage[data-preview] .bu-viewer__placeholder{background:linear-gradient(color-mix(in srgb,var(--bu-color-bg) 70%,transparent),color-mix(in srgb,var(--bu-color-bg) 88%,transparent)),var(--preview) center 40%/min(92%,960px) auto no-repeat}
.viewer-alt{margin:12px 0 28px;font-size:.88rem;color:var(--bu-color-text-secondary)}
.viewer-alt a{color:var(--bu-color-text-secondary)}
.viewer-after{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:40px}
.panel{padding:22px 24px;border:1px solid var(--bu-color-border);border-radius:16px;background:var(--bu-color-surface)}
.panel__title{margin:0 0 14px;font-size:1.1rem}
.panel__sub{margin:16px 0 8px;font-size:.85rem;color:var(--bu-color-text-secondary)}
.myths{margin:0}
.myths dt{color:var(--bu-color-text-secondary);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--bu-color-caution) 70%,transparent)}
.myths dd{margin:4px 0 14px}
.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tag-list a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--bu-color-border);text-decoration:none;font-size:.92rem}
.tag-list a:hover{border-color:var(--bu-color-orange)}
.tag-list--quiet a{color:var(--bu-color-text-secondary)}
.next-card{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;text-decoration:none;padding:8px;margin:-8px;border-radius:12px}
.next-card:hover{background:var(--bu-color-bg)}
.next-card img{border-radius:8px;border:1px solid var(--bu-color-border);aspect-ratio:16/10;object-fit:contain;background:#121418}
.next-card > span{display:grid;gap:2px}
.next-card__no{font-family:var(--bu-font-mono);font-size:.72rem;color:var(--bu-color-orange);letter-spacing:.08em}
.next-card__title{font-weight:600}
.next-card__tag{font-size:.9rem;color:var(--bu-color-text-secondary)}
.path-next{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--bu-color-border)}
.path-next span{flex:1 1 100%;font-size:.88rem;color:var(--bu-color-text-secondary)}

.orient{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 0}
.orient__item{padding:16px 18px;border:1px solid var(--bu-color-border);border-radius:14px;background:var(--bu-color-surface)}
.orient__item h3{display:flex;gap:10px;align-items:baseline;margin:0 0 8px;font-size:.95rem;font-weight:600}
.orient__item h3 span{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--bu-color-orange);color:var(--bu-color-orange);font-family:var(--bu-font-mono);font-size:.72rem}
.orient__item p,.orient__item ul{margin:0;font-size:.92rem;color:var(--bu-color-text-secondary)}
.orient__item ul{padding-left:1.1em}
@media (max-width:1000px){.orient{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.orient{grid-template-columns:1fr}}
/* Orientation fold: on wide screens the four answers always show (the script keeps it open; browsers with ::details-content show it before the script runs). */
.orient-fold__summary{display:none}
@media (min-width:721px){.orient-fold::details-content{content-visibility:visible;display:contents}}
@media (max-width:720px){
  .orient-fold{border:1px solid var(--bu-color-border);border-radius:14px;background:var(--bu-color-surface)}
  .orient-fold__summary{display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center;min-height:56px;padding:12px 16px;cursor:pointer;list-style:none;border-radius:14px}
  .orient-fold__summary::-webkit-details-marker{display:none}
  .orient-fold__summary::after{content:"";grid-row:1 / span 2;grid-column:2;width:9px;height:9px;border-right:2px solid var(--bu-color-orange);border-bottom:2px solid var(--bu-color-orange);transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--bu-duration-fast,150ms) ease}
  .orient-fold[open] > .orient-fold__summary::after{transform:rotate(225deg) translate(-2px,-2px)}
  .orient-fold__summary:focus-visible{outline:2px solid var(--bu-color-orange);outline-offset:2px}
  .orient-fold__label{font-weight:600}
  .orient-fold__hint{grid-column:1;font-size:.85rem;color:var(--bu-color-text-secondary)}
  .orient-fold[open] .orient{padding:0 12px 12px}
  .orient-fold .orient__item{background:var(--bu-color-bg)}
}
@media (prefers-reduced-motion:reduce){.orient-fold__summary::after{transition:none}}

.map-progress{margin:18px 0 12px;font-size:.92rem;color:var(--bu-color-text-secondary)}
.map-stage{position:relative;min-height:420px;border:1px solid var(--bu-color-border);border-radius:18px;background:var(--bu-color-bg);overflow:hidden}
.map-stage iframe{display:block}

.missions{margin:0 0 20px;padding:20px 24px;border:1px solid var(--bu-color-border);border-radius:16px;background:var(--bu-color-surface)}
.missions__sub{font-weight:400;font-size:.85rem;color:var(--bu-color-text-secondary);margin-left:8px}
.missions__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.mission{padding:14px 16px;border:1px solid var(--bu-color-border);border-radius:12px;background:var(--bu-color-bg)}
.mission[data-ok]{border-color:var(--bu-color-valid,#5FBF8F)}
.mission__head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mission__title{margin:0;font-weight:600}
.mission__done{font-family:var(--bu-font-mono);font-size:.74rem;color:var(--bu-color-valid,#5FBF8F)}
.mission__obj{margin:6px 0 10px;color:var(--bu-color-text-secondary)}
.mission__instr{margin:12px 0 4px}
.mission__allowed{margin:0;font-size:.85rem;color:var(--bu-color-text-secondary)}
.mission__predict{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:10px 0 0;padding:0;border:0;font-size:.95rem}
.mission__predict legend{padding:0;margin-bottom:6px;font-weight:600}
.mission__predict label{display:inline-flex;gap:8px;align-items:center;min-height:44px}
.mission__predict input[type=number]{width:10em;min-height:44px}
.mission__feedback{margin:10px 0 0;font-weight:600;min-height:1.5em}
.mission__predict input[type=radio]{width:20px;height:20px;accent-color:var(--bu-color-orange);flex:none}
.mission[data-ok] .mission__feedback{color:var(--bu-color-valid,#5FBF8F)}
.mission__explain{margin:6px 0 0;color:var(--bu-color-text-secondary)}
.mission__actions{display:flex;gap:12px;align-items:center;margin:10px 0 0}

/* ---------- learning paths */
.paths-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;list-style:none;margin:16px 0 0;padding:0}
.path-card a{display:flex;flex-direction:column;gap:8px;height:100%;padding:16px 20px 20px;border:1px solid var(--bu-color-border);border-radius:18px;background:var(--bu-color-surface);text-decoration:none}
.path-card a:hover{border-color:var(--bu-color-text-secondary)}
.path-card__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}
.path-card__thumbs img{aspect-ratio:16/10;object-fit:contain;background:#121418;border-radius:6px;border:1px solid var(--bu-color-border)}
.path-card__aud{margin:0;font-family:var(--bu-font-mono);font-size:.8rem;letter-spacing:.08em;color:var(--bu-color-orange)}
.path-card__title{margin:0;font-size:1.35rem}
.path-card__sum{margin:0;color:var(--bu-color-text-secondary)}
.path-card__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:auto 0 0;padding-top:8px;font-family:var(--bu-font-mono);font-size:.78rem;color:var(--bu-color-text-secondary)}
.path-card__meta span:last-child:not(:empty){color:var(--bu-color-valid,#4ade80)}
.progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:24px}
.progress__bar{flex:1 1 240px;height:8px;border-radius:999px;background:var(--bu-color-surface);border:1px solid var(--bu-color-border);overflow:hidden}
.progress__bar span{display:block;height:100%;width:0;background:var(--bu-color-orange);transition:width var(--bu-duration-base,250ms) ease}
.progress__text{margin:0;font-family:var(--bu-font-mono);font-size:.82rem;color:var(--bu-color-text-secondary)}
.path-steps{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0}
.path-step{display:grid;grid-template-columns:48px 1fr;gap:16px}
.path-step__marker{position:relative;display:flex;justify-content:center}
.path-step__marker::before{content:"";position:absolute;top:44px;bottom:-8px;width:1px;background:var(--bu-color-border)}
.path-step:last-child .path-step__marker::before{display:none}
.path-step__marker span{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--bu-color-border-strong,var(--bu-color-border));background:var(--bu-color-bg);font-family:var(--bu-font-mono);font-size:.9rem}
.path-step[data-opened] .path-step__marker span{border-color:var(--bu-color-orange)}
.path-step[data-done] .path-step__marker span{background:var(--bu-color-orange);border-color:var(--bu-color-orange);color:#08090B}
.path-step__body{padding:0 0 40px}
.path-step__model{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center;text-decoration:none;max-width:640px}
.path-step__model img{border-radius:10px;border:1px solid var(--bu-color-border);aspect-ratio:16/10;object-fit:contain;background:#121418}
.path-step__model > span{display:grid;gap:4px}
.path-step__mode{font-family:var(--bu-font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bu-color-orange)}
.path-step__title{font-size:1.3rem;font-weight:600}
.path-step__goal{margin:14px 0 0;max-width:68ch}
.path-step__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:14px 0 0}
.check{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;color:var(--bu-color-text-secondary)}
.check input,.challenge__opt input{width:20px;height:20px;accent-color:var(--bu-color-orange);flex:none}
.challenge{margin:18px 0 0;padding:18px 20px;border:1px solid var(--bu-color-border);border-radius:14px;background:var(--bu-color-surface);max-width:720px}
.challenge legend{padding:0 6px;font-weight:600}
.challenge__tag{display:block;font-family:var(--bu-font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bu-color-text-secondary);font-weight:400;margin-bottom:4px}
.challenge__opt{display:flex;gap:12px;align-items:flex-start;padding:10px 4px;min-height:44px;cursor:pointer;border-radius:8px}
.challenge__opt:hover{background:var(--bu-color-bg)}
.challenge__opt span{padding-top:1px}
.challenge .btn{margin-top:10px}
.challenge__feedback{margin:12px 0 0;font-weight:600;min-height:1.6em}
.challenge[data-result=right]{border-color:var(--bu-color-valid,#4ade80)}
.challenge[data-result=right] .challenge__feedback{color:var(--bu-color-valid,#4ade80)}
.challenge[data-result=wrong] .challenge__feedback{color:var(--bu-color-caution)}
.challenge__explain{margin:6px 0 0;color:var(--bu-color-text-secondary)}
.path-end{margin-top:8px;color:var(--bu-color-text-secondary)}
.path-end a{color:var(--bu-color-orange)}
@media (max-width:560px){.path-step{grid-template-columns:36px 1fr;gap:12px}.path-step__marker span{width:32px;height:32px}.path-step__model{grid-template-columns:1fr}}

/* ---------- glossary */
.glossary-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.search input{min-height:48px;width:min(420px,100%);padding:0 16px;border-radius:12px;border:1px solid var(--bu-color-border);background:var(--bu-color-surface);color:var(--bu-color-text);font:inherit}
.search{flex:1 1 280px}
.search input::placeholder{color:var(--bu-color-text-secondary)}
.glossary-tools .bu-modes__option{min-height:44px}
.letters ul{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:16px 0 8px;padding:0}
.letters a{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;text-decoration:none;font-family:var(--bu-font-mono);color:var(--bu-color-text-secondary);border:1px solid transparent}
.letters a:hover{border-color:var(--bu-color-border);color:var(--bu-color-text)}
.glossary__letter{display:grid;grid-template-columns:80px 1fr;gap:16px;padding:28px 0;border-top:1px solid var(--bu-color-border)}
.glossary__letter[hidden]{display:none}
.glossary__l{margin:0;font-size:2rem;font-family:var(--bu-font-mono);color:var(--bu-color-orange);font-weight:500}
.glossary dl{margin:0;display:grid;gap:28px}
.term[hidden]{display:none}
.term dt{font-size:1.2rem;font-weight:600}
.term dd{margin:6px 0 0;max-width:75ch}
.term dd p{margin:6px 0 0}
.term__label{display:inline-block;min-width:84px;margin-right:8px;font-family:var(--bu-font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bu-color-text-secondary)}
.term__adv{color:var(--bu-color-text-secondary)}
.term__refs,.term__links{font-size:.9rem;color:var(--bu-color-text-secondary)}
.term__links a{color:var(--bu-color-orange)}
.glossary[data-level=easy] .term__adv,.glossary[data-level=advanced] .term__easy{display:none}
.glossary[data-level=advanced] .term__adv{color:var(--bu-color-text)}
@media (max-width:640px){.glossary__letter{grid-template-columns:1fr;gap:4px}.term__label{display:block;margin-bottom:2px}}

/* ---------- prose (About) */
.prose{max-width:72ch;display:grid;gap:8px}
.prose h2{margin:32px 0 8px;font-size:1.35rem}
.prose p,.prose li{color:var(--bu-color-text)}
.prose ul{padding-left:1.2em;display:grid;gap:8px}
.prose strong{color:var(--bu-color-text)}

/* ---------- footer */
.site-footer{border-top:1px solid var(--bu-color-border);background:var(--bu-color-surface)}
.site-footer__inner{max-width:var(--site-max);margin:0 auto;padding:40px var(--site-gutter) 56px;display:grid;grid-template-columns:1fr auto;gap:24px 48px}
.site-footer__brand{display:flex;gap:12px;align-items:center}
.site-footer__name{margin:0;font-weight:600}
.site-footer__tag{margin:0;color:var(--bu-color-text-secondary);font-size:.9rem}
.site-footer ul{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;margin:0;padding:0}
.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:var(--bu-color-text-secondary);text-decoration:none}
.site-footer nav a:hover{color:var(--bu-color-text)}
.site-footer__note{grid-column:1/-1;margin:0;font-size:.85rem;color:var(--bu-color-text-secondary);max-width:80ch}
@media (max-width:760px){.site-footer__inner{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.model-card:hover{transform:none}}
.challenge legend{float:left;width:100%;padding:0;margin:0 0 8px}
.challenge legend + *{clear:both}

/* ---------- longer labels (German and later languages) on phones */
@media (max-width:480px){
  .bu-modes{display:flex;max-width:100%}
  .bu-modes__option{flex:1 1 auto;padding:0 8px;letter-spacing:.02em}
}

/* ---------- audio guide (optional; site/client/audio.ts) */
.audio-guide{margin:0 0 20px;border:1px solid var(--bu-color-border);border-radius:16px;background:var(--bu-color-surface)}
.audio-guide__summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-height:44px;padding:14px 24px;cursor:pointer;list-style:none}
.audio-guide__summary::-webkit-details-marker{display:none}
.audio-guide__summary::before{content:"▸";color:var(--bu-color-orange);margin-right:2px}
.audio-guide[open] .audio-guide__summary::before{content:"▾"}
.audio-guide__summary:focus-visible{outline:2px solid var(--bu-color-orange);outline-offset:-2px;border-radius:16px}
.audio-guide__title{font-weight:600;color:var(--bu-color-text)}
.audio-guide__hint{color:var(--bu-color-text-secondary);font-size:.9rem}
.audio-guide__body{padding:0 24px 20px}
.audio-guide__note{margin:0 0 12px;color:var(--bu-color-text-secondary);font-size:.9rem;max-width:70ch}
.audio-guide__bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}
.audio-guide__bar .bu-button{min-height:44px;min-width:44px}
.audio-guide__rate{display:inline-flex;align-items:center;gap:6px;color:var(--bu-color-text-secondary);font-size:.85rem}
.audio-guide__rate select{min-height:44px;width:auto}
.audio-guide__count{margin-left:auto;font-family:var(--bu-font-mono);font-size:.8rem;color:var(--bu-color-text-secondary)}
.audio-guide__steps{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:22rem;overflow:auto}
.audio-guide__steps li{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:start;padding:8px 10px;border-radius:12px;border:1px solid transparent}
.audio-guide__steps li[aria-current="step"]{border-color:var(--bu-color-border-strong);background:var(--bu-color-surface-raised)}
.audio-guide__steps p{margin:0;line-height:1.55;color:var(--bu-color-text-secondary)}
.audio-guide__steps li[aria-current="step"] p{color:var(--bu-color-text)}
.audio-guide__jump{min-height:44px;min-width:44px;border:1px solid var(--bu-color-border);border-radius:50%;background:transparent;color:var(--bu-color-text-secondary);font:inherit;font-family:var(--bu-font-mono);cursor:pointer}
.audio-guide__steps li[aria-current="step"] .audio-guide__jump{border-color:var(--bu-color-orange);color:var(--bu-color-orange)}
.audio-guide__jump:focus-visible{outline:2px solid var(--bu-color-orange);outline-offset:2px}
[data-speaking]{color:var(--bu-color-text);box-shadow:inset 0 -2px 0 var(--bu-color-orange)}
@media (max-width:480px){.audio-guide__summary{padding:12px 16px}.audio-guide__body{padding:0 16px 16px}.audio-guide__count{margin-left:0;width:100%}}

/* ---------- tutor demo (site/client/tutor.ts) */
.tutor{margin:0 0 20px;border:1px solid var(--bu-color-border);border-radius:16px;background:var(--bu-color-surface)}
.tutor__perms{display:grid;gap:4px;margin:0 0 14px;padding:10px 14px;border:1px solid var(--bu-color-border);border-radius:12px}
.tutor__perms legend{padding:0 6px;color:var(--bu-color-text-secondary);font-size:.85rem}
.tutor__perm{display:flex;gap:10px;align-items:center;min-height:44px;font-size:.9rem;color:var(--bu-color-text)}
.tutor__perm input{width:20px;height:20px;accent-color:var(--bu-color-orange)}
.tutor__turn{display:grid;gap:8px;margin:0 0 12px}
.tutor__turn:empty{display:none}
.tutor__line{margin:0;line-height:1.55;max-width:72ch}
.tutor__kind{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;border:1px solid var(--bu-color-border-strong);font-family:var(--bu-font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bu-color-text-secondary);vertical-align:2px}
.tutor__kind[data-kind="protocol-fact"]{border-color:var(--bu-color-orange-deep);color:var(--bu-color-orange)}
.tutor__kind[data-kind="simulation-assumption"]{border-style:dashed;border-color:var(--bu-color-simulated);color:var(--bu-color-simulated)}
.tutor__kind[data-kind="hypothetical"]{border-style:dotted}
.tutor__try{margin:0;color:var(--bu-color-text-secondary)}
.tutor__log summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--bu-color-text-secondary);font-size:.9rem}
.tutor__log ol{margin:0;padding-left:20px;display:grid;gap:4px;font-size:.85rem;color:var(--bu-color-text-secondary);max-height:12rem;overflow:auto}
.tutor__log li[data-refused]{color:var(--bu-color-text-secondary);text-decoration:none;font-style:italic}
[data-tutor-highlight]{outline:2px solid var(--bu-color-orange);outline-offset:2px}
.tutor__ask{display:grid;gap:8px;margin:0 0 14px}
.tutor__ask-label{font-weight:600;color:var(--bu-color-text)}
.tutor__ask-row{display:flex;gap:8px;flex-wrap:wrap}
.tutor__ask-row input{flex:1 1 220px;min-height:44px}
.tutor__ask-row .bu-button{min-height:44px}
.tutor__ai{font-size:.85rem;color:var(--bu-color-text-secondary)}
.tutor__tour{margin:0 0 12px}
.tutor__tour .bu-button{min-height:44px}
.tutor__answer{display:grid;gap:8px;margin:0 0 12px}
.tutor__answer:empty{display:none}
.tutor__title{margin:0;font-weight:600;color:var(--bu-color-text)}
.tutor__source{margin:0;font-family:var(--bu-font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bu-color-text-secondary)}
.tutor__source[data-source="ai"]{color:var(--bu-color-simulated)}
.tutor__examples{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tutor__example{min-height:44px;padding:6px 12px;border:1px solid var(--bu-color-border);border-radius:999px;background:transparent;color:var(--bu-color-text);font:inherit;text-align:left;cursor:pointer}
.tutor__example:hover{border-color:var(--bu-color-orange)}
.tutor-banner{margin:0 0 10px;padding:10px 14px;border:1px dashed var(--bu-color-orange-deep);border-radius:12px;color:var(--bu-color-text);font-size:.9rem;background:var(--bu-color-surface)}

/* ---------- experiment lab */
.lab-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}
.lab-pick{display:flex;gap:10px;align-items:center;min-height:56px;padding:10px 14px;border:1px solid var(--bu-color-border);border-radius:14px;background:var(--bu-color-surface);color:var(--bu-color-text-secondary);font:inherit;text-align:left;cursor:pointer}
.lab-pick:hover{border-color:var(--bu-color-border-strong);color:var(--bu-color-text)}
.lab-pick[aria-checked="true"]{border-color:var(--bu-color-orange);color:var(--bu-color-text);background:var(--bu-color-surface-raised)}
.lab-pick:focus-visible{outline:2px solid var(--bu-color-orange);outline-offset:2px}
.lab-pick__n{font-family:var(--bu-font-mono);font-size:.75rem;color:var(--bu-color-orange)}
.lab-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin:0 0 16px}
.lab-grid .panel{margin:0}
.lab-explain p{margin:0;line-height:1.6;max-width:70ch}
.lab-challenge fieldset{margin:0;padding:0;border:0}
.lab-challenge legend{margin:0 0 10px;font-weight:600;color:var(--bu-color-text);line-height:1.45}
.lab-options{display:grid;gap:6px}
.lab-option{display:flex;gap:10px;align-items:center;min-height:44px;padding:4px 12px;border:1px solid var(--bu-color-border);border-radius:12px;cursor:pointer}
.lab-option:has(input:checked){border-color:var(--bu-color-orange)}
.lab-option input{width:18px;height:18px;accent-color:var(--bu-color-orange)}
.lab-verdict{margin:12px 0 0;color:var(--bu-color-text-secondary)}
[data-lab-challenge][data-right] .lab-verdict{color:var(--bu-color-orange)}
.lab-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 12px}
.lab-bar .btn{min-height:44px}
.lab-status{margin:0;font-family:var(--bu-font-mono);font-size:.8rem;color:var(--bu-color-text-secondary)}
.lab-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.9rem;line-height:1.55;color:var(--bu-color-text-secondary)}
.lab-sys{display:inline-block;margin-right:6px;padding:1px 8px;border:1px solid var(--bu-color-border-strong);border-radius:999px;font-family:var(--bu-font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bu-color-text)}
@media (max-width:900px){.lab-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-grid{grid-template-columns:1fr}}
@media (max-width:480px){.lab-picker{grid-template-columns:1fr}}
.lab-page .lab-status{margin:0 0 10px}
.lab-stage{position:relative;min-height:420px;border:1px solid var(--bu-color-border);border-radius:18px;background:var(--bu-color-bg);overflow:hidden}
.lab-stage iframe{display:block}

/* ---------- bitcoin live */
.live-sources{margin:0 0 16px}
.live-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0 0 12px}
.live-option{display:grid;gap:4px;min-height:56px;padding:12px 14px;border:1px solid var(--bu-color-border);border-radius:14px;background:var(--bu-color-surface);color:var(--bu-color-text);font:inherit;text-align:left;cursor:pointer}
.live-option[aria-checked="true"]{border-color:var(--bu-color-orange);background:var(--bu-color-surface-raised)}
.live-option:focus-visible{outline:2px solid var(--bu-color-orange);outline-offset:2px}
.live-option__name{font-weight:600}
.live-option__note{font-size:.85rem;color:var(--bu-color-text-secondary)}
.live-consent{margin:0 0 12px;padding:12px 16px;border:1px dashed var(--bu-color-orange-deep);border-radius:12px}
.live-consent p{margin:0 0 10px;max-width:72ch;line-height:1.55}
.live-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.live-actions .btn{min-height:44px}
.live-auto{display:inline-flex;gap:8px;align-items:center;min-height:44px;font-size:.9rem;color:var(--bu-color-text-secondary)}
.live-auto input{width:18px;height:18px;accent-color:var(--bu-color-orange)}
.live-status{margin:12px 0 0;font-family:var(--bu-font-mono);font-size:.8rem;color:var(--bu-color-text-secondary)}
.live-status[data-state="stale"],.live-status[data-state="error"]{color:var(--bu-color-caution)}
.live-status[data-state="fresh"]{color:var(--bu-color-orange)}
.live-stage{position:relative;min-height:420px;border:1px solid var(--bu-color-border);border-radius:18px;background:var(--bu-color-bg);overflow:hidden}
.live-stage iframe{display:block}
.net__hit{fill:transparent;stroke:none}
/* Focus Mode (site/client/focus.ts): the stage that holds the figure becomes a nearly full-screen dialog. The iframe is never moved, so the figure keeps its state. */
.stage-tools{display:flex;justify-content:flex-end;margin:0 0 8px}
.focus-open{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--bu-color-border);background:var(--bu-color-surface);color:var(--bu-color-text);font:inherit;font-size:.92rem;cursor:pointer;transition:border-color var(--bu-duration-fast,150ms) ease}
.focus-open:hover{border-color:var(--bu-color-orange)}
.focus-open svg{color:var(--bu-color-orange)}
.focus-open:focus-visible{outline:2px solid var(--bu-color-orange);outline-offset:2px}
html.focus-lock,html.focus-lock body{overflow:hidden}
.viewer-stage.is-focus{position:fixed;inset:0;z-index:1000;margin:0;width:auto;max-width:none;min-height:0;height:100vh;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;border-radius:0;background:#08090B;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.viewer-stage.is-focus[data-focus-animate]{animation:focus-in .18s ease-out}
@keyframes focus-in{from{opacity:0}}
.viewer-stage.is-focus > .focus-bar{grid-column:1 / -1;grid-row:1}
.viewer-stage.is-focus > :not(.focus-bar):not(.focus-side){grid-column:1;grid-row:2;min-height:0;height:100%}
.viewer-stage.is-focus .bu-viewer{display:block;height:100%}
.viewer-stage.is-focus .bu-viewer__stage{height:100%;min-height:0;padding:0;border:0;border-radius:0}
.viewer-stage.is-focus iframe{height:100% !important}
.focus-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;border-bottom:1px solid var(--bu-color-border);background:#08090B}
.focus-bar__title{margin:0;flex:1 1 200px;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.focus-bar__actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.focus-bar .bu-button{gap:6px}
.focus-bar .bu-button svg{flex:none}
.focus-bar__close{border-color:var(--bu-color-orange);color:var(--bu-color-orange)}
.focus-bar__close:hover{background:color-mix(in srgb,var(--bu-color-orange) 12%,transparent)}
.focus-side{grid-column:2;grid-row:2;width:min(380px,38vw);overflow:auto;overscroll-behavior:contain;padding:16px 18px;border-left:1px solid var(--bu-color-border);background:var(--bu-color-surface)}
.focus-side[hidden]{display:none}
.focus-side__title{margin:0 0 10px;font-size:.85rem;font-family:var(--bu-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bu-color-text-secondary);font-weight:500}
.focus-side .tutor{margin:0}
@media (max-width:720px){
  .viewer-stage.is-focus{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}
  .focus-bar{gap:6px;padding:6px 8px}
  .focus-bar__title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .focus-bar__levels{flex:1 1 auto}
  .focus-bar__levels .bu-modes__option{padding:0 10px}
  .focus-bar__actions{flex:1 1 100%;flex-wrap:nowrap;justify-content:flex-end}
  .focus-bar__actions .bu-button{flex:none}
  .focus-bar__actions .bu-button--quiet{min-width:var(--bu-target-min);padding:0;justify-content:center}
  .focus-bar__actions .bu-button--quiet .focus-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .focus-bar__close{order:-1;margin-right:auto}
  .focus-side{grid-column:1;grid-row:3;width:auto;max-height:45dvh;border-left:0;border-top:1px solid var(--bu-color-border)}
}
/* Short screens (a phone held sideways): one slim row of icon buttons, so the drawing gets the height. */
@media (max-height:500px){
  .focus-bar{flex-wrap:nowrap;gap:6px;padding:4px 8px}
  .focus-bar__title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .focus-bar__levels{flex:0 1 auto}
  .focus-bar__levels .bu-modes__option{padding:0 10px}
  .focus-bar__actions{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end}
  .focus-bar .focus-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .focus-bar .bu-button{min-width:var(--bu-target-min);padding:0;justify-content:center}
  .focus-bar__close{order:0}
  .viewer-stage.is-focus{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr)}
  .focus-side{grid-column:2;grid-row:2;width:min(320px,45vw);max-height:none;border-top:0;border-left:1px solid var(--bu-color-border)}
}
@media (prefers-reduced-motion:reduce){.viewer-stage.is-focus[data-focus-animate]{animation:none}}
/* ---------- Sitadel (a related product; site/pages/sitadel.ts). Visually subordinate to the learning content. */
.nav-sitadel{color:var(--bu-color-text) !important;border:1px solid color-mix(in srgb,var(--bu-color-orange) 55%,transparent);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem !important;font-weight:600;margin-left:6px}
.nav-sitadel span{color:var(--bu-color-orange)}
.nav-sitadel:hover{border-color:var(--bu-color-orange);background-color:color-mix(in srgb,var(--bu-color-orange) 8%,transparent) !important}
@media (max-width:1120px){.site-nav__related{margin-top:6px;padding-top:8px;border-top:1px solid var(--bu-color-border)}.nav-sitadel{margin-left:0}}
.site-footer__related{grid-column:1/-1;margin:0;color:var(--bu-color-text-secondary);font-size:.92rem}
.site-footer__related a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:var(--bu-color-text)}
.site-footer__related a span{color:var(--bu-color-orange);margin-left:4px}
.si-page{display:grid;gap:56px;padding-top:28px}
.si-hero{max-width:860px}
.si-hero__title{text-transform:uppercase;letter-spacing:.01em;font-size:clamp(2rem,4.4vw,3.1rem)}
.si-hero__cta{margin:24px 0 0}
.si-disclosure{margin:20px 0 0;padding:12px 16px;border-left:2px solid var(--bu-color-orange);background:var(--bu-color-surface);border-radius:0 10px 10px 0;color:var(--bu-color-text-secondary);font-size:.92rem;max-width:72ch}
.si-mottos{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px 24px;padding:28px;border:1px solid var(--bu-color-border);border-radius:18px;background:radial-gradient(120% 120% at 50% 0%,var(--bu-color-surface) 0%,#08090B 70%)}
.si-motto__name{margin:0;font-family:var(--bu-font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bu-color-text-secondary)}
.si-motto__text{margin:6px 0 0;font-size:1.15rem;font-weight:600}
.si-motto:last-of-type{text-align:right}
.si-motif{width:200px;height:auto;color:var(--bu-color-text-secondary)}
.si-shared{grid-column:1/-1;margin:4px 0 0;text-align:center;font-family:var(--bu-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bu-color-orange);font-size:.85rem}
.si-section{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px 20px;max-width:960px}
.si-section--wide{max-width:none}
.si-section p{color:var(--bu-color-text-secondary);max-width:70ch}
.si-letter{margin:4px 0 0;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--bu-color-orange);border-radius:50%;font-family:var(--bu-font-mono);color:var(--bu-color-orange)}
.si-features{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.si-feature{padding:16px 18px;border:1px solid var(--bu-color-border);border-radius:14px;background:var(--bu-color-surface)}
.si-feature h3{margin:0 0 6px;font-size:1rem}
.si-feature p{margin:0;font-size:.92rem}
.si-note{font-size:.88rem}
.si-questions{margin:12px 0 0;padding-left:1.3em;display:grid;gap:8px;color:var(--bu-color-text)}
.si-home__inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px 40px;align-items:center;padding:36px;border:1px solid var(--bu-color-border);border-radius:20px;background:radial-gradient(120% 140% at 0% 0%,var(--bu-color-surface) 0%,#08090B 65%)}
.si-home__title{max-width:28ch}
.si-home__body{color:var(--bu-color-text-secondary);max-width:62ch}
.si-home__actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:16px 0 0}
.si-card{padding:18px 20px;border:1px dashed var(--bu-color-border);border-radius:16px;background:transparent;align-self:start}
.si-card__label{margin:0;font-family:var(--bu-font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bu-color-text-secondary)}
.si-card__label span{color:var(--bu-color-orange)}
.si-card__title{margin:8px 0 4px;font-size:1.05rem}
.si-card__text{margin:0;color:var(--bu-color-text-secondary);font-size:.92rem}
.si-card__actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:12px 0 0}
@media (max-width:760px){
  .si-mottos{grid-template-columns:1fr;text-align:center}
  .si-motto:last-of-type{text-align:center}
  .si-motif{margin:0 auto;width:160px}
  .si-section{grid-template-columns:1fr}
  .si-letter{margin:0}
  .si-home__inner{grid-template-columns:1fr;padding:24px}
  .si-home__inner .si-motif{margin:0}
}
