/* Rust Survival — canonical shell stylesheet (extracted 2026-05-19) */

/* === Canonical block 1 === */

:root { --bg:#0c0a08;--bg-2:#15110d;--panel:#1c1612;--panel-2:#251c16;--panel-hover:#2d2218;--border:#3a2c20;--border-bright:#553f2d;--text:#f1e8db;--text-dim:#b0a08a;--text-dimmer:#807060;--rust:#d97742;--rust-bright:#ff8c5c;--rust-dim:#a85a2f;--good:#a8c862;--warn:#f0c14b;--danger:#c43e3e;--industrial:#6fa8dc; }
* { box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent; }
html { scroll-behavior:smooth;-webkit-text-size-adjust:100%; }
body { font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.7;font-size:16px;overflow-x:clip;min-height:100vh; }
body::before { content:'';position:fixed;inset:0;background-image:radial-gradient(ellipse at top,rgba(217,119,66,0.08) 0%,transparent 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='52' viewBox='0 0 60 52'%3E%3Cpath fill='%23d97742' fill-opacity='0.03' d='M30 0l30 17.32v17.32L30 52 0 34.64V17.32z'/%3E%3C/svg%3E");pointer-events:none;z-index:0; }
.progress-bar { position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--rust),var(--rust-bright));width:0%;z-index:200;transition:width 0.1s ease; }
.top-nav { position:sticky;top:0;z-index:100;background:rgba(12,10,8,0.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border); }
.nav-inner { max-width:1280px;margin:0 auto;padding:0 20px;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px; }
.brand { display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;min-height:44px;flex-shrink:0; }
.brand-mark { width:40px;height:40px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 8px rgba(217,119,66,0.35));flex-shrink:0; }
.brand-mark svg { width:100%;height:100%;display:block; }
.brand-text { display:flex;flex-direction:column;line-height:1.1;min-width:0; }
.brand-title { font-family:'Rajdhani',sans-serif;font-weight:700;font-size:18px;letter-spacing:2px;white-space:nowrap; }
.brand-sub { font-size:10px;color:var(--text-dimmer);letter-spacing:2px;text-transform:uppercase;white-space:nowrap; }
.search-trigger { background:var(--panel);border:1px solid var(--border);color:var(--text-dim);padding:8px 14px;border-radius:6px;display:flex;align-items:center;gap:10px;cursor:pointer;font-family:inherit;font-size:13px;transition:all 0.15s ease;min-height:40px; }
.search-trigger:hover { border-color:var(--rust);color:var(--rust-bright); }
.search-trigger kbd { background:var(--bg);border:1px solid var(--border);padding:2px 6px;border-radius:3px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-dimmer); }
.search-trigger-text { color:var(--text-dimmer); }
.nav-links { display:flex;list-style:none;gap:2px;align-items:center;flex-wrap:nowrap; }
.nav-links > li { position:relative; }
.nav-links > li > a,.nav-links .nav-trigger { padding:10px 12px;font-size:13px;font-weight:500;color:var(--text-dim);text-decoration:none;border-radius:4px;transition:all 0.15s ease;min-height:44px;display:inline-flex;align-items:center;background:transparent;border:none;cursor:pointer;font-family:inherit;gap:6px; }
.nav-links > li > a:hover,.nav-links .nav-trigger:hover,.has-dropdown:hover .nav-trigger { color:var(--rust-bright);background:rgba(217,119,66,0.08); }
.nav-caret { font-size:9px;opacity:0.7;transition:transform 0.15s ease; }
.has-dropdown:hover .nav-caret { transform:rotate(180deg); }
.nav-dropdown { display:none;position:absolute;top:100%;left:0;min-width:240px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,0.6);padding:6px;flex-direction:column;z-index:101; }
.has-dropdown:hover .nav-dropdown,.has-dropdown.open .nav-dropdown { display:flex; }
.nav-dropdown a { padding:10px 14px;color:var(--text-dim);text-decoration:none;font-size:14px;border-radius:4px;white-space:nowrap;min-height:40px;display:flex;align-items:center; }
.nav-dropdown a:hover { background:rgba(217,119,66,0.12);color:var(--rust-bright); }
.nav-toggle { display:none;background:transparent;border:1px solid var(--border);color:var(--text);width:44px;height:44px;border-radius:4px;font-size:20px;align-items:center;justify-content:center;cursor:pointer; }

/* SEARCH MODAL */
.search-overlay { display:none;position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);z-index:300;align-items:flex-start;justify-content:center;padding:80px 20px; }
.search-overlay.open { display:flex; }
.search-modal { background:var(--bg-2);border:1px solid var(--border-bright);border-radius:10px;width:100%;max-width:640px;box-shadow:0 24px 64px rgba(0,0,0,0.8);overflow:hidden; }
.search-header { display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border); }
.search-header input { flex:1;background:transparent;border:none;color:var(--text);font-size:18px;outline:none;font-family:inherit; }
.search-close { background:transparent;border:none;color:var(--text-dim);font-size:28px;cursor:pointer;padding:0 8px;line-height:1; }
.search-close:hover { color:var(--rust); }
.search-results { max-height:60vh;overflow-y:auto;padding:8px; }
.search-hint { padding:24px;text-align:center;color:var(--text-dimmer);font-size:13px; }
.search-hint kbd { background:var(--panel);border:1px solid var(--border);padding:2px 6px;border-radius:3px;font-family:'JetBrains Mono',monospace;font-size:11px; }
.search-result { display:block;padding:12px 14px;border-radius:6px;text-decoration:none;color:var(--text);transition:background 0.12s ease;margin-bottom:2px; }
.search-result:hover,.search-result.active { background:rgba(217,119,66,0.15); }
.search-result-title { font-family:'Rajdhani',sans-serif;font-weight:600;font-size:16px;color:var(--rust-bright);margin-bottom:3px; }
.search-result-snippet { font-size:13px;color:var(--text-dim);line-height:1.5; }
.search-result mark { background:rgba(240,193,75,0.3);color:var(--warn);padding:0 2px;border-radius:2px; }

