/* The Memory Estate — phosphor green skin.
 * Used by both login.html and index.html. Keep this file small.
 * Visual tokens: #0a0a0a bg, #00ff41 text, Orbitron + Share Tech Mono.
 */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Share+Tech+Mono&display=swap');

:root {
  --bg: #0a0a0a;
  --fg: #00ff41;
  --fg-dim: #00aa2a;
  --fg-muted: rgba(0, 255, 65, 0.6);
  --glow: 0 0 10px rgba(0, 255, 65, 0.8), 0 0 4px rgba(0, 255, 65, 0.6);
  --glow-strong: 0 0 20px rgba(0, 255, 65, 0.9), 0 0 8px rgba(0, 255, 65, 0.7);
  --glow-subtle: 0 0 6px rgba(0, 255, 65, 0.4);
  --border: 1px solid var(--fg);
  --mono: 'Share Tech Mono', 'JetBrains Mono', 'Courier New', monospace;
  --display: 'Orbitron', 'Rajdhani', sans-serif;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--mono);
  font-size: 16px;
  line-height: 1.5;
  /* Clean black background — no grid */
  position: relative;
  min-height: 100vh;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 2px,
    rgba(0, 0, 0, 0.08) 2px,
    rgba(0, 0, 0, 0.08) 3px
  );
  z-index: 1000;
}

h1, h2, h3 {
  font-family: var(--display);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-shadow: var(--glow);
}

a { color: var(--fg); text-decoration: none; border-bottom: 1px dashed var(--fg); }
a:hover { text-shadow: var(--glow-strong); }

code { font-family: var(--mono); color: var(--fg); background: rgba(0,255,65,0.05); padding: 0 0.3em; }

/* Corner brackets — utility class */
.with-corners {
  position: relative;
  padding: 1rem;
}
.with-corners::before,
.with-corners::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border: 2px solid var(--fg);
}
.with-corners::before { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.with-corners::after { bottom: 0; right: 0; border-left: 0; border-top: 0; }