/* Progressive disclosure and mobile navigation. Visual tokens are inherited from the existing theme. */
.hb-mobile-nav-toggle,.hb-mobile-nav-backdrop{display:none}
.academy-category-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.academy-category-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:112px;padding:16px;text-align:left;color:var(--text);background:var(--panel2,#0d1115);border:1px solid var(--line,#26303a);border-radius:6px;cursor:pointer}
.academy-category-tile:hover,.academy-category-tile:focus-visible{border-color:var(--cyan,#56cfe1);outline:none}
.academy-category-tile strong{font:700 12px/1.4 var(--mono,monospace);color:var(--text)}
.academy-category-tile span,.academy-category-tile small{font:9px/1.5 var(--mono,monospace);color:var(--muted,#8b98a5)}
.academy-category-tile span{color:var(--accent,#ff8a3d);letter-spacing:.06em}
.academy-browse-hint{margin:12px 0;color:var(--muted,#8b98a5);font:10px/1.6 var(--mono,monospace)}
.tool-category-heading{gap:12px}
.tool-category-heading h3{min-width:0}
.academy-tool-details{margin-top:12px;border-top:1px solid var(--line,#26303a);padding-top:10px}
.academy-tool-details>summary{display:inline-flex;align-items:center;min-height:36px;cursor:pointer;color:var(--cyan,#56cfe1);font:700 9px/1.4 var(--mono,monospace);letter-spacing:.05em}
.academy-tool-details[open]>summary{margin-bottom:10px}
.academy-show-more{display:flex;justify-content:center;margin:20px 0}
.academy-show-more button{padding:11px 16px;border:1px solid var(--line,#26303a);background:var(--panel,#11151a);color:var(--text);cursor:pointer;font:700 10px var(--mono,monospace)}
.academy-show-more button:hover{border-color:var(--cyan,#56cfe1)}
.mega-category-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.mega-category-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:105px;padding:15px;text-align:left;background:var(--panel2,#0d1115);border:1px solid var(--line,#26303a);color:var(--text);cursor:pointer}
.mega-category-tile:hover,.mega-category-tile:focus-visible{border-color:var(--accent,#ff8a3d);outline:none}
.mega-category-tile strong{font:700 12px/1.4 var(--mono,monospace)}
.mega-category-tile span,.mega-category-tile small{font:9px/1.5 var(--mono,monospace);color:var(--muted,#8b98a5)}
.mega-category-tile span{color:var(--accent,#ff8a3d)}
.mega-show-more{grid-column:1/-1;display:flex;justify-content:center;margin:12px 0}
.mega-show-more button{padding:10px 15px;border:1px solid var(--line,#26303a);background:var(--panel,#11151a);color:var(--text);cursor:pointer;font:700 10px var(--mono,monospace)}
.mega-catalog-hint{margin:10px 0;color:var(--muted,#8b98a5);font:10px/1.6 var(--mono,monospace)}
@media(max-width:900px){
 .academy-category-overview,.mega-category-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
 .hb-mobile-nav-toggle{display:inline-flex;position:fixed;z-index:10020;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line,#26303a);border-radius:7px;background:var(--panel,#11151a);color:var(--text,#e6edf3);box-shadow:0 5px 20px rgba(0,0,0,.28);font:700 11px var(--mono,monospace);cursor:pointer}
 .hb-mobile-nav-toggle span{font-size:17px;line-height:1}
 .os-top{padding-left:62px!important}
 .os-sidebar{position:fixed!important;z-index:10015!important;inset:0 auto 0 0!important;width:min(86vw,330px)!important;height:100dvh!important;max-height:100dvh!important;padding:22px 14px!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translateX(-110%);transition:transform .22s ease;box-shadow:none;border-right:1px solid var(--line,#26303a);border-bottom:0!important;overscroll-behavior:contain}
 .os-sidebar .os-nav{display:grid!important;overflow:visible!important;gap:5px!important;padding-bottom:0!important}
 .os-sidebar .os-nav a{min-width:0!important;white-space:normal!important;min-height:42px;flex:initial!important}
 .hb-mobile-nav-backdrop{display:block;position:fixed;z-index:10010;inset:0;border:0;background:rgba(0,0,0,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
 body.hb-mobile-nav-open{overflow:hidden}
 body.hb-mobile-nav-open .os-sidebar{transform:translateX(0);box-shadow:18px 0 45px rgba(0,0,0,.38)}
 body.hb-mobile-nav-open .hb-mobile-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}
 .academy-category-overview,.mega-category-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 .academy-category-overview,.mega-category-overview{grid-template-columns:1fr}
 .academy-category-tile,.mega-category-tile{min-height:80px}
}
@media(prefers-reduced-motion:reduce){.os-sidebar,.hb-mobile-nav-backdrop{transition:none}}

/* Mega Tools uses the existing three-column intel-grid shell. Let overview and status rows span it. */
#megaToolGrid>.mega-category-overview,#megaToolGrid>.mega-catalog-hint,#megaToolGrid>.mega-show-more{grid-column:1/-1}
#megaToolGrid>.mega-category-overview{width:100%;min-width:0}


/* Sidebar navigation groups: retain the existing theme while reducing the visible link count. */
.hb-sidebar-group{display:block;flex:0 0 auto;min-width:0;margin:0 0 8px}
.hb-sidebar-group>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;padding:10px;border:1px solid transparent;border-radius:5px;color:var(--muted,#8b98a5);cursor:pointer;font:700 10px/1.4 var(--mono,monospace);letter-spacing:1.1px;text-transform:uppercase;user-select:none}
.hb-sidebar-group>summary::-webkit-details-marker{display:none}
.hb-sidebar-group>summary::after{content:"+";font:700 14px/1 var(--mono,monospace);color:var(--accent,#ff8a3d)}
.hb-sidebar-group[open]>summary::after{content:"−"}
.hb-sidebar-group>summary:hover,.hb-sidebar-group[open]>summary{color:var(--text,#e6edf3);border-color:var(--line,#26303a);background:var(--panel2,#0d1115)}
.hb-sidebar-group>.os-nav{display:grid;gap:5px;margin:4px 0 10px;padding:0 0 0 4px;min-width:0}
.hb-sidebar-group .os-nav a{min-width:0;white-space:normal;overflow-wrap:anywhere}
.hb-sidebar-group .os-nav a.active{color:var(--accent,#ff8a3d)}
@media(min-width:901px){
 .os-shell{align-items:start}
 .os-sidebar{position:sticky;top:0;height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;align-self:start}
 .hb-sidebar-group{width:100%}
}
@media(max-width:768px){
 .hb-sidebar-group{width:100%}
 .hb-sidebar-group>summary{min-height:42px}
 .hb-sidebar-group>.os-nav{padding-left:0}
}
