/* Havenlytics Documentation — frontend styles */
.hvnly-docs-page{--hvnly-doc-header-h:var(--hvnly--header-height,76px);--hvnly-doc-container-max:1280px;--hvnly-doc-container-padding-x:24px;}
.hvnly-docs-active.hvnly-theme .hvnly-docs-page{--hvnly-doc-header-h:var(--hvnly--header-height,76px);}
.hvnly-docs-container-wide .hvnly-docs-page{--hvnly-doc-container-max:1440px;}
.hvnly-docs-container-full .hvnly-docs-page{--hvnly-doc-container-max:none;--hvnly-doc-container-padding-x:clamp(20px,3vw,48px);}
.hvnly-docs-page:not(.hvnly-theme){--hvnly--font-sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--hvnly--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.page-template-page-hvnly-docs #main-content nav.hvnly-breadcrumbs,.hvnly-docs-page ~ nav.hvnly-breadcrumbs{display:none!important;}
.hvnly-docs-page{overflow-x:clip;}
.hvnly-doc-breadcrumb-inner{
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
}
.hvnly-doc-breadcrumb-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1 1 auto;
  min-width:0;
}
.hvnly-doc-breadcrumb-trail{
  margin-left:0;
  min-width:0;
  flex:1 1 auto;
}
.hvnly-doc-breadcrumb-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 0;
  row-gap:6px;
  font-size:13px;
}
.hvnly-doc-breadcrumb-item{
  display:flex;
  align-items:center;
  gap:0;
  max-width:100%;
}
.hvnly-doc-breadcrumb-item a,
.hvnly-doc-breadcrumb-current{
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.hvnly-doc-breadcrumb-sep{
  display:inline-flex;
  align-items:center;
  margin:0 6px;
}
.hvnly-doc-search-trigger{
  flex:0 0 auto;
  width:320px;
  max-width:100%;
  padding:9px 12px;
  gap:10px;
}
.hvnly-doc-search-trigger .hvnly-doc-search-placeholder{
  flex:1;
  min-width:0;
  text-align:left;
}
.hvnly-doc-search-trigger:focus-visible{
  outline:2px solid var(--hvnly--core-primary);
  outline-offset:2px;
  border-color:var(--hvnly--core-primary);
  background:#fff;
}
.hvnly-doc-article-head h1{
  font-size:clamp(28px,3.8vw,34px)!important;
}
.hvnly-doc-article pre,
.hvnly-doc-article .hvnly-doc-code pre{
  overflow-x:auto;
  max-width:100%;
}
.hvnly-doc-article a:not(.hvnly-btn):not(.hvnly-doc-related-card):not(.hvnly-doc-pn-card){
  overflow-wrap:anywhere;
  word-break:break-word;
}
.hvnly-doc-content,
.hvnly-doc-article,
.hvnly-doc-layout{
  min-width:0;
}
@media (max-width:1024px) and (min-width:901px){
  .hvnly-doc-search-trigger{width:280px;}
}
@media (max-width:900px){
  .hvnly-doc-breadcrumb-inner{
    flex-wrap:wrap;
    align-items:stretch;
    gap:12px;
  }
  .hvnly-doc-breadcrumb-left{
    width:100%;
    flex-wrap:wrap;
  }
  .hvnly-doc-search-trigger{
    width:100%;
    order:2;
    justify-content:flex-start;
  }
  .hvnly-doc-search-trigger .hvnly-kbd{display:none;}
  .hvnly-doc-mobile-toggle{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 12px;border-radius:var(--hvnly--radius-pill);background:var(--hvnly--surface-100);border:1px solid var(--hvnly--border);font-size:13px;font-weight:600;}
}
@media (min-width:901px){
  .hvnly-doc-mobile-toggle{display:none!important;}
}
.hvnly-doc-meta-row time{display:inline-flex;align-items:center;gap:6px;}
.hvnly-doc-tree-panel--nested{padding-left:18px;margin-left:12px;}
.hvnly-doc-tree-group.is-current-category>.hvnly-doc-tree-trigger .hvnly-doc-tree-label{color:var(--hvnly--accent);}
.hvnly-doc-tree-link--child{font-size:12.5px;}
.hvnly-search-result mark{background:rgba(108,96,254,0.2);color:inherit;border-radius:3px;padding:0 2px;}
.hvnly-doc-article img,.hvnly-doc-article video,.hvnly-doc-article iframe,.hvnly-doc-article embed,.hvnly-doc-article object{max-width:100%;height:auto;}
.hvnly-doc-article .wp-block-embed,.hvnly-doc-article .wp-block-image,.hvnly-doc-article figure{margin:1.5em 0;}
.hvnly-doc-article .wp-block-columns,.hvnly-doc-article .wp-block-group{max-width:100%;}
.hvnly-doc-article .wp-block-button__link{display:inline-block;}
.hvnly-doc-article .wp-block-table,.hvnly-doc-article table{max-width:100%;}
.hvnly-doc-code-body{display:flex;align-items:stretch;}
.hvnly-doc-code-linenumbers{padding:20px 12px 20px 18px;margin:0;border-right:1px solid var(--hvnly--border-dark,rgba(255,255,255,.08));user-select:none;text-align:right;font-family:var(--hvnly--font-mono);font-size:12px;line-height:1.8;color:rgba(255,255,255,.28);}
.hvnly-doc-code-linenumbers span{display:block;}
.hvnly-doc-code-body pre{flex:1;min-width:0;}
.hvnly-doc-code .hvnly-doc-code-head .hvnly-doc-code-lang{margin-left:auto;}
.hvnly-doc-code .hvnly-doc-code-head .hvnly-doc-copy-btn{margin-left:12px;}
.hvnly-doc-related-card h3,.hvnly-doc-related-card h4{font-size:15px;margin-bottom:6px;}

.hvnly-doc-article iframe.wp-embedded-content{
  max-width: 100%;
  height:670px ;
}


/* ============================================================
   HAVENLYTICS DOCS — DESIGN TOKENS (inherited from homepage v3)
============================================================ */
.hvnly-docs-page {
  --hvnly--core-primary:#6C60FE;
  --hvnly--core-secondary:#8A7BFF;
  --hvnly--core-primary-rgb:108,96,254;
  --hvnly--core-gradient: linear-gradient(135deg, #6C60FE 0%, #8A7BFF 100%);
  --hvnly--core-gradient-soft: linear-gradient(135deg, rgba(108,96,254,0.10) 0%, rgba(138,123,255,0.10) 100%);

  --hvnly--ink-900:#11101F;
  --hvnly--ink-800:#1B1932;
  --hvnly--ink-600:#4B4866;
  --hvnly--ink-400:#7A7793;
  --hvnly--ink-200:#C8C6D9;

  --hvnly--surface-0:#FFFFFF;
  --hvnly--surface-50:#FAFAFD;
  --hvnly--surface-100:#F3F2FA;
  --hvnly--surface-dark:#0E0D1B;
  --hvnly--surface-dark-2:#161429;

  --hvnly--border:#E7E5F3;
  --hvnly--border-dark:#2A2748;

  --hvnly--success:#2BBF8C;
  --hvnly--warning:#E8A23D;
  --hvnly--danger:#E85D5D;
  --hvnly--info:#4C8DFF;

  --hvnly--font-display:'Plus Jakarta Sans', sans-serif;
  --hvnly--font-body:'Inter', sans-serif;
  --hvnly--font-mono:'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --hvnly--radius-sm:10px;
  --hvnly--radius-md:16px;
  --hvnly--radius-lg:24px;
  --hvnly--radius-xl:32px;
  --hvnly--radius-pill:999px;

  --hvnly--shadow-sm: 0 2px 8px rgba(17,16,31,0.06);
  --hvnly--shadow-md: 0 8px 24px rgba(17,16,31,0.08);
  --hvnly--shadow-lg: 0 24px 64px rgba(17,16,31,0.12);
  --hvnly--shadow-glow: 0 0 0 1px rgba(108,96,254,0.12), 0 16px 48px rgba(108,96,254,0.22);

  --hvnly--container: 1280px;
  --hvnly--ease: cubic-bezier(.16,1,.3,1);

  /* Doc-specific configurable aliases (as requested by design brief) */
  --hvnly-primary: var(--hvnly--core-primary);
  --hvnly-surface: var(--hvnly--surface-0);
  --hvnly-radius: var(--hvnly--radius-md);
  --hvnly-shadow: var(--hvnly--shadow-md);
  --hvnly-border: var(--hvnly--border);
  --hvnly-text: var(--hvnly--ink-900);
  --hvnly-muted: var(--hvnly--ink-400);

  --hvnly-doc-sidebar-w: 296px;
  --hvnly-doc-toc-w: 260px;
  --hvnly-doc-header-h: 76px;
  --hvnly-doc-container-max: 1280px;
  --hvnly-doc-container-padding-x: 24px;
}

/* ============================================================
   RESET
============================================================ */
.hvnly-docs-page, .hvnly-docs-page *, .hvnly-docs-page *::before, .hvnly-docs-page *::after{box-sizing:border-box; margin:0; padding:0;}
.hvnly-docs-page {scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}
.hvnly-docs-page {
  font-family:var(--hvnly--font-body);
  color:var(--hvnly--ink-600);
  background:var(--hvnly--surface-0);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer;}
img{max-width:100%; display:block;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:var(--hvnly--font-display); color:var(--hvnly--ink-900); font-weight:700; line-height:1.2; letter-spacing:-0.02em;}
:focus-visible{outline:2px solid var(--hvnly--core-primary); outline-offset:3px; border-radius:4px;}
::selection{background:rgba(108,96,254,0.22);}

/* thin scrollbars for sidebar/toc, webkit only, purely cosmetic */
.hvnly-doc-sidebar-scroll::-webkit-scrollbar,
.hvnly-doc-toc-scroll::-webkit-scrollbar{width:6px;}
.hvnly-doc-sidebar-scroll::-webkit-scrollbar-thumb,
.hvnly-doc-toc-scroll::-webkit-scrollbar-thumb{background:var(--hvnly--ink-200); border-radius:99px;}
.hvnly-doc-sidebar-scroll::-webkit-scrollbar-track,
.hvnly-doc-toc-scroll::-webkit-scrollbar-track{background:transparent;}

.hvnly-container{max-width:var(--hvnly--container); margin:0 auto; padding:0 24px;}

.hvnly-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--hvnly--font-display); font-weight:700; font-size:14px;
  padding:12px 22px; border-radius:var(--hvnly--radius-pill);
  transition:transform .35s var(--hvnly--ease), box-shadow .35s var(--hvnly--ease), background .35s var(--hvnly--ease);
  white-space:nowrap;
}
.hvnly-btn--primary{
  background:var(--hvnly--core-gradient); color:#fff;
  box-shadow:0 8px 24px rgba(108,96,254,0.35);
}
.hvnly-btn--primary:hover{transform:translateY(-2px); box-shadow:0 14px 34px rgba(108,96,254,0.45);}
.hvnly-btn--ghost{
  background:var(--hvnly--surface-100); color:var(--hvnly--ink-900);
  border:1px solid var(--hvnly--border);
}
.hvnly-btn--ghost:hover{background:var(--hvnly--surface-0); border-color:var(--hvnly--core-primary); transform:translateY(-2px);}
.hvnly-btn--sm{padding:9px 16px; font-size:13px;}
.hvnly-icon-btn{
  width:36px; height:36px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center;
  background:var(--hvnly--surface-100); border:1px solid var(--hvnly--border); color:var(--hvnly--ink-600);
  transition:all .25s var(--hvnly--ease);
}
.hvnly-icon-btn:hover{background:#fff; border-color:var(--hvnly--core-primary); color:var(--hvnly--core-primary); transform:translateY(-2px);}
.hvnly-icon-btn svg{width:16px; height:16px;}

/* SEARCH + MODAL
============================================================ */
.hvnly-doc-search-trigger{
  display:flex; align-items:center; gap:10px;
  width:320px; padding:9px 12px; border-radius:var(--hvnly--radius-pill);
  background:var(--hvnly--surface-100); border:1px solid var(--hvnly--border);
  color:var(--hvnly--ink-400); font-size:13.5px; transition:border-color .25s var(--hvnly--ease), background-color .25s var(--hvnly--ease), box-shadow .25s var(--hvnly--ease);
}
.hvnly-doc-search-trigger:hover{border-color:var(--hvnly--core-primary); background:#fff;}
.hvnly-doc-search-trigger:focus-visible{outline:2px solid var(--hvnly--core-primary); outline-offset:2px; border-color:var(--hvnly--core-primary); background:#fff;}
.hvnly-doc-search-trigger svg{width:15px; height:15px; flex-shrink:0;}
.hvnly-doc-search-trigger .hvnly-doc-search-placeholder{flex:1; text-align:left; min-width:0;}
.hvnly-kbd{
  display:inline-flex; align-items:center; gap:2px; font-family:var(--hvnly--font-mono);
  font-size:11px; font-weight:600; color:var(--hvnly--ink-400);
  background:#fff; border:1px solid var(--hvnly--border); border-radius:6px; padding:2px 6px;
}
@media (max-width:900px){.hvnly-doc-search-trigger{width:100%; padding:9px 12px;} .hvnly-doc-search-trigger .hvnly-kbd{display:none;}}
@media (max-width:1024px) and (min-width:901px){.hvnly-doc-search-trigger{width:280px;}}

#hvnly-search-overlay{
  position:fixed; inset:0; background:rgba(14,13,27,0.55); backdrop-filter:blur(3px);
  z-index:1400; display:flex; align-items:flex-start; justify-content:center; padding:12vh 20px 20px;
  opacity:0; visibility:hidden; transition:opacity .25s var(--hvnly--ease), visibility .25s var(--hvnly--ease);
}
#hvnly-search-overlay.is-active{opacity:1; visibility:visible;}
.hvnly-search-modal{
  width:100%; max-width:600px; background:#fff; border-radius:var(--hvnly--radius-lg);
  box-shadow:var(--hvnly--shadow-lg); overflow:hidden;
  transform:translateY(-14px) scale(0.98); transition:transform .3s var(--hvnly--ease);
}
#hvnly-search-overlay.is-active .hvnly-search-modal{transform:translateY(0) scale(1);}
.hvnly-search-modal-head{display:flex; align-items:center; gap:14px; padding:20px 22px; border-bottom:1px solid var(--hvnly--border);}
.hvnly-search-modal-head svg{width:20px; height:20px; color:var(--hvnly--ink-400); flex-shrink:0;}
.hvnly-search-modal-head input{
  flex:1; border:0; outline:0; font-size:16px; font-family:var(--hvnly--font-body); color:var(--hvnly--ink-900);
  background:transparent;
}
.hvnly-search-modal-head input::placeholder{color:var(--hvnly--ink-200);}
.hvnly-search-esc{font-size:11px; font-weight:700; color:var(--hvnly--ink-400); border:1px solid var(--hvnly--border); border-radius:6px; padding:3px 7px;}
.hvnly-search-results{max-height:360px; overflow-y:auto; padding:10px;}
.hvnly-search-hint{padding:10px 12px; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--hvnly--ink-400);}
.hvnly-search-result{
  display:flex; align-items:center; gap:12px; padding:12px; border-radius:var(--hvnly--radius-sm);
  transition:background .2s var(--hvnly--ease);
}
.hvnly-search-result:hover, .hvnly-search-result:focus-visible{background:var(--hvnly--surface-100);}
.hvnly-search-result svg{width:16px; height:16px; color:var(--hvnly--core-primary); flex-shrink:0;}
.hvnly-search-result-text strong{display:block; font-size:13.5px; color:var(--hvnly--ink-900); font-weight:600;}
.hvnly-search-result-text span{font-size:12px; color:var(--hvnly--ink-400);}

/* ============================================================
   MOBILE DRAWER (sidebar on small screens)
============================================================ */
#hvnly-mobile-overlay{
  position:fixed; inset:0; background:rgba(14,13,27,0.5); z-index:1100;
  opacity:0; visibility:hidden; transition:opacity .3s var(--hvnly--ease), visibility .3s var(--hvnly--ease);
}
#hvnly-mobile-overlay.is-active{opacity:1; visibility:visible;}
#hvnly-mobile-drawer{
  position:fixed; top:0; left:0; bottom:0; width:min(320px,86vw);
  background:#fff; z-index:1200; padding:20px; overflow-y:auto;
  transform:translateX(-100%); transition:transform .4s var(--hvnly--ease);
}
#hvnly-mobile-drawer.is-active{transform:translateX(0);}
.hvnly-mobile-drawer-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;}

