/* =================================================================== */
/* 페이지 특정 CSS (텍스트 비교 도구용)                                 */
/* =================================================================== */
.compare-container {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rg-spacing-large);
}
.compare-panel {
    flex: 1;
    min-width: 350px;
    display: flex;
    flex-direction: column;
}
.compare-panel .rg_form_textarea {
    flex-grow: 1;
    height: 250px;
    font-family: 'Courier New', Courier, monospace;
}
.controls {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: var(--rg-spacing-large) 0;
}
.result-container {
    margin-top: var(--rg-spacing-large);
}
.diff-viewer {
    display: flex;
    border: 1px solid var(--rg-color-border);
    border-radius: var(--rg-border-radius);
    background-color: var(--rg-color-background-alt);
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9rem;
    overflow: hidden;
}
.diff-pane {
    flex: 1;
    width: 50%;
    white-space: pre-wrap;
    word-break: break-all;
}
.diff-line {
    display: flex;
    padding: 2px 10px;
    min-height: 22px; /* 줄 높이 맞추기 */
}
.line-number {
    flex-shrink: 0;
    width: 40px;
    text-align: right;
    padding-right: 10px;
    color: var(--rg-color-text-light);
    border-right: 1px solid var(--rg-color-border);
    margin-right: 10px;
    -webkit-user-select: none; user-select: none;
}
.line-content {
    flex-grow: 1;
}
.diff-line.added { background-color: #e6ffed; }
.diff-line.deleted { background-color: #ffeef0; }
.diff-line.unchanged { color: var(--rg-color-text-secondary); }
:root[data-theme="dark"] .diff-line.added { background-color: #163b22; }
:root[data-theme="dark"] .diff-line.deleted { background-color: #4a1c22; }