
.hb{font-family:'IBM Plex Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.hb h1,.hb h2,.hb h3,.hb h4,.hb .display{font-family:'Inter',system-ui,sans-serif}
.hb .prose,.hb .serif{font-family:'Newsreader',Georgia,'Times New Roman',serif}
.hb code,.hb pre,.hb kbd,.hb .mono{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
.hb{
  --blue:#0385FF;--blue-dk:#0270D9;--blue-2:#0257B8;--blue-soft:#EAF4FF;--blue-line:rgba(3,133,255,.24);
  --navy:#0B1B33;--violet:#6D5EF6;--cyan:#22D3EE;
  --ink:#0B1220;--ink-2:#3D4859;--ink-3:#6B7688;
  --bg:#ffffff;--bg-2:#F5F8FC;--bg-3:#ECF2F9;--card:#ffffff;
  --hair:#E5EBF3;--hair-2:#EEF3F8;
  --amber:#B45309;--amber-bg:#FEF6E7;--amber-line:#F59E0B;
  --green:#15803D;--green-bg:#E9F7EE;--green-line:#16A34A;
  --red:#C2342B;--red-bg:#FDECEA;--red-line:#EF4444;
  --code-bg:#F3F7FC;--code-ink:#334155;
  --code-fg:#475569;--code-dim:#94A3B8;--code-tag:#0B6BCB;--code-attr:#6D28D9;--code-num:#15803D;--code-hair:rgba(11,27,51,.10);--code-label:#64748B;--code-ruler:#A8B4C6;
  --sh-1:0 1px 1px rgba(11,27,51,.05),0 2px 2px rgba(11,27,51,.045),0 4px 5px rgba(11,27,51,.04),0 7px 10px rgba(11,27,51,.035),0 12px 18px rgba(11,27,51,.03);
  --sh-2:0 1px 1px rgba(11,27,51,.05),0 2px 3px rgba(11,27,51,.045),0 5px 8px rgba(11,27,51,.05),0 10px 16px rgba(11,27,51,.055),0 18px 30px rgba(11,27,51,.06),0 30px 48px rgba(11,27,51,.07);
  --sh-3:0 2px 2px rgba(11,27,51,.05),0 5px 7px rgba(11,27,51,.05),0 11px 15px rgba(11,27,51,.055),0 21px 30px rgba(11,27,51,.06),0 38px 56px rgba(11,27,51,.08),0 64px 96px rgba(11,27,51,.10);
  --sh-blue:0 10px 26px rgba(3,133,255,.32);
  --base:#FCFEFF;--tint:#E4EFFB;
  --dot:rgba(11,27,51,.05);--aura-a:.10;
  --page-grad:linear-gradient(180deg,#EAF1FC 0%,#EFF5FD 22%,#F7FAFE 55%,#FFFFFF 100%);
}
.hb[data-theme="dark"]{
  --blue:#3D9EFF;--blue-dk:#5AB0FF;--blue-2:#7CC0FF;--blue-soft:rgba(61,158,255,.10);--blue-line:rgba(61,158,255,.30);
  --navy:#0A1426;--violet:#8B7DFF;--cyan:#34E0F0;
  --ink:#F1F6FC;--ink-2:#C5D0DE;--ink-3:#8C99AC;
  --bg:#0A1322;--bg-2:#0E1728;--bg-3:#141E33;--card:#111B2F;
  --hair:rgba(148,163,184,.16);--hair-2:rgba(148,163,184,.10);
  --amber:#FCD34D;--amber-bg:rgba(245,158,11,.12);--amber-line:#F59E0B;
  --green:#4ADE80;--green-bg:rgba(34,197,94,.12);--green-line:#16A34A;
  --red:#FCA5A5;--red-bg:rgba(239,68,68,.12);--red-line:#EF4444;
  --code-bg:#0B1322;--code-ink:#D6E0F0;
  --code-fg:#9FB0C9;--code-dim:#5C6781;--code-tag:#7CC0FF;--code-attr:#8B7DFF;--code-num:#4ADE80;--code-hair:rgba(255,255,255,.08);--code-label:#8B96A8;--code-ruler:#5C6781;
  --sh-1:inset 0 1px 0 rgba(255,255,255,.05),0 1px 2px rgba(0,0,0,.45),0 2px 5px rgba(0,0,0,.4),0 5px 10px rgba(0,0,0,.38),0 9px 16px rgba(0,0,0,.36);
  --sh-2:inset 0 1px 0 rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.5),0 3px 7px rgba(0,0,0,.45),0 7px 15px rgba(0,0,0,.48),0 15px 30px rgba(0,0,0,.52),0 26px 48px rgba(0,0,0,.56);
  --sh-3:inset 0 1px 0 rgba(255,255,255,.07),0 2px 4px rgba(0,0,0,.5),0 6px 13px rgba(0,0,0,.48),0 14px 28px rgba(0,0,0,.52),0 28px 52px rgba(0,0,0,.56),0 52px 92px rgba(0,0,0,.64);
  --sh-blue:0 12px 30px rgba(3,133,255,.4);
  --base:#070B14;--tint:#0D1728;
  --dot:rgba(160,185,220,.07);--aura-a:.14;
  --page-grad:radial-gradient(135% 95% at 50% 6%,#14203A 0%,#0C1426 40%,#080D1A 74%,#05080F 100%);
}

.hb a,.hb a:hover,.hb a:focus,.hb a:active{text-decoration:none}
.hb ::selection{background:rgba(3,133,255,.25)}

@keyframes hbDrift{0%{transform:translate3d(-5%,-3%,0) scale(1.05)}50%{transform:translate3d(7%,5%,0) scale(1.18)}100%{transform:translate3d(-5%,-3%,0) scale(1.05)}}
@keyframes hbDrift2{0%{transform:translate3d(6%,4%,0) scale(1.1)}50%{transform:translate3d(-7%,-6%,0) scale(1.22)}100%{transform:translate3d(6%,4%,0) scale(1.1)}}
@keyframes hbPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
@keyframes hbShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes hbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

@keyframes flowDot{0%{left:4%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:96%;opacity:0}}
@keyframes flowDotV{0%{top:6%;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:94%;opacity:0}}
@keyframes procPulse{0%,100%{box-shadow:0 0 0 0 rgba(3,133,255,.4),var(--sh-3)}50%{box-shadow:0 0 0 14px rgba(3,133,255,0),var(--sh-3)}}
@keyframes procSpin{to{transform:rotate(360deg)}}
@keyframes scanLine{0%{top:0}100%{top:100%}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes barGrow{0%{height:8%}100%{height:var(--h,60%)}}
@keyframes hbAura{0%{transform:translate3d(-3%,-2%,0) scale(1)}50%{transform:translate3d(4%,3%,0) scale(1.08)}100%{transform:translate3d(-3%,-2%,0) scale(1)}}
@media (prefers-reduced-motion: reduce){.hbAura{animation:none !important}}

.hb .shimmer{position:relative;overflow:hidden}
.hb .shimmer::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.4) 50%,transparent 68%);background-size:220% 100%;animation:hbShimmer 3.2s linear infinite;pointer-events:none}
.hb .chev{transition:transform .25s ease;display:inline-block}
.hb .btn-go:hover .chev{transform:translateX(4px)}
.hb .navlink{position:relative;transition:color .2s ease}
.hb .navlink::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:2px;background:var(--blue);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.hb .navlink:hover{color:var(--blue-dk)!important}
.hb .navlink:hover::after{transform:scaleX(1)}
.hb .lift{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s}
.hb .lift:hover{transform:translateY(-6px);box-shadow:var(--sh-3);border-color:var(--blue-line)}
.hb .lift:hover .tile-ico{transform:scale(1.08) rotate(-4deg)}
.hb .lift:hover .go-ar{transform:translateX(3px);opacity:1}
.hb .tile-ico{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.hb .go-ar{transition:transform .25s ease,opacity .25s ease;opacity:.45}
.hb .rolecard{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.hb .rolecard:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--blue-line)}
.hb .chan{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.hb .chan:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--blue-line)}
.hb input::placeholder{color:var(--ink-3)}
.hb details>summary{list-style:none;cursor:pointer}
.hb details>summary::-webkit-details-marker{display:none}
.hb details[open] .faqchev{transform:rotate(180deg)}
.faqchev{transition:transform .25s ease}
@media(prefers-reduced-motion:reduce){.hb *{animation:none!important}}
@media(max-width:940px){.hb-hide{display:none!important}.hb-hero-grid{grid-template-columns:1fr!important}.hb-3{grid-template-columns:1fr 1fr!important}.hb-4{grid-template-columns:1fr 1fr!important}.hb-2{grid-template-columns:1fr!important}.hb-feat{grid-template-columns:1fr!important}.hb-ent{flex-direction:column!important;align-items:flex-start!important}}
@media(max-width:680px){.hb-chan{grid-template-columns:1fr!important}.hb-vs{grid-template-columns:1fr!important}.hb-3{grid-template-columns:1fr!important}.hb-4{grid-template-columns:1fr!important}}

