/* cylabs_ontology.css */
:root{
  --bg:#0b0f14; --text:#e6eef9; --muted:#b8cbe3;
  --accent:#19d3ff; --accent2:#6af0ff;
  --border:rgba(255,255,255,.10); --glass:rgba(17,24,37,.58);
  --shadow:0 16px 40px rgba(0,0,0,.45);
}
html,body{height:100%}
body{margin:0;background:
  radial-gradient(900px 600px at 10% 0%, rgba(25,211,255,.10), transparent 60%),
  radial-gradient(900px 700px at 90% 5%, rgba(106,240,255,.06), transparent 60%),
  var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif
}
header{
  position:sticky;top:0;z-index:10;
  padding:10px 16px;font-weight:800;letter-spacing:.3px;
  background:linear-gradient(180deg,rgba(6,10,16,.85),rgba(6,10,16,.55));
  border-bottom:1px solid var(--border);
  backdrop-filter:saturate(140%) blur(10px);
  display:flex;justify-content:space-between;align-items:center;gap:10px
}
#stage{width:100vw;height:calc(100vh - 130px);display:block}
.panel{
  display:grid;grid-template-columns:1fr;gap:8px;padding:8px 12px;
  position:fixed;left:12px;bottom:12px;z-index:12;
  width:min(560px, 90vw);
  background:rgba(255,255,255,.06);border:1px solid var(--border);
  border-radius:12px;backdrop-filter:blur(10px);color:var(--muted);font-size:12px
}
.panel .buttons{display:flex;gap:8px;align-items:center}
.btn{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:10px;
     border:1px solid var(--border);color:var(--text);background:rgba(255,255,255,.04);cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.code{width:100%;min-height:120px;font-family:ui-monospace,Menlo,Consolas,monospace;
      font-size:12px;color:#0b1621;background:#f5f8fc;border-radius:8px;border:1px solid rgba(0,0,0,.12);padding:8px}
/* Links */
.link{fill:none;stroke:#6aa7ffcc;stroke-width:4}
.edge:hover .link{stroke:#6af0ff;stroke-width:5}
.link-label{font-size:12px;fill:#cfe2ff}
/* Cards */
.card{
  font-size:14px;line-height:1.5;color:var(--text);background:var(--glass);
  border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);
  width:360px;padding:14px 16px;backdrop-filter:saturate(140%) blur(10px)
}
.eyebrow{display:inline-block;font-size:12px;color:var(--muted);
         border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 10px;margin-bottom:10px;
         background:rgba(255,255,255,.05)}
.title{font-weight:800;margin:2px 0 8px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 12px}
.k{color:var(--muted)}
.v{color:#fff;word-break:break-word}
.note{font-size:12px;color:var(--muted)}
