body {
    background-color: #0c0c0c;
    color: #cccccc;
    font-family: 'Ubuntu Mono', 'Courier New', Courier, monospace;
    margin: 0;
    padding: 20px;
    font-size: 16px;
    line-height: 1.4;
    overflow-x: hidden;
}

#terminal {
    width: 100%;
    height: 100%;
    min-height: 90vh;
    cursor: text;
}

#output {
    margin-bottom: 5px;
    word-wrap: break-word;
    white-space: pre-wrap;
}

.input-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    /* 모바일에서 텍스트 길어지면 인풋칸이 다음 줄로 내려가도록 */
}

#prompt {
    margin-right: 8px;
    font-weight: bold;
    word-break: keep-all;
    /* 한글 단어 보존 (단어 중간에서 잘리는 것 방지) */
}

.user-guest {
    color: #8ae234;
}

.user-admin {
    color: #fce94f;
}

.user-root {
    color: #ef2929;
}

.prompt-dir {
    color: #729fcf;
}

#cmd {
    background: transparent;
    color: #cccccc;
    border: none;
    outline: none;
    font-family: inherit;
    font-size: 16px;
    flex-grow: 1;
}

.error {
    color: #ef2929;
}

.system {
    color: #ad7fa8;
}

.success {
    color: #8ae234;
    font-weight: bold;
}

.dir {
    color: #729fcf;
    font-weight: bold;
}

.exec {
    color: #8ae234;
    font-weight: bold;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #0c0c0c;
}

::-webkit-scrollbar-thumb {
    background: #555555;
}

.ascii-art {
    white-space: pre;
    overflow-x: auto;
    max-width: 100%;
    font-size: clamp(10px, 1.5vw, 16px);
    line-height: 1.2;
    padding-bottom: 5px;
}