*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:transparent;border-radius:10px;transition:background .3s}
*:hover::-webkit-scrollbar-thumb{background:var(--scroll)}
html{font-size:16.5px;scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',-apple-system,sans-serif;font-weight:400;line-height:1.75;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .2s ease,color .2s ease}

/* ═══════════════════════════════════════════════════════════════════
   PROGRESS BAR — thin accent line at very top
   ═══════════════════════════════════════════════════════════════════ */
.prog-track{position:fixed;top:0;left:0;right:0;height:2px;z-index:999;background:transparent}
.prog-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:0 1px 1px 0;transition:width .08s linear}

/* ═══════════════════════════════════════════════════════════════════
   TOPBAR — barely there, glassy
   ═══════════════════════════════════════════════════════════════════ */
.topbar{position:fixed;top:2px;left:0;right:0;z-index:200;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:48px;transition:background .3s}
.tb-l{display:flex;align-items:center;gap:12px}
.tb-file{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim);font-weight:400;letter-spacing:.02em}
.tb-sep{width:1px;height:14px;background:var(--border)}
.tb-meta{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:.01em}
.tb-r{display:flex;align-items:center;gap:8px}
.tb-search{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);cursor:pointer;padding:5px 10px;font-family:'JetBrains Mono',monospace;font-size:11px;border-radius:6px;transition:all .2s ease}
.tb-search:hover{color:var(--dim);background:var(--bg3)}
.tb-search kbd{background:rgba(255,248,235,0.06);padding:1px 6px;border-radius:4px;font-family:inherit;font-size:10px;color:var(--muted)}
.theme-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:5px 10px;font-family:'JetBrains Mono',monospace;font-size:11px;border-radius:6px;transition:all .2s ease}
.theme-btn:hover{color:var(--dim);background:var(--bg3)}

/* ═══════════════════════════════════════════════════════════════════
   TOC SIDEBAR — clean, breathing, no header noise
   ═══════════════════════════════════════════════════════════════════ */
.toc-panel{position:fixed;top:50px;left:0;bottom:0;width:260px;background:var(--toc-bg);padding:32px 0 80px;overflow-y:auto;z-index:150;transition:background .15s ease}
.toc-heading{display:none}
#toc-list{list-style:none;padding:0 16px}
#toc-list li{margin-bottom:1px}
#toc-list li a{display:block;padding:5px 12px;font-size:12.5px;color:var(--muted);text-decoration:none;line-height:1.5;border-radius:6px;border-left:2px solid transparent;transition:all .15s ease}
#toc-list li a:hover{color:var(--dim);background:rgba(255,248,235,0.03)}
#toc-list li a.active{color:var(--accent);background:var(--tag);border-left-color:var(--accent)}
#toc-list .h2 a{padding-left:24px}
#toc-list .h3 a{padding-left:36px;font-size:11.5px}
#toc-list .h4 a{padding-left:48px;font-size:11px}

/* ═══════════════════════════════════════════════════════════════════
   CONTENT AREA — focused reading
   ═══════════════════════════════════════════════════════════════════ */
.shell{padding-top:50px;padding-left:260px;min-height:100vh}
.shell.no-toc{padding-left:0}
.article-wrap{max-width:740px;margin:0 auto;padding:72px 56px 160px}

.doc-header{margin-bottom:48px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.doc-title{font-family:'Lora',serif;font-size:clamp(24px,4vw,36px);font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--text);margin-bottom:12px}
.doc-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted)}
.stat-sep{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.5;display:inline-block}

/* ═══════════════════════════════════════════════════════════════════
   TYPOGRAPHY — warm, readable, refined
   ═══════════════════════════════════════════════════════════════════ */
