*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p,ul,ol,figure,pre{margin:0}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color-scheme:dark;--bg:#08090b;--bg-1:#0d1014;--bg-2:#12171d;--bg-3:#171e26;--line:#1b232c;--line-2:#26313c;--fg:#dfe6ee;--fg-2:#9dabb9;--fg-3:#667281;--fg-4:#454f5b;--accent:#4ade80;--accent-2:#2bb45f;--amber:#f5a524;--red:#ef5b4c;--blue:#4c8ef7;--tone:var(--accent);--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--r:10px;--r-s:6px;--w:920px;--w-wide:1120px;--pad:clamp(20px, 5vw, 40px)}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.7}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 100% at 50% -20%,#4ade800e,#0000 70%);height:520px;position:fixed;inset:0 0 auto}::selection{color:#fff;background:#4ade8040}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.wrap{width:100%;max-width:var(--w);padding-inline:var(--pad);z-index:1;margin-inline:auto;position:relative}.wrap-wide{max-width:var(--w-wide)}main{padding-bottom:96px;display:block}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-4);align-items:center;gap:12px;font-size:12px;display:flex}.eyebrow:after{content:"";background:var(--line);flex:1;height:1px}.nav{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(140%);background:#08090bb8;position:sticky;top:0}.nav-in{justify-content:space-between;align-items:center;height:56px;display:flex}.brand{font-family:var(--mono);letter-spacing:-.01em;color:var(--fg);font-size:15px;font-weight:600}.brand i{color:var(--accent);font-style:normal}.caret{background:var(--accent);vertical-align:-.18em;width:.5em;height:1.05em;margin-left:2px;animation:1.15s step-end infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.nav-links{font-family:var(--mono);align-items:center;gap:4px;font-size:13.5px;display:flex}.nav-links a{border-radius:var(--r-s);color:var(--fg-2);padding:6px 11px;transition:color .15s,background .15s}.nav-links a:hover{color:var(--fg);background:var(--bg-2)}.nav-links a[aria-current=page]{color:var(--accent)}.nav-links .ext:after{content:"↗";opacity:.6;margin-left:4px;font-size:.85em}.term{border:1px solid var(--line-2);border-radius:var(--r);background:linear-gradient(180deg, var(--bg-1), #0a0d10);overflow:hidden;box-shadow:0 18px 48px -24px #000000e6}.term-bar{border-bottom:1px solid var(--line);background:var(--bg-2);align-items:center;gap:8px;padding:9px 14px;display:flex}.term-dot{border-radius:50%;flex:none;width:10px;height:10px}.term-title{text-align:center;min-width:0;font-family:var(--mono);color:var(--fg-4);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11.5px;overflow:hidden}.term-body{font-family:var(--mono);padding:20px clamp(16px,3vw,24px);font-size:clamp(13px,1.55vw,14.5px);line-height:1.95;overflow-x:auto}.term-body .cmd{color:var(--fg)}.term-body .cmd:before{content:"$ ";color:var(--accent);font-weight:600}.term-body .out{color:var(--fg-2)}.term-body .dim{color:var(--fg-4)}.term-body .hi{color:var(--fg);font-weight:600}.term-body .gap{height:1.1em}.hero{padding-block:clamp(48px,9vw,88px) clamp(40px,6vw,64px)}.hero h1{letter-spacing:-.02em;max-width:18ch;margin-bottom:18px;font-size:clamp(28px,5.2vw,44px);font-weight:650;line-height:1.28}.hero h1 em{color:var(--accent);font-style:normal}.hero-sub{color:var(--fg-2);max-width:56ch;margin-bottom:34px;font-size:clamp(15px,1.9vw,17px)}.cards{gap:16px;margin-top:26px;display:grid}.card{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-1);grid-template-columns:56px 1fr;gap:18px;padding:22px clamp(18px,3vw,26px);transition:border-color .18s,background .18s,transform .18s;display:grid;position:relative}.card>div{min-width:0}.card:hover{border-color:color-mix(in srgb, var(--tone) 42%, var(--line));background:var(--bg-2);transform:translateY(-2px)}.card-icon{border:1px solid var(--line-2);background:var(--bg-3);border-radius:13px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.card-icon img{object-fit:cover;width:100%;height:100%}.card-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.card-name{letter-spacing:-.01em;font-size:19px;font-weight:650}.card-sub{font-family:var(--mono);color:var(--fg-3);font-size:12.5px}.card-tag{color:var(--fg-2);margin-bottom:14px}.card-tag b{color:var(--fg);font-weight:600}.card-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badges{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.badge{font-family:var(--mono);border:1px solid var(--line-2);color:var(--fg-3);background:var(--bg-2);overflow-wrap:break-word;border-radius:5px;padding:2px 8px;font-size:11.5px;line-height:1.6}.badge.tone{color:var(--tone);border-color:color-mix(in srgb, var(--tone) 34%, transparent);background:color-mix(in srgb, var(--tone) 9%, transparent)}.btn{font-family:var(--mono);border-radius:var(--r-s);border:1px solid var(--line-2);color:var(--fg-2);background:var(--bg-2);align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.btn:hover{color:var(--fg);border-color:var(--fg-4);background:var(--bg-3)}.btn-primary{color:#0a0d10;background:var(--tone);border-color:var(--tone);font-weight:600}.btn-primary:hover{color:#0a0d10;background:color-mix(in srgb, var(--tone) 84%, #fff);border-color:color-mix(in srgb, var(--tone) 84%, #fff)}.btn .sz{opacity:.62;font-weight:400}.phead{padding-block:clamp(40px,7vw,68px) 30px}.phead-top{align-items:center;gap:18px;margin-bottom:22px;display:flex}.phead-icon{border:1px solid var(--line-2);background:var(--bg-3);border-radius:15px;flex:none;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.phead-icon img{object-fit:cover;width:100%;height:100%}.phead h1{letter-spacing:-.02em;font-size:clamp(26px,4.4vw,36px);font-weight:650;line-height:1.25}.phead-sub{font-family:var(--mono);color:var(--fg-3);margin-top:3px;font-size:13px}.phead-tag{color:var(--fg-2);max-width:52ch;margin-bottom:20px;font-size:clamp(16px,2.2vw,19px)}.phead-actions{flex-wrap:wrap;gap:10px;display:flex}.prose{max-width:68ch}.prose>*+*{margin-top:1.15em}.prose h2{letter-spacing:-.01em;border-top:1px solid var(--line);align-items:baseline;gap:10px;margin-top:2.4em;padding-top:1.4em;font-size:20px;font-weight:650;display:flex}.prose h2:before{content:"##";font-family:var(--mono);color:var(--tone);opacity:.7;font-size:14px;font-weight:500}.prose h3{margin-top:1.9em;font-size:16.5px;font-weight:650}.prose p{color:var(--fg-2)}.prose strong{color:var(--fg);font-weight:650}.prose em{color:var(--fg);font-style:normal}.prose ul{margin-left:0}.prose li{color:var(--fg-2);margin-top:.5em;padding-left:22px;position:relative}.prose ul>li:before{content:"▸";color:var(--tone);opacity:.65;font-size:.85em;position:absolute;top:.1em;left:4px}.prose ol{counter-reset:n}.prose ol>li{counter-increment:n}.prose ol>li:before{content:counter(n) ".";font-family:var(--mono);color:var(--tone);opacity:.8;font-size:.85em;position:absolute;left:0}.prose a{color:var(--fg);border-bottom:1px solid color-mix(in srgb, var(--tone) 55%, transparent);transition:border-color .15s,color .15s}.prose a:hover{color:var(--tone);border-bottom-color:var(--tone)}.prose blockquote{border-left:2px solid var(--line-2);color:var(--fg-3);padding-left:16px}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.prose table{border-collapse:collapse;width:100%;font-size:14.5px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:8px 12px}.prose th{font-family:var(--mono);color:var(--fg-3);font-size:12.5px;font-weight:500}.prose :not(pre)>code{font-family:var(--mono);background:var(--bg-2);border:1px solid var(--line);color:color-mix(in srgb, var(--tone) 70%, var(--fg));white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.88em}.prose pre{font-family:var(--mono);border-radius:var(--r);border:1px solid var(--line);padding:16px 18px;font-size:13.5px;line-height:1.7;overflow-x:auto;background:#0a0d11!important}.prose pre code{white-space:pre;background:0 0;border:0;padding:0;font-family:inherit}.foot{border-top:1px solid var(--line);margin-top:40px;padding:34px 0 46px}.foot-in{font-family:var(--mono);color:var(--fg-4);flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:12.5px;display:flex}.foot a{color:var(--fg-3)}.foot a:hover{color:var(--accent)}.foot-links{flex-wrap:wrap;gap:16px;display:flex}@media (width<=620px){.card{grid-template-columns:1fr;gap:14px}.card-icon{width:48px;height:48px}.phead-top{gap:14px}.phead-icon{width:52px;height:52px}.nav-links{font-size:13px}.nav-links a{padding:6px 8px}}.shot-wrap{max-width:1440px;margin-block:0 32px}.shot{max-width:1360px;margin:0 auto}.shot img{width:100%;height:auto}.shot figcaption{font-family:var(--mono);color:var(--fg-4);text-align:center;margin-top:2px;font-size:12px}
