/* ———————————————————  global CRT vibe  ——————————————————— */
body {
    font-family: 'VT323', monospace;
    background-color: #0a0a0a;
    color: #00ff00;
    overscroll-behavior: none;
    margin: 0;
    padding: 0;
    height: 100vh;
    overflow: hidden;
}
#game-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 10px;
    box-sizing: border-box;
    max-width: 800px;
    margin: 0 auto;
}

/* ———————————————————  terminal  ——————————————————— */
.terminal {
    border: 2px solid #00ff00;
    box-shadow: 0 0 15px #00ff00;
    border-radius: 8px;
    overflow-y: auto;
    padding: 10px;
    margin-bottom: 10px;
    background: rgba(0, 10, 0, 0.85);
    flex-grow: 1;
    min-height: 150px;
}
.terminal-line {
    white-space: pre-wrap;
    word-break: break-all;
    margin-bottom: 5px;
    font-size: 1rem;
}
.terminal-line.prompt::before { content: '> '; }
.terminal-line.system    { color: #ffff00; }
.terminal-line.narrative { color: #00cyan; }   /* Fixed color */
.terminal-line.combat    { color: #ff0000; }
.terminal-line.dialogue  { color: #00ffff; }

/* ———————————————————  inputs & buttons  ——————————————————— */
input[type="text"],
button {
    font-family: 'VT323', monospace;
    background: #1a1a1a;
    color: #00ff00;
    border: 1px solid #00ff00;
    padding: 10px 15px;
    border-radius: 4px;
    margin-top: 5px;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    font-size: 1rem;
}
input[type="text"]:focus,
button:focus  { box-shadow: 0 0 8px #00ff00; }
button        { cursor: pointer; transition: background-color 0.3s, color 0.3s; }
button:hover  { background: #00ff00; color: #0a0a0a; }

/* ———————————————————  side panels  ——————————————————— */
.stats-panel,
.character-icon-panel {
    border: 1px solid #00cc00;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 4px;
    background: rgba(0, 5, 0, 0.7);
}

/* icon buttons */
.icon-selection {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}
.icon-selection button {
    font-size: 1.8rem;
    padding: 10px;
    margin: 0;
    line-height: 1;
    min-width: 50px;
    flex-basis: calc(25% - 8px);
    max-width: 70px;
    text-align: center;
}

/* ———————————————————  modals  ——————————————————— */
.modal {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    padding: 15px;
    box-sizing: border-box;
}
.modal-content {
    background: #0a0a0a;
    padding: 20px;
    border-radius: 8px;
    border: 2px solid #00ff00;
    box-shadow: 0 0 15px #00ff00;
    text-align: center;
    width: 100%;
    max-width: 450px;
}
.hidden { display: none !important; }
.choices-container button { display: block; margin-bottom: 8px; }

#game-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ———————————————————  responsive tweaks  ——————————————————— */
@media (max-width: 640px){
    .terminal-line           { font-size: 0.9rem; }
    input[type="text"],
    button                   { font-size: 0.9rem; padding: 8px 12px; }
    .icon-selection button   { font-size: 1.5rem; flex-basis: calc(33.33% - 8px); }
    #game-container          { padding: 5px; }
    .stats-panel,
    .character-icon-panel    { font-size: 0.85rem; }
    #chosenIconArt           { font-size: 2.5rem !important; }
}
@media (max-width: 480px){
    .icon-selection button   { flex-basis: calc(50% - 8px); }
    #chosenIconArt           { font-size: 2rem !important; }
    h1                       { font-size: 1.5rem !important; }
    .text-2xl                { font-size: 1.25rem !important; }
}
