/* style */
.ad-space{width:300px;min-width:300px;padding:15px}.ad-title{font-size:12px;color:#666;text-align:center;margin-bottom:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.sticky-ad-container{position:sticky;top:20px;display:flex;flex-direction:column;gap:20px}.ad-unit{margin-bottom:20px;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgb(0 0 0 / .1)}@media (max-width:1200px){.ad-space{width:250px;min-width:250px}}@media (max-width:1024px){.ad-space{display:none}}
@media (max-width:1024px){.mobile-menu-btn{display:block!important}nav ul{display:none;position:fixed;top:70px;left:0;right:0;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.15);z-index:1000;flex-direction:column;padding:0;margin:0;max-height:calc(100vh - 70px);overflow-y:auto}nav ul.show{display:flex!important}nav ul li{width:100%;margin:0;border-bottom:1px solid #f0f0f0}nav ul li:last-child{border-bottom:none}nav ul li a{display:flex;align-items:center;padding:1rem 1.5rem;color:#421983;text-decoration:none;transition:background-color .3s ease;font-weight:500}nav ul li a:focus,nav ul li a:hover{background-color:#f8f9fa}nav ul li a.active{background-color:#421983;color:#fff}nav ul li a i{margin-right:.75rem;width:20px;text-align:center}.dropdown{position:relative}.dropdown>a{position:relative;padding-right:3rem}.dropdown>a::after{content:'\f078';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);transition:transform .3s ease;color:inherit}.dropdown.active>a::after{transform:translateY(-50%) rotate(180deg)}.dropdown-content{position:static;box-shadow:none;background:#f8f9fa;border-left:4px solid #421983;display:none;width:100%;padding:0;opacity:1;visibility:visible;transform:none}.dropdown:hover .dropdown-content{display:none}.dropdown.active .dropdown-content{display:block!important;animation:dropdownFade .3s ease}.dropdown-content a{padding:.875rem 1.5rem .875rem 3rem;border-bottom:1px solid #e9ecef;color:#495057;font-weight:400;display:flex;align-items:center}.dropdown-content a:last-child{border-bottom:none}.dropdown-content a:hover{background-color:#e9ecef;color:#421983}.dropdown-content a i{margin-right:.75rem;color:#6c757d;width:16px;text-align:center}@keyframes dropdownFade{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}}@media (min-width:1025px){.mobile-menu-btn{display:none!important}nav ul{display:flex!important}.dropdown-content{display:none;position:absolute;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);border-radius:6px;padding:.5rem 0;min-width:240px;z-index:1000}.dropdown:hover .dropdown-content{display:block}.dropdown-content a{padding:.75rem 1rem;display:block;color:#421983;text-decoration:none;transition:background-color .3s ease}.dropdown-content a:hover{background-color:#f8f9fa}}body.menu-open{overflow:hidden}

/* style */
/* ---------- Left menu: full height by default ---------- */
    @media (min-width: 1025px) {
      .left-sidebar {
        height: calc(100vh - 190px);   /* from below the toolbar to the bottom of the window */
        align-self: flex-start;
        position: sticky;
        top: 100px;
      }
      .left-sidebar.expanded {
        overflow-y: auto;
        overscroll-behavior: contain;
      }
      .left-sidebar::-webkit-scrollbar { width: 6px; }
      .left-sidebar::-webkit-scrollbar-track { background: transparent; margin: 12px 0; }
      .left-sidebar::-webkit-scrollbar-thumb { background: #c9b8ea; border-radius: 999px; }
      .left-sidebar::-webkit-scrollbar-thumb:hover { background: #5a2da2; }
      body.night-mode .left-sidebar::-webkit-scrollbar-thumb { background: #4f4566; }
    }

/* id="sd-menu-style" */
/* ---------- System Design sidebar: collapsible sections ---------- */
.left-sidebar .sidebar-section h3 { margin: 0; padding: 0; }
.left-sidebar .sdmenu-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0 0 4px;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.left-sidebar .sdmenu-toggle:hover { background: #f6f3fc; color: var(--primary); }
.left-sidebar .sdmenu-toggle:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.left-sidebar .sdmenu-title { flex: 1; }
.left-sidebar .sdmenu-count {
  min-width: 22px;
  padding: 1px 7px;
  border-radius: 999px;
  background: #f1ecfa;
  color: var(--primary);
  font-size: 0.68rem;
  letter-spacing: 0;
  text-align: center;
}
.left-sidebar .sdmenu-chevron { font-size: 0.7rem; transition: transform 0.2s ease; }
.left-sidebar .sdmenu-toggle[aria-expanded="false"] .sdmenu-chevron { transform: rotate(-90deg); }
.left-sidebar .sidebar-menu[hidden] { display: none; }
.left-sidebar .sdmenu-soon {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px 7px 12px;
  border-radius: 8px;
  color: #9aa1ab;
  font-size: 0.92rem;
  line-height: 1.35;
  text-align: left;
  cursor: default;
}
.left-sidebar .sdmenu-soon > span:first-child { flex: 1; }
.left-sidebar .sdmenu-badge {
  flex-shrink: 0;
  padding: 1px 7px;
  border: 1px solid #e6e1ef;
  border-radius: 999px;
  color: #8b8f98;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* Collapsed sidebar: full-height bar on desktop */
@media (min-width: 1025px) {
  .left-sidebar:not(.expanded) { height: calc(100vh - 190px); }
}
/* Smaller text and tighter spacing for menu links */
.left-sidebar .sidebar-menu { gap: 2px; }
.left-sidebar .sidebar-menu a,
.left-sidebar .sdmenu-soon {
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 0.9rem;
  line-height: 1.35;
}
.left-sidebar .sdmenu-toggle { padding-top: 5px; padding-bottom: 5px; }
/* ---------- System Design sidebar look (works with the old and the new site stylesheet) ---------- */
/* Title: smaller, one line */
.left-sidebar .sidebar-title { font-size: 1.05rem; line-height: 1.3; }
/* Sections: tighter, separated by a thin line */
.left-sidebar .sidebar-section { margin: 0; padding: 6px 0; border-top: 1px solid #f0edf5; }
.left-sidebar .sidebar-header + .sidebar-section { border-top: 0; }
/* Section headings: purple, ~14px, one accent colour, no side bar, not uppercase */
.left-sidebar .sidebar-section h3 {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--primary);
  font-family: "Poppins", sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.3;
}
/* Current page: light purple highlight instead of a solid block */
.left-sidebar .sidebar-menu a.active {
  background: #efe8fb;
  color: var(--primary);
  font-weight: 600;
  box-shadow: none;
  border-color: transparent;
}
/* Room below the last section so it is never cut off */
.left-sidebar.expanded { padding-bottom: 24px; }
/* No section dividers while the sidebar is collapsed */
.left-sidebar:not(.expanded) .sidebar-section { border-top: 0; padding: 0; }
body.night-mode .left-sidebar .sidebar-section { border-top-color: #3b3b45; }
body.night-mode .left-sidebar .sidebar-header + .sidebar-section { border-top: 0; }
body.night-mode .left-sidebar .sidebar-section h3 { color: #cdb9f5; }
body.night-mode .left-sidebar .sidebar-menu a.active { background: #2c2442; color: #cdb9f5; }
/* Bullet before every menu link */
.left-sidebar .sidebar-menu a::before,
.left-sidebar .sdmenu-soon::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  margin-right: 2px;
  border-radius: 50%;
  background: #b9a5df;
  position: static;
}
.left-sidebar .sidebar-menu a:hover::before { background: var(--primary); }
.left-sidebar .sidebar-menu a.active::before { background: currentColor; }
.left-sidebar .sdmenu-soon::before { background: #d3d6db; }
body.night-mode .left-sidebar .sidebar-menu a::before { background: #6a5a8c; }
body.night-mode .left-sidebar .sidebar-menu a:hover::before,
body.night-mode .left-sidebar .sidebar-menu a.active::before { background: #cdb9f5; }
body.night-mode .left-sidebar .sdmenu-soon::before { background: #4a4a55; }
/* Scroll slider: the open menu scrolls inside the sidebar */
@media (min-width: 1025px) {
  .left-sidebar.expanded {
    max-height: calc(100vh - 190px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
.left-sidebar::-webkit-scrollbar { width: 6px; }
.left-sidebar::-webkit-scrollbar-track { background: transparent; margin: 12px 0; }
.left-sidebar::-webkit-scrollbar-thumb { background: #c9b8ea; border-radius: 999px; }
.left-sidebar::-webkit-scrollbar-thumb:hover { background: #5a2da2; }
@supports (-moz-appearance: none) {
  .left-sidebar.expanded { scrollbar-width: thin; scrollbar-color: #c9b8ea transparent; }
}
body.night-mode .left-sidebar::-webkit-scrollbar-thumb { background: #4f4566; }
body.night-mode .left-sidebar .sdmenu-toggle:hover { background: #2c2442; color: #cdb9f5; }
body.night-mode .left-sidebar .sdmenu-count { background: #2c2442; color: #cdb9f5; }
body.night-mode .left-sidebar .sdmenu-soon { color: #6f6a7d; }
body.night-mode .left-sidebar .sdmenu-badge { border-color: #3b2f5c; color: #8a8399; }

/* id="nav-dd-style" */
/* ---------- Top menu dropdowns ---------- */
#main-menu .dd-head{display:block;color:#8a7fa8;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
#main-menu .dd-txt{display:flex;flex-direction:column;min-width:0;line-height:1.25;text-align:left}
#main-menu .dd-txt strong{font-weight:600;color:inherit}
#main-menu .dd-ic{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#5a2da2;background:#f1ecfa}
#main-menu .dd-ic i{margin:0!important;width:auto!important;color:inherit!important}
#main-menu .dd-ver{background:linear-gradient(135deg,#421983,#7a4fc4);color:#fff;font-family:'Poppins',sans-serif;font-weight:700}
@media (min-width:1025px){
#main-menu>li.dropdown{position:relative}
#main-menu .dropdown-content.dd-panel{display:none;position:absolute;top:100%;left:50%;min-width:0;width:max-content;margin-top:10px;padding:10px;border:1px solid #ebe5f7;border-radius:16px;background:#fff;box-shadow:0 24px 48px -12px rgba(36,18,69,.3),0 4px 14px rgba(36,18,69,.06);transform:translateX(-50%);z-index:1100;text-align:left;overflow:visible!important}
#main-menu .dd-panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:16px}
#main-menu .dd-panel::after{content:"";position:absolute;top:-7px;left:50%;width:12px;height:12px;border-left:1px solid #ebe5f7;border-top:1px solid #ebe5f7;background:#fff;transform:translateX(-50%) rotate(45deg)}
#main-menu .dropdown:hover>.dd-mega,#main-menu .dropdown:focus-within>.dd-mega{display:grid;grid-template-columns:repeat(2,minmax(350px,1fr));gap:14px;padding:16px;animation:ddIn .18s ease-out}
#main-menu .dropdown:hover>.dd-simple,#main-menu .dropdown:focus-within>.dd-simple{display:block;animation:ddIn .18s ease-out}
#main-menu .dd-mega .dd-col{gap:4px;padding:8px}
#main-menu .dd-mega .dd-head{padding:4px 12px 10px;font-size:12px}
#main-menu .dd-mega a.dd-item{gap:14px;padding:11px 14px 11px 10px;border-radius:12px}
#main-menu .dd-mega .dd-ic{width:44px;height:44px;border-radius:12px;font-size:18px}
#main-menu .dd-mega .dd-ver{font-size:16px}
#main-menu .dd-mega .dd-txt strong{font-size:15.5px}
#main-menu .dd-mega .dd-txt small{margin-top:4px;font-size:13px}
@keyframes ddIn{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
#main-menu .dd-col{display:flex;flex-direction:column;gap:2px;padding:6px}
#main-menu .dd-col-alt{border-radius:12px;background:#f8f5fd}
#main-menu .dd-head{padding:4px 10px 8px}
#main-menu .dropdown-content a.dd-item{display:flex;align-items:center;gap:12px;margin:0;padding:8px 12px 8px 8px;border:0;border-radius:10px;background:transparent;color:#241245;font-size:14.5px;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,box-shadow .15s ease}
#main-menu .dropdown-content a.dd-item::after,#main-menu .dropdown-content a.dd-item::before{display:none}
#main-menu .dropdown-content a.dd-item:hover,#main-menu .dropdown-content a.dd-item:focus-visible{background:#f3eefc;color:#421983;outline:none}
#main-menu .dd-col-alt a.dd-item:hover,#main-menu .dd-col-alt a.dd-item:focus-visible{background:#fff;box-shadow:0 2px 10px rgba(66,25,131,.1)}
#main-menu .dd-ic{width:38px;height:38px;border-radius:10px;font-size:16px;transition:background-color .15s ease,color .15s ease}
#main-menu a.dd-item:hover .dd-ic:not(.dd-ver){background:#421983;color:#fff}
#main-menu .dd-ver{font-size:14px}
#main-menu .dd-txt small{margin-top:3px;color:#6b6585;font-size:12.5px;font-weight:400}
body.night-mode #main-menu .dropdown-content.dd-panel,body.night-mode #main-menu .dd-panel::after{border-color:#3b3b45;background:#1f1e27}
body.night-mode #main-menu .dd-col-alt{background:#26242f}
body.night-mode #main-menu .dropdown-content a.dd-item{color:#e6e1f5}
body.night-mode #main-menu .dropdown-content a.dd-item:hover{background:#2c2442;color:#fff;box-shadow:none}
body.night-mode #main-menu .dd-txt small{color:#a9a3ba}
body.night-mode #main-menu .dd-ic:not(.dd-ver){background:#2c2442;color:#cdb9f5}
}
/* small laptops: open the wide Java panel from the left edge of the Java item so it stays on screen */
@media (min-width:1025px) and (max-width:1199px){
#main-menu .dropdown-content.dd-mega{left:0;transform:none}
#main-menu .dropdown:hover>.dd-mega,#main-menu .dropdown:focus-within>.dd-mega{grid-template-columns:repeat(2,minmax(310px,1fr))}
#main-menu .dd-mega::after{left:36px;transform:rotate(45deg)}
#main-menu .dropdown:hover>.dd-mega,#main-menu .dropdown:focus-within>.dd-mega{animation:ddInL .18s ease-out}
@keyframes ddInL{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}
@media (max-width:1024px){
#main-menu{overflow-x:hidden}
#main-menu .dd-head{padding:.8rem 1.5rem .3rem 3rem}
#main-menu .dd-col+.dd-col{border-top:1px solid #e9ecef}
#main-menu .dd-txt small{display:none}
#main-menu .dd-ic{width:28px;height:28px;margin-right:.75rem;border-radius:8px;font-size:13px}
#main-menu .dd-ver{font-size:12px}
body.night-mode #main-menu .dd-ic:not(.dd-ver){background:#2c2442;color:#cdb9f5}
}

/* id="jbt-search-style" */
/* ---------- toolbar search button ---------- */
.page-actions .jbt-search-btn{display:inline-flex;align-items:center;gap:10px;min-width:260px;padding:8px 10px 8px 14px;border:1px solid #ddd3f1;border-radius:10px;background:#fff;color:#6b6585;font:500 14px/1.2 Inter,sans-serif;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}
.page-actions .jbt-search-btn:hover,.page-actions .jbt-search-btn:focus-visible{border-color:#7a4fc4;box-shadow:0 0 0 3px rgba(122,79,196,.14);color:#421983;outline:none}
.page-actions .jbt-search-btn i{color:#7a4fc4}
.page-actions .jbt-search-btn span{flex:1;text-align:left}
.page-actions .jbt-search-btn kbd{padding:2px 7px;border:1px solid #e3dcf2;border-radius:6px;background:#f8f5fd;color:#6b6585;font:600 11.5px/1.4 Inter,sans-serif;box-shadow:none}
body.night-mode .page-actions .jbt-search-btn{background:#24242c;border-color:#3b3b45;color:#b9b4c8}
body.night-mode .page-actions .jbt-search-btn kbd{background:#2c2442;border-color:#3b3b45;color:#cdb9f5}
@media (max-width:768px){.page-actions .actions-container{flex-wrap:wrap;gap:10px}.page-actions .action-group{flex-wrap:wrap;gap:8px;max-width:100%}.page-actions .action-group:has(.jbt-search-btn){width:100%}.page-actions .jbt-search-btn{width:100%;min-width:0}.page-actions .jbt-search-btn span{display:inline!important}.page-actions .jbt-search-btn kbd{display:none}}
/* ---------- header search icon (pages without the toolbar) ---------- */
.jbt-header-search{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 14px;margin-left:14px;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font:600 14px/1 Inter,sans-serif;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.jbt-header-search:hover,.jbt-header-search:focus-visible{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5);outline:none}
.jbt-header-search kbd{padding:1px 6px;border:1px solid rgba(255,255,255,.3);border-radius:5px;background:transparent;color:rgba(255,255,255,.8);font:600 11px/1.4 Inter,sans-serif;box-shadow:none}
.header-container > nav{margin-left:auto}
@media (max-width:1200px){.jbt-header-search span,.jbt-header-search kbd{display:none}.jbt-header-search{width:40px;padding:0}}
@media (max-width:1024px){.jbt-header-search{order:1;margin-left:auto}.header-container .mobile-menu-btn{order:2;margin-left:6px}.header-container > nav{margin-left:0}}
/* ---------- meta line under the page title ---------- */
p.page-meta.page-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:14px 0 26px;padding:0;color:#6b6585;font-size:14.5px;line-height:1.5;text-align:left}
.page-meta span{display:inline-flex;align-items:center;gap:7px}
.page-meta i{color:#7a4fc4}
.page-meta .page-meta-sep{width:4px;height:4px;border-radius:50%;background:#cdbdec}
body.night-mode .page-meta{color:#b9b4c8}
body.night-mode .page-meta i{color:#cdb9f5}
.kt-hero p.page-meta.page-meta{margin:0 0 22px;color:rgba(255,255,255,.82)}
.kt-hero .page-meta i{color:#00c9a7}
.kt-hero .page-meta .page-meta-sep{background:rgba(255,255,255,.45)}
.page-meta .pm-short{display:none}
@media (max-width:480px){p.page-meta.page-meta{flex-wrap:nowrap;gap:8px;font-size:13px}p.page-meta.page-meta span{gap:5px;white-space:nowrap}.page-meta .pm-long{display:none}.page-meta .pm-short{display:inline}}
/* ---------- search dialog ---------- */
.jbt-s-overlay{position:fixed;inset:0;z-index:5000;display:none;align-items:flex-start;justify-content:center;padding:9vh 16px 16px;background:rgba(20,10,40,.55);backdrop-filter:blur(3px)}
.jbt-s-overlay.open{display:flex;animation:jbtFade .15s ease-out}
@keyframes jbtFade{from{opacity:0}to{opacity:1}}
.jbt-s-box{display:flex;flex-direction:column;width:100%;max-width:840px;max-height:80vh;overflow:hidden;border:1px solid #ebe5f7;border-radius:16px;background:#fff;box-shadow:0 30px 70px rgba(20,10,40,.35);font-family:Inter,sans-serif;text-align:left}
.jbt-s-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #efeaf8}
.jbt-s-head > i{color:#7a4fc4;font-size:18px}
.jbt-s-input{flex:1;min-width:0;padding:6px 0;border:0;background:transparent;color:#241245;font:500 18px/1.4 Inter,sans-serif;outline:none;box-shadow:none}
.jbt-s-input::-webkit-search-cancel-button{display:none}
.jbt-s-close{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid #e3dcf2;border-radius:7px;background:#f8f5fd;color:#6b6585;font:600 12px/1.4 Inter,sans-serif;cursor:pointer}
.jbt-s-close i{display:none}
.jbt-s-chips{display:flex;gap:8px;padding:10px 18px;overflow-x:auto;border-bottom:1px solid #efeaf8;scrollbar-width:none}
.jbt-s-chips::-webkit-scrollbar{display:none}
.jbt-s-chips[hidden]{display:none}
.jbt-s-head,.jbt-s-chips,.jbt-s-foot{flex-shrink:0}
.jbt-s-overlay .jbt-s-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:auto;min-height:32px;margin:0;padding:6px 12px!important;line-height:1!important;box-shadow:none;border:1px solid #e3dcf2;border-radius:999px;background:#fff;color:#421983;font:600 13px/1 Inter,sans-serif;cursor:pointer;white-space:nowrap}
.jbt-s-overlay .jbt-s-chip span{padding:2px 6px;border-radius:999px;background:#f1ecfa;font-size:11px}
.jbt-s-overlay .jbt-s-chip[aria-pressed="true"]{border-color:#421983;background:#421983;color:#fff}
.jbt-s-overlay .jbt-s-chip[aria-pressed="true"] span{background:rgba(255,255,255,.2)}
.jbt-s-body{flex:1;overflow-y:auto;padding:8px}
.jbt-s-body:empty{display:none}
.jbt-s-foot{margin-top:auto}
.jbt-s-labelrow{display:flex;align-items:center;justify-content:space-between}
.jbt-s-label{margin:8px 10px 6px;color:#8a7fa8;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.jbt-s-clear{margin-right:10px;padding:0;border:0;background:none;color:#7a4fc4;font:600 12px/1 Inter,sans-serif;cursor:pointer}
.jbt-s-recent{display:flex;flex-wrap:wrap;gap:8px;margin:0 10px 10px;padding:0;list-style:none}
.jbt-s-recent button{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #e3dcf2;border-radius:999px;background:#faf8fe;color:#3d3d4e;font:500 13.5px/1 Inter,sans-serif;cursor:pointer}
.jbt-s-recent button:hover{border-color:#7a4fc4;color:#421983}
.jbt-s-recent i{color:#b9a5df}
.jbt-s-list{margin:0;padding:0;list-style:none}
.jbt-s-item a{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:10px;color:#241245;text-decoration:none}
.jbt-s-item a:hover,.jbt-s-item.active a{background:#f3eefc}
.jbt-s-ic{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:34px;height:34px;margin-top:2px;border-radius:9px;background:#f1ecfa;color:#5a2da2;font-size:14px}
.jbt-s-item.active .jbt-s-ic{background:#421983;color:#fff}
.jbt-s-txt{flex:1;min-width:0}
.jbt-s-txt strong{display:block;font-size:15px;font-weight:600;line-height:1.35}
.jbt-s-txt mark{padding:0 1px;border-radius:3px;background:#ffe9a8;color:inherit}
.jbt-s-txt small{display:block;margin-top:3px;overflow:hidden;color:#6b6585;font-size:13px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.jbt-s-sec{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;background:#f1ecfa;color:#5a2da2;font-size:11.5px;font-weight:700}
.jbt-s-jump{color:#3d3d4e}
.jbt-s-jump i{margin-right:3px;color:#b9a5df;font-size:11px;transform:rotate(90deg) scaleY(-1)}
.jbt-s-go{align-self:center;color:#cdbdec;font-size:13px;opacity:0;transition:opacity .15s ease}
.jbt-s-item.active .jbt-s-go,.jbt-s-item a:hover .jbt-s-go{opacity:1;color:#421983}
.jbt-s-empty{padding:28px 16px;color:#6b6585;font-size:15px;line-height:1.6;text-align:center}
.jbt-s-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 18px;border-top:1px solid #efeaf8;background:#faf8fe;color:#8a7fa8;font-size:12.5px}
.jbt-s-foot kbd{padding:1px 6px;border:1px solid #e3dcf2;border-radius:5px;background:#fff;color:#6b6585;font:600 11px/1.4 Inter,sans-serif;box-shadow:none}
.jbt-s-foot a{color:#421983;font-weight:600;text-decoration:none}
.jbt-s-foot a:hover{text-decoration:underline}
body.night-mode .jbt-s-box{background:#1f1e27;border-color:#3b3b45}
body.night-mode .jbt-s-head,body.night-mode .jbt-s-foot,body.night-mode .jbt-s-chips{border-color:#3b3b45}
body.night-mode .jbt-s-foot{background:#24222f}
body.night-mode .jbt-s-input,body.night-mode .jbt-s-item a{color:#f1edfb}
body.night-mode .jbt-s-item a:hover,body.night-mode .jbt-s-item.active a{background:#2c2442}
body.night-mode .jbt-s-txt small,body.night-mode .jbt-s-empty,body.night-mode .jbt-s-jump{color:#b9b4c8}
body.night-mode .jbt-s-ic,body.night-mode .jbt-s-sec,body.night-mode .jbt-s-overlay .jbt-s-chip span{background:#2c2442;color:#cdb9f5}
body.night-mode .jbt-s-chip,body.night-mode .jbt-s-recent button{background:#24242c;border-color:#3b3b45;color:#d4cfe0}
body.night-mode .jbt-s-overlay .jbt-s-chip[aria-pressed="true"]{background:#6a3fc0;border-color:#6a3fc0;color:#fff}
body.night-mode .jbt-s-foot a{color:#cdb9f5}
@media (max-width:600px){
  .jbt-s-overlay{padding:0}
  .jbt-s-box{max-width:none;height:100%;max-height:none;border:0;border-radius:0}
  .jbt-s-head{padding:12px 14px}
  .jbt-s-input{font-size:17px}
  .jbt-s-close{padding:6px 10px}
  .jbt-s-close .jbt-s-esc{display:none}
  .jbt-s-close i{display:inline;font-size:15px}
  .jbt-s-chips{padding:10px 14px}
  .jbt-s-foot .jbt-s-keys{display:none}
}

/* id="jbt-heading-style" */
/* Section headings: smaller text, more space above */
    #main-content.content h2 { font-size: 1.6rem; margin-top: 56px; }
    #main-content.content.font-sm h2 { font-size: 1.4rem; }
    #main-content.content.font-lg h2 { font-size: 1.8rem; }
    #main-content.content.font-xl h2 { font-size: 2rem; }
    #main-content.content .soon-box h2 { font-size: 21px; margin: 0 0 10px; }
    @media (max-width: 768px) {
      #main-content.content h2 { font-size: 1.35rem; margin-top: 44px; }
    }

/* id="jbt-align-fix" */
/* Left-align body text instead of inheriting justify */
    :where(main.content) :is(p, li) { text-align: left; }

/* id="pg-article-style" */
/* ---------- FAQ ---------- */
    .pg-faq details {
      margin: 12px 0;
      border: 1px solid #d0d7de;
      border-radius: 10px;
      background: #ffffff;
      overflow: hidden;
    }
    .pg-faq summary {
      cursor: pointer;
      list-style: none;
      padding: 14px 44px 14px 16px;
      font-weight: 600;
      color: #1f2328;
      position: relative;
    }
    .pg-faq summary::-webkit-details-marker { display: none; }
    .pg-faq summary::after {
      content: "+";
      position: absolute;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 20px;
      color: #421983;
    }
    .pg-faq details[open] summary::after { content: "\2212"; }
    .pg-faq details[open] summary {
      background: #f4f0fb;
      border-bottom: 1px solid #d0d7de;
    }
    .pg-faq details > div { padding: 4px 16px 12px; }
    .pg-faq pre[class*="language-"],
    .pg-faq pre:not([class]) {
      margin: 12px 0;
      border-radius: 8px;
      font-size: 14px;
      line-height: 1.55;
    }
    .pg-article .table-wrap {
      overflow-x: auto;
      margin: 20px 0;
      border: 1px solid #d0d7de;
      border-radius: 8px;
    }
    .pg-article table { width: 100%; border-collapse: collapse; font-size: 15px; }
    .pg-article th {
      background: #421983;
      color: #ffffff;
      text-align: left;
      padding: 10px 14px;
    }
    .pg-article td { padding: 10px 14px; border-top: 1px solid #e5e7eb; vertical-align: top; }
    .pg-article th,
    .pg-article td { text-align: left; }
    .pg-article tbody tr:nth-child(even) { background: #f6f8fa; }
    .pg-article th code { background: rgba(255, 255, 255, 0.18); color: #ffffff; padding: 2px 6px; border-radius: 4px; }
    /* ---------- Article tables ---------- */
    .pg-article td code {
      background: #eef1f5;
      color: #b42318;
      padding: 2px 6px;
      border-radius: 4px;
      font-size: 14px;
    }

    /* ---------- Layout: let wide code blocks scroll instead of widening the page ---------- */
    body > .container,
    .main-content,
    .pg-article { min-width: 0; max-width: 100%; }
    .pg-article :not(pre) > code { overflow-wrap: anywhere; }
    .pg-article h1,
    .pg-article h2,
    .pg-article h3 { text-align: left; overflow-wrap: anywhere; }

    /* ---------- Links ---------- */
    .pg-article p a,
    .pg-article li a:not(.toc a),
    .pg-article td a {
      color: #421983;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    /* ---------- Table of contents ---------- */
    .pg-article .toc {
      margin: 24px 0 32px;
      padding: 20px 24px;
      background: #f8f5fd;
      border: 1px solid #e3d9f5;
      border-left: 4px solid #421983;
      border-radius: 10px;
    }
    .pg-article .toc-title {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 14px;
      font-size: 17px;
      color: #421983;
    }
    .pg-article .toc ol {
      list-style: none;
      counter-reset: toc;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px 24px;
    }
    .pg-article .toc li {
      counter-increment: toc;
      margin: 0;
    }
    .pg-article .toc a {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 6px 8px;
      border-radius: 6px;
      color: #1f2328;
      text-decoration: none;
      text-align: left;
      line-height: 1.4;
      transition: background-color 0.2s ease, color 0.2s ease;
    }
    .pg-article .toc a::before {
      content: counter(toc);
      flex: 0 0 26px;
      height: 26px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: #421983;
      color: #ffffff;
      font-size: 12px;
      font-weight: 600;
    }
    .pg-article .toc a:hover,
    .pg-article .toc a:focus-visible {
      background: #ece4fa;
      color: #421983;
    }
    @media (max-width: 640px) {
      .pg-article .toc { padding: 16px; }
      .pg-article .toc ol { grid-template-columns: 1fr; }
    }

    /* ---------- Lists ---------- */
    .pg-article > ul,
    .pg-faq ul { list-style: disc; padding-left: 1.5rem; margin: 12px 0; }
    .pg-article > ol { list-style: decimal; padding-left: 1.5rem; margin: 12px 0; }
    .pg-article > ol li { margin: 6px 0; line-height: 1.6; }
    .pg-faq ol { list-style: decimal; padding-left: 1.5rem; margin: 12px 0; }
    .pg-article > ul li,
    .pg-faq li { margin: 6px 0; line-height: 1.6; }

    /* ---------- Code editor ---------- */
    .pg-article .code-editor {
      margin: 20px 0 28px;
      border-radius: 10px;
      overflow: hidden;
      background: #1e1e1e;
      box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    }
    .pg-article .editor-bar {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 10px 14px;
      background: #2d2d2d;
      border-bottom: 1px solid #3a3a3a;
    }
    .pg-article .editor-bar .dot {
      width: 12px;
      height: 12px;
      border-radius: 50%;
    }
    .pg-article .dot.red { background: #ff5f56; }
    .pg-article .dot.yellow { background: #ffbd2e; }
    .pg-article .dot.green { background: #27c93f; }
    .pg-article .editor-bar .file-name {
      margin-left: 10px;
      color: #c9d1d9;
      font: 13px/1 Consolas, Monaco, "Courier New", monospace;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .pg-article .editor-bar .copy-btn { flex-shrink: 0; }
    .pg-article .editor-bar .copy-btn {
      margin-left: auto;
      background: #3c3c3c;
      color: #e6e6e6;
      border: 1px solid #555;
      border-radius: 5px;
      padding: 4px 10px;
      font-size: 12px;
      cursor: pointer;
    }
    .pg-article .editor-bar .copy-btn:hover { background: #4a4a4a; }
    .pg-article .code-editor pre[class*="language-"] {
      margin: 0;
      border-radius: 0;
      background: #1e1e1e;
      font-size: 14px;
      line-height: 1.6;
    }
    .pg-article .code-editor pre[class*="language-"] > code {
      font-size: inherit;
      line-height: inherit;
      padding: 0;
      background: none;
    }
    /* ---------- FAQ alignment ---------- */
    .pg-faq details > div { padding: 14px 16px 16px; }
    .pg-faq summary,
    .pg-faq p,
    .pg-faq li { text-align: left; }
    .pg-faq details > div > :first-child { margin-top: 0; }
    .pg-faq details > div > :last-child { margin-bottom: 0; }
    .main-content > main.content { min-width: 0; }

    /* ---------- Tabs ---------- */
    .pg-tabs {
      display: flex;
      gap: 6px;
      margin: 8px 0 28px;
      padding: 6px;
      background: #f4f0fb;
      border: 1px solid #e3d9f5;
      border-radius: 12px;
    }
    .pg-tab {
      flex: 1 1 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 12px 18px;
      border: 0;
      border-radius: 8px;
      background: transparent;
      color: #421983;
      font: 600 15px/1.2 Inter, system-ui, sans-serif;
      cursor: pointer;
      transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    }
    .pg-tab:hover { background: #ece4fa; }
    .pg-tab:focus-visible { outline: 2px solid #421983; outline-offset: 2px; }
    .pg-tab[aria-selected="true"] {
      background: #421983;
      color: #ffffff;
      box-shadow: 0 4px 12px rgba(66, 25, 131, 0.28);
    }
    .pg-tab .tab-count {
      min-width: 24px;
      padding: 2px 8px;
      border-radius: 999px;
      background: rgba(66, 25, 131, 0.12);
      font-size: 12px;
    }
    .pg-tab[aria-selected="true"] .tab-count { background: rgba(255, 255, 255, 0.22); }
    .pg-panel[hidden] { display: none; }
    .pg-panel { animation: slaFade2 0.25s ease; }
    @keyframes slaFade2 { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
    @media (max-width: 480px) {
      .pg-tab { padding: 10px 8px; font-size: 14px; gap: 6px; }
    }

    /* Extra space above and below the tabs */
    .pg-tabs { margin-top: 48px !important; margin-bottom: 44px !important; }
    /* Lists inside the tab panels */
    .pg-panel > ul { list-style: disc; padding-left: 1.5rem; margin: 12px 0; }
    .pg-panel > ol { list-style: decimal; padding-left: 1.5rem; margin: 12px 0; }
    .pg-panel > ul li,
    .pg-panel > ol li { margin: 6px 0; line-height: 1.6; }

    /* ---------- Tabs: night mode ---------- */
    body.night-mode .pg-tabs { background: #1f1a2e; border-color: #3b2f5c; }
    body.night-mode .pg-tab { color: #cdb9f5; }
    body.night-mode .pg-tab:hover { background: #2c2442; }
    body.night-mode .pg-tab[aria-selected="true"] { background: #6a3fc1; color: #ffffff; }
    .pg-panel:focus { outline: none; }

/* id="pg-fig-style" */
/* ---------- Page diagrams ---------- */
    .pg-article .pg-fig { margin: 24px 0 28px; padding: 16px; background: #fbf9fe; border: 1px solid #e3d9f5; border-radius: 12px; }
    .pg-article .pg-fig svg { display: block; width: 100%; height: auto; max-width: 720px; margin: 0 auto; }
    .pg-article .pg-fig figcaption { margin-top: 10px; font-size: 14px; color: #57606a; text-align: center; }
    .pg-fig text { font-family: Inter, system-ui, sans-serif; text-anchor: middle; }
    .pg-fig .pgf-head { font-size: 12px; font-weight: 700; letter-spacing: .08em; fill: #6e6390; }
    .pg-fig .pgf-label { font-size: 14px; font-weight: 600; fill: #1f2328; }
    .pg-fig .pgf-small { font-size: 12px; font-weight: 500; fill: #57606a; }
    .pg-fig .pgf-tiny { font-size: 10.5px; font-weight: 600; fill: #6e6390; }
    .pg-fig .pgf-strong { font-weight: 600; fill: #1f2328; }
    .pg-fig .pgf-box { stroke-width: 1.5; }
    .pg-fig .pgf-user { fill: #ffffff; stroke: #57606a; }
    .pg-fig .pgf-lb { fill: #421983; }
    .pg-fig .pgf-on-dark { fill: #ffffff; }
    .pg-fig .pgf-on-dark-sub { fill: #d9ccf3; }
    .pg-fig .pgf-ok { fill: #ffffff; stroke: #1a7f37; stroke-width: 2; }
    .pg-fig .pgf-bad { fill: #fff5f5; stroke: #cf222e; stroke-width: 2; stroke-dasharray: 6 4; }
    .pg-fig .pgf-registry { fill: #fff8e6; stroke: #bf8700; }
    .pg-fig .pgf-ok-text { fill: #1a7f37; font-weight: 600; }
    .pg-fig .pgf-bad-text { fill: #cf222e; font-weight: 600; }
    .pg-fig .pgf-flow { fill: none; stroke: #421983; stroke-width: 2; }
    .pg-fig .pgf-flow-ok { stroke: #1a7f37; }
    .pg-fig .pgf-flow-light { stroke-dasharray: 6 4; }
    .pg-fig .pgf-flow-off { stroke: #cf222e; stroke-dasharray: 5 5; }
    .pg-fig .pgf-dash { fill: none; stroke: #8a7fa8; stroke-width: 1.5; stroke-dasharray: 4 4; }
    .pg-fig .pgf-ah { fill: #421983; }
    .pg-fig .pgf-ah-off { fill: #cf222e; }
    .pg-fig .pgf-block { fill: #ffffff; stroke: #cf222e; stroke-width: 2; }
    .pg-fig .pgf-block-x { stroke: #cf222e; stroke-width: 2.4; stroke-linecap: round; }
    .pg-fig .pgf-sep { stroke: #d0d7de; stroke-width: 1; stroke-dasharray: 4 4; }
    body.night-mode .pg-article .pg-fig { background: #1f1a2e; border-color: #3b2f5c; }
    body.night-mode .pg-article .pg-fig figcaption, body.night-mode .pg-fig .pgf-small { color: #b7b0c8; fill: #b7b0c8; }
    body.night-mode .pg-fig .pgf-label, body.night-mode .pg-fig .pgf-strong { fill: #ece8f5; }
    body.night-mode .pg-fig .pgf-head, body.night-mode .pg-fig .pgf-tiny { fill: #a99cc9; }
    body.night-mode .pg-fig .pgf-on-dark { fill: #ffffff; }
    body.night-mode .pg-fig .pgf-on-dark-sub { fill: #e3d9f5; }
    body.night-mode .pg-fig .pgf-user { fill: #2a2340; stroke: #8b98a0; }
    body.night-mode .pg-fig .pgf-lb { fill: #6a3fc1; }
    body.night-mode .pg-fig .pgf-ok { fill: #2a2340; stroke: #3fb950; }
    body.night-mode .pg-fig .pgf-bad { fill: #2d1b1f; stroke: #f85149; }
    body.night-mode .pg-fig .pgf-registry { fill: #2e2612; stroke: #d29922; }
    body.night-mode .pg-fig .pgf-ok-text { fill: #3fb950; }
    body.night-mode .pg-fig .pgf-bad-text { fill: #f85149; }
    body.night-mode .pg-fig .pgf-flow { stroke: #cdb9f5; }
    body.night-mode .pg-fig .pgf-flow-ok { stroke: #3fb950; }
    body.night-mode .pg-fig .pgf-flow-off, body.night-mode .pg-fig .pgf-block, body.night-mode .pg-fig .pgf-block-x { stroke: #f85149; }
    body.night-mode .pg-fig .pgf-block { fill: #2a2340; }
    body.night-mode .pg-fig .pgf-ah { fill: #cdb9f5; }
    body.night-mode .pg-fig .pgf-ah-off { fill: #f85149; }
    body.night-mode .pg-fig .pgf-dash { stroke: #a99cc9; }
    body.night-mode .pg-fig .pgf-sep { stroke: #3b2f5c; }
    .pg-fig .pgf-left { text-anchor: start; }
    .pg-fig .pgf-you { fill: #421983; }
    .pg-fig .pgf-cloud { fill: #eef7f4; stroke: #00a88b; stroke-width: 1.5; }
    .pg-fig .pgf-event { fill: #ffffff; stroke: #57606a; }
    .pg-fig .pgf-service { fill: #eef7f4; stroke: #00a88b; }
    .pg-fig .pgf-zone { fill: #f4f0fb; stroke: #421983; stroke-width: 1.5; stroke-dasharray: 6 4; }
    .pg-fig .pgf-fn { fill: #421983; }
    .pg-fig .pgf-init { fill: #fff8e6; stroke: #bf8700; stroke-width: 1.2; }
    .pg-fig .pgf-init-2 { fill: #fdf0d0; }
    .pg-fig .pgf-init-3 { fill: #fbe6b0; }
    .pg-fig .pgf-run { fill: #00876f; }
    .pg-fig .pgf-strong-white { font-weight: 600; fill: #ffffff; }
    .pg-fig .pgf-axis { stroke: #8a7fa8; stroke-width: 1.2; }
    body.night-mode .pg-fig .pgf-you, body.night-mode .pg-fig .pgf-fn { fill: #6a3fc1; }
    body.night-mode .pg-fig .pgf-cloud, body.night-mode .pg-fig .pgf-service { fill: #12302b; stroke: #2ec4a6; }
    body.night-mode .pg-fig .pgf-event { fill: #2a2340; stroke: #8b98a0; }
    body.night-mode .pg-fig .pgf-zone { fill: #241e36; stroke: #cdb9f5; }
    body.night-mode .pg-fig .pgf-init, body.night-mode .pg-fig .pgf-init-2, body.night-mode .pg-fig .pgf-init-3 { fill: #2e2612; stroke: #d29922; }
    body.night-mode .pg-fig .pgf-run { fill: #1f9e84; }
    body.night-mode .pg-fig .pgf-strong-white { fill: #ffffff; }
    body.night-mode .pg-fig .pgf-axis { stroke: #a99cc9; }
