
:root{
  --bg:#050607; --fg:#00ff66; --muted:#00c04b; --warn:#ffd166; --accent:#00ffaa;
  --panel:#0a0d0a; --panel-b:#0f140f; --border:#123a1f;
}
*{box-sizing:border-box}
html,body{height:100%}
html{overscroll-behavior:none}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  display:grid; grid-template-rows:auto 1fr; min-height:100vh; overflow:hidden;
}
header{
  padding:10px 14px; border-bottom:1px solid var(--border); background:linear-gradient(180deg, #061308, #050907);
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.brand{font-weight:700; letter-spacing:.06em}
.search{display:flex; align-items:center; gap:8px}
.search input{
  background:#001a0d; color:var(--fg); border:1px solid var(--border); border-radius:6px; padding:6px 8px; width:min(420px, 50vw);
}
main{display:grid; grid-template-columns: 360px 1fr; gap:10px; padding:10px; min-height:0}
@media (max-width:980px){ main{ grid-template-columns: 1fr } .left{height:40vh} }
.left{
  border:1px solid var(--border); background:var(--panel); border-radius:10px; overflow:auto; min-height:0;
}
.section{border-bottom:1px solid var(--panel-b)}
.section h3{margin:0; padding:8px 10px; font-size:12px; letter-spacing:.12em; color:var(--accent); background:#061308; position:sticky; top:0}
.list{display:grid; grid-template-columns:1fr;}
.item{padding:8px 10px; border-top:1px dashed var(--panel-b); cursor:pointer}
.item:hover,.item:focus{background:#07130a}
.item .name{color:var(--fg)}
.item .grp{color:var(--muted); font-size:11px}

.terminal{
  border:1px solid var(--border); background:#000; border-radius:10px; overflow:auto; min-height:0; display:flex; flex-direction:column;
}
.term-head{padding:8px 10px; border-bottom:1px solid var(--panel-b); background:#001307; display:flex; gap:8px; align-items:center}
.term-body{padding:12px; font-size:14px; white-space:pre-wrap; line-height:1.45}
.term-body .cmd{color:var(--fg)}
.term-body .dim{color:#00aa55}
.term-body a{color:#66ffb2; text-decoration:none}
.term-body a:hover{text-decoration:underline}
.cursor{display:inline-block; width:8px; height:1.1em; background:var(--fg); margin-left:3px; animation:blink 1s steps(1) infinite}
@keyframes blink{50%{ opacity:0 }}
.badge{display:inline-block; margin-right:6px; padding:2px 6px; border:1px solid var(--border); border-radius:999px; background:#001a0d; color:var(--muted); font-size:11px}
.footer{padding:6px 10px; color:var(--muted); font-size:12px; border-top:1px solid var(--panel-b); background:#010a06}