/* DOC HEADER & ARTICLE */
.doc-header { position:relative;padding:48px 20px 36px;background:linear-gradient(180deg,rgba(217,119,66,0.06) 0%,var(--bg-2) 40%,var(--bg) 100%);border-bottom:1px solid var(--border);z-index:1;overflow:hidden; }
.doc-header::before { content:'';position:absolute;top:-40%;right:-10%;width:600px;height:300px;background:radial-gradient(ellipse,rgba(217,119,66,0.18) 0%,transparent 60%);pointer-events:none; }
.doc-header-inner { max-width:880px;margin:0 auto;position:relative;z-index:1; }
.breadcrumb { display:flex;align-items:center;gap:10px;margin-bottom:20px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text-dimmer);letter-spacing:1px;flex-wrap:wrap; }
.breadcrumb a { color:var(--rust);text-decoration:none; }
.breadcrumb a:hover { color:var(--rust-bright); }
.doc-title { font-family:'Rajdhani',sans-serif;font-weight:700;font-size:clamp(28px,6vw,52px);letter-spacing:-0.5px;line-height:1.05;margin-bottom:10px;background:linear-gradient(135deg,var(--text) 0%,var(--rust-bright) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent; }
.doc-meta { display:flex;gap:16px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text-dimmer);letter-spacing:1px; }
.doc-meta-item { display:flex;align-items:center;gap:6px; }
.doc-meta-item::before { content:'';width:4px;height:4px;background:var(--rust);border-radius:50%;display:inline-block; }
.doc-body { max-width:880px;margin:0 auto;padding:36px 20px 60px;position:relative;z-index:1; }
.doc-content { font-size:16px;color:var(--text-dim); }
.doc-content > *:first-child { display:none; }
.doc-content h1 { font-family:'Rajdhani',sans-serif;font-weight:700;font-size:clamp(24px,5vw,34px);color:var(--text);margin:48px 0 14px;letter-spacing:-0.5px; }
.doc-content h2 { font-family:'Rajdhani',sans-serif;font-weight:700;font-size:clamp(20px,4vw,28px);color:var(--text);margin:40px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border);position:relative; }
.doc-content h2::before { content:'';position:absolute;bottom:-1px;left:0;width:60px;height:2px;background:var(--rust); }
.doc-content h3 { font-family:'Rajdhani',sans-serif;font-weight:600;font-size:clamp(18px,3.5vw,22px);color:var(--rust-bright);margin:32px 0 12px; }
.doc-content h4 { font-family:'Inter',sans-serif;font-weight:600;font-size:17px;color:var(--text);margin:24px 0 10px; }
.doc-content p { margin:14px 0;color:var(--text-dim);line-height:1.75; }
.doc-content strong { color:var(--text);font-weight:600; }
.doc-content em { color:var(--rust-bright);font-style:normal; }
.doc-content a { color:var(--rust);text-decoration:none;border-bottom:1px solid rgba(217,119,66,0.4);word-break:break-word; }
.doc-content a:hover { color:var(--rust-bright);border-bottom-color:var(--rust-bright); }
.doc-content ul,.doc-content ol { margin:14px 0 14px 24px;color:var(--text-dim); }
.doc-content li { margin-bottom:8px;line-height:1.7; }
.doc-content li::marker { color:var(--rust); }
.doc-content code { background:var(--panel-2);color:var(--rust-bright);padding:2px 7px;border-radius:3px;font-family:'JetBrains Mono',monospace;font-size:0.88em;border:1px solid var(--border); }
.doc-content pre { background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--rust);padding:14px 16px;border-radius:6px;overflow-x:auto;margin:18px 0;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.6; }
.doc-content blockquote { border-left:3px solid var(--rust);background:rgba(217,119,66,0.06);padding:14px 18px;margin:18px 0;border-radius:0 4px 4px 0;color:var(--text-dim);font-style:italic; }
.doc-content table { display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:20px 0;background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:14px; }
.doc-content thead { background:var(--panel-2);border-bottom:2px solid var(--rust); }
.doc-content th { text-align:left;padding:12px 14px;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:14px;color:var(--rust);letter-spacing:1px;text-transform:uppercase;white-space:nowrap; }
.doc-content td { padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-dim);vertical-align:top; }
.doc-content tr:hover td { background:var(--panel-hover); }
.doc-content hr { border:none;height:1px;background:var(--border);margin:36px 0; }
.diagram-block { margin:24px 0; }
.diagram-title { font-family:'Rajdhani',sans-serif;font-weight:600;font-size:16px;color:var(--rust-bright);margin-bottom:8px;text-align:center; }
.diagram-block svg { max-width:100% !important;height:auto !important;width:100%; }
.doc-nav { max-width:880px;margin:48px auto 0;padding:0 20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap; }
.doc-nav a { padding:14px 22px;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);text-decoration:none;transition:all 0.15s;font-weight:600;flex:1;min-width:200px;text-align:center;display:flex;flex-direction:column;gap:4px; }
.doc-nav a:hover { border-color:var(--rust);background:var(--panel-hover); }
.doc-nav-label { font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-dimmer);letter-spacing:1.5px; }
.doc-nav-title { font-family:'Rajdhani',sans-serif;font-size:18px;font-weight:600;color:var(--rust-bright); }
.doc-nav a.next { text-align:right;align-items:flex-end; }
.doc-nav a.prev::before { content:'\2190 ';color:var(--rust); }
.doc-nav a.next::after { content:' \2192';color:var(--rust); }
footer { margin-top:64px;padding:28px 20px;border-top:1px solid var(--border);background:var(--bg-2);position:relative;z-index:1; }
.footer-inner { max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-dimmer);letter-spacing:1px; }
footer a { color:var(--text-dim);text-decoration:none; }
footer a:hover { color:var(--rust-bright); }