.hb-page{position:relative;min-height:100vh;background:var(--page-grad);color:var(--ink)}
.hb-wrap{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 24px}
.hb-wrap-md{max-width:920px}
.hb-wrap-sm{max-width:840px}
.hb-section{position:relative;padding:56px 0 0}

.hb-dotmesh{position:absolute;inset:0;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:30px 30px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.5) 42%,transparent 78%);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.5) 42%,transparent 78%);opacity:.7;pointer-events:none}

.hb-aura{position:absolute;border-radius:50%;opacity:var(--aura-a);filter:blur(54px);pointer-events:none;animation:hbAura 32s ease-in-out infinite}
.hb-aura.blue{background:radial-gradient(circle at center,var(--blue) 0%,transparent 64%)}
.hb-aura.violet{background:radial-gradient(circle at center,var(--violet) 0%,transparent 64%);animation-duration:38s;animation-direction:reverse}

.hb-eyebrow{font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dk)}
.hb h1,.hb .hb-h1{font-weight:800;font-size:clamp(25px,3.1vw,37px);line-height:1.06;letter-spacing:-.01em;color:var(--ink);margin:22px 0 0;text-wrap:balance}
.hb h2,.hb .hb-h2{font-weight:800;font-size:clamp(21px,2.3vw,29px);line-height:1.14;letter-spacing:-.004em;color:var(--ink);margin:8px 0 0}
.hb .lede{font-size:clamp(15px,1.4vw,17px);line-height:1.7;color:var(--ink-2)}