#content h1,#content h2,#content h3,#content h4,#content h5,#content h6{font-family:'Lora',serif;color:var(--text);line-height:1.3;letter-spacing:-.02em;scroll-margin-top:72px}
#content h1{font-size:1.8em;font-weight:600;margin:2.2em 0 .6em;padding-bottom:.3em;border-bottom:1px solid var(--border)}
#content h2{font-size:1.4em;font-weight:600;margin:1.8em 0 .5em}
#content h3{font-size:1.15em;font-weight:500;margin:1.5em 0 .4em;color:var(--dim)}
#content h4{font-size:1.05em;font-weight:500;margin:1.2em 0 .35em;color:var(--dim)}
#content h5{font-size:.95em;font-weight:500;margin:1em 0 .3em;color:var(--muted)}
#content h6{font-size:.9em;font-weight:500;margin:1em 0 .3em;color:var(--muted)}
#content p{font-size:16.5px;margin-bottom:1.15em;color:var(--text);font-weight:400}
#content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(217,119,87,0.25);transition:text-decoration-color .2s ease}
#content a:hover{text-decoration-color:var(--accent)}
#content strong{font-weight:600;color:var(--text)}
#content em{font-style:italic;color:var(--dim)}
#content del{color:var(--muted);text-decoration:line-through}
#content ul,#content ol{margin:0 0 1.15em 1.4em;font-size:16.5px;font-weight:400}
#content li{margin-bottom:.3em}
#content li>ul,#content li>ol{margin-top:.25em;margin-bottom:0}

/* Blockquote — subtle accent */
#content blockquote{border-left:3px solid var(--bq-accent);background:var(--bq-bg);margin:1.5em 0;padding:14px 20px;border-radius:0 6px 6px 0}
#content blockquote p{margin:0;color:var(--dim);font-style:italic}

/* Inline code — no border, just tinted bg */
#content code:not(pre code){font-family:'JetBrains Mono',monospace;font-size:.85em;background:var(--inline-bg);border:1px solid var(--inline-border);padding:1px 6px;border-radius:4px;color:var(--inline-code)}

/* Code blocks — warm dark, rounded, clean header */
#content pre{margin:1.5em 0;border-radius:10px;overflow:hidden;border:1px solid var(--code-br);background:var(--code-bg)}
.code-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:rgba(255,248,235,0.02)}
.code-lang{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.copy-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px 8px;font-family:'JetBrains Mono',monospace;font-size:10px;border-radius:4px;transition:all .15s ease;opacity:0}
.copy-btn:hover{color:var(--accent);background:rgba(217,119,87,0.08)}
.copy-btn.copied{color:var(--green);opacity:1}
#content pre:hover .copy-btn,div:hover>.code-bar .copy-btn{opacity:1}
#content pre code{display:block!important;padding:16px 20px!important;font-size:13px!important;line-height:1.65!important;overflow-x:auto;background:transparent!important;border:none!important;border-radius:0!important;color:var(--dim)}

/* Tables — clean, minimal separators */
#content table{width:100%;border-collapse:separate;border-spacing:0;margin:1.5em 0;font-size:14px;border-radius:8px;overflow:hidden;background:var(--bg2)}
#content th{padding:10px 16px;text-align:left;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;border-bottom:1px solid var(--border)}
#content td{padding:10px 16px;border-bottom:1px solid var(--border);color:var(--dim);font-weight:400}
#content tr:last-child td{border-bottom:none}
#content tbody tr:hover td{background:var(--bg2)}
#content hr{border:none;border-top:1px solid var(--border);margin:2.5em 0;display:block;height:0}

/* Images */
#content img{max-width:100%;border-radius:10px;border:none;display:block;margin:1.5em auto;box-shadow:0 4px 20px rgba(0,0,0,.15)}
#content figure{margin:1.5em 0;text-align:center}
#content figcaption{font-size:12px;color:var(--muted);margin-top:.5em;font-style:italic}
#content input[type=checkbox]{margin-right:8px;accent-color:var(--accent);cursor:default}

/* KaTeX */
.katex-display{margin:1.6em 0!important;overflow-x:auto;overflow-y:hidden;padding:.5em 0}
.katex{font-size:1.18em!important;line-height:1.4}
.katex-display>.katex{font-size:1.32em!important}
.katex-display>.katex>.katex-html{padding:.2em 0}

/* ═══════════════════════════════════════════════════════════════════
   BACK TO TOP — elegant floating circle
   ═══════════════════════════════════════════════════════════════════ */