/* ============================================================
   BREADCRUMB
============================================================ */
.hvnly-doc-breadcrumb{border-bottom:1px solid var(--hvnly--border); background:var(--hvnly--surface-50);}
.hvnly-doc-breadcrumb-inner{
  max-width:var(--hvnly-doc-container-max, var(--hvnly--container)); margin:0 auto; padding:14px var(--hvnly-doc-container-padding-x, 24px);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  font-size:13px; color:var(--hvnly--ink-400); font-weight:500;
}
.hvnly-doc-breadcrumb-inner a{transition:color .2s var(--hvnly--ease);}
.hvnly-doc-breadcrumb-inner a:hover{color:var(--hvnly--core-primary);}
.hvnly-doc-breadcrumb-inner svg{width:11px; height:11px; color:var(--hvnly--ink-200); flex-shrink:0;}
.hvnly-doc-breadcrumb-current{color:var(--hvnly--ink-900); font-weight:700;}

/* ============================================================
   DOC LAYOUT
============================================================ */
.hvnly-doc-layout{
  max-width:var(--hvnly-doc-container-max, var(--hvnly--container)); margin:0 auto; padding:0 var(--hvnly-doc-container-padding-x, 24px);
  display:grid; grid-template-columns:var(--hvnly-doc-sidebar-w) minmax(0,1fr) var(--hvnly-doc-toc-w);
  gap:48px; align-items:start;
}
@media (max-width:1180px){
  .hvnly-doc-layout{grid-template-columns:var(--hvnly-doc-sidebar-w) minmax(0,1fr); gap:36px;}
  .hvnly-doc-toc{display:none;}
}
@media (max-width:900px){
  .hvnly-doc-layout{grid-template-columns:minmax(0,1fr);}
  .hvnly-doc-sidebar{display:none;}
}

