/* Shared ClarityCompass-style overrides for all tools pages */
body.home-page.tool-suite {
  --tool-blue: #3563ff;
  --tool-green: #18b56a;
  --tool-ink: #13233f;
  --tool-text: #151923;
  --tool-muted: #5e6d84;
  --tool-line: #dbe4f1;
  --tool-surface: #f2f2f2;
  --tool-surface-soft: #f7faff;
  --tool-shadow: 0 18px 42px rgba(15, 29, 58, 0.06);
  background: #f2f2f2 !important;
  color: var(--tool-text);
  font-family: "Poppins", sans-serif;
}

body.home-page.tool-suite,
body.home-page.tool-suite main,
body.home-page.tool-suite .site-frame,
body.home-page.tool-suite .tool-page {
  background: #f2f2f2 !important;
}

body.home-page.tool-suite .site-frame {
  border-color: var(--tool-line);
  box-shadow: 0 24px 80px rgba(10, 20, 44, 0.08);
}

body.home-page.tool-suite .topbar {
  background: #f2f2f2 !important;
  border-bottom: 1px solid var(--tool-line);
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-nav {
  position: sticky;
  top: 16px;
  z-index: 20;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-face {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  justify-self: start !important;
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-logo {
  font-size: clamp(1.35rem, 1.8vw, 1.9rem) !important;
  letter-spacing: -0.04em !important;
  color: var(--tool-ink) !important;
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-links,
body.home-page:is(.tool-suite, .tool-harbour) .watch-controls {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-links {
  flex: 0 1 auto !important;
  flex-wrap: wrap !important;
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-controls {
  width: auto !important;
  flex: 0 0 auto !important;
  margin-left: 0 !important;
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-link,
body.home-page:is(.tool-suite, .tool-harbour) .watch-control {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 4px solid #f2f2f2 !important;
  background: #f2f2f2 !important;
  color: var(--tool-ink) !important;
  box-shadow:
    4px 4px 10px rgba(165, 165, 165, 0.28),
    -4px -4px 10px rgba(242, 242, 242, 0.9) !important;
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-link:hover,
body.home-page:is(.tool-suite, .tool-harbour) .watch-link:focus-visible,
body.home-page:is(.tool-suite, .tool-harbour) .watch-control:hover,
body.home-page:is(.tool-suite, .tool-harbour) .watch-control:focus-visible {
  box-shadow:
    6px 6px 12px rgba(165, 165, 165, 0.24),
    -6px -6px 12px rgba(242, 242, 242, 0.95) !important;
}

body.home-page:is(.tool-suite, .tool-harbour) .watch-control--theme,
body.home-page:is(.tool-suite, .tool-harbour) .watch-control--calendar {
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  justify-content: center !important;
}

@media (max-width: 1100px) {
  body.home-page:is(.tool-suite, .tool-harbour) .watch-nav {
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body.home-page:is(.tool-suite, .tool-harbour) .watch-face {
    margin: 0 auto !important;
  }

  body.home-page:is(.tool-suite, .tool-harbour) .watch-links {
    width: min(100%, 720px) !important;
    justify-content: center !important;
  }

  body.home-page:is(.tool-suite, .tool-harbour) .watch-controls {
    justify-content: center !important;
  }
}

@media (max-width: 560px) {
  body.home-page:is(.tool-suite, .tool-harbour) .watch-nav {
    gap: 8px !important;
  }

  body.home-page:is(.tool-suite, .tool-harbour) .watch-face {
    width: 72px !important;
    height: 72px !important;
  }

  body.home-page:is(.tool-suite, .tool-harbour) .watch-logo {
    font-size: 1.25rem !important;
  }

  body.home-page:is(.tool-suite, .tool-harbour) .watch-links {
    width: 100% !important;
    padding: 10px !important;
  }

  body.home-page:is(.tool-suite, .tool-harbour) .watch-control {
    padding: 9px 12px !important;
  }

  body.home-page:is(.tool-suite, .tool-harbour) .watch-control--theme,
  body.home-page:is(.tool-suite, .tool-harbour) .watch-control--calendar {
    width: 40px !important;
    min-width: 40px !important;
  }
}

body.home-page.tool-suite .brand,
body.home-page.tool-suite .footer-brand h3 {
  color: var(--tool-ink);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  letter-spacing: -0.05em;
  text-transform: lowercase;
}

body.home-page.tool-suite .main-nav a {
  color: #6c7a92;
  font-family: "Inter", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.home-page.tool-suite .main-nav a.active,
body.home-page.tool-suite .main-nav a:hover {
  color: var(--tool-blue);
}

body.home-page.tool-suite .menu-toggle {
  background: #f2f2f2;
  border-color: var(--tool-blue);
  color: var(--tool-blue);
  box-shadow: 0 10px 20px rgba(53, 99, 255, 0.08);
}

body.home-page.tool-suite .tool-page {
  color: var(--tool-text);
  padding: 40px 20px 30px;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) {
  background: #f2f2f2 !important;
  color: var(--tool-text) !important;
  font-family: "Inter", sans-serif !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(p, span, small, li, label, input, select, textarea, button) {
  font-family: "Inter", sans-serif !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(h1, h2, h3, h4, .page-title, .dashboard-title, .results-card h3, .panel-card h2, .panel-card h3, .tax-card-header h3, .stats-card h3) {
  color: var(--tool-ink) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.06em !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.page-title, .dashboard-title, .timer-display, .score-display, .stat-number, .quick-stat-value, .stat-value) {
  color: var(--tool-blue) !important;
  font-family: "Poppins", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.06em !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.page-desc, .section-subtitle, .copy-body, .lead, .modal-copy, .modal-body p, .tax-note, .results-subtitle, .investment-limit, .score-label, .tip-text, .empty-msg, .small-note, .form-label, .tax-label, .card-label, .stat-label, .quick-stat-label, .xp-stat-label) {
  color: var(--tool-muted) !important;
  font-family: "Inter", sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.75 !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.page-tag, .page-kicker, .section-kicker, .hr-eyebrow) {
  color: var(--tool-muted) !important;
  font-family: "Inter", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

body.home-page.tool-suite .container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

body.home-page.tool-suite .page-header {
  margin-bottom: 18px;
}

body.home-page.tool-suite :is(.page-tag, .page-kicker, .section-kicker, .hr-eyebrow, .small-note, .card-label, .form-label, .tax-label) {
  color: var(--tool-muted);
  font-family: "Inter", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.home-page.tool-suite :is(.page-title, .page-header h1, .page-header h2, .tool-page h1, .tool-page .score-display, .hr-title, .hr-section-head h2) {
  color: var(--tool-ink);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  letter-spacing: -0.08em;
  line-height: 1.02;
  text-transform: uppercase;
}

body.home-page.tool-suite :is(.page-title, .tool-page h1, .hr-title) {
  font-size: clamp(2.6rem, 5.2vw, 4.2rem);
}

body.home-page.tool-suite :is(.tool-page h2, .tool-page h3, .tool-page h4, .hr-card h3, .hr-side-card h3, .hr-footer-main h3, .hr-footer-main h4) {
  color: var(--tool-ink);
  font-family: "Poppins", sans-serif;
  font-size: 1.16rem;
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 1.2;
}

body.home-page.tool-suite :is(.page-desc, .section-subtitle, .copy-body, .lead, .modal-copy, .modal-body p, .hr-lead, .hr-section-head p, .hr-card p, .hr-copy, .tax-note, .results-subtitle, .investment-limit, .score-label, .tip-text, .empty-msg) {
  color: var(--tool-muted);
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  line-height: 1.75;
}

body.home-page.tool-suite :is(.card, .panel, .box, .module, .widget, .content-card, .result-card, .summary-card, .stats-card, .tool-card, .feature-card, .upload-card, .control-card, .info-card, .tip-card, .preview-panel, .option-block, .modal-content, .modal-panel, .section-card, .harbour-card, .harbour-view, .weekly-review-banner, .empty-harbour, .hr-hero-main, .hr-hero-side, .hr-side-card, .hr-card, .hr-tool-card, .setup-card, .tax-card, .panel-card, .mood-card, .results-card, .privacy-card, .instructions-panel, .suggestions-panel, .guide-section, .validation-bar, .scenarios-bar) {
  border: 1px solid var(--tool-line);
  border-radius: 24px;
  background: var(--tool-surface);
  box-shadow: var(--tool-shadow);
}

body.home-page.tool-suite :is(
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-outline,
  .btn-ghost,
  .btn-dark,
  .btn-light,
  .btn-success,
  .primary-btn,
  .action-btn,
  .mode-btn,
  .review-btn,
  .quick-action-btn,
  .sound-btn,
  .filter-btn,
  .status-btn,
  .category-btn,
  .category-tab,
  .day-tab,
  .carousel-btn,
  .tax-toggle-btn,
  .tax-calculate-btn,
  .export-btn,
  .topbar-btn,
  .close-modal-btn,
  .close-review,
  .btn-icon,
  .calendar-nav-btn,
  .calendar-shift-btn
) {
  border: 0;
  border-radius: 12px;
  background: #f2f2f2;
  color: #111111;
  font-family: "Poppins", sans-serif;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 4px 4px 10px rgba(165, 165, 165, 0.18), -4px -4px 10px rgba(242, 242, 242, 0.92);
}

body.home-page.tool-suite :is(.btn-primary, .primary-btn, .btn-dark, .btn-success, .action-btn, .review-btn, .topbar-btn, .tax-calculate-btn, .mode-btn.active, .category-btn.active, .category-tab.active, .day-tab.active, .quick-action-btn.active, .sound-btn.active, .filter-btn.active, .status-btn.active, .btn-icon.active, .calendar-nav-btn) {
  background: #3563ff !important;
  border-color: #3563ff !important;
  color: #f2f2f2 !important;
  box-shadow: 4px 4px 10px rgba(53, 99, 255, 0.18), -4px -4px 10px rgba(242, 242, 242, 0.92);
}

body.home-page.tool-suite :is(.btn-secondary, .btn-outline, .btn-light, .btn-ghost, .mode-btn, .quick-action-btn, .sound-btn, .filter-btn, .status-btn, .category-btn, .category-tab, .day-tab, .carousel-btn, .tax-toggle-btn, .btn-icon, .calendar-shift-btn) {
  background: #18b56a !important;
  border-color: #18b56a !important;
  color: #f2f2f2 !important;
  box-shadow: 4px 4px 10px rgba(24, 181, 106, 0.18), -4px -4px 10px rgba(242, 242, 242, 0.92);
}

body.home-page.tool-suite :is(.btn-secondary, .btn-outline, .btn-light, .btn-ghost, .close-modal-btn, .close-review) {
  background: #18b56a !important;
  border-color: #18b56a !important;
  color: #f2f2f2 !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.btn, .btn-primary, .btn-secondary, .btn-outline, .btn-ghost, .btn-dark, .btn-light, .btn-success, .primary-btn, .action-btn, .mode-btn, .review-btn, .quick-action-btn, .sound-btn, .filter-btn, .status-btn, .category-btn, .category-tab, .day-tab, .carousel-btn, .tax-toggle-btn, .tax-calculate-btn, .export-btn, .topbar-btn, .close-modal-btn, .close-review, .btn-icon, .calendar-nav-btn, .calendar-shift-btn, .path-btn) {
  min-height: 44px;
  padding: 0.72rem 1rem;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.btn-primary, .primary-btn, .btn-dark, .btn-success, .action-btn, .review-btn, .topbar-btn, .tax-calculate-btn, .btn-icon.active, .calendar-nav-btn) {
  background: #3563ff !important;
  border-color: #3563ff !important;
  color: #f2f2f2 !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.btn-secondary, .btn-outline, .btn-light, .btn-ghost, .mode-btn, .quick-action-btn, .sound-btn, .filter-btn, .status-btn, .category-btn, .category-tab, .day-tab, .carousel-btn, .tax-toggle-btn, .btn-icon, .calendar-shift-btn, .path-btn) {
  background: #18b56a !important;
  border-color: #18b56a !important;
  color: #f2f2f2 !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.btn-ghost, .close-modal-btn, .close-review) {
  background: #18b56a !important;
  border-color: #18b56a !important;
  color: #f2f2f2 !important;
}

body.home-page.tool-suite :is(input[type="text"], input[type="number"], input[type="email"], input[type="date"], input[type="time"], select, textarea, .form-input, .tax-input, .search-input, .path-dropdown, #blockSiteInput) {
  border: 1px solid var(--tool-line);
  border-radius: 18px;
  background: #f2f2f2;
  color: var(--tool-text);
  font-family: "Inter", sans-serif;
  font-size: 0.95rem;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(input[type="text"], input[type="number"], input[type="email"], input[type="date"], input[type="time"], select, textarea, .form-input, .tax-input, .search-input, .path-dropdown, #blockSiteInput) {
  border: 1px solid var(--tool-line) !important;
  border-radius: 18px !important;
  background: #f2f2f2 !important;
  color: var(--tool-text) !important;
  font-family: "Inter", sans-serif !important;
  font-size: 0.95rem !important;
}

body.home-page.tool-suite :is(input[type="text"], input[type="number"], input[type="email"], input[type="date"], input[type="time"], select) {
  min-height: 52px;
}

body.home-page.tool-suite :is(input[type="text"], input[type="number"], input[type="email"], input[type="date"], input[type="time"], select, textarea):focus {
  border-color: var(--tool-blue);
  box-shadow: 0 0 0 3px rgba(53, 99, 255, 0.12);
}

body.home-page.tool-suite :is(.progress-bar, .xp-bar-track, .score-bar-track, .calendar-day-empty) {
  background: var(--tool-surface-soft);
}

body.home-page.tool-suite :is(.progress-fill, .xp-bar-fill, .score-bar-fill, .score-ring-fill) {
  background: linear-gradient(90deg, rgba(53, 99, 255, 0.25), rgba(24, 181, 106, 0.25));
}

body.home-page.tool-suite .footer-main,
body.home-page.tool-suite .footer-meta {
  border-color: var(--tool-line);
}

body.home-page.tool-suite .footer-brand p,
body.home-page.tool-suite .footer-meta,
body.home-page.tool-suite .site-footer p,
body.home-page.tool-suite .site-footer a {
  color: #6c7a92;
}

body.home-page.tool-suite .tool-page .page-desc,
body.home-page.tool-suite .tool-page .section-subtitle {
  max-width: 64ch;
}

body.home-page.tool-suite .tool-page :is(.stat-value, .stat-number, .quick-stat-value, .score-display, .xp-stat-val) {
  color: var(--tool-blue);
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 1;
}

body.home-page.tool-suite :is(.stat-label, .quick-stat-label, .xp-stat-label) {
  color: var(--tool-muted);
  font-family: "Inter", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.home-page.tool-suite .tool-page :is(.setup-fields-grid, .tax-form-row, .tax-grid, .harbour-grid, .tool-grid, .detox-layout, .stats-grid, .mood-grid, .options-grid, .quick-actions, .sound-controls, .action-bar, .btn-row, .timer-controls, .category-buttons, .mode-buttons, .investment-container) {
  gap: 16px;
}

body.home-page.tool-suite .tool-page :is(.setup-field, .tax-form-group, .form-group) {
  display: grid;
  gap: 8px;
}

body.home-page.tool-suite .tool-page :is(.modal, .modal-shell, .calendar-modal) {
  backdrop-filter: blur(10px);
}

body.home-page.tool-suite .tool-page :is(.modal-content, .modal-panel, .calendar-modal-dialog) {
  border-radius: 28px;
}

body.home-page.tool-suite .tool-page :is(.calendar-modal, .modal-shell) {
  background: rgba(10, 20, 44, 0.42);
}

body.home-page.tool-suite .tool-page :is(.calendar-modal-dialog) {
  background: #f2f2f2;
  border: 1px solid var(--tool-line);
  box-shadow: 0 28px 80px rgba(10, 20, 44, 0.12);
}

body.home-page.tool-suite .tool-page :is(.calendar-month-head h3, .calendar-month-empty, .calendar-month-holidays strong, .calendar-month-holidays span, .calendar-weekdays span, .calendar-day-number) {
  font-family: "Inter", sans-serif;
}

body.home-page.tool-suite .tool-page :is(.calendar-weekdays span, .calendar-month-empty, .calendar-month-holidays strong, .calendar-month-holidays span) {
  color: var(--tool-muted);
}

body.home-page.tool-suite .tool-page :is(.calendar-day, .calendar-day-empty) {
  border-color: var(--tool-line);
}

body.home-page.tool-suite .tool-page :is(.calendar-day.is-today, .calendar-day.is-selectable.is-selected) {
  border-color: var(--tool-blue);
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.card, .panel, .box, .module, .widget, .content-card, .result-card, .summary-card, .stats-card, .tool-card, .feature-card, .upload-card, .control-card, .info-card, .tip-card, .preview-panel, .option-block, .modal-content, .modal-panel, .section-card, .harbour-card, .harbour-view, .weekly-review-banner, .empty-harbour, .hr-hero-main, .hr-hero-side, .hr-side-card, .hr-card, .hr-tool-card, .setup-card, .tax-card, .panel-card, .mood-card, .results-card, .privacy-card, .instructions-panel, .suggestions-panel, .guide-section, .validation-bar, .scenarios-bar) {
  border: 1px solid var(--tool-line) !important;
  border-radius: 24px !important;
  background: #f2f2f2 !important;
  box-shadow: var(--tool-shadow) !important;
}

body.home-page.tool-suite :is(.btn-primary, .primary-btn, .btn-dark, .btn-success, .action-btn, .review-btn, .topbar-btn, .tax-calculate-btn, .btn-secondary, .btn-outline, .btn-light, .btn-ghost, .mode-btn, .quick-action-btn, .sound-btn, .filter-btn, .status-btn, .category-btn, .category-tab, .day-tab, .carousel-btn, .tax-toggle-btn, .btn-icon, .calendar-nav-btn, .calendar-shift-btn, .path-btn):hover {
  background: #f2f2f2 !important;
  border-color: var(--tool-blue) !important;
  color: var(--tool-blue) !important;
}

body.home-page.tool-suite :is(.ats-main, .detox-main, .habit-main, .tool-section, .detox-container, .tax-calculator) :is(.action-bar, .action-buttons, .btn-row, .timer-controls, .quick-actions, .sound-controls, .mode-buttons, .category-buttons, .goal-grid, .filter-buttons, .status-filters, .category-tabs-modern, .stats-grid, .quick-stats-grid, .overall-stats-grid, .instructions-content, .suggestions-content, .plan-section, .harbour-grid, .setup-fields-grid, .tax-grid, .tool-grid, .detox-layout, .dashboard-grid) {
  gap: 16px !important;
}

body.home-page.tool-suite.tool-mood,
body.home-page.tool-suite.tool-mood .tool-page {
  background: #f2f2f2 !important;
  color: var(--tool-text) !important;
  font-family: "Inter", sans-serif !important;
}

body.home-page.tool-suite.tool-mood .tool-grid {
  gap: 18px !important;
}

body.home-page.tool-suite.tool-mood :is(.card, .stats-card, .tips-card, .privacy-card) {
  background: #f2f2f2 !important;
  border: 1px solid var(--tool-line) !important;
  box-shadow: var(--tool-shadow) !important;
}

body.home-page.tool-suite.tool-mood :is(.card-header, .stats-header, .tips-header) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

body.home-page.tool-suite.tool-mood :is(.card-header h2, .stats-header h3, .tips-header h3) {
  margin: 0;
  color: var(--tool-ink);
  font-family: "Poppins", sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 1.1;
}

body.home-page.tool-suite.tool-mood .badge {
  border: 1px solid var(--tool-line);
  border-radius: 999px;
  background: #f2f2f2;
  color: var(--tool-blue);
  font-family: "Inter", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

body.home-page.tool-suite.tool-mood .mood-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}

body.home-page.tool-suite.tool-mood .mood-option,
body.home-page.tool-suite.tool-mood .feedback-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border: 1px solid var(--tool-blue) !important;
  border-radius: 16px;
  background: #f2f2f2 !important;
  color: var(--tool-blue) !important;
  font-family: "Inter", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 20px rgba(53, 99, 255, 0.06);
}

body.home-page.tool-suite.tool-mood .mood-option i,
body.home-page.tool-suite.tool-mood .feedback-btn,
body.home-page.tool-suite.tool-mood .tips-header i,
body.home-page.tool-suite.tool-mood .privacy-card i,
body.home-page.tool-suite.tool-mood .stats-header i,
body.home-page.tool-suite.tool-mood .card-header i {
  color: var(--tool-blue);
}

body.home-page.tool-suite.tool-mood .mood-option:hover,
body.home-page.tool-suite.tool-mood .mood-option.is-selected,
body.home-page.tool-suite.tool-mood .mood-option.selected,
body.home-page.tool-suite.tool-mood .feedback-btn:hover,
body.home-page.tool-suite.tool-mood .feedback-btn.is-selected,
body.home-page.tool-suite.tool-mood .feedback-btn.selected {
  border-color: var(--tool-green) !important;
  color: var(--tool-green) !important;
  background: #f2f2f2 !important;
  box-shadow: 0 0 0 1px rgba(24, 181, 106, 0.12), 0 10px 24px rgba(24, 181, 106, 0.08);
}

body.home-page.tool-suite.tool-mood .mood-option span,
body.home-page.tool-suite.tool-mood .feedback-btn {
  font-family: "Inter", sans-serif;
}

body.home-page.tool-suite.tool-mood .mood-option i {
  font-size: 0.95rem;
}

body.home-page.tool-suite.tool-mood .feedback-buttons {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

body.home-page.tool-suite.tool-mood .option-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 120px;
  padding: 16px;
  border: 1px solid var(--tool-line);
  border-radius: 20px;
  background: #f2f2f2;
  box-shadow: var(--tool-shadow);
}

body.home-page.tool-suite.tool-mood .option-card.selected {
  border-color: var(--tool-blue);
  box-shadow: 0 0 0 1px rgba(53, 99, 255, 0.12), 0 12px 26px rgba(53, 99, 255, 0.08);
}

body.home-page.tool-suite.tool-mood .option-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--tool-blue);
  border-radius: 14px;
  color: var(--tool-blue);
  background: #f2f2f2;
}

body.home-page.tool-suite.tool-mood .option-title {
  color: var(--tool-ink);
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.1;
}

body.home-page.tool-suite.tool-mood .option-desc {
  color: var(--tool-muted);
  font-family: "Inter", sans-serif;
  font-size: 0.9rem;
  line-height: 1.5;
}

body.home-page.tool-suite.tool-mood .method-content {
  display: grid;
  gap: 12px;
}

body.home-page.tool-suite.tool-mood .method-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 1px solid var(--tool-blue);
  border-radius: 18px;
  background: #f2f2f2;
  color: var(--tool-blue);
}

body.home-page.tool-suite.tool-mood .method-name {
  margin: 0;
  color: var(--tool-ink);
  font-family: "Poppins", sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.05em;
}

body.home-page.tool-suite.tool-mood .method-category {
  color: var(--tool-green);
  font-family: "Inter", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.home-page.tool-suite.tool-mood .method-description,
body.home-page.tool-suite.tool-mood .method-details,
body.home-page.tool-suite.tool-mood .method-instructions,
body.home-page.tool-suite.tool-mood .method-instructions li {
  color: var(--tool-muted);
  font-family: "Inter", sans-serif;
}

body.home-page.tool-suite.tool-mood .method-details {
  display: grid;
  gap: 10px;
}

body.home-page.tool-suite.tool-mood .detail-item {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--tool-line);
  border-radius: 16px;
  background: #f2f2f2;
  padding: 10px 12px;
}

body.home-page.tool-suite.tool-mood .method-instructions h4 {
  color: var(--tool-ink);
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  font-weight: 800;
}

body.home-page.tool-suite.tool-mood .method-instructions ol,
body.home-page.tool-suite.tool-mood .method-instructions ul {
  margin: 0;
  padding-left: 20px;
}

body.home-page.tool-suite.tool-mood .method-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.home-page.tool-suite.tool-mood .mood-stats .stat-item,
body.home-page.tool-suite.tool-mood .week-streak,
body.home-page.tool-suite.tool-mood .tips-content,
body.home-page.tool-suite.tool-mood .privacy-text {
  background: #f2f2f2;
}

body.home-page.tool-suite.tool-mood .mood-stats .stat-item {
  border: 1px solid var(--tool-line);
  border-radius: 16px;
  padding: 12px;
}

body.home-page.tool-suite.tool-mood .mood-stats .stat-item.loading p,
body.home-page.tool-suite.tool-mood .tips-content,
body.home-page.tool-suite.tool-mood .privacy-text span,
body.home-page.tool-suite.tool-mood .privacy-text strong {
  color: var(--tool-muted);
  font-family: "Inter", sans-serif;
}

body.home-page.tool-suite.tool-mood .tips-card,
body.home-page.tool-suite.tool-mood .privacy-card {
  border-color: var(--tool-line);
}

body.home-page.tool-suite.tool-mood .tips-header {
  margin-bottom: 12px;
}

body.home-page.tool-suite.tool-mood .tips-content {
  border: 1px solid var(--tool-line);
  border-radius: 18px;
  padding: 14px;
  min-height: 96px;
}

body.home-page.tool-suite.tool-mood .privacy-card {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
}

body.home-page.tool-suite.tool-mood .privacy-card i {
  font-size: 1rem;
}

body.home-page.tool-suite.tool-mood .privacy-text {
  display: grid;
  gap: 4px;
}

body.home-page.tool-suite.tool-mood .privacy-text strong {
  font-size: 1rem;
  font-weight: 800;
}

body.home-page.tool-suite.tool-mood .privacy-text span {
  font-size: 0.92rem;
}

@media (max-width: 760px) {
  body.home-page.tool-suite .site-frame {
    width: min(100% - 20px, 1380px);
    border-radius: 24px;
  }

  body.home-page.tool-suite .topbar {
    grid-template-columns: auto auto;
    gap: 10px;
    padding: 14px;
  }

  body.home-page.tool-suite .main-nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  body.home-page.tool-suite .topbar-btn {
    grid-column: 1 / -1;
    justify-self: start;
  }

  body.home-page.tool-suite .tool-page {
    padding: 18px 14px 22px;
  }

  body.home-page.tool-suite :is(.page-title, .tool-page h1, .hr-title) {
    font-size: clamp(2.2rem, 12vw, 4rem);
  }
}

/* Typography mapping: regular text = Poppins, bold UI text = Inter. */
body.home-page.tool-suite,
body.home-page.tool-suite .tool-page,
body.home-page.tool-suite .site-frame,
body.home-page.tool-suite .tool-page :is(p, span, small, li, label, input, select, textarea, option, dd, dt, figcaption, blockquote, time, .page-desc, .section-subtitle, .copy-body, .lead, .modal-copy, .modal-body p, .tax-note, .results-subtitle, .investment-limit, .score-label, .tip-text, .empty-msg, .small-note, .form-label, .tax-label, .card-label, .stat-label, .quick-stat-label, .xp-stat-label, .method-description, .method-details, .method-instructions, .method-instructions li, .tips-content, .privacy-text span) {
  font-family: "Poppins", sans-serif !important;
}

body.home-page.tool-suite .tool-trust-note {
  margin: 0 0 24px;
  padding: 14px 16px;
  border: 1px solid #d8d8d8;
  border-radius: 16px;
  background: #f2f2f2;
  color: #000000;
  font-size: 0.88rem;
  line-height: 1.55;
}

body.home-page.tool-suite .tool-trust-note strong {
  color: #000000;
}

body.home-page.tool-suite .tool-onboarding,
body.home-page.tool-suite .tool-feedback {
  width: min(100%, 1320px);
  box-sizing: border-box;
  margin: 0 auto 24px;
  padding: 18px 20px;
  border: 1px solid #d8d8d8;
  border-radius: 20px;
  background: #f2f2f2;
  color: #000;
}

body.home-page.tool-suite .tool-onboarding summary {
  cursor: pointer;
  font-family: "Inter", sans-serif;
  font-weight: 700;
}

body.home-page.tool-suite .tool-feedback {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

body.home-page.tool-suite .tool-feedback h2,
body.home-page.tool-suite .tool-feedback p {
  margin: 0;
}

body.home-page.tool-suite .tool-feedback label {
  display: grid;
  gap: 6px;
}

body.home-page.tool-suite .tool-feedback textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #cfcfcf;
  border-radius: 14px;
  background: #fff;
  color: #000;
  font: inherit;
}

body.home-page.tool-suite .tool-rating {
  display: flex;
  gap: 8px;
}

body.home-page.tool-suite .tool-rating button {
  width: 38px;
  height: 38px;
  border: 1px solid #cfcfcf;
  border-radius: 50%;
  background: #fff;
  color: #000;
  cursor: pointer;
}

body.home-page.tool-suite .tool-rating button.is-selected {
  border-color: #000;
  background: #000;
  color: #fff;
}

body.home-page.tool-suite :is(h1, h2, h3, h4, h5, h6, strong, b, th, button, .brand, .footer-brand h3, .main-nav a, .menu-toggle, .topbar-btn, .page-title, .dashboard-title, .results-card h3, .panel-card h2, .panel-card h3, .tax-card-header h3, .stats-card h3, .stat-number, .quick-stat-value, .score-display, .timer-display, .badge, .pill, .chip, .tag, .button-label, .mood-option, .feedback-btn, .option-card, .option-title, .method-name, .method-category, .method-instructions h4, .privacy-text strong, .section-kicker, .page-kicker, .hr-eyebrow) {
  font-family: "Inter", sans-serif !important;
}

body.home-page.tool-suite,
body.home-page.tool-suite .site-frame,
body.home-page.tool-suite .tool-page {
  background: #f2f2f2 !important;
  color: #000000 !important;
}

body.home-page.tool-suite .site-frame *,
body.home-page.tool-suite .site-frame *::before,
body.home-page.tool-suite .site-frame *::after,
body.home-page.tool-suite .tool-page *,
body.home-page.tool-suite .tool-page *::before,
body.home-page.tool-suite .tool-page *::after {
  background: #f2f2f2 !important;
  background-image: none !important;
  color: #000000 !important;
  fill: #000000 !important;
  stroke: #000000 !important;
  border-color: #d9d9d9 !important;
  text-shadow: none !important;
  caret-color: #000000 !important;
}

body.home-page.tool-suite,
body.home-page.tool-harbour {
  font-family: "Poppins", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

body.home-page.tool-suite :is(h1, h2, h3, h4),
body.home-page.tool-harbour :is(h1, h2, h3, h4) {
  font-family: "Inter", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.05em !important;
}

body.home-page.tool-suite h1,
body.home-page.tool-harbour h1 {
  font-size: clamp(2.6rem, 5.2vw, 4.2rem) !important;
  line-height: 1.02 !important;
}

body.home-page.tool-suite h2,
body.home-page.tool-harbour h2 {
  font-size: clamp(2.05rem, 3.6vw, 3rem) !important;
  line-height: 1.08 !important;
}

body.home-page.tool-suite h3,
body.home-page.tool-harbour h3 {
  font-size: clamp(1.55rem, 2.5vw, 1.9rem) !important;
  line-height: 1.1 !important;
}

body.home-page.tool-suite h4,
body.home-page.tool-harbour h4 {
  font-size: clamp(1.2rem, 1.8vw, 1.35rem) !important;
  line-height: 1.15 !important;
}

body.home-page.tool-suite :is(.page-desc, .section-subtitle, .copy-body, .lead, .modal-copy, .modal-body p, .tax-note, .results-subtitle, .investment-limit, .score-label, .tip-text, .empty-msg, .small-note, .form-label, .tax-label, .card-label),
body.home-page.tool-harbour :is(.page-desc, .section-subtitle, .copy-body, .lead, .modal-copy, .modal-body p, .tax-note, .results-subtitle, .investment-limit, .score-label, .tip-text, .empty-msg, .small-note, .form-label, .tax-label, .card-label) {
  font-family: "Poppins", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

body.home-page.tool-suite :is(.page-tag, .page-kicker, .section-kicker, .hr-eyebrow, .small-note, .card-label, .form-label, .tax-label),
body.home-page.tool-harbour :is(.page-tag, .page-kicker, .section-kicker, .hr-eyebrow, .small-note, .card-label, .form-label, .tax-label) {
  font-family: "Poppins", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.home-page.tool-harbour .tool-page {
  padding: 56px 20px 28px !important;
}

body.home-page.tool-harbour .habit-main .page-header {
  margin-bottom: 12px !important;
}

body.home-page.tool-harbour .habit-main .page-title {
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.07em !important;
}

body.home-page.tool-harbour .habit-main .page-desc {
  max-width: 42rem !important;
}

body.home-page.tool-harbour .habit-main .harbour-grid {
  gap: 18px !important;
}

