/* Generated palette tokens: node tools/scripts/build_theme_css.js */
html[data-theme="02"]{color-scheme:light;--chrome:#123E32;--bg:#DCE8DF;--surface:#FFFFFF;--surface-alt:#eff5f1;--input:#FFFFFF;--ink:#17382C;--muted:#587067;--line:#c8d3d0;--accent:#F08B42;--accent-ink:#123E32;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#2E7450;--warning:#966414;--bad:#B23753;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#f29959;--brand-orange-ink:#94410F;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="05"]{color-scheme:light;--chrome:#282C30;--bg:#E9E5DE;--surface:#FFFFFF;--surface-alt:#f5f3f0;--input:#FFFFFF;--ink:#282C30;--muted:#64676a;--line:#cececf;--accent:#ED8153;--accent-ink:#282C30;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#2E7450;--warning:#966414;--bad:#B23753;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ef9068;--brand-orange-ink:#94410F;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="06"]{color-scheme:light;--chrome:#47283D;--bg:#EDE1E8;--surface:#FFFFFF;--surface-alt:#f7f2f5;--input:#FFFFFF;--ink:#422637;--muted:#77636f;--line:#d5ced2;--accent:#FFA66A;--accent-ink:#47283D;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#2E7450;--warning:#966414;--bad:#B23753;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ffb17c;--brand-orange-ink:#94410F;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="07"]{color-scheme:light;--chrome:#362841;--bg:#E9E3F1;--surface:#FFFFFF;--surface-alt:#f5f2f9;--input:#FFFFFF;--ink:#382942;--muted:#706577;--line:#d1ced3;--accent:#F8A24D;--accent-ink:#362841;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#2E7450;--warning:#966414;--bad:#B23753;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#f9ad62;--brand-orange-ink:#94410F;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="08"]{color-scheme:light;--chrome:#30346A;--bg:#E6E8F5;--surface:#FFFFFF;--surface-alt:#f4f5fb;--input:#FFFFFF;--ink:#2B3157;--muted:#666b86;--line:#cfd0dd;--accent:#FFB258;--accent-ink:#30346A;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#2E7450;--warning:#966414;--bad:#B23753;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ffbb6c;--brand-orange-ink:#94410F;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="09"]{color-scheme:light;--chrome:#174B67;--bg:#E5E1D6;--surface:#FFFFFF;--surface-alt:#f3f2ed;--input:#FFFFFF;--ink:#173C50;--muted:#587381;--line:#cad6dc;--accent:#F49A52;--accent-ink:#174B67;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#2E7450;--warning:#966414;--bad:#B23753;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#f5a667;--brand-orange-ink:#94410F;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="D03"]{color-scheme:dark;--chrome:#081B22;--bg:#102D36;--surface:#204550;--surface-alt:#193a44;--input:#1c3e49;--ink:#ECF6FA;--muted:#b5c6cc;--line:#122d35;--accent:#FF9B57;--accent-ink:#081B22;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#70C68E;--warning:#E6B85C;--bad:#F37C94;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ffa76b;--brand-orange-ink:#ffb481;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="D02"]{color-scheme:dark;--chrome:#071C16;--bg:#102B23;--surface:#1E4034;--surface-alt:#18372c;--input:#1a3a2f;--ink:#EDF8F0;--muted:#b5c6bd;--line:#112b23;--accent:#FFAB66;--accent-ink:#071C16;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#70C68E;--warning:#E6B85C;--bad:#F37C94;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ffb578;--brand-orange-ink:#ffc08c;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="D05"]{color-scheme:dark;--chrome:#101113;--bg:#1B1D21;--surface:#2E3238;--surface-alt:#25292e;--input:#292c32;--ink:#F3F4F5;--muted:#bec0c2;--line:#1d1f23;--accent:#FF9C69;--accent-ink:#101113;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#70C68E;--warning:#E6B85C;--bad:#F37C94;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ffa87b;--brand-orange-ink:#ffb58f;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="D09"]{color-scheme:dark;--chrome:#071B29;--bg:#102E40;--surface:#23485B;--surface-alt:#1a3c4f;--input:#1e4153;--ink:#EDF7FB;--muted:#b6c8d0;--line:#132e3e;--accent:#FFA563;--accent-ink:#071B29;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#70C68E;--warning:#E6B85C;--bad:#F37C94;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ffb076;--brand-orange-ink:#ffbc8a;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="D08"]{color-scheme:dark;--chrome:#101329;--bg:#1C2342;--surface:#303C61;--surface-alt:#273153;--input:#2a3558;--ink:#EFF2FF;--muted:#bbc1d4;--line:#1d2441;--accent:#FFBB64;--accent-ink:#101329;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#70C68E;--warning:#E6B85C;--bad:#F37C94;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ffc377;--brand-orange-ink:#ffcc8b;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
html[data-theme="D07"]{color-scheme:dark;--chrome:#16101F;--bg:#241C32;--surface:#3C3050;--surface-alt:#312743;--input:#352a48;--ink:#F5EFFC;--muted:#c3bbce;--line:#261d34;--accent:#FFAD63;--accent-ink:#16101F;--nav-text:#F5F7F4;--nav-muted:#C4CECB;--good:#70C68E;--warning:#E6B85C;--bad:#F37C94;--paper:var(--surface);--purple:var(--ink);--purple-soft:var(--surface-alt);--brand-olive:var(--ink);--brand-action:var(--accent);--brand-action-hover:#ffb776;--brand-orange-ink:#ffc28a;--brand-border:var(--line);--brand-soft:var(--surface-alt);--brand-olive-soft:var(--surface-alt);--shadow:0 5px 24px #00000012;}
.theme-option[data-theme-code="02"]{--preview-chrome:#123E32;--preview-bg:#DCE8DF;--preview-card:#FFFFFF;--preview-text:#17382C}
.theme-option[data-theme-code="05"]{--preview-chrome:#282C30;--preview-bg:#E9E5DE;--preview-card:#FFFFFF;--preview-text:#282C30}
.theme-option[data-theme-code="06"]{--preview-chrome:#47283D;--preview-bg:#EDE1E8;--preview-card:#FFFFFF;--preview-text:#422637}
.theme-option[data-theme-code="07"]{--preview-chrome:#362841;--preview-bg:#E9E3F1;--preview-card:#FFFFFF;--preview-text:#382942}
.theme-option[data-theme-code="08"]{--preview-chrome:#30346A;--preview-bg:#E6E8F5;--preview-card:#FFFFFF;--preview-text:#2B3157}
.theme-option[data-theme-code="09"]{--preview-chrome:#174B67;--preview-bg:#E5E1D6;--preview-card:#FFFFFF;--preview-text:#173C50}
.theme-option[data-theme-code="D03"]{--preview-chrome:#081B22;--preview-bg:#102D36;--preview-card:#204550;--preview-text:#ECF6FA}
.theme-option[data-theme-code="D02"]{--preview-chrome:#071C16;--preview-bg:#102B23;--preview-card:#1E4034;--preview-text:#EDF8F0}
.theme-option[data-theme-code="D05"]{--preview-chrome:#101113;--preview-bg:#1B1D21;--preview-card:#2E3238;--preview-text:#F3F4F5}
.theme-option[data-theme-code="D09"]{--preview-chrome:#071B29;--preview-bg:#102E40;--preview-card:#23485B;--preview-text:#EDF7FB}
.theme-option[data-theme-code="D08"]{--preview-chrome:#101329;--preview-bg:#1C2342;--preview-card:#303C61;--preview-text:#EFF2FF}
.theme-option[data-theme-code="D07"]{--preview-chrome:#16101F;--preview-bg:#241C32;--preview-card:#3C3050;--preview-text:#F5EFFC}
body,.app-area,.main-content{background:var(--bg);color:var(--ink)}
.topbar,.bottom-nav,.sidebar{background:var(--chrome);border-color:color-mix(in srgb,var(--chrome) 75%,white);color:var(--nav-text)}
.topbar{box-shadow:0 3px 14px #0002}
.topbar-user,.topbar .icon-btn,.sidebar-user,.sidebar-user strong,.nav-link,.sidebar-note strong{color:var(--nav-text)}
.topbar-user:hover{color:var(--accent)}
.sidebar-caption,.sidebar-user small,.sidebar-note p{color:var(--nav-muted)}
.sidebar-note{background:#ffffff0b;border-color:#ffffff24}
.nav-link.active,.nav-link:hover{background:#ffffff14;color:var(--accent)}
.bottom-nav{box-shadow:0 -5px 18px #0003}
.bottom-nav a{color:var(--nav-muted)}
.bottom-nav a.active{background:#ffffff09;color:var(--accent)}
.bottom-nav a.active:before{background:var(--accent)}
.panel,dialog,.form-panel,.food-panel,.agent-card,.food-stat,.history-entry,.recovery-entry{background:var(--surface);border-color:var(--line);color:var(--ink)}
dialog::backdrop{background:#07101585}
h1,h2,h3,strong,label,.food-name strong,.food-stat strong,.login-box h2{color:inherit}
small,.muted,.field-hint,.page-heading .muted,.agent-footer,.agent-heading small{color:var(--muted)}
input,select,textarea{color:var(--ink);background:var(--input);border-color:var(--line)}
html[data-scheme=dark] input,html[data-scheme=dark] select,html[data-scheme=dark] textarea{background:var(--input)!important;color:var(--ink)!important}
html[data-scheme=dark] .allocation-cell.fixed input{background:var(--surface-alt)!important}
html[data-scheme=dark] input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px var(--input) inset}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline-color:var(--accent)}
.btn.secondary,.btn.ghost,.icon-btn,.btn:not(.primary):not(.danger){color:var(--ink);border-color:var(--line);background:var(--surface)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.primary:hover{background:var(--brand-action-hover)}
.btn.danger{background:color-mix(in srgb,var(--bad) 13%,var(--surface));color:var(--bad);border-color:color-mix(in srgb,var(--bad) 38%,var(--line))}
.topbar .icon-btn{color:var(--nav-text);background:transparent;border-color:transparent}
.badge,.badge.purple,.badge.green,.notice{background:var(--surface-alt);color:var(--ink);border-color:var(--line)}
.notice svg{color:var(--muted)}
.daily-dashboard,.daily-dashboard.is-stuck{background:var(--bg)}
.daily-dashboard .summary-card,.daily-dashboard .macro-orb .summary-value{color:var(--ink)}
.macro-orb{background:var(--surface);box-shadow:0 2px 5px #0002}
.daily-dashboard .macro-orb .summary-label,.daily-dashboard .macro-orb .summary-reference,.dashboard-caption{color:var(--muted)}
.macro-ring-track,.macro-orb[data-neutral=true] .macro-ring-track{stroke:color-mix(in srgb,var(--muted) 30%,var(--surface))}
.summary-card.status-ok{--ring-color:var(--good)}
.summary-card.status-error{--ring-color:var(--bad)}
.summary-card.status-below,.summary-card.status-incomplete{--ring-color:var(--warning)}
.summary-card.status-neutral{--ring-color:var(--muted)}
.day-picker,.day-choices button,.food-results,.mobile-food-options>button,.food-options>button{background:var(--surface);border-color:var(--line);color:var(--ink)}
.day-picker-name,.day-picker-chevron,.day-choices svg,.picker-name strong,.food-combobox input,.food-picker,.food-row [data-nutrient]{color:var(--ink)}
.day-picker-mark,.food-monogram{background:var(--surface-alt);color:var(--ink)}
.day-picker:hover,.day-choices button:hover,.day-choices button.selected,.mobile-food-options>button:hover,.mobile-food-options [aria-selected=true]{background:var(--surface-alt);border-color:var(--accent)}
.day-choices button[aria-current=true],.day-choices button:focus-visible,.mobile-food-options>button[aria-selected=true],.food-results>button[aria-selected=true]{background:var(--surface-alt);color:var(--ink);border-color:var(--accent)}
.day-controls{gap:7px;flex-wrap:nowrap}.day-controls .day-picker{flex:1;min-width:0}
.day-foods{min-width:40px;padding:8px 10px;min-height:40px;gap:5px;font-size:11px;white-space:nowrap}
.day-foods svg{width:18px;height:18px}
.meal-card,.meal-card .meal-body{background:var(--surface)}
.meal-card .food-row,.meal-card .food-row-shell:nth-child(even) .food-row{background:var(--surface)}
.meal-card .food-row-shell:nth-child(4n) .food-row{background:var(--meal-alt)}
.meal-card .food-row-shell.row-selected .food-row{background:var(--meal-heading)}
.meal-card .composition-heading{background:var(--surface-alt);color:var(--muted);border-color:var(--line)}
.meal-card .food-row-shell{border-color:var(--line)}
.meal-card .meal-add-element{background:var(--surface-alt);color:var(--ink)}
.meal-card .quantity-field input{background:var(--input);color:var(--ink)}
.meal-card .quantity-step{background:var(--meal-icon-bg);color:var(--meal-ink)}
.meal-header .ai-button,#compose-day-ai{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--brand-orange-ink)}
.editor-toolbar #compose-day-ai{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--brand-orange-ink)}
.editor-toolbar #expand-all{color:var(--ink);background:transparent}
html[data-scheme=dark] .meal-header .ai-button{color:var(--brand-orange-ink)}
.bottom-nav a>span:last-child{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.editor-toolbar #compose-day-ai>span:last-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.element-types{background:var(--surface-alt);border-color:var(--line)}
.element-types button{color:var(--muted)}
.element-types button[aria-pressed=true],.element-types button[aria-selected=true]{background:var(--surface);color:var(--ink)}
.goal-rule,.goal-card,.goal-result,.goal-summary,.profile-notes,.structure-entry{background:var(--surface);border-color:var(--line);color:var(--ink)}
.goal-rule:has(select option[value=remainder]:checked),#goals-form .modal-actions{background:var(--surface-alt);border-color:var(--line)}
.goal-rule-result,.goal-rule-fields label,.goal-rule .muted{color:var(--muted)}
.planner-table th,.planner-table thead th:first-child,.planner-table tfoot th,.planner-table tfoot td,.planner-table .grid-remaining td,.planner-table .grid-remaining th{background:var(--surface-alt);color:var(--ink);border-color:var(--line)}
.allocation-cell,.allocation-cell input,.cell-lock{background:var(--surface);color:var(--ink);border-color:var(--line)}
.allocation-cell.fixed,.allocation-cell.fixed input,.allocation-cell.fixed .cell-lock{background:var(--surface-alt);color:var(--ink)}
.planner-table .allocation-cell.cell-error,.allocation-cell.cell-error input{background:color-mix(in srgb,var(--bad) 14%,var(--surface));color:var(--ink)}
.validation-message{background:var(--surface-alt);color:var(--ink);border-color:var(--line)}
.validation-message.error{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--surface))}
.validation-message.incomplete{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,var(--surface))}
.validation-message.ok{color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--surface))}
.meal-icon-options button{background:var(--surface);color:var(--ink);border-color:var(--line)}
.meal-icon-options button[aria-pressed=true]{background:var(--surface-alt);color:var(--ink);border-color:var(--accent)}
.local-recovery{background:color-mix(in srgb,var(--warning) 12%,var(--surface));border-color:var(--warning);color:var(--ink)}
.meal-dock-layer,.meal-dock-layer::before{background:var(--surface)}
.meal-dock-layer::before{border-color:var(--line);border-top-color:var(--meal-accent);box-shadow:0 -5px 22px #0005,0 0 0 2px var(--bg)}
.meal-dock .dock-labels{background:var(--chrome);color:var(--nav-text)}
.meal-dock .dock-actual{background:var(--surface);color:var(--ink);border-color:var(--line)}
.meal-dock .dock-reference{background:var(--surface-alt);color:var(--muted);border-color:var(--line)}
.meal-dock .dock-reference [data-dock-reference]{color:var(--muted)}
.value-ok{color:var(--good)!important}.value-below{color:var(--warning)!important}.value-error{color:var(--bad)!important}.value-neutral{color:var(--muted)!important}
.food-toolbar,.bulk-bar,.table-footer,.foods-table th{background:var(--surface-alt);color:var(--ink);border-color:var(--line)}
.foods-table td,.foods-table th,.agent-heading,.agent-footer{border-color:var(--line)}
.foods-table tr:hover td{background:var(--surface-alt)}
.foods-table .available-check,.food-name small,.picker-name small,.picker-macros small,.save-state{color:var(--muted)}
.food-stats .food-stat,.food-panel .search-field{background:var(--surface);border-color:var(--line);color:var(--ink)}
.app-footer{background:var(--chrome);border-color:var(--line);color:var(--nav-muted)}
html[data-animations=off] .account-action-card,html[data-animations=off] .theme-option{transition:none}
@media(max-width:400px){.day-foods>span{display:none}.day-foods{padding:8px;min-height:40px}.day-controls{gap:5px}}
@media(prefers-reduced-motion:no-preference){.account-action-card,.theme-option{transition:transform .18s ease,border-color .18s ease}}