/* ---- LEFT SIDEBAR ---- */
.hvnly-doc-sidebar{
  position:sticky; top:calc(var(--hvnly-doc-header-h) + 24px);
  height:calc(100vh - var(--hvnly-doc-header-h) - 48px);
  padding:28px 0 28px 0;
}
.hvnly-doc-sidebar-scroll{height:100%; overflow-y:auto; padding-right:10px;}
.hvnly-doc-quicklinks{display:flex; flex-direction:column; gap:4px; margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid var(--hvnly--border);}
.hvnly-doc-quicklink{
  display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:var(--hvnly--radius-sm);
  font-size:13.5px; font-weight:600; color:var(--hvnly--ink-600); transition:all .2s var(--hvnly--ease);
}
.hvnly-doc-quicklink:hover{background:var(--hvnly--surface-100); color:var(--hvnly--ink-900);}
.hvnly-doc-quicklink svg{width:15px; height:15px; color:var(--hvnly--core-primary); flex-shrink:0;}

.hvnly-doc-tree{display:flex; flex-direction:column; gap:2px;}
.hvnly-doc-tree-group{margin-bottom:4px;}
.hvnly-doc-tree-trigger{
  width:100%; display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:var(--hvnly--radius-sm);
  font-size:13px; font-weight:700; color:var(--hvnly--ink-900); text-transform:uppercase; letter-spacing:.03em;
  transition:background .2s var(--hvnly--ease);
}
.hvnly-doc-tree-trigger:hover{background:var(--hvnly--surface-100);}
.hvnly-doc-tree-trigger .hvnly-doc-tree-icon{
  width:26px; height:26px; border-radius:8px; background:var(--hvnly--core-gradient-soft); color:var(--hvnly--core-primary);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.hvnly-doc-tree-trigger .hvnly-doc-tree-icon svg{width:13px; height:13px;}
.hvnly-doc-tree-trigger span.hvnly-doc-tree-label{flex:1; text-align:left; text-transform:none; letter-spacing:0; font-size:13.5px;}
.hvnly-doc-tree-count{
  font-size:11px; font-weight:700; color:var(--hvnly--ink-400); background:var(--hvnly--surface-100);
  border-radius:99px; padding:2px 7px; letter-spacing:0;
}
.hvnly-doc-tree-chevron{width:13px; height:13px; color:var(--hvnly--ink-400); transition:transform .3s var(--hvnly--ease); flex-shrink:0;}
.hvnly-doc-tree-trigger[aria-expanded="true"] .hvnly-doc-tree-chevron{transform:rotate(90deg);}

.hvnly-doc-tree-panel{
  overflow:hidden; max-height:0; transition:max-height .35s var(--hvnly--ease);
  padding-left:34px; border-left:1px solid var(--hvnly--border); margin-left:22px;
}
.hvnly-doc-tree-group.is-open .hvnly-doc-tree-panel{max-height:600px;}
.hvnly-doc-tree-link{
  display:flex; align-items:center; gap:8px; padding:7px 10px; margin:1px 0; border-radius:var(--hvnly--radius-sm);
  font-size:13px; font-weight:500; color:var(--hvnly--ink-600); position:relative;
  transition:color .2s var(--hvnly--ease), background .2s var(--hvnly--ease);
}
.hvnly-doc-tree-link:hover{color:var(--hvnly--ink-900); background:var(--hvnly--surface-100);}
.hvnly-doc-tree-link.is-current{color:var(--hvnly--core-primary); font-weight:700; background:var(--hvnly--core-gradient-soft);}
.hvnly-doc-tree-link.is-current::before{
  content:''; position:absolute; left:-35px; top:50%; transform:translateY(-50%);
  width:8px; height:8px; border-radius:50%; background:var(--hvnly--core-gradient);
}

/* ============================================================
   MAIN CONTENT / ARTICLE
============================================================ */
.hvnly-doc-content{min-width:0; padding:32px 0 100px;}
.hvnly-doc-article-head{margin-bottom:40px; padding-bottom:28px; border-bottom:1px solid var(--hvnly--border);}
.hvnly-doc-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--hvnly--core-primary); background:var(--hvnly--core-gradient-soft);
  padding:6px 14px; border-radius:var(--hvnly--radius-pill); margin-bottom:18px;
}
.hvnly-doc-article-head h1{font-size:clamp(28px,3.8vw,34px); margin-bottom:14px;}
.hvnly-doc-article-head .hvnly-doc-lead{font-size:17px; color:var(--hvnly--ink-400); max-width:640px;}
.hvnly-doc-meta-row{
  display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:24px; font-size:13px; color:var(--hvnly--ink-400); font-weight:600;
}
.hvnly-doc-meta-row span{display:flex; align-items:center; gap:6px;}
.hvnly-doc-meta-row svg{width:14px; height:14px;}
.hvnly-doc-meta-row .hvnly-doc-version-badge{
  background:var(--hvnly--surface-100); border:1px solid var(--hvnly--border); border-radius:99px; padding:3px 10px; color:var(--hvnly--ink-600);
}
.hvnly-doc-copylink-btn{margin-left:auto;}

