:root {
    --bg-color: #0c0c0c;
    --text-color: #cccccc; 
    --success-color: #00ff66;
    --error-color: #ff5555;
    --info-color: #33ccff;
    --warn-color: #ffff55;
    --font-stack: 'Fira Code', 'Consolas', 'Courier New', monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body, html {
    width: 100vw; height: 100vh;
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: var(--font-stack);
    font-size: 15px;
    overflow: hidden;
}

.cmd-window {
    width: 100%; height: 100%;
    display: flex; flex-direction: column;
}

.cmd-titlebar {
    height: 34px; background-color: #1f1f1f; border-bottom: 1px solid #333333;
    display: flex; justify-content: space-between; align-items: center;
    padding: 0 10px; user-select: none; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.cmd-title { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #ffffff; font-weight: 600; }
.cmd-icon { width: 16px; height: 16px; }

.top-wallet {
    display: flex; align-items: center; gap: 10px;
    background: #000000; padding: 2px 15px; border-radius: 4px;
    border: 1px solid #333; font-size: 12px; font-family: var(--font-stack);
}
.wallet-user { color: var(--info-color); font-weight: bold; text-transform: uppercase;}
.wallet-divider { color: #555; }
.hidden { display: none !important; }

.cmd-controls { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #888888; }
.ctrl-btn { cursor: pointer; padding: 2px 6px; transition: color 0.15s; }
.ctrl-btn:hover { color: #ffffff; }
.ctrl-btn.close:hover { color: #ff5555; }

.terminal-body {
    flex: 1; padding: 12px 16px 40px 16px; 
    overflow-y: auto; overflow-x: hidden;
    cursor: text; background-color: var(--bg-color);
}
.terminal-body::-webkit-scrollbar { width: 8px; }
.terminal-body::-webkit-scrollbar-track { background: var(--bg-color); }
.terminal-body::-webkit-scrollbar-thumb { background: #333333; border-radius: 4px; }

#output { width: 100%; word-wrap: break-word; white-space: pre-wrap; }
.output-line { margin-bottom: 4px; line-height: 1.35; color: var(--text-color); }

.cmd-echo { color: var(--text-color); font-weight: 600; }
.system-msg { color: var(--success-color); }
.error-msg { color: var(--error-color); }
.info-msg { color: var(--info-color); }
.warn-msg { color: var(--warn-color); }

.money-gain { color: #00ff66; font-weight: bold; } 
.money-loss { color: #ff5555; font-weight: bold; } 
.money-info { color: #facc15; font-weight: bold; } 
.private-msg { color: #d946ef; font-weight: 600; } 
.cat-header { color: #facc15; font-weight: bold; margin-top: 10px; text-decoration: underline; } 

.input-line { display: flex; align-items: flex-start; margin-top: 6px; }
.prompt-text { margin-right: 8px; white-space: pre; color: var(--text-color); font-weight: 600; line-height: 1.35; }

#cmd-input {
    background: transparent; border: none;
    color: var(--text-color); font-family: var(--font-stack); font-size: 15px; font-weight: 600;
    flex-grow: 1; outline: none; resize: none; overflow: hidden;
    line-height: 1.35; caret-color: var(--text-color);
}
#cmd-input:disabled { opacity: 0; }