@media print {
  .top-nav, .doc-nav, footer, .progress-bar, .search-overlay { display:none !important; }
  body { background:white; color:black; }
  body::before { display:none; }
  .doc-content { color:black; }
  .doc-content p, .doc-content li { color:#333; }
  .doc-content strong { color:black; }
  .doc-content table { border:1px solid #999; }
  .doc-content th { background:#eee !important; color:black; -webkit-print-color-adjust:exact; }
  .doc-content td { color:#333; border-bottom:1px solid #ddd; }
  .doc-title { color:black; -webkit-text-fill-color:black; background:none; }
  .doc-header { background:none; padding:20px 0; }
  .doc-content h2, .doc-content h3, .doc-content h4 { color:black; page-break-after:avoid; }
  .doc-content > *:first-child { display:block !important; }
}

@media (max-width:1100px) {
  .nav-links > li > a, .nav-links .nav-trigger { padding:10px 8px;font-size:13px; }
  .search-trigger-text { display:none; }
  .search-trigger kbd { display:none; }
}
@media (max-width:900px) {
  .nav-links { display:none;position:absolute;top:64px;left:0;right:0;background:var(--bg-2);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;padding:8px;gap:0;max-height:calc(100vh - 64px);overflow-y:auto; }
  .nav-links.open { display:flex; }
  .nav-links > li { width:100%; }
  .nav-links > li > a,.nav-links .nav-trigger { padding:14px 20px;width:100%;justify-content:space-between; }
  .nav-dropdown { position:static;display:none;flex-direction:column;border:none;background:rgba(255,255,255,0.02);border-radius:0;box-shadow:none;padding:0 0 6px 16px;min-width:0; }
  .has-dropdown.open .nav-dropdown { display:flex; }
  .has-dropdown:hover .nav-dropdown { display:none; }
  .nav-toggle { display:flex; }
  .brand-title { font-size:16px; }
  .search-trigger { padding:8px 10px; }
  .doc-header { padding:32px 16px 24px; }
  .doc-body { padding:28px 16px 48px; }
  .doc-content { font-size:15px; }
}
@media (max-width:600px) {
  .nav-inner { padding:0 14px;gap:8px; }
  .brand-sub { display:none; }
  .doc-header { padding:24px 14px 20px; }
  .doc-body { padding:22px 14px 40px; }
  .footer-inner { flex-direction:column;text-align:center; }
}

.search-result { position:relative; }
.search-result-badge {
  position:absolute; top:14px; right:14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px; letter-spacing: 1px; font-weight: 700;
  padding: 3px 7px;
  border-radius: 3px;
  background: rgba(217,119,66,0.15);
  border: 1px solid rgba(217,119,66,0.35);
  color: var(--rust);
  text-transform: uppercase;
}
.search-result-badge.sr-page { background:rgba(111,168,220,0.12); border-color:rgba(111,168,220,0.35); color:#6fa8dc; }
.search-result-badge.sr-section { background:rgba(168,200,98,0.12); border-color:rgba(168,200,98,0.35); color:#a8c862; }
.search-result-title mark, .search-result-snippet mark { background: rgba(217,119,66,0.25); color: #ff8c5c; padding:0 2px; border-radius:2px; }


.mode-pill { display: inline-flex; padding: 3px; background: var(--bg-2); border: 1px solid var(--border); border-radius: 999px; gap: 0; margin-left: 4px; }
.mode-pill-btn { padding: 6px 16px; border-radius: 999px; font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; text-decoration: none; color: var(--text-dim); transition: all 0.15s ease; cursor: pointer; line-height: 1; display: inline-flex; align-items: center; }
.mode-pill-btn:hover { color: var(--rust-bright); }
.mode-pill-btn.active { background: linear-gradient(180deg, rgba(217,119,66,0.35) 0%, rgba(217,119,66,0.18) 100%); color: var(--rust-bright); box-shadow: 0 0 0 1px var(--rust-dim) inset; }
@media (max-width: 720px) { .mode-pill-btn { padding: 5px 11px; font-size: 11px; } }

/* INLINE RUST ITEM ICON */
.rust-icon { display: inline-block; height: 22px; width: 22px; vertical-align: -6px; margin: 0 2px; image-rendering: -webkit-optimize-contrast; filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5)); }
@media (max-width: 720px) { .rust-icon { height: 18px; width: 18px; vertical-align: -4px; } }
@media (max-width: 980px) {
  .nav-links a, .nav-links button.nav-trigger { padding: 8px 7px !important; font-size: 12px !important; }
}


.top-nav { padding: 12px 24px !important; }
.nav-inner { display: flex !important; align-items: center !important; gap: 16px !important; flex-wrap: nowrap !important; max-width: 1400px !important; margin: 0 auto !important; }
.brand { flex-shrink: 0 !important; display: flex !important; align-items: center !important; gap: 10px !important; text-decoration: none !important; }
.brand-mark { width: 36px !important; height: 36px !important; flex-shrink: 0 !important; }
.brand-text { display: flex !important; flex-direction: column !important; justify-content: center !important; line-height: 1 !important; }
.brand-title { font-family: 'Rajdhani', sans-serif !important; font-size: 16px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; color: var(--rust-bright) !important; white-space: nowrap !important; line-height: 1 !important; }
.brand-sub { font-size: 9px !important; color: var(--text-dim) !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; white-space: nowrap !important; margin-top: 4px !important; line-height: 1 !important; }
.mode-pill { flex-shrink: 0 !important; display: inline-flex !important; padding: 3px !important; background: var(--bg-2) !important; border: 1px solid var(--rust-dim) !important; border-radius: 999px !important; box-shadow: 0 0 0 1px rgba(217,119,66,0.15) !important; margin: 0 !important; }
.mode-pill-btn { padding: 6px 14px !important; border-radius: 999px !important; font-family: 'Rajdhani', sans-serif !important; font-weight: 700 !important; font-size: 12px !important; letter-spacing: 1.2px !important; text-transform: uppercase !important; text-decoration: none !important; color: var(--text) !important; line-height: 1 !important; white-space: nowrap !important; }
.mode-pill-btn:hover { color: var(--rust-bright) !important; background: rgba(217,119,66,0.08) !important; }
.mode-pill-btn.active { background: linear-gradient(180deg, var(--rust) 0%, var(--rust-dim) 100%) !important; color: #fff !important; box-shadow: 0 2px 6px rgba(217,119,66,0.4) !important; }
.search-trigger { flex-shrink: 0 !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 8px 14px !important; background: var(--panel) !important; border: 1px solid var(--border) !important; color: var(--text-dim) !important; border-radius: 6px !important; font-family: inherit !important; font-size: 13px !important; cursor: pointer !important; height: 36px !important; }
.search-trigger:hover { background: var(--panel-hover) !important; border-color: var(--border-bright) !important; }
.search-trigger-text { display: inline !important; }
.search-trigger kbd { display: inline !important; font-family: 'JetBrains Mono', monospace !important; font-size: 10px !important; background: var(--bg-2) !important; padding: 2px 6px !important; border-radius: 3px !important; color: var(--text-dimmer) !important; border: 1px solid var(--border) !important; }
.nav-links { list-style: none !important; display: flex !important; gap: 4px !important; margin-left: auto !important; align-items: center !important; flex-wrap: nowrap !important; flex-shrink: 1 !important; min-width: 0 !important; padding: 0 !important; }
.nav-links li { list-style: none !important; }
.nav-links a, .nav-links button.nav-trigger { padding: 8px 11px !important; border-radius: 6px !important; font-weight: 500 !important; font-size: 13px !important; color: var(--text-dim) !important; text-decoration: none !important; background: none !important; border: none !important; cursor: pointer !important; font-family: inherit !important; white-space: nowrap !important; line-height: 1.3 !important; }
.nav-links a:hover, .nav-links button.nav-trigger:hover { color: var(--rust-bright) !important; background: var(--panel-hover) !important; }
.nav-caret { font-size: 10px !important; margin-left: 2px !important; opacity: 0.6 !important; }

@media (max-width: 1100px) {
  .brand-sub { display: none !important; }
  .search-trigger-text, .search-trigger kbd { display: none !important; }
  .search-trigger { padding: 8px 10px !important; }
}
@media (max-width: 860px) {
  .nav-links a, .nav-links button.nav-trigger { padding: 6px 8px !important; font-size: 12px !important; }
  .mode-pill-btn { padding: 5px 10px !important; font-size: 11px !important; }
}

/* === MASTER NAV (final) — pill style across the board === */
.top-nav{padding:14px 24px!important;background:rgba(12,10,8,0.96)!important;backdrop-filter:blur(12px)!important;border-bottom:1px solid var(--border)!important;position:sticky!important;top:0!important;z-index:100!important;}
.nav-inner{display:flex!important;align-items:center!important;gap:18px!important;flex-wrap:nowrap!important;max-width:1400px!important;margin:0 auto!important;}
.brand{display:flex!important;align-items:center!important;gap:12px!important;flex-shrink:0!important;text-decoration:none!important;color:var(--text)!important;}
.brand-mark{width:38px!important;height:38px!important;flex-shrink:0!important;border-radius:7px!important;overflow:hidden!important;}
.brand-mark svg{width:100%!important;height:100%!important;display:block!important;}
.brand-text{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;line-height:1!important;gap:3px!important;}
.brand-title{font-family:'Rajdhani',sans-serif!important;font-size:17px!important;font-weight:700!important;letter-spacing:1.8px!important;color:var(--rust-bright)!important;white-space:nowrap!important;line-height:1!important;}
.brand-sub{font-size:9px!important;color:var(--text-dim)!important;letter-spacing:1.8px!important;text-transform:uppercase!important;white-space:nowrap!important;line-height:1!important;font-weight:500!important;}
.brand>div:not(.brand-mark):not(.brand-text){display:flex!important;flex-direction:column!important;line-height:1!important;gap:3px!important;}

/* Shared pill button base */
.mode-pill,.search-trigger,.nav-links a,.nav-links button.nav-trigger,.has-dropdown>.nav-trigger{height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;border-radius:999px!important;font-family:'Rajdhani',sans-serif!important;font-weight:600!important;letter-spacing:1px!important;text-transform:uppercase!important;white-space:nowrap!important;text-decoration:none!important;font-size:12px!important;}

/* Mode pill */
.mode-pill{flex-shrink:0!important;padding:3px!important;background:var(--bg-2)!important;border:1px solid var(--rust-dim)!important;height:36px!important;gap:0!important;box-shadow:0 0 0 1px rgba(217,119,66,0.18)!important;}
.mode-pill-btn{padding:0 14px!important;height:28px!important;border-radius:999px!important;font-family:'Rajdhani',sans-serif!important;font-weight:700!important;font-size:11.5px!important;letter-spacing:1.2px!important;color:var(--text)!important;display:inline-flex!important;align-items:center!important;}
.mode-pill-btn:hover{color:var(--rust-bright)!important;background:rgba(217,119,66,0.10)!important;}
.mode-pill-btn.active{background:linear-gradient(180deg,var(--rust) 0%,var(--rust-dim) 100%)!important;color:#fff!important;box-shadow:0 2px 6px rgba(217,119,66,0.4)!important;}

/* Search */
.search-trigger{flex-shrink:0!important;padding:0 16px!important;background:var(--panel)!important;border:1px solid var(--border)!important;color:var(--text-dim)!important;gap:8px!important;cursor:pointer!important;font-size:12px!important;}
.search-trigger:hover{background:var(--panel-hover)!important;border-color:var(--border-bright)!important;color:var(--rust-bright)!important;}
.search-trigger svg{flex-shrink:0!important;}
.search-trigger-text{display:inline!important;}
.search-trigger kbd{font-family:'JetBrains Mono',monospace!important;font-size:10px!important;background:var(--bg-2)!important;padding:3px 6px!important;border-radius:3px!important;color:var(--text-dimmer)!important;border:1px solid var(--border)!important;font-weight:500!important;letter-spacing:0.5px!important;text-transform:none!important;}

/* Nav links */
.nav-links{list-style:none!important;display:flex!important;align-items:center!important;gap:4px!important;margin:0 0 0 auto!important;padding:0!important;flex-shrink:0!important;flex-wrap:nowrap!important;}
.nav-links li{list-style:none!important;display:inline-flex!important;}
.nav-links li.has-dropdown{position:relative!important;}
.nav-links a,.nav-links button.nav-trigger{padding:0 14px!important;background:transparent!important;border:1px solid transparent!important;color:var(--text-dim)!important;cursor:pointer!important;font-family:'Rajdhani',sans-serif!important;font-weight:700!important;font-size:12px!important;letter-spacing:1.2px!important;}
.nav-links a:hover,.nav-links button.nav-trigger:hover{color:var(--rust-bright)!important;background:rgba(217,119,66,0.08)!important;border-color:rgba(217,119,66,0.25)!important;}
.nav-links a.active{color:var(--rust-bright)!important;background:rgba(217,119,66,0.12)!important;border-color:rgba(217,119,66,0.35)!important;}
.nav-caret{font-size:9px!important;margin-left:6px!important;opacity:0.7!important;display:inline-block!important;}
.has-dropdown:hover>.nav-trigger,.has-dropdown.open>.nav-trigger{color:var(--rust-bright)!important;background:rgba(217,119,66,0.08)!important;border-color:rgba(217,119,66,0.25)!important;}

/* Dropdown panel — keep current behavior, just style cleanly */
.nav-dropdown{position:absolute!important;top:calc(100% + 6px)!important;left:50%!important;transform:translateX(-50%)!important;background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:10px!important;min-width:220px!important;padding:8px!important;display:none!important;flex-direction:column!important;gap:2px!important;box-shadow:0 12px 32px rgba(0,0,0,0.5)!important;z-index:101!important;}
.has-dropdown:hover>.nav-dropdown,.has-dropdown.open>.nav-dropdown{display:flex!important;}
.nav-dropdown a{padding:8px 14px!important;border-radius:6px!important;color:var(--text)!important;text-decoration:none!important;font-family:'Inter',sans-serif!important;font-weight:500!important;font-size:13px!important;letter-spacing:0.3px!important;text-transform:none!important;white-space:nowrap!important;background:transparent!important;border:none!important;height:auto!important;display:block!important;}
.nav-dropdown a:hover{background:var(--panel-hover)!important;color:var(--rust-bright)!important;}

/* Mobile collapse */
@media (max-width:1100px){
  .brand-sub{display:none!important;}
  .search-trigger-text,.search-trigger kbd{display:none!important;}
  .search-trigger{padding:0 12px!important;}
  .nav-links{gap:2px!important;}
  .nav-links a,.nav-links button.nav-trigger{padding:0 10px!important;font-size:11.5px!important;letter-spacing:1px!important;}
  .mode-pill-btn{padding:0 11px!important;font-size:11px!important;}
}
@media (max-width:860px){
  .nav-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:36px!important;width:36px!important;background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:999px!important;color:var(--text)!important;font-size:18px!important;cursor:pointer!important;flex-shrink:0!important;}
  .nav-links{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;background:var(--panel)!important;flex-direction:column!important;padding:14px!important;border-bottom:1px solid var(--border)!important;}
  .nav-links.open{display:flex!important;}
}
@media (min-width:861px){
  .nav-toggle{display:none!important;}
}

/* === NAV-LINKS AS PILL CONTAINER (matches mode toggle style) === */
.nav-links {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 3px !important;
  background: var(--bg-2) !important;
  border: 1px solid var(--rust-dim) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 1px rgba(217,119,66,0.18) !important;
  margin: 0 0 0 auto !important;
  list-style: none !important;
  flex-shrink: 0 !important;
  flex-wrap: nowrap !important;
}
.nav-links li {
  list-style: none !important;
  display: inline-flex !important;
  position: relative !important;
}
.nav-links a,
.nav-links button.nav-trigger {
  height: 28px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: none !important;
  background: transparent !important;
  color: var(--text) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: all 0.15s ease !important;
}
.nav-links a:hover,
.nav-links button.nav-trigger:hover {
  background: rgba(217,119,66,0.10) !important;
  color: var(--rust-bright) !important;
}
.nav-links a.active,
.nav-links li.active > a,
.nav-links li.has-dropdown.active > button.nav-trigger,
.has-dropdown:hover > .nav-trigger,
.has-dropdown.open > .nav-trigger {
  background: linear-gradient(180deg, var(--rust) 0%, var(--rust-dim) 100%) !important;
  color: #fff !important;
  box-shadow: 0 2px 6px rgba(217,119,66,0.4) !important;
}
.nav-caret {
  font-size: 9px !important;
  margin-left: 4px !important;
  opacity: 0.85 !important;
  display: inline-block !important;
}

/* Dropdown panel — float beneath the segment */
.nav-dropdown {
  position: absolute !important;
  top: 100% !important; padding-top: 14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  min-width: 220px !important;
  padding: 8px !important;
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  flex-direction: column !important;
  gap: 2px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.5) !important;
  display: none !important;
  z-index: 200 !important;
}
.has-dropdown:hover > .nav-dropdown,
.has-dropdown.open > .nav-dropdown { display: flex !important; }
.nav-dropdown a {
  height: auto !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  color: var(--text) !important;
  background: transparent !important;
  display: block !important;
  text-align: left !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
.nav-dropdown a:hover {
  background: var(--panel-hover) !important;
  color: var(--rust-bright) !important;
  box-shadow: none !important;
}

@media (max-width: 1100px) {
  .nav-links a, .nav-links button.nav-trigger {
    padding: 0 11px !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
  }
}
@media (max-width: 860px) {
  .nav-links a, .nav-links button.nav-trigger {
    padding: 0 9px !important;
    font-size: 10.5px !important;
  }
}

/* STICKY DOC-NAV (Prev/Next) at viewport bottom — COMPACT */
.doc-nav {
  position: fixed !important;
  bottom: 10px !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
  padding: 4px !important;
  z-index: 50 !important;
  background: rgba(28, 22, 18, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid var(--border-bright) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.45) !important;
  display: flex !important;
  gap: 6px !important;
  max-width: 720px !important;
  width: calc(100% - 24px) !important;
}
.doc-nav a {
  flex: 1 1 0 !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 7px 12px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  text-align: center !important;
}
.doc-nav-label { display: none !important; }
.doc-nav-title { font-size: 14px !important; line-height: 1.2 !important; }
body.has-doc-nav { padding-bottom: 56px !important; }
@media (max-width: 720px) {
  .doc-nav { bottom: 6px !important; padding: 3px !important; gap: 4px !important; }
  .doc-nav a { padding: 6px 10px !important; }
  .doc-nav-title { font-size: 13px !important; }
  body.has-doc-nav { padding-bottom: 50px !important; }
}

/* WIDER BODY — reduce side whitespace on topic pages */
.doc { max-width: 1080px !important; padding: 48px 32px 96px !important; }
.doc-content p, .doc-content li { max-width: 78ch; }
@media (max-width: 1100px) {
  .doc { max-width: 100% !important; padding: 40px 24px 96px !important; }
}
@media (max-width: 720px) {
  .doc { padding: 28px 16px 110px !important; }
}

/* RESPONSIVE BODY — scales to viewport, edge-to-edge feel on wide monitors */
.doc { max-width: min(1200px, calc(100vw - 60px)) !important; margin: 0 auto !important; padding: clamp(28px, 4vw, 56px) clamp(18px, 2vw, 32px) clamp(96px, 10vw, 130px) !important; box-sizing: border-box !important; }
.doc-content p, .doc-content li { max-width: none; }
.doc-content table { width: 100%; }
@media (max-width: 720px) {
  .doc { padding: 24px 14px 110px !important; }
  .doc-content p, .doc-content li { max-width: 100%; }
}
@media (max-width:360px){.brand-mark{width:32px!important;height:32px!important;}.mode-pill .mode-pill-btn{padding:0 6px!important;font-size:9px!important;letter-spacing:0.5px!important;}.search-trigger,.a11y-trigger,.nav-toggle{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;}.nav-inner{gap:4px!important;}.top-nav{padding:8px 6px!important;}}

/* === Canonical block 2 === */
.footer-refs{margin:32px auto 16px;max-width:1200px;padding:16px clamp(18px,2vw,32px);text-align:center;font-size:12px;color:var(--text-dim);border-top:1px solid var(--border);letter-spacing:1px;text-transform:uppercase;}.footer-refs a{color:var(--text-dim);text-decoration:none;margin:0 6px;}.footer-refs a:hover{color:var(--rust-bright);}

/* === Canonical block 3 === */
/*diagram-block-canonical*/.diagram-block{margin:24px auto;max-width:900px;}.diagram-block svg{max-width:100%;height:auto;display:block;border-radius:6px;}

/* === Canonical block 4 === */
/*A11Y-MENU-CANONICAL*/
.a11y-trigger{width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:0!important;margin-left:auto!important;background:transparent!important;border:1px solid var(--border)!important;border-radius:999px!important;color:var(--text-dim)!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:all 0.15s ease!important;flex-shrink:0!important;}
.a11y-trigger:hover,.a11y-trigger[aria-expanded="true"]{color:var(--rust-bright)!important;border-color:var(--rust)!important;background:rgba(217,119,66,0.08)!important;}
.a11y-trigger svg{display:block;}
.a11y-menu{display:none;position:fixed;top:62px;right:24px;width:260px;background:var(--bg-2,#1a130c);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:0 12px 40px rgba(0,0,0,0.6);z-index:200;font-family:'Inter',sans-serif;}
.a11y-menu.open{display:block;}
.a11y-menu-title{font-family:'Rajdhani',sans-serif;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--rust-bright);margin-bottom:12px;}
.a11y-section{margin-bottom:14px;}
.a11y-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;}
.a11y-row{display:flex;gap:6px;}
.a11y-option{flex:1;padding:8px 10px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-family:inherit;font-size:12px;cursor:pointer;transition:all 0.12s;}
.a11y-option:hover{border-color:var(--rust-dim);color:var(--text);}
.a11y-option.active{background:var(--rust);color:#fff;border-color:var(--rust);}
.a11y-reset{width:100%;padding:8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-family:inherit;font-size:11px;letter-spacing:0.5px;cursor:pointer;text-transform:uppercase;}
.a11y-reset:hover{color:var(--text);border-color:var(--rust-dim);}
/* Large text: scale html root so it cascades to every text element, including home pages */
html[data-text="large"]{font-size:19px!important;}
html[data-text="large"] .doc-content p,html[data-text="large"] .doc-content li{font-size:20px!important;line-height:1.7!important;}
html[data-text="large"] .doc h1{font-size:clamp(40px,7vw,64px)!important;}
html[data-text="large"] .doc-content h2{font-size:clamp(28px,5vw,36px)!important;}
html[data-text="large"] .doc-content h3{font-size:clamp(22px,4vw,28px)!important;}
html[data-text="large"] .hero-title,html[data-text="large"] .home-title,html[data-text="large"] .stat-num{font-size:1.25em!important;}
html[data-text="large"] .stat-lbl,html[data-text="large"] .hero-desc{font-size:1.15em!important;}
/* Deuteranopia: swap rust palette to blue-yellow safe equivalents */
html[data-cb="deuteranopia"]{--rust:#4a90e2!important;--rust-bright:#6ba8ee!important;--rust-dim:#2f6dc0!important;--rust-very-bright:#8cc0f5!important;}
/* Override SHELL-LOCK to remove margin-left:auto on .nav-links so nav can sit closer to search */
.nav-links{margin-left:0!important;}
.nav-inner{justify-content:flex-start!important;gap:16px!important;}


/* === Canonical block 5 === */
/* SITE-SHELL-LOCK — canonical metrics + typography, identical across modes */
html, body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important; font-size: 16px !important; line-height: 1.65 !important; }
.brand-mark{width:38px!important;height:38px!important;flex-shrink:0!important;}
.brand-title{font-family:'Rajdhani',sans-serif!important;font-size:16px!important;font-weight:700!important;letter-spacing:1.5px!important;line-height:1!important;}
.brand-sub{font-size:9px!important;letter-spacing:1.5px!important;line-height:1!important;margin-top:4px!important;}
.brand{display:flex!important;align-items:center!important;gap:10px!important;height:38px!important;min-height:38px!important;max-height:38px!important;}
.nav-inner{height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;justify-content:flex-start!important;gap:12px!important;align-items:center!important;}
.top-nav{padding:14px 24px!important;overflow-x:clip!important;overflow-y:visible!important;max-width:100vw!important;box-sizing:border-box!important;}html,body{max-width:100vw!important;overflow-x:clip!important;}
nav.top-nav{height:auto!important;}
.mode-pill,.search-trigger,.nav-links a,.nav-links button.nav-trigger,.has-dropdown>.nav-trigger{
  height:36px!important;min-height:36px!important;max-height:36px!important;
  line-height:1!important;font-size:12px!important;padding:0 14px!important;
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  box-sizing:border-box!important;
}
.mode-pill-btn{color:rgb(241,232,219)!important;}
.mode-pill-btn.active{color:#fff!important;}
.nav-links{margin-left:28px!important;gap:4px!important;flex-wrap:nowrap!important;}

.doc-content p{font-size:16px!important;line-height:1.75!important;margin:14px 0!important;}
.doc-content li{font-size:16px!important;line-height:1.7!important;}
.doc-nav a{min-height:auto!important;padding:12px 18px!important;font-size:14px!important;}
.rust-icon{max-width:none!important;}
.a11y-trigger{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:0!important;margin-left:auto!important;color:var(--rust)!important;border:1.5px solid var(--rust)!important;background:rgba(217,119,66,0.12)!important;border-radius:999px!important;}.a11y-trigger:hover,.a11y-trigger[aria-expanded="true"]{color:#fff!important;background:var(--rust)!important;border-color:var(--rust-bright)!important;}.a11y-trigger svg{width:24px!important;height:24px!important;}
/* MOBILE: hamburger menu below 768px */
.nav-toggle{display:none;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);cursor:pointer;}
@media (max-width:1300px){
  .top-nav{padding:10px 16px!important;}
  .nav-inner{gap:8px!important;flex-wrap:nowrap!important;}
  .brand-sub{display:none!important;}
  .mode-pill .mode-pill-btn{padding:0 10px!important;font-size:11px!important;}
  .search-trigger{padding:0 10px!important;}
  .search-trigger .search-label,.search-trigger .search-kbd{display:none!important;}
  .nav-toggle{display:inline-flex!important;width:36px!important;height:36px!important;min-height:36px!important;align-items:center;justify-content:center;margin-left:auto!important;}
  .nav-links{display:none!important;position:absolute!important;top:60px!important;left:0!important;right:0!important;background:var(--bg-2,#1a130c)!important;border-bottom:1px solid var(--border)!important;flex-direction:column!important;align-items:stretch!important;padding:8px!important;gap:0!important;flex-wrap:nowrap!important;z-index:99!important;margin-left:0!important;}
  .nav-links.open{display:flex!important;}
  .nav-links li{width:100%!important;}
  .nav-links li.has-dropdown{min-width:0!important;width:100%!important;}
  .nav-links a,.nav-links button.nav-trigger{width:100%!important;justify-content:space-between!important;padding:12px 16px!important;font-size:13px!important;border-radius:0!important;}
  .nav-dropdown{position:static!important;display:none!important;background:var(--bg-3,#241a13)!important;padding:4px 0 4px 16px!important;}
  .has-dropdown.open .nav-dropdown{display:flex!important;flex-direction:column!important;}
  .a11y-trigger{margin-left:8px!important;flex-shrink:0!important;}
  .a11y-menu{right:8px!important;top:56px!important;width:calc(100vw - 16px)!important;max-width:300px!important;}
}
@media (max-width:640px){
  .brand-title{display:none!important;}
  .brand-mark{margin:0!important;}
  .mode-pill .mode-pill-btn{padding:0 8px!important;font-size:10px!important;letter-spacing:0.8px!important;}
  .search-trigger{width:36px!important;min-width:36px!important;padding:0!important;justify-content:center!important;}
  .nav-inner{gap:6px!important;}
  .top-nav{padding:8px 10px!important;}
}

/* COMPACT_NAV_1300_1700 + DRAWER FIX */
@media (min-width:1301px) and (max-width:1700px){
  .nav-links a,.nav-links button.nav-trigger{padding:0 8px!important;}
  .brand-sub{display:none!important;}
  .search-trigger .search-label,.search-trigger .search-kbd{display:none!important;}
  .search-trigger{padding:0 10px!important;}
  .mode-pill .mode-pill-btn{padding:0 8px!important;font-size:10px!important;}
}

@media (max-width:1300px){
  .nav-links{border-radius:0!important;border:none!important;outline:none!important;box-shadow:none!important;}
  .nav-links li.has-dropdown{border:none!important;border-radius:0!important;outline:none!important;}
  .nav-links a,.nav-links button.nav-trigger{border-radius:0!important;border:none!important;}
}


/* === Canonical block 6 === */
/*cb-tier-shapes*/
.sr-term::before{content:"\25CF  ";color:var(--rust);}
.sr-section::before{content:"\25A0  ";color:var(--rust-bright);}
.sr-page::before{content:"\25B2  ";color:var(--text-dim);}
.loot-table tbody tr td:first-child::before{content:"\25CF  ";color:var(--rust);font-size:10px;vertical-align:middle;}
.loot-table tbody tr:nth-child(2) td:first-child::before{content:"\25A0  ";color:var(--rust-bright);}
.loot-table tbody tr:nth-child(3) td:first-child::before{content:"\2605  ";color:var(--rust-bright);}
.loot-table tbody tr:nth-child(4) td:first-child::before{content:"\25C6  ";color:var(--rust);}


/* === Canonical block 7 === */
/* CONTENT-UNDER-NAV FORCE FIX */
html { scroll-padding-top: 90px; }
body.has-doc-nav { padding-top: 0 !important; }
body.has-doc-nav > main:first-of-type,
body.has-doc-nav > main#main,
body.has-doc-nav > main.doc-body,
body.has-doc-nav > article,
body.has-doc-nav > .splash-page,
body.has-doc-nav > h1:first-of-type { padding-top: 30px !important; }
body.has-doc-nav > h1 { padding-top: 60px !important; margin-top: 0 !important; }
/* Sticky nav backdrop creates visual gap */
nav.top-nav + * { margin-top: 0 !important; }


/* === Canonical block 8 === */
/* BODY-FLEX-START FIX */
body, body.has-doc-nav { justify-content: flex-start !important; }


/* === Canonical block 9 === */
.lbl{fill:#f1e8db;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.sub{fill:#b0a08a;font-family:Inter,sans-serif;font-size:9px}.h{fill:#ff8c5c;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}
/* === Themed scrollbars (universal, Chrome + Firefox + Edge + Safari) === */
*, *::before, *::after { scrollbar-color: var(--rust-dim, #8a4a26) rgba(20, 16, 12, 0.55); scrollbar-width: thin; }
*::-webkit-scrollbar { width: 10px !important; height: 10px !important; }
*::-webkit-scrollbar-track { background: rgba(20, 16, 12, 0.55) !important; border-radius: 6px !important; }
*::-webkit-scrollbar-thumb { background: var(--rust-dim, #8a4a26) !important; border-radius: 6px !important; border: 2px solid rgba(20, 16, 12, 0.55) !important; }
*::-webkit-scrollbar-thumb:hover { background: var(--rust, #d97742) !important; }
*::-webkit-scrollbar-corner { background: rgba(20, 16, 12, 0.55) !important; }
*::-webkit-scrollbar-button { display: none !important; height: 0 !important; width: 0 !important; }

/* === Fixed left TOC (pills) === */
.toc-fixed { display: none; }
@media (min-width: 1300px) {
  .toc-fixed {
    display: flex;
    flex-direction: column;
    position: fixed;
    left: 16px;
    top: 110px;
    bottom: 80px;
    width: 230px;
    overflow-y: auto;
    padding: 14px 12px;
    background: rgba(20, 16, 12, 0.78);
    border: 1px solid var(--border, #3a2e26);
    border-radius: 12px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 40;
    font-family: 'Inter', sans-serif;
  }
  .toc-fixed-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    color: var(--text-dimmer, #6b6259);
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 10px 4px;
  }
  .toc-fixed .toc-pills { display: flex; flex-direction: column; gap: 5px; }
  .toc-fixed a {
    display: block;
    background: rgba(40, 32, 26, 0.6);
    border: 1px solid var(--border, #3a2e26);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 12px;
    color: var(--text-dim, #aaa097);
    text-decoration: none;
    transition: all 0.15s ease;
    line-height: 1.3;
    text-align: left;
    box-sizing: border-box;
    word-wrap: break-word;
  }
  .toc-fixed a:hover {
    border-color: var(--rust, #d97742);
    color: var(--rust-bright, #ffb088);
    background: rgba(217, 119, 66, 0.12);
  }
  .toc-fixed a.active {
    background: var(--rust, #d97742);
    color: #fff;
    border-color: var(--rust-bright, #ffb088);
    box-shadow: 0 0 12px rgba(217, 119, 66, 0.35);
  }
}
@media (min-width: 1700px) {
  .toc-fixed { width: 270px; left: 24px; }
  .toc-fixed a { font-size: 13px; padding: 7px 15px; }
}




/* === GLOBAL IMAGE SIZING (was missing — caused 512x512 native renders on /04a_Industrial_Visual) === */
article img, .doc-content img, main img { max-width: 100% !important; height: auto !important; vertical-align: middle; }
/* Inline rust-icons stay tiny */
img.rust-icon { max-width: 22px !important; max-height: 22px !important; width: 22px; height: 22px; display: inline-block; vertical-align: -4px; }
/* Standalone images (alone in their paragraph) get bounded */
article p > img:only-child:not(.rust-icon),
.doc-content p > img:only-child:not(.rust-icon) {
  max-width: 240px !important;
  display: block;
  margin: 16px auto;
}
/* Images in tables stay reasonable */
article td img, article th img { max-width: 32px !important; max-height: 32px !important; }

/* ============================================================
   MOBILE TOP-BAR — AUTHORITATIVE (fixes a11y/search overflow)
   Single source of truth for the top bar at <=860px. High
   specificity (nav.top-nav .nav-inner ...) so it decisively
   wins over earlier patch rules incl. the 44px .a11y-trigger.
   Row order: brand | (auto gap) mode-pill search a11y hamburger
   Verified no overflow / no clip down to 320px viewport.
   ============================================================ */
@media (max-width:860px){
  nav.top-nav{padding:8px 12px!important;overflow-x:clip!important;}
  nav.top-nav .nav-inner{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
    gap:7px!important;min-height:0!important;padding:0!important;justify-content:flex-start!important;}
  nav.top-nav .nav-inner .brand{order:0!important;flex:0 0 auto!important;margin:0!important;}
  nav.top-nav .nav-inner .brand-text{display:none!important;}
  nav.top-nav .nav-inner .mode-pill{order:1!important;flex:0 0 auto!important;margin-left:auto!important;
    height:38px!important;padding:3px!important;}
  nav.top-nav .nav-inner .mode-pill .mode-pill-btn{padding:0 9px!important;font-size:10px!important;
    letter-spacing:0.4px!important;height:32px!important;}
  nav.top-nav .nav-inner .search-trigger{order:2!important;flex:0 0 auto!important;margin:0!important;
    width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;
    padding:0!important;justify-content:center!important;border-radius:999px!important;}
  nav.top-nav .nav-inner .search-trigger .search-trigger-text,
  nav.top-nav .nav-inner .search-trigger kbd{display:none!important;}
  nav.top-nav .nav-inner .a11y-trigger{order:3!important;flex:0 0 auto!important;margin:0!important;
    width:40px!important;min-width:40px!important;max-width:40px!important;
    height:40px!important;min-height:40px!important;max-height:40px!important;}
  nav.top-nav .nav-inner .nav-toggle{order:4!important;flex:0 0 auto!important;margin:0!important;
    display:inline-flex!important;width:40px!important;min-width:40px!important;max-width:40px!important;
    height:40px!important;align-items:center!important;justify-content:center!important;}
  nav.top-nav .nav-inner .nav-links{order:5!important;}
}
@media (max-width:430px){
  nav.top-nav{padding:8px 8px!important;}
  nav.top-nav .nav-inner{gap:5px!important;}
  nav.top-nav .nav-inner .mode-pill{padding:2px!important;}
  nav.top-nav .nav-inner .mode-pill .mode-pill-btn{padding:0 5px!important;font-size:9px!important;letter-spacing:0!important;}
  nav.top-nav .nav-inner .search-trigger,
  nav.top-nav .nav-inner .a11y-trigger,
  nav.top-nav .nav-inner .nav-toggle{width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;}
}


/* === Hover-to-enlarge popup for rust-icons === */
img.rust-icon { cursor: zoom-in; }
#iconPop {
  position: fixed; z-index: 9999; display: none; pointer-events: none;
  background: var(--bg-2, #15110d); border: 1px solid var(--rust, #d97742);
  border-radius: 9px; padding: 10px 10px 8px; box-shadow: 0 14px 38px rgba(0,0,0,0.72);
}
#iconPop img { display: block; width: 148px; height: 148px; object-fit: contain;
  image-rendering: auto; background: rgba(0,0,0,0.25); border-radius: 5px; }
#iconPop .ip-name { margin-top: 7px; font-family: 'Inter', sans-serif; font-size: 12px;
  font-weight: 600; color: var(--rust-bright, #ff8c5c); text-align: center;
  text-transform: capitalize; max-width: 148px; }