/* Article typography */
.hvnly-doc-article{font-size:16px; color:var(--hvnly--ink-600);}
.hvnly-doc-article > * + *{margin-top:20px;}
.hvnly-doc-article h2{font-size:26px; margin-top:30px; margin-bottom:6px; padding-top:8px; scroll-margin-top:100px;}
.hvnly-doc-article h3{font-size:20px; margin-top:20px; margin-bottom:4px; scroll-margin-top:100px;}
.hvnly-doc-article h4{font-size:16.5px; margin-top:15px; margin-bottom:2px; scroll-margin-top:100px;}
.hvnly-doc-article p{line-height:1.75;}
.hvnly-doc-article ul, .hvnly-doc-article ol{padding-left:22px; display:flex; flex-direction:column; gap:0px;}
.hvnly-doc-article ul{list-style:disc;}
.hvnly-doc-article ol{list-style:decimal;}
.hvnly-doc-article li{line-height:1.7; padding-left:4px;margin: 0;}
.hvnly-doc-article li::marker{color:var(--hvnly--core-primary); font-weight:700;}
.hvnly-doc-article strong{color:var(--hvnly--ink-900); font-weight:700;}
.hvnly-doc-article a:not(.hvnly-btn){color:var(--hvnly--core-primary); font-weight:600; text-underline-offset:3px; text-decoration:underline; text-decoration-color:rgba(108,96,254,0.35);}
.hvnly-doc-article a:not(.hvnly-btn):hover{text-decoration-color:var(--hvnly--core-primary);}

