*{box-sizing:border-box}
:root{--fg:#202124;--fg2:#5f6368;--fg3:#80868b;--line:#dadce0;--line2:#e8eaed;--blue:#1a73e8;--blue-d:#1765cc;--blue-l:#e8f0fe;--bg2:#f8f9fa;--yellow-l:#fef7e0;--red-l:#fce8e6;--green-l:#e6f4ea}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;color:var(--fg);background:#fff;font:16px/1.8 "Google Sans",Roboto,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--blue-d)}
header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);height:64px;display:flex;align-items:center;gap:20px;padding:0 24px}
.brand{display:flex;align-items:center;gap:10px;color:var(--fg2);text-decoration:none;font-size:22px;white-space:nowrap}
.brand img{width:52px;height:52px;margin:-4px 0}.brand b{font-weight:600;color:var(--fg)}
.brand em{font-style:normal;color:var(--fg3);margin-left:4px;padding-left:12px;border-left:1px solid var(--line)}
.hl{margin-left:auto;display:flex;gap:6px;align-items:center}
.hl a{color:var(--fg2);text-decoration:none;font-size:14px;font-weight:500;padding:8px 14px;border-radius:20px}.hl a:hover{background:var(--bg2)}
.hl .cta{background:var(--blue);color:#fff}.hl .cta:hover{background:var(--blue-d)}
.menu{display:none;border:0;background:none;font-size:22px;padding:6px 10px;cursor:pointer;color:var(--fg2)}
.shell{display:grid;grid-template-columns:272px minmax(0,1fr) 220px;max-width:1360px;margin:0 auto}
aside.side{position:sticky;top:64px;align-self:start;height:calc(100vh - 64px);overflow:auto;padding:24px 12px 40px 0;border-right:1px solid var(--line2)}
.side h4{margin:22px 0 6px 24px;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--fg3)}
.side h4:first-child{margin-top:0}
.side a{display:block;margin-right:12px;padding:8px 16px 8px 24px;font-size:14.5px;color:var(--fg2);text-decoration:none;border-radius:0 24px 24px 0}
.side a:hover{background:var(--bg2);color:var(--fg)}
.side a.on{background:var(--blue-l);color:var(--blue-d);font-weight:500}
main{padding:36px 56px 40px;min-width:0}
.crumb{font-size:13px;color:var(--fg3);margin-bottom:10px}.crumb a{color:var(--fg3);text-decoration:none}.crumb a:hover{color:var(--blue-d)}
h1{margin:0 0 10px;font-size:36px;line-height:1.3;font-weight:500}
.lede{margin:0 0 28px;font-size:18px;color:var(--fg2)}
article h2{margin:44px 0 12px;font-size:24px;line-height:1.35;font-weight:500;padding-top:6px}
article p{margin:0 0 16px;max-width:42em}
article ul,article ol{margin:0 0 18px;padding-left:1.4em;max-width:42em}article li{margin:6px 0}
code{font:13.5px/1 ui-monospace,Menlo,Consolas,monospace;background:var(--bg2);border:1px solid var(--line2);padding:2px 6px;border-radius:6px;color:#b3261e}
table{border-collapse:collapse;width:100%;max-width:44em;margin:0 0 22px;font-size:15px;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:10px 14px;text-align:left;vertical-align:top}th{background:var(--bg2);font-weight:500}
.note{margin:0 0 22px;padding:14px 18px 4px;border-radius:12px;border-left:4px solid var(--blue);background:var(--blue-l);max-width:42em}
.note b{display:block;font-size:13px;letter-spacing:.06em;margin-bottom:2px}
.note.tip{border-color:#34a853;background:var(--green-l)}.note.warn{border-color:#f9ab00;background:var(--yellow-l)}
.cases{list-style:none;padding:0;counter-reset:c}
.cases li{display:grid;gap:2px;padding:14px 16px;margin:0 0 10px;background:var(--bg2);border-radius:14px}
.cases li b{font-weight:500}.cases li span{color:var(--fg2);font-size:15px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;max-width:42em}
.pn a{display:block;padding:16px 20px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--fg)}
.pn a:hover{background:var(--bg2)}.pn small{display:block;color:var(--fg3);font-size:12.5px}.pn .r{text-align:right}.pn a b{font-weight:500;color:var(--blue-d)}
aside.toc{position:sticky;top:64px;align-self:start;max-height:calc(100vh - 64px);overflow:auto;padding:36px 0 40px 8px}
.toc h4{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--fg3)}
.toc a{display:block;padding:5px 0 5px 14px;border-left:2px solid var(--line2);font-size:13.5px;line-height:1.5;color:var(--fg2);text-decoration:none}
.toc a:hover{color:var(--fg)}.toc a.on{border-color:var(--blue);color:var(--blue-d);font-weight:500}
footer{border-top:1px solid var(--line);background:var(--bg2);padding:28px 24px;color:var(--fg3);font-size:13px;text-align:center}
footer a{color:var(--fg2);margin:0 10px;text-decoration:none}
mark{background:#fef7e0;color:#b06000;padding:1px 6px;border-radius:6px}
@media (max-width:1100px){.shell{grid-template-columns:260px minmax(0,1fr)}aside.toc{display:none}}
@media (max-width:820px){.shell{grid-template-columns:1fr}.menu{display:block}.brand em{display:none}
 aside.side{position:fixed;left:0;top:64px;bottom:0;z-index:25;width:288px;height:auto;background:#fff;box-shadow:2px 0 12px rgba(60,64,67,.25);transform:translateX(-105%);transition:transform .25s}
 body.open aside.side{transform:none}main{padding:24px 20px}h1{font-size:30px}.hl a:not(.cta){display:none}.pn{grid-template-columns:1fr}}