/* Readable defaults across modules. Keep the visual fonts, never shrink mobile text. */
:root { font-size: 16px; }
body { font-size: 18px; line-height: 1.5; }
button, input, select, textarea { line-height: 1.4; }
input, select, textarea { font-size: 16px; }
small { font-size: 16px; }
p, small, label, summary, .row-sub, .row-date, .meta { line-height: 1.5; }
:is(.page-head, .panel, .item-card, .auth-dialog) p, .weather-command .weather-card p { font-size: 18px; }
.panel-head h2, .section-title, .item-card h3 { font-size: 20px; line-height: 1.35; }
.row-title, .data-table strong, .task-title, .inbox-title { font-size: 18px; }
.row-title { white-space: normal; overflow-wrap: anywhere; }
.panel-head, .page-head, .card-actions, .weather-toolbar, .weather-sun { flex-wrap: wrap; }
.panel-head > *, .page-head > *, .weather-toolbar > * { min-width: 0; }
.row-sub, .meta, .weather-station, .weather-measured, .weather-reading { overflow-wrap: anywhere; }
.button { min-height: 44px; }
.button.small { padding: 8px 12px; }
.topbar { flex-wrap: wrap; }
.topbar-actions { min-width: 0; flex-wrap: wrap; }
.os-dock > button, .os-dock .os-dock-app { width: 84px; min-height: 72px; padding: 4px 4px 8px; }
.os-dock-app > span:last-child, .os-dock small { white-space: normal; text-align: center; line-height: 1.25; overflow-wrap: normal; }
.topbar .reminder-count { min-width: 24px; height: 24px; }
.command-footer { height: auto; min-height: 44px; flex-wrap: wrap; padding-block: 8px; position: relative; margin: 16px -24px -50px; }
.command-kicker { flex-wrap: wrap; }
.weather-command-heading { grid-template-columns: minmax(0, 1fr) 180px; }
.weather-command .command-kicker { max-width: none; }
.weather-command .weather-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.calendar-post, .calendar-entry .calendar-external { white-space: normal; overflow-wrap: anywhere; }
.calendar-day { min-height: 140px; }
.os-desktop-status { flex-wrap: wrap; }
@media (max-width: 760px) {
  .topbar-actions { flex-wrap: nowrap; }
  .os-dock > button, .os-dock .os-dock-app { width: 84px; }
  .weather-command-heading { grid-template-columns: 1fr; }
  .weather-command .holo-compact { display: none; }
  .command-footer { margin-inline: -14px; }
  .list-row { flex-wrap: wrap; }
  .row-main { flex-basis: calc(100% - 50px); }
  .row-date { white-space: normal; }
  .page-head .button { white-space: normal; }
}