.hvnly-doc-inline-code{
  font-family:var(--hvnly--font-mono); font-size:0.87em; background:var(--hvnly--surface-100);
  border:1px solid var(--hvnly--border); color:#B4457A; padding:2px 7px; border-radius:6px;
}

/* Tables */
.hvnly-doc-table-wrap{overflow-x:auto; border:1px solid var(--hvnly--border); border-radius:var(--hvnly--radius-md);}
.hvnly-doc-table{width:100%; border-collapse:collapse; font-size:14px;}
.hvnly-doc-table th{
  text-align:left; background:var(--hvnly--surface-50); color:var(--hvnly--ink-900); font-weight:700;
  padding:12px 16px; border-bottom:1px solid var(--hvnly--border); white-space:nowrap;
}
.hvnly-doc-table td{padding:12px 16px; border-bottom:1px solid var(--hvnly--border); color:var(--hvnly--ink-600);}
.hvnly-doc-table tr:last-child td{border-bottom:0;}
.hvnly-doc-table code{font-family:var(--hvnly--font-mono); font-size:12.5px; background:var(--hvnly--surface-100); padding:2px 6px; border-radius:5px; color:#B4457A;}

/* Media */
.hvnly-doc-figure{border:1px solid var(--hvnly--border); border-radius:var(--hvnly--radius-lg); overflow:hidden; background:var(--hvnly--surface-50);}
.hvnly-doc-figure-media{
  aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(500px 260px at 20% 0%, rgba(108,96,254,0.12), transparent 60%),
    var(--hvnly--surface-100);
  color:var(--hvnly--ink-200);
}
.hvnly-doc-figure-media svg{width:52px; height:52px;}
.hvnly-doc-figure figcaption{padding:12px 18px; font-size:13px; color:var(--hvnly--ink-400); border-top:1px solid var(--hvnly--border);}
.hvnly-doc-video{position:relative;}
.hvnly-doc-video .hvnly-doc-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,0.95);
  display:flex; align-items:center; justify-content:center; color:var(--hvnly--core-primary);
  box-shadow:var(--hvnly--shadow-md); transition:transform .3s var(--hvnly--ease);
}
.hvnly-doc-video:hover .hvnly-doc-play{transform:translate(-50%,-50%) scale(1.08);}
.hvnly-doc-video .hvnly-doc-play svg{width:22px; height:22px; margin-left:3px;}

