
:root{color-scheme:dark;--ink:#edf2ee;--muted:#a3ada7;--line:#2c3934;--brand:#b4d8c0;--bg:#171f1c}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:#101614;color:var(--ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}a{color:var(--brand);text-underline-offset:4px}a:hover{text-decoration:underline}a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #8ab49a;outline-offset:4px}.skip{position:absolute;left:16px;top:-80px;background:#101614;padding:8px;z-index:3}.skip:focus{top:8px}.wrap{max-width:1160px;margin:auto;padding:0 28px}.top{border-bottom:1px solid var(--line)}.top .wrap{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:122px;height:auto;display:block}nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:14px}nav a{color:var(--muted);text-decoration:none}nav a[aria-current]{color:var(--ink);font-weight:650}.login{border:1px solid var(--line);padding:7px 14px;border-radius:8px}.hero{padding:64px 0 36px;max-width:820px}.eyebrow{color:var(--brand);font-size:13px;letter-spacing:.08em;font-weight:650}.hero h1{font-size:42px;line-height:1.3;letter-spacing:-.035em;margin:12px 0 18px;font-weight:650}.lede{font-size:18px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:12px 0 48px}.card{display:block;padding:26px;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;background:var(--bg)}.card:hover{border-color:#719781;text-decoration:none}.card small{color:var(--brand)}.card h2{font-size:22px;line-height:1.45;margin:18px 0 12px}.card p{font-size:15px;color:var(--muted)}.card span{color:var(--brand);font-size:14px}.note{border-left:3px solid #719781;background:var(--bg);padding:18px 22px;color:var(--muted);margin:24px 0 48px}.layout{display:grid;grid-template-columns:minmax(0,800px) 240px;gap:64px;padding-bottom:56px}.article{min-width:0}.article h1{font-size:36px;line-height:1.45;letter-spacing:-.02em;margin:32px 0 20px}.article h2{font-size:25px;line-height:1.5;margin:42px 0 16px}.article h3{font-size:19px;margin:28px 0 12px}.article p{margin:16px 0}.article blockquote{margin:22px 0;padding:12px 20px;background:var(--bg);border-left:3px solid #719781;font-size:14px;color:var(--muted)}.article blockquote p{margin:0}.article li{margin:8px 0}.article a,.article code{overflow-wrap:anywhere}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;background:#223027;padding:2px 5px;border-radius:4px}pre{background:#0b100e;color:#dfece3;border-radius:10px;padding:22px;overflow:auto;max-width:100%;line-height:1.65}pre code{background:none;color:inherit;padding:0;overflow-wrap:normal}.table-wrap{overflow:auto;max-width:100%;margin:24px 0;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;min-width:540px;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}th{background:var(--bg);font-weight:650}tr:last-child td{border-bottom:0}.aside{padding-top:40px}.aside-inner{position:sticky;top:28px;font-size:13px;color:var(--muted);border-left:1px solid var(--line);padding-left:22px}.aside strong{font-size:14px;color:var(--ink)}.aside ul{list-style:none;padding-left:0}.aside li{margin:10px 0}.aside ul ul{padding-left:12px}.aside a{text-decoration:none;color:var(--muted)}.aside .toc>ul>li>a{display:none}.aside .toc>ul>li>ul{padding:0}.crumb{padding-top:28px;font-size:13px;color:var(--muted)}.crumb a{color:var(--muted);text-decoration:none}.related{border-top:1px solid var(--line);padding:28px 0}.related ul{padding-left:20px}.bottom{border-top:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:13px;padding:28px 0}.bottom .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.bottom a{color:var(--muted);margin-right:16px}
@media(max-width:800px){.wrap{padding:0 20px}.top .wrap{padding-top:18px;padding-bottom:18px;align-items:flex-start;flex-direction:column;gap:16px}nav{gap:16px;font-size:13px}.login{padding:4px 10px}.hero{padding:36px 0 24px}.hero h1{font-size:32px}.lede{font-size:16px}.cards{grid-template-columns:1fr;gap:14px}.card{padding:22px}.layout{display:block}.aside{display:none}.article h1{font-size:29px;margin-top:24px}.article h2{font-size:23px}.article{font-size:15px}pre{padding:16px;font-size:14px}.note{padding:14px 18px}.bottom .wrap{display:block}}
