@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Geist-latin-ext.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Geist-latin.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/GeistMono-latin-ext.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/GeistMono-latin.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}:root{--vn-blue:#0B3D91;--vn-blue-700:#082C68;--vn-blue-50:#EEF3FB;--vn-green:#10B981;--vn-green-50:#ECFDF5;--vn-red:#E5484D;--vn-red-50:#FEF1F2;--vn-amber:#F59E0B;--vn-amber-50:#FFFBEB;--vn-text:#0F172A;--vn-text-2:#475569;--vn-text-3:#94A3B8;--vn-border:#E2E8F0;--vn-border-2:#F1F5F9;--vn-bg:#F8FAFC;--vn-card:#FFFFFF;--vn-radius:12px;--vn-radius-sm:10px;--vn-radius-lg:16px;--vn-radius-xl:24px;--vn-shadow-sm:0 1px 2px rgba(15,23,42,0.04);--vn-shadow:0 4px 16px rgba(15,23,42,0.06);--vn-shadow-lg:0 12px 32px rgba(15,23,42,0.08);--font-sans:"Geist",-apple-system,system-ui,sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace}[data-theme=dark]{--vn-text:#F8FAFC;--vn-text-2:#94A3B8;--vn-text-3:#64748B;--vn-border:#334155;--vn-border-2:#1E293B;--vn-bg:#0F172A;--vn-card:#1E293B;--vn-blue:#3B82F6;--vn-blue-700:#2563EB;--vn-blue-50:rgba(59,130,246,0.12);--vn-green:#34D399;--vn-green-50:rgba(52,211,153,0.12);--vn-red:#F87171;--vn-red-50:rgba(248,113,113,0.12);--vn-amber:#FBBF24;--vn-amber-50:rgba(251,191,36,0.12);--vn-shadow-sm:none;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--vn-bg);color:var(--vn-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01"}a{color:inherit;text-decoration:none}button{font-family:inherit}h1,h2,h3,h4{margin:0}img{max-width:100%}.tap{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.tap:active{opacity:.7}.link{color:var(--vn-blue);font-weight:500;cursor:pointer}.link:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 20px;border-radius:var(--vn-radius-sm);font-family:var(--font-sans);font-size:16px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s,transform .1s,background .15s;letter-spacing:-.01em;white-space:nowrap;text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--vn-blue);color:white}.btn-primary:hover:not(:disabled){background:var(--vn-blue-700)}.btn-secondary{background:transparent;color:var(--vn-text);border:1.5px solid var(--vn-border)}.btn-secondary:hover:not(:disabled){background:var(--vn-border-2)}.btn-ghost{background:transparent;color:var(--vn-blue)}.btn-danger{background:var(--vn-red);color:white}.btn-success{background:var(--vn-green);color:white}.btn-block{width:100%}.btn-sm{height:36px;padding:0 14px;font-size:13px;border-radius:8px}.btn-md{height:44px;padding:0 18px;font-size:14px}.card{background:var(--vn-card);border-radius:var(--vn-radius);border:1px solid var(--vn-border);box-shadow:var(--vn-shadow-sm)}.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:-.005em;white-space:nowrap}.pill-green{background:var(--vn-green-50);color:var(--vn-green)}.pill-red{background:var(--vn-red-50);color:var(--vn-red)}.pill-amber{background:var(--vn-amber-50);color:var(--vn-amber)}.pill-blue{background:var(--vn-blue-50);color:var(--vn-blue)}.pill-neutral{background:var(--vn-border-2);color:var(--vn-text-2)}.input{width:100%;height:52px;padding:0 16px;background:var(--vn-card);color:var(--vn-text);border:1.5px solid var(--vn-border);border-radius:var(--vn-radius-sm);font-family:var(--font-sans);font-size:16px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--vn-blue)}.input::placeholder{color:var(--vn-text-3)}.input-sm{height:40px;font-size:14px;padding:0 12px}textarea.input{height:120px;padding:14px;resize:vertical;line-height:1.5}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.input.invalid{border-color:var(--vn-red)}.field-error{color:var(--vn-red);font-size:12px;margin-top:6px}.field{margin-bottom:16px}.label{display:block;font-size:13px;font-weight:500;color:var(--vn-text-2);margin-bottom:6px;letter-spacing:-.005em}.mono{font-family:var(--font-mono);letter-spacing:-.02em}.muted{color:var(--vn-text-2)}.faint{color:var(--vn-text-3)}.placeholder-img{background-color:#E2E8F0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.4) 0 8px,transparent 8px 16px);display:flex;align-items:center;justify-content:center;color:#64748B;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;border-radius:8px;text-transform:uppercase;text-align:center;padding:4px;overflow:hidden;flex-shrink:0}.placeholder-img img{width:100%;height:100%;object-fit:cover;border-radius:inherit}[data-theme=dark] .placeholder-img{background-color:#334155;color:#94A3B8;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 8px,transparent 8px 16px)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--vn-text-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:12px 16px;white-space:nowrap}.table td{padding:14px 16px;border-top:1px solid var(--vn-border-2);vertical-align:middle}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td{background:var(--vn-border-2)}.table-wrap{overflow-x:auto}.seg{display:flex;gap:4px;padding:3px;background:var(--vn-border-2);border-radius:8px}.seg>button{flex:1 1;border:none;background:transparent;cursor:pointer;padding:5px 10px;border-radius:5px;font-size:12px;font-weight:600;color:var(--vn-text-2);font-family:var(--font-sans);white-space:nowrap}.seg>button.on{background:var(--vn-card);color:var(--vn-text);box-shadow:0 1px 2px rgba(0,0,0,.06)}.seg.mono>button{font-family:var(--font-mono)}.seg.lg{padding:4px;border-radius:10px}.seg.lg>button{padding:8px 0;font-size:13px;border-radius:7px}.toggle{width:44px;height:26px;border-radius:999px;background:var(--vn-border);position:relative;border:none;cursor:pointer;flex-shrink:0;transition:background .15s;padding:0}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:white;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .15s}.toggle.on{background:var(--vn-blue)}.toggle.on.green{background:var(--vn-green)}.toggle.on:after{left:21px}.toggle:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease-out}.modal{background:var(--vn-card);color:var(--vn-text);border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--vn-shadow-lg);border:1px solid var(--vn-border);animation:fadeUp .2s ease-out}.modal-head{padding:20px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-body{padding:16px 24px 24px}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--vn-card);color:var(--vn-text);z-index:101;box-shadow:-12px 0 32px rgba(15,23,42,.12);overflow-y:auto;animation:slideIn .2s ease-out;border-left:1px solid var(--vn-border)}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:none}}.toasts{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;flex-direction:column;gap:8px;pointer-events:none}.toast,.toasts{display:flex;align-items:center}.toast{pointer-events:auto;background:#0F172A;color:white;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:var(--vn-shadow-lg);gap:10px;animation:fadeUp .2s ease-out;max-width:92vw}.toast.error{background:#B91C1C}.toast.success{background:#047857}.skel{background:linear-gradient(90deg,var(--vn-border-2) 0,var(--vn-border) 50%,var(--vn-border-2) 100%);background-size:200% 100%;animation:skel 1.2s ease-in-out infinite;border-radius:8px}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{width:18px;height:18px;border-radius:999px;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.shell{display:flex;min-height:100vh;background:var(--vn-bg)}.shell-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.shell-content{flex:1 1;padding:24px}.sidebar{width:240px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.nav-item{gap:10px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:500;margin-bottom:2px}.nav-item,.topbar{display:flex;align-items:center}.topbar{height:60px;padding:0 24px;gap:16px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:20}.menu-btn{display:none}.grid-kpi-5{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px}.grid-kpi-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.grid-2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid-2,.grid-3{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.dot{width:6px;height:6px;border-radius:50%;background:var(--vn-border);transition:width .25s,background .25s}.dot.active{width:24px;background:var(--vn-blue);border-radius:999px}@keyframes laser{0%,to{top:0;opacity:.8}50%{top:calc(100% - 2px);opacity:.4}}.scan-laser{position:absolute;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,#E5484D,transparent);box-shadow:0 0 12px #E5484D;animation:laser 2.2s ease-in-out infinite}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}.pulse{animation:pulse-soft 2s ease-in-out infinite}@keyframes shimmer-x{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .35s ease-out both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.qr-pixel-bg{background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08) 1px,transparent 1.5px),radial-gradient(circle at 80% 60%,rgba(255,255,255,.06) 1px,transparent 1.5px),radial-gradient(circle at 50% 90%,rgba(255,255,255,.05) 1px,transparent 1.5px);background-size:24px 24px,32px 32px,40px 40px}.section-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.empty,.section-label{color:var(--vn-text-2)}.empty{padding:40px 20px;text-align:center;font-size:14px}.kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px;border:1px solid var(--vn-border);background:var(--vn-border-2)}.prose{line-height:1.65;font-size:15px;color:var(--vn-text-2)}.prose h2{font-size:22px;margin:32px 0 8px;letter-spacing:-.01em}.prose h2,.prose h3{color:var(--vn-text)}.prose h3{font-size:17px;margin:24px 0 6px}.prose p,.prose ul{margin:0 0 12px}.prose ul{padding-left:20px}@media (max-width:1180px){.grid-kpi-5{grid-template-columns:repeat(3,1fr)}}@media (max-width:960px){.sidebar{position:fixed;left:0;top:0;z-index:90;transform:translateX(-100%);transition:transform .2s;box-shadow:12px 0 32px rgba(15,23,42,.12)}.sidebar.open{transform:none}.menu-btn{display:inline-flex}.grid-kpi-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}.hide-md{display:none!important}.stack-md{grid-template-columns:1fr!important}}@media (max-width:640px){.shell-content{padding:16px}.topbar{padding:0 16px;gap:10px}.grid-kpi-4,.grid-kpi-5{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.hide-sm{display:none!important}.stack-sm{grid-template-columns:1fr!important}}@media (max-width:960px){.mk-hero{grid-template-columns:1fr!important;padding-top:40px!important}.mk-hero h1{font-size:44px!important}.mk-phone{height:520px!important}.mk-3{grid-template-columns:1fr!important}.mk-4{grid-template-columns:repeat(2,1fr)!important}.mk-footer{grid-template-columns:1fr 1fr!important}}@media (max-width:640px){.mk-hero h1{font-size:36px!important}.mk-4 .mono{font-size:34px!important}.mk-cta{flex-direction:column}.mk-phone{transform:scale(.85);transform-origin:top center}}.msg-bubble{max-width:78%;padding:8px 12px;border-radius:14px 14px 14px 4px;background:var(--vn-border-2);color:var(--vn-text);font-size:14px;line-height:1.45;align-self:flex-start}.msg-bubble.mine{align-self:flex-end;background:var(--vn-blue);color:#fff;border-radius:14px 14px 4px 14px}.msg-bubble.mine a{color:#fff}.msg-layout{display:grid;grid-template-columns:320px minmax(0,1fr);height:calc(100vh - 60px - 48px);min-height:420px;overflow:hidden;padding:0}.msg-list{border-right:1px solid var(--vn-border);overflow-y:auto}.msg-conv,.msg-list{min-height:0;display:flex;flex-direction:column}.msg-conv{min-width:0}@media (max-width:960px){.msg-layout{grid-template-columns:minmax(0,1fr);height:calc(100vh - 60px - 32px)}.msg-list{border-right:none}.msg-layout:not([data-open="1"]) .msg-conv,.msg-layout[data-open="1"] .msg-list{display:none}}.chat-fab{position:fixed;right:20px;bottom:20px;z-index:70;width:52px;height:52px;border-radius:999px;border:none;background:var(--vn-blue);box-shadow:var(--vn-shadow-lg)}.chat-fab,.chat-fab-badge{color:#fff;display:flex;align-items:center;justify-content:center}.chat-fab-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--vn-red);font-size:10px;font-weight:700;border:2px solid var(--vn-card)}.chat-panel{position:fixed;right:20px;bottom:84px;z-index:71;width:380px;height:min(560px,calc(100vh - 120px));display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--vn-shadow-lg);animation:fadeUp .2s ease-out}@media (max-width:640px){.chat-fab{right:16px;bottom:16px;width:48px;height:48px}.chat-panel{left:16px;right:16px;width:auto;bottom:76px;height:min(560px,calc(100vh - 100px))}}.announce{display:flex;align-items:flex-start;gap:10px;padding:10px 24px;background:var(--vn-blue-50);color:var(--vn-text);border-bottom:1px solid var(--vn-border);font-size:13px;line-height:1.45}@media (max-width:640px){.announce{padding:10px 16px}}.tabs-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.tabs-scroll .seg{width:max-content;min-width:100%}.share-bar{height:6px;border-radius:999px;background:var(--vn-border-2);overflow:hidden}.share-bar>span{display:block;height:100%;border-radius:inherit;background:var(--vn-blue)}.code-block{background:#0F172A;color:#E2E8F0;border-radius:10px;padding:14px 16px;font-family:var(--font-mono);font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre;margin:0}.card,.card>*,.shell-content>*{min-width:0}