/* Shared compact field metrics. Keep a readable mobile font without shrinking buttons. */
:root{--field-size:15px;--field-height:38px;--field-padding:7px 9px}
@media(max-width:600px),(hover:none),(pointer:coarse){:root{--field-size:16px}}
:is(#authView,#accountView,.modal-card,.guest-response) input:not([type=hidden],[type=file],[type=range],[type=checkbox],[type=radio],[type=date],[type=time]),
:is(#authView,#accountView,.modal-card,.guest-response) textarea,
#editorView .studio-fields input:not([type=range],[type=file],[type=date],[type=time]),
#editorView .studio-fields textarea,
#editorView .studio-published-link input,
#editorView .studio-gift-fields input:not([type=hidden],[type=file]),
#editorView .studio-gift-fields textarea,
#editorView .gift-composer input:not([type=hidden],[type=file]),
#editorView .studio-shell .gift-form #giftUrl,
#editorView .gift-composer textarea{
  box-sizing:border-box;min-height:var(--field-height);padding:var(--field-padding);
  font-size:var(--field-size);line-height:1.25;font-weight:400;letter-spacing:0;
}
#editorView .studio-fields textarea[data-studio-expand],
#editorView .gift-composer textarea{
  height:auto;min-height:var(--field-height);max-height:none;overflow:hidden;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;
}
#editorView .studio-fields label{gap:3px;margin-bottom:7px}
#editorView .studio-address-group>label{margin-bottom:0}
.studio-date-field{min-height:var(--field-height);padding:7px 9px;font-size:var(--field-size);line-height:1.25}
#accountView .account-section label{gap:4px}
