:root{
  --xrve-sidebar-width:264px;
  --xrve-sidebar-collapsed:52px;
  --xrve-sidebar-top:72px;
  --xrve-sidebar-bg:#0b1722;
  --xrve-sidebar-bg-2:#102333;
  --xrve-sidebar-border:rgba(111,143,168,.20);
  --xrve-sidebar-text:#dce7ee;
  --xrve-sidebar-muted:#8fa5b4;
  --xrve-sidebar-blue:#1ea7ff;
  --xrve-sidebar-orange:#ff6a13;
}

/* Desktop layout reserves a real content column for the sidebar. */
.xrve-page-sidebar{
  position:fixed;
  left:0;
  top:var(--xrve-sidebar-top);
  bottom:0;
  z-index:90;
  width:var(--xrve-sidebar-width);
  background:
    linear-gradient(180deg,rgba(30,167,255,.035),transparent 150px),
    linear-gradient(180deg,var(--xrve-sidebar-bg),var(--xrve-sidebar-bg-2));
  color:var(--xrve-sidebar-text);
  border-right:1px solid var(--xrve-sidebar-border);
  overflow:hidden;
  transition:width .18s ease,transform .20s ease;
}
.xrve-sidebar-inner{
  width:100%;
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
}
.xrve-sidebar-header{
  position:relative;
  flex:0 0 auto;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:16px 14px 14px 16px;
  border-bottom:1px solid var(--xrve-sidebar-border);
}
.xrve-sidebar-header-copy{min-width:0}
.xrve-sidebar-kicker{
  display:block;
  color:var(--xrve-sidebar-orange);
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.xrve-sidebar-title{
  display:block;
  margin-top:4px;
  color:#fff;
  font-size:16px;
  font-weight:850;
  line-height:1.2;
}
.xrve-sidebar-collapse{
  flex:0 0 30px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid var(--xrve-sidebar-border);
  border-radius:7px;
  background:rgba(255,255,255,.035);
  color:#c9d6df;
  cursor:pointer;
  font:inherit;
  font-size:18px;
  line-height:1;
}
.xrve-sidebar-collapse:hover{
  background:rgba(255,255,255,.075);
  color:#fff;
}
.xrve-sidebar-scroll{
  flex:1 1 auto;
  overflow:auto;
  overscroll-behavior:contain;
  padding:10px 10px 26px;
}
.xrve-sidebar-library{display:block}
.xrve-sidebar-group{
  margin:0;
  padding:3px 0;
  border-bottom:1px solid rgba(111,143,168,.12);
}
.xrve-sidebar-group:last-child{border-bottom:0}
.xrve-sidebar-group summary{
  position:relative;
  cursor:pointer;
  list-style:none;
  padding:10px 30px 10px 10px;
  color:#edf4f8;
  font-size:12px;
  font-weight:850;
  letter-spacing:.015em;
}
.xrve-sidebar-group summary::-webkit-details-marker{display:none}
.xrve-sidebar-group summary:after{
  content:"+";
  position:absolute;
  right:10px;
  top:6px;
  color:var(--xrve-sidebar-muted);
  font-size:18px;
  font-weight:500;
}
.xrve-sidebar-group[open] summary:after{content:"−"}
.xrve-sidebar-group ul,
.xrve-sidebar-list{
  margin:0;
  padding:1px 0 8px;
  list-style:none;
}
.xrve-sidebar-group li,
.xrve-sidebar-list li{margin:1px 0}
.xrve-sidebar-group a,
.xrve-sidebar-list a{
  position:relative;
  display:block;
  padding:7px 10px 7px 16px;
  border-radius:6px;
  color:#aebfca;
  font-size:11.5px;
  font-weight:620;
  line-height:1.35;
  transition:background .14s ease,color .14s ease;
}
.xrve-sidebar-group a:before,
.xrve-sidebar-list a:before{
  content:"";
  position:absolute;
  left:6px;
  top:50%;
  width:2px;
  height:0;
  border-radius:999px;
  background:var(--xrve-sidebar-blue);
  transform:translateY(-50%);
  transition:height .14s ease;
}
.xrve-sidebar-group a:hover,
.xrve-sidebar-list a:hover{
  background:rgba(255,255,255,.05);
  color:#fff;
}
.xrve-sidebar-group a[aria-current="page"],
.xrve-sidebar-list a[aria-current="true"]{
  background:rgba(30,167,255,.09);
  color:#fff;
}
.xrve-sidebar-group a[aria-current="page"]:before,
.xrve-sidebar-list a[aria-current="true"]:before{height:58%}

.xrve-sidebar-page-group{
  margin-top:12px;
  padding-top:9px;
  border-top:1px solid rgba(255,106,19,.30);
  border-bottom:0;
}
.xrve-sidebar-page-group summary{
  color:#d7e3ea;
  font-size:11px;
}
.xrve-sidebar-empty{
  padding:8px 10px;
  color:var(--xrve-sidebar-muted);
  font-size:11px;
}

.xrve-sidebar-mobile-open,
.xrve-sidebar-backdrop{display:none}

/* Wide desktop: sidebar gets its own layout column, so it never overlays content. */
@media(min-width:1181px){
  body{
    padding-left:var(--xrve-sidebar-width);
    transition:padding-left .18s ease;
  }
  .site-nav{
    margin-left:calc(-1 * var(--xrve-sidebar-width));
    width:calc(100% + var(--xrve-sidebar-width));
    transition:margin-left .18s ease,width .18s ease;
  }

  html.xrve-sidebar-collapsed body{
    padding-left:var(--xrve-sidebar-collapsed);
  }
  html.xrve-sidebar-collapsed .site-nav{
    margin-left:calc(-1 * var(--xrve-sidebar-collapsed));
    width:calc(100% + var(--xrve-sidebar-collapsed));
  }
  html.xrve-sidebar-collapsed .xrve-page-sidebar{
    width:var(--xrve-sidebar-collapsed);
  }
  html.xrve-sidebar-collapsed .xrve-sidebar-header{
    min-height:72px;
    justify-content:center;
    padding:12px 8px;
  }
  html.xrve-sidebar-collapsed .xrve-sidebar-header-copy,
  html.xrve-sidebar-collapsed .xrve-sidebar-scroll{
    display:none;
  }
  html.xrve-sidebar-collapsed .xrve-sidebar-collapse{
    display:grid;
    margin:0;
  }
}

/* Tablet/mobile: same taxonomy becomes an off-canvas browser. */
@media(max-width:1180px){
  body{padding-left:0}
  .site-nav{margin-left:0;width:auto}
  .xrve-page-sidebar{
    top:0;
    width:min(310px,88vw);
    transform:translateX(-102%);
    box-shadow:18px 0 48px rgba(3,12,19,.30);
    z-index:210;
  }
  html.xrve-sidebar-mobile-open .xrve-page-sidebar{
    transform:translateX(0);
  }
  .xrve-sidebar-collapse{display:none}
  .xrve-sidebar-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:205;
    border:0;
    padding:0;
    background:rgba(4,13,21,.46);
    opacity:0;
    pointer-events:none;
    transition:opacity .16s ease;
  }
  html.xrve-sidebar-mobile-open .xrve-sidebar-backdrop{
    opacity:1;
    pointer-events:auto;
  }
  .xrve-sidebar-mobile-open{
    display:inline-flex;
    align-items:center;
    gap:8px;
    position:fixed;
    left:14px;
    bottom:16px;
    z-index:180;
    min-height:42px;
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:#0b1722;
    color:#fff;
    box-shadow:0 10px 28px rgba(4,13,21,.24);
    font:inherit;
    font-size:11px;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
    cursor:pointer;
  }
  .xrve-sidebar-mobile-open:before{
    content:"";
    width:15px;
    height:11px;
    border-top:2px solid var(--xrve-sidebar-blue);
    border-bottom:2px solid var(--xrve-sidebar-orange);
    background:linear-gradient(var(--xrve-sidebar-blue),var(--xrve-sidebar-blue)) center/100% 2px no-repeat;
  }
  html.xrve-sidebar-mobile-open{overflow:hidden}
}

