/* Keep interactions immediate and low-motion on slower phones and laptops. */
button,
.primary,
.secondary,
.icon-button,
.tab,
.post,
.whisper,
.habit,
.play-card,
.settings-card,
.event-panel,
.profile-photo,
.story-ring {
  transition: background-color .12s ease, color .12s ease, border-color .12s ease !important;
  transform: none !important;
  filter: none !important;
}
button,
.card,
.post,
.whisper,
.habit,
.play-card,
.settings-card,
.event-panel,
.profile-card,
.modal,
.brand-symbol,
.floating-post { box-shadow: none !important; }
.post,
.whisper,
.habit,
.play-card,
.settings-card,
.event-panel,
.profile-card,
.admin-card { animation: none !important; }
button:not(:disabled):hover,
.primary:not(:disabled):hover,
.secondary:not(:disabled):hover,
.icon-button:not(:disabled):hover,
.post:hover,
.whisper:hover,
.habit:hover,
.play-card:hover,
.settings-card:hover,
.event-panel:hover {
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}
.appbar,
.tabbar,
.settings-full-head,
.immersive-page-head {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
#theme-open { display: grid !important; font-size: 17px; font-weight: 650; }
body.dark,
body.is-dark {
  color-scheme: dark;
  --bg: #151821;
  --surface: #1d222d;
  --surface2: #272d3a;
  --ink: #eff1f7;
  --muted: #b0b6c5;
  --line: #373e4e;
  --purple: #a99aff;
  --purple2: #302c45;
  --shadow: none;
}
body.dark .appbar, body.is-dark .appbar,
body.dark .tabbar, body.is-dark .tabbar,
body.dark .settings-full-head, body.is-dark .settings-full-head,
body.dark .immersive-page-head, body.is-dark .immersive-page-head {
  background: var(--surface) !important;
  border-color: var(--line) !important;
}
body.dark .card, body.is-dark .card,
body.dark .modal, body.is-dark .modal,
body.dark .compose-modal, body.is-dark .compose-modal,
body.dark .profile-card, body.is-dark .profile-card,
body.dark .settings-card, body.is-dark .settings-card {
  color: var(--ink) !important;
  background: var(--surface) !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
}
body.dark .official, body.is-dark .official,
body.dark .gupt-banner, body.is-dark .gupt-banner,
body.dark .gupt-prompt, body.is-dark .gupt-prompt,
body.dark .identity-card, body.is-dark .identity-card,
body.dark .notification, body.is-dark .notification,
body.dark .masti-hero, body.is-dark .masti-hero,
body.dark .habit-hero, body.is-dark .habit-hero {
  color: var(--ink) !important;
  background: var(--surface2) !important;
  border-color: var(--line) !important;
}
body.dark .input, body.is-dark .input,
body.dark input, body.is-dark input,
body.dark textarea, body.is-dark textarea,
body.dark select, body.is-dark select,
body.dark .secondary, body.is-dark .secondary,
body.dark .poll-option, body.is-dark .poll-option {
  color: var(--ink);
  background: var(--surface2);
  border-color: var(--line);
}
body.dark .primary, body.is-dark .primary { color: #171523; background: var(--purple); }
body.dark .post-actions, body.is-dark .post-actions,
body.dark .post-comments, body.is-dark .post-comments,
body.dark .setting-row, body.is-dark .setting-row { border-color: var(--line); }
body.dark .post-text, body.is-dark .post-text,
body.dark .whisper p, body.is-dark .whisper p,
body.dark .profile-card .bio, body.is-dark .profile-card .bio { color: var(--ink); }
body.dark .brand-symbol, body.is-dark .brand-symbol { background: var(--purple) !important; color: #fff !important; }
body.dark .official-tag, body.is-dark .official-tag,
body.dark .pill, body.is-dark .pill,
body.dark .notice-switch button, body.is-dark .notice-switch button,
body.dark .profile-post-switch, body.is-dark .profile-post-switch { color: var(--ink); background: var(--surface2); border-color: var(--line); }
body.dark .official-tag, body.is-dark .official-tag { color: var(--purple); }
body.dark .subtle, body.is-dark .subtle,
body.dark .post-meta, body.is-dark .post-meta,
body.dark .post-actions button, body.is-dark .post-actions button { color: var(--muted); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; scroll-behavior: auto !important; }
}
