/* Load after the existing styles. Theme is independent of category and physiology. */
:root[data-theme="plum"]{--bg:#110d18;--panel:#201828;--panel2:#2c2036;--line:#48324f;--muted:#c1aecb;--text:#fcf4ff;--lime:#ff9bdc;--amber:#ffd29a}
:root[data-theme="teal"]{--bg:#0b1719;--panel:#14272b;--panel2:#1c3439;--line:#385d63;--muted:#b2cdd0;--text:#f0fdff;--lime:#7fe1d2;--amber:#ffd29a}
:root[data-theme="neutral"]{--bg:#141619;--panel:#22262b;--panel2:#30363e;--line:#505b67;--muted:#bec7d2;--text:#f7f9fc;--lime:#d7e3f2;--amber:#ffd29a}
:root[data-theme="teal"] body,:root[data-theme="neutral"] body{background:var(--bg)}
.onboarding-themes{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;border:1px solid var(--line);border-radius:12px;padding:16px}
.onboarding-themes label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px}
.onboarding-themes input{width:auto}.onboarding-themes label:has(:checked){outline:2px solid var(--lime)}
#onboarding-form .field{display:flex;flex-direction:column;gap:8px}#onboarding-form details{margin-top:20px}#onboarding-coach-preview{margin-top:12px}
:root[data-theme] .shell{--section-accent:var(--lime);--section-glow:transparent;--accent:var(--lime);--pink:var(--lime)}
:root[data-theme="plum"] .shell .personal-hero{background:linear-gradient(125deg,#ffd1ef,#e4b8ff 70%,#b5e8f5)}
:root:is([data-theme="teal"],[data-theme="neutral"]) :is(.card,.metric,.r22-next-workout,.today-completion,.completion-meal,.r22-meal-row,.sidebar){background:var(--panel);border-color:var(--line)}
:root:is([data-theme="teal"],[data-theme="neutral"]) .personal-hero{background:var(--lime);color:var(--bg)}
:root:is([data-theme="teal"],[data-theme="neutral"]) .personal-hero :is(h1,p,.eyebrow,.text-button){color:var(--bg)}
:root:is([data-theme="teal"],[data-theme="neutral"]) .btn{background:var(--lime);color:var(--bg);box-shadow:none;border-color:var(--lime)}
:root:is([data-theme="teal"],[data-theme="neutral"]) :is(.btn.secondary,.btn.quiet){background:var(--panel2);color:var(--text);border-color:var(--line)}
:root:is([data-theme="teal"],[data-theme="neutral"]) :is(.text-button,.more-destination strong,.meal-orb,.page-title .eyebrow){color:var(--lime)}
:root:is([data-theme="teal"],[data-theme="neutral"]) .completion-ring{background:conic-gradient(var(--lime) var(--completion),var(--line) 0);box-shadow:none}
:root:is([data-theme="teal"],[data-theme="neutral"]) .completion-ring>span{background:var(--panel);color:var(--text)}
:root:is([data-theme="teal"],[data-theme="neutral"]) :is(.completion-ring small,.more-destination>span,.completion-meal small){color:var(--muted)}
:root:is([data-theme="teal"],[data-theme="neutral"]) :is(.nav button.active,.completion-meal.is-complete,.completion-week button.current){background:var(--panel2);border-color:var(--lime);color:var(--text)}
:root:is([data-theme="teal"],[data-theme="neutral"]) :is(progress,meter,input){accent-color:var(--lime)}
/* Existing mobile tabs use an important background and a later pale label rule.
   Set both surfaces and labels together, including the Home-specific variants. */
:root[data-theme] .shell .workspace-tabs{background:var(--bg)!important;color:var(--text);border-color:var(--line)}
:root[data-theme] .shell .workspace-tabs button{background:var(--panel2);color:var(--text);border-color:var(--line);box-shadow:none}
:root[data-theme] .shell .workspace-tabs button:hover{background:var(--panel);color:var(--text);border-color:var(--lime)}
:root[data-theme] .shell .workspace-tabs button.active,:root[data-theme] .shell .sidebar .nav button.active{background:var(--lime);color:var(--bg);border-color:var(--lime);box-shadow:none}
:root[data-theme] .shell .sidebar .nav button:not(.active){color:var(--muted)}
:root[data-theme] .shell .sidebar .nav button:not(.active):hover{background:var(--panel2);color:var(--text)}
:root[data-theme] .shell :is(.tag,.tag.lime,.chip){background:var(--panel2);color:var(--text);border-color:var(--line)}
:root[data-theme] .shell .personal-hero .tag{background:var(--bg);color:var(--text);border-color:var(--bg)}
:root[data-theme] .shell .avatar{background:var(--lime);color:var(--bg);border-color:var(--lime)}
:root[data-theme] .shell .personal-monogram{background:var(--bg);color:var(--lime);border-color:var(--bg);box-shadow:none}
:root[data-theme] #toast{background:var(--lime);color:var(--bg);border-color:var(--bg)}
:root[data-theme] :is(dialog,.form-actions){background:var(--panel);color:var(--text);border-color:var(--line)}
:root[data-theme] :is(input,select,textarea){background:var(--bg);color:var(--text);border-color:var(--line)}
:root[data-theme] :is(input,textarea)::placeholder{color:var(--muted)}
