@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');

:root {
  color-scheme: only light;
  --ro11-paper: #f0eee5;
  --ro11-card: #faf9f3;
  --ro11-card-raised: #fffdf7;
  --ro11-ink: #203a32;
  --ro11-ink-soft: #53675e;
  --ro11-muted: #78847b;
  --ro11-line: #d7d8cb;
  --ro11-terra: #bd4e37;
  --ro11-terra-deep: #a53e2c;
  --ro11-action: #203a32;
  --ro11-action-text: #f4f0e5;
  --bg-primary: #f0eee5;
  --bg-secondary: #e8e8dc;
  --text-primary: #203a32;
  --text-secondary: #53675e;
  --text-muted: #78847b;
  --container-bg: #faf9f3;
  --input-bg: #fffdf7;
  --input-border: #d7d8cb;
  --border-color: #d7d8cb;
  --button-bg: #203a32;
  --button-hover: #29473d;
  --accent-color: #bd4e37;
  --accent-hover: #a53e2c;
  --shadow-color: rgba(32, 58, 50, .09);
  --glass-bg: rgba(250, 249, 243, .82);
  --glass-border: rgba(32, 58, 50, .12);
  font-family: 'DM Sans', sans-serif;
}

html { color-scheme: only light; overflow-x: hidden; overflow-y: auto; scroll-behavior: smooth; }
body {
  color-scheme: only light;
  min-height: 100dvh;
  height: auto !important;
  display: block !important;
  justify-content: initial !important;
  align-items: initial !important;
  background: var(--ro11-paper) !important;
  color: var(--ro11-ink) !important;
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
#root { min-height: 100dvh; }
#root > div:first-child[style*="height: 100vh"] { color: var(--ro11-ink) !important; background: var(--ro11-paper) !important; }
button, input, textarea, select { font-family: 'DM Sans', sans-serif; letter-spacing: 0; text-transform: none; }
button { -webkit-tap-highlight-color: transparent; }
body button { width: auto; white-space: normal; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(189, 78, 55, .62) !important;
  outline-offset: 3px;
}
input, textarea, select {
  color: var(--ro11-ink) !important;
  background-color: var(--ro11-card-raised) !important;
  border: 1px solid var(--ro11-line) !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  box-shadow: inset 0 1px 2px rgba(32, 58, 50, .025);
}
input::placeholder, textarea::placeholder { color: var(--ro11-muted) !important; opacity: 1; }
label { color: var(--ro11-ink-soft) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .09em !important; }
button { font-weight: 700; }
body :is(.journal-container,.fasting-container,.weightbite-container,.deepsearch-container,.login-container) {
  color: var(--ro11-ink) !important;
  background: var(--ro11-paper) !important;
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Journal + daily tracking: grounded, compact training log surfaces */
.journal-container, .weightbite-container { min-height: 100dvh !important; width: 100% !important; }
.journal-container > header, .weightbite-container > header {
  background: radial-gradient(ellipse at 85% 0%, rgba(189,78,55,.2), transparent 35%), #203a32 !important;
  color: #f4f0e5 !important;
  padding: 24px clamp(18px, 4vw, 42px) 26px !important;
  border-radius: 0 0 24px 24px !important;
  box-shadow: 0 14px 34px rgba(32,58,50,.14) !important;
  gap: 15px !important;
}
.journal-container > header *, .weightbite-container > header * { font-family: 'DM Sans',sans-serif !important; }
.journal-container > header h1, .weightbite-container > header h1 {
  color: #f4f0e5 !important; -webkit-text-fill-color: #f4f0e5 !important;
  font-family: 'Barlow Condensed',sans-serif !important; font-size: clamp(30px,5vw,48px) !important;
  font-weight: 700 !important; letter-spacing: .025em !important; text-shadow: none !important;
}
.journal-container > header h3, .weightbite-container > header h3 { color: #f4f0e5 !important; }
.journal-container > header p, .weightbite-container > header p { color: #d5ded5 !important; text-shadow: none !important; }
.journal-container > header [style*="background: rgba(255, 255, 255"],
.weightbite-container > header [style*="background: rgba(255, 255, 255"] {
  background: rgba(244,240,229,.1) !important; border: 1px solid rgba(244,240,229,.18) !important;
  border-radius: 14px !important; box-shadow: none !important; backdrop-filter: blur(12px);
}
#back-to-home-btn, #back-home-btn {
  background: var(--ro11-card) !important; color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important; box-shadow: none !important;
  width: 46px !important; height: 46px !important; border-radius: 50% !important;
}
#back-to-home-btn span, #back-home-btn span { font-size: 0 !important; }
#back-to-home-btn span::after, #back-home-btn span::after {
  content: ''; display: block; width: 18px; height: 18px; margin: auto;
  border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
}
.journal-container > div[style*="max-width: 1200px"], .weightbite-container > div[style*="max-width: 1200px"] {
  max-width: 1080px !important; padding: 32px clamp(16px, 4vw, 36px) 80px !important;
}
.journal-container > div[style*="max-width: 1200px"] > div[style*="background:"],
.weightbite-container > div[style*="max-width: 1200px"] > div[style*="background:"] {
  background: var(--ro11-card) !important; border: 1px solid var(--ro11-line) !important;
  border-radius: 13px !important; padding: clamp(18px, 3vw, 26px) !important;
  box-shadow: 0 5px 18px rgba(32,58,50,.045) !important;
}
.journal-container h3, .weightbite-container h3 {
  color: var(--ro11-ink) !important; font-family: 'Barlow Condensed',sans-serif !important;
  font-size: 24px !important; letter-spacing: .035em !important; text-align: left !important;
}
.journal-container #exertion-level, .journal-container #muscle-soreness-level {
  background: #eeefe7 !important; border: 1px solid var(--ro11-line) !important; border-radius: 12px !important;
}
.journal-container .exertion-btn, .journal-container .soreness-btn {
  background: var(--ro11-card) !important; border: 1px solid var(--ro11-line) !important;
  color: var(--ro11-ink) !important; border-radius: 11px !important;
}
.journal-container .exertion-btn[data-selected="true"], .journal-container .soreness-btn[data-selected="true"],
.journal-container .exertion-btn.selected, .journal-container .soreness-btn.selected {
  border-color: var(--ro11-terra) !important; background: rgba(189,78,55,.11) !important;
}
.journal-container button[type="submit"], .weightbite-container button[type="submit"],
#start-fasting-btn, #stop-fasting-btn, #search-btn {
  background: var(--ro11-action) !important; color: var(--ro11-action-text) !important; border: 0 !important;
  border-radius: 9px !important; box-shadow: none !important;
}
.journal-container button[type="submit"], .weightbite-container button[type="submit"],
#start-fasting-btn, #stop-fasting-btn { width: 100% !important; }
.journal-entry {
  background: var(--ro11-card) !important; color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important; border-radius: 12px !important;
  box-shadow: 0 4px 15px rgba(32,58,50,.04) !important;
}
.journal-container [id^="edit-"], .weightbite-container [id^="edit-"] {
  color: var(--ro11-ink) !important;
}
.journal-container [style*="linear-gradient(135deg, #6b2db3"] {
  background: var(--ro11-card) !important; color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important; box-shadow: none !important;
}
.journal-container .journal-entry h4 { color: var(--ro11-ink) !important; font-family: 'Barlow Condensed',sans-serif !important; font-size: 21px !important; }
.journal-container .journal-entry p, .journal-container .journal-entry small { color: var(--ro11-ink-soft) !important; }
.journal-container #journal-entries-container { margin-top: 28px; }
.journal-container .journal-main { max-width: 1080px !important; padding: 32px clamp(16px,4vw,36px) 80px !important; }
.journal-container .journal-list-panel { margin-top: 28px; }
.journal-container .journal-list-panel > h3 { margin: 0 0 16px !important; }
.journal-container .journal-form-card, .weightbite-container .weight-form-card {
  background: var(--ro11-card) !important; border: 1px solid var(--ro11-line) !important;
  border-radius: 13px !important; box-shadow: 0 5px 18px rgba(32,58,50,.045) !important;
}
.journal-container .journal-summary, .weightbite-container .weightbite-current-status {
  border-radius: 13px !important; box-shadow: none !important;
}
.journal-container .journal-summary-title { font-family: 'Barlow Condensed',sans-serif !important; letter-spacing: .04em; }
.journal-container .journal-stat-grid { gap: 10px !important; }
.journal-container .journal-stat { border-radius: 12px !important; min-width: 140px; }
.journal-container .journal-entry-heading { gap: 14px; }
.journal-container .journal-entry-details { color: var(--ro11-ink-soft); }
.journal-container .journal-notes { background: var(--ro11-card-raised) !important; border-color: var(--ro11-line) !important; }
.journal-container .journal-empty-state, .weightbite-container .empty-state {
  background: var(--ro11-card) !important; border: 1px dashed var(--ro11-line) !important;
  border-radius: 12px; padding: 34px 18px !important; color: var(--ro11-ink-soft) !important;
}
.empty-state-icon { color: var(--ro11-terra); display: block; margin: 0 auto 12px; }
.ui-icon { flex: 0 0 auto; }
.journal-icon-action { background: var(--ro11-action) !important; color: var(--ro11-action-text) !important; }
.journal-icon-action--danger { background: var(--ro11-terra) !important; color: #fff8eb !important; }
.weightbite-container .weightbite-hero .weightbite-current-status { max-width: 620px !important; }
.weightbite-container .weight-record, .weightbite-container .food-record, .weightbite-container .water-record {
  background: var(--ro11-card) !important; border-color: var(--ro11-line) !important;
  border-radius: 11px !important; color: var(--ro11-ink) !important; box-shadow: none !important;
}
.weightbite-container .weight-record button, .weightbite-container .food-record button, .weightbite-container .water-record button {
  width: 38px !important; height: 38px !important; min-width: 38px !important; padding: 8px !important;
  display: inline-grid !important; place-items: center; border-radius: 8px !important;
}
.weightbite-container .weight-record button[onclick*="edit"], .weightbite-container .food-record button[onclick*="edit"], .weightbite-container .water-record button[onclick*="edit"] {
  background: var(--ro11-action) !important; color: var(--ro11-action-text) !important;
}
.weightbite-container .weight-record button[onclick*="delete"], .weightbite-container .food-record button[onclick*="delete"], .weightbite-container .water-record button[onclick*="delete"] {
  background: var(--ro11-terra) !important; color: #fff8eb !important;
}
.fasting-container .fasting-hero { background: #203a32 !important; color: #f4f0e5 !important; }
.fasting-container .fasting-main { max-width: 900px !important; padding: 34px clamp(16px,4vw,36px) 90px !important; }
.fasting-container .fasting-main > div { color: var(--ro11-ink); }
.fasting-container .fasting-main > div[style*="background:"] { background: var(--ro11-card) !important; border-color: var(--ro11-line) !important; }
.fasting-container .fasting-empty-state { background: var(--ro11-card) !important; border: 1px dashed var(--ro11-line) !important; border-radius: 13px; }
.journal-container #journal-entries, .weightbite-container #weight-records,
.weightbite-container #food-records, .weightbite-container #water-records { display: grid; gap: 12px; }
.journal-entry button, .weightbite-container button:not([type="submit"]):not(.unit-toggle) {
  font-family: 'DM Sans',sans-serif !important;
}
.journal-entry button { width: auto !important; }
.journal-inline-edit .edit-effort-btn, .journal-inline-edit .edit-soreness-btn {
  background: var(--ro11-card-raised) !important;
  color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important;
  border-radius: 9px !important;
}
.journal-inline-edit .edit-effort-btn[data-selected="true"],
.journal-inline-edit .edit-soreness-btn[data-selected="true"] {
  border-color: var(--ro11-terra) !important;
  background: rgba(189,78,55,.12) !important;
}
.journal-inline-edit .save-edit-btn {
  background: var(--ro11-action) !important;
  color: var(--ro11-action-text) !important;
  border-radius: 9px !important;
}
.journal-inline-edit .cancel-edit-btn {
  background: var(--ro11-card-raised) !important;
  color: var(--ro11-ink-soft) !important;
  border: 1px solid var(--ro11-line) !important;
}
body .onboarding-highlight {
  box-shadow: 0 0 0 3px var(--ro11-terra) !important;
  animation: none !important;
}
.journal-entry button[onclick*="editJournalInline"] { background: var(--ro11-action) !important; color: var(--ro11-action-text) !important; }
.journal-entry button[onclick*="deleteJournal"] { background: var(--ro11-terra) !important; color: #fff8eb !important; }
.weightbite-container .futuristic-toggle-container {
  background: #e4e7dc !important; border: 1px solid var(--ro11-line) !important;
  border-radius: 30px !important; box-shadow: none !important;
}
.weightbite-container .toggle-slider { background: var(--ro11-action) !important; box-shadow: none !important; }
.weightbite-container .toggle-glow, .weightbite-container .toggle-particles { display: none !important; }
.weightbite-container .futuristic-btn { text-shadow: none !important; }

/* Fasting timer */
.fasting-container { position: relative !important; width: 100% !important; min-height: 100dvh !important; height: auto !important; }
.fasting-container > header {
  background: #203a32 !important; color: #f4f0e5 !important; padding: 24px clamp(18px,4vw,40px) !important;
  border-radius: 0 0 22px 22px !important; box-shadow: 0 12px 30px rgba(32,58,50,.13) !important;
}
.fasting-container > header > div > div { color: #f4f0e5 !important; text-shadow: none !important; }
.fasting-container > header > div > div > div { -webkit-text-fill-color: #f4f0e5 !important; background: none !important; }
.fasting-container > header > div > div > div:nth-child(2) { color: #d5ded5 !important; }
.fasting-container main { max-width: 900px !important; padding: 34px clamp(16px,4vw,36px) 90px !important; gap: 20px !important; }
.fasting-container #fasting-timer, .fasting-container main > div[style*="background:"] {
  background: var(--ro11-card) !important; color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important; border-radius: 14px !important;
  box-shadow: 0 5px 20px rgba(32,58,50,.05) !important; backdrop-filter: none !important;
}
.fasting-container #timer-display { color: var(--ro11-ink) !important; font-family: 'Barlow Condensed',sans-serif !important; font-variant-numeric: tabular-nums; }
.fasting-container .goal-btn { background: var(--ro11-card-raised) !important; color: var(--ro11-ink) !important; border-color: var(--ro11-line) !important; border-radius: 9px !important; }
.fasting-container .goal-btn.selected { background: var(--ro11-action) !important; color: var(--ro11-action-text) !important; }

/* Research desk */
.deepsearch-container { min-height: 100dvh !important; background: var(--ro11-paper) !important; color: var(--ro11-ink) !important; }
.deepsearch-container .grok-header {
  position: sticky !important; background: rgba(240,238,229,.94) !important; border-color: var(--ro11-line) !important;
  backdrop-filter: blur(18px); padding: 13px clamp(16px,4vw,36px) !important;
}
.deepsearch-container .grok-header > div { color: var(--ro11-ink) !important; text-shadow: none !important; }
.deepsearch-container .grok-main { max-width: 850px !important; padding: 0 clamp(16px,4vw,36px) !important; }
.deepsearch-container #welcome-section { padding-top: clamp(28px,8vh,76px) !important; }
.deepsearch-container #welcome-section > div:first-child {
  color: var(--ro11-ink) !important; background: none !important; -webkit-text-fill-color: var(--ro11-ink) !important;
  font-family: 'Barlow Condensed',sans-serif !important; letter-spacing: .035em !important; text-shadow: none !important;
}
.deepsearch-container .quick-card, .deepsearch-container #sub-categories {
  background: var(--ro11-card) !important; color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important; border-radius: 11px !important;
}
.deepsearch-container .quick-card > div:first-child { color: var(--ro11-terra) !important; }
.deepsearch-container .quick-card > div:last-child, .deepsearch-container #sub-category-title { color: var(--ro11-ink-soft) !important; }
.deepsearch-container .grok-search-container {
  bottom: max(18px, env(safe-area-inset-bottom)) !important; width: min(calc(100% - 32px), 780px) !important;
  background: transparent !important; padding: 0 !important; box-shadow: none !important;
}
.deepsearch-container .grok-search-container > div {
  background: var(--ro11-card) !important; border: 1px solid var(--ro11-line) !important;
  border-radius: 14px !important; box-shadow: 0 12px 30px rgba(32,58,50,.14) !important;
}
.deepsearch-container #search-input { color: var(--ro11-ink) !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.deepsearch-container #search-btn { width: 48px !important; min-width: 48px !important; background: var(--ro11-action) !important; border-radius: 10px !important; }
.deepsearch-container #results-section { color: var(--ro11-ink) !important; padding-bottom: 115px !important; }
.deepsearch-container #results-section h1, .deepsearch-container #results-section h2, .deepsearch-container #results-section h3 { color: var(--ro11-ink) !important; font-family: 'Barlow Condensed',sans-serif !important; }
.deepsearch-container #results-section a { color: var(--ro11-terra) !important; }
.deepsearch-container #results-section .grok-results > div:nth-child(1),
.deepsearch-container #results-section .grok-results > div:nth-child(2),
.deepsearch-container #results-section .grok-results > div:last-child,
.deepsearch-container #results-section .grok-results a {
  background: var(--ro11-card) !important; border-color: var(--ro11-line) !important; border-radius: 12px !important;
}
.deepsearch-container #results-section .grok-results > div:nth-child(1) div:first-child,
.deepsearch-container #results-section .grok-results > div:nth-child(1) div:last-child,
.deepsearch-container #results-section .grok-results > div:nth-child(2) div,
.deepsearch-container #results-section .grok-results > div:last-child h4 { color: var(--ro11-ink) !important; }
.deepsearch-container #results-section .grok-results a div { color: var(--ro11-ink-soft) !important; }
.deepsearch-container #results-section .grok-results a div:first-child { color: var(--ro11-terra) !important; }
.deepsearch-container #results-section .followup-btn { background: #e9ebe2 !important; color: var(--ro11-ink) !important; border: 1px solid var(--ro11-line) !important; border-radius: 20px !important; }
.deepsearch-container #results-section h3 { border-color: var(--ro11-line) !important; }
.deepsearch-container #loading-indicator { color: var(--ro11-ink-soft) !important; }

/* Login: split poster / credential panel, arranged around the existing login-only flow */
.login-container.login-page {
  display: grid !important;
  grid-template-columns: minmax(260px, .82fr) minmax(380px, 1fr);
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(42px, 8vw, 112px);
  width: min(1180px, 100%) !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  padding: 42px clamp(24px, 6vw, 84px) 74px !important;
  background:
    radial-gradient(ellipse at 8% 16%, rgba(189,78,55,.11), transparent 28%),
    radial-gradient(ellipse at 90% 88%, rgba(32,58,50,.08), transparent 32%),
    var(--ro11-paper) !important;
}
.login-visual {
  min-height: 480px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: center;
  justify-items: center;
  color: var(--ro11-ink);
}
.login-visual-kicker {
  width: 100%;
  align-self: start;
  color: var(--ro11-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.6;
  text-transform: uppercase;
}
.login-mark {
  width: min(100%, 420px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: var(--ro11-ink);
  animation: login-mark-arrive .9s cubic-bezier(.2,.8,.2,1) both;
}
.login-mark svg { display: block; width: 100%; height: 100%; overflow: visible; }
.login-visual-rule {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, var(--ro11-terra), var(--ro11-line) 72%, transparent);
}
.login-panel {
  position: relative;
  max-width: 490px !important;
  margin: 0 !important;
  padding: clamp(30px, 4vw, 50px) !important;
  text-align: left !important;
  border-radius: 14px !important;
  box-shadow: 0 26px 70px rgba(32,58,50,.12), 0 2px 6px rgba(32,58,50,.04) !important;
}
.login-brand-title {
  margin: 0 0 6px !important;
  color: var(--ro11-ink) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(48px, 6vw, 76px) !important;
  font-weight: 800 !important;
  letter-spacing: .025em !important;
  line-height: .94 !important;
}
.login-tagline {
  margin: 0 0 30px !important;
  color: var(--ro11-ink-soft) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
}
.login-panel > div:not([id]) { color: var(--ro11-muted) !important; }
.login-panel button:not(#toggle-password) {
  width: 100% !important;
  min-height: 52px !important;
  background: var(--ro11-action) !important;
  color: var(--ro11-action-text) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.login-panel #gmail-login-btn {
  background: var(--ro11-card-raised) !important;
  color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important;
}
.login-panel #traditional-login-btn { background: var(--ro11-terra) !important; color: #fff8eb !important; }
.login-panel #traditional-login-btn:hover { background: var(--ro11-terra-deep) !important; }
.login-panel input { min-height: 50px !important; }
.login-panel input:focus { border-color: var(--ro11-terra) !important; box-shadow: 0 0 0 3px rgba(189,78,55,.12) !important; }
.login-divider { color: var(--ro11-muted) !important; }
.login-divider > div:first-child { background: var(--ro11-line) !important; }
.login-divider span { background: var(--ro11-card) !important; }
.login-panel > div:last-child a { color: var(--ro11-terra) !important; }
.login-message:empty { display: none; }
@keyframes login-mark-arrive { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.login-card {
  max-width: min(470px, calc(100vw - 32px)) !important; margin: auto !important;
  padding: clamp(24px,5vw,44px) !important; background: var(--ro11-card) !important;
  border: 1px solid var(--ro11-line); border-radius: 17px; box-shadow: 0 20px 55px rgba(32,58,50,.1);
}
.login-card h1 { color: var(--ro11-ink) !important; font-family: 'Barlow Condensed',sans-serif !important; text-shadow: none !important; letter-spacing: .035em !important; }
.login-card p, .login-card label, .login-card div { font-family: 'DM Sans',sans-serif !important; }
.login-card button:not(#toggle-password) { width: 100% !important; background: var(--ro11-action) !important; color: var(--ro11-action-text) !important; border-radius: 9px !important; box-shadow: none !important; }
.login-card #gmail-login-btn { background: var(--ro11-card-raised) !important; color: var(--ro11-ink) !important; border: 1px solid var(--ro11-line) !important; }
.login-card #toggle-password { color: var(--ro11-ink-soft) !important; }

/* Specific controls override legacy inline styling without changing their state. */
.login-panel #traditional-login-btn.login-action {
  background: var(--ro11-terra) !important;
  color: #fff8eb !important;
}
.login-panel #gmail-login-btn.login-action {
  background: var(--ro11-card-raised) !important;
  color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important;
}
.deepsearch-container .grok-header span {
  color: var(--ro11-ink) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 25px !important;
  letter-spacing: .035em !important;
  text-shadow: none !important;
}
.research-category-icon { color: var(--ro11-terra); margin-bottom: 8px; }
.research-category-icon svg { display: inline-block; }
.journal-container > header > div:empty,
.weightbite-container > header > div:empty { display: none !important; }
.weightbite-container .unit-toggle {
  color: var(--ro11-ink-soft) !important;
  text-shadow: none !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
}
.futuristic-toggle-container:has(.toggle-slider[style*="left: 6px"]) #unit-lbs,
.futuristic-toggle-container:has(.toggle-slider[style*="left: calc"]) #unit-kg {
  color: var(--ro11-action-text) !important;
}
* { scrollbar-color: var(--ro11-line) var(--ro11-paper); scrollbar-width: thin; }
::-webkit-scrollbar-thumb { background: var(--ro11-line) !important; border-radius: 10px; }
::-webkit-scrollbar-track { background: var(--ro11-paper) !important; }
#error-container > div { color: #943f31 !important; background: #f8e9e3 !important; border-color: #e6bdb0 !important; }
#success-container > div { color: #29473d !important; background: #e6eee6 !important; border-color: #c3d3c4 !important; }

/* Popovers and modal surfaces */
.terms-modal-overlay { background: rgba(19,32,27,.68) !important; backdrop-filter: blur(8px) !important; }
.terms-modal-content {
  background: var(--ro11-card) !important; color: var(--ro11-ink) !important;
  border: 1px solid var(--ro11-line) !important; border-radius: 17px !important;
  box-shadow: 0 25px 75px rgba(17,33,26,.28) !important; font-family: 'DM Sans',sans-serif !important;
}
.terms-modal-content > div:first-child, .terms-modal-content > div:last-child { background: var(--ro11-card) !important; border-color: var(--ro11-line) !important; }
.terms-modal-content .terms-modal-header, .terms-modal-content .terms-modal-footer { background: var(--ro11-card) !important; border-color: var(--ro11-line) !important; }
.terms-modal-content .terms-modal-body { color: var(--ro11-ink-soft) !important; scrollbar-color: var(--ro11-terra) var(--ro11-card); }
.terms-modal-content h2, .terms-modal-content h3 { color: var(--ro11-ink) !important; text-shadow: none !important; font-family: 'Barlow Condensed',sans-serif !important; }
.terms-modal-content p, .terms-modal-content div:nth-child(2) { color: var(--ro11-ink-soft) !important; }
.terms-modal-content button { width: auto !important; border-radius: 8px !important; font-family: 'DM Sans',sans-serif !important; }
.terms-modal-content > div:last-child button:first-child { color: var(--ro11-ink-soft) !important; border-color: var(--ro11-line) !important; background: transparent !important; }
.terms-modal-content > div:last-child button:last-child { color: var(--ro11-action-text) !important; background: var(--ro11-action) !important; box-shadow: none !important; }
.terms-modal-content .terms-modal-cancel { color: var(--ro11-ink-soft) !important; border-color: var(--ro11-line) !important; background: transparent !important; }
.terms-modal-content .terms-modal-accept { color: var(--ro11-action-text) !important; background: var(--ro11-action) !important; }
.onboarding-tooltip { background: var(--ro11-card) !important; color: var(--ro11-ink) !important; border: 1px solid var(--ro11-line) !important; box-shadow: 0 20px 60px rgba(17,33,26,.3) !important; font-family: 'DM Sans',sans-serif !important; }
.onboarding-tooltip .onboarding-title { color: var(--ro11-terra) !important; font-family: 'Barlow Condensed',sans-serif !important; letter-spacing: .04em; }
.onboarding-tooltip .onboarding-copy { color: var(--ro11-ink-soft) !important; line-height: 1.55; }
.onboarding-tooltip > div:last-child button:last-child { background: var(--ro11-action) !important; color: var(--ro11-action-text) !important; box-shadow: none !important; }
.onboarding-tooltip > div:last-child button:first-child { background: transparent !important; color: var(--ro11-ink-soft) !important; border-color: var(--ro11-line) !important; }
.onboarding-tooltip .onboarding-next { background: var(--ro11-action) !important; color: var(--ro11-action-text) !important; }
.onboarding-tooltip .onboarding-skip { background: transparent !important; color: var(--ro11-ink-soft) !important; border-color: var(--ro11-line) !important; }
.onboarding-tooltip button { border-radius: 8px !important; font-family: 'DM Sans',sans-serif !important; }

@media (max-width: 767px) {
  .journal-container > header, .weightbite-container > header { padding: 18px 16px 21px !important; border-radius: 0 0 18px 18px !important; }
  .journal-container main, .weightbite-container > div[style*="max-width: 1200px"] { padding: 20px 14px 70px !important; }
  .fasting-container main { padding: 22px 14px 76px !important; }
  .fasting-container #fasting-timer { padding: 22px 16px !important; }
  .fasting-container main > div[style*="width: clamp(280px"] { width: min(78vw, 290px) !important; height: min(78vw, 290px) !important; }
  .deepsearch-container .grok-header { padding: 10px 14px !important; }
  .deepsearch-container .grok-main { padding: 0 14px !important; }
  .login-container.login-page {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 52px 18px 82px !important;
  }
  .login-visual {
    min-height: 0;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    justify-items: start;
    gap: 8px;
  }
  .login-visual-kicker { align-self: center; font-size: 10px; letter-spacing: .16em; }
  .login-mark { width: 106px; grid-column: 2; grid-row: 1; }
  .login-visual-rule { display: none; }
  .login-card { width: min(100%, 520px) !important; max-width: 520px !important; padding: 24px 19px !important; }
  .login-brand-title { font-size: clamp(46px, 13vw, 62px) !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}