.btt{position:fixed;bottom:32px;right:32px;width:40px;height:40px;border-radius:50%;background:var(--bg3);color:var(--dim);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;opacity:0;transform:translateY(8px);pointer-events:none;transition:all .2s ease;z-index:300;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.btt.show{opacity:1;transform:translateY(0);pointer-events:all}
.btt:hover{color:var(--accent);box-shadow:0 4px 20px rgba(0,0,0,.2);transform:translateY(-2px)}

/* ═══════════════════════════════════════════════════════════════════
   RELOAD INDICATOR
   ═══════════════════════════════════════════════════════════════════ */
.reload-ind{position:fixed;bottom:32px;left:32px;background:var(--bg3);color:var(--accent);padding:6px 14px;border-radius:20px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.05em;opacity:0;transform:translateY(4px);transition:all .3s ease;pointer-events:none;z-index:300;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.reload-ind.show{opacity:1;transform:translateY(0)}

@media(max-width:900px){
  .toc-panel{display:none}
  .shell{padding-left:0}
  .article-wrap{padding:48px 24px 120px}
}

/* ── Extension: Highlights ── */
.ext-highlight{background:color-mix(in srgb,var(--accent) 15%,transparent);padding:1px 4px;border-radius:3px;color:var(--text)}

/* ── Extension: Superscript / Subscript ── */
.ext-sup{font-size:.75em;vertical-align:super;line-height:0}
.ext-sub{font-size:.75em;vertical-align:sub;line-height:0}

/* ── Extension: Wikilinks ── */
.ext-wikilink{color:var(--accent);border-bottom:1px dashed color-mix(in srgb,var(--accent) 30%,transparent);cursor:pointer;transition:border-color .2s ease}
.ext-wikilink:hover{border-bottom-style:solid;border-bottom-color:var(--accent)}

/* ── Extension: Callouts ── */
.ext-callout{margin:1.5em 0;border-left:2px solid var(--callout-color);background:color-mix(in srgb,var(--callout-color) 4%,var(--bg));border-radius:0 8px 8px 0;overflow:hidden}
.ext-callout-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:color-mix(in srgb,var(--callout-color) 6%,transparent);font-weight:500}
.ext-callout-icon{font-size:14px;color:var(--callout-color)}
.ext-callout-title{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;color:var(--text)}
.ext-callout-body{padding:10px 16px}
.ext-callout-body p{margin:0 0 .5em;font-size:14px}
.ext-callout-body p:last-child{margin-bottom:0}

/* ── Extension: Flashcard blocks ── */
.ext-flashcard .ext-callout-title{font-size:15px;font-weight:600}
.ext-flashcard .ext-flashcard-body{max-height:0;overflow:hidden;transition:max-height .3s ease;border-top:1px dashed color-mix(in srgb,var(--callout-color) 20%,transparent)}
.ext-flashcard.flipped .ext-flashcard-body{max-height:800px;padding-top:10px}
.ext-flashcard-flip{margin-left:auto;background:none;border:1px solid color-mix(in srgb,var(--callout-color) 40%,transparent);color:var(--callout-color);cursor:pointer;padding:2px 10px;font-family:'JetBrains Mono',monospace;font-size:10px;border-radius:3px;transition:all .2s ease}
.ext-flashcard-flip:hover{background:color-mix(in srgb,var(--callout-color) 10%,transparent)}

/* ── Extension: Definition lists ── */
.ext-deflist{margin:1.5em 0}
.ext-deflist dt{font-weight:600;color:var(--text);margin-top:1.2em;font-size:15px;padding:6px 12px;background:color-mix(in srgb,var(--accent) 4%,transparent);border-left:2px solid var(--accent);border-radius:0 4px 4px 0}
.ext-deflist dt:first-child{margin-top:0}
.ext-deflist dd{margin:0.4em 0 0 0;padding:4px 12px 4px 18px;color:var(--dim);font-size:14px;font-weight:300;line-height:1.6}

/* ── Extension: Code tab groups ── */
.ext-code-tabs{margin:1.5em 0;border:1px solid var(--code-br);border-radius:10px;overflow:hidden}
.ext-code-tabs-bar{display:flex;background:color-mix(in srgb,var(--code-bg) 60%,var(--bg3));border-bottom:none;padding:0 8px;opacity:.85}
.ext-code-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;padding:8px 14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;transition:all .15s ease}
.ext-code-tab:hover{color:var(--dim)}
.ext-code-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.ext-code-tab-panel{display:none}
.ext-code-tab-panel.active{display:block}
.ext-code-tab-panel pre{margin:0!important;border:none!important;border-radius:0!important}

