.fb-directory-button { border:0;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer;padding:8px 10px;white-space:nowrap; }
.theory-sidebar .fb-directory-button { width:100%;text-align:left;border:1px solid var(--border);border-radius:7px;margin:12px 0;padding:12px; }
button.fb-term { display:inline;background:none;border:0;border-radius:0;padding:0;margin:0;color:inherit;font:inherit;line-height:inherit;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--muted);text-underline-offset:5px;cursor:help; }
.fb-term:hover,.fb-term:focus-visible { color:var(--blue);text-decoration-style:solid; }
.fb-open { overscroll-behavior:none; }
.fb-dialog { --fb-bg:#fff;--fb-soft:#f5f5f7;--fb-ink:#202024;--fb-muted:#62626c;--fb-border:#dddde3;--fb-accent:#0869c4;position:fixed;inset:12px 12px 12px auto;margin:0;padding:0;border:1px solid var(--fb-border);border-radius:14px;background:var(--fb-bg);color:var(--fb-ink);width:min(600px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:none;max-width:none;box-shadow:0 16px 70px #0003;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;overflow:hidden; }
.fb-dialog[open] { display:flex;flex-direction:column; }.fb-dialog::backdrop { background:#0003; }
:root:not([data-theme=light]) .fb-dialog { --fb-bg:#1b1b1e;--fb-soft:#252528;--fb-ink:#eeeef1;--fb-muted:#b1b1bb;--fb-border:#3c3c43;--fb-accent:#87bdff; }
.fb-dialog * { box-sizing:border-box; }.fb-dialog button,.fb-dialog input,.fb-dialog select { font:inherit; }.fb-dialog button { cursor:pointer;color:inherit; }.fb-dialog button:disabled { opacity:.45;cursor:default; }
.fb-dialog :focus-visible,.fb-directory-button:focus-visible { outline:2px solid var(--fb-accent,var(--blue));outline-offset:3px; }
.fb-toolbar { display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--fb-border);flex-shrink:0;min-height:57px; }
.fb-toolbar>span { color:var(--fb-muted);font-size:13px; }.fb-toolbar button { background:transparent;border:0;padding:6px 0;font-size:13px; }.fb-toolbar [data-fb-close] { margin-left:auto;font-size:26px;line-height:26px;width:32px;height:32px; }
.fb-body { overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:26px 28px 40px;scrollbar-gutter:stable; }
.fb-heading>span { color:var(--fb-muted);font-size:12px; }.fb-heading h2 { font-size:27px;line-height:1.4;letter-spacing:-.5px;margin:10px 0 12px;font-weight:650; }.fb-heading h2:focus { outline:none; }.fb-heading>p { font-size:14px;color:var(--fb-muted);line-height:1.85;margin:0 0 22px; }
.fb-search-label { display:block;font-size:12px;color:var(--fb-muted); }.fb-search-label input { display:block;width:100%;padding:12px 13px;margin:7px 0 15px;border:1px solid var(--fb-border);border-radius:8px;background:var(--fb-soft);color:var(--fb-ink);font-size:14px; }
.fb-categories { display:flex;flex-wrap:wrap;gap:7px; }.fb-categories button { padding:7px 10px;border:1px solid var(--fb-border);border-radius:6px;background:transparent;font-size:12px; }.fb-categories button[aria-pressed=true] { background:var(--fb-ink);border-color:var(--fb-ink);color:var(--fb-bg); }
.fb-count { color:var(--fb-muted);font-size:12px;margin:19px 0 5px; }.fb-result { text-align:left;display:block;width:100%;border:0;border-bottom:1px solid var(--fb-border);background:transparent;padding:18px 0; }.fb-result:hover strong { color:var(--fb-accent); }.fb-result>span { font-size:11px;color:var(--fb-muted); }.fb-result strong { display:block;font-size:16px;font-weight:600;margin:7px 0; }.fb-result i { float:right;font-style:normal; }.fb-result small { font-size:13px;color:var(--fb-muted);line-height:1.7;display:block; }
.fb-empty { padding:25px 0;color:var(--fb-muted);line-height:1.8;font-size:14px; }
.fb-experiment-link { border:0;background:transparent;padding:0 0 10px;font-size:13px;color:var(--fb-accent)!important; }
.fb-context { border-left:2px solid var(--fb-border);padding:2px 0 2px 14px;margin:20px 0 26px; }.fb-context span { font-size:12px;color:var(--fb-muted); }.fb-context p { font-size:14px;line-height:1.85;margin:8px 0 0; }
.fb-explanation>p { font-size:15px;line-height:1.95;margin:18px 0; }.fb-math { font-size:14px;overflow-x:auto;overflow-y:hidden;padding:5px 2px; }.fb-math .katex-display { margin:.5em 0; }.fb-math-error { color:#c54; }
.fb-code { margin:22px 0;border:1px solid var(--fb-border);border-radius:8px;overflow:hidden; }.fb-code summary { cursor:pointer;font-size:13px;padding:12px 14px;background:var(--fb-soft); }.fb-code p { font-size:12px;line-height:1.7;color:var(--fb-muted);padding:0 14px; }.fb-code pre { padding:0 14px 16px;margin:0;overflow:auto;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4; }.fb-code code { color:var(--fb-ink);background:transparent; }
.fb-related { border-top:1px solid var(--fb-border);margin-top:28px;padding-top:18px; }.fb-related h3,.fb-lab h3 { font-size:15px;font-weight:600;margin:0 0 12px; }.fb-related button { display:block;text-align:left;border:0;background:transparent;padding:8px 0;font-size:13px;color:var(--fb-accent); }.fb-sources { margin-top:20px; }.fb-sources a { font-size:12px;color:var(--fb-muted); }
.fb-lab { border-top:1px solid var(--fb-border);padding-top:22px;margin-top:28px; }.fb-lab-heading { display:flex;justify-content:space-between;gap:10px;align-items:baseline; }.fb-lab-heading>span { font-size:11px;color:var(--fb-muted); }.fb-controls { display:grid;gap:15px;margin:12px 0 24px; }.fb-control { font-size:13px;display:block; }.fb-control output { float:right;font-variant-numeric:tabular-nums; }.fb-control input { display:block;width:100%;margin:12px 0 0;accent-color:var(--fb-ink); }
.fb-chart { display:block;width:100%;height:auto;overflow:visible; }.fb-chart text { fill:var(--fb-muted);font-size:15px;font-family:inherit; }.fb-line { stroke:var(--fb-ink);stroke-width:2;fill:none; }.fb-dashed { stroke:var(--fb-muted);stroke-width:1.5;stroke-dasharray:5 4;fill:none; }.fb-grid { stroke:var(--fb-border);stroke-width:1; }.fb-axis { stroke:var(--fb-muted);stroke-width:1; }.fb-area { fill:var(--fb-ink);fill-opacity:.14; }.fb-dot { fill:var(--fb-ink); }.fb-hollow { fill:var(--fb-bg);stroke:var(--fb-ink);stroke-width:2; }
.fb-readout { font-size:13px;line-height:1.85;color:var(--fb-muted);min-height:48px;font-variant-numeric:tabular-nums; }.fb-lab-actions { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px; }.fb-lab-actions button,.fb-reset,.fb-select select { background:var(--fb-soft);border:1px solid var(--fb-border);border-radius:6px;padding:8px 10px;font-size:12px;color:var(--fb-ink); }.fb-select { font-size:13px;display:block;margin:12px 0 20px; }.fb-select select { max-width:100%; }.fb-samples { font-size:12px;color:var(--fb-muted);line-height:2; }.fb-samples span { display:inline-block;min-width:23px;text-align:center;margin:2px;border-bottom:1px solid var(--fb-border);font-variant-numeric:tabular-nums; }.fb-step-log { font:12px/1.9 ui-monospace,monospace;color:var(--fb-muted);margin-top:14px;overflow-wrap:anywhere; }
.fb-matrices { display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 0; }.fb-matrix>span { display:block;font-size:12px;color:var(--fb-muted);margin-bottom:8px; }.fb-matrix table { border-collapse:collapse;margin:auto;font-variant-numeric:tabular-nums; }.fb-matrix td { padding:8px;min-width:36px;text-align:center;border:1px solid var(--fb-border);font-size:15px; }.fb-matrix td.fb-cell-selected { background:var(--fb-soft);box-shadow:inset 0 -2px var(--fb-ink); }.fb-matrix button { background:transparent;border:0;padding:2px;min-width:22px; }
@media(max-width:650px){.fb-dialog{inset:auto 0 0;width:100%;height:92dvh;border-radius:16px 16px 0 0;border-bottom:0}.fb-body{padding:22px 18px max(28px,env(safe-area-inset-bottom))}.fb-heading h2{font-size:24px}.fb-explanation>p{font-size:14px}.fb-toolbar{padding:10px 16px}.fb-matrices{gap:8px}.fb-matrix td{padding:7px;min-width:30px}.library-nav-actions .fb-directory-button{font-size:12px;padding:6px}}
