@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Serif;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-serif-latin-600-normal-DAxitmSu.woff2)format("woff2"),url(/assets/ibm-plex-serif-latin-600-normal-D3rpGdkS.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:Noto Serif SC Subset;src:url(/assets/noto-serif-sc-600-_D3KF9-q.woff2)format("woff2");font-weight:600;font-display:swap}:root{--bg:#16181d;--raise:#1e2128;--ink:#ede6d8;--mute:#9c988d;--line:#30333b;--amber:#f0a13a;--amber-ink:#f0a13a;--btn-bg:#f0a13a;--btn-fg:#16181d;--serif:"IBM Plex Serif", "Noto Serif SC Subset", "Songti SC", "Source Han Serif SC", serif;--sans:"IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--mono:"IBM Plex Mono", "SF Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--r-s:4px;--r-m:8px;--r-l:12px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--wrap:1120px;--gutter:32px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#fbf8f1;--raise:#f3eee3;--ink:#16181d;--mute:#6a665c;--line:#dad3c4;--amber:#b5690f;--amber-ink:#8f4f06;--btn-bg:#8f4f06;--btn-fg:#fbf8f1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}::selection{background:color-mix(in srgb, var(--amber) 35%, transparent)}a{color:inherit}:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:var(--r-s)}h1,h2,h3,p,ol,ul,dl,dd,figure,blockquote,pre{margin:0}code{font-family:var(--mono);background:var(--raise);border:1px solid var(--line);border-radius:var(--r-s);overflow-wrap:anywhere;padding:.05em .35em;font-size:.86em}.wrap{max-width:calc(var(--wrap) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.skip{left:var(--s4);padding:var(--s2) var(--s3);background:var(--btn-bg);color:var(--btn-fg);border-radius:var(--r-m);z-index:2;position:absolute;top:-48px}.skip:focus{top:var(--s3)}.top-in{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{font:500 16px/1 var(--mono);letter-spacing:-.01em;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.mark{width:22px;height:22px;color:var(--ink);flex:none}.mark circle{fill:var(--amber)}.top nav{gap:var(--s5);font-size:14px;display:flex}.top nav a{color:var(--mute);text-decoration:none}.top nav a:hover{color:var(--ink)}.hero{gap:var(--s8);padding-top:var(--s8);padding-bottom:var(--s9);grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;display:grid}h1{font:600 clamp(34px, 4.6vw, 54px) / 1.12 var(--serif);letter-spacing:-.02em;text-wrap:balance}.lead{margin-top:var(--s5);color:var(--ink);font-size:17px}.cmd{margin-top:var(--s6);background:var(--raise);border:1px solid var(--line);border-radius:var(--r-m);align-items:stretch;display:flex;overflow:hidden}.cmd code{min-width:0;padding:var(--s3) var(--s4);color:var(--ink);background:0 0;border:0;border-radius:0;flex:1;font-size:13px;line-height:1.6}.p{color:var(--amber);font-style:normal}.cmd button{border:0;border-left:1px solid var(--line);color:var(--amber-ink);font:500 12.5px/1 var(--mono);padding:0 var(--s4);cursor:pointer;background:0 0;flex:none;min-width:64px}.cmd button:hover{background:var(--bg)}.note{margin-top:var(--s3);color:var(--mute);font-size:14px}.facts{margin-top:var(--s5);font:12.5px/1.6 var(--mono);color:var(--mute)}.facts span+span:before{content:"·";margin:0 .6em}.links{margin-top:var(--s6);align-items:center;gap:var(--s5);flex-wrap:wrap;display:flex}.btn{height:42px;padding:0 var(--s5);border-radius:var(--r-m);background:var(--btn-bg);color:var(--btn-fg);align-items:center;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--btn-bg) 88%, var(--ink))}.text-link{text-decoration:underline;-webkit-text-decoration-color:var(--mute);text-decoration-color:var(--mute);text-underline-offset:4px;font-size:15px;text-decoration-thickness:1px}.text-link:hover{-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber)}.win{background:var(--raise);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}.bar{height:38px;padding:0 var(--s4);border-bottom:1px solid var(--line);font:12px/1 var(--mono);color:var(--mute);align-items:center;gap:10px;display:flex}.dots{align-items:center;gap:6px;display:inline-flex}.dots i{background:var(--amber);border-radius:50%;display:block}.dots i:first-child{width:10px;height:10px}.dots i:nth-child(2){width:8px;height:8px}.dots i:nth-child(3){width:6px;height:6px}.term{font:12.5px/1.72 var(--mono);color:var(--mute);padding:var(--s4) 20px 20px;white-space:pre-wrap;overflow-wrap:anywhere}.term b{color:var(--ink);font-weight:500}.ln{animation:ln-in .16s ease-out var(--d,0s) both;display:block}.nw{white-space:nowrap}.ln.gap{height:10px}.caret{vertical-align:-.18em;background:var(--amber);width:.55em;height:1.05em;animation:blink 1.1s steps(1) calc(var(--d,0s) + .5s) 4 both;margin-left:.3em;display:inline-block}@keyframes ln-in{0%{opacity:0}}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ln,.caret{animation:none}}figcaption{margin-top:var(--s3);font:12px/1.6 var(--mono);color:var(--mute)}.sec{gap:var(--s8);padding-top:var(--s9);padding-bottom:var(--s9);grid-template-columns:240px minmax(0,1fr);display:grid;position:relative}.sec:before{content:"";top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid var(--line);position:absolute}.side{top:var(--s5);align-self:start;position:sticky}h2{font:600 30px/1.2 var(--serif);letter-spacing:-.015em}.side p{margin-top:var(--s3);color:var(--mute);font-size:14.5px;line-height:1.65}.main{gap:var(--s4);flex-direction:column;max-width:760px;display:flex}.main>h3{margin-top:var(--s5)}.main>h3:first-child{margin-top:0}h3{font:600 16px/1.5 var(--sans)}.aside{color:var(--mute);font-size:14.5px}.consent{counter-reset:c;border-top:1px solid var(--line);padding:0;list-style:none}.consent li{counter-increment:c;border-bottom:1px solid var(--line);grid-template-columns:28px 1fr;padding:10px 0;display:grid}.consent li:before{content:counter(c);font:12.5px/1.75 var(--mono);color:var(--mute);padding-top:1px}.say{background:var(--raise);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--s3) var(--s4);overflow-wrap:anywhere;grid-template-columns:20px 1fr;font-size:15px;display:grid}.say:before{content:"›";color:var(--amber);font-family:var(--mono)}.code{background:var(--raise);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--s4) 18px;font:13px/1.75 var(--mono);overflow-x:auto}.code code{font-size:inherit;overflow-wrap:normal;background:0 0;border:0;padding:0}.code .row{white-space:pre;display:block}.code .c{color:var(--ink)}.code .cm{color:var(--mute)}.grid{background:var(--line);border:1px solid var(--line);margin-top:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.grid>div{background:var(--bg);padding:20px}.grid>div:hover{background:var(--raise)}.grid dt{font-size:15px;font-weight:600;line-height:1.4}.grid dd{margin-top:var(--s2);color:var(--mute);font-size:14.5px;line-height:1.65}.flow-fig{margin-top:var(--s2)}#flow .main{max-width:none}#flow .main>p,#flow .facts-grid{max-width:760px}.flow-pic img{width:100%;height:auto;display:block}.flow-steps,.flow-loops{display:none}.tbl{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.65}.tbl th,.tbl td{text-align:left;vertical-align:top;padding:14px var(--s4) 14px 0;border-bottom:1px solid var(--line)}.tbl thead th{font:400 12px/1.4 var(--mono);color:var(--mute);border-bottom-color:var(--ink);padding-top:0}.tbl tbody th{white-space:nowrap;font-weight:600}.tbl td{color:var(--mute)}.tbl tbody tr:hover{background:var(--raise)}.two tbody th{white-space:normal;width:30%}.lvl{white-space:nowrap;font:12.5px/1.6 var(--mono);color:var(--mute);align-items:center;gap:8px;display:inline-flex}.lvl:before{content:"";border:1px solid var(--mute);border-radius:50%;width:7px;height:7px}.lvl.on{color:var(--amber-ink)}.lvl.on:before{background:var(--amber);border-color:var(--amber)}.tg{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;display:grid}.tg>div{gap:var(--s4);flex-direction:column;display:flex}.tg-pic img{width:100%;height:auto;display:block}.points,.todo{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.points li,.todo li{padding-left:22px;position:relative}.points li:before{content:"";border-top:1px solid var(--mute);width:10px;position:absolute;top:.85em;left:2px}.todo li:before{content:"";border:1px solid var(--mute);border-radius:50%;width:9px;height:9px;position:absolute;top:.62em;left:1px}.split{margin-top:var(--s5);grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;display:grid}.split h3{margin-bottom:var(--s3)}.split li{font-size:15px}.foot{border-top:1px solid var(--line);margin-top:var(--s6)}.foot-in{gap:var(--s7);padding-top:var(--s7);padding-bottom:var(--s8);color:var(--mute);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);font-size:14px;display:grid}.foot-brand .mark{width:28px;height:28px;margin-bottom:var(--s4)}.foot-brand p{max-width:360px}.foot h2{font:400 12px/1.4 var(--mono);color:var(--mute);margin-bottom:var(--s3)}.foot ul{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.foot a{color:var(--ink);text-decoration:none}.foot a:hover{color:var(--amber-ink)}.foot-meta{gap:var(--s2);flex-direction:column;display:flex}@media (width<=1060px){.hero{gap:var(--s7);grid-template-columns:minmax(0,1fr)}.hero-text{max-width:640px}.sec{gap:var(--s6);grid-template-columns:minmax(0,1fr)}.side{max-width:640px;position:static}}@media (width<=720px){:root{--gutter:20px}.hide-s{display:none}.top nav{gap:var(--s4)}.hero{padding-top:var(--s6);padding-bottom:var(--s8)}.term{padding:var(--s3) 14px var(--s4);font-size:11.5px}.sec{padding-top:var(--s8);padding-bottom:var(--s8)}h2{font-size:26px}.grid,.split,.tg,.foot-in{grid-template-columns:minmax(0,1fr)}.tg-fig{max-width:340px}.flow-pic{display:none}.flow-steps{counter-reset:s;border-left:1px solid var(--line);margin-left:6px;padding:0;list-style:none;display:block}.flow-steps li{counter-increment:s;padding:0 0 var(--s4) var(--s5);flex-direction:column;font-size:14.5px;display:flex;position:relative}.flow-steps li:before{content:counter(s);background:var(--bg);border:1px solid var(--mute);width:13px;height:13px;font:9px/12px var(--mono);text-align:center;color:var(--mute);border-radius:50%;position:absolute;top:4px;left:-7px}.flow-steps b.mono{font:500 14px/1.6 var(--mono)}.flow-steps span{color:var(--mute)}.flow-loops{padding:var(--s3) 0 0;color:var(--mute);flex-direction:column;gap:6px;font-size:14px;list-style:none;display:flex}.flow-loops li{padding-left:26px;position:relative}.flow-loops li:before{content:"";border-top:1.5px dashed var(--amber);width:16px;position:absolute;top:.85em;left:0}.tbl thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{width:auto;display:block}.tbl tr{border-bottom:1px solid var(--line);padding:14px 0}.tbl tr:first-child{border-top:1px solid var(--ink)}.tbl th,.tbl td{border:0;padding:0}.tbl tbody th{white-space:normal;margin-bottom:4px}.tbl td[data-k]{margin-top:var(--s2)}.tbl td[data-k]:before{content:attr(data-k);font:11.5px/1.5 var(--mono);color:var(--mute);display:block}.two tbody th{width:auto}.code .row{white-space:pre-wrap;margin-bottom:6px}.code .pad{display:none}.code .cm{display:block}}
