/* Approved cross-platform reading surfaces. Custom document formatting stays local to the editor. */
:root {
  --horizon-ink: var(--mc-ink); --horizon-muted: var(--mc-ink-secondary);
  --horizon-panel: var(--mc-surface); --horizon-bg: var(--mc-pearl);
  --horizon-line: var(--mc-line); --horizon-accent: var(--mc-teal);
}
.app-shell {
  --mc-blue: #2458a1; --mc-line-strong: #aabcc8;
  --mc-glass-subtle: #f2f6f7; --mc-glass-standard: var(--mc-surface);
  --mc-glass-prominent: var(--mc-surface); --glass-panel: var(--mc-surface);
  --mc-radius-xl: var(--mc-radius-lg);
  font-size: var(--mc-body-size); line-height: var(--mc-body-line-height);
  color: var(--mc-ink); background: var(--mc-pearl);
}
.theme-dark .app-shell {
  --mc-blue: #a9caff; --mc-line-strong: #6b8193;
  --mc-glass-subtle: #1d3040;
  background: var(--mc-pearl);
}
.app-shell :is(.mc-card, .today-next, .today-quick-actions) {
  color: var(--mc-ink); background: var(--mc-surface);
  border-color: var(--mc-line); border-radius: var(--mc-radius-lg);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.app-shell :is(.mc-card p, .mc-input input, .mc-input select, .mc-input textarea) {
  font-size: var(--mc-body-size); line-height: var(--mc-body-line-height);
}
.app-shell :is(.small-print, .field-hint, .plan-badge, .mc-input > span, .mc-card > small) {
  font-size: var(--mc-caption-size); line-height: 1.6;
  color: var(--mc-ink-secondary);
}
.app-shell :is(.mc-nav__item, .mc-nav--mobile button, .mc-nav--mobile a) {
  min-height: 48px;
}
.app-shell :is(.mc-nav__item span, .mc-nav--mobile .mc-nav__label) {
  font-size: var(--mc-caption-size); line-height: 1.4;
}
.app-shell .mc-button {
  min-height: 48px; border-radius: var(--mc-radius-sm);
  font-size: 16px; line-height: 1.5;
}
.app-shell .mc-button--primary:not(.home-start-focus) {
  color: var(--mc-on-accent) !important; background: var(--mc-action) !important;
}
.app-shell :is(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--mc-blue); outline-offset: 4px;
}
.app-shell :is(input, select, textarea)::placeholder { color: var(--mc-ink-secondary); opacity: 1; }
.app-shell .mc-nav--mobile { background: var(--mc-surface); border-color: var(--mc-line); }
@media (prefers-reduced-motion: reduce) {
  .app-shell *, .app-shell *::before, .app-shell *::after {
    animation-duration: .01ms !important; transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
