:root {
    --safe-area-top: env(safe-area-inset-top);
    --safe-area-bottom: env(safe-area-inset-bottom);
    --safe-area-left: env(safe-area-inset-left);
    --safe-area-right: env(safe-area-inset-right);
    --color-bg-app: var(--p-yellow-200);
    --color-bg-shell: var(--p-yellow-300);
    --color-surface-active: var(--p-neutral-50);
    --color-surface-inactive: var(--p-neutral-100);
    --color-surface-muted: var(--p-neutral-150);
    --color-surface-raised: var(--p-neutral-0);
    --color-nav-surface: var(--p-neutral-50);
    --color-shadow: rgba(0, 0, 0, 0.08);
    --color-text-primary: var(--p-neutral-700);
    --color-text-secondary: var(--p-neutral-500);
    --color-text-muted: var(--p-neutral-400);
    --color-text-faint: var(--p-neutral-300);
    --color-text-inverse: var(--p-neutral-50);
    --color-text-disabled: var(--p-neutral-300);
    --color-text-link: var(--p-blue-300);
    --color-text-destructive: var(--p-red-200);
    --color-border-soft: var(--p-neutral-200);
    --color-border-strong: var(--p-neutral-400);
    --color-border-active: var(--p-yellow-400);
    --color-border-selected: var(--p-neutral-700);
    --color-divider: var(--p-neutral-150);
    --color-border-input: var(--p-neutral-200);
    --color-border-focus: var(--p-blue-300);
    --nav-bottom-bg: var(--p-neutral-50);
    --nav-bottom-active-bg: var(--p-yellow-400);
    --nav-bottom-active-fg: var(--p-neutral-700);
    --nav-bottom-inactive-fg: var(--p-neutral-600);
    --nav-tab-active-surface: var(--p-yellow-200);
    --nav-tab-inactive-surface: var(--p-yellow-400);
    --nav-tab-edge: var(--p-neutral-200);
    --hero-bg: var(--p-neutral-50);
    --hero-border: var(--p-neutral-200);
    --hero-positive-bg: var(--p-green-100);
    --hero-positive-border: var(--p-green-200);
    --hero-attention-bg: var(--p-amber-100);
    --hero-attention-border: var(--p-amber-200);
    --hero-stale-bg: var(--p-amber-100);
    --hero-stale-border: var(--p-amber-200);
    --hero-negative-bg: var(--p-red-100);
    --hero-negative-border: var(--p-red-200);
    --hero-empty-bg: var(--p-neutral-50);
    --hero-empty-border: var(--p-neutral-200);
    --hero-metric-card-bg: var(--p-neutral-100);
    --hero-metric-card-border: var(--p-neutral-200);
    --hero-pill-info-bg: var(--p-neutral-100);
    --hero-pill-cta-bg: var(--p-neutral-100);
    --hero-pill-primary-bg: var(--p-yellow-400);
    --hero-pill-text: var(--p-neutral-700);
    --hero-pill-chevron: var(--p-neutral-500);
    --btn-primary-bg: var(--p-yellow-400);
    --btn-primary-text: var(--p-neutral-700);
    --btn-primary-pressed-bg: var(--p-yellow-500);
    --btn-primary-disabled-bg: var(--p-neutral-200);
    --btn-primary-disabled-text: var(--p-neutral-400);
    --btn-secondary-text: var(--p-neutral-700);
    --btn-secondary-bg: var(--p-neutral-100);
    --btn-one-row-bg: var(--p-neutral-100);
    --btn-one-row-text: var(--p-neutral-700);
    --btn-card-footer-bg: var(--p-neutral-100);
    --btn-card-footer-text: var(--p-neutral-700);
    --btn-icon-bg: var(--p-neutral-50);
    --btn-icon-border: var(--p-neutral-200);
    --btn-icon-fg: var(--p-neutral-700);
    --btn-icon-pressed-bg: var(--p-neutral-150);
    --form-input-bg: var(--p-neutral-100);
    --form-input-text: var(--p-neutral-700);
    --form-input-placeholder: var(--p-neutral-400);
    --form-input-border: var(--p-neutral-200);
    --form-input-focus-border: var(--p-blue-300);
    --form-date-bg: var(--p-neutral-100);
    --form-numeric-bg: var(--p-neutral-100);
    --form-option-bg: var(--p-neutral-50);
    --form-option-selected-bg: var(--p-neutral-150);
    --form-option-selected-border: var(--p-neutral-700);
    --form-toggle-off-track: var(--p-neutral-300);
    --form-toggle-on-track: var(--p-neutral-700);
    --form-toggle-knob: var(--p-neutral-0);
    --form-segmented-bg: var(--p-neutral-100);
    --form-segmented-selected-bg: var(--p-neutral-50);
    --form-segmented-selected-text: var(--p-neutral-700);
    --status-positive: var(--p-green-200);
    --status-positive-subtle: var(--p-green-100);
    --status-positive-text: var(--p-green-400);
    --status-warning: var(--p-amber-200);
    --status-warning-subtle: var(--p-amber-100);
    --status-warning-text: var(--p-amber-300);
    --status-negative: var(--p-red-200);
    --status-negative-subtle: var(--p-red-100);
    --status-negative-text: var(--p-red-300);
    --status-stable: var(--p-neutral-400);
    --status-stable-subtle: var(--p-neutral-150);
    --status-stable-text: var(--p-neutral-600);
    --status-stale: var(--p-amber-200);
    --status-stale-subtle: var(--p-amber-100);
    --status-completed: var(--p-green-200);
    --status-completed-subtle: var(--p-green-100);
    --status-disabled: var(--p-neutral-300);
    --status-admin: var(--p-neutral-150);
    --status-admin-text: var(--p-neutral-700);
    --status-pending: var(--p-amber-100);
    --status-pending-text: var(--p-amber-300);
    --weight-decrease-color: var(--p-green-300);
    --weight-increase-color: var(--p-red-200);
    --weight-decrease-on-light: var(--p-green-400);
    --weight-increase-on-light: var(--p-red-300);
    --weight-stable-color: var(--p-neutral-400);
    --weight-stale-timestamp: var(--p-amber-300);
    --weight-missed-indicator: var(--p-red-200);
    --notif-row-bg: var(--p-neutral-50);
    --notif-divider: var(--p-neutral-150);
    --notif-avatar-bg: var(--p-neutral-200);
    --notif-avatar-text: var(--p-neutral-700);
    --notif-system-icon-bg: var(--p-neutral-150);
    --notif-system-icon-stroke: var(--p-neutral-600);
    --notif-reminder-icon-bg: var(--p-amber-100);
    --notif-missed-icon-bg: var(--p-red-100);
    --notif-challenge-icon-bg: var(--p-blue-100);
    --notif-placement-icon-bg: var(--p-neutral-150);
    --notif-shout-tint: var(--p-neutral-100);
    --notif-timestamp: var(--p-neutral-400);
    --notif-unread-dot: var(--p-yellow-400);
    --chart-axis-text: var(--p-neutral-400);
    --chart-grid-line: var(--p-neutral-200);
    --chart-main-line: var(--p-yellow-400);
    --chart-trend-line: var(--p-blue-300);
    --chart-data-point-fill: var(--p-yellow-400);
    --chart-data-point-stroke: var(--p-neutral-50);
    --chart-bar-positive: var(--p-neutral-300);
    --chart-bar-negative: var(--p-neutral-600);
    --chart-bar-neutral: var(--p-neutral-400);
    --chart-zero-line: var(--p-neutral-400);
    --chart-progress-track: var(--p-neutral-200);
    --chart-progress-fill: var(--p-neutral-700);
    --card-status-pill-bg: var(--p-neutral-150);
    --card-status-active-text: var(--p-neutral-700);
    --card-status-upcoming-text: var(--p-neutral-600);
    --card-status-completed-text: var(--p-neutral-500);
    --card-status-cleared-text: var(--p-green-400);
    --card-progress-track: var(--p-neutral-200);
    --card-progress-fill: var(--p-neutral-700);
    --card-goal-icon-bg: var(--p-neutral-150);
    --card-goal-icon-stroke: var(--p-neutral-600);
    --card-member-avatar-bg: var(--p-neutral-200);
    --card-member-avatar-text: var(--p-neutral-700);
    --card-palette-1-bg: var(--p-card-1-bg);
    --card-palette-1-text: var(--p-card-1-text);
    --card-palette-1-accent: var(--p-card-1-accent);
    --card-palette-2-bg: var(--p-card-2-bg);
    --card-palette-2-text: var(--p-card-2-text);
    --card-palette-2-accent: var(--p-card-2-accent);
    --card-palette-3-bg: var(--p-card-3-bg);
    --card-palette-3-text: var(--p-card-3-text);
    --card-palette-3-accent: var(--p-card-3-accent);
    --card-palette-4-bg: var(--p-card-4-bg);
    --card-palette-4-text: var(--p-card-4-text);
    --card-palette-4-accent: var(--p-card-4-accent);
    --card-palette-5-bg: var(--p-card-5-bg);
    --card-palette-5-text: var(--p-card-5-text);
    --card-palette-5-accent: var(--p-card-5-accent);
    --card-palette-6-bg: var(--p-card-6-bg);
    --card-palette-6-text: var(--p-card-6-text);
    --card-palette-6-accent: var(--p-card-6-accent);
    --card-palette-7-bg: var(--p-card-7-bg);
    --card-palette-7-text: var(--p-card-7-text);
    --card-palette-7-accent: var(--p-card-7-accent);
    --card-palette-8-bg: var(--p-card-8-bg);
    --card-palette-8-text: var(--p-card-8-text);
    --card-palette-8-accent: var(--p-card-8-accent);
    --sheet-top-bg: var(--p-neutral-50);
    --sheet-bottom-bg: var(--p-neutral-50);
    --sheet-focus-bg: var(--p-neutral-50);
    --sheet-border: var(--p-neutral-200);
    --sheet-handle: var(--p-neutral-300);
    --overlay-dim: rgba(0, 0, 0, 0.35);
    --overlay-close-text: var(--p-neutral-700);
    --overlay-close-icon: var(--p-neutral-700);
    --profile-avatar-placeholder-bg: var(--p-neutral-200);
    --profile-avatar-border: var(--p-neutral-300);
    --admin-pill-bg: var(--p-neutral-150);
    --admin-pill-fg: var(--p-neutral-700);
    --settings-row-value: var(--p-neutral-500);
    --destructive-action-text: var(--p-red-200);
    --account-deletion-text: var(--p-red-300);
    --login-bg: var(--p-yellow-200);
    --login-wordmark: var(--p-neutral-700);
    --login-card-bg: var(--p-neutral-50);
    --login-card-border: var(--p-neutral-200);
    --login-input-bg: var(--p-neutral-100);
    --login-input-text: var(--p-neutral-700);
    --login-placeholder: var(--p-neutral-400);
    --login-btn-bg: var(--p-yellow-400);
    --login-btn-text: var(--p-neutral-700);
    --login-forgot-link: var(--p-neutral-500);
    --login-invite-link: var(--p-blue-300);
    --milestone-icon-bg: var(--p-neutral-150);
    --milestone-icon-stroke: var(--p-neutral-600);
    --activity-avatar-bg: var(--p-neutral-200);
    --activity-avatar-text: var(--p-neutral-700);
    --activity-positive: var(--p-green-300);
    --activity-negative: var(--p-red-200);
    --activity-date-muted: var(--p-neutral-400);
    --archive-pill-bg: var(--p-neutral-150);
    --detail-highlight-row-bg: var(--p-neutral-150);
    --detail-late-indicator: var(--p-amber-200);
    --detail-leave-btn-bg: var(--p-red-100);
    --detail-leave-btn-text: var(--p-red-200);
    --detail-tab-active-border: var(--p-neutral-700);
    --detail-tab-active-text: var(--p-neutral-700);
    --detail-tab-inactive-text: var(--p-neutral-400);
    --map-country-fill: var(--p-warm-100);
    --map-country-highlight-fill: var(--p-warm-200);
    --map-country-stroke: var(--p-neutral-0);
    --map-route-stroke: var(--p-neutral-700);
    --map-route-checkpoint: var(--p-warm-500);
    --map-route-marker-stroke: var(--p-neutral-50);
    --map-card-bg: var(--p-neutral-100);
    --soft-tint-bg: var(--p-neutral-100);
    --subtle-row-tint: var(--p-neutral-150);

    --color-canvas: var(--color-bg-app);
    --color-app: var(--color-bg-app);
    --color-surface-resting: var(--color-surface-inactive);
    --color-navigation: var(--nav-bottom-bg);
    --color-navigation-active: var(--nav-bottom-active-bg);
    --color-text: var(--color-text-primary);
    --color-text-soft: var(--color-text-secondary);
    --color-border: var(--color-border-soft);
    --color-shell-border: var(--color-border-soft);
    --color-icon: var(--btn-icon-fg);
    --color-skeleton: var(--p-neutral-150);
    --color-skeleton-strong: var(--p-neutral-200);
    --color-hero-surface: var(--hero-bg);
    --color-hero-attention: var(--hero-attention-bg);
    --color-hero-stale: var(--hero-stale-bg);
    --color-hero-empty: var(--hero-empty-bg);
    --color-warm-soft: var(--soft-tint-bg);
    --color-reminder: var(--status-warning-text);
    --color-reminder-soft: var(--notif-reminder-icon-bg);
    --color-missed: var(--status-negative-text);
    --color-missed-soft: var(--notif-missed-icon-bg);
    --color-system-blue: var(--notif-challenge-icon-bg);
    --color-system-neutral: var(--notif-system-icon-bg);
    --color-trend-down: var(--weight-decrease-on-light);
    --color-trend-up: var(--weight-increase-on-light);
    --color-overlay: var(--overlay-dim);
    --color-shadow-soft: var(--color-shadow);
}
