:root{color-scheme:dark;--bg:#101318;--surface:#191e26;--line:#2b323d;--text:#e7eaf0;--muted:#9fa9b9;--accent:#a9b9ff;--cyan:#77d7dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}a{color:var(--accent);text-decoration:none}a:hover{color:#d4ddff}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}header{height:82px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:#101318f5;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:var(--text);font-size:18px;font-weight:650;line-height:1.3}.brand img{width:48px;height:48px;object-fit:contain}.brand small{display:block;font-size:11px;color:var(--muted);letter-spacing:3px;font-weight:400;margin-top:5px}.header-actions{display:flex;align-items:center;gap:24px;font-size:13px}.console{border:1px solid #424c65;border-radius:8px;padding:7px 15px;background:#252c40}.review{color:#ecbc7c;font-size:11px;padding:2px 8px;border:1px solid #61482e;border-radius:4px;background:#30251b}.layout{display:grid;grid-template-columns:224px minmax(0,860px) 170px;max-width:1400px;margin:auto;gap:42px;padding:0 32px}.sidebar{position:sticky;top:82px;height:calc(100vh - 82px);padding:36px 10px 25px 0;border-right:1px solid var(--line)}.nav-caption{font-size:11px;letter-spacing:2px;color:#778294;margin:0 0 18px 14px}.sidebar>a{display:block;color:var(--muted);padding:10px 14px;margin:5px 15px 5px 0;border-radius:7px;font-size:14px}.sidebar>a:hover{background:#1a202b}.sidebar>a[aria-current]{background:#242c43;color:#c9d3ff;border-left:2px solid #9aafff}.side-note{font-size:11px;letter-spacing:1px;color:#8494aa;margin:60px 14px 0}.side-note p{color:#738094;font-size:12px;line-height:1.9;letter-spacing:0}.dot{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;margin-right:5px}main{min-width:0;padding:39px 0 24px}.breadcrumb{font-size:12px;color:#707c90;margin-bottom:36px}.eyebrow{font-size:11px;color:var(--cyan);letter-spacing:2px;margin-bottom:12px}h1{font-size:35px;line-height:1.35;letter-spacing:-1px;margin:0 0 16px;font-weight:680}h2{font-size:21px;line-height:1.5;margin:0 0 16px;font-weight:620}h3{font-size:17px;margin:28px 0 10px}p{margin:10px 0 16px}.lead{font-size:16px;color:#b6bfcd;max-width:650px;line-height:1.9}.meta{font-size:11px;color:#7e899a;margin:23px 0 30px;display:flex;gap:12px}.toc{position:sticky;top:118px;height:max-content;margin-top:40px;border-left:1px solid var(--line);padding-left:18px;font-size:11px}.toc p{color:#a7b0c0;margin:0 0 13px}.toc a{color:#808da1;display:block;margin:11px 0;line-height:1.5}.toc a:hover{color:var(--accent)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 42px}.card{color:var(--text);padding:25px;border:1px solid #343e4e;background:linear-gradient(130deg,#202832,#171c24);border-radius:12px;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:#859ad8;color:var(--text)}.card h2{font-size:19px;margin:15px 0 8px;display:flex;justify-content:space-between}.card h2 span{font-size:16px;color:#8494b2}.card p{color:var(--muted);font-size:13px;line-height:1.85;margin-bottom:23px}.card b{font-size:12px;color:var(--accent);font-weight:500}.card-icon{display:grid;place-items:center;width:37px;height:37px;color:#94e9dc;background:#21403e;border-radius:9px;font-size:22px}.card-icon.violet{background:#333449;color:#c0bbff;font:700 18px monospace}section{margin:38px 0;padding-top:8px}.journey{display:flex;gap:13px;align-items:flex-start;padding:23px 17px;background:#171c24;border:1px solid var(--line);border-radius:10px}.journey>div{flex:1}.journey>span{color:#5e6a80;margin-top:23px}.journey i{display:block;color:var(--cyan);font:normal 12px monospace;margin-bottom:9px}.journey strong{font-size:13px;font-weight:550;white-space:nowrap}.journey p{font-size:11px;color:var(--muted);line-height:1.6;margin:6px 0 0}.codebox{border:1px solid #303949;border-radius:9px;overflow:hidden;margin:18px 0;background:#0c1016;min-width:0}.codehead{padding:9px 15px;background:#1a202a;border-bottom:1px solid #2b3444;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#a4b1c6;gap:12px}.copy{background:#293247;color:#bfcdf1;border:1px solid #3a4864;border-radius:5px;padding:3px 11px;font-size:11px;flex-shrink:0}.copy:hover{background:#35425e}pre{margin:0;padding:19px 20px;overflow:auto;font:12px/1.95 ui-monospace,SFMono-Regular,Consolas,monospace;color:#c2d9ec}pre code{background:none;padding:0;color:inherit;font-size:inherit;overflow-wrap:normal}code{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#b5c9ec;background:#202734;padding:3px 5px;border-radius:4px;overflow-wrap:anywhere}kbd{font-size:12px;border:1px solid #425069;border-radius:4px;padding:2px 5px;background:#232b39;color:#d1d9eb}.notice{border-left:3px solid #7e9cca;background:#1b2533;padding:15px 18px;color:#b6c8df;font-size:13px;line-height:1.85;border-radius:0 7px 7px 0;margin:23px 0}.muted{color:var(--muted);font-size:13px}ul,ol{padding-left:23px;color:#bbc4d2}li{margin:10px 0;padding-left:3px}strong{color:#e2e9f6;font-weight:600}.checklist{list-style:none;padding:0}.checklist li{padding-left:25px;position:relative}.checklist li:before{content:'✓';color:var(--cyan);position:absolute;left:0}.next{display:flex;flex-direction:column;align-items:flex-end;padding:22px;border:1px solid #39465e;border-radius:10px;background:#1b2230;margin-top:40px}.next span{font-size:11px;color:#8c9bb2;margin-bottom:4px}.next strong{font-size:16px;color:var(--accent)}footer{margin-top:50px;padding-top:22px;border-top:1px solid var(--line);font-size:10px;color:#748094;display:flex;justify-content:space-between;gap:10px}.step{border-top:1px solid var(--line);padding-top:30px;margin-top:30px}.step-title{display:flex;gap:13px;align-items:center;margin-bottom:20px}.step-title h2{margin:0}.number{font:12px monospace;color:var(--cyan);padding:8px;border:1px solid #365455;border-radius:6px;background:#1a2d30}.table-wrap{overflow:auto;margin:22px 0;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th,td{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:500;color:#d5dce7;background:#212731}td{color:#aebbd0}tr:last-child td{border-bottom:0}.flow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:25px 16px;border-radius:9px;background:#1b212b;font-size:12px;color:#b6c9e8}.flow b{color:#667e9c}.os-picker{display:flex;width:max-content;border:1px solid #38445a;border-radius:7px;padding:4px;gap:4px;margin:18px 0}.os-picker button{border:0;background:transparent;color:#93a2ba;padding:5px 16px;border-radius:4px;font-size:12px}.os-picker button[aria-pressed=true]{background:#354564;color:#e3eaff}details{border-bottom:1px solid var(--line);padding:17px 0;color:var(--muted);font-size:14px}summary{color:#d5deec;cursor:pointer}details p{padding:4px 0 0;font-size:13px}.sources{border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted)}.demo{border:1px solid #364157;border-radius:10px;overflow:hidden;margin:25px 0;background:#171d27}.demo-top{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:10px 16px;font-size:11px;color:#93a4c1}.demo-top small{color:#758399}.demo-body{display:flex;gap:20px;padding:24px;font-size:12px}.folder{color:#95a4bc;flex-shrink:0;padding-right:15px;border-right:1px solid var(--line)}.bubble{background:#303d59;color:#d1ddf7;padding:12px 16px;border-radius:9px;margin:0}.reply{color:#8eb5a6;margin:14px 0 0;font-size:11px}.skip{position:absolute;top:-90px;left:12px}.skip:focus{top:12px;z-index:10;background:var(--bg);padding:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#d9e7fc;color:#192534;padding:10px 20px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;font-size:13px}#toast.show{opacity:1}[hidden]{display:none!important}@media(min-width:1600px){.layout{gap:48px}}@media(max-width:1150px){.layout{grid-template-columns:190px minmax(0,1fr);gap:32px}.toc{display:none}.sidebar{padding-right:0}}@media(max-width:760px){header{height:72px;padding:0 18px}.brand{font-size:16px;gap:7px}.brand img{width:40px;height:40px}.brand small{font-size:9px}.header-actions{gap:9px}.header-actions>a:not(.console){display:none}.console{padding:6px 9px;font-size:11px}.review{font-size:10px}.layout{display:block;padding:0 22px}.sidebar{position:static;height:auto;display:flex;gap:4px;padding:16px 0;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}.nav-caption,.side-note{display:none}.sidebar>a{margin:0;padding:7px 11px;font-size:12px}.sidebar>a[aria-current]{border-left:0}main{padding-top:23px}.breadcrumb{margin-bottom:23px;font-size:11px}h1{font-size:28px}h2{font-size:19px}.lead{font-size:14px}.meta{font-size:10px;gap:9px}.cards{gap:13px}.card{padding:18px}.card h2{font-size:16px}.card p{font-size:12px}.journey{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:21px}.journey>span{display:none}.journey strong{font-size:13px}footer{flex-direction:column}.flow{font-size:10px;padding:17px 12px}.step-title{gap:10px}.demo-body{padding:17px;gap:13px}.folder{padding-right:10px}th,td{padding:11px;min-width:90px}table code{font-size:10px}.table-wrap{font-size:11px}pre{font-size:11px;padding:15px}.codehead{padding:9px 12px}}@media(max-width:430px){.cards{grid-template-columns:1fr}.layout{padding:0 18px}.header-actions{gap:7px}.brand img{width:34px;height:34px}.brand{font-size:14px}.brand small{letter-spacing:2px}.console{font-size:10px}.card{padding:21px}.card h2{font-size:18px}.card p{margin-bottom:16px}.demo-body{display:block}.folder{display:block;border:0;padding:0 0 13px}.review{padding:1px 5px}h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
