/* Pulse: deep midnight environment lit by blue, cyan, violet, gold, and small atmospheric touches of magenta/green. */
[data-theme="pulse"] {
  --pulse-bg: #0b1020;
  --pulse-bg-secondary: #10182a;
  --pulse-surface-recessed: #0a0e1a;
  --pulse-surface: #151c30;
  --pulse-surface-raised: #1b2540;
  --pulse-surface-highest: #23305a;
  --pulse-text-primary: #f7faff;
  --pulse-text-secondary: #b7c3d8;
  --pulse-text-muted: #7d8aa3;
  --pulse-blue: #4da3ff;
  --pulse-blue-strong: #2f86e8;
  --pulse-cyan: #2ef2d0;
  --pulse-cyan-soft: #1fb9a0;
  --pulse-violet: #9b6cff;
  --pulse-violet-soft: #7a52d6;
  --pulse-magenta: #e66cff;
  --pulse-gold-ambient: #d9b85c;
  --pulse-gold-deep: #c9a227;
  --pulse-gold-reward: #ffd166;
  --pulse-success: #63f2a7;
  --pulse-alert: #ff6381;
  --pulse-border: rgba(77, 163, 255, 0.18);
  --pulse-chart-surface: #151c30;
  --pulse-chart-text: #f7faff;
  --pulse-chart-grid: rgba(155, 178, 224, 0.16);
  --pulse-shadow-small: 0 2px 6px rgba(0, 0, 0, 0.42), -1px -1px 0 rgba(255, 255, 255, 0.02) inset;
  --pulse-shadow-medium: 0 8px 22px rgba(0, 0, 0, 0.48), -1px -1px 0 rgba(255, 255, 255, 0.03) inset;
  --pulse-shadow-large: 0 18px 42px rgba(0, 0, 0, 0.54), -1px -1px 0 rgba(255, 255, 255, 0.04) inset;
  --pulse-inset-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --pulse-highlight: rgba(77, 163, 255, 0.12);
  --pulse-top-edge: inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --pulse-glow-blue: 0 0 0 3px rgba(77, 163, 255, 0.34), 0 0 26px rgba(77, 163, 255, 0.36);
  --pulse-glow-cyan: 0 0 0 3px rgba(46, 242, 208, 0.32), 0 0 26px rgba(46, 242, 208, 0.36);
  --pulse-glow-violet: 0 0 0 3px rgba(155, 108, 255, 0.32), 0 0 26px rgba(155, 108, 255, 0.36);
  --pulse-glow-gold: 0 0 0 3px rgba(255, 209, 102, 0.4), 0 0 28px rgba(255, 209, 102, 0.42);
  --pulse-glow-magenta: 0 0 0 3px rgba(230, 108, 255, 0.26), 0 0 22px rgba(230, 108, 255, 0.3);

  --bg: var(--pulse-bg);
  --bg-elev: var(--pulse-surface);
  --bg-glass: rgba(21, 28, 48, 0.92);
  --text: var(--pulse-text-primary);
  --text-soft: var(--pulse-text-secondary);
  --primary: var(--pulse-blue);
  --primary-strong: var(--pulse-blue-strong);
  --primary-soft: rgba(77, 163, 255, 0.2);
  --accent: var(--pulse-cyan);
  --accent-soft: rgba(46, 242, 208, 0.18);
  --urge-accent: var(--pulse-violet);
  --urge-accent-soft: rgba(155, 108, 255, 0.2);
  --avoidance-accent: var(--pulse-cyan);
  --avoidance-accent-soft: rgba(46, 242, 208, 0.18);
  --action-card-shadow: var(--pulse-shadow-medium);
  --action-card-border: rgba(155, 178, 224, 0.2);
  --border: var(--pulse-border);
  --chip: #182238;
  --danger: var(--pulse-alert);
  --warning-bg: rgba(217, 184, 92, 0.18);
  --warning-text: #ffe0a3;
  --shadow: var(--pulse-shadow-medium);
  --dropdown-bg: #182238;
  --dropdown-border: rgba(155, 178, 224, 0.28);
  --dropdown-text: var(--pulse-text-primary);
  --dropdown-focus-border: var(--pulse-blue);
  --dropdown-focus-shadow: 0 0 0 3px rgba(77, 163, 255, 0.24);

  /* Readability tokens used by shared text rules across non-home screens. */
  --read-text-main: #f0f3fb;
  --read-text-soft: #c7d0e2;
  --read-text-muted: #97a3ba;
  --read-control-text: #f0f3fb;
  --read-primary-button-text: #0a1220;
  --read-placeholder: var(--pulse-text-muted);
  --read-input-text: var(--pulse-text-primary);
  --modal-backdrop: rgba(4, 6, 10, 0.62);
}




