/* EnduroLab v55 — mobile slide-out navigation.
 * Inherits all user theme colours and iOS safe-area insets. */
.v55-hamburger,.v55-drawer,.v55-shade{display:none}
.v55-shade[hidden],.v55-drawer[hidden]{display:none!important}
@media(max-width:820px){
 body.v55-ready.v54-mobile-active .main{padding-bottom:calc(26px + env(safe-area-inset-bottom))!important}
 body.v55-ready .v53-mobile-nav{display:none!important}
 body.v55-ready .mobile-tabs{display:none!important}
 body.v55-ready .topbar{gap:9px!important}
 body.v55-ready .v55-hamburger{
  order:-1;display:grid;place-items:center;flex:0 0 43px;
  width:43px;height:43px;min-height:43px;padding:0;
  background:var(--el-panel,var(--panel));color:var(--text);
  border:1px solid var(--el-border,var(--border));border-radius:13px;
  cursor:pointer;-webkit-tap-highlight-color:transparent
 }
 .v55-bars{display:grid;gap:5px;width:20px}
 .v55-bars i{display:block;height:2px;width:20px;border-radius:4px;
  background:var(--el-accent,var(--lime))}
 .v55-bars i:nth-child(2){width:15px}
 body.v55-ready .top-actions #v54More{display:none!important}
 body.v55-ready .topbar .top-actions{gap:7px;flex-shrink:0}
 body.v55-ready .v54-brand{margin-right:auto;min-width:0}
 body.v55-ready .v54-brand-mark{display:none}
 body.v55-ready .v54-brand-copy strong{font-size:17px;letter-spacing:-.6px}
 body.v55-ready .v54-brand-copy small{font-size:9px}
 .v55-shade{display:block;position:fixed;inset:0;z-index:89;
  background:#040b14b9;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  animation:v55-fade .18s ease-out}
 .v55-drawer{display:flex;flex-direction:column;position:fixed;z-index:90;
  top:0;bottom:0;left:0;width:min(354px,calc(100vw - 42px));max-width:100vw;
  background:var(--el-bg,var(--bg));color:var(--text);
  border-right:1px solid var(--el-border,var(--border));
  box-shadow:18px 0 55px #0009;overflow:hidden;
  padding-top:env(safe-area-inset-top);
  animation:v55-slide .19s ease-out}
 .v55-drawer-heading{display:flex;align-items:center;gap:12px;
  padding:23px 19px 19px;border-bottom:1px solid var(--el-border,var(--border));
  flex:0 0 auto}
 .v55-drawer-logo{display:grid;place-items:center;flex:0 0 45px;
  width:45px;height:45px;background:color-mix(in srgb,var(--el-accent,var(--lime)) 13%,var(--el-panel,var(--panel)));
  border:1px solid color-mix(in srgb,var(--el-accent,var(--lime)) 42%,var(--el-border,var(--border)));
  border-radius:14px;color:var(--el-accent,var(--lime));font-size:19px;font-weight:850;letter-spacing:-1px}
 .v55-drawer-heading-copy{flex:1;min-width:0;display:grid;gap:3px}
 .v55-drawer-heading-copy strong{font-size:21px;font-weight:850;letter-spacing:-.8px;line-height:1.1}
 .v55-drawer-heading-copy small{font-size:9px;letter-spacing:1.3px;font-weight:850;color:var(--muted)}
 .v55-close{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;
  border:1px solid var(--el-border,var(--border));border-radius:11px;
  background:var(--el-panel,var(--panel));color:var(--soft);font-size:15px;cursor:pointer}
 .v55-drawer-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;
  padding:24px 15px 21px;-webkit-overflow-scrolling:touch}
 .v55-drawer-label{font-size:10px;font-weight:850;letter-spacing:1.6px;
  color:var(--muted);padding:0 11px 10px}
 .v55-drawer-nav{display:grid;gap:6px}
 .v55-drawer-group{border:1px solid transparent;border-radius:13px;overflow:hidden}
 .v55-drawer-group.is-current{background:color-mix(in srgb,var(--el-accent,var(--lime)) 5%,var(--el-panel,var(--panel)));
  border-color:color-mix(in srgb,var(--el-accent,var(--lime)) 24%,var(--el-border,var(--border)))}
 .v55-group-row{display:flex;align-items:center;min-height:54px}
 .v55-group-main{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:12px;
  min-height:54px;padding:8px 10px;background:transparent;border:0;color:var(--text);
  text-align:left;font-weight:780;font-size:14px;cursor:pointer}
 .v55-group-main:hover{background:color-mix(in srgb,var(--el-accent,var(--lime)) 9%,transparent)}
 .v55-group-main[aria-expanded="true"]{background:color-mix(in srgb,var(--el-accent,var(--lime)) 10%,transparent)}
 .v55-expand-caret{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;
  margin-left:auto;color:var(--muted);font-size:19px;line-height:1;transition:transform .16s ease}
 .v55-group-main[aria-expanded="true"] .v55-expand-caret{transform:rotate(180deg)}
 .v55-group-symbol{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;
  font-size:20px;border-radius:11px;border:1px solid var(--el-border,var(--border));
  background:var(--el-panel,var(--panel));color:var(--el-accent,var(--lime))}
 .v55-drawer-group.is-current .v55-group-symbol{
  border-color:color-mix(in srgb,var(--el-accent,var(--lime)) 45%,var(--el-border,var(--border)));
  background:color-mix(in srgb,var(--el-accent,var(--lime)) 14%,var(--el-panel,var(--panel)))}
 .v55-group-name{flex:1;min-width:0}
 .v55-group-links{display:grid;gap:2px;padding:0 9px 11px 59px}
 .v55-group-links[hidden]{display:none!important}
 /* Redundant explicit state prevents any stale display rule showing a folded group. */
 .v55-group-links:not(.is-open){display:none!important}
 .v55-sub-link{position:relative;display:block;width:100%;text-align:left;
  min-height:39px;padding:8px 10px;border:0;border-radius:8px;
  background:transparent;color:var(--soft);font-size:12px;font-weight:620;cursor:pointer}
 .v55-sub-link:hover{background:var(--el-panel2,var(--panel2))}
 .v55-sub-link.is-current{color:var(--el-accent,var(--lime));font-weight:820;
  background:color-mix(in srgb,var(--el-accent,var(--lime)) 9%,transparent)}
 .v55-sub-link.is-current::before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:2px;
  background:var(--el-accent,var(--lime));border-radius:3px}
 .v55-tools-label{margin:25px 0 0;padding-top:17px;border-top:1px solid var(--el-border,var(--border))}
 .v55-drawer-tools{display:grid;gap:4px}
 .v55-drawer-tools button{display:flex;align-items:center;gap:13px;border:0;border-radius:11px;
  background:transparent;color:var(--soft);min-height:47px;text-align:left;padding:11px 13px;
  font-size:17px;cursor:pointer}
 .v55-drawer-tools button span{font-size:12px;font-weight:650}
 .v55-drawer-tools button:hover{background:var(--el-panel,var(--panel))}
 .v55-drawer-foot{flex:0 0 auto;display:flex;align-items:center;gap:10px;
  padding:16px 23px calc(17px + env(safe-area-inset-bottom));
  border-top:1px solid var(--el-border,var(--border));
  color:var(--muted);font-size:11px;letter-spacing:.2px}
 .v55-foot-dot{width:7px;height:7px;background:var(--el-accent,var(--lime));border-radius:50%}
 .v55-hamburger:focus-visible,.v55-close:focus-visible,
 .v55-drawer button:focus-visible{outline:3px solid var(--el-accent,var(--lime));outline-offset:2px}
 @keyframes v55-fade{from{opacity:0}to{opacity:1}}
 @keyframes v55-slide{from{transform:translateX(-25px);opacity:.86}to{transform:translateX(0);opacity:1}}
}
@media(max-width:390px){
 body.v55-ready .v55-hamburger{width:39px;height:39px;min-height:39px;flex-basis:39px}
 body.v55-ready .v54-brand-copy strong{font-size:15px}
 body.v55-ready .v54-brand-copy small{display:none}
 body.v55-ready .topbar{gap:6px!important}
}
@media(prefers-reduced-motion:reduce){
 .v55-shade,.v55-drawer{animation:none!important}
}
