/* ===== FORESTO BBS - Terminal Style (Belluno Blue & Gold) ===== */
:root{
  --bg:#050b1a;
  --bg2:#0a1428;
  --fg:#c9d6ec;
  --fg-dim:#5a7298;
  --fg-bright:#eef4ff;
  --gold:#f5c542;
  --gold-dim:#a8842a;
  --gold-bright:#ffe89c;
  --blue:#3b6fd6;
  --blue-bright:#6fa3ff;
  --red:#e0556b;
  --cyan:#5ad6c0;
  --border:#1a2f55;
  --border-bright:#2d4a82;
  --glow:0 0 6px rgba(106,163,255,.35);
  --gold-glow:0 0 6px rgba(245,197,66,.45);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:'Courier New',ui-monospace,monospace;
  font-size:15px;
  line-height:1.5;
  letter-spacing:.4px;
  text-shadow:var(--glow);
  -webkit-text-size-adjust:100%;
}
/* CRT scanlines + vignette */
body::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:50;
  background:repeating-linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,.15) 3px,rgba(0,0,0,.15) 3px);
  mix-blend-mode:multiply;
}
body::after{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:51;
  background:radial-gradient(ellipse at center,rgba(0,0,0,0) 55%,rgba(0,0,0,.5) 100%);
}
#screen{
  max-width:760px;
  margin:0 auto;
  min-height:100vh;
  padding:14px 16px 120px;
}
h1,h2,h3{color:var(--gold-bright);font-weight:bold;margin:.6em 0 .3em;text-transform:uppercase;letter-spacing:2px;text-shadow:var(--gold-glow)}
h1{font-size:1.3em}
h2{font-size:1.1em}
a,.cmd{color:var(--gold);text-decoration:none;cursor:pointer;text-shadow:var(--gold-glow)}
a:hover,.cmd:hover{color:var(--gold-bright)}
.dim{color:var(--fg-dim)}
.bright{color:var(--fg-bright);text-shadow:var(--glow)}
.amber{color:var(--gold);text-shadow:var(--gold-glow)}
.gold{color:var(--gold)}
.red{color:var(--red)}
.cyan{color:var(--cyan)}
.blue{color:var(--blue-bright)}
.center{text-align:center}
hr{border:0;border-top:1px dashed var(--border);margin:.7em 0}
pre{margin:0;white-space:pre-wrap;word-break:break-word}
.menu-item{
  display:block;
  padding:5px 8px;
  margin:1px 0;
  border-left:2px solid transparent;
}
.menu-item.cmd:hover{background:var(--bg2);border-left-color:var(--gold);color:var(--gold-bright)}
.prompt{color:var(--gold-bright)}
.bar-wrap{display:inline-block;border:1px solid var(--border-bright);padding:1px 3px;background:var(--bg2)}
.battle-log{
  border:1px solid var(--border);
  background:var(--bg2);
  padding:8px 10px;
  min-height:120px;max-height:200px;overflow-y:auto;
  margin:6px 0;
}
.battle-log p{margin:2px 0}
.hp-bar,.en-bar{height:10px;display:inline-block;vertical-align:middle}
.hp-fill{background:var(--red)}
.en-fill{background:var(--blue-bright)}
.btn-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
button{
  background:var(--bg2);color:var(--gold);
  border:1px solid var(--border-bright);
  font-family:inherit;font-size:14px;
  padding:10px 12px;letter-spacing:1px;
  cursor:pointer;text-transform:uppercase;
  text-shadow:var(--gold-glow);
  border-radius:3px;
}
button:hover{border-color:var(--gold);color:var(--gold-bright);background:#0e1d3a}
button:disabled{opacity:.35;cursor:not-allowed;text-shadow:none}
.kbd{border:1px solid var(--border-bright);padding:1px 5px;background:var(--bg2);color:var(--gold)}
.flash{animation:flash .5s steps(2) infinite}
@keyframes flash{0%{opacity:1}50%{opacity:.45}}
.cursor{display:inline-block;width:8px;height:1em;background:var(--gold-bright);animation:blink 1s steps(1) infinite;vertical-align:-2px}
@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}
input.txt{
  background:var(--bg2);color:var(--gold-bright);
  border:1px solid var(--border-bright);font-family:inherit;font-size:15px;
  padding:6px;letter-spacing:1px;width:80%;max-width:280px;
  border-radius:3px;
}
input.txt:focus{border-color:var(--gold);outline:none}
.touch-num{
  display:inline-block;width:2.2em;height:2.2em;line-height:2.1em;
  text-align:center;border:1px solid var(--border-bright);margin:2px;
  color:var(--gold);background:var(--bg2);cursor:pointer;font-size:16px;
}
.tag{border:1px solid var(--border);padding:0 4px;font-size:.85em;color:var(--fg-dim);border-radius:2px}
.tag.gold{border-color:var(--gold-dim);color:var(--gold)}
.locked{color:#3d5278;text-decoration:line-through}
.done{color:var(--fg-dim)}
small{color:var(--fg-dim);font-size:.8em}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0}
.stat-row .lbl{color:var(--fg-dim)}
.stat-row .val{color:var(--fg-bright);text-align:right}
.section-title{color:var(--gold);border-bottom:1px solid var(--border);padding-bottom:4px;margin:12px 0 8px;letter-spacing:2px;text-transform:uppercase;font-size:.9em}
.obj-card{border:1px solid var(--border);padding:8px;margin:4px 0;background:var(--bg2);border-radius:3px}
.obj-card .obj-name{color:var(--gold-bright);font-weight:bold}
.obj-card .obj-stats{color:var(--cyan);font-size:.85em;margin-top:2px}
.obj-card .obj-desc{color:var(--fg-dim);font-size:.85em;margin-top:4px;font-style:italic}
@media (max-width:520px){
  body{font-size:14px}
  #screen{padding:10px 10px 110px}
  button{padding:9px 10px;font-size:13px}
}