/* DS deck — local overrides on top of tokyo-night */
.deck-back{position:fixed;top:24px;left:40px;font-family:var(--font-mono);font-size:12px;color:var(--text-3);text-decoration:none;letter-spacing:.06em;z-index:30}
.deck-back:hover{color:var(--accent)}

.eyebrow-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:middle}

/* shared two-column with code */
.code-block{font-family:var(--font-mono);font-size:14px;line-height:1.65;background:#0d1117;border:1px solid var(--border);border-radius:12px;padding:18px 22px;color:#c0caf5;overflow:auto;max-height:420px}
.code-block .k{color:#bb9af7}
.code-block .s{color:#9ece6a}
.code-block .c{color:#565f89;font-style:italic}
.code-block .n{color:#7dcfff}
.code-block .f{color:#e0af68}

/* boxed visualization for ASCII art / diagrams */
.viz{font-family:var(--font-mono);font-size:13px;line-height:1.65;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:18px;color:var(--text-1);white-space:pre;overflow:auto}

/* compare cards */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cmp .c-h{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--accent);margin-bottom:8px;text-transform:uppercase}
.cmp .pro{border-left:3px solid var(--good)}
.cmp .con{border-left:3px solid var(--bad)}

/* big O badges */
.bigo{display:inline-block;padding:3px 10px;border-radius:6px;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.03em}
.o-1{background:#1e3a25;color:#9ece6a}
.o-logn{background:#143b4a;color:#7dcfff}
.o-n{background:#3a2a14;color:#e0af68}
.o-nlogn{background:#2a1e3e;color:#bb9af7}
.o-n2{background:#3e1e26;color:#f7768e}

/* table */
table.cmp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
table.cmp-table th, table.cmp-table td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left}
table.cmp-table th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:600;background:var(--surface-2)}
table.cmp-table tr:hover td{background:rgba(255,255,255,.02)}
table.cmp-table td.mono{font-family:var(--font-mono);color:var(--accent)}

/* algorithm step list */
.steps{counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;padding:14px 16px 14px 56px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;position:relative;font-size:15px}
.steps li::before{content:counter(s);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:14px}

/* tree-visual */
.tree-svg{display:block;margin:0 auto;max-height:380px}

.h1.huge{font-size:96px;line-height:.98}
.label-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.label-strip .pill{font-size:12px}
.kbd{font-family:var(--font-mono);font-size:11px;padding:2px 7px;border-radius:5px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}
