/* Nav & burger pack */
.fsp-topbar{
  position: sticky; top:0; z-index:60;
  background:#0c1420; border-bottom:1px solid rgba(255,255,255,.06);
  display:flex; align-items:center; gap:.75rem;
  padding:.625rem 1rem;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
}
.fsp-burger{all:unset; cursor:pointer; display:inline-grid; gap:4px; padding:.4rem; border-radius:12px; background:rgba(255,255,255,.04)}
.fsp-burger span{display:block; width:18px; height:2px; background:#e5f0ff; border-radius:3px}
.fsp-brand{color:#e9f2ff; font-weight:700; letter-spacing:.2px; text-decoration:none; margin-right:auto}
.fsp-brand .brand-short{display:none}
@media (max-width:768px){
  .fsp-brand .brand-long{display:none}
  .fsp-brand .brand-short{display:inline}
}
.fsp-primary{display:flex; gap:.5rem}
.fsp-pill{
  color:#cfe4ff; text-decoration:none; font-weight:600;
  padding:.45rem .8rem; border-radius:12px; border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03)
}
.fsp-pill:hover{border-color:rgba(255,255,255,.18)}
.fsp-pill.is-active{outline:2px solid rgba(88,140,255,.5); background:rgba(88,140,255,.08)}

.fsp-scrim{ position:fixed; inset:0; background:rgba(0,0,0,.45); backdrop-filter:saturate(120%) blur(2px); z-index:59; }
.drawer-open{ overflow:hidden }

.fsp-drawer{
  position:fixed; top:0; bottom:0; width:min(420px,92vw);
  background:#0a111b; box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 14px 40px rgba(0,0,0,.55);
  z-index:60; padding:14px; overflow:auto; transition:transform .22s ease;
  left:0; transform:translateX(-100%);
}
.fsp-drawer[aria-hidden="false"]{ transform:translateX(0) }
@media (max-width:768px){
  .fsp-drawer{ left:auto; right:0; transform:translateX(100%) }
  .fsp-drawer[aria-hidden="false"]{ transform:translateX(0) }
}
.drawer-head{ display:flex; align-items:center; justify-content:space-between; padding:.4rem .25rem .75rem }
.drawer-title{ color:#e9f2ff; font-weight:700 }
.drawer-close{ all:unset; color:#a9c6ff; cursor:pointer; padding:.3rem .45rem; border-radius:10px; background:rgba(255,255,255,.06) }

.cat-grid{ display:grid; gap:.5rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:600px){ .cat-grid{ grid-template-columns:1fr } }
.cat-chip{ display:flex; align-items:center; gap:.6rem; padding:.65rem .7rem; border-radius:14px; text-decoration:none; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); color:#dbe9ff; font-weight:600; }
.cat-chip:hover{ border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.05) }
.cat-ico{ width:20px; height:20px; opacity:.95; flex:0 0 20px }
.cat-title{ line-height:1.2 }
