:root{
  --bg:#070a12;
  --panel:#0b1222;
  --ink:#e5e7eb;
  --muted:#94a3b8;
  --line:rgba(148,163,184,.18);
  --accent:#7c3aed;
  --accent2:#22d3ee;
}

body.theme-b0014{background:radial-gradient(900px 500px at 20% -10%, rgba(124,58,237,.35), transparent 70%),
  radial-gradient(700px 500px at 95% 0%, rgba(34,211,238,.22), transparent 65%),
  var(--bg);
  color:var(--ink);
}

a{color:inherit;}

#logo a{display:inline-block; font-weight:800; letter-spacing:.02em; text-decoration:none;}

.shell{min-height:100vh; display:flex; flex-direction:column;}

.topbar{border-bottom:1px solid var(--line); background:rgba(7,10,18,.72); backdrop-filter:saturate(140%) blur(10px);} 

.panelx{background:rgba(11,18,34,.86); border:1px solid var(--line); border-radius:18px;}

.grid{
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:1rem;
}

.sticky{position:sticky; top:1rem;}

.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; padding:.15rem .35rem; border:1px solid var(--line); border-radius:.45rem; color:var(--muted);}

.fab{
  position:fixed;
  right:18px;
  bottom:18px;
  width:54px;
  height:54px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(124,58,237,.9), rgba(34,211,238,.75));
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  z-index:60;
}

.overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.58);
  z-index:70;
}

.drawer{
  position:fixed;
  right:18px;
  bottom:86px;
  width:min(360px, calc(100vw - 36px));
  max-height:70vh;
  overflow:auto;
  z-index:80;
  padding:1rem;
}

.navlist a{display:block; padding:.55rem .6rem; border-radius:.65rem; text-decoration:none; color:var(--muted);} 
.navlist a:hover{background:rgba(148,163,184,.10); color:var(--ink);} 

#footer{margin-top:2rem; padding:1.75rem 0; border-top:1px solid var(--line);} 

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

@media (max-width: 980px){
  .grid{grid-template-columns: 1fr;}
}