/* Blockquote */
.hvnly-doc-blockquote{
  border-left:3px solid var(--hvnly--core-primary); background:var(--hvnly--surface-50);
  padding:18px 22px; border-radius:0 var(--hvnly--radius-md) var(--hvnly--radius-md) 0;
  font-style:italic; color:var(--hvnly--ink-600); font-size:15.5px;
}
.hvnly-doc-blockquote cite{display:block; margin-top:10px; font-style:normal; font-size:13px; font-weight:700; color:var(--hvnly--ink-900);}

/* Callouts */
.hvnly-doc-callout{
  display:flex; gap:14px; padding:18px 20px; border-radius:var(--hvnly--radius-md);
  border:1px solid var(--hvnly--border); background:var(--hvnly--surface-50);
}
.hvnly-doc-callout-icon{width:22px; height:22px; flex-shrink:0; margin-top:1px;}
.hvnly-doc-callout-body strong{display:block; font-size:14px; color:var(--hvnly--ink-900); margin-bottom:4px;}
.hvnly-doc-callout-body p{font-size:14px; line-height:1.65; color:var(--hvnly--ink-600); margin:0;}
.hvnly-doc-callout--info{border-color:rgba(76,141,255,0.3); background:rgba(76,141,255,0.06);}
.hvnly-doc-callout--info .hvnly-doc-callout-icon{color:var(--hvnly--info);}
.hvnly-doc-callout--tip{border-color:rgba(108,96,254,0.3); background:var(--hvnly--core-gradient-soft);}
.hvnly-doc-callout--tip .hvnly-doc-callout-icon{color:var(--hvnly--core-primary);}
.hvnly-doc-callout--success{border-color:rgba(43,191,140,0.3); background:rgba(43,191,140,0.07);}
.hvnly-doc-callout--success .hvnly-doc-callout-icon{color:var(--hvnly--success);}
.hvnly-doc-callout--warning{border-color:rgba(232,162,61,0.35); background:rgba(232,162,61,0.08);}
.hvnly-doc-callout--warning .hvnly-doc-callout-icon{color:var(--hvnly--warning);}
.hvnly-doc-callout--danger{border-color:rgba(232,93,93,0.3); background:rgba(232,93,93,0.07);}
.hvnly-doc-callout--danger .hvnly-doc-callout-icon{color:var(--hvnly--danger);}

