:root{--bg:#fdfcfa;--s:#ffffff;--bd:#e8e5e0;--t:#1a1915;--t2:#6b6456;--t3:#9c8f7d;--a:#d97706;--a2:#b45309;--tbg:#fef3c7;--tt:#92400e;--code-bg:#f5f2ed;--code-t:#c7254e;--code-bd:#e8e5e0;--r:8px}
@media(prefers-color-scheme:dark){
:root:not([data-theme="light"]){--bg:#151a23;--s:#1c2130;--bd:#2e3546;--t:#e2e4e9;--t2:#9ba3b2;--t3:#6b7280;--a:#60a5fa;--a2:#93c5fd;--tbg:rgba(96,165,250,.1);--tt:#93c5fd;--code-bg:#1c2130;--code-t:#e06c75;--code-bd:#2e3546}
}
[data-theme="dark"]{--bg:#151a23;--s:#1c2130;--bd:#2e3546;--t:#e2e4e9;--t2:#9ba3b2;--t3:#6b7280;--a:#60a5fa;--a2:#93c5fd;--tbg:rgba(96,165,250,.1);--tt:#93c5fd;--code-bg:#1c2130;--code-t:#e06c75;--code-bd:#2e3546}
[data-theme="dark-warm"]{--bg:#1c1917;--s:#292524;--bd:#44403c;--t:#e7e5e4;--t2:#a8a29e;--t3:#78716c;--a:#f59e0b;--a2:#fbbf24;--tbg:rgba(245,158,11,.12);--tt:#fbbf24;--code-bg:#292524;--code-t:#e5c07b;--code-bd:#44403c}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--t);line-height:1.8;min-height:100vh;font-size:15px}
.container{max-width:720px;margin:0 auto;padding:48px 24px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.topbar-right{display:flex;align-items:center;gap:10px}
.back{font-size:13px;color:var(--a);text-decoration:none}
.back:hover{color:var(--a2)}
.theme-toggle{background:none;border:1px solid var(--bd);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:14px;line-height:1;color:var(--t2);transition:border-color .2s}
.theme-toggle:hover{border-color:var(--a)}
h1{font-size:26px;font-weight:700;line-height:1.3;margin-bottom:12px}
.meta{margin-bottom:12px}
.meta-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.meta-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t3);margin-bottom:16px}
.tag{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:500;background:var(--tbg);color:var(--tt)}
.cat{font-size:10px;color:var(--a2);font-weight:500;background:rgba(180,83,9,.08);padding:2px 6px;border-radius:4px}
.date{font-size:12px;color:var(--t3)}
.desc{font-size:14px;color:var(--t2);margin-bottom:24px;padding:12px 16px;background:var(--s);border:1px solid var(--bd);border-radius:var(--r)}
article h1{font-size:22px;margin:32px 0 12px}
article h2{font-size:19px;margin:28px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--bd)}
article h3{font-size:16px;margin:24px 0 8px}
article h4{font-size:15px;font-weight:600;margin:22px 0 8px;padding:2px 0 2px 10px;border-left:3px solid var(--a)}
article h5,article h6{font-size:14px;margin:20px 0 6px}
article p{margin:10px 0}
article a{color:var(--a);text-decoration:none}
article a:hover{text-decoration:underline}
article strong{font-weight:600}
article ul,article ol{margin:10px 0;padding-left:24px}
article li{margin:4px 0}
article li.task-list-item{list-style:none;margin-left:-20px}
article blockquote{margin:12px 0;padding:8px 16px;border-left:3px solid var(--a);background:var(--s);border-radius:0 var(--r) var(--r) 0;color:var(--t2)}
article code{background:var(--code-bg);padding:1px 5px;border-radius:3px;font-size:13px;font-family:'SF Mono',Menlo,'Fira Code',monospace;color:var(--code-t);border:1px solid var(--code-bd)}
article pre{margin:14px 0;padding:16px;background:var(--code-bg);border-radius:var(--r);overflow-x:auto;border:1px solid var(--bd)}
article pre code{background:none;padding:0;font-size:13px;line-height:1.5;color:inherit;border:none}
article img,article video{max-width:100%;height:auto;border-radius:var(--r);margin:12px 0;display:block}
article hr{border:none;border-top:1px solid var(--bd);margin:24px 0}
article table{border-collapse:collapse;width:100%;font-size:13px;margin:12px 0}
article th,article td{border:1px solid var(--bd);padding:6px 10px;text-align:left}
article th{background:var(--s);font-weight:600;font-size:12px}
article tr:nth-child(even){background:var(--s)}
article input[type="checkbox"]{margin-right:4px}
article s{color:var(--t3)}
.header-link{font-size:12px;color:var(--t3);text-decoration:none;margin-left:6px;opacity:0;transition:opacity .2s}
a.video-seek{display:inline-block;font-size:11px;font-weight:600;color:var(--a);border:1px solid var(--a);border-radius:12px;padding:1px 9px;margin:2px 0 6px;text-decoration:none;line-height:1.6;transition:background .15s,color .15s;cursor:pointer}
a.video-seek:hover{background:var(--a);color:#fff}
h2:hover .header-link,h3:hover .header-link,h4:hover .header-link{opacity:1}
.keywords{margin-bottom:16px;display:flex;flex-wrap:wrap;gap:4px}
.kw{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;background:var(--code-bg);color:var(--t2);border:1px solid var(--bd)}
.refs{margin-top:32px;padding:12px 16px;background:var(--s);border:1px solid var(--bd);border-radius:var(--r);font-size:12px}
.refs-label{font-size:11px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.3px}
.refs ul{margin:6px 0 0;padding-left:16px;list-style:disc}
.refs li{margin:3px 0;color:var(--t2)}
.refs a{color:var(--a);word-break:break-all}
.bh-page-reactions{justify-content:center!important;margin:24px 0 0!important}
.comments-section{max-width:720px;margin:32px auto 0;padding:24px 24px 0;border-top:1px solid var(--bd)}
.footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--bd);text-align:center;color:var(--t3);font-size:11px;max-width:720px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
/* Pygments light */
/*__PYG_LIGHT__*/
@media(prefers-color-scheme:dark){
/*__PYG_DARK_AUTO__*/
}
/*__PYG_DARK__*/
/*__PYG_DARK_WARM__*/
.toc-sidebar{position:fixed;top:80px;right:max(16px,calc((100vw - 720px)/2 - 300px));width:240px;max-height:calc(100vh - 120px);overflow-y:auto;font-size:12px;line-height:1.6;border-left:2px solid var(--bd);padding-left:12px;scrollbar-width:none}
.toc-sidebar::-webkit-scrollbar{display:none}
.toc-title{font-size:11px;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.toc-sidebar ul{list-style:none;padding:0;margin:0}
.toc-sidebar li{margin:3px 0}
.toc-sidebar li li{padding-left:12px}
.toc-sidebar li li li{padding-left:10px}
.toc-sidebar li li li a{font-size:11px}
.toc-sidebar a{color:var(--t3);text-decoration:none;display:block;padding:2px 0;border-radius:3px;transition:color .15s}
.toc-sidebar a:hover{color:var(--a)}
.toc-sidebar a.active{color:var(--a);font-weight:500}
.toc-toggle{display:none;position:fixed;top:64px;right:20px;width:40px;height:40px;border-radius:50%;background:var(--s);border:1px solid var(--bd);color:var(--t2);font-size:16px;cursor:pointer;z-index:1001;box-shadow:0 2px 8px rgba(0,0,0,.15);align-items:center;justify-content:center}
@media(max-width:1200px){.toc-sidebar{display:none;position:fixed;top:114px;bottom:auto;right:16px;left:auto;width:min(320px,calc(100vw - 32px));max-height:50vh;background:var(--s);border:1px solid var(--bd);border-left:2px solid var(--bd);border-radius:var(--r);padding:16px;z-index:1000;box-shadow:0 4px 20px rgba(0,0,0,.2)}.toc-sidebar.open{display:block}.toc-toggle{display:flex}}
@media(max-width:600px){.container{padding:24px 16px}h1{font-size:22px}article h2{font-size:17px}body{font-size:14px}}