/* Ambient background lighting: deep navy base, led mainly by blue/cyan/gold with violet/magenta kept as small accents. */
[data-theme="pulse"] body,
[data-theme="pulse"] .app-bg {
  background:
    radial-gradient(circle at 10% 6%, rgba(77, 163, 255, 0.38), rgba(77, 163, 255, 0) 38%),
    radial-gradient(circle at 90% 10%, rgba(155, 108, 255, 0.14), rgba(155, 108, 255, 0) 30%),
    radial-gradient(circle at 82% 46%, rgba(46, 242, 208, 0.28), rgba(46, 242, 208, 0) 36%),
    radial-gradient(circle at 8% 58%, rgba(230, 108, 255, 0.08), rgba(230, 108, 255, 0) 28%),
    radial-gradient(circle at 50% 88%, rgba(217, 184, 92, 0.26), rgba(217, 184, 92, 0) 40%),
    radial-gradient(circle at 94% 92%, rgba(99, 242, 167, 0.2), rgba(99, 242, 167, 0) 36%),
    linear-gradient(180deg, #0b1020 0%, #10182a 34%, #0a0e1a 68%, #0a0d18 100%);
}




[data-theme="pulse"] .topbar,
[data-theme="pulse"] .card,
[data-theme="pulse"] .chart-card,
[data-theme="pulse"] .summary-panel,
[data-theme="pulse"] .settings-block,
[data-theme="pulse"] .time-record-card,
[data-theme="pulse"] .optional-group,
[data-theme="pulse"] .history-item,
[data-theme="pulse"] .results-type-row,
[data-theme="pulse"] .filter-row,
[data-theme="pulse"] .chore-session-card,
[data-theme="pulse"] .chore-game-mode-card,
[data-theme="pulse"] .chore-game-mode-status,
[data-theme="pulse"] .chore-selection-summary,
[data-theme="pulse"] .chore-settings-card,
[data-theme="pulse"] .end-week-progress-card,
[data-theme="pulse"] .end-week-completion-state,
[data-theme="pulse"] .end-week-group-card,
[data-theme="pulse"] .motivation-modal-card,
[data-theme="pulse"] .hamburger-menu {
  background: linear-gradient(160deg, var(--pulse-surface-raised), var(--pulse-surface));
  border: 1px solid rgba(77, 163, 255, 0.28);
  box-shadow: var(--pulse-shadow-medium), var(--pulse-top-edge), 0 0 20px rgba(77, 163, 255, 0.08);
}




[data-theme="pulse"] .hamburger-item.active,
[data-theme="pulse"] .results-type-btn.active,
[data-theme="pulse"] .nav-btn.active,
[data-theme="pulse"] .range-btn.active {
  background: linear-gradient(165deg, rgba(77, 163, 255, 0.28), rgba(46, 242, 208, 0.18));
  border-color: rgba(77, 163, 255, 0.46);
  box-shadow: var(--pulse-glow-blue);
}




/* Broad text colour skips cosmetic-skinned components and the Results text-contract roles (AGENTS.md section 7). */
[data-theme="pulse"] .btn-title:where(:not([data-cosmetic-skin] *)),
[data-theme="pulse"] .stat-card .value,
[data-theme="pulse"] .k,
[data-theme="pulse"] .v,
[data-theme="pulse"] .history-top strong,
[data-theme="pulse"] :is(h1, h2, h3, h4, h5, h6):where(:not([data-cosmetic-skin] *, .screen[data-screen="results"] :is(.chart-card h3, .results-section-title, .chart-summary, .chart-empty, .empty-state-title, .empty-state-subtitle))),
[data-theme="pulse"] .results-section-title:where(:not([data-cosmetic-skin] *, .screen[data-screen="results"] :is(.chart-card h3, .results-section-title, .chart-summary, .chart-empty, .empty-state-title, .empty-state-subtitle))) {
  color: var(--pulse-text-primary) !important;
}




/* Section headings get a thin gold-to-transparent accent line for a premium feel. */
[data-theme="pulse"] .card h2,
[data-theme="pulse"] .settings-block h2,
[data-theme="pulse"] .results-section-title {
  position: relative;
  padding-bottom: 8px;
}




[data-theme="pulse"] .card h2::after,
[data-theme="pulse"] .settings-block h2::after,
[data-theme="pulse"] .results-section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 46px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--pulse-gold-ambient), rgba(217, 184, 92, 0));
}