@media(prefers-reduced-motion:reduce){
  .xrve-page-sidebar,
  body,
  .site-nav,
  .xrve-sidebar-backdrop{transition:none!important}
}

/* Articles → Maintenance Articles → thematic groups → individual articles. */
.xrve-sidebar-group .xrve-sidebar-maintenance{
  margin:1px 0 4px 4px;
}
.xrve-sidebar-group .xrve-sidebar-maintenance > summary{
  padding:10px 30px 10px 12px;
  color:#dce7ee;
  font-size:11.5px;
  font-weight:780;
  line-height:1.4;
  border-radius:6px;
}
.xrve-sidebar-group .xrve-sidebar-maintenance > ul{
  margin:1px 0 9px 16px;
  padding:1px 0 0 8px;
  border-left:1px solid rgba(111,143,168,.3);
}
.xrve-sidebar-group .xrve-sidebar-maintenance > ul > li > a{
  color:#a9c9dc;
  font-weight:700;
  padding:8px 9px;
  font-size:11px;
}
.xrve-sidebar-group .xrve-sidebar-theme{
  margin:1px 0;
}
.xrve-sidebar-group .xrve-sidebar-theme > summary{
  min-height:38px;
  display:flex;
  align-items:center;
  padding:8px 26px 8px 9px;
  border-radius:6px;
  color:#aebfca;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
}
.xrve-sidebar-group .xrve-sidebar-theme > summary:after{
  top:50%;
  right:9px;
  transform:translateY(-50%);
  font-size:15px;
}
.xrve-sidebar-group .xrve-sidebar-theme > ul{
  margin:1px 0 8px 10px;
  padding:0 0 0 8px;
  border-left:1px solid rgba(111,143,168,.26);
}
.xrve-sidebar-group .xrve-sidebar-theme > ul a{
  padding:8px 8px 8px 11px;
  color:#9fb6c5;
  font-size:10.5px;
  font-weight:570;
  line-height:1.4;
  overflow-wrap:break-word;
}
.xrve-sidebar-group .xrve-sidebar-nested > summary:hover{
  background:rgba(255,255,255,.05);
  color:#fff;
}
.xrve-sidebar-group .xrve-sidebar-nested > summary.is-section-active{
  color:#f0f8fd;
  background:rgba(30,167,255,.09);
}
.xrve-sidebar-group .xrve-sidebar-theme a[aria-current="page"]{
  color:#fff;
  background:rgba(30,167,255,.13);
  font-weight:780;
}
.xrve-sidebar-group .xrve-sidebar-nested > summary:focus-visible{
  outline:2px solid var(--xrve-sidebar-orange);
  outline-offset:1px;
}
