:root{--bg:#fffdfa;--paper:#fff;--ink:#111;--muted:#6b6b6b;--line:#1111111f;--ease:cubic-bezier(.22,.61,.36,1);--dur:.28s;--serif:"Songti TC","PMingLiU","Noto Serif TC",serif;--sans:ui-sans-serif,system-ui,"PingFang TC","Microsoft JhengHei",sans-serif}*{box-sizing:border-box}html{color-scheme:light;background:var(--bg);scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}a{color:inherit}.serif{font-family:var(--serif)}.sans{font-family:var(--sans)}.progress{background:var(--ink);z-index:999;transform-origin:0;will-change:width;width:0%;height:2px;transition:width .12s linear;position:fixed;top:0;left:0}header{z-index:50;-webkit-backdrop-filter:blur(14px)saturate(1.1);border-bottom:1px solid var(--line);background:#fffdfae0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1280px;height:64px;margin:0 auto;padding:0 24px;display:flex}.logo{letter-spacing:.08em;color:inherit;transition:opacity var(--dur) var(--ease);font-size:13px;font-weight:700;text-decoration:none}.logo:hover{opacity:.72}.nav{letter-spacing:.08em;gap:22px;font-size:12px;display:flex}.nav a{color:var(--muted);transition:color var(--dur) var(--ease);text-decoration:none;position:relative}.nav a:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform var(--dur) var(--ease);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.nav a:hover{color:var(--ink)}.nav a:hover:after{transform:scaleX(1)}.layout{flex:1;grid-template-columns:240px 1fr;gap:56px;width:100%;max-width:1280px;margin:0 auto;padding:40px 24px 80px;display:grid}@media (width<=960px){.layout{grid-template-columns:1fr;padding:24px 20px 64px}.toc{display:none}.toc-mobile{display:flex!important}}.toc{align-self:start;position:sticky;top:104px}.toc-title{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;font-size:10px}.toc-list{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.toc-list li{margin:14px 0;padding-left:16px;position:relative}.toc-list a{color:var(--muted);transition:color var(--dur) var(--ease);font-size:13px;line-height:1.6;text-decoration:none}.toc-list a:hover,.toc-list a.active{color:var(--ink);font-weight:500}.toc-ind{background:var(--ink);width:2px;height:18px;transition:transform .3s var(--ease);will-change:transform;pointer-events:none;position:absolute;top:0;left:0}.toc-mobile{z-index:40;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 20px;display:none;position:sticky;top:64px}.toc-mobile button{border:1px solid var(--line);background:var(--paper);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);border-radius:6px;padding:6px 12px;font-size:11px}.toc-mobile button:hover{border-color:#11111147}.toc-drawer{background:var(--bg);z-index:39;padding:24px 20px;display:none;position:fixed;inset:64px 0 0;overflow:auto}.toc-drawer.open{display:block}.breadcrumb{letter-spacing:.08em;color:var(--muted);margin-bottom:24px;font-size:12px}.breadcrumb a{color:inherit;transition:color var(--dur) var(--ease);text-decoration:none}.breadcrumb a:hover{color:var(--ink)}h1{font-family:var(--serif);margin:0;font-size:clamp(28px,4vw,36px);font-weight:600;line-height:1.3}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;font-size:12px;display:flex}.meta .dot{background:var(--muted);border-radius:50%;width:3px;height:3px}.author-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:12px;margin:32px 0;padding:16px 0;display:flex}.author-avatar{color:#fffdfa;background:#111;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.author-box a{text-underline-offset:3px;text-decoration:underline}.tldr{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin:32px 0;padding:20px 20px 20px 24px;position:relative}.tldr:before{content:"";background:var(--ink);width:2px;position:absolute;top:12px;bottom:12px;left:0}.tldr-head{letter-spacing:.14em;color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:11px;display:flex}.tldr-head button{color:var(--muted);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:none;font-size:11px}.tldr-head button:hover{color:var(--ink)}.tldr p{margin:0;font-size:15px;line-height:1.8}.article-body p{margin:0 0 28px;font-size:17px;line-height:2}.article-body ol,.article-body ul{margin:0 0 28px;padding-left:1.4em;font-size:17px;line-height:2}.article-body li{margin:0 0 8px}.article-body a{text-underline-offset:3px;transition:opacity var(--dur) var(--ease);text-decoration:underline}.article-body a:hover{opacity:.7}.article-body h2{font-family:var(--serif);margin:56px 0 16px;scroll-margin-top:120px;font-size:22px;font-weight:600;line-height:1.4}.article-body h2 .num{color:var(--muted);margin-right:10px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:500}.article-body h3{font-family:var(--serif);margin:40px 0 12px;scroll-margin-top:120px;font-size:18px;font-weight:600;line-height:1.45}.table-wrap{border:1px solid var(--line);border-radius:8px;margin:32px 0;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);background:#f9f6f0;padding:12px 16px;font-size:11px}td{border-bottom:1px solid var(--line);padding:14px 16px;line-height:1.6}.qa{border-top:1px solid var(--line);margin:48px 0}.qa-item{border-bottom:1px solid var(--line)}.qa-q{text-align:left;width:100%;font-family:var(--serif);cursor:pointer;transition:opacity var(--dur) var(--ease);background:0 0;border:none;justify-content:space-between;gap:16px;padding:20px 0;font-size:16px;display:flex}.qa-q:hover{opacity:.75}.qa-a{opacity:0;max-height:0;transition:max-height .32s var(--ease),opacity .24s var(--ease),padding .24s var(--ease);overflow:hidden}.qa-item.open .qa-a{opacity:1;max-height:320px;padding-bottom:20px}.qa-a p{margin:0;font-size:15px;line-height:1.9}.refs{border-top:1px solid var(--line);color:var(--muted);margin-top:64px;padding-top:24px;font-size:13px}.article-body .scope-note{color:var(--muted);font-size:15px;line-height:1.9}.article-body .claim{font-family:var(--serif);background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:0 0 28px;padding:18px 20px 18px 24px;font-size:18px;line-height:1.85;position:relative}.article-body .claim:before{content:"";background:var(--ink);width:2px;position:absolute;top:12px;bottom:12px;left:0}.table-caption{caption-side:top;text-align:left;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 16px;font-size:12px}.qa-cards{margin:56px 0 32px}.qa-cards-head{letter-spacing:.18em;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:12px;font-size:11px}.qa-card{background:var(--paper);border:1px solid var(--line);transition:border-color var(--dur) var(--ease);border-radius:8px;margin:0 0 16px;padding:20px 24px 22px}.qa-card:hover{border-color:#11111147}.qa-card .q-label,.qa-card .a-label,.scope-card .scope-label{letter-spacing:.14em;border-radius:999px;padding:5px 10px;font-size:11px;line-height:1;display:inline-block}.qa-card .q-label{background:var(--ink);color:var(--bg)}.qa-card .a-label{border:1px solid var(--line);color:var(--muted);margin-top:4px}.article-body .qa-card h3{margin:12px 0 18px;scroll-margin-top:120px;font-size:18px}.article-body .qa-card p{margin:10px 0 0;font-size:16px;line-height:1.9}.scope-card{border:1px dashed var(--line);border-radius:8px;margin:32px 0 0;padding:18px 24px 6px}.scope-card .scope-label{border:1px solid var(--line);color:var(--muted);margin-bottom:6px}.article-body .scope-card p{margin:10px 0 14px;font-size:15px;line-height:1.9}.art-meta{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin:20px 0 0;display:grid;overflow:hidden}.art-meta>div{background:var(--paper);padding:10px 14px}.art-meta>div.wide{grid-column:1/-1}.art-meta dt{letter-spacing:.12em;color:var(--muted);margin:0 0 2px;font-size:11px}.art-meta dd{color:var(--ink);margin:0;font-size:13px;line-height:1.6}.art-meta a{color:inherit;border-bottom:1px solid #11111140;text-decoration:none}.art-meta a:hover{border-color:var(--ink)}@media (width<=640px){.art-meta{grid-template-columns:1fr 1fr}.art-meta>div:nth-child(n+5),.art-meta>div.wide{grid-column:1/-1}.art-meta>div{padding:8px 12px}}.editor-note{border-left:2px solid var(--ink);margin:40px 0 0;padding:6px 0 2px 20px}.editor-note .scope-label{border:1px solid var(--line);color:var(--muted);margin-bottom:6px}.article-body .editor-note p{margin:10px 0;font-size:15px;line-height:1.9}.article-body .editor-note .editor-note-foot{color:var(--muted);font-size:13px}.next-read{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin:40px 0 0;padding:20px 24px}.next-read-head{font-family:var(--serif);margin-bottom:8px;font-size:18px;font-weight:600}.next-read-list{margin:0;padding:0;list-style:none}.next-read-list li{border-top:1px solid var(--line);grid-template-columns:120px 1fr;gap:2px 16px;padding:14px 0;display:grid}.next-read-list li:first-child{border-top:0}.next-k{letter-spacing:.1em;color:var(--muted);grid-row:span 2;padding-top:3px;font-size:12px}.next-read-list a{color:var(--ink);transition:opacity var(--dur) var(--ease);border-bottom:1px solid #11111140;justify-self:start;font-size:16px;line-height:1.6;text-decoration:none}.next-read-list a:hover{opacity:.7}.next-links{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.next-why{color:var(--muted);font-size:13px;line-height:1.6}.nav-search{align-items:center;gap:6px;display:inline-flex}.nav-search svg{width:13px;height:13px}@media (width<=640px){.next-read-list li{grid-template-columns:1fr}.next-k{grid-row:auto}.nav{gap:14px}}.article{max-width:720px}.article-body h2{border-top:1px solid var(--line);margin-top:72px;padding-top:40px}.article-body h2:first-of-type{margin-top:48px}.article-body p{margin-bottom:22px}.chunk{border-top:1px dashed #11111124;grid-template-columns:104px 1fr;column-gap:28px;padding:26px 0 4px;display:grid}.article-body .claim+.chunk{border-top:0;padding-top:8px}.article-body .chunk-k{font-family:var(--sans);letter-spacing:.08em;color:var(--muted);align-self:start;margin:6px 0 0;font-size:12px;line-height:1.6;position:sticky;top:96px}.article-body .chunk-k:before{content:"";background:var(--ink);width:18px;height:2px;margin-bottom:8px;display:block}.chunk-body>:last-child{margin-bottom:22px}.chunk-check,.chunk-steps{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin:20px 0;padding:24px 26px 6px}.article-body .chunk-check .chunk-k,.article-body .chunk-steps .chunk-k{position:static}.chunk-check+.chunk,.chunk-steps+.chunk,.table-wrap+.chunk{border-top:0}.chunk-note{background:#f7f3ea;border-top:0;border-radius:12px;margin:20px 0;padding:22px 26px 4px}.article-body .chunk-note p{color:#444;font-size:15px;line-height:1.95}.article-body .chunk ol{counter-reset:step;padding:0;list-style:none}.article-body .chunk ol li{counter-increment:step;border-top:1px solid var(--line);margin:0;padding:10px 0 10px 44px;line-height:1.8;position:relative}.article-body .chunk ol li:first-child{border-top:0}.article-body .chunk ol li:before{content:counter(step);background:var(--ink);width:28px;height:28px;color:var(--bg);font-size:13px;font-weight:600;font-family:var(--sans);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;left:0}.article-body .chunk-check ol li:before{content:"✓";color:var(--ink);border:1.5px solid var(--ink);background:0 0;font-size:12px}.table-wrap{margin:28px 0}.qa-cards{margin-top:72px}@media (width<=700px){.chunk{grid-template-columns:1fr;padding-top:22px}.article-body .chunk-k{align-items:center;gap:8px;margin:0 0 10px;display:flex;position:static}.article-body .chunk-k:before{margin:0}.chunk-check,.chunk-steps,.chunk-note{padding:20px 18px 4px}.article-body p,.article-body ol{font-size:16px;line-height:1.95}}.site-main{flex:1;width:100%}.site-footer{border-top:1px solid var(--line);margin-top:auto;padding:28px 24px 40px}.site-footer-inner{max-width:1280px;color:var(--muted);letter-spacing:.06em;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 28px;margin:0 auto;font-size:12px;display:flex}.site-footer nav{flex-wrap:wrap;gap:16px;display:flex}.site-footer a{color:var(--muted);transition:color var(--dur) var(--ease);text-decoration:none}.backtop{background:var(--ink);width:40px;height:40px;color:var(--bg);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);z-index:60;border:none;border-radius:50%;position:fixed;bottom:24px;right:24px;transform:translateY(8px)}.backtop.show{opacity:1;pointer-events:auto;transform:translateY(0)}.backtop:hover{opacity:.85}@keyframes pg-rise{0%{opacity:0;translate:0 22px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.article-body .chunk,.article-body .qa-card,.article-body .table-wrap,.next-read a,.hub-card,.series-card{animation:linear both pg-rise view();animation-range:entry entry 65%}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.progress{transition:none}.backtop{transform:none}}:root{--bg:#f4f1ea;--paper:#ffffff9e;--paper-solid:#fbfaf6;--ink:#141210;--muted:#5c574f;--faint:#6a645b;--line:#1412101a;--line-2:#14121029;--accent:#2f5d50;--accent-ink:#faf8f3;--lime:#d8f55c;--lime-soft:#d8f55c61;--dash:#8f897f;--r-lg:22px;--r-md:16px;--r-pill:999px;--sh-1:0 1px 2px #281e0f0d,0 10px 30px -16px #3c280f38;--sh-2:0 2px 4px #281e0f0f,0 22px 44px -18px #3c280f52;--ease:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.7,0,.3,1);--dur:.28s;--serif:"Songti TC","Noto Serif TC","Source Han Serif TC","PMingLiU",serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);position:relative;overflow-x:clip}body:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(38vmax 30vmax at 18% 12%,#ffd6aa8c,#0000 70%),radial-gradient(34vmax 28vmax at 86% 22%,#c4e2cd8c,#0000 70%),radial-gradient(40vmax 32vmax at 70% 88%,#ece7be99,#0000 70%),radial-gradient(30vmax 26vmax at 8% 78%,#f2d4c473,#0000 70%);position:fixed;inset:-20vmax}body:after{content:"";z-index:-1;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .3 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.progress{background:var(--accent);height:2px;transform:scaleX(var(--p,0));transform-origin:0;will-change:transform;width:100%!important;transition:none!important}header{z-index:50;padding:12px 16px 0;position:sticky;top:0;-webkit-backdrop-filter:none!important;background:0 0!important;border:0!important}.header-inner{backdrop-filter:blur(18px)saturate(1.5);max-width:1160px;height:58px;transition:height var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);background:#fbfaf69e;border:1px solid #ffffffd9;border-radius:20px;margin:0 auto;padding:0 10px 0 22px;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #281e0f0d,0 12px 30px -18px #3c280f59}@supports not (backdrop-filter:blur(1px)){.header-inner{background:var(--paper-solid)}}header.is-scrolled .header-inner{background:#fbfaf6c7;height:52px;box-shadow:inset 0 1px #ffffffe6,0 2px 4px #281e0f0f,0 18px 40px -18px #3c280f6b}.logo{font-family:var(--serif);letter-spacing:.18em;color:var(--ink);white-space:nowrap;flex-shrink:0;align-items:center;min-height:44px;font-size:14px;font-weight:700;display:inline-flex}.nav{letter-spacing:.04em;align-items:center;gap:2px;font-size:13.5px;display:flex;position:relative}.nav a{z-index:1;min-height:40px;color:var(--ink);white-space:nowrap;transition:color var(--dur) var(--ease);border-radius:12px;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex;position:relative}.nav a:after{display:none!important}.nav a svg{width:14px;height:14px}.nav a:hover{background:#1412100f}.nav a:active{opacity:.7}.nav a[aria-current=page]{color:var(--accent-ink);background:0 0}html:not(.js) .nav a[aria-current=page]{background:var(--accent)}.nav-ind{z-index:0;height:40px;width:var(--w,0);background:var(--accent);pointer-events:none;transform:translateX(var(--x,0));opacity:0;transition:transform .35s var(--ease),opacity .2s;border-radius:12px;margin-top:-20px;position:absolute;top:50%;left:0}.nav-ind.on{opacity:1}@media (width<=700px){header{padding:8px 10px 0}.header-inner{border-radius:16px;height:54px;padding:0 6px 0 14px}.logo{letter-spacing:.1em;margin-right:8px;font-size:13px}.nav{scrollbar-width:none;min-width:0;font-size:13px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{padding:0 10px}}@media (prefers-reduced-motion:no-preference){.header-inner{animation:v-nav .55s var(--ease) both}}@keyframes v-nav{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.v-card{isolation:isolate;background:var(--paper);border-radius:var(--r-lg);box-shadow:inset 0 1px 0 #fffffff2,0 0 0 1px var(--line),var(--sh-1);backdrop-filter:blur(10px)saturate(1.3);transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s;border:1px solid #ffffffe6;position:relative}@supports not (backdrop-filter:blur(1px)){.v-card{background:var(--paper-solid)}}a.v-card{color:var(--ink);text-decoration:none;display:block}.v-card:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#96785024,#0000);border-radius:0 0 50% 50%/0 0 100% 100%;height:10px;position:absolute;top:0;left:14px;right:14px}a.v-card:hover,a.v-card:focus-visible{box-shadow:inset 0 1px 0 #fff,0 0 0 1px var(--line-2),var(--sh-2)}@media (prefers-reduced-motion:no-preference){a.v-card:hover,a.v-card:focus-visible{transform:translateY(-2px)}}a.v-card:active{opacity:.7}.v-arr{transition:transform .3s var(--ease);display:inline-block}a:hover .v-arr,a:focus-visible .v-arr{transform:translate(5px)}.v-btn,.v-btn-ghost{border-radius:var(--r-pill);min-height:50px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .25s,border-color .25s;align-items:center;gap:8px;padding:0 24px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.v-btn{background:var(--ink);box-shadow:0 10px 24px -12px #141210b3;color:#faf8f3!important}.v-btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px -12px #141210b3}.v-btn:active,.v-btn-ghost:active{opacity:.7}.v-btn-ghost{border:1.5px dashed var(--dash);background:#ffffff59;color:var(--ink)!important}.v-btn-ghost:hover{border-color:var(--ink);background:#ffffffb3;border-style:solid}.site-footer{margin-top:96px;border:0!important;padding:24px 16px 36px!important}.site-footer-inner{border-radius:var(--r-lg);background:var(--paper);max-width:1160px;box-shadow:0 0 0 1px var(--line);border:1px solid #ffffffe6;padding:22px 24px;color:var(--muted)!important}.site-footer a{align-items:center;min-height:44px;display:inline-flex;color:var(--muted)!important}.site-footer a:hover{color:var(--ink)!important}.backtop{box-shadow:var(--sh-1);background:var(--paper-solid)!important;border:1px solid var(--line-2)!important}@media (prefers-reduced-motion:no-preference){html.js .rv:not(.in){opacity:0;transform:translateY(12px)}html.js .rv{transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0) * 70ms)}}.tldr{position:relative}html.js .tldr:before{content:"";background:var(--lime);transform-origin:top;width:3px;transition:transform .7s var(--ease);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}html.js .tldr.in:before{transform:scaleY(1)}@media (prefers-reduced-motion:reduce){html.js .tldr:before{transition:none;transform:scaleY(1)}}.article-body a{text-underline-offset:4px;text-decoration-color:#2f5d5059;transition:text-decoration-color .25s}.article-body a:hover{text-decoration-color:currentColor}.article-body a:active{opacity:.75}.backtop{font-size:16px;color:var(--ink)!important}.route-card,.cards .card,.qa-card,.scope-card,.g-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--sh-1);backdrop-filter:blur(10px);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;border-radius:16px}a.route-card:hover,a.route-card:focus-visible,.cards .card:hover,.cards .card:focus-within{border-color:var(--line-2);box-shadow:var(--sh-2)}@media (prefers-reduced-motion:no-preference){a.route-card:hover,a.route-card:focus-visible,.cards .card:hover,.cards .card:focus-within{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){a.route-card:hover{transform:none}}a.route-card:active,.cards .card a:active{opacity:.7}a.route-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.route-card .route-step{padding-left:16px;position:relative}.route-card .route-step:before{content:"";border:1.5px solid var(--ink);background:0 0;border-radius:50%;width:8px;height:8px;transition:background .3s;position:absolute;top:.45em;left:0}a.route-card:hover .route-step:before,a.route-card:focus-visible .route-step:before{background:var(--lime)}.route-card strong,.cards .card h2,.cards .card h3{color:var(--ink)}main h1{letter-spacing:-.01em}h1:not(.v-in){padding-bottom:14px;position:relative}h1:not(.v-in):after{content:"";background:var(--lime);transform-origin:0;border-radius:2px;width:72px;height:8px;position:absolute;bottom:0;left:0}@media (prefers-reduced-motion:no-preference){h1:not(.v-in):after{animation:v-bar .55s var(--ease) .35s both}}@keyframes v-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}h2 .num{background:var(--lime-soft);min-width:28px;height:22px;color:var(--ink);font-family:var(--mono);vertical-align:middle;border-radius:999px;place-items:center;margin-right:8px;padding:0 6px;font-size:11px;display:inline-grid}.g-card,.qa-card,.scope-card{padding:18px 20px}@media (width<=1023px){.toc-mobile{backdrop-filter:blur(12px);background:#f4f1eaeb;top:70px}.toc-mobile button{border-radius:999px;min-width:64px;min-height:44px;font-size:13px}.toc-drawer{backdrop-filter:blur(14px);background:#f4f1eaf7;padding:8px 20px 32px;top:120px;bottom:0}.toc-drawer .toc-list{border-left:1px dashed var(--dash);margin-left:4px}.toc-drawer .toc-list li{margin:0;padding-left:18px}.toc-drawer .toc-list li:before{content:"";border:1.5px solid var(--ink);background:var(--bg);border-radius:50%;width:8px;height:8px;position:absolute;top:19px;left:-4.5px}.toc-drawer .toc-list a{min-height:44px;color:var(--ink);padding:10px 0;font-size:15px;line-height:1.6;text-decoration:none;display:block}.toc-drawer .toc-list a:active{opacity:.7}}@media (width<=700px){.toc-mobile{top:62px}}@media (width<=480px){.nav-search .nav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav a.nav-search{justify-content:center;min-width:40px;padding:0 8px}.nav a{padding:0 8px}.logo{margin-right:4px;font-size:12px}}@media (width<=400px){header{padding:8px 6px 0}.header-inner{padding:0 4px 0 10px}.logo{letter-spacing:.06em;margin-right:2px;font-size:11px}.nav{letter-spacing:0;gap:0;font-size:12.5px}.nav a{padding:0 6px}.nav a.nav-search{min-width:36px;padding:0 6px}}@media (width<=700px){.nav a{min-height:44px}.nav-ind{height:44px;margin-top:-22px}}@media (width<=480px){.route-card .route-step{padding-left:10px;position:static}.route-card .route-step:before{display:none}}@media (width<=960px){.site-footer{margin-top:12px!important;padding:12px 12px 28px!important}.layout{padding-bottom:16px}}@media (width<=700px){.breadcrumb a,.hub .crumb a,.hub-foot a{align-items:center;min-height:44px;padding:0 2px;display:inline-flex}.tldr-head button{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 10px;display:inline-flex}}
