@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-standard-normal.rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-standard-normal.7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-standard-normal.DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--blue:#16467f;--blue-deep:#103763;--line:#e9f2fc29;--line-strong:#e9f2fc6b;--on-blue:#eef4fb;--on-blue-muted:#a9c0dc;--paper:#f6f7f4;--ink:#0e2340;--ink-muted:#4a5d78;--ink-line:#16467f29;--ink-line-strong:#16467f73;--accent:#ff6a2b;--accent-ink:#1a0d05;--acc-text:#b93d0b;--radius:2px;--gutter:clamp(16px, 4vw, 48px);--maxw:1180px;--font:"Archivo Variable", "Archivo", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font);background:var(--paper);color:var(--ink);font-variation-settings:"wdth" 100;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}img,svg,canvas{max-width:100%;display:block}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-color:var(--acc-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{width:100%;max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto}.sheet{padding:clamp(64px,9vw,120px) 0;position:relative}.sheet--blue,.hdr,.ftr,.cover{--acc-text:#ffa37a}.sheet--blue{background-color:var(--blue);color:var(--on-blue);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), linear-gradient(#e9f2fc0f 1px, transparent 1px), linear-gradient(90deg, #e9f2fc0f 1px, transparent 1px);background-position:-1px -1px;background-size:120px 120px,120px 120px,24px 24px,24px 24px}.sheet--paper{background-color:var(--paper);background-image:linear-gradient(var(--ink-line) 1px, transparent 1px), linear-gradient(90deg, var(--ink-line) 1px, transparent 1px);background-position:-1px -1px;background-size:120px 120px}.sheet--plain{background:var(--paper)}.sheet+.sheet--paper,.sheet--paper+.sheet--paper{border-top:1px solid var(--ink-line-strong)}.sheet-tag{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-muted);align-items:center;gap:10px;margin-bottom:20px;font-size:12px;display:inline-flex}.sheet--blue .sheet-tag{color:var(--on-blue-muted)}.sheet-tag b{color:var(--acc-text);font-weight:500}.sheet-tag:before{content:"";background:currentColor;width:28px;height:1px}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.01em;margin:0 0 .5em;font-weight:700;line-height:1.08}h1{font-variation-settings:"wdth" 118;letter-spacing:-.02em;font-size:clamp(40px,5.6vw,76px)}h2{font-variation-settings:"wdth" 112;font-size:clamp(30px,4vw,52px)}h3{font-variation-settings:"wdth" 106;font-size:clamp(20px,2vw,25px)}p{max-width:68ch;margin:0 0 1em}.lede{color:var(--ink-muted);max-width:60ch;font-size:clamp(18px,1.6vw,21px)}.sheet--blue .lede{color:var(--on-blue-muted)}.note{font-family:var(--mono);color:var(--ink-muted);letter-spacing:.02em;font-size:12.5px}.sheet--blue .note{color:var(--on-blue-muted)}.btn{--bx:0px;--by:0px;border-radius:var(--radius);font:600 16px/1 var(--font);cursor:pointer;transform:translate(var(--bx), var(--by));border:1px solid #0000;align-items:center;gap:10px;padding:14px 22px;text-decoration:none;transition:transform .18s ease-out,background .15s,color .15s;display:inline-flex}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:#ff8452}.btn--line{background:0 0;border-color:currentColor}.btn--line:hover{background:#ffffff14}.sheet--paper .btn--line:hover,.sheet--plain .btn--line:hover{background:#16467f0f}.btn .arrow{transition:transform .18s}.btn:hover .arrow{transform:translate(4px)}.detail{border:1px solid var(--ink-line-strong);background:var(--paper);padding:28px;position:relative}.sheet--blue .detail{border-color:var(--line-strong);background:var(--blue)}.detail:before,.detail:after{content:"";border:0 solid var(--accent);width:12px;height:12px;position:absolute}.detail:before{border-top-width:2px;border-left-width:2px;top:-5px;left:-5px}.detail:after{border-bottom-width:2px;border-right-width:2px;bottom:-5px;right:-5px}.detail .dnum{font-family:var(--mono);color:var(--acc-text);margin-bottom:12px;font-size:12px;display:block}.grid{gap:28px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.spec{margin:0;padding:0;list-style:none}.spec li{border-top:1px solid var(--ink-line);padding:10px 0 10px 26px;position:relative}.sheet--blue .spec li{border-color:var(--line)}.spec li:before{content:"";background:var(--accent);width:12px;height:1px;position:absolute;top:21px;left:0}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--ink-line-strong);vertical-align:top;padding:10px 12px}th{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-muted);font-size:12px;font-weight:500}.table-scroll{overflow-x:auto}label{margin-bottom:6px;font-size:15px;font-weight:600;display:block}input,select,textarea{width:100%;font:16px var(--font);border-radius:var(--radius);border:1px solid var(--ink-line-strong);color:var(--ink);background:#fff;padding:12px 14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}.field{margin-bottom:18px}.readout{font-family:var(--mono);color:var(--blue);border-bottom:2px solid var(--accent);padding-bottom:4px;font-size:clamp(28px,4vw,44px);line-height:1.1;display:inline-block}.sheet--blue .readout{color:var(--on-blue)}html.js [data-reveal]{clip-path:inset(0 0 100%);transition:clip-path .7s cubic-bezier(.2,.7,.2,1),transform .7s;transform:translateY(10px)}html.js [data-reveal].is-in{clip-path:inset(-20px);transform:none}html.js .draw path,html.js .draw line,html.js .draw rect,html.js .draw polyline,html.js .draw circle{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);transition:stroke-dashoffset 1.6s}.draw.is-in path,.draw.is-in line,.draw.is-in rect,.draw.is-in polyline,.draw.is-in circle{stroke-dashoffset:0}@media (prefers-reduced-motion:reduce){html.js [data-reveal]{clip-path:none;transition:none;transform:none}.draw path,.draw line,.draw rect,.draw polyline,.draw circle{stroke-dashoffset:0;transition:none}.btn{transition:none}}.prose{max-width:720px}.prose h2{margin-top:1.6em;font-size:clamp(26px,3vw,34px)}.prose h3{margin-top:1.4em}.prose p,.prose li{font-size:18px}.prose ul,.prose ol{padding-left:1.2em}.prose li{margin:.35em 0}.prose table{margin:1.5em 0}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink-muted);margin:1.5em 0;padding:4px 0 4px 20px}.prose code{font-family:var(--mono);border-radius:var(--radius);background:#16467f12;padding:1px 5px;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--ink-line-strong);margin:2em 0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--accent);color:var(--accent-ink);z-index:100;padding:10px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.crosshair{pointer-events:none;z-index:90;opacity:0;mix-blend-mode:difference;transition:opacity .2s;position:fixed;inset:0}.crosshair.is-on{opacity:1}.ch-x,.ch-y{background:#ffffff47;position:absolute}.ch-x{height:1px;left:0;right:0;top:var(--cy)}.ch-y{width:1px;top:0;bottom:0;left:var(--cx)}.ch-read{left:calc(var(--cx) + 14px);top:calc(var(--cy) + 12px);font:11px/1 var(--mono);color:#fff;letter-spacing:.04em;white-space:pre;position:absolute}.crosshair.is-measuring .ch-read{color:#0096d4}@media (pointer:coarse){.crosshair{display:none}}.tool{grid-template-columns:1fr 1fr;align-items:start;gap:40px;display:grid}@media (width<=820px){.tool{grid-template-columns:1fr}}.tool-out{position:sticky;top:96px}.tool-out .note{margin:18px 0 4px}.tool-out .note:first-child{margin-top:0}.tool-out .readout.small{font-size:clamp(22px,2.6vw,30px)}.tool-out .fine{margin-top:22px}.acc-fill{fill:var(--acc-text)}.hdr[data-astro-cid-nen7h5rs]{z-index:50;background:var(--blue-deep);color:var(--on-blue);border-bottom:1px solid var(--line-strong);position:sticky;top:0}.hdr-in[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:24px;min-height:68px;display:flex}.mark[data-astro-cid-nen7h5rs]{white-space:nowrap;align-items:baseline;gap:2px;text-decoration:none;display:flex}.mark-word[data-astro-cid-nen7h5rs]{letter-spacing:.08em;font-variation-settings:"wdth" 125;font-size:18px;font-weight:800}.mark-by[data-astro-cid-nen7h5rs]{letter-spacing:.02em;color:var(--on-blue-muted);font-variation-settings:"wdth" 90;margin:0 6px;font-size:13px;font-weight:400}.mark-sub[data-astro-cid-nen7h5rs]{font-family:var(--mono);color:var(--acc-text);font-size:13px}.nav[data-astro-cid-nen7h5rs]{align-items:center;gap:28px;display:flex}.nav-list[data-astro-cid-nen7h5rs]{gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-item[data-astro-cid-nen7h5rs]{position:relative}.nav-item[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{border-bottom:2px solid #0000;flex-direction:column;padding:10px 12px;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;display:flex}.nav-item[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs].is-active,.nav-item[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]:hover{border-bottom-color:var(--acc-text)}.nav-sheet[data-astro-cid-nen7h5rs]{font-family:var(--mono);color:var(--on-blue-muted);font-size:10.5px;font-weight:400}.sub[data-astro-cid-nen7h5rs]{background:var(--blue-deep);border:1px solid var(--line-strong);opacity:0;visibility:hidden;min-width:240px;margin:0;padding:8px 0;list-style:none;transition:all .16s;position:absolute;top:100%;left:0;transform:translateY(6px)}.has-sub[data-astro-cid-nen7h5rs]:hover .sub[data-astro-cid-nen7h5rs],.has-sub[data-astro-cid-nen7h5rs]:focus-within .sub[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;transform:none}.sub[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:9px 16px;font-size:15px;text-decoration:none;display:block}.sub[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:#fff;background:#ffffff12}.nav-end[data-astro-cid-nen7h5rs]{align-items:center;gap:14px;display:flex}.lang[data-astro-cid-nen7h5rs]{border:1px solid var(--line-strong);border-radius:var(--radius);padding:6px 9px;font-size:13px;font-weight:600;text-decoration:none}.btn-sm[data-astro-cid-nen7h5rs]{padding:10px 16px;font-size:15px}.menu-btn[data-astro-cid-nen7h5rs]{color:inherit;border:1px solid var(--line-strong);font:600 15px var(--font);border-radius:var(--radius);background:0 0;padding:8px 14px;display:none}@media (width<=1060px){.menu-btn[data-astro-cid-nen7h5rs]{display:block}.nav[data-astro-cid-nen7h5rs]{background:var(--blue-deep);padding:16px var(--gutter) 40px;flex-direction:column;align-items:stretch;display:none;position:fixed;inset:68px 0 0;overflow-y:auto}.nav[data-astro-cid-nen7h5rs].is-open{display:flex}.nav-list[data-astro-cid-nen7h5rs]{flex-direction:column}.sub[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;border:0;padding:0 0 8px 12px;position:static;transform:none}.nav-end[data-astro-cid-nen7h5rs]{margin-top:16px}}.ftr[data-astro-cid-jo6i4kqk]{background:var(--blue-deep);color:var(--on-blue);border-top:1px solid var(--line-strong);padding:64px 0 28px}.ftr-cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,1fr) 1.4fr;gap:32px;margin-bottom:48px;display:grid}.ftr[data-astro-cid-jo6i4kqk] .ftr-h[data-astro-cid-jo6i4kqk]{letter-spacing:.06em;font-size:14px;font-family:var(--mono);color:var(--on-blue-muted);font-weight:500}.ftr[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}.ftr[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{margin:7px 0}.ftr[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{text-decoration:none}.ftr[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--acc-text)}.ftr-about[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:var(--on-blue-muted);font-size:15px}.titleblock[data-astro-cid-jo6i4kqk]{border:1px solid var(--line-strong);font-size:14px}.titleblock[data-astro-cid-jo6i4kqk] td[data-astro-cid-jo6i4kqk]{border:1px solid var(--line-strong);padding:10px 14px}.titleblock[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]{font-family:var(--mono);color:var(--on-blue-muted);letter-spacing:.05em;font-size:10.5px;display:block}.fine[data-astro-cid-jo6i4kqk]{color:var(--on-blue-muted);margin-top:18px;font-size:13px}@media (width<=800px){.ftr-cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.titleblock[data-astro-cid-jo6i4kqk] td[data-astro-cid-jo6i4kqk]{display:block}}
