/* REBUS — words are a liability. One accent structure, one accent life. */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('jetbrains-mono.woff2') format('woff2');
  font-weight: 100 800;
  font-display: swap;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; overflow: hidden; background: #05070a; }
body { font-family: 'JetBrains Mono', monospace; cursor: crosshair; }
canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; display: block; }

/* contact sigils (DOM so links stay real) */
#contacts {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%);
  display: none; gap: 64px; z-index: 5;
}
#contacts.show { display: flex; }
#contacts a {
  position: relative; width: 72px; height: 72px; display: block;
  color: #6fdcc0; transition: transform .18s, color .18s;
}
#contacts a:hover { transform: translateY(-6px) scale(1.12); color: #c8ffef; }
#contacts svg { width: 100%; height: 100%; display: block; }

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
