@font-face{font-family:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/work-sans-vietnamese-wght-normal.BKsN3ITN.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:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/work-sans-latin-ext-wght-normal.B5dZ8C4S.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:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/work-sans-latin-wght-normal.Bl-S9Xys.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}:root{--bg:#08261a;--bg-2:#0d3324;--card:#10402d;--line:#f4f1e81f;--text:#f4f1e8;--muted:#f4f1e8a8;--green:#12a05a;--green-dark:#0b7a43;--gold:#ffe500;--danger:#ff7a6b;--ok:#7fe0a8;--radius:16px;--sans:"Work Sans Variable", "Work Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--serif:var(--sans);color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}@media (width<=480px){.wide-only{display:none}.brand{font-size:12px}}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(120% 60% at 50% 0%, #0f3d2a 0%, var(--bg) 60%) fixed, var(--bg);min-height:100dvh;color:var(--text);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.15}.wrap{width:min(1100px,100% - 32px);margin-inline:auto}.muted{color:var(--muted)}.gold{color:var(--gold)}.num{font-variant-numeric:tabular-nums}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:20px 0 8px;display:flex}.brand{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.brand img{object-fit:contain;width:36px;height:36px}.pill{background:var(--bg-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.pill .dot{background:var(--ok);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;box-shadow:0 0 #7fe0a8b3}.pill.closed .dot,.pill.before .dot{background:var(--muted);animation:none}@keyframes pulse{70%{box-shadow:0 0 0 8px #7fe0a800}to{box-shadow:0 0 #7fe0a800}}.btn{appearance:none;cursor:pointer;font:inherit;background:var(--green);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-weight:700;text-decoration:none;transition:background .15s,transform 50ms;display:inline-flex}.btn:hover{background:var(--green-dark)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn.secondary{border:1px solid var(--line);color:var(--text);background:0 0}.btn.secondary:hover{background:var(--bg-2)}.btn.warn{background:var(--gold);color:#1b1b1b}.btn.danger{color:var(--danger);background:0 0;border:1px solid #ff7a6b80}label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}input,textarea,select{width:100%;font:inherit;color:var(--text);border:1px solid var(--line);background:#00000040;border-radius:12px;outline:none;padding:13px 14px}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ffe50033}input[aria-invalid=true]{border-color:var(--danger)}.field{margin-bottom:14px}.hint{color:var(--muted);margin-top:6px;font-size:13px}.banner{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;padding:10px 14px;font-size:14px}.banner.demo{color:var(--gold);border-color:#ffe50066}.banner.error{color:var(--danger);border-color:#ff7a6b80}.banner.success{color:var(--ok);border-color:#7fe0a880}.skeleton{background:linear-gradient(90deg, var(--bg-2), var(--card), var(--bg-2));border-radius:var(--radius);background-size:200% 100%;animation:1.2s infinite sh}@keyframes sh{to{background-position:-200% 0}}.img-ph{aspect-ratio:4/3;background:var(--bg-2);color:var(--muted);font-family:var(--serif);place-items:center;font-size:40px;display:grid}@keyframes flash{0%{background:#ffe50059}to{background:0 0}}.flash{animation:1.6s ease-out flash}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