/* Broad text colour skips cosmetic-skinned components and the Results text-contract roles (AGENTS.md section 7). */
[data-theme="pulse"] li,
[data-theme="pulse"] .step-help,
[data-theme="pulse"] .step-label,
[data-theme="pulse"] .btn-sub:where(:not([data-cosmetic-skin] *)),
[data-theme="pulse"] .stat-card .label,
[data-theme="pulse"] .history-controls label,
[data-theme="pulse"] .time-record-display-meta,
[data-theme="pulse"] .input-hint,
[data-theme="pulse"] :is(p, span:where(:not(.cp-icon, .chore-item-text, .end-week-task-title, .end-week-task-points)), label):where(:not([data-cosmetic-skin] *, .screen[data-screen="results"] :is(.chart-card h3, .results-section-title, .chart-summary, .chart-empty, .empty-state-title, .empty-state-subtitle))),
[data-theme="pulse"] :is(.field-help, .chart-summary, .chart-empty):where(:not([data-cosmetic-skin] *, .screen[data-screen="results"] :is(.chart-card h3, .results-section-title, .chart-summary, .chart-empty, .empty-state-title, .empty-state-subtitle))) {
  color: var(--pulse-text-secondary) !important;
}




[data-theme="pulse"] .empty-state-subtitle,
[data-theme="pulse"] .tagline,
[data-theme="pulse"] input::placeholder,
[data-theme="pulse"] textarea::placeholder {
  opacity: 1;
}

/* Broad text colour skips cosmetic-skinned components and the Results text-contract roles (AGENTS.md section 7). */
[data-theme="pulse"] .tagline,
[data-theme="pulse"] .empty-state-subtitle:where(:not([data-cosmetic-skin] *, .screen[data-screen="results"] :is(.chart-card h3, .results-section-title, .chart-summary, .chart-empty, .empty-state-title, .empty-state-subtitle))) {
  color: var(--pulse-text-muted) !important;
}




