#blazor-error-ui {
    display: none;
    position: fixed;
    z-index: 1000;
    right: 8px;
    bottom: 8px;
    left: 8px;
    border: 2px solid;
    border-color: #fff #111 #111 #fff;
    background: #ffffcf;
    padding: 9px 12px;
    box-shadow: 3px 3px #111;
    font: 12px Gulim, Dotum, sans-serif;
}

#blazor-error-ui .dismiss { float: right; border: 0; background: transparent; font-weight: 700; }
.blazor-error-boundary { border: 2px solid #8b0000; background: #ffffcf; padding: 16px; }
.blazor-error-boundary::after { content: "화면을 표시할 수 없습니다."; }
.valid.modified:not([type=checkbox]) { outline: 1px solid #087a24; }
.invalid { outline: 1px solid #b00020; }
.validation-message { color: #b00020; }
.chat-window { min-height: 100%; }
.chat-page-shell { display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 100%; }
.chat-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--terminal-dim); padding-bottom: 12px; }
.chat-heading h1 { margin-bottom: 4px; }
.chat-retention { flex: 0 0 auto; color: var(--terminal-dim); font-size: .9em; }
.chat-connection { display: flex; justify-content: space-between; gap: 12px; padding: 10px 2px; color: var(--terminal-dim); font-size: .9em; }
.chat-message-log { min-height: 260px; max-height: min(55vh, 560px); overflow-y: auto; border: 1px solid var(--terminal-faint); background: #001000; padding: 8px 12px; scrollbar-color: var(--terminal-dim) #001000; }
.chat-message { position: relative; border-bottom: 1px dotted var(--terminal-faint); padding: 9px 0; }
.chat-message > header { display: flex; justify-content: space-between; gap: 12px; color: var(--terminal-dim); font-size: .9em; }
.chat-message > header strong { color: var(--terminal-amber); }
.chat-message pre { margin: 5px 0 0; overflow-wrap: anywhere; white-space: pre-wrap; color: var(--terminal-strong); font: inherit; }
.chat-delete { border: 0; background: transparent; padding: 3px 0; color: var(--terminal-dim); font: inherit; cursor: pointer; }
.chat-delete:hover, .chat-delete:focus { color: var(--terminal-amber); text-decoration: underline; }
.chat-tombstone, .chat-empty { margin: 6px 0; color: var(--terminal-dim); }
.chat-new-messages { justify-self: center; margin-top: -36px; z-index: 1; }
.chat-composer { display: grid; gap: 7px; margin-top: 12px; }
.chat-composer textarea { width: 100%; resize: vertical; border: 2px solid; border-color: #777 #fff #fff #777; background: #fff; padding: 9px; color: #111; font-family: "NeoDunggeunmo Code", GulimChe, monospace; line-height: 1.45; }
.chat-composer-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--terminal-dim); }
.chat-composer .form-status { min-height: 1.4em; margin: 0; }

@media (max-width: 760px) {
    .chat-heading, .chat-message > header { display: grid; }
    .chat-retention { white-space: normal; }
    .chat-message-log { min-height: 220px; max-height: 50vh; }
}
