/* Scribe source-code document panel (toolbar </> view). */

.song-code-scroll {
    display: none;
    box-sizing: border-box;
    width: 100%;
    min-height: min(70vh, 720px);
    padding: 1.5rem var(--notation-scroll-padding-inline, 13px) 24px;
}

.song-code-scroll.visible {
    display: block;
}

.song-code-document {
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
    min-height: min(60vh, 640px);
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    outline: none;
    resize: vertical;
    font-family: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
    font-size: 13px;
    line-height: 1.55;
    color: var(--text, #222);
    white-space: pre;
    overflow-x: auto;
    tab-size: 4;
    -webkit-user-select: text;
    user-select: text;
    field-sizing: content;
}

.song-code-document:focus {
    outline: none;
}

.song-code-document[aria-invalid="true"] {
    color: #b42318;
}

body.scribe-score-layout[data-scribe-source-view="code"] .content-view-spacer {
    display: none;
}

/* Source view shares the page card; outer margins come from #notation-area. */
body.scribe-score-layout.is-notation-fullscreen .song-code-scroll.visible {
    padding-inline: 0;
}

.source-view-segment__glyph {
    font-size: 0.95rem;
    line-height: 1;
    font-weight: 600;
}

.source-view-segment__glyph--code {
    font-family: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
    font-size: 0.72rem;
    letter-spacing: -0.02em;
}

#source-view-segments.toolbar-segmented.is-disabled {
    opacity: 0.35;
    pointer-events: none;
}

body[data-scribe-source-view="code"] .song-code-document::selection {
    background: color-mix(in srgb, var(--chassis-accent, #1E7F50) 35%, transparent);
}
