@property --ink { syntax:"<color>"; inherits:true; initial-value:#352a24; }
@property --muted { syntax:"<color>"; inherits:true; initial-value:#776a5b; }
@property --accent { syntax:"<color>"; inherits:true; initial-value:#70503a; }
@property --accent-soft { syntax:"<color>"; inherits:true; initial-value:#eadcc4; }
@property --green { syntax:"<color>"; inherits:true; initial-value:#277343; }
@property --canvas { syntax:"<color>"; inherits:true; initial-value:#faf7f0; }
@property --surface { syntax:"<color>"; inherits:true; initial-value:#fffdf7ad; }
@property --glass { syntax:"<color>"; inherits:true; initial-value:#fffaf294; }
@property --edge { syntax:"<color>"; inherits:true; initial-value:#ffffffda; }
@property --line { syntax:"<color>"; inherits:true; initial-value:#5844321a; }
@property --wash { syntax:"<color>"; inherits:true; initial-value:#deccb0; }
@property --wash2 { syntax:"<color>"; inherits:true; initial-value:#eee4cb; }
@property --deep { syntax:"<color>"; inherits:true; initial-value:#ebe0ca; }
@property --selected { syntax:"<color>"; inherits:true; initial-value:#624631; }
@property --on-selected { syntax:"<color>"; inherits:true; initial-value:#fffaf0; }
@property --solid { syntax:"<color>"; inherits:true; initial-value:#faf6ee; }
@property --sheet { syntax:"<color>"; inherits:true; initial-value:#fbf7ee; }
/* Ruchi: light espresso by default, basil for veg, paprika for egg/non-veg. */
html[data-palette="basil"] .final-menu {
  --ink:#193c30; --muted:#5d7065; --accent:#226548; --accent-soft:#dcebd8;
  --green:#277343; --canvas:#f5f6ee; --surface:#ffffffa6; --glass:#ffffff91; --edge:#ffffffda;
  --line:#28453218; --wash:#b7d7bd; --wash2:#e4e9c6; --deep:#d4e5d3;
  --selected:#205b40; --on-selected:#fffef6; --solid:#f6f8f0; --sheet:#f7faf2;
  --shadow:inset 0 1px 0 #fff,0 6px 24px #25463406;
}
html[data-palette="paprika"] .final-menu {
  --ink:#402d27; --muted:#80675b; --accent:#b44129; --accent-soft:#f8dcca;
  --green:#347149; --canvas:#fff7ef; --surface:#fffdf8ae; --glass:#fffdf39c; --edge:#ffffffe8;
  --line:#723b2318; --wash:#f4b797; --wash2:#f5dfac; --deep:#f5d3be;
  --selected:#b44129; --on-selected:#fffaf0; --solid:#fff8ef; --sheet:#fff8ef;
  --shadow:inset 0 1px 0 #fff,0 6px 24px #8a3d2007;
}
html[data-palette="espresso"] .final-menu {
  color-scheme:light;
  --ink:#352a24; --muted:#776a5b; --accent:#70503a; --accent-soft:#eadcc4;
  --green:#277343; --canvas:#faf7f0; --surface:#fffdf7ad; --glass:#fffaf294; --edge:#ffffffda;
  --line:#5844321a; --wash:#deccb0; --wash2:#eee4cb; --deep:#ebe0ca;
  --selected:#624631; --on-selected:#fffaf0; --solid:#faf6ee; --sheet:#fbf7ee;
  --shadow:inset 0 1px 0 #fff,0 6px 24px #50372107;
}
html[data-palette] .final-menu {
  background:radial-gradient(ellipse 85% 580px at 100% -5%,var(--wash),transparent 85%),radial-gradient(ellipse 85% 760px at 0 700px,var(--wash2),transparent 85%),linear-gradient(160deg,var(--canvas),var(--canvas) 68%,var(--deep));
  background-attachment:fixed; --float-shadow:0 16px 46px #00000016,inset 0 1px 0 var(--edge);
}
html[data-palette] .final-menu::before { opacity:.018; }
html[data-palette] :is(.journal-meals,.food-card,.final-date > summary,.service-countdown,.app-dock,.source-details) {
  background:linear-gradient(135deg,var(--surface),var(--glass)); border-color:var(--edge); box-shadow:var(--shadow);
}
html[data-palette] .brand-mark { background:transparent; }
html[data-palette] .brand-mark img { mix-blend-mode:multiply; }


html[data-palette] .meal-indicator { background:linear-gradient(145deg,var(--selected),color-mix(in srgb,var(--selected),var(--ink) 15%)); border-color:var(--selected); box-shadow:0 4px 10px #00000012; }
html[data-palette] .journal-meals .meal.active :is(.meal-name,.meal-time,.meal-symbol) { color:var(--on-selected); }
html[data-palette] .meal-symbol { color:var(--muted); }
html[data-palette] .journal-meals .meal.active:hover .meal-name { color:var(--on-selected); }
html[data-palette] .journal-meals .meal.active { background:var(--selected); }
html[data-palette] .journal-meals.indicator-ready .meal.active { background:transparent; }
html[data-palette] :is(.diet-filters button,.view-toggle,.close-button,.secondary-action) { background:var(--glass); border-color:var(--edge); color:var(--muted); }
html[data-palette] .diet-filters button[aria-pressed=true] { background:var(--selected); color:var(--on-selected); border-color:var(--selected); }
html[data-palette] .diet-filters .veg-dot { background:transparent; }
html[data-palette] .view-toggle button[aria-pressed=true] { background:var(--accent-soft); }

html[data-palette] .app-dock { background:color-mix(in srgb,var(--solid) 80%,transparent); box-shadow:var(--float-shadow); }
html[data-palette] .app-dock button[aria-current] { background:var(--accent-soft); color:var(--accent); }
html[data-palette] .app-dock button:hover { background:var(--glass); }
html[data-palette] .food-card:not(.featured-card) .food-photo { border-color:var(--edge); box-shadow:0 10px 22px #00000012; }
html[data-palette] .save-dish[aria-pressed=true] { background:var(--accent-soft) !important; }
html[data-palette] .card-measure { border-color:var(--edge); }
html[data-palette] .service-countdown { color:var(--ink); }
html[data-palette] .service-countdown.closing-soon { background:var(--accent-soft); border-color:var(--accent); }
html[data-palette] .countdown-separator { color:var(--muted); }
html[data-palette] .date-popover-content,html[data-palette] .final-menu dialog { background:var(--sheet); color:var(--ink); border-color:var(--edge); }
html[data-palette] .day-button { color:var(--ink); }
html[data-palette] .day-button.active,html[data-palette] .day-button:hover:not(.active) { background:var(--accent-soft); color:var(--accent); }
html[data-palette] :is(.report-connection,.available-release,.report-review pre,.photo-preview) { background:var(--glass); color:var(--muted); border-color:var(--edge); }
html[data-palette] #report-form :is(input,select,textarea,.photo-picker) { background:var(--glass); border-color:var(--line); color:var(--ink); }
html[data-palette] .primary-button { background:var(--selected); color:var(--on-selected); }
html[data-palette] .release-list li > div { background:var(--glass); border-color:var(--edge); }
html[data-palette] :is(.release-icon,.roadmap-emblem) { background:var(--accent-soft); color:var(--accent); border-color:var(--edge); box-shadow:none; }
html[data-palette] .release-list::before { background:linear-gradient(var(--accent),var(--line)); }

html[data-palette] .food-title { color:var(--ink); }
html[data-palette] .food-card { transition:transform 350ms var(--ease),box-shadow 350ms var(--ease),border-color 350ms; }
@media(hover:hover) {
  html[data-palette] .food-card:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--accent) 32%,var(--edge)); box-shadow:0 12px 30px #00000010; }
  html[data-palette] .food-card:hover .food-photo img { transform:scale(1.04); }
}
html[data-palette] button:active { transform:scale(.96); }
html[data-palette] .food-card:active { transform:scale(.988); }
.colour-touch { position:fixed; pointer-events:none; z-index:1000; width:36px; height:36px; border:1px solid var(--accent); background:color-mix(in srgb,var(--accent) 12%,transparent); border-radius:50%; animation:colour-touch 450ms ease-out forwards; }
@keyframes colour-touch { from { opacity:.4; transform:translate(-50%,-50%) scale(.2); } to { opacity:0; transform:translate(-50%,-50%) scale(1.5); } }
@media(prefers-reduced-motion:reduce) {
  html[data-palette] .food-card:hover,html[data-palette] .food-card:active,html[data-palette] button:active { transform:none; }
  .colour-touch { display:none; }
}
@media(prefers-reduced-transparency:reduce) {
  html[data-palette] :is(.food-card,.journal-meals,.app-dock,.final-date > summary,.service-countdown,.source-details) { background:var(--solid); backdrop-filter:none; }
}

html[data-palette] #report-form textarea::placeholder { color:var(--muted); opacity:.8; }

html[data-palette] .final-menu { color-scheme:light; transition:--ink 520ms cubic-bezier(.22,1,.36,1), --muted 520ms cubic-bezier(.22,1,.36,1), --accent 520ms cubic-bezier(.22,1,.36,1), --accent-soft 520ms cubic-bezier(.22,1,.36,1), --green 520ms cubic-bezier(.22,1,.36,1), --canvas 520ms cubic-bezier(.22,1,.36,1), --surface 520ms cubic-bezier(.22,1,.36,1), --glass 520ms cubic-bezier(.22,1,.36,1), --edge 520ms cubic-bezier(.22,1,.36,1), --line 520ms cubic-bezier(.22,1,.36,1), --wash 520ms cubic-bezier(.22,1,.36,1), --wash2 520ms cubic-bezier(.22,1,.36,1), --deep 520ms cubic-bezier(.22,1,.36,1), --selected 520ms cubic-bezier(.22,1,.36,1), --on-selected 520ms cubic-bezier(.22,1,.36,1), --solid 520ms cubic-bezier(.22,1,.36,1), --sheet 520ms cubic-bezier(.22,1,.36,1); }

/* Colour tokens interpolate once on the body; descendants inherit each frame. */
html[data-palette] .diet-filters button[aria-pressed=true] .veg-dot { color:var(--on-selected); }
html[data-palette] .dining-notice { background:var(--accent-soft); border-color:var(--edge); }
html[data-palette] .food-options button[aria-pressed=true] { border-color:var(--accent); }
@media(prefers-reduced-motion:reduce) { html[data-palette] .final-menu { transition:none; } }
