@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.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}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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{--cream: #fbf6ec;--paper: #fffdf8;--ink: #2a2035;--muted: #6d6277;--purple: #3e2166;--purple-2: #5b3a8a;--orange: #e5701b;--orange-d: #b9540a;--line: #eadfce;--tint: #f4ebf9;--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-body: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--w: 1120px;--read: 700px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.7 var(--font-body);display:flex;flex-direction:column;min-height:100vh}main{flex:1}h1,h2,h3,h4{font-family:var(--font-display);color:var(--purple);line-height:1.2;font-weight:650;letter-spacing:-.01em}a{color:var(--purple-2);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--orange-d)}img{max-width:100%;height:auto}.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}.site-header{background:var(--paper);border-bottom:3px solid var(--orange);position:sticky;top:0;z-index:20}.site-header .wrap{display:flex;align-items:center;gap:18px;min-height:64px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 1.35rem var(--font-display);color:var(--purple)}.brand svg{width:30px;height:30px;flex:none}.nav{margin-left:auto;display:flex;align-items:center;gap:6px}.nav>a,.nav summary{padding:8px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.95rem;font-weight:550;cursor:pointer;list-style:none}.nav summary::-webkit-details-marker{display:none}.nav>a:hover,.nav summary:hover{background:var(--tint);color:var(--purple)}.menu{position:relative}.menu[open]>summary{background:var(--tint)}.menu .panel{position:absolute;right:0;top:calc(100% + 10px);width:min(720px,94vw);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 18px 40px #3e216629;display:grid;grid-template-columns:repeat(3,1fr);gap:2px 14px}.menu .panel a{display:block;padding:7px 8px;border-radius:8px;font-size:.9rem;line-height:1.35;color:var(--ink);text-decoration:none}.menu .panel a:hover{background:var(--tint);color:var(--purple)}.searchlink{display:inline-flex;align-items:center;gap:6px}@media(max-width:760px){.site-header .wrap{flex-wrap:wrap;padding-top:8px;padding-bottom:8px;gap:4px}.nav{width:100%;margin:0;justify-content:space-between}.menu{position:static}.menu .panel{left:12px;right:12px;width:auto;grid-template-columns:1fr 1fr;max-height:70vh;overflow:auto;top:108px;position:fixed}}@media(max-width:460px){.menu .panel{grid-template-columns:1fr}}.hero{background:radial-gradient(1200px 400px at 85% -10%,#f3dcc2 0,transparent 60%),linear-gradient(180deg,var(--paper),var(--cream));padding:64px 0 40px;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(2rem,5vw,3.4rem);margin:0 0 14px;max-width:18ch}.hero p{font-size:1.12rem;max-width:56ch;color:var(--muted);margin:0 0 22px}.btn{display:inline-block;background:var(--orange);color:#fff;padding:11px 20px;border-radius:999px;font-weight:650;text-decoration:none}.btn:hover{background:var(--orange-d);color:#fff}.btn.ghost{background:transparent;color:var(--purple);border:1.5px solid var(--purple);margin-left:8px}.btn.ghost:hover{background:var(--purple);color:#fff}section.block{padding:44px 0 8px}section.block>.wrap>h2{font-size:1.7rem;margin:0 0 20px;display:flex;align-items:baseline;gap:12px}section.block h2 small{font:500 .9rem var(--font-body)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.tile{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:600;line-height:1.3;transition:transform .15s,border-color .15s}.tile:hover{border-color:var(--orange);transform:translateY(-2px);color:var(--purple)}.tile .ic{font-size:1.6rem}.tile small{display:block;font-weight:450;color:var(--muted);font-size:.8rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:0 12px 28px #3e21661f;transform:translateY(-2px)}.card .thumb{aspect-ratio:16/7;display:grid;place-items:center;font-size:2.4rem;background:linear-gradient(135deg,#f7e3cc,#eadcf6);border-bottom:1px solid var(--line)}.card .thumb img{width:100%;height:100%;object-fit:cover}.card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}.card .kicker{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-d);font-weight:700;text-decoration:none}.card h3{margin:0;font-size:1.12rem}.card h3 a{color:var(--purple);text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0}.card{position:relative}.card .kicker{position:relative;z-index:2}.card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}.card time{margin-top:auto;font-size:.8rem;color:var(--muted)}.article-head{padding:34px 0 10px}.narrow{max-width:var(--read);margin:0 auto;padding:0 20px}.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:18px}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px}.crumbs li+li:before{content:"›";margin-right:8px;color:var(--orange)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--orange-d);text-decoration:underline}.article-head h1{font-size:clamp(1.9rem,4.4vw,2.8rem);margin:0 0 14px}.meta{color:var(--muted);font-size:.9rem;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}.pill{background:var(--tint);color:var(--purple);padding:3px 12px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.8rem}.pill:hover{background:var(--purple);color:#fff}.toc{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:12px;padding:14px 20px;margin:24px 0;font-size:.95rem}.toc summary{cursor:pointer;font:650 1rem var(--font-display);color:var(--purple)}.toc ol{margin:10px 0 0;padding-left:20px}.toc li{margin:4px 0;line-height:1.4}.toc a{text-decoration:none}.prose{padding-bottom:20px}.prose>:first-child{margin-top:0}.prose h2{font-size:1.65rem;margin:2.2em 0 .5em}.prose h3{font-size:1.25rem;margin:1.8em 0 .4em}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose li{margin:.3em 0}.prose a{font-weight:500}.prose blockquote{margin:1.4em 0;padding:.2em 1.2em;border-left:4px solid var(--orange);background:var(--paper)}.tablewrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--line);border-radius:12px;background:var(--paper);-webkit-overflow-scrolling:touch}.prose table{border-collapse:collapse;width:100%;font-size:.93rem;line-height:1.5;min-width:520px}.prose th{background:var(--purple);color:#fff;text-align:left;padding:10px 14px;font-weight:600}.prose td{padding:10px 14px;border-top:1px solid var(--line);vertical-align:top}.prose tr:nth-child(2n) td{background:#fbf7ef}.related{background:var(--paper);border-top:1px solid var(--line);margin-top:40px;padding:40px 0 48px}.related h2{margin:0 0 20px;font-size:1.6rem}.pagehead{padding:44px 0 10px}.pagehead h1{font-size:clamp(1.9rem,4.4vw,2.7rem);margin:0 0 10px}.lede{font-size:1.12rem;color:var(--muted);max-width:62ch;margin:0 0 8px}.alist{columns:2 340px;column-gap:40px;padding:0;list-style:none}.alist li{break-inside:avoid;padding:4px 0;line-height:1.4}.alist-h{margin:32px 0 8px;font-size:1.35rem}.site-footer{background:var(--purple);color:#d9cdea;margin-top:56px;padding:40px 0 28px;font-size:.92rem;border-top:4px solid var(--orange)}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{color:#ffc999;text-decoration:underline}.site-footer .cols{display:flex;flex-wrap:wrap;gap:28px 60px}.site-footer h3{color:#fff;font-size:1rem;margin:0 0 8px}.site-footer ul{list-style:none;padding:0;margin:0;line-height:1.9}.site-footer .fine{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:.82rem;color:#b9a9d1}.notfound{text-align:center;padding:90px 20px}.notfound .big{font-size:5rem}#search{max-width:760px;margin:0 auto}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.hero{position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-60px;top:-40px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3df,#f6d9b0 60%,#f1c58e);opacity:.75;pointer-events:none}.hero:before{content:"";position:absolute;right:150px;top:70px;width:90px;height:40px;z-index:1;pointer-events:none;opacity:.85;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 40'><g fill='%233e2166'><path d='M45 14c-4-8-14-10-24-6 5 1 8 4 9 8-6-3-14-2-20 3 7-1 12 1 14 6 2-4 6-6 10-6 3 0 5 3 7 8 2-5 4-8 7-8 4 0 8 2 10 6 2-5 7-7 14-6-6-5-14-6-20-3 1-4 4-7 9-8-10-4-20-2-24 6z' transform='translate(0 2)'/></g></svg>") no-repeat center/contain}.hero .wrap{position:relative;z-index:2}@media(max-width:760px){.hero:after{width:200px;height:200px;right:-70px;top:-50px}.hero:before{right:40px;top:24px;width:60px}.hero{padding-top:44px}}
