/* Typography adapted from PMS-with-AI: site.css and common.css.
   Loaded after layout styles so all responsive variants share this scale. */
:root {
    --font-body: Poppins, Arial, sans-serif;
    --font-heading: Lexend, Poppins, Arial, sans-serif;
    font-family: var(--font-body);
}
body { font-family: var(--font-body); font-size: 14px; font-weight: 400; }
button, input, select, textarea { font-family: var(--font-body); }
h1, h2, h3 { font-family: var(--font-heading); font-weight: 700; }
.page-heading h1 { font-size: 24px; line-height: 1.25; letter-spacing: -.3px; }
.page-heading p { font-size: 12px; font-weight: 500; line-height: 1.5; }
.panel-heading h2, .result-heading h3, dialog h2 {
    font-size: 16px; line-height: 1.3; letter-spacing: normal;
}
.panel-heading p { font-size: 11px; font-weight: 500; line-height: 1.5; }
.utility-label, .help-button { font-size: 11px; font-weight: 500; }
.operation-tabs button { font-size: 12px; font-weight: 600; }
label { font-size: 10px; font-weight: 700; line-height: 1.5; }
input, textarea, select { font-size: 11px; font-weight: 500; line-height: 1.5; }
.section-label strong { font-size: 10px; font-weight: 700; letter-spacing: .4px; }
.section-label span { font-size: 10px; font-weight: 700; }
.field-meta, .iv-size, .copy-status, .compatibility-note {
    font-size: 10px; font-weight: 500; line-height: 1.5;
}
.encoding-badge, .optional-badge, .result-status { font-size: 9px; font-weight: 600; }
.primary-action, .clear-button, .reset-button { font-size: 11px; font-weight: 700; }
.input-actions .mini-button, .result-actions .mini-button { font-size: 10px; font-weight: 600; }
.result-placeholder, .output-format { font-size: 11px; font-weight: 500; line-height: 1.5; }
.output-format strong { font-weight: 700; }
.error-message { font-size: 9px; font-weight: 600; line-height: 1.5; }
dialog p { font-size: 12px; line-height: 1.5; }
.site-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 20px;
    padding: 14px 20px;
    border-top: 1px solid #e4e7eb;
    color: #53647a;
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}
.site-footer strong { font-weight: 600; }
/* Keep ciphertext monospaced for easy selection and inspection. */
.result-text { font-family: Consolas, monospace; font-size: 11px; line-height: 1.6; }
@media (max-width: 850px) {
    .page-heading h1 { font-size: 21px; }
    .page-heading p { font-size: 11px; }
}
@media (max-width: 440px) {
    .page-heading h1 { font-size: 19px; }
    .utility-label { font-size: 10px; }
}
