@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.p.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.p.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.p.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.p.woff2) format("woff2");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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");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:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_c1e9ef{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_c1e9ef{--font-dm-sans:"DM Sans","DM Sans Fallback"}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-s.woff2) format("woff2");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:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-s.p.woff2) format("woff2");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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-s.woff2) format("woff2");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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-s.p.woff2) format("woff2");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:DM Mono Fallback;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9ef920{font-family:DM Mono,DM Mono Fallback;font-style:normal}.__variable_9ef920{--font-dm-mono:"DM Mono","DM Mono Fallback"}:root{--em-50:#ecfdf5;--em-100:#d1fae5;--em-200:#a7f3d0;--em-300:#6ee7b7;--em-400:#34d399;--em-500:#10b981;--em-600:#059669;--em-700:#047857;--em-800:#065f46;--em-900:#064e3b;--sand-100:#fef9ef;--sand-200:#fdefc8;--sand-300:#fad97a;--sand-400:#f7c040;--sand-500:#e8a800;--n-0:#ffffff;--n-50:#fafaf8;--n-100:#f4f4f0;--n-150:#ebebe4;--n-200:#e2e2d8;--n-300:#c8c8bc;--n-400:#9e9e90;--n-500:#737367;--n-600:#55554a;--n-700:#3a3a30;--n-800:#252520;--n-900:#161610;--n-950:#0d0d09;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--success-bg:#f0fdf4;--warning-bg:#fffbeb;--error-bg:#fef2f2;--info-bg:#eff6ff;--primary:var(--em-500);--primary-hover:var(--em-600);--accent:var(--sand-400)}:root,[data-theme=light]{--bg:var(--n-0);--bg-subtle:var(--n-50);--bg-raised:var(--n-100);--bg-overlay:var(--n-150);--fg:var(--n-900);--fg-2:var(--n-600);--fg-3:var(--n-500);--border:var(--n-200);--border-2:var(--n-300);--ring:rgba(16,185,129,.14);--s-xs:0 1px 2px rgba(0,0,0,.04);--s-sm:0 2px 8px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--s-md:0 4px 16px rgba(0,0,0,.08),0 1px 4px rgba(0,0,0,.04);--s-lg:0 8px 32px rgba(0,0,0,.10),0 2px 8px rgba(0,0,0,.04)}[data-theme=dark]{--bg:var(--n-950);--bg-subtle:var(--n-900);--bg-raised:var(--n-800);--bg-overlay:#1e1e18;--fg:var(--n-50);--fg-2:var(--n-300);--fg-3:var(--n-400);--border:rgba(255,255,255,.08);--border-2:rgba(255,255,255,.14);--ring:rgba(16,185,129,.22);--s-xs:0 1px 2px rgba(0,0,0,.3);--s-sm:0 2px 8px rgba(0,0,0,.4);--s-md:0 4px 16px rgba(0,0,0,.5);--s-lg:0 8px 32px rgba(0,0,0,.6)}:root{--font-sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"DM Mono",ui-monospace,"SFMono-Regular",monospace;--font-vi:"DM Sans","Noto Sans Vietnamese",system-ui,sans-serif;--text-xs:12px;--text-sm:14px;--text-base:15px;--text-md:17px;--text-lg:22px;--text-xl:32px;--text-2xl:48px;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-tighter:-0.04em;--tracking-tight:-0.03em;--tracking-snug:-0.02em;--tracking-normal:0;--tracking-wide:0.08em;--tracking-wider:0.12em;--leading-none:1;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.6;--leading-relaxed:1.65;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-2xl:24px;--r-pill:999px;--ease:cubic-bezier(0.4,0,0.2,1);--transition-fast:120ms var(--ease);--transition:180ms var(--ease);--transition-slow:300ms var(--ease);--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--w-prose:640px;--w-chat:760px;--w-dash:560px;--w-shell:1100px;--touch-min:44px;--tap-gap:8px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--sidebar-w:256px;--header-h:56px;--bottomnav-h:64px;--gutter:16px;--gutter-md:24px;--gutter-lg:40px}.font-vi{font-family:var(--font-vi)}@keyframes nha-typing{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}@keyframes nha-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes nha-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes nha-spin{to{transform:rotate(1turn)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (prefers-reduced-motion:reduce){[style*=nha-typing],[style*=nha-typing]>span{animation:none!important}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--n-950);--bg-subtle:var(--n-900);--bg-raised:var(--n-800);--bg-overlay:#1e1e18;--fg:var(--n-50);--fg-2:var(--n-300);--fg-3:var(--n-400);--border:rgba(255,255,255,0.08);--border-2:rgba(255,255,255,0.14);--ring:rgba(16,185,129,.22);--s-xs:0 1px 2px rgba(0,0,0,0.3);--s-sm:0 2px 8px rgba(0,0,0,0.4);--s-md:0 4px 16px rgba(0,0,0,0.5);--s-lg:0 8px 32px rgba(0,0,0,0.6)}}.dark{--bg:var(--n-950);--bg-subtle:var(--n-900);--bg-raised:var(--n-800);--bg-overlay:#1e1e18;--fg:var(--n-50);--fg-2:var(--n-300);--fg-3:var(--n-400);--border:rgba(255,255,255,0.08);--border-2:rgba(255,255,255,0.14);--ring:rgba(16,185,129,.22);--s-xs:0 1px 2px rgba(0,0,0,0.3);--s-sm:0 2px 8px rgba(0,0,0,0.4);--s-md:0 4px 16px rgba(0,0,0,0.5);--s-lg:0 8px 32px rgba(0,0,0,0.6)}*,:after,:before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-size:15px;line-height:1.6;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;transition:background var(--transition),color var(--transition)}.lang-vi,[lang=vi],body{font-family:var(--font-sans)}.vietnamese-text{font-feature-settings:"liga" 1;text-rendering:optimizeLegibility}.mono{font-family:var(--font-mono)}.text-fg{color:var(--fg)}.text-fg-2{color:var(--fg-2)}.text-fg-3{color:var(--fg-3)}.text-em{color:var(--em-500)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes typing-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.animate-fade-in{animation:fade-in .3s ease-out both}.animate-fade-up{animation:fade-up .5s cubic-bezier(.22,1,.36,1) both}.animate-slide-up{animation:slide-up .3s ease-out both}.animate-pulse{animation:pulse 2.2s ease-in-out infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--n-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--n-400)}.dark ::-webkit-scrollbar-thumb,[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--n-700)}.dark ::-webkit-scrollbar-thumb:hover,[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--n-600)}:focus-visible{outline:2px solid var(--em-500);outline-offset:2px}.skeleton{background:linear-gradient(90deg,var(--bg-raised) 25%,var(--bg-overlay) 50%,var(--bg-raised) 75%);background-size:400% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--r-xs)}::placeholder{color:var(--fg-3);opacity:1}::selection{background:var(--em-200);color:var(--em-900)}.dark ::selection,[data-theme=dark] ::selection{background:var(--em-800);color:var(--em-100)}