/* oc-terminal.css — Offline Comedy shared night terminal design system
   Link before inline <style> in every HTML page. Inline rules override these. */

:root {
  --green: #00ff41;
  --green-dim: #00b32c;
  --green-dark: #003b0f;
  --yellow: #C4A840;
  --red: #ff4444;
  --bg: #050505;
  --card-bg: #050505;
  --input-bg: #0a0a0a;
  --placeholder: #1c4827;
  --scanline: rgba(0,255,65,.025);
  --green-glow: rgba(0,255,65,.18);
  --tile-bg: rgba(0,255,65,.02);
  --tile-bg-hover: rgba(0,255,65,.05);
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }

body::before { content:''; position:fixed; inset:0; background:repeating-linear-gradient(0deg,var(--scanline) 0px,var(--scanline) 1px,transparent 1px,transparent 2px); pointer-events:none; z-index:999; }

.terminal-bar { background:var(--green-dark); border-bottom:1px solid var(--green-dim); padding:8px 14px; display:flex; align-items:center; gap:10px; }
.dots { display:flex; gap:6px; }
.dot { width:11px; height:11px; border-radius:50%; background:var(--green-dim); opacity:.45; }
.dot-close { cursor:pointer; transition:background .15s, opacity .15s; }
.dot-close:hover { background:var(--red); opacity:1; }
.terminal-title { flex:1; text-align:center; font-size:.68rem; color:var(--green-dim); letter-spacing:.18em; }

.ln { font-size:.82rem; line-height:1.65; }
.dim { color:var(--green-dim); }
.bright { color:var(--green); text-shadow:0 0 8px var(--green-glow); }

.btn { background:transparent; border:1px solid var(--green); color:var(--green); font-family:inherit; font-size:.8rem; padding:.55rem 1rem; cursor:pointer; letter-spacing:.15em; text-transform:uppercase; width:100%; transition:background .18s, color .18s; }
.btn:hover { background:var(--green); color:var(--bg); }

.input-pfx { padding:.5rem .65rem; color:var(--green-dim); font-size:.85rem; }

.flash { font-size:.76rem; padding:.5rem .7rem; border:1px solid; margin:.5rem 0; display:none; }
.flash.show { display:block; }
.flash.ok { border-color:var(--green); color:var(--green); }
.flash.err { border-color:var(--red); color:var(--red); }

.cur { display:inline-block; width:8px; height:.9em; background:var(--green); vertical-align:text-bottom; animation:blink 1s step-end infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }

.section-label { font-size:.72rem; color:var(--green-dim); letter-spacing:.15em; margin:1rem 0 .4rem; text-transform:uppercase; }
.sep { border:none; border-top:1px solid var(--green-dark); margin:1rem 0; }
.back-link { display:inline-block; margin-top:1.2rem; font-size:.75rem; color:var(--green-dim); text-decoration:none; letter-spacing:.1em; }
.back-link:hover { color:var(--green); }
