/* ===== CRT Retro Theme — matches personal site ===== */
/* No external font import to respect CSP and keep it fast */

:root{
  --bg:#0b0f0c; --bg-soft:#0f140f; --text:#c8ffd6; --text-dim:#84b89a;
  --brand:#76ff9f; --accent:#a7ffb8; --link:#7bff9f;
  --muted:#0c120d; --code:#081009;
  --radius:10px; --shadow:0 12px 32px rgba(0,0,0,.5);
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.theme-amber{
  --bg:#0f0c08; --bg-soft:#150f08; --text:#ffe7c2; --text-dim:#c7ae8b;
  --brand:#ffbd6b; --accent:#ffd49a; --link:#ffcf88; --muted:#120e09; --code:#0d0a06;
}

/* Base */
html{min-height:100%; background:var(--bg); color:var(--text);}
body{
  box-sizing:border-box; height:100%; margin:0;
  background:
    radial-gradient(1200px 800px at 50% -10%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 60%),
    radial-gradient(1200px 800px at 50% 110%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 60%),
    var(--bg);
  font-family:var(--mono);
  font-size:1.5rem;
  color:var(--text);
  text-shadow:0 0 2px color-mix(in srgb, var(--brand) 35%, transparent);
}

/* CRT scanline overlay (kept, tuned) */
.overlay{
  pointer-events:none; position:fixed; inset:0; z-index:99;
  background:repeating-linear-gradient(
    180deg,
    rgba(255,255,255,0.06) 0,
    rgba(255,255,255,0.06) 1px,
    transparent 2px,
    transparent 3px
  );
}
.overlay::before{
  content:""; position:absolute; inset:0; pointer-events:none; display:block;
  background-image:linear-gradient(
    0deg,
    transparent 0%,
    color-mix(in srgb, var(--brand) 25%, transparent) 2%,
    color-mix(in srgb, var(--brand) 60%, transparent) 3%,
    color-mix(in srgb, var(--brand) 25%, transparent) 3%,
    transparent 100%
  );
  background-repeat:no-repeat;
  animation:scan 7.5s linear infinite;
}
@keyframes scan{
  0% { background-position:0 -100vh; }
  35%,100% { background-position:0 100vh; }
}

/* Terminal block (kept) */
.terminal{
  box-sizing:inherit; position:relative;
  width:1000px; max-width:84ch; margin:0 auto; padding:4rem;
  text-transform:uppercase;
  background:var(--bg-soft);
  border:1px solid color-mix(in srgb, var(--brand) 30%, transparent);
  border-radius:var(--radius);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35), var(--shadow);
}

/* Headings and text */
h1{margin:0 0 1rem; color:var(--brand); font-weight:700;}
.errorcode{color:#fff;} /* keep original intent */
.output{
  color:var(--text);
  text-shadow:0 0 1px color-mix(in srgb, var(--brand) 20%, transparent),
              0 0 2px rgba(255,255,255,.5);
  margin:.6rem 0;
}
.output::before{content:"> "; color:var(--brand);}

/* Links */
a{
  color:var(--link);
  text-decoration:none;
  border-bottom:1px dotted currentColor;
}
a:hover{border-bottom-style:solid}

/* Accessibility tweaks */
@media (prefers-reduced-motion: reduce){
  .overlay::before{animation:none}
}
