/* cybdash redesign — terminal aesthetic with color semantics */
:root{
  /* surfaces */
  --bg: #0a0c0f;
  --bg-1: #0d1014;
  --bg-2: #12161b;
  --bg-3: #171c22;
  --line: #1f262e;
  --line-2: #2a323c;

  /* text */
  --fg: #e6edf3;
  --fg-2: #a7b0ba;
  --fg-3: #6b7580;
  --fg-4: #434c56;

  /* semantics */
  --crit: #ff4d4d;
  --crit-bg: rgba(255,77,77,.08);
  --high: #ff9f40;
  --high-bg: rgba(255,159,64,.08);
  --kev:  #ff2d88;       /* exploited in the wild */
  --kev-bg: rgba(255,45,136,.10);
  --zero: #b388ff;       /* 0day */
  --zero-bg: rgba(179,136,255,.10);
  --poc:  #3ee37a;       /* has POC / code */
  --poc-bg: rgba(62,227,122,.10);
  --lab:  #5ac8fa;       /* labs / technique */
  --lab-bg: rgba(90,200,250,.10);
  --malw: #f1d23a;       /* malware */
  --malw-bg: rgba(241,210,58,.10);

  /* type */
  --mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
a{color:inherit;text-decoration:none}

/* dotted border utility — ascii feel */
.dash{ background-image: repeating-linear-gradient(90deg,var(--line-2) 0 6px, transparent 6px 10px); background-repeat:no-repeat; background-size:100% 1px; background-position:bottom; }

/* tag pills */
.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border:1px solid currentColor;border-radius:2px;font-size:10px;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;line-height:1.4}
.tag.solid{color:#000;border-color:transparent}
.tag-kev{color:var(--kev);background:var(--kev-bg)}
.tag-zero{color:var(--zero);background:var(--zero-bg)}
.tag-poc{color:var(--poc);background:var(--poc-bg)}
.tag-lab{color:var(--lab);background:var(--lab-bg)}
.tag-malw{color:var(--malw);background:var(--malw-bg)}
.tag-crit{color:var(--crit);background:var(--crit-bg)}
.tag-high{color:var(--high);background:var(--high-bg)}
.tag-muted{color:var(--fg-3);border-color:var(--line-2);background:transparent}

/* scrollbars — subtle */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#242b33;border-radius:2px}
::-webkit-scrollbar-track{background:transparent}

/* blinking cursor */
.blink::after{content:"\25ae";color:var(--poc);animation:blink 1s steps(2) infinite;margin-left:2px}
@keyframes blink{50%{opacity:0}}

/* subtle fade-in for new items */
@keyframes slideIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.fresh{animation:slideIn .35s ease-out}