[data-theme="pulse"] .primary-btn,
[data-theme="pulse"] .action-btn,
[data-theme="pulse"] .chip-btn,
[data-theme="pulse"] .range-btn,
[data-theme="pulse"] .results-type-btn,
[data-theme="pulse"] .nav-btn,
[data-theme="pulse"] .theme-toggle,
[data-theme="pulse"] .time-record-display,
[data-theme="pulse"] .delete-btn,
[data-theme="pulse"] .type-chip,
[data-theme="pulse"] .category-pill,
[data-theme="pulse"] .badge-pill {
  border-radius: 14px;
  background: linear-gradient(165deg, #263257, #182238);
  border: 1px solid rgba(155, 178, 224, 0.34);
  color: var(--pulse-text-primary);
  box-shadow: var(--pulse-shadow-small);
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease, filter 0.14s ease, background 0.14s ease;
}




/* Solid "action" buttons (nav, tabs, toggles) get a blue-tinted surface distinct from chips/badges. */
[data-theme="pulse"] .action-btn,
[data-theme="pulse"] .range-btn,
[data-theme="pulse"] .results-type-btn,
[data-theme="pulse"] .nav-btn,
[data-theme="pulse"] .theme-toggle,
[data-theme="pulse"] .time-record-display {
  background: linear-gradient(165deg, #223058, #182140);
  border-color: rgba(77, 163, 255, 0.3);
}




/* Chip buttons (quick contextual actions) get a cyan-tinted surface. */
[data-theme="pulse"] .chip-btn {
  background: linear-gradient(165deg, #16362f, #142a28);
  border-color: rgba(46, 242, 208, 0.36);
}




/* Pills/badges are informational, not primary actions: flatter, gold-tinted, no elevation shadow. */
[data-theme="pulse"] .type-chip,
[data-theme="pulse"] .category-pill,
[data-theme="pulse"] .badge-pill {
  background: linear-gradient(165deg, #3a3020, #2c2517);
  box-shadow: none;
}




[data-theme="pulse"] .primary-btn {
  background: linear-gradient(165deg, #7ec4ff, #4da3ff 50%, #2ef2d0);
  border-color: rgba(140, 210, 255, 0.65);
  color: #0a1220;
  box-shadow: var(--pulse-shadow-small), 0 0 22px rgba(77, 163, 255, 0.4);
}




[data-theme="pulse"] .primary-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: var(--pulse-shadow-small), 0 0 28px rgba(77, 163, 255, 0.55);
}




[data-theme="pulse"] .primary-btn:disabled {
  background: linear-gradient(165deg, #333c54, #2a3348);
  color: rgba(247, 250, 255, 0.5);
  box-shadow: none;
  transform: none;
  filter: none;
  cursor: not-allowed;
}




/* Secondary buttons vary by Pulse accent rather than always electric blue. */
[data-theme="pulse"] .chip-btn:hover,
[data-theme="pulse"] .chip-btn:focus-visible {
  border-color: rgba(46, 242, 208, 0.7);
  transform: translateY(-1px);
  box-shadow: var(--pulse-shadow-small), 0 0 14px rgba(46, 242, 208, 0.24);
}




[data-theme="pulse"] .action-btn:hover:not(.primary-action-card),
[data-theme="pulse"] .range-btn:hover,
[data-theme="pulse"] .results-type-btn:hover,
[data-theme="pulse"] .nav-btn:hover,
[data-theme="pulse"] .theme-toggle:hover {
  border-color: rgba(77, 163, 255, 0.6);
  transform: translateY(-1px);
  box-shadow: var(--pulse-shadow-small), 0 0 14px rgba(77, 163, 255, 0.22);
}




[data-theme="pulse"] .category-pill,
[data-theme="pulse"] .type-chip {
  border-color: rgba(217, 184, 92, 0.4);
}




[data-theme="pulse"] .badge-pill {
  border-color: rgba(217, 184, 92, 0.46);
}




[data-theme="pulse"] .chip-btn.danger,
[data-theme="pulse"] .action-btn.danger,
[data-theme="pulse"] .delete-btn {
  background: linear-gradient(165deg, #d2536f, #a8405a);
  color: #fdeef2;
  border-color: rgba(255, 99, 129, 0.48);
}




[data-theme="pulse"] .chip-btn.danger:hover,
[data-theme="pulse"] .action-btn.danger:hover,
[data-theme="pulse"] .delete-btn:hover {
  border-color: rgba(255, 99, 129, 0.75);
  box-shadow: var(--pulse-shadow-small), 0 0 14px rgba(255, 99, 129, 0.3);
}




[data-theme="pulse"] .primary-btn:active,
[data-theme="pulse"] .action-btn:active,
[data-theme="pulse"] .chip-btn:active,
[data-theme="pulse"] .theme-toggle:active {
  transform: translateY(1px);
  box-shadow: var(--pulse-inset-shadow);
}




[data-theme="pulse"] input,
[data-theme="pulse"] .details-select,
[data-theme="pulse"] .wheel-select {
  border-radius: 12px;
  background: linear-gradient(180deg, var(--pulse-surface-recessed), #070a12);
  border: 1px solid rgba(77, 163, 255, 0.34);
  box-shadow: var(--pulse-inset-shadow);
}




[data-theme="pulse"] select,
[data-theme="pulse"] textarea {
  border-radius: 12px;
  background: linear-gradient(180deg, var(--pulse-surface-recessed), #070a12);
  border: 1px solid rgba(217, 184, 92, 0.34);
  color-scheme: dark;
  box-shadow: var(--pulse-inset-shadow);
}

[data-theme="pulse"] select option,
[data-theme="pulse"] .details-select option,
[data-theme="pulse"] .wheel-select option {
  background: var(--pulse-surface-raised);
  color: var(--pulse-text-primary);
  font-weight: 600;
}

[data-theme="pulse"] select:focus-visible,
[data-theme="pulse"] .details-select:focus-visible,
[data-theme="pulse"] .wheel-select:focus-visible {
  border-color: var(--pulse-cyan);
}




/* Focus treatment varies slightly by control type: blue / cyan / gold. */
[data-theme="pulse"] input:focus-visible,
[data-theme="pulse"] .details-select:focus-visible,
[data-theme="pulse"] .wheel-select:focus-visible,
[data-theme="pulse"] .theme-toggle:focus-visible,
[data-theme="pulse"] .chip-btn:focus-visible,
[data-theme="pulse"] .action-btn:focus-visible,
[data-theme="pulse"] .primary-btn:focus-visible {
  outline: 2px solid rgba(77, 163, 255, 0.9);
  outline-offset: 2px;
  box-shadow: var(--pulse-glow-blue), var(--pulse-shadow-small);
}




[data-theme="pulse"] select:focus-visible {
  outline: 2px solid rgba(46, 242, 208, 0.85);
  outline-offset: 2px;
  box-shadow: var(--pulse-glow-cyan), var(--pulse-shadow-small);
}




[data-theme="pulse"] textarea:focus-visible {
  outline: 2px solid rgba(217, 184, 92, 0.85);
  outline-offset: 2px;
  box-shadow: var(--pulse-glow-gold), var(--pulse-shadow-small);
}




[data-theme="pulse"] input[type="checkbox"],
[data-theme="pulse"] input[type="radio"] {
  accent-color: var(--pulse-blue);
}




[data-theme="pulse"] input[type="range"] {
  accent-color: var(--pulse-cyan);
}




[data-theme="pulse"] .home-game-mode-progress {
  background: linear-gradient(180deg, #0c1220, #070a12);
  border: 1px solid rgba(155, 178, 224, 0.3);
  box-shadow: var(--pulse-inset-shadow);
}




[data-theme="pulse"] .home-game-mode-progress-fill {
  background: linear-gradient(90deg, var(--pulse-blue), var(--pulse-cyan));
  box-shadow: 0 0 16px rgba(46, 242, 208, 0.65);
}




/* Checklist and End of Week row colours for the shared --checklist-row-* contract (chore-mode.css, end-week.css). */
[data-theme="pulse"] {
  --checklist-row-bg: linear-gradient(165deg, #212c4d, #1c2540);
  --checklist-row-border: rgba(155, 178, 224, 0.32);
  --checklist-row-checked-bg: linear-gradient(165deg, rgba(99, 242, 167, 0.34), rgba(46, 242, 208, 0.22));
  --checklist-row-checked-border: rgba(99, 242, 167, 0.58);
  --checklist-row-text: var(--pulse-text-secondary);
  --checklist-row-checked-text: var(--pulse-text-secondary);
  --end-week-row-text: var(--pulse-text-primary);
}




[data-theme="pulse"] .chore-checklist-item,
[data-theme="pulse"] .end-week-task-row {
  border-radius: 12px;
  box-shadow: var(--pulse-shadow-small);
}




[data-theme="pulse"] .life-bonus-option,
[data-theme="pulse"] .kv-item,
[data-theme="pulse"] .chart-preference-row,
[data-theme="pulse"] .diagnostics-row,
[data-theme="pulse"] .editable-row {
  background: linear-gradient(165deg, #212c4d, #1c2540);
  border: 1px solid rgba(155, 178, 224, 0.32);
  border-radius: 12px;
  box-shadow: var(--pulse-shadow-small);
}




[data-theme="pulse"] .chore-checklist-item:has(input:checked),
[data-theme="pulse"] .end-week-task-row:has(input:checked) {
  box-shadow: var(--pulse-shadow-small), 0 0 14px rgba(99, 242, 167, 0.22);
}




[data-theme="pulse"] .home-primary-grid .cp-icon,
[data-theme="pulse"] .cp-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--pulse-text-secondary);
}

/* Theme icon default above: structural .cp-icon spans are excluded from the
   broad span text rule. The Add-step icon keeps its blue accent. */
[data-theme="pulse"] .add-step-icon {
  color: var(--pulse-blue);
}




[data-theme="pulse"] .cp-icon svg {
  width: 22px;
  height: 22px;
}




/* Tracker/Chore/Motivation/Ledger/Urges/Avoidance/Outcome icons get a solid colored badge, not just a tinted outline. */
[data-theme="pulse"] .primary-action-card .cp-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  box-shadow: var(--pulse-shadow-small);
}




[data-theme="pulse"] .primary-action-card .cp-icon svg {
  width: 22px;
  height: 22px;
}

/* Tracker icons use the clean Graphite-style outline treatment. */
[data-theme="pulse"] .screen[data-screen="tracker"] .urge-card .cp-icon,
[data-theme="pulse"] .screen[data-screen="tracker"] .avoidance-card .cp-icon,
[data-theme="pulse"] .screen[data-screen="tracker"] .outcome-card .cp-icon {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

[data-theme="pulse"] .screen[data-screen="tracker"] .urge-card .cp-icon {
  color: var(--pulse-violet);
}

[data-theme="pulse"] .screen[data-screen="tracker"] .avoidance-card .cp-icon {
  color: var(--pulse-cyan);
}

[data-theme="pulse"] .screen[data-screen="tracker"] .outcome-card .cp-icon {
  color: var(--pulse-gold-reward);
}

[data-theme="pulse"] .screen[data-screen="tracker"] .tracker-section-link .cp-icon {
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

[data-theme="pulse"] .screen[data-screen="tracker"] .tracker-section-link[data-nav="training"] .cp-icon {
  color: var(--pulse-cyan);
}

[data-theme="pulse"] .screen[data-screen="tracker"] .tracker-section-link[data-nav="history"] .cp-icon {
  color: var(--pulse-gold-reward);
}

[data-theme="pulse"] .screen[data-screen="tracker"] .tracker-section-link[data-nav="results"] .cp-icon {
  color: var(--pulse-violet);
}

[data-theme="pulse"] .screen[data-screen="tracker"] .tracker-section-link .cp-icon svg {
  width: 32px;
  height: 32px;
}

[data-theme="pulse"] .screen[data-screen="tracker"] .urge-card .cp-icon svg,
[data-theme="pulse"] .screen[data-screen="tracker"] .avoidance-card .cp-icon svg,
[data-theme="pulse"] .screen[data-screen="tracker"] .outcome-card .cp-icon svg {
  width: 32px;
  height: 32px;
}




[data-theme="pulse"] .chore-card,
[data-theme="pulse"] .avoidance-card {
  background:
    radial-gradient(circle at 16% 14%, rgba(46, 242, 208, 0.2), rgba(46, 242, 208, 0) 38%),
    linear-gradient(146deg, #1b2540, #151c30);
  border-color: rgba(46, 242, 208, 0.48);
  box-shadow: var(--pulse-shadow-medium), var(--pulse-top-edge), 0 0 20px rgba(46, 242, 208, 0.14);
}




[data-theme="pulse"] .chore-card .cp-icon,
[data-theme="pulse"] .avoidance-card .cp-icon {
  background: linear-gradient(165deg, #6ff5db, var(--pulse-cyan));
  color: #071a17;
  box-shadow: var(--pulse-shadow-small), 0 0 16px rgba(46, 242, 208, 0.46);
}




[data-theme="pulse"] .chore-card:hover,
[data-theme="pulse"] .avoidance-card:hover {
  border-color: rgba(46, 242, 208, 0.75);
  box-shadow: var(--pulse-shadow-large), var(--pulse-top-edge), 0 0 32px rgba(46, 242, 208, 0.28);
}




[data-theme="pulse"] .motivation-card,
[data-theme="pulse"] .outcome-card {
  background:
    radial-gradient(circle at 84% 20%, rgba(217, 184, 92, 0.16), rgba(217, 184, 92, 0) 36%),
    linear-gradient(146deg, #1b2540, #151c30);
  border-color: rgba(217, 184, 92, 0.42);
  box-shadow: var(--pulse-shadow-medium), var(--pulse-top-edge), 0 0 20px rgba(217, 184, 92, 0.14);
}




[data-theme="pulse"] .motivation-card .cp-icon,
[data-theme="pulse"] .outcome-card .cp-icon {
  background: linear-gradient(165deg, #f0d68f, var(--pulse-gold-ambient));
  color: #241c08;
  box-shadow: var(--pulse-shadow-small), 0 0 16px rgba(217, 184, 92, 0.4);
}

[data-theme="pulse"] .screen[data-screen="tracker"] .avoidance-card .cp-icon,
[data-theme="pulse"] .screen[data-screen="tracker"] .outcome-card .cp-icon {
  background: transparent;
  box-shadow: none;
}




[data-theme="pulse"] .motivation-card:hover,
[data-theme="pulse"] .outcome-card:hover {
  border-color: rgba(217, 184, 92, 0.75);
  box-shadow: var(--pulse-shadow-large), var(--pulse-top-edge), 0 0 32px rgba(217, 184, 92, 0.26);
}




[data-theme="pulse"] .screen[data-screen="results"] {
  --chart-text-primary: #f7faff;
  --chart-text-secondary: #c7d0e2;
  --chart-text-muted: #97a3ba;
  --chart-axis-text: #c7d0e2;
  --chart-axis-title: #f7faff;
  --chart-legend-text: #e2e7f2;
  --chart-value-label: #f7faff;
  --chart-grid-line: rgba(155, 178, 224, 0.16);
  --chart-tooltip-bg: rgba(21, 28, 48, 0.96);
  --chart-tooltip-title: #f7faff;
  --chart-tooltip-text: #e2e7f2;
  --chart-tooltip-border: rgba(155, 178, 224, 0.28);
  /* Results text contract (results.css). */
  --results-text: #cdd6e6;
  --results-empty-title: var(--pulse-text-secondary);
  --results-empty-text: #9ca8bd;
}




[data-theme="pulse"] .game-mode-completion-summary,
[data-theme="pulse"] .game-mode-bonus-card,
[data-theme="pulse"] .rank-badge,
[data-theme="pulse"] .points-badge,
[data-theme="pulse"] .week-badge {
  box-shadow: var(--pulse-shadow-small);
}




[data-theme="pulse"] .rank-badge {
  background: linear-gradient(135deg, #223257, #182238);
  color: #dce8ff !important;
  border: 1px solid rgba(77, 163, 255, 0.5);
  box-shadow: var(--pulse-shadow-small), 0 0 14px rgba(77, 163, 255, 0.24);
}




/* Ambient gold appears in normal use; reward gold is brighter/more saturated for bonuses. */
[data-theme="pulse"] .points-badge {
  background: linear-gradient(135deg, #493f22, #332a17);
  color: #ffe1a3 !important;
  border: 1px solid rgba(217, 184, 92, 0.6);
  box-shadow: var(--pulse-shadow-small), 0 0 16px rgba(217, 184, 92, 0.24);
}




[data-theme="pulse"] .week-badge {
  background: linear-gradient(135deg, #1a4438, #123329);
  color: #d1ffe9 !important;
  border: 1px solid rgba(99, 242, 167, 0.5);
  box-shadow: var(--pulse-shadow-small), 0 0 14px rgba(99, 242, 167, 0.2);
}




/* Life Level / skill progression is one of the richest parts of Pulse: blue -> violet with a gold rank accent. */
[data-theme="pulse"] .screen[data-screen="life-stats"] .home-game-mode-progress-fill {
  background: linear-gradient(90deg, var(--pulse-blue), var(--pulse-violet));
  box-shadow: 0 0 16px rgba(155, 108, 255, 0.6);
}




[data-theme="pulse"] .screen[data-screen="life-stats"] .home-game-mode-progress {
  border-color: rgba(217, 184, 92, 0.4);
}




/* Slightly brighter supporting text on non-home screens for easier reading. */
/* Broad text colour skips cosmetic-skinned components and the Results text-contract roles (AGENTS.md section 7). */
[data-theme="pulse"] .screen:not([data-screen="home"]) .step-help,
[data-theme="pulse"] .screen:not([data-screen="home"]) .step-label,
[data-theme="pulse"] .screen:not([data-screen="home"]) .btn-sub:where(:not([data-cosmetic-skin] *)),
[data-theme="pulse"] .screen:not([data-screen="home"], [data-screen="results"]) .chart-summary,
[data-theme="pulse"] .screen:not([data-screen="home"], [data-screen="results"]) .chart-empty,
[data-theme="pulse"] .screen:not([data-screen="home"]) .history-controls label,
[data-theme="pulse"] .screen:not([data-screen="home"]) .time-record-display-meta,
[data-theme="pulse"] .screen:not([data-screen="home"]) .input-hint,
[data-theme="pulse"] .screen:not([data-screen="home"]) .type-chip,
[data-theme="pulse"] .screen:not([data-screen="home"]) .category-pill,
[data-theme="pulse"] .screen:not([data-screen="home"]) .badge-pill,
[data-theme="pulse"] .screen:not([data-screen="home"]) .field-help:where(:not([data-cosmetic-skin] *, .screen[data-screen="results"] :is(.chart-card h3, .results-section-title, .chart-summary, .chart-empty, .empty-state-title, .empty-state-subtitle))) {
  color: #cdd6e6 !important;
}




[data-theme="pulse"] .screen:not([data-screen="home"], [data-screen="results"]) .empty-state-subtitle,
[data-theme="pulse"] .screen:not([data-screen="home"]) .tagline {
  color: #9ca8bd !important;
}




/* Screen-scoped placeholder values feed the shared form-field contract. */
[data-theme="pulse"] .screen:not([data-screen="home"]) {
  --read-placeholder: #9ca8bd;
}

[data-theme="pulse"] .screen:is([data-screen="add"], [data-screen="edit"], [data-screen="history"]) {
  --read-placeholder: #a5b0c2;
}




[data-theme="pulse"] .screen[data-screen="history"] input[type="date"] {
  color: #f0f3fb !important;
}




[data-theme="pulse"] .screen[data-screen="history"] input[type="date"]::-webkit-datetime-edit {
  color: #f0f3fb;
}




/* Choice/option buttons feel noticeably active when selected; color varies by context. */
[data-theme="pulse"] .choice-card {
  border-color: rgba(155, 178, 224, 0.26);
}




[data-theme="pulse"] .choice-card.selected {
  background: linear-gradient(165deg, rgba(77, 163, 255, 0.28), rgba(46, 242, 208, 0.18));
  border-color: var(--pulse-blue);
  color: var(--pulse-text-primary) !important;
  box-shadow: var(--pulse-glow-blue);
}




[data-theme="pulse"] .choice-card[data-select-type="urge"].selected {
  border-color: var(--pulse-violet);
  box-shadow: var(--pulse-shadow-small), var(--pulse-glow-violet);
}




[data-theme="pulse"] .choice-card[data-select-type="avoidance"].selected {
  border-color: var(--pulse-cyan);
  box-shadow: var(--pulse-shadow-small), var(--pulse-glow-cyan);
}




[data-theme="pulse"] .chore-game-mode-card {
  border-color: rgba(46, 242, 208, 0.38);
}




/* Repeated card lists alternate a restrained two-tone blue/gold accent instead of a rainbow (or purple-heavy) cycle. */
[data-theme="pulse"] .stat-card:nth-of-type(odd),
[data-theme="pulse"] .chart-card:nth-of-type(odd),
[data-theme="pulse"] .history-item:nth-of-type(odd),
[data-theme="pulse"] .kv-item:nth-of-type(odd),
[data-theme="pulse"] .diagnostics-row:nth-of-type(odd) {
  border-left: 3px solid var(--pulse-blue);
  background-color: color-mix(in srgb, var(--pulse-blue) 15%, transparent);
}




[data-theme="pulse"] .stat-card:nth-of-type(even),
[data-theme="pulse"] .chart-card:nth-of-type(even),
[data-theme="pulse"] .history-item:nth-of-type(even),
[data-theme="pulse"] .kv-item:nth-of-type(even),
[data-theme="pulse"] .diagnostics-row:nth-of-type(even) {
  border-left: 3px solid var(--pulse-gold-ambient);
  background-color: color-mix(in srgb, var(--pulse-gold-ambient) 15%, transparent);
}