/* ============================================================
   CODE BLOCKS
============================================================ */
.hvnly-doc-code{
  background:var(--hvnly--surface-dark); border-radius:var(--hvnly--radius-md);
  overflow:hidden; border:1px solid var(--hvnly--border-dark); box-shadow:var(--hvnly--shadow-md);
}
.hvnly-doc-code-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:11px 16px; background:var(--hvnly--surface-dark-2); border-bottom:1px solid var(--hvnly--border-dark);
}
.hvnly-doc-code-lang{
  display:flex; align-items:center; gap:8px; font-family:var(--hvnly--font-mono); font-size:12px; font-weight:600;
  color:rgba(255,255,255,0.55); text-transform:uppercase; letter-spacing:.04em;
}
.hvnly-doc-code-dots{display:flex; gap:5px;}
.hvnly-doc-code-dots span{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.15);}
.hvnly-doc-code-filename{font-family:var(--hvnly--font-mono); font-size:12px; color:rgba(255,255,255,0.4);}
.hvnly-doc-copy-btn{
  display:flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:rgba(255,255,255,0.6);
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:8px; padding:6px 10px;
  transition:all .2s var(--hvnly--ease);
}
.hvnly-doc-copy-btn:hover{background:rgba(255,255,255,0.12); color:#fff;}
.hvnly-doc-copy-btn svg{width:13px; height:13px;}
.hvnly-doc-copy-btn.is-copied{color:var(--hvnly--success); border-color:rgba(43,191,140,0.4);}
.hvnly-doc-code pre{
  margin:0; padding:20px 22px; overflow-x:auto; font-family:var(--hvnly--font-mono);
  font-size:13.3px; line-height:1.8; color:#E4E2F5;
}
.hvnly-doc-code pre::-webkit-scrollbar{height:6px;}
.hvnly-doc-code pre::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15); border-radius:99px;}
.hvnly-tok-key{color:#8A7BFF;}
.hvnly-tok-str{color:#7FD99A;}
.hvnly-tok-com{color:rgba(255,255,255,0.35); font-style:italic;}
.hvnly-tok-fn{color:#5DBBFF;}
.hvnly-tok-tag{color:#FF8FA3;}
.hvnly-tok-attr{color:#F5C26B;}
.hvnly-tok-num{color:#F5C26B;}

/* ============================================================
   RELATED / PREV-NEXT / FEEDBACK / CTA
============================================================ */
.hvnly-doc-section-label{
  font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--hvnly--ink-400);
  margin-bottom:16px;
}
.hvnly-doc-related{margin-top:56px;}
.hvnly-doc-related-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.hvnly-doc-related-card{
  background:#fff; border:1px solid var(--hvnly--border); border-radius:var(--hvnly--radius-lg);
  padding:20px; transition:transform .3s var(--hvnly--ease), box-shadow .3s var(--hvnly--ease), border-color .3s;
}
.hvnly-doc-related-card:hover{transform:translateY(-5px); box-shadow:var(--hvnly--shadow-md); border-color:rgba(108,96,254,0.3);}
.hvnly-doc-related-icon{
  width:38px; height:38px; border-radius:11px; background:var(--hvnly--core-gradient-soft); color:var(--hvnly--core-primary);
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.hvnly-doc-related-icon svg{width:17px; height:17px;}
.hvnly-doc-related-card h3,
.hvnly-doc-related-card h4{font-size:15px; margin-bottom:6px;}
.hvnly-doc-related-card p{font-size:13px; color:var(--hvnly--ink-400); line-height:1.6; margin:0;}
@media (max-width:600px){.hvnly-doc-related-grid{grid-template-columns:1fr;}}

.hvnly-doc-prevnext{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:48px;}
.hvnly-doc-pn-card{
  display:flex; flex-direction:column; gap:4px; padding:14px 18px; border:1px solid var(--hvnly--border);
  border-radius:var(--hvnly--radius-lg); transition:all .3s var(--hvnly--ease);
}
.hvnly-doc-pn-card:hover{border-color:var(--hvnly--core-primary); transform:translateY(-3px); box-shadow:var(--hvnly--shadow-sm);}
.hvnly-doc-pn-card--next{text-align:right; align-items:flex-end;}
.hvnly-doc-pn-dir{display:flex; align-items:center; gap:5px; font-size:11.5px; font-weight:700; color:var(--hvnly--ink-400); text-transform:uppercase; letter-spacing:.04em;}
.hvnly-doc-pn-dir svg{width:12px; height:12px;}
.hvnly-doc-pn-card strong{font-size:15px; line-height:1.35; color:var(--hvnly--ink-900); font-family:var(--hvnly--font-display);}
@media (max-width:600px){.hvnly-doc-prevnext{grid-template-columns:1fr;}}

.hvnly-doc-feedback{
  margin-top:48px; padding:22px 24px; border-radius:var(--hvnly--radius-lg); background:var(--hvnly--surface-50);
  border:1px solid var(--hvnly--border); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.hvnly-doc-feedback p{font-size:14.5px; font-weight:700; color:var(--hvnly--ink-900); font-family:var(--hvnly--font-display);}
.hvnly-doc-feedback-actions{display:flex; gap:10px;}
.hvnly-doc-feedback-btn{
  display:flex; align-items:center; gap:8px; padding:9px 16px; border-radius:var(--hvnly--radius-pill);
  border:1px solid var(--hvnly--border); background:#fff; font-size:13.5px; font-weight:600; color:var(--hvnly--ink-600);
  transition:all .2s var(--hvnly--ease);
}
.hvnly-doc-feedback-btn svg{width:15px; height:15px;}
.hvnly-doc-feedback-btn:hover{border-color:var(--hvnly--core-primary); color:var(--hvnly--core-primary); transform:translateY(-2px);}
.hvnly-doc-feedback-btn.is-selected{background:var(--hvnly--core-gradient); color:#fff; border-color:transparent;}
.hvnly-doc-feedback-thanks{font-size:13.5px; font-weight:600; color:var(--hvnly--success); display:none; align-items:center; gap:6px;}
.hvnly-doc-feedback-thanks svg{width:15px; height:15px;}
.hvnly-doc-feedback.is-answered .hvnly-doc-feedback-thanks{display:flex;}
.hvnly-doc-feedback.is-answered .hvnly-doc-feedback-actions{display:none;}

.hvnly-doc-cta{
  margin-top:48px; background:var(--hvnly--surface-dark); border-radius:var(--hvnly--radius-xl);
  padding:44px; position:relative; overflow:hidden; color:#fff;
}
.hvnly-doc-cta::before{
  content:''; position:absolute; width:420px; height:420px; border-radius:50%;
  background:var(--hvnly--core-gradient); opacity:0.22; filter:blur(110px); top:-160px; right:-120px;
}
.hvnly-doc-cta-inner{position:relative;}
.hvnly-doc-cta h3{color:#fff; font-size:24px; margin-bottom:8px;}
.hvnly-doc-cta p{color:rgba(255,255,255,0.6); font-size:14.5px; margin-bottom:26px; max-width:460px;}
.hvnly-doc-cta-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.hvnly-doc-cta-link{
  display:flex; align-items:center; gap:12px; padding:16px; border-radius:var(--hvnly--radius-md);
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
  transition:all .25s var(--hvnly--ease);
}
.hvnly-doc-cta-link:hover{background:rgba(255,255,255,0.12); transform:translateY(-3px);}
.hvnly-doc-cta-link svg{width:19px; height:19px; color:var(--hvnly--core-secondary); flex-shrink:0;}
.hvnly-doc-cta-link span{font-size:13.5px; font-weight:700; color:#fff;}
@media (max-width:800px){.hvnly-doc-cta-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.hvnly-doc-cta-grid{grid-template-columns:1fr;} .hvnly-doc-cta{padding:30px;}}

/* ============================================================
   RIGHT TOC
============================================================ */
.hvnly-doc-toc{position:sticky; top:calc(var(--hvnly-doc-header-h) + 24px); padding:32px 0;}
.hvnly-doc-toc-progress-track{height:3px; background:var(--hvnly--surface-100); border-radius:99px; margin-bottom:20px; overflow:hidden;}
.hvnly-doc-toc-progress-bar{height:100%; width:0%; background:var(--hvnly--core-gradient); border-radius:99px; transition:width .1s linear;}
.hvnly-doc-toc-scroll{max-height:calc(100vh - 260px); overflow-y:auto; padding-right:6px;}
.hvnly-doc-toc-title{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--hvnly--ink-400); margin-bottom:14px;}
.hvnly-doc-toc-list{display:flex; flex-direction:column; gap:2px; border-left:1px solid var(--hvnly--border);}
.hvnly-doc-toc-link{
  display:block; padding:6px 0 6px 16px; font-size:13px; color:var(--hvnly--ink-400); font-weight:500;
  border-left:2px solid transparent; margin-left:-1px; transition:color .2s var(--hvnly--ease), border-color .2s var(--hvnly--ease);
}
.hvnly-doc-toc-link:hover{color:var(--hvnly--ink-900);}
.hvnly-doc-toc-link.is-active{color:var(--hvnly--core-primary); font-weight:700; border-left-color:var(--hvnly--core-primary);}
.hvnly-doc-toc-link--h3{padding-left:28px; font-size:12.5px;}
.hvnly-doc-toc-actions{display:flex; flex-direction:column; gap:2px; margin-top:24px; padding-top:20px; border-top:1px solid var(--hvnly--border);}
.hvnly-doc-toc-action{
  display:flex; align-items:center; gap:10px; padding:8px 4px; font-size:13px; font-weight:600; color:var(--hvnly--ink-600);
  transition:color .2s var(--hvnly--ease);
}
.hvnly-doc-toc-action:hover{color:var(--hvnly--core-primary);}
.hvnly-doc-toc-action svg{width:14px; height:14px; flex-shrink:0;}
.hvnly-doc-toc-action.is-copied{color:var(--hvnly--success);}

#hvnly-back-to-top{
  position:fixed; bottom:28px; right:28px; z-index:900;
  width:46px; height:46px; border-radius:50%; background:var(--hvnly--ink-900); color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:var(--hvnly--shadow-lg);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .3s var(--hvnly--ease), visibility .3s var(--hvnly--ease), transform .3s var(--hvnly--ease), background .3s;
}
#hvnly-back-to-top.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
#hvnly-back-to-top:hover{background:var(--hvnly--core-primary);}
#hvnly-back-to-top svg{width:18px; height:18px;}

/* Skip link */
.hvnly-skip-link{
  position:absolute; left:-999px; top:0; background:var(--hvnly--core-primary); color:#fff; padding:12px 20px; z-index:2000; border-radius:0 0 10px 0;
}
.hvnly-skip-link:focus{left:0;}

/* Reveal-on-scroll */
[data-hvnly-reveal]{opacity:0; transform:translateY(14px); transition:opacity .6s var(--hvnly--ease), transform .6s var(--hvnly--ease);}
[data-hvnly-reveal].is-visible{opacity:1; transform:translateY(0);}
