@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2)format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2)format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2)format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17241f;--ink-soft:#3d5148;--paper:#f4f1e8;--paper-2:#e7e1d4;--card:#fbf9f3;--line:#d5cdb8;--pine:#1c3d34;--pine-2:#24574a;--brass:#8d6a32;--brass-2:#e7d7b1;--good:#1d6b45;--warn:#8a5a12;--bad:#8e3b32;--info:#245c73;--shadow:0 18px 50px #17241f14;--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"Public Sans", "Avenir Next", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;font-family:var(--sans);color:var(--ink);background:var(--paper)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#efeae0;--ink-soft:#c3cec6;--paper:#101816;--paper-2:#1a2622;--card:#17211e;--line:#31423b;--pine:#d7efe6;--pine-2:#8fd0b8;--brass:#e0c27a;--brass-2:#3d3424;--shadow:none}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--paper);color:var(--ink);margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.skip{background:var(--card);padding:.5rem .8rem;position:absolute;top:-4rem;left:1rem}.skip:focus{z-index:5;top:1rem}.nav,.topbar,.footer,.shell{display:flex}.nav,.topbar{justify-content:space-between;align-items:center;gap:1rem}.nav{z-index:4;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.85rem 4vw;position:sticky;top:0}.brand{align-items:center;gap:.7rem;font-weight:700;text-decoration:none;display:flex}.mark{width:28px;height:28px}.links{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.links a{color:var(--ink-soft);text-decoration:none}.links a[aria-current=page]{color:var(--ink)}.btn{border:1px solid var(--pine);background:var(--pine);color:var(--paper);border-radius:999px;align-items:center;padding:.55rem .95rem;text-decoration:none;display:inline-flex}.btn.secondary{color:var(--ink);background:0 0}.btn:disabled{opacity:.55;cursor:not-allowed}.hero{grid-template-columns:1.1fr .9fr;align-items:end;gap:3rem;padding:4.5rem 4vw 3rem;display:grid}.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-size:.75rem}h1,h2,.display{font-family:var(--serif);letter-spacing:-.03em;font-weight:520}h1{margin:.4rem 0 1rem;font-size:clamp(3.2rem,6vw,6.4rem);line-height:.92}.lede{max-width:38rem;color:var(--ink-soft);font-size:1.2rem}.actions{gap:.7rem;margin-top:1.4rem;display:flex}.seal{background:var(--pine);color:#f6f1e6;box-shadow:var(--shadow);border-radius:1.4rem .3rem;padding:1.4rem}.seal ol{margin:0;padding-left:1.1rem}.seal li{margin:.7rem 0}.section{border-top:1px solid var(--line);padding:3rem 4vw}.section h2{margin:.2rem 0 1rem;font-size:clamp(2rem,4vw,3.4rem)}.grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1rem 1.1rem}.card h3{margin:0 0 .4rem;font-size:1.05rem}.card p,.muted{color:var(--ink-soft)}.band{grid-template-columns:.8fr 1.2fr;gap:2rem;display:grid}.price{font-family:var(--serif);margin:.2rem 0;font-size:2.4rem}.footer{border-top:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;gap:1rem;padding:2rem 4vw 3rem}form.stack,.stack{gap:.8rem;display:grid}label{gap:.3rem;font-size:.92rem;display:grid}input,select,textarea{background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:.6rem .7rem}.notice{border-left:3px solid var(--brass);padding-left:.8rem}.shell{flex-direction:row;align-items:stretch;min-height:100vh}.side{color:#f3efe4;background:#1c3d34;flex-direction:column;flex:none;align-self:stretch;gap:.35rem;width:248px;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow:hidden auto}.side .brand{color:#f6f1e6;white-space:nowrap;padding:.2rem .6rem .55rem}.side nav{flex-direction:column;align-items:stretch;gap:.12rem;width:100%;min-width:0;display:flex}.side a,.side button.linkish{white-space:nowrap;color:#efe8d8;text-align:left;background:0 0;border:0;border-radius:.35rem;align-items:center;width:100%;padding:.48rem .7rem;line-height:1.25;text-decoration:none;display:flex}.side a.active,.side a:hover{color:#f6f1e6;background:#ffffff14}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--card);padding:.75rem 1rem}.search{flex:1}.crumbs{color:var(--ink-soft);font-size:.85rem}.content{padding:1rem 1.1rem 2rem}.metrics{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.metric{background:var(--card);border:1px solid var(--line);padding:.9rem;text-decoration:none}.metric strong{font-family:var(--serif);font-size:2rem;display:block}.table-wrap{border:1px solid var(--line);background:var(--card);overflow:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .65rem}th{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem}tr:hover td{background:color-mix(in srgb, var(--brass-2) 45%, transparent)}.toolbar,.pager{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.8rem 0;display:flex}.pill{background:var(--paper-2);border-radius:999px;padding:.1rem .45rem;font-size:.75rem;display:inline-flex}.pill.bad{color:var(--bad);background:#f3d6d2}.pill.good{color:var(--good);background:#d7efe3}.pill.warn{color:var(--warn);background:#f5e6c8}:root[data-theme=dark] .pill.bad{background:#4a2420}:root[data-theme=dark] .pill.good{background:#17382a}:root[data-theme=dark] .pill.warn{background:#3d3018}.dialog-backdrop{z-index:6;background:#10181675;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{background:var(--card);border-radius:.6rem;width:min(640px,100%);padding:1rem}.heatmap{gap:4px;display:grid}.heat-row{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.cell{background:var(--paper-2);place-items:center;min-height:48px;display:grid}.editor{background:var(--card);border:1px solid var(--line);min-height:180px;padding:.8rem}.palette{background:var(--card);border:1px solid var(--line);z-index:7;box-shadow:var(--shadow);border-radius:.6rem;position:fixed;inset:15vh 20vw auto}.palette input{border:0;border-bottom:1px solid var(--line);border-radius:0;width:100%}.palette a,.palette button{text-align:left;background:0 0;border:0;width:100%;padding:.6rem .8rem;text-decoration:none;display:block}.error{color:var(--bad)}.timeline{border-left:2px solid var(--line);margin-left:.4rem;padding-left:.8rem}@media (width<=960px){.hero,.band,.grid,.metrics{grid-template-columns:1fr}.shell{flex-direction:row}.side{flex-direction:column;width:220px}.side nav{flex-direction:column;width:100%}.palette{inset:10vh 1rem auto}}
