/* =========================================================
   CLASHub public UI typography
   Keep the main interface on a small, predictable type scale.
   Detailed sequence/diagram labels remain intentionally compact.
   ========================================================= */

:root {
    --clash-font-family: Arial, Helvetica, sans-serif;
    --clash-font-body: 14px;
    --clash-font-small: 12px;
    --clash-font-section: 16px;
    --clash-font-title: 24px;
    --clash-line-body: 1.5;
}

body {
    font-family: var(--clash-font-family);
    font-size: var(--clash-font-body);
    line-height: var(--clash-line-body);
}

button,
input,
select,
textarea {
    font-family: inherit;
}

/* Shared page chrome */
.intro p,
.help-section .help-list a {
    font-size: var(--clash-font-body);
}

.help-title {
    font-size: var(--clash-font-section);
    line-height: 1.25;
}

/* Database search workspace */
.database-search-wizard {
    font-size: var(--clash-font-body);
    line-height: var(--clash-line-body);
}

.database-search-wizard .search-title {
    font-size: var(--clash-font-title);
    line-height: 1.15;
}

.database-search-wizard .database-wizard-panel-label {
    font-size: var(--clash-font-small);
    line-height: 1.25;
}

.database-wizard-progress-step,
.database-search-wizard .data-type-card strong,
.database-search-wizard .database-species-card strong,
.database-search-wizard .database-dataset-option,
.database-search-wizard .database-dataset-selection strong,
.database-wizard-form-line .step-label,
.database-search-wizard .intersection-option,
.database-search-wizard .database-wizard-primary-action {
    font-size: var(--clash-font-body);
}

.database-wizard-progress-number,
.database-search-wizard .data-type-card small,
.database-search-wizard .database-species-card small,
.database-dataset-count,
.database-search-wizard .database-dataset-selection span,
.database-search-wizard .intersection-help {
    font-size: var(--clash-font-small);
}

.database-dataset-help,
.database-search-wizard .database-dataset-empty,
.database-search-wizard select.uniform-width,
.database-search-wizard input.uniform-width,
.database-search-wizard textarea.uniform-width,
.database-dataset-filter input {
    font-size: var(--clash-font-body);
}

/* Analyzer page chrome and user-facing forms */
body.analyzer main,
body.analyzer #leftMenu,
body.analyzer .form-section,
body.analyzer .help-section {
    font-size: var(--clash-font-body);
    line-height: var(--clash-line-body);
}

body.analyzer #leftMenu li,
body.analyzer label,
body.analyzer select.uniform-width,
body.analyzer input.uniform-width,
body.analyzer textarea.uniform-width,
body.analyzer .radio-label,
body.analyzer .job-status-content,
body.analyzer .job-status-content input[type="text"],
body.analyzer .job-status-content button {
    font-size: var(--clash-font-body);
}

body.analyzer .help-title,
body.analyzer .clash-v2-accession-request-section h4,
body.analyzer .clash-v2-upload-request-correction h4 {
    font-size: var(--clash-font-section);
}

body.analyzer .small-text,
body.analyzer .analyzer-umi-hint,
body.analyzer .eisa-desc,
body.analyzer .clash-v2-accession-help,
body.analyzer .clash-v2-accession-species-warning,
body.analyzer .clash-v2-upload-request-correction .clash-v2-upload-email-usage {
    font-size: var(--clash-font-small);
}

body.analyzer .template-gallery-head h2 {
    font-size: var(--clash-font-title);
    line-height: 1.2;
}

body.analyzer .template-gallery-head p,
body.analyzer .job-status-content .status-line,
body.analyzer .job-status-content #jobResult,
body.analyzer .clash-v2-accession-status,
body.analyzer .clash-v2-study-instruction,
body.analyzer .clash-v2-study-selection-count,
body.analyzer .clash-v2-upload-analysis-note {
    font-size: var(--clash-font-body);
}

body.analyzer .job-status-panel h2 {
    font-size: 20px;
}

body.analyzer .clash-v2-request-review,
body.analyzer .clash-v2-upload-progress,
body.analyzer .clash-v2-upload-confirmation-pending,
body.analyzer .clash-v2-accession-panel {
    font-size: var(--clash-font-body);
    line-height: var(--clash-line-body);
}

body.analyzer .clash-v2-request-review h3,
body.analyzer .clash-v2-upload-progress h3,
body.analyzer .clash-v2-upload-confirmation-pending h3 {
    font-size: var(--clash-font-section);
}
