:root {
    --font-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
}

html, body {
    overflow-x: hidden;
    max-width: 100vw;
}

[x-cloak] { display: none !important; }

/* 마크다운 스타일 */
.markdown-body {
    line-height: 1.7;
    overflow-wrap: anywhere;
    font-size: 0.875rem;
}
.markdown-body > *:first-child { margin-top: 0; }
.markdown-body > *:last-child { margin-bottom: 0; }
.markdown-body h1 { font-size: 1.375rem; font-weight: 700; margin: 1.25rem 0 0.625rem; color: #1F1F1E; }
.markdown-body h2 { font-size: 1.125rem; font-weight: 700; margin: 1.25rem 0 0.625rem; color: #1F1F1E; }
.markdown-body h3 { font-size: 1rem; font-weight: 600; margin: 1rem 0 0.5rem; color: #1F1F1E; }
.markdown-body p { margin: 0.5rem 0; }
.markdown-body ul, .markdown-body ol { margin: 0.5rem 0; padding-left: 1.5rem; }
.markdown-body li { margin: 0.25rem 0; }
.markdown-body li > p { margin: 0.25rem 0; }
.markdown-body code {
    background: #F0EBE3;
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    font-size: 0.8em;
    font-family: var(--font-mono);
    color: #C7254E;
}
.markdown-body pre {
    background: #1E1E1E;
    color: #D4D4D4;
    padding: 1rem;
    margin: 0.75rem 0;
    overflow-x: auto;
    font-size: 0.8125rem;
    line-height: 1.5;
    border-radius: 0.75rem;
}
.markdown-body pre code {
    background: transparent;
    padding: 0;
    color: inherit;
    font-size: inherit;
    font-family: var(--font-mono);
}
.markdown-body blockquote {
    border-left: 3px solid #DA7756;
    padding-left: 1rem;
    color: #6B6B6B;
    margin: 0.75rem 0;
    font-style: italic;
}
.markdown-body a { color: #DA7756; text-decoration: none; }
.markdown-body a:hover { text-decoration: underline; }
.markdown-body table { border-collapse: collapse; margin: 0.75rem 0; display: block; overflow-x: auto; max-width: 100%; }
.markdown-body th, .markdown-body td { border: 1px solid #E5E0D9; padding: 0.5rem 0.75rem; font-size: 0.8125rem; }
.markdown-body th { background: #F0EBE3; font-weight: 600; }
.markdown-body hr { border: none; border-top: 1px solid #E5E0D9; margin: 1.5rem 0; }
.markdown-body strong { font-weight: 600; color: #1F1F1E; }

/* 사용자 메시지 접기 */
.user-msg-content {
    white-space: pre-wrap;
    line-height: 1.5;
    word-break: break-word;
}
.user-msg-content.collapsed {
    max-height: 4.5em; /* line-height 1.5 * 3줄 */
    overflow: hidden;
    padding-bottom: 0.25rem !important;
}

/* 세션 삭제 버튼: 터치 기기에서 숨김 */
@media (hover: none), (pointer: coarse) {
    .session-delete-btn {
        display: none !important;
    }
}

/* 스크롤바 (모바일에서 얇게) */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #D4CFC7; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #B8B3AB; }
