/* pagegen */
.song-container {
    border: 2px solid #333;
    margin: 20px 0;
    padding: 20px;
}

.song-title {
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 15px 0;
}

.song-details {
    margin-bottom: -10px;
}

.song-details:not(:last-child) {
    margin-bottom: 15px;
}

.detail-row {
    margin: 5px 0;
}

.detail-label {
    font-weight: bold;
}

.audio-player {
    width: 100%;
    margin: 10px 0;
}

.versions-section {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #ccc;
}

.versions-heading {
    font-size: 18px;
    margin: 0 0 10px 0;
}

.version-container {
    margin: 15px 0;
    padding: 10px;
    background: #f5f5f5;
    border: 1px solid #ccc;
}

.version-title {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 10px 0;
}

.version-detail {
    margin: 5px 0;
    font-size: 14px;
}

/* treecmp */
.comparison-output {
    font-family: monospace;
    white-space: pre;
    border: 1px solid #ccc;
    padding: 10px;
    height: 400px;
    overflow-y: auto;
}

.tree-line {
    margin: 0;
}

.tree-matched {
    color: green;
    font-weight: bold;
}

.tree-unmatched {
    color: red;
}

.tree-extra {
    color: #666;
    font-style: italic;
}

.tree-directory {
    color: black;
}

/* tree */
.tree-output-area {
    rows: 20;
    cols: 80;
}

.tree-textarea {
    width: 100%;
}

.flex-container {
    display: flex;
    gap: 20px;
}

.flex-item {
    flex: 1;
}

.input-textarea {
    rows: 10;
    cols: 50;
}

.large-textarea {
    width: 100%;
    min-height: 300px;
    font-family: monospace;
}

.error-message {
    color: red;
}

.hidden {
    display: none;
}