/* ── Extension: Footnotes ── */
.ext-fn-ref a{color:var(--accent);text-decoration:none;font-size:.75em;font-weight:600}
.ext-fn-ref a:hover{text-decoration:underline}
.ext-footnotes{margin-top:3em;font-size:13px;color:var(--dim)}
.ext-footnotes hr{border:none;border-top:1px solid var(--border);margin-bottom:1em}
.ext-footnotes ol{padding-left:1.5em}
.ext-footnotes li{margin-bottom:.5em;line-height:1.5}
.ext-fn-back{text-decoration:none;color:var(--accent);font-size:11px;margin-left:4px}

/* ── Extension: Citations ── */
.ext-citation{color:var(--accent);font-style:normal;font-size:.9em;background:color-mix(in srgb,var(--accent) 6%,transparent);padding:1px 5px;border-radius:3px;cursor:help}

/* ── Extension: Cross-references ── */
.ext-xref{color:var(--accent);text-decoration:none;font-weight:500}
.ext-xref:hover{text-decoration:underline}
.ext-xref-broken{color:var(--red);text-decoration:wavy underline}
.ext-xref-label{display:none}

/* ── Extension: Table merge ── */
#content td[colspan],#content th[colspan],#content td[rowspan],#content th[rowspan]{vertical-align:middle}

/* ── Extension: Code line highlighting ── */
.ext-hl-line{display:inline-block;width:100%;background:color-mix(in srgb,var(--accent) 10%,transparent);margin:0 -20px;padding:0 20px;border-left:2px solid var(--accent)}
.ext-code-line{display:inline-block;width:100%}

/* ── Extension: Code diff highlighting ── */
.ext-diff-add{display:inline-block;width:100%;background:color-mix(in srgb,var(--green) 10%,transparent);margin:0 -20px;padding:0 20px;border-left:2px solid var(--green)}
.ext-diff-del{display:inline-block;width:100%;background:color-mix(in srgb,var(--red) 10%,transparent);margin:0 -20px;padding:0 20px;border-left:2px solid var(--red)}

/* ── Extension: Code annotations ── */
.ext-code-annot{color:var(--accent);cursor:help;font-weight:600;border-bottom:1px dashed color-mix(in srgb,var(--accent) 50%,transparent)}
.ext-code-annot:hover,.ext-code-annot:focus{background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:2px;outline:none}
.ext-annot-list{display:none}

/* ── Extension: Mermaid ── */
.ext-mermaid{margin:1.5em 0;text-align:center;overflow-x:auto}
.ext-mermaid svg{max-width:100%;height:auto}
.ext-mermaid-error{color:var(--red);font-size:12px;background:color-mix(in srgb,var(--red) 6%,var(--bg));padding:12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--red) 15%,transparent)}

/* ── Extension: Video embeds ── */
.ext-embed{margin:1.5em 0;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:10px;border:1px solid var(--border)}
.ext-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%}

/* ── Extension: Status badges ── */
.ext-status-badge{display:inline-block;background:var(--badge-bg);color:var(--badge-text);font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:3px;margin-left:6px;vertical-align:middle}

/* ── Extension: Task progress ── */
.ext-task-progress{font-family:'JetBrains Mono',monospace;font-size:.65em;color:var(--muted);margin-left:8px;font-weight:400;vertical-align:middle}
.ext-task-progress.complete{color:var(--green)}

/* ── Extension: Inline annotations ── */
.ext-inline-annot{color:var(--accent);font-weight:600;cursor:help;border-bottom:1px dashed color-mix(in srgb,var(--accent) 50%,transparent)}
.ext-inline-annot:hover,.ext-inline-annot:focus{background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:2px;outline:none}

/* ── Extension: Abbreviations ── */
.ext-abbr{text-decoration:underline dotted var(--muted);text-underline-offset:3px;cursor:help;font-style:normal}
.ext-abbr:hover{text-decoration-color:var(--accent)}

/* ── Extension: API endpoint styling ── */
.api-endpoint {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin: 1.5em 0 1em;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 8px;
}
.method-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.endpoint-path {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  color: var(--text);
  font-weight: 500;
}
.api-body {
  margin-bottom: 1em;
}
.api-body p { font-size: 14px; }

/* ── Extension: Card callouts ── */
.ext-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 20px;
  margin: 0.5em 0;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--bg2);
}
.ext-card:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.ext-card-title {
  font-family: 'Lora', serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
}
.ext-card-body {
  font-size: 14px;
  color: var(--dim);
}
.ext-card-body p { margin: 0; font-size: 14px; }
.ext-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 12px;
  margin: 1em 0;
}

