/* ══════ game.css — Terminal, Game-Panels, Screens ══════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0d1117;--card:#161b22;--border:#30363d;
  --text:#c8d6e5;--dim:#5a6370;--red:#ff5555;--bred:#ff8888;
  --green:#00cc66;--yellow:#e5c07b;--cyan:#56d4dd;
  --dimred:rgba(200,60,60,0.5);
}
html,body{height:100%;margin:0;padding:0}
body{background:#008080;color:var(--text);
  font-family:'Consolas','Courier New',monospace;font-size:14px;line-height:1.5;
  overflow:hidden}

/* ── Desktop Wrapper (Win98 Desktop) ── */
#desktop-wrap{
  width:100%;height:100dvh;
  display:flex;align-items:center;justify-content:center;
  background:#008080;padding:4px;
}
@media (min-width:900px) {
  #desktop-wrap{
    padding:0;
    background:#008080 url('../../System/assets/wallpaper-corporate.webp') no-repeat center center;
    background-size:cover;
  }
}

/* ── CMD Terminal Window Frame ── */
#terminal-frame{
  width:100%;height:100%;
  display:flex;flex-direction:column;
  background:var(--bg);
  position:relative;
  border:2px solid;border-color:#DFDFDF #808080 #808080 #DFDFDF;
  box-shadow:0 0 0 1px #000;
  overflow:hidden;
}
@media (min-width:900px) {
  #terminal-frame{
    width:1100px;max-width:85vw;
    height:80vh;
    box-shadow:0 0 0 1px #000, 6px 6px 0 rgba(0,0,0,0.4);
  }
}

/* Layout inside terminal frame */
#back-bar{flex-shrink:0;position:relative;z-index:300}
#back-bar~#title-screen,#back-bar~#name-screen{flex:1;overflow:hidden}
#back-bar~#app{flex:1;overflow:hidden}
#app{display:grid;grid-template-rows:1fr auto auto;max-width:100%;margin:0 auto;padding:4px 8px;gap:2px;height:100%}

/* Main area: left text + right hud */
#main{display:grid;grid-template-columns:2fr 1fr;gap:8px;overflow:hidden;min-height:0}

/* Left panel */
#left-panel{
  border:1px solid var(--dimred);border-radius:4px;padding:8px 12px;
  overflow-y:auto;display:flex;flex-direction:column;
  scrollbar-width:thin;scrollbar-color:var(--border) transparent;
  scroll-behavior:smooth;
}
#left-panel::-webkit-scrollbar{width:6px}
#left-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
#game-text{flex:1}
.line{margin-bottom:2px;min-height:1.5em}
.line-narrate{color:var(--text)}
.line-system{color:var(--green)}
.line-warning{color:var(--red)}
.line-error{color:var(--red);opacity:0.7}
.line-dialogue{color:var(--yellow)}
.line-inner{color:var(--cyan);font-style:italic}
.room-name{color:var(--red);font-weight:bold;font-size:15px}
.room-sep{color:var(--dimred)}
.room-desc{color:var(--dim);font-size:13px}

/* Right panel */
#right-panel{display:flex;flex-direction:column;gap:4px;overflow:hidden;min-height:0}
#status-panel{
  border:1px solid var(--dimred);border-radius:4px;padding:6px 10px;flex-shrink:0;
}
#hp-bar{margin-bottom:4px}
.hp-fill{color:var(--green);font-weight:bold}
.hp-empty{color:var(--border)}
.hp-text{color:var(--green);font-size:12px}
#inv-line{font-size:12px;color:var(--yellow)}

#map-panel{
  border:1px solid var(--red);border-radius:6px;padding:6px 10px;
  flex:1;overflow:auto;min-height:0;
}
#map-title{text-align:center;font-size:11px;color:var(--dimred);margin-bottom:2px}
#map-content{font-size:11px;line-height:1.3;white-space:pre}
.map-current{color:var(--red);font-weight:bold}
.map-visited{color:var(--text)}
.map-unknown{color:transparent}
.map-connector{color:var(--dim)}

/* Commands panel */
#cmd-panel{
  border:1px solid var(--dimred);border-radius:4px;padding:3px 10px;
  font-size:12px;display:flex;flex-direction:column;gap:1px;flex-shrink:0;
}
.cmd-row{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.cmd-label{color:var(--dim);margin-right:4px}
.cmd-item{margin-right:8px}
.cmd-bold{color:var(--text);font-weight:bold}
.cmd-dim{color:var(--dim)}
.cmd-sep{color:var(--border);margin:0 4px}

/* Input area */
#input-area{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:2px 0}
#input-prompt{color:var(--red);font-weight:bold;font-size:16px}
#input-field{
  flex:1;background:transparent;border:none;outline:none;
  color:var(--text);font-family:inherit;font-size:14px;caret-color:var(--green);
}

