@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-ext-wght-normal.C4zznr8T.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;src:url(/_astro/archivo-latin-wght-normal.E0tuGl4L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--bg: #f8f7f4;--surface: #efede8;--line: #e1ded7;--ink: #1d1c1a;--muted: #5e5b55;--accent: #b3261e;--on-accent: #ffffff;--font: "Archivo Variable", "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--col: 760px;--wide: 1100px;--gutter: 24px;--measure: 68ch;--radius: 10px}@media(prefers-color-scheme:dark){:root{--bg: #161615;--surface: #222120;--line: #34322f;--ink: #ebeae6;--muted: #a7a49d;--accent: #ef7166;--on-accent: #161615}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(max-width:640px){body{font-size:17px}}img,svg,video{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p,ul,ol,figure{margin:0}a{color:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;left:var(--gutter);top:8px;z-index:10;padding:8px 12px;background:var(--ink);color:var(--bg);font-size:15px;text-decoration:none;border-radius:6px;transform:translateY(-200%)}.skip:focus-visible{transform:none}.wrap{max-width:calc(var(--col) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.link,.prose a{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);transition:color .15s ease,text-decoration-color .15s ease}@media(hover:hover){.link:hover,.prose a:hover{color:var(--accent);text-decoration-color:currentColor}}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}.brand:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--accent)}.site-nav{display:flex;gap:22px;font-size:16px}@media(max-width:420px){.brand{font-size:17px;gap:8px}.site-nav{gap:16px;font-size:15px}}.site-nav a{color:var(--muted);text-decoration:none;padding-block:8px;transition:color .15s ease}.site-nav a[aria-current=page]{color:var(--ink)}@media(hover:hover){.site-nav a:hover{color:var(--ink)}}.site-footer{margin-top:96px;border-top:1px solid var(--line);padding-block:28px 40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:15px;color:var(--muted)}.site-footer nav{display:flex;flex-wrap:wrap;gap:6px clamp(12px,3.6vw,20px)}.site-footer a{text-decoration:none}@media(hover:hover){.site-footer a:hover{color:var(--ink)}}.intro{padding-top:48px}.intro h1{font-size:clamp(30px,4.2vw,40px);line-height:1.15;font-weight:750;letter-spacing:-.02em;max-width:24ch;text-wrap:balance}.intro p{margin-top:14px;font-size:19px;color:var(--muted);max-width:52ch}.list-title{margin-top:56px;margin-bottom:18px;font-size:15px;font-weight:650;color:var(--muted)}.posts{list-style:none;margin:0;padding:0}.post-card a{display:block;text-decoration:none}.post-card+.post-card{margin-top:48px}.post-card figure{aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius);background:var(--surface)}.post-card img{width:100%;height:100%;object-fit:cover;object-position:60% 45%;transition:transform .4s ease}.post-card h2{margin-top:18px;font-size:clamp(24px,3vw,30px);line-height:1.2;font-weight:700;letter-spacing:-.015em;transition:color .15s ease}.post-card p{margin-top:8px;color:var(--muted)}.post-card .meta{margin-top:10px}@media(hover:hover){.post-card a:hover h2{color:var(--accent)}.post-card a:hover img{transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.post-card img{transition:none}}.note{margin-top:56px;padding:20px 22px;border-radius:var(--radius);background:var(--surface);font-size:16px;line-height:1.6}.note p+p{margin-top:10px}.meta{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}.article-head{padding-top:48px}.article-head h1{font-size:clamp(30px,4.4vw,44px);line-height:1.12;font-weight:750;letter-spacing:-.02em;text-wrap:balance}.article-head .dek{margin-top:14px;font-size:20px;line-height:1.5;color:var(--muted)}.article-head .meta{margin-top:14px}.basis{margin-top:12px;font-size:15px;line-height:1.5;color:var(--muted)}.basis__tag{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:5px;background:var(--surface);color:var(--ink);font-weight:650}.basis__tag--range{background:var(--accent);color:var(--on-accent)}.cover{margin-top:32px}.cover img{width:100%;aspect-ratio:16 / 9;object-fit:cover;object-position:60% 45%;border-radius:var(--radius)}.cover figcaption{margin-top:8px;font-size:13.5px;color:var(--muted)}.cover figcaption a{color:inherit}.disclosure{margin-top:28px;padding:14px 18px;border-radius:8px;background:var(--surface);font-size:16px;line-height:1.6}.toc{margin-top:20px;border:1px solid var(--line);border-radius:8px}.toc summary{padding:12px 16px;font-size:16px;font-weight:650;cursor:pointer}.toc ol{margin:0;padding:0 16px 14px 34px;font-size:16px;line-height:1.5}.toc li+li{margin-top:6px}.toc a{text-decoration:none;color:var(--muted)}@media(hover:hover){.toc a:hover{color:var(--ink)}}.toc-rail{display:none}@media(min-width:1280px){.article-layout{display:grid;grid-template-columns:1fr min(calc(var(--col) + 2 * var(--gutter)),100%) 1fr}.article-main{grid-column:2;grid-row:1;width:100%}.toc-rail{display:block;grid-column:1;grid-row:1;justify-self:end;width:210px;position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow:auto;margin-top:48px;font-size:14.5px;line-height:1.45}.toc-rail p{font-weight:650;margin-bottom:10px}.toc-rail ol{list-style:none;margin:0;padding:0}.toc-rail li+li{margin-top:8px}.toc-rail a{color:var(--muted);text-decoration:none}.toc-rail a[aria-current=true]{color:var(--ink);font-weight:600}@media(hover:hover){.toc-rail a:hover{color:var(--ink)}}.article-main .toc{display:none}.article-layout .prose>.table-scroll--wide{width:min(var(--wide),calc(100% + 50vw - 412px));margin-left:0;transform:none}}.prose{margin-top:28px}.prose>*{max-width:var(--measure)}.prose p,.prose ul,.prose ol{margin-top:1em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--muted)}.prose h2{margin-top:64px;font-size:26px;line-height:1.25;font-weight:700;letter-spacing:-.015em;scroll-margin-top:20px;text-wrap:balance}.prose h3{margin-top:40px;font-size:20px;line-height:1.3;font-weight:700;scroll-margin-top:20px}.prose h2+*,.prose h3+*{margin-top:12px}.prose strong{font-weight:650}.prose hr{display:none}.prose p,.prose li{overflow-wrap:break-word}.prose a,.prose code{overflow-wrap:anywhere}.prose code{font-family:var(--mono);font-size:.85em;padding:.1em .3em;border-radius:4px;background:var(--surface)}.table-scroll{position:relative;margin-top:24px;overflow-x:auto;-webkit-overflow-scrolling:touch}.prose>.table-scroll{max-width:none}@media(min-width:900px){.prose>.table-scroll--wide{width:min(var(--wide),100vw - 2 * var(--gutter));margin-left:50%;transform:translate(-50%)}}.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums}.table-scroll--wide table{min-width:960px}.prose th,.prose td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.prose th{background:var(--surface);font-weight:650;white-space:nowrap}.prose td strong{font-weight:700}.prose tr>:first-child{position:sticky;left:0;background:var(--bg);min-width:9em}.prose thead tr>:first-child{background:var(--surface)}.table-scroll--ranked tr>:first-child{min-width:0;width:2.8em}.table-scroll--ranked tr>:nth-child(2){position:sticky;left:2.8em;background:var(--bg);min-width:10em}.table-scroll--ranked thead tr>:nth-child(2){background:var(--surface)}.mark{display:inline-block;width:.6em;height:.6em;margin-right:.35em;border-radius:50%;vertical-align:.02em}.mark--yes{background:var(--ink)}.mark--no{border:1.5px solid var(--muted)}.mark--warn{background:var(--accent);border-radius:1px;transform:rotate(45deg) scale(.85)}.star{display:inline-block;width:.75em;height:.75em;margin-left:.05em;vertical-align:-.05em;fill:currentColor}@media(max-width:640px){.table-scroll--stack table,.table-scroll--stack tbody,.table-scroll--stack tr,.table-scroll--stack td{display:block;width:100%}.table-scroll--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table-scroll--stack tbody tr{padding:12px 14px;border-radius:8px;background:var(--surface)}.table-scroll--stack tbody tr+tr{margin-top:8px}.prose .table-scroll--stack td,.prose .table-scroll--stack tr>:first-child{position:static;min-width:0;padding:0;border:0;background:none}.table-scroll--stack td:first-child{font-weight:650;padding-bottom:4px}.table-scroll--stack td+td:before{content:attr(data-label);display:block;margin-top:8px;font-weight:650;color:var(--muted)}.table-scroll--stack[data-cols="2"] td+td:before{content:none}}.page{padding-top:48px}.page h1{font-size:clamp(30px,4.2vw,40px);line-height:1.15;font-weight:750;letter-spacing:-.02em}.page .prose{margin-top:12px}
