:root{--bg:#05080a;--ink:#f2f5f5;--dim:rgba(242,245,245,.64);
--faint:rgba(242,245,245,.42);--line:rgba(242,245,245,.11);
--card:rgba(242,245,245,.04);--card-edge:rgba(242,245,245,.085);
--teal:#2fc4b8;--mint:#4fe7c8;--amber:#ffb100;--coral:#ff6b62;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
font:400 17px/1.65 -apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif;
-webkit-font-smoothing:antialiased}
a{color:var(--mint);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:4px}

.bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;
gap:16px;padding:13px max(22px,calc((100vw - var(--max))/2));
background:rgba(5,8,10,.72);backdrop-filter:saturate(180%) blur(18px);
-webkit-backdrop-filter:saturate(180%) blur(18px);
border-bottom:1px solid var(--line)}
.bar .home{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:600}
.bar .home:hover{text-decoration:none}
.bar .home img{width:21px;height:21px;display:block}
.bar nav{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}
.bar nav a{color:var(--dim);font-size:14.5px}
.bar nav a:hover{color:var(--ink);text-decoration:none}

.wrap{max-width:var(--max);margin:0 auto;padding:0 22px;
display:grid;grid-template-columns:212px minmax(0,1fr);gap:52px}
@media(max-width:860px){.wrap{grid-template-columns:1fr;gap:0}
aside{position:static!important;padding:22px 0 0!important;max-height:none!important}}

aside{position:sticky;top:74px;align-self:start;padding:44px 0;
max-height:calc(100vh - 74px);overflow:auto}
aside h2{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
color:var(--faint);margin:0 0 12px}
aside ul{list-style:none;margin:0 0 26px;padding:0}
aside li{margin:0 0 3px}
aside a{display:block;padding:5px 11px;margin-left:-11px;border-radius:8px;
color:var(--dim);font-size:15px}
aside a:hover{background:var(--card);color:var(--ink);text-decoration:none}
aside a.on{background:var(--card);color:var(--ink);
box-shadow:inset 2px 0 0 var(--teal)}
aside .sub a{font-size:14px;padding-left:22px;color:var(--faint)}

main{padding:44px 0 96px;min-width:0}
main>h1{font-size:clamp(30px,4.4vw,44px);line-height:1.1;letter-spacing:-.022em;
margin:0 0 28px;background:linear-gradient(104deg,var(--mint) 8%,var(--teal) 74%);
-webkit-background-clip:text;background-clip:text;color:transparent}
main h2{font-size:25px;letter-spacing:-.012em;margin:52px 0 14px;
padding-top:18px;border-top:1px solid var(--line)}
main h3{font-size:19px;margin:34px 0 10px}
main h4{font-size:17px;margin:26px 0 8px;color:var(--dim)}
main p{margin:0 0 16px;color:var(--dim);max-width:70ch}
main strong{color:var(--ink)}
main em{color:var(--ink);font-style:italic}
main li{color:var(--dim);margin:0 0 7px;max-width:70ch}
main ul,main ol{padding-left:22px}

code{font:500 13.5px/1.5 ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;
background:var(--card);border:1px solid var(--card-edge);border-radius:6px;
padding:.12em .4em;color:var(--mint)}
pre{background:#04090c;border:1px solid var(--card-edge);border-radius:13px;
padding:17px 19px;overflow-x:auto;margin:0 0 20px}
pre code{background:0;border:0;padding:0;color:#cfe9e6;font-size:13.5px;line-height:1.62}

table{border-collapse:collapse;width:100%;margin:0 0 22px;font-size:15px;
display:block;overflow-x:auto}
th,td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--line);
vertical-align:top;color:var(--dim)}
th{color:var(--faint);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
font-weight:600;white-space:nowrap}
td strong{color:var(--ink)}

blockquote{margin:0 0 20px;padding:14px 19px;border-left:3px solid var(--amber);
background:var(--card);border-radius:0 11px 11px 0}
blockquote p{margin:0;color:var(--ink)}
hr{border:0;border-top:1px solid var(--line);margin:36px 0}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
gap:15px;margin:0 0 30px;padding:0;list-style:none}
.cards a{display:block;height:100%;padding:19px 21px;border-radius:15px;
background:var(--card);border:1px solid var(--card-edge);color:var(--ink)}
.cards a:hover{border-color:var(--teal);text-decoration:none;
background:rgba(47,196,184,.06)}
.cards b{display:block;font-size:17px;margin:0 0 5px}
.cards span{color:var(--dim);font-size:14.5px;line-height:1.5}

footer{border-top:1px solid var(--line);padding:26px 0 0;margin-top:60px;
color:var(--faint);font-size:14px}
footer a{color:var(--dim)}
