.studio-app .font-setting { display: flex; align-items: end; gap: 16px; margin-top: 20px; }
.studio-app .font-setting .field { flex: 1; min-width: 0; margin: 0; }
.studio-app .font-setting select, .studio-app .font-size-setting select { width: 100%; min-height: 48px; padding: 10px 34px 10px 13px; border: 1px solid var(--input-border); border-radius: 8px; background-color: var(--surface); color: var(--ink); font-size: .8125rem; }
.studio-app .font-setting select:disabled, .studio-app .font-size-setting select:disabled { background-color: var(--surface-soft); color: var(--muted); cursor: not-allowed; }
.studio-app .typography-fields .font-size-setting { margin: 14px 0 0; }
.letter-card .letter-message[data-size-factor] { overflow-wrap: anywhere; }
.studio-app .font-specimen { display: grid; place-items: center; flex: 0 0 68px; height: 58px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--ink); font-size: 2.2rem; line-height: 1.2; }
.studio-app .font-choice-help { margin-top: 9px; }
.studio-app .font-choice-status { margin: 6px 0 22px; color: var(--gold-dark); }
.studio-app .message-font-control { margin-top: 20px; }
.studio-app .message-editor .message-font-control { padding-top: 4px; border-top: 1px solid var(--border); }
.studio-app .message-font-control .font-choice-status { margin-bottom: 0; }
.studio-app textarea[data-body-font-kind] { font-size: 1.125rem; line-height: 1.7; }
.studio-app textarea[data-body-font-kind="roman"] { font-size: 1rem; line-height: 1.9; }
.studio-app textarea[data-body-font-kind="script"] { font-size: 1.5rem; }
.studio-app textarea[data-body-font-kind="handwritten"] { font-size: 1.35rem; }

.letter-card[data-body-font] .letter-message { font-size: clamp(1.125rem, 4.7vw, 1.35rem); line-height: 1.8; overflow-wrap: anywhere; }
.letter-card[data-body-font-kind="roman"] .letter-message { font-size: clamp(1.05rem, 4.5vw, 1.2rem); line-height: 1.9; }
.letter-card[data-body-font-kind="script"] .letter-message { font-size: clamp(1.5rem, 5.7vw, 1.85rem); line-height: 1.7; }
.letter-card[data-body-font-kind="handwritten"] .letter-message { font-size: clamp(1.35rem, 5.4vw, 1.65rem); line-height: 1.7; }

.letter-card[data-font] h2 { font-size: clamp(2.2rem, 5vw, 3rem); line-height: 1.2; padding-inline: 4px; }
.letter-card[data-font-kind="roman"] h2 { font-size: clamp(1.7rem, 4.5vw, 2.55rem); line-height: 1.25; }
.letter-card[data-font-kind="script"] h2 { font-size: clamp(3rem, 7vw, 4.25rem); line-height: 1.25; }
.letter-card[data-font-kind="handwritten"] h2 { font-size: clamp(2.8rem, 6.5vw, 3.8rem); line-height: 1.2; }
.print-spread[data-font] .print-cover h3 { font-size: clamp(1.15rem, 2.5vw, 2rem); line-height: 1.2; }
.print-spread[data-font-kind="roman"] .print-cover h3 { font-size: clamp(1rem, 2.2vw, 1.75rem); line-height: 1.25; }
.print-spread[data-font-kind="script"] .print-cover h3 { font-size: clamp(1.55rem, 3vw, 2.75rem); line-height: 1.25; }
.print-spread[data-font-kind="handwritten"] .print-cover h3 { font-size: clamp(1.4rem, 2.8vw, 2.5rem); line-height: 1.2; }

@media (max-width: 480px) {
  .studio-app .font-setting { position: relative; display: block; }
  .studio-app .font-setting label { padding-right: 66px; }
  .studio-app .font-specimen { position: absolute; top: -12px; right: 0; width: 56px; height: 35px; border: 0; background: transparent; font-size: 1.75rem; }
}

@media (max-width: 650px) {
  .recipient-public .recipient-letter-wrap .letter-card[data-font] h2 { font-size: clamp(2.3rem, 9.5vw, 3.25rem); line-height: 1.2; }
  .recipient-public .recipient-letter-wrap .letter-card[data-font-kind="roman"] h2 { font-size: clamp(1.9rem, 8vw, 2.7rem); line-height: 1.25; }
  .recipient-public .recipient-letter-wrap .letter-card[data-font-kind="script"] h2 { font-size: clamp(3rem, 13vw, 4.2rem); line-height: 1.25; }
  .recipient-public .recipient-letter-wrap .letter-card[data-font-kind="handwritten"] h2 { font-size: clamp(2.8rem, 12vw, 3.8rem); line-height: 1.2; }
}
