:root{color-scheme:dark;--canvas:#111315;--panel:#1b1e22;--raised:#25292e;--line:#343a42;--text:#f4f7fa;--muted:#abb3bd;--accent:#21c7f3;--green:#45d19a;--amber:#f5bd4f}
*{box-sizing:border-box}html{scroll-padding-top:90px;background:var(--canvas)}body{margin:0;min-width:320px;color:var(--text);background:var(--canvas);font:16px/1.6 Inter,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.8}p{margin:0 0 18px;color:var(--muted)}h1,h2,h3{margin:0 0 14px;line-height:1.25;font-weight:650;letter-spacing:0}h1{font-size:34px}h2{font-size:22px}h3{font-size:18px}[hidden]{display:none!important}code{font-family:Consolas,"Liberation Mono",monospace;font-size:14px;color:#dce8f3;overflow-wrap:anywhere}pre{padding:18px;background:#191c20;border:1px solid var(--line);border-radius:6px;overflow:auto;margin:16px 0 24px;max-width:100%}pre code{white-space:pre;overflow-wrap:normal}ul{padding-left:22px;color:var(--muted)}li{padding:4px 0}li::marker{color:var(--green)}.skip{position:fixed;top:8px;left:8px;z-index:10;padding:8px 14px;background:var(--accent);color:#101315;transform:translateY(-160%)}.skip:focus{transform:none}
.header{height:72px;position:sticky;top:0;z-index:5;background:var(--canvas);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:20px}.brand{display:flex;align-items:center;gap:20px;min-width:0}.brand img{width:100px;height:34px;object-fit:contain}.brand span{font-size:14px;color:var(--muted);border-left:1px solid var(--line);padding-left:20px}.header-links{display:flex;gap:12px;align-items:center}.header-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;min-width:40px}.header-links a:hover{color:var(--accent)}.back{font-size:13px}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1540px;margin:auto}.sidebar{position:sticky;top:72px;height:calc(100svh - 72px);padding:36px 20px;border-right:1px solid var(--line)}.sidebar-title{font-size:11px;text-transform:uppercase;letter-spacing:0;color:var(--muted);padding-left:12px;margin-bottom:16px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:6px;font-size:14px}.sidebar nav a:hover{background:var(--panel)}.sidebar nav a[aria-current]{color:var(--accent);background:var(--raised)}.snapshot{margin:36px 12px 14px;font-size:12px;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:8px}.snapshot span:last-child{display:block;margin-top:7px;padding-left:14px;font-family:Consolas,monospace;color:var(--text)}.sidebar-source{display:flex;align-items:center;gap:6px;margin:0 12px;color:var(--muted);font-size:12px}.sidebar-source svg{width:15px;height:15px}.sidebar-source:hover{color:var(--accent)}main{padding:40px 44px 24px;min-width:0}.page-heading{margin-bottom:30px;max-width:830px}.page-heading p:last-child{margin-bottom:0}.eyebrow{font-size:12px;color:var(--accent);margin-bottom:12px}.overview-grid{border-top:1px solid var(--line)}.overview-item{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:22px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.overview-item>svg:first-child{color:var(--accent);width:24px;height:24px}.overview-item>svg:last-child{color:var(--muted)}.overview-item h2{font-size:19px;margin-bottom:5px}.overview-item p{font-size:14px;margin:0;max-width:650px}.overview-item:hover h2{color:var(--accent)}.intro-section{padding:32px 0 0;max-width:850px}.intro-section p{font-size:15px}.intro-section h2{font-size:20px}.example-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0}.example-links a{display:grid;grid-template-columns:1fr 20px;border-left:2px solid var(--green);padding:4px 0 4px 16px}.example-links strong{font-size:15px}.example-links span{font-size:13px;color:var(--muted);grid-column:1}.example-links svg{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent)}.review-summary{font-size:12px!important;color:var(--muted)}
.chapter-links{display:flex;flex-wrap:wrap;gap:8px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:30px}.chapter-links a{font-size:13px;color:var(--accent);padding:4px 0}.guide{max-width:860px}.chapter{padding:10px 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px;scroll-margin-top:95px}.chapter p,.chapter li{font-size:15px}.filters{display:flex;gap:16px;align-items:center}.search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel);border-radius:6px;min-height:48px;padding:0 14px;flex:1;min-width:0}.search svg{color:var(--muted);width:18px;height:18px}.search input{width:100%;min-width:0;background:transparent;border:0;color:var(--text);padding:10px 0;outline:none;font-size:14px}.search:focus-within{border-color:var(--accent)}.category-label{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted)}select{height:48px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;font-size:13px;padding:0 34px 0 12px;max-width:230px}.result-count{font-size:12px;margin:14px 0;color:var(--muted)}.flag-workspace{display:grid;grid-template-columns:minmax(240px,34%) minmax(0,1fr);min-height:480px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.flag-list{max-height:660px;overflow:auto;scrollbar-color:#687481 var(--panel);scrollbar-width:thin;border-right:1px solid var(--line);padding:8px 16px 8px 0}.flag-list a{display:block;padding:13px 12px;border-bottom:1px solid #282e34;border-radius:4px;overflow-wrap:anywhere}.flag-list a:hover{background:var(--panel)}.flag-list a[aria-current]{background:var(--raised);border-left:2px solid var(--accent);padding-left:10px}.flag-list code{display:block;font-size:12px;color:var(--text);line-height:1.5}.flag-list small{font-size:11px;color:var(--muted)}.flag-detail{padding:26px 0 28px 28px;min-width:0}.flag-detail h2{font:600 21px/1.5 Consolas,"Liberation Mono",monospace;overflow-wrap:anywhere;margin-bottom:18px}.flag-kind{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--green);margin-bottom:12px}.flag-detail>p{font-size:15px}.metadata{margin:24px 0;font-size:14px}.metadata div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.code-block{position:relative}.code-block pre{padding-right:48px}.copy{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;background:var(--raised);color:var(--text);border-radius:4px;display:grid;place-items:center}.copy svg{width:16px;height:16px}.note{border-left:2px solid var(--amber);padding-left:14px;color:var(--muted)}.evidence{padding-top:12px}.evidence h3{font-size:14px;margin:16px 0 10px}.evidence a{display:block;font-size:12px;color:var(--accent);overflow-wrap:anywhere;padding:5px 0}.evidence .alias{font-size:11px;color:var(--muted);margin:12px 0}.empty{padding:24px 12px;font-size:14px}.tree-list{border-top:1px solid var(--line)}.tree{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);min-width:0}.tree h2{font-size:16px;margin:0 0 5px;overflow-wrap:anywhere}.tree p{font-size:12px;margin:0}.tree .tag{color:var(--green)}.tree svg{color:var(--accent)}.tree-note{margin-top:24px;font-size:13px}.load-error{padding:20px 0;color:var(--amber)}.load-error button{background:var(--raised);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:6px 14px;margin-left:8px}footer{display:flex;flex-wrap:wrap;gap:20px;padding:32px 0 8px;margin-top:24px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}footer span{margin-right:auto}footer a:hover{color:var(--accent)}
@media(min-width:1500px){.flag-list{max-height:740px}}
@media(max-width:1000px){main{padding:32px 26px}.layout{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:30px 12px}.category-label>span{display:none}.flag-workspace{grid-template-columns:240px minmax(0,1fr)}.flag-detail{padding-left:20px}.flag-detail h2{font-size:18px}.metadata div{grid-template-columns:1fr;gap:3px}}
@media(max-width:760px){html{scroll-padding-top:135px}.header{padding:0 16px;height:64px}.brand{gap:12px}.brand img{width:82px}.brand span{padding-left:12px;font-size:12px}.header-links{gap:2px}.back span{display:none}.header-links a{min-width:34px}.layout{display:block}.sidebar{position:sticky;top:64px;z-index:4;height:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line);background:var(--canvas)}.sidebar-title,.snapshot,.sidebar-source{display:none}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.sidebar nav a{flex-direction:column;gap:4px;padding:7px 2px;font-size:11px;line-height:1.25;min-height:52px;text-align:center}.sidebar nav svg{width:18px;height:18px}main{padding:28px 18px 18px}h1{font-size:28px}.page-heading{margin-bottom:24px}.page-heading p:last-child{font-size:14px}.eyebrow{font-size:11px}.overview-item{gap:14px;padding:22px 0}.overview-item h2{font-size:17px}.overview-item p{font-size:13px}.example-links{grid-template-columns:1fr;gap:20px}.filters{gap:10px;flex-wrap:wrap}.search{flex-basis:100%}.category-label{width:100%}.category-label>span{display:block}select{flex:1;max-width:none}.flag-workspace{display:block;border-bottom:0}.flag-list{border-right:0;border-bottom:1px solid var(--line);padding:6px 0;max-height:225px}.flag-list a{padding:12px}.flag-list code{font-size:12px}.flag-list small{font-size:10px}.flag-detail{padding:24px 0}.flag-detail h2{font-size:19px}.metadata div{grid-template-columns:80px minmax(0,1fr);gap:10px}.chapter{scroll-margin-top:150px}.chapter h2{font-size:20px}.chapter-links{gap:6px 16px}.chapter p,.chapter li{font-size:14px}pre{padding:14px;font-size:13px}.tree{gap:12px}.tree h2{font-size:14px}.tree p{font-size:11px}footer{gap:14px}.intro-section h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
