@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@200&display=swap");

html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    font-family: "IBM Plex Mono", monospace;
    font-weight: 200;
    font-style: normal;
    margin: 0;
    padding: 0;
    color: #bac1c5;
    min-height: 100vh;
    overflow: auto;
    font-size: 16px; /* Explicit font size for consistency */
}

h1 {
    font-size: 1.25em;
}

p {
    font-size: 1em;
    margin: 0;
}

.container {
    max-width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 2em;
    box-sizing: border-box;
}

.terminal-header {
    margin-bottom: 1em;
}

.terminal-header p {
    font-size: 1.25em;
    margin-bottom: 0.5em;
}

.terminal-output {
    margin-bottom: 0;
}

.terminal-line {
    margin: 0.2em 0;
    line-height: 1.4;
    word-wrap: break-word;
}

.terminal-line.user {
    color: #bac1c5;
}

.terminal-line.ai {
    color: #35d78c;
}

.terminal-line.system {
    color: #888;
    font-style: italic;
}

.terminal-line.info {
    color: #66b3ff;
}

.terminal-line.error {
    color: #ff6b6b;
}

.terminal-line.warning {
    color: #ffd93d;
}

.terminal-input {
    display: flex;
    align-items: center;
    margin-top: 0;
    position: relative;
}

.prompt {
    color: #35d78c;
    margin-right: 5px;
    white-space: nowrap;
}

#commandInput {
    background: transparent;
    border: none;
    color: #bac1c5;
    font-family: inherit;
    font-size: 16px; /* Minimum 16px to prevent iOS zoom */
    font-weight: inherit;
    flex: 1;
    outline: none;
    margin-right: 5px;
    caret-color: transparent; /* Hide the default text cursor */
    -webkit-text-size-adjust: 100%; /* Prevent iOS text scaling */
    -webkit-appearance: none; /* Remove iOS input styling */
    border-radius: 0; /* Remove iOS rounded corners */
}

#commandInput::placeholder {
    color: #555;
}

.noise1 {
    background: #111111;
    background-image: url(Assets/NoiseA1.svg);
}

@keyframes blink { 
    50% { color: transparent; } 
}

@-webkit-keyframes blink { 
    50% { color: transparent; } 
}

.blink {
    display: inline;
    color: inherit;
    animation: blink 1s steps(1) infinite;
    -webkit-animation: blink 1s steps(1) infinite;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .container {
        padding: 1em;
    }
    
    body {
        font-size: 16px; /* Keep same size on mobile for consistency */
    }
    
    .prompt {
        font-size: inherit; /* Match body font size */
    }
    
    #commandInput {
        font-size: inherit; /* Match body font size */
    }
}

/* Focus styles */
#commandInput:focus {
    outline: none;
}

/* Selection styles */
::selection {
    background: rgba(186, 193, 197, 0.3);
}

::-moz-selection {
    background: rgba(186, 193, 197, 0.3);
}
