@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_next/static/media/mona-sans-vietnamese-wght-normal.f158c274.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_next/static/media/mona-sans-latin-ext-wght-normal.d365451d.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_next/static/media/mona-sans-latin-wght-normal.01d3f3a6.woff2) format("woff2-variations");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-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-vietnamese-wght-normal.a3924ff4.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-ext-wght-normal.55a1343a.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-wght-normal.5a0c43ff.woff2) format("woff2-variations");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}.Header_header__KwdYD{background:var(--card);border-bottom:1px solid var(--line)}.Header_row__3Tanc{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px}.Header_logo____uDV{display:flex;align-items:center;gap:6px;color:var(--text);font:700 18px/1 var(--font-display),sans-serif;letter-spacing:-.2px}.Header_logo____uDV:hover{color:var(--text);text-decoration:none}.Header_search__i7Buy{flex:1 1 280px;max-width:520px;height:40px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--text-3)}.Header_search__i7Buy input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font:14px var(--font-body),sans-serif;color:var(--text)}.Header_search__i7Buy:focus-within{border-color:var(--accent)}.Header_nav__tNWGY{margin-left:auto;display:flex;gap:8px}.Header_me__IZ49s{display:inline-flex;border-radius:50%}:root{--font-body:"Mona Sans Variable";--font-display:"Space Grotesk Variable";--chrome:#ecedf1;--card:#ffffff;--text:#1b1c22;--text-2:#4a4d5a;--text-3:#5b5e6b;--accent:#4400ff;--accent-hover:#2e00ad;--accent-soft:#eee8ff;--viewport:#15161b;--ok:#15803d;--warn:#b45309;--danger:#b42318;--line:rgba(0,0,0,0.08);--line-strong:rgba(0,0,0,0.14);--brand-gradient:linear-gradient(135deg,#4400ff,#8800ff,#bb44ff);--radius-card:12px;--radius-viewport:8px;--radius-control:6px}*{box-sizing:border-box}body,html{margin:0;background:var(--chrome);color:var(--text);font-family:var(--font-body),system-ui,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display),system-ui,sans-serif;margin:0;text-wrap:balance}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:100%;max-width:1280px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.btn{height:40px;padding:0 16px;border-radius:var(--radius-control);border:1px solid var(--line-strong);background:var(--card);font:500 14px/1 var(--font-body),system-ui,sans-serif;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.btn,.btn:hover{color:var(--text);text-decoration:none}.btn:hover{border-color:rgba(0,0,0,.24)}.btn-primary{border:none;background:var(--brand-gradient);color:#fff;font-weight:600}.btn-primary:hover{color:#fff;filter:brightness(1.08)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card)}.viewport{background:radial-gradient(ellipse at 50% 90%,rgba(68,0,255,.22),rgba(21,22,27,0) 60%),var(--viewport)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{padding-top:32px;padding-bottom:48px;display:flex;flex-direction:column;gap:24px}.narrow{max-width:760px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.muted{color:var(--text-3)}.chip,.muted{font-size:13px}.chip{height:32px;padding:0 14px;border-radius:16px;border:1px solid var(--line-strong);background:var(--card);color:var(--text);font-weight:500;display:inline-flex;align-items:center}.chip:hover{color:var(--text);text-decoration:none;border-color:rgba(0,0,0,.3)}.chip[aria-current=page]{background:var(--text);border-color:var(--text);color:#fff}.seg{display:flex;padding:3px;gap:2px;border-radius:8px;background:var(--card);border:1px solid var(--line)}.seg a{height:30px;padding:0 12px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-2);display:inline-flex;align-items:center}.seg a:hover{text-decoration:none;color:var(--text)}.seg a[aria-current=page]{background:var(--accent-soft);color:var(--accent-hover)}.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid rgba(0,0,0,.1)}.tabs a{height:40px;padding:0 14px;margin-bottom:-1px;border-bottom:2px solid transparent;font:600 14px var(--font-display),sans-serif;color:var(--text-3);display:inline-flex;align-items:center}.tabs a:hover{text-decoration:none;color:var(--text)}.tabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:13px;font-weight:600}.input{height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--card);color:var(--text);font:14px var(--font-body),sans-serif;width:100%}textarea.input{height:auto;padding:10px 12px;line-height:1.5;resize:vertical}.input:focus{outline:none;border-color:var(--accent)}.badge{height:22px;padding:0 8px;border-radius:11px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.badge-ok{background:#e8f6ec;color:var(--ok)}.badge-warn{background:#fff4e5;color:#7a3e00}.badge-danger{background:#fdecec;color:var(--danger)}.badge-accent{background:var(--accent-soft);color:#3a00d6;text-transform:uppercase;letter-spacing:.4px}.tag{height:26px;padding:0 10px;border-radius:13px;background:#f1f1f5;color:#2e3038;font-size:12px;display:inline-flex;align-items:center}.tag:hover{color:var(--text);text-decoration:none;background:#e6e6ee}.error{font-size:13px}.btn-danger,.error{color:var(--danger)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn:disabled{opacity:.55;cursor:default}.avatar{border-radius:50%;background:#e4dbff;color:#2e00ad;display:inline-flex;justify-content:center;font-weight:600;overflow:hidden;flex:none;object-fit:cover}.avatar,.list-row{align-items:center}.list-row{display:flex;flex-wrap:wrap;gap:16px;padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.06)}.list-row:last-child{border-bottom:none}.prose{gap:0;line-height:1.65;color:#2e3038}.prose h1{font-size:32px;letter-spacing:-.4px;color:var(--text);margin-bottom:12px}.prose h2{font-size:19px;color:var(--text);margin:28px 0 8px}.prose p,.prose ul{margin:0 0 12px;max-width:68ch}.prose li+li{margin-top:6px}.skeleton{border-radius:6px;background:linear-gradient(90deg,#e3e4ea,#eef0f4 50%,#e3e4ea);background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.loading{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center}.loading-bar{position:absolute;top:0;left:0;right:0;height:3px;overflow:hidden}.loading-bar:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,rgba(68,0,255,0),#4400ff,#bb44ff,rgba(187,68,255,0));animation:loading-slide 1.1s ease-in-out infinite}.loading-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);opacity:0;animation:loading-fade .2s ease .3s forwards,loading-spin .8s linear infinite}@keyframes loading-slide{0%{left:-40%}to{left:100%}}@keyframes loading-spin{to{transform:rotate(1turn)}}@keyframes loading-fade{to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-bar:after{animation:none;left:0;width:100%;opacity:.6}.loading-spinner{animation:loading-fade .2s ease .3s forwards}}.toasts{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:100;display:flex;flex-direction:column;pointer-events:none}.toast,.toasts{align-items:center;gap:8px}.toast{display:inline-flex;min-height:40px;max-width:min(92vw,480px);padding:8px 16px;border-radius:8px;background:var(--text);color:#fff;font-size:14px;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.18);animation:toast-in .18s ease-out}.toast-ok svg{color:#4ade80}.toast-error{background:#7f1d1d}.toast-error span{width:18px;height:18px;border-radius:50%;background:#fecaca;color:#7f1d1d;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}