@font-face{font-display:swap;font-family:Archivo;font-style:normal;font-weight:400;src:url(./archivo-vietnamese-400-normal.BF4g3tCF.woff2) format("woff2"),url(./archivo-vietnamese-400-normal.FGOLYM1a.woff) format("woff");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-display:swap;font-family:Archivo;font-style:normal;font-weight:400;src:url(./archivo-latin-ext-400-normal.B5tPZzqW.woff2) format("woff2"),url(./archivo-latin-ext-400-normal.DrmqtLj6.woff) format("woff");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-display:swap;font-family:Archivo;font-style:normal;font-weight:400;src:url(./archivo-latin-400-normal.C81ewxNO.woff2) format("woff2"),url(./archivo-latin-400-normal.Bl602Mgc.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Archivo;font-style:normal;font-weight:600;src:url(./archivo-vietnamese-600-normal.anCjMumA.woff2) format("woff2"),url(./archivo-vietnamese-600-normal.C8xBVdfP.woff) format("woff");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-display:swap;font-family:Archivo;font-style:normal;font-weight:600;src:url(./archivo-latin-ext-600-normal.Dm61iqcg.woff2) format("woff2"),url(./archivo-latin-ext-600-normal.D7uErJuz.woff) format("woff");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-display:swap;font-family:Archivo;font-style:normal;font-weight:600;src:url(./archivo-latin-600-normal.3BBy0ZsW.woff2) format("woff2"),url(./archivo-latin-600-normal.DwYieO8P.woff) format("woff");unicode-range:u+00??,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-display:swap;font-family:Archivo;font-style:normal;font-weight:800;src:url(./archivo-vietnamese-800-normal.DHDgv4cm.woff2) format("woff2"),url(./archivo-vietnamese-800-normal.BKe5Z8rz.woff) format("woff");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-display:swap;font-family:Archivo;font-style:normal;font-weight:800;src:url(./archivo-latin-ext-800-normal.BC6piDwP.woff2) format("woff2"),url(./archivo-latin-ext-800-normal.B9NTbsU1.woff) format("woff");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-display:swap;font-family:Archivo;font-style:normal;font-weight:800;src:url(./archivo-latin-800-normal.cB6v3kRN.woff2) format("woff2"),url(./archivo-latin-800-normal.DZa_k145.woff) format("woff");unicode-range:u+00??,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-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ec3013;--color-accent-2:#e15b47;--color-divider:color-mix(in srgb,#201e1d 40%,transparent);--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#fff2ef;--color-accent-200:#ffe0d9;--color-accent-300:#ffc4b8;--color-accent-400:#ff9783;--color-accent-500:#ff563c;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-accent-900:#4d170e;--color-accent-2-100:#fff2ef;--color-accent-2-200:#ffe0da;--color-accent-2-300:#ffc4b9;--color-accent-2-400:#ff9784;--color-accent-2-500:#ef6853;--color-accent-2-600:#c94b39;--color-accent-2-700:#9e3526;--color-accent-2-800:#71261b;--color-accent-2-900:#471d16;--font-heading:"Archivo",system-ui,sans-serif;--font-heading-weight:800;--font-body:"Archivo",system-ui,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--shadow-sm:0 1px 2px color-mix(in srgb,#2d2b2b 14%,transparent);--shadow-md:0 3px 10px color-mix(in srgb,#2d2b2b 16%,transparent);--shadow-lg:0 12px 32px color-mix(in srgb,#2d2b2b 22%,transparent)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.grayscale{filter:grayscale(1) contrast(1.08)}*,:after,:before{box-sizing:border-box}body{font-size:15px;font-weight:400;line-height:1.55;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;line-height:1.12;margin:0 0 var(--space-2)}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{font-size:13px;letter-spacing:.08em;text-transform:uppercase}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}figure{margin:0}figcaption{font-size:11px;margin-top:var(--space-1)}.text-muted,figcaption{color:color-mix(in srgb,var(--color-text) 55%,transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-moz-selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}.hr{background:var(--color-divider);border:0;height:2px;margin:var(--space-4) 0}.btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-heading);font-size:14px;font-weight:var(--font-heading-weight);gap:6px;justify-content:center;line-height:1.2;padding:var(--space-2) calc(var(--space-3)*1.2);text-decoration:none}.btn svg{display:block}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.btn-secondary:active{background:color-mix(in srgb,var(--color-text) 14%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.btn-ghost:active{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.btn-icon{height:36px;padding:0;width:36px}.btn-block{justify-content:flex-start;margin-top:var(--space-2);text-align:left;width:100%}.field>label{color:color-mix(in srgb,var(--color-text) 70%,transparent);display:block;font-size:12px;margin-bottom:5px}.input{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);caret-color:var(--color-accent);color:var(--color-text);font:inherit;font-size:14px;min-height:36px;padding:6px 10px;width:100%}.input:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{min-height:90px;resize:vertical}.radio{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;gap:8px}.radio input,.seg-opt input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;height:16px;width:16px}.radio input:checked+.dot,.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}.seg,.seg-opt{display:inline-flex}.seg-opt{align-items:center;cursor:pointer;font-size:13px;gap:6px;padding:7px 12px}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb,var(--color-text) 7%,transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{background:var(--color-surface);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.card-kicker{color:var(--color-accent);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.card-title{font-family:var(--font-heading);font-size:17px;font-weight:var(--font-heading-weight);line-height:1.2}.card-body{flex:1;font-size:13px;margin:0;opacity:.8}.card-meta{align-items:center;color:color-mix(in srgb,var(--color-text) 50%,transparent);display:flex;font-size:11px;gap:6px}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{align-items:center;border-radius:calc(var(--radius-md)*.75);display:inline-flex;font-size:11px;letter-spacing:.02em;padding:3px 10px}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{align-items:center;border-bottom:2px solid var(--color-divider);display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4)}.nav-brand{font-family:var(--font-heading);font-size:18px;font-weight:var(--font-heading-weight);margin-right:auto}.nav a{color:inherit;font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{border-collapse:collapse;font-size:14px;width:100%}.table th{border-bottom:2px solid var(--color-divider);color:color-mix(in srgb,var(--color-text) 60%,transparent);font-size:11px;letter-spacing:.08em;text-align:left;text-transform:uppercase}.table td,.table th{padding:var(--space-2)}.table td{border-bottom:1px solid var(--color-divider)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text) 4%,transparent)}.dialog-backdrop{background:color-mix(in srgb,var(--color-neutral-900) 50%,transparent);display:grid;top:0;right:0;bottom:0;left:0;padding:var(--space-4);place-items:center;position:fixed}.dialog{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);width:min(440px,100%)}.dialog-title{font-family:var(--font-heading);font-size:20px;font-weight:var(--font-heading-weight)}.dialog-body{font-size:14px;opacity:.85}.dialog-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-2)}:root{--color-ok:#1d7a4a;--color-ok-100:#e3f3ea;--color-ok-800:#0f4a2b;--color-warn:#946200;--color-warn-100:#fbf0d4;--color-warn-800:#5c3d00;--color-err:#a3200f;--color-err-100:#fbe4e0;--color-err-800:#5e1207;--color-card:#fbfafa;--color-line:color-mix(in srgb,var(--color-text) 14%,transparent);--sidebar-w:248px}body,html{background:var(--color-bg)}body{font-size:16px;line-height:1.55}h1{font-size:34px}h2{font-size:24px}h3{font-size:19px}p{max-width:70ch}.muted{color:color-mix(in srgb,var(--color-text) 60%,transparent)}.small{font-size:13px}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nowrap,.sr-only{white-space:nowrap}.sr-only{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0)}.btn{font-size:15px;min-height:44px;padding:10px 18px}.btn-lg{font-size:17px;min-height:56px;padding:14px 26px}.btn-sm{font-size:13px;min-height:34px;padding:6px 12px}.btn-ok{background:var(--color-ok);color:#fff}.btn-ok:hover{background:var(--color-ok-800)}.btn-dark{background:var(--color-text);color:var(--color-bg)}.btn-dark:hover{background:var(--color-neutral-800)}.btn .ico{flex:none;height:18px;width:18px}.input{background:#fff;font-size:16px;min-height:44px;padding:10px 12px}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.field{display:flex;flex-direction:column;gap:6px}.field>label{color:var(--color-text);font-size:14px;font-weight:600;margin:0}.field .hint{color:color-mix(in srgb,var(--color-text) 58%,transparent);font-size:13px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column;gap:16px}.row,.row-between{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.row-between{justify-content:space-between}.spacer{flex:1}.check{align-items:flex-start;cursor:pointer;display:flex;font-size:15px;gap:12px}.check input{accent-color:var(--color-accent);flex:none;height:20px;margin:2px 0 0;width:20px}.switch{align-items:center;cursor:pointer;display:inline-flex;gap:12px;position:relative}.switch input{height:0;opacity:0;position:absolute;width:0}.switch .track{background:var(--color-neutral-400);flex:none;height:26px;position:relative;transition:background .15s;width:44px}.switch .track:after{background:#fff;content:"";height:20px;left:3px;position:absolute;top:3px;transition:transform .15s;width:20px}.switch input:checked+.track{background:var(--color-ok)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{outline:2px solid var(--color-accent);outline-offset:2px}.panel{background:var(--color-card);border:1px solid var(--color-line);padding:24px}.panel-tight{padding:16px}.panel h2,.panel h3{margin-bottom:4px}.panel-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.divider{background:var(--color-line);border:0;height:1px;margin:20px 0}.pill{align-items:center;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:4px 10px;white-space:nowrap}.pill:before{background:currentColor;border-radius:50%;content:"";flex:none;height:8px;width:8px}.pill-ok{background:var(--color-ok-100);color:var(--color-ok-800)}.pill-warn{background:var(--color-warn-100);color:var(--color-warn-800)}.pill-err{background:var(--color-err-100);color:var(--color-err-800)}.pill-new{background:var(--color-accent-100);color:var(--color-accent-800)}.pill-neutral{background:var(--color-neutral-200);color:var(--color-neutral-800)}.notice{align-items:flex-start;border-left:4px solid;display:flex;font-size:15px;gap:12px;padding:14px 16px}.notice-info{background:var(--color-neutral-100);border-color:var(--color-neutral-600)}.notice-ok{background:var(--color-ok-100);border-color:var(--color-ok)}.notice-warn{background:var(--color-warn-100);border-color:var(--color-warn)}.notice-err{background:var(--color-err-100);border-color:var(--color-err)}.notice p{margin:0}.table{background:var(--color-card);font-size:15px}.table th{background:var(--color-bg);font-size:12px;padding:12px}.table td{border-bottom-color:var(--color-line);padding:14px 12px;vertical-align:middle}.table tbody tr.clickable{cursor:pointer}.table-wrap{border:1px solid var(--color-line);overflow-x:auto}.table-wrap .table th{border-bottom-width:1px}.tabs{border-bottom:2px solid var(--color-line);display:flex;gap:4px;margin-bottom:24px;overflow-x:auto}.tabs a,.tabs button{background:none;border:0;color:color-mix(in srgb,var(--color-text) 65%,transparent);cursor:pointer;font:inherit;font-size:15px;font-weight:600;padding:12px 16px;text-decoration:none;white-space:nowrap}.tabs .active,.tabs a:hover,.tabs button:hover{color:var(--color-text)}.tabs .active{box-shadow:inset 0 -3px 0 var(--color-accent)}.tabs .count{background:var(--color-neutral-200);font-size:12px;margin-left:6px;padding:1px 7px}.dialog-backdrop{z-index:50}.dialog{background:var(--color-card);max-height:calc(100vh - 32px);overflow:auto;padding:28px;width:min(520px,100%)}.dialog-wide{width:min(760px,100%)}.drawer-backdrop{background:color-mix(in srgb,var(--color-neutral-900) 40%,transparent);top:0;right:0;bottom:0;left:0;position:fixed;z-index:40}.drawer{background:var(--color-card);bottom:0;box-shadow:var(--shadow-lg);overflow-y:auto;padding:28px;position:fixed;right:0;top:0;width:min(560px,100%);z-index:41}.toasts{bottom:20px;flex-direction:column;gap:8px;left:50%;pointer-events:none;position:fixed;transform:translate(-50%);z-index:90}.toast,.toasts{align-items:center;display:flex}.toast{background:var(--color-text);box-shadow:var(--shadow-lg);color:var(--color-bg);font-size:15px;gap:10px;padding:12px 20px}.toast.ok:before{color:#7fdcaa;content:"✓";font-weight:800}.toast.err:before{color:#ff9783;content:"!";font-weight:800}.sq{background:var(--color-accent);display:inline-block;flex:none;height:10px;width:10px}.demo-ribbon{align-items:center;background:var(--color-text);color:var(--color-bg);display:flex;flex-wrap:wrap;font-size:13px;gap:16px;justify-content:center;padding:8px 16px}.demo-ribbon button{background:none;border:1px solid color-mix(in srgb,var(--color-bg) 40%,transparent);color:inherit;cursor:pointer;font:inherit;font-size:13px;padding:3px 10px}.demo-ribbon button:hover{background:color-mix(in srgb,var(--color-bg) 12%,transparent)}.legal{margin:0 auto;max-width:760px;padding:48px 20px 80px}.legal h1{margin-bottom:24px}.legal h2{font-size:20px;margin-top:28px}.legal section{margin-bottom:20px}.legal svg{display:none}@media print{.no-print{display:none!important}body{background:#fff}}.shadow-ribbon{background:var(--color-warn-800);color:#fff}