.hb-card{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:32px 26px;box-shadow:var(--sh-1)}
.hb-card-2{box-shadow:var(--sh-2)}
.hb-card-3{box-shadow:var(--sh-3)}
.hb-pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--blue-dk);background:var(--card);border:1px solid var(--blue-line);padding:7px 14px;border-radius:50px;box-shadow:var(--sh-1)}

.hb-btn{display:inline-flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;color:#fff;background:var(--navy);padding:10px 18px;border-radius:10px;box-shadow:var(--sh-2);cursor:pointer;border:0}
.hb-btn.blue{background:var(--blue)}
.hb-btn.ghost{background:var(--card);color:var(--blue-dk);border:1px solid var(--blue-line);box-shadow:var(--sh-1)}
.hb-iconbtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--hair);background:var(--card);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:15px;box-shadow:var(--sh-1)}

.hb-table{width:100%;border-collapse:collapse;font-size:14px}
.hb-table th{text-align:left;padding:13px 18px;font-weight:600;color:var(--ink-3);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--hair)}
.hb-table td{padding:12px 18px;color:var(--ink);border-bottom:1px solid var(--hair-2)}
.hb-table tr:last-child td{border-bottom:0}

.hb-code{background:var(--code-bg);color:var(--code-ink);border:1px solid var(--hair);border-radius:18px;overflow:hidden;box-shadow:var(--sh-2);position:relative}
.hb-code-bar{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--code-hair);font-family:'IBM Plex Mono';font-size:12px;font-weight:500;color:var(--code-label)}
.hb-code pre{margin:0;padding:16px 18px;overflow:auto;font-family:'IBM Plex Mono';font-size:13px;line-height:1.7;color:var(--code-fg)}
.hb-code .tok-tag{color:var(--code-tag)}
.hb-code .tok-attr{color:var(--code-attr)}
.hb-code .tok-num{color:var(--code-num)}
.hb-code .tok-dim{color:var(--code-dim)}