/* Title screen */
#title-screen{
  display:none;position:absolute;inset:0;background:var(--bg);z-index:100;
  flex-direction:column;align-items:center;justify-content:center;padding:2rem;
}
#title-screen.active{display:flex}
#title-art{
  color:var(--green);font-size:10px;line-height:1.2;white-space:pre;
  text-shadow:0 0 8px rgba(0,204,102,0.3);margin-bottom:1rem;text-align:center;
}
#title-sub{color:#daa520;font-size:13px;margin-bottom:2rem}
#title-options{display:flex;flex-direction:column;gap:8px;align-items:center}
.title-btn{
  background:rgba(0,204,102,0.08);border:1px solid rgba(0,204,102,0.2);
  color:var(--green);padding:8px 24px;border-radius:6px;cursor:pointer;
  font-family:inherit;font-size:13px;min-width:200px;text-align:center;
  transition:all .2s;
}
.title-btn:hover{background:rgba(0,204,102,0.15);border-color:var(--green)}
#title-autosave{color:var(--dim);font-size:11px;margin-bottom:8px}

/* Name input overlay */
#name-screen{
  display:none;position:absolute;inset:0;background:var(--bg);z-index:100;
  flex-direction:column;align-items:center;justify-content:center;
}
#name-screen.active{display:flex}
#name-prompt{color:var(--red);font-size:16px;margin-bottom:1rem}
#name-input{
  background:transparent;border:1px solid var(--border);border-radius:6px;
  color:var(--text);font-family:inherit;font-size:16px;padding:8px 16px;
  text-align:center;outline:none;width:250px;
}
#name-input:focus{border-color:var(--green)}

/* Overlay screens (inventory, help, map fullscreen) */
#overlay{
  display:none;position:absolute;inset:0;background:rgba(0,0,0,0.85);z-index:50;
  align-items:center;justify-content:center;padding:2rem;
}
#overlay.active{display:flex}
#overlay-content{
  background:var(--card);border:1px solid var(--border);border-radius:8px;
  padding:1.5rem 2rem;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;
  color:var(--text);
}
#overlay-close{color:var(--dim);font-size:11px;text-align:center;margin-top:1rem}

/* Endgame sequence */
#endgame-screen{
  display:none;position:absolute;inset:0;background:var(--bg);z-index:200;
  flex-direction:column;align-items:center;justify-content:center;
}
#endgame-screen.active{display:flex}
#countdown-panel{
  border:2px double var(--text);padding:2rem 4rem;text-align:center;
  border-radius:4px;margin-bottom:2rem;
}
#countdown-label{color:var(--dim);font-size:12px;letter-spacing:2px}
#countdown-num{font-size:64px;font-weight:bold;margin:0.5rem 0}
#countdown-memory{color:var(--dim);font-style:italic;margin-top:1rem;min-height:1.5em}

/* Ending screen */
#ending-screen{
  display:none;position:absolute;inset:0;background:var(--bg);z-index:200;
  flex-direction:column;align-items:center;justify-content:center;padding:2rem;
  overflow-y:auto;
}
#ending-screen.active{display:flex}
#ending-text{max-width:600px;text-align:center}
#ending-text .line{margin-bottom:8px}

/* Save/Load modal */
#save-modal{
  display:none;position:absolute;inset:0;background:rgba(0,0,0,0.85);z-index:60;
  align-items:center;justify-content:center;
}
#save-modal.active{display:flex}
#save-content{
  background:var(--card);border:1px solid var(--border);border-radius:8px;
  padding:1.5rem;width:320px;
}
.save-slot{
  display:flex;justify-content:space-between;padding:8px;margin:4px 0;
  border:1px solid var(--border);border-radius:4px;cursor:pointer;
  transition:border-color .2s;font-size:12px;
}
.save-slot:hover{border-color:var(--green)}
.save-slot.empty{color:var(--dim)}

/* Lightning flash animation */
@keyframes flash{0%,90%{opacity:0}92%{opacity:0.8}94%{opacity:0}96%{opacity:1}100%{opacity:0}}
.lightning-flash{
  position:absolute;inset:0;background:rgba(255,255,255,0.15);
  pointer-events:none;z-index:999;animation:flash 0.4s ease-out forwards;
}

/* Mobile */
@media(max-width:768px){
  #main{grid-template-columns:1fr;grid-template-rows:1fr auto}
  #right-panel{flex-direction:row;gap:4px;max-height:200px}
  #status-panel,#map-panel{flex:1}
  body{font-size:12px}
}

/* Keyboard open on mobile */
.kb-open{overflow:hidden !important}
.kb-open #desktop-wrap{padding:0;height:100%;overflow:hidden}
.kb-open #terminal-titlebar,.kb-open #back-bar{display:none !important}
.kb-open #terminal-frame{border-width:0;border-top:none;height:100%}
.kb-open #right-panel{display:none}
.kb-open #main{grid-template-columns:1fr;grid-template-rows:1fr}
.kb-open #cmd-panel{padding:2px 6px;font-size:11px;gap:0}
.kb-open #app{padding:2px 6px;gap:1px}
.kb-open #input-area{padding:1px 0}
.kb-open #game-text{flex:0 0 auto;margin-top:auto}

/* DOS Prompt Overlay */
#dos-boot{
  position:absolute;top:22px;left:0;right:0;bottom:0;z-index:250;background:#000;
  padding:8px 12px;font-family:'Consolas','Courier New',monospace;
  font-size:14px;color:#C0C0C0;line-height:1.6;display:none;
}
#dos-boot.active{display:block}
#dos-cursor{display:inline-block;width:8px;height:14px;background:#C0C0C0;
  animation:psodblink 0.5s step-end infinite;vertical-align:text-bottom}
