/* APEX in Production - one small stylesheet, system fonts (nothing to download
   before the text shows), light + dark from the OS setting. */
:root{
  --bg:#ffffff; --fg:#1b1f24; --muted:#5b6470; --line:#e3e7ec; --soft:#f5f7fa;
  --accent:#b8401a; --accent-soft:#fbeee8; --code-bg:#f6f8fa; --link:#1f5fa8;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme=light]){
    --bg:#111418; --fg:#e6e9ee; --muted:#9aa4b1; --line:#262c34; --soft:#171b21;
    --accent:#f08a5d; --accent-soft:#2a1d17; --code-bg:#0d1117; --link:#79b0f0;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);
  font:17px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
a{color:var(--link)}
a:hover{text-decoration-thickness:2px}

.site-head{border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:800;text-decoration:none;color:var(--fg);letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.mark{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--accent);color:#fff;
  border-radius:6px;padding:1px 7px;font-size:.85rem}
.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 0}
.nav a{margin-inline-start:18px;color:var(--muted);text-decoration:none;font-weight:600}
.nav a:hover{color:var(--fg)}

.intro{padding:40px 0 8px}
.intro h1{font-size:2rem;line-height:1.2;margin:0 0 8px;letter-spacing:-.02em}
.intro p{color:var(--muted);margin:0}
.post-list{list-style:none;padding:0;margin:24px 0 48px}
.post-list li{padding:20px 0;border-top:1px solid var(--line)}
.pl-title{font-size:1.2rem;font-weight:750;text-decoration:none;color:var(--fg);line-height:1.35}
.pl-title:hover{color:var(--accent)}
.pl-desc{margin:6px 0 4px;color:var(--fg)}
.meta{color:var(--muted);font-size:.9rem;margin:0}
.meta a{color:inherit}

.post{padding:36px 0 40px}
.post-head h1{font-size:2.05rem;line-height:1.2;margin:0 0 10px;letter-spacing:-.02em}
.chips{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.78rem;border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--muted)}
.chip.topic{color:var(--fg);font-weight:700;text-decoration:none}
.chip.topic:hover{border-color:var(--accent)}
.chip.tested{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:700}
.toc{margin:26px 0;padding:14px 18px;background:var(--soft);border:1px solid var(--line);border-radius:10px;font-size:.95rem}
.toc-h{margin:0 0 4px;font-weight:700}
.toc ol{margin:0;padding-inline-start:20px}
.body h2{font-size:1.45rem;line-height:1.3;margin:2.1em 0 .6em;letter-spacing:-.01em}
.body h3{font-size:1.15rem;margin:1.7em 0 .5em}
.body .anchor{margin-inline-start:.35em;color:var(--line);text-decoration:none;font-weight:400}
.body h2:hover .anchor,.body h3:hover .anchor{color:var(--muted)}
.body img{max-width:100%;height:auto}
.body blockquote{margin:1.4em 0;padding:.2em 1em;border-inline-start:4px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0}
.body table{border-collapse:collapse;width:100%;font-size:.93rem;margin:1.2em 0;display:block;overflow-x:auto}
.body th,.body td{border:1px solid var(--line);padding:7px 10px;text-align:start;vertical-align:top}
.body th{background:var(--soft)}
code{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:.88em}
:not(pre)>code{background:var(--code-bg);border:1px solid var(--line);border-radius:5px;padding:.1em .35em}
.hl{background:var(--code-bg)!important;border:1px solid var(--line);border-radius:10px;margin:1.3em 0;overflow-x:auto}
.hl pre{margin:0;padding:14px 16px;line-height:1.55;font-size:.86rem}
.author-box{margin-top:44px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-size:.95rem}
.author-box p{margin:0}

.site-foot{border-top:1px solid var(--line);color:var(--muted);font-size:.88rem;padding:22px 0 30px}
.site-foot p{margin:.3em 0}
.site-foot a{color:inherit}
.fine{font-size:.78rem}
@media (max-width:600px){
  body{font-size:16px}
  .post-head h1,.intro h1{font-size:1.6rem}
}
