/* The Book of Sure */

:root{
  --bg:#0c0f14; --bg2:#11151c; --panel:#151a23; --line:#212938;
  --text:#e8edf4; --muted:#8b96a8; --faint:#5b6675;
  --accent:#4cc38a; --accent-dim:#2c7a58;
  --gold:#d9b45b; --code-bg:#0f131a;
  --mono:ui-monospace,'SF Mono','Cascadia Code','JetBrains Mono',Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
code{font-family:var(--mono);font-size:.92em;background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 5px}
pre code{background:none;border:none;padding:0}

/* top bar */
nav.top{position:sticky;top:0;z-index:10;background:rgba(12,15,20,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:18px;height:56px;padding:0 20px}
.brand{font-weight:800;font-size:18px;color:var(--text)}
.brand span{color:var(--accent)}
.brand:hover{text-decoration:none}
.bookmark{color:var(--muted);font-size:14.5px}
.ver{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:2px 10px}

/* layout */
.layout{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;padding:0 20px}
.sidebar{border-right:1px solid var(--line);padding:28px 20px 40px 0;font-size:14px}
.sidebar .cover{display:block;font-weight:700;color:var(--text);margin-bottom:14px}
.sidebar ol{list-style:none;counter-reset:ch}
.sidebar ol li{counter-increment:ch;margin:7px 0}
.sidebar ol li::before{content:counter(ch) ". ";color:var(--faint);font-family:var(--mono);font-size:12px}
.sidebar a{color:var(--muted)}
.sidebar a:hover{color:var(--text);text-decoration:none}
.sidebar a.here{color:var(--accent);font-weight:600}
.sidebar .appendix{display:block;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted)}

main{padding:36px 0 72px;max-width:46rem}
main h1{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:6px}
main .kicker{font-family:var(--mono);font-size:13px;color:var(--faint);margin-bottom:26px;display:block}
main h2{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:38px 0 12px}
main h3{font-size:16.5px;font-weight:700;margin:26px 0 8px}
main p{margin:14px 0;color:var(--text)}
main p.lede{color:var(--muted);font-size:17px}
main ul,main ol{margin:14px 0 14px 26px}
main li{margin:6px 0}
main .muted{color:var(--muted)}

pre.code{background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:16px 18px;font-family:var(--mono);font-size:13.5px;line-height:1.65;overflow-x:auto;margin:16px 0}
pre.code .cm{color:var(--gold);font-style:italic}
pre.term{background:var(--code-bg);border:1px solid var(--line);border-left:3px solid var(--accent-dim);border-radius:10px;padding:14px 18px;font-family:var(--mono);font-size:13.5px;line-height:1.7;overflow-x:auto;margin:16px 0;color:var(--muted)}
pre.term .p{color:var(--faint);user-select:none}
pre.term .out{color:var(--text)}

.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:14px 18px;margin:18px 0;font-size:14.5px;color:var(--muted)}
.note b{color:var(--text)}

table{width:100%;border-collapse:collapse;font-size:14px;margin:16px 0}
th{text-align:left;color:var(--faint);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;border-bottom:1px solid var(--line)}
td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--muted);vertical-align:top}
td:first-child{font-family:var(--mono);color:var(--text);white-space:nowrap;font-size:13px}
tr:last-child td{border-bottom:none}
.tbl{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:16px 0}

.pager{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:14.5px}
.pager a{color:var(--muted)}
.pager a:hover{color:var(--accent);text-decoration:none}

/* cover page */
.cover-hero{padding:64px 0 8px}
.cover-hero h1{font-size:52px}
.cover-hero .sub{font-size:19px;color:var(--muted);margin-top:10px}
.toc{margin-top:36px}
.toc a{display:flex;justify-content:space-between;gap:16px;padding:13px 4px;border-bottom:1px solid var(--line);color:var(--text)}
.toc a:hover{color:var(--accent);text-decoration:none}
.toc .n{font-family:var(--mono);color:var(--faint);font-size:13px;min-width:28px}
.toc .what{flex:1}
.toc .hint{color:var(--faint);font-size:13.5px;text-align:right}

@media(max-width:900px){
  .layout{grid-template-columns:1fr}
  .sidebar{display:none}
}
