/* Readable navigation, consistent focus and usable controls on small screens. */
.footer-details { display:flex; flex-wrap:wrap; gap:6px 24px; margin:0 var(--gutter); padding:16px 0 24px; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; line-height:1.7; }
.nav a { white-space: nowrap; }
.chat-step-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.chat-back { min-height:36px; color:var(--accent); font-size:.8rem; padding:6px 0; text-align:left; }
.chat-step-counter { margin-left:auto; color:var(--muted); font-size:.75rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
.chat-back:hover { text-decoration:underline; text-underline-offset:4px; }
.chat-identity { min-width:0; }
.chat-identity h2 { overflow-wrap:anywhere; }
.chat-controls { flex-shrink:0; }
.chat-field { min-width:0; }
.chat-transcript,.chat-composer,.notifications-panel { overscroll-behavior:contain; }
.notification-meta { flex-wrap:wrap; row-gap:6px; }
button,a { touch-action:manipulation; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.motion-toggle { display:block; margin:14px 5% 0 auto; padding:8px 12px; min-height:36px; color:var(--muted); font-size:.75rem; border:1px solid var(--line); border-radius:999px; }
.motion-toggle:hover { color:var(--text); border-color:var(--accent); }
.ticker-paused .ticker-track { animation-play-state:paused!important; }
@media(max-width:400px) {
  .nav a { padding:9px 10px; font-size:.75rem; }
  .chat-identity { gap:6px; }
  .clarification-dialog .chat-header-icon { display:none; }
  .clarification-dialog .chat-identity h2 { font-size:.78rem; }
  .chat-step-navigation { margin-top:8px; }
}
@media(prefers-reduced-motion:reduce) { .motion-toggle { display:none; } }