/* ── Extension: Step callouts ── */
#content { counter-reset: step-counter; }
.ext-step { counter-increment: step-counter; position: relative; padding-left: 48px; margin: 1.5em 0; }
.ext-step::before {
  content: counter(step-counter);
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Sans', sans-serif;
}
.ext-step-title {
  font-family: 'Lora', serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
}
.ext-step-body {
  font-size: 14px;
  color: var(--dim);
}
.ext-step-body p { margin: 0 0 0.5em; font-size: 14px; }

/* ── Extension: Details/summary ── */
.preview-pane details, #content details {
  margin: 1em 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}
details summary {
  padding: 10px 16px;
  cursor: pointer;
  font-weight: 500;
  background: var(--bg2);
}
details[open] summary {
  border-bottom: 1px solid var(--border);
}
details > *:not(summary) {
  padding: 0 16px;
}

/* ── Search modal ── */
.tb-search-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted);cursor:pointer;padding:5px 10px;font-family:'JetBrains Mono',monospace;font-size:11px;border-radius:6px;transition:all .2s ease}
.tb-search-btn:hover{color:var(--dim);background:var(--bg3)}
.tb-search-btn kbd{background:rgba(255,248,235,0.06);padding:1px 6px;border-radius:4px;font-family:inherit;font-size:10px;color:var(--muted)}

.ext-search-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);display:none;align-items:flex-start;justify-content:center;padding-top:min(20vh,160px)}
.ext-search-modal.open{display:flex}

.ext-search-dialog{width:min(580px,90vw);background:var(--bg2);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.1);overflow:hidden;display:flex;flex-direction:column;max-height:min(70vh,520px)}

.ext-search-input-wrap{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border)}
.ext-search-icon{font-size:16px;color:var(--muted);flex-shrink:0}
.ext-search-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:'DM Sans',sans-serif;font-size:15px;font-weight:300}
.ext-search-input::placeholder{color:var(--muted)}
.ext-search-esc{background:var(--bg3);border:none;padding:3px 8px;border-radius:4px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);flex-shrink:0;cursor:pointer}

.ext-search-results{list-style:none;overflow-y:auto;flex:1;padding:8px}
.ext-search-empty{padding:24px;text-align:center;color:var(--muted);font-size:13px}
.ext-search-section-header{padding:8px 12px 4px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--border);margin-top:4px}
.ext-search-section-header:first-child{border-top:none;margin-top:0}

.ext-search-result{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .1s ease}
.ext-search-result:hover,.ext-search-result.selected{background:var(--bg3)}
.ext-search-result-icon{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted);flex-shrink:0;width:18px;text-align:center}
.ext-search-result-text{font-size:13px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ext-search-result.selected .ext-search-result-text{color:var(--text)}

.ext-search-footer{display:flex;align-items:center;gap:16px;padding:10px 20px;border-top:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted)}
.ext-search-footer kbd{background:var(--bg3);border:none;padding:2px 6px;border-radius:3px;font-family:inherit;font-size:10px;margin-right:3px}

@keyframes search-highlight-fade{0%{background:color-mix(in srgb,var(--accent) 20%,transparent)}100%{background:transparent}}
.ext-search-highlight{animation:search-highlight-fade 1.5s ease-out;border-radius:4px}

/* ═══════════════════════════════════════════════════════════════════
   EXPORT DROPDOWN — minimal, matches topbar style
   ═══════════════════════════════════════════════════════════════════ */
.export-dropdown{position:relative;display:inline-block}
.export-btn{background:none;border:none;color:var(--muted);padding:3px 8px;border-radius:6px;font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:4px}
.export-btn:hover{color:var(--dim);background:rgba(255,248,235,0.03)}
.export-menu{display:none;position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:4px;min-width:160px;box-shadow:0 4px 16px rgba(0,0,0,.15);z-index:100}
.export-dropdown.open .export-menu{display:block}
.export-menu button{display:block;width:100%;background:none;border:none;color:var(--dim);padding:8px 12px;text-align:left;font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;border-radius:6px;transition:all .1s}
.export-menu button:hover{background:rgba(255,248,235,0.04);color:var(--text)}