body:has(.legal-shell){background:linear-gradient(180deg,#EAF1FC 0%,#EFF5FD 22%,#F7FAFE 55%,#FFFFFF 100%)}
.legal-shell{max-width:860px;margin:0 auto;padding:0 24px 72px;color:var(--ink-2)}
.legal-top{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--hair);margin-bottom:30px}
.legal-brand{font-family:'Inter',sans-serif;font-weight:800;font-size:1.3rem;text-decoration:none;color:var(--ink);letter-spacing:-.02em}
.legal-brand span{color:var(--blue)}
.legal-back{font-size:.9rem;color:var(--blue-dk);text-decoration:none;font-weight:600}
.legal-back:hover{color:var(--blue)}
.legal-body h1{font-family:'Inter',sans-serif;font-size:clamp(1.9rem,3vw,2.4rem);font-weight:800;letter-spacing:-.01em;color:var(--ink);margin:0 0 6px;line-height:1.1}
.legal-meta{color:var(--ink-3);font-size:.85rem;margin-bottom:30px}
.legal-body h2{font-family:'Inter',sans-serif;font-size:1.2rem;font-weight:700;color:var(--ink);margin:32px 0 8px}
.legal-body p,.legal-body li{line-height:1.75;font-size:.98rem;color:var(--ink-2)}
.legal-body ul{padding-left:22px}
.legal-body li{margin-bottom:6px}
.legal-body code{background:var(--code-bg);color:var(--code-ink);padding:1px 6px;border-radius:5px;font-family:'IBM Plex Mono',monospace;font-size:.85em}
.legal-body a{color:var(--blue-dk);font-weight:500}
.legal-addr{color:var(--ink-2);line-height:1.7}
.legal-foot{margin-top:48px;padding-top:22px;border-top:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--ink-3);font-size:.85rem}
.legal-foot nav a{color:var(--blue-dk);text-decoration:none;margin-right:16px;font-weight:500}
.legal-foot nav a:hover{color:var(--blue)}

.legal-body a.hb-btn,.legal-body a.hb-btn:hover{color:#fff;text-decoration:none}
.legal-body a.hb-btn.ghost{color:var(--blue-dk)}

@media (max-width: 680px) {
  .hb .hb-chan { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 0 !important; }
  .hb .hb-chan > * { width: 100%; max-width: 300px; }
  .hb .hb-chan .conn {
    width: 3px !important; height: 38px !important; margin: 8px auto !important;
    background: linear-gradient(180deg, var(--blue-line), var(--blue)) !important;
  }
  .hb .hb-chan .conn .dot {

    left: 50% !important; transform: translateX(-50%) !important;
    animation: flowDotV 2.4s linear infinite !important;
  }
}

@keyframes hbAuraRight{0%{transform:translate3d(3%,-2%,0) scale(1)}50%{transform:translate3d(14%,4%,0) scale(1.1)}100%{transform:translate3d(3%,-2%,0) scale(1)}}
@media (prefers-reduced-motion: reduce){[style*="hbAuraRight"]{animation:none!important}}
