:root { --page-bg:#2a2626; --page-ink:#ddc5d0; --card-bg:#fbe89c; --card-ink:#3c0917; }
:root[data-appearance="day"] { --page-bg:#fbe89c; --page-ink:#3c0917; --card-bg:#2a2626; --card-ink:#ddc5d0; }
html,body { background:var(--page-bg); color:var(--page-ink); }
h1,.draft-note,.intro-copy,.zodiac-control,.eats-account,.eats-guide .speech-bubble,.eats-guide .ruler-sign { color:var(--page-ink); }
.eats-guide .speech-bubble { background:var(--page-bg); border-color:var(--page-ink); }
.eats-guide .speech-bubble::before { border-right-color:var(--page-ink); }
.eats-guide .speech-bubble::after { border-right-color:var(--page-bg); }
.eats-guide-right .speech-bubble::before { border-right-color:transparent; border-left-color:var(--page-ink); }
.eats-guide-right .speech-bubble::after { border-right-color:transparent; border-left-color:var(--page-bg); }
.figure-center,.figure-center .answer-card-slide,.figure-card-controls,.location-required-page { background:var(--card-bg); color:var(--card-ink); border-color:var(--card-ink); }
.figure-center .answer-card-slide h2,.figure-center .meal-title { color:var(--card-ink)!important; }
.figure-center .answer-card-slide p,.figure-center .card-number,.figure-center .badge-glyphs,.figure-center .result-table,.figure-center .result-table th,.figure-center .result-table td { color:var(--card-ink); border-color:var(--card-ink); }
.figure-card-controls button,.figure-center .astrology-tabs button,.zodiac-control select { background:var(--card-bg); color:var(--card-ink); border-color:var(--card-ink); }
.figure-card-controls button[aria-pressed="true"],.figure-center .astrology-tabs button[aria-selected="true"] { background:var(--card-ink); color:var(--card-bg); }
.corner-fades stop:first-child,.corner-fades stop:last-child { stop-color:var(--page-bg); }
.heaven-figure .food-compass .diamond .diamond-label { font-size:clamp(18px,3.6cqw,42px); white-space:nowrap; }
.heaven-figure .food-compass .diamond .triangle-content { width:80%; }
.heaven-figure .food-compass .left .triangle-content,.heaven-figure .food-compass .right .triangle-content { width:62%; }
.eats-account { max-width:1120px; justify-content:flex-end; gap:4px; padding-right:0; position:relative; z-index:20; }
.preferences-menu { order:10; position:relative; }
.eats-account .preferences-trigger { display:grid; place-items:center; background:transparent; color:var(--page-ink); border:0; border-radius:50%; width:44px; height:44px; padding:8px; }
.preferences-trigger ion-icon { width:25px; height:25px; }
.preferences-trigger:hover,.preferences-trigger[aria-expanded="true"] { background:var(--card-bg); color:var(--card-ink); }
.preferences-panel { position:absolute; right:0; top:100%; width:min(310px,84vw); padding:20px; text-align:left; border:1px solid var(--page-ink); border-radius:16px; background:var(--page-bg); color:var(--page-ink); box-shadow:0 12px 30px #0003; }
.preferences-panel strong { font-size:20px; }
.preferences-panel fieldset { border:0; margin:18px 0 0; padding:0; }
.preferences-panel legend { margin-bottom:8px; font-size:14px; }
.preference-options { display:flex; gap:6px; }
.preference-options button { flex:1; padding:9px 14px; min-height:44px; background:var(--page-bg); color:var(--page-ink); border:1px solid var(--page-ink); border-radius:8px; font:600 15px "Quicksand",sans-serif; cursor:pointer; }
.preference-options button[aria-pressed="true"] { background:var(--page-ink); color:var(--page-bg); }
.bottom-appearance { display:flex; justify-content:center; align-items:center; gap:14px; margin:1.5rem auto .7rem; color:var(--page-ink); }
:focus-visible { outline:2px solid var(--page-ink); outline-offset:3px; }
@media(max-width:600px) { .eats-account { justify-content:flex-end; } }
.eats-guide .speech-bubble p,.eats-guide .speech-bubble span,
.eats-guide .speech-bubble .eats-greeting,.eats-guide .speech-bubble .eats-message { color:var(--page-ink); }
.location-required-page h1,.location-required-page p,.location-required-page a { color:var(--card-ink); }
/* Preferences live only in the bottom-right gear menu. */
.zodiac-control { display:none !important; }
#page-preferences { width:min(1120px,100%); margin:1rem auto 0; }
#page-preferences .eats-account { padding:12px 0; }
.preferences-panel { top:auto; bottom:100%; }
#page-preferences { font-family:"Quicksand",sans-serif; }
#page-preferences .eats-account { width:100%; }
#page-preferences .preferences-panel { font:400 16px/1.45 "Quicksand",sans-serif; letter-spacing:normal; }
#page-preferences .preferences-panel strong { font:700 20px/1.3 "Quicksand",sans-serif; }
#page-preferences .preferences-panel legend { font:400 14px/1.4 "Quicksand",sans-serif; letter-spacing:normal; }
/* Day palette: yellow background, burgundy speech and gray gradient centers. */
:root[data-appearance="day"] .eats-guide .speech-bubble p,
:root[data-appearance="day"] .eats-guide .speech-bubble span { color:#3c0917 !important; }
:root[data-appearance="day"] .corner-fades stop:not(:first-child):not(:last-child) { stop-color:#2a2626; }

/* Reserve uses the shared button type size and wraps instead of shrinking. */
.heaven-figure .food-compass .left .diamond-label { white-space:normal; max-width:100%; text-align:center; }

.heaven-figure .food-compass .left .triangle-content { width:66%; }

.heaven-figure .food-compass .left .reserve-subtitle { display:block; font-size:.78em; line-height:1.25; white-space:nowrap; }

/* The meal action is primary; the return route remains a text link. */
.location-required-page .eats-coordinate-form button {
  justify-self: center;
  min-height: 44px;
  padding: .7rem 1.15rem;
  border: 2px solid var(--card-ink);
  border-radius: 999px;
  background: var(--page-bg);
  color: var(--page-ink);
  font-weight: 700;
}
.location-required-page a {
  display: inline;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--card-ink);
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: .2em;
}
