/* Vegemania: calmer editorial palette + unmistakable desktop interaction states. */
:root{--dark:#214735;--pine:#2b6048;--sage:#e9f1e6;--cream:#f7f9f4;--line:#dfe8df;--text:#263e31;--muted:#607567;--lime:#dce9c8;--shadow:0 9px 30px #254d3520}
body{background-color:#f7f9f4;background-image:radial-gradient(ellipse at 0 0,#edf5e7 0%,transparent 55%),radial-gradient(ellipse at 100% 30%,#edf5ed 0%,transparent 55%);color:#263e31}
.app .sidebar{background:linear-gradient(110deg,#e8f2df,#e3f0e7 67%,#eaf3e9);border-color:#d0e1cd;box-shadow:0 3px 15px #1c482a0c}
.brand-symbol{background:#f9fcf5;border-color:#c7dcc6}
.topbar{border-color:#e1e9df}
.top-small,.eyebrow{color:#64816b}
.page-heading h1,.panel-title,.stat strong,.quick strong,.moment-card h3{color:#244b37}
.subtext,.quick small,.moment-card p{color:#65786a}
.panel,.moment-card,.feature-panel,.day-card{background:#fff;border-color:#e0e8df;box-shadow:0 5px 21px #214c3410}
/* Calm summaries: gentle texture replaces the rainbow row of competing colors. */
.stat,.stat:nth-child(2),.stat:nth-child(3),.stat:nth-child(4){background:#fff;border-color:#e2eae0;box-shadow:0 5px 17px #214c340b}
.stat:nth-child(1){background:#f7faf4}
.stat:nth-child(2){background:#f8faf5}
.stat:nth-child(3){background:#fcfaf6}
.stat:nth-child(4){background:#f7faf8}
.stat .mini-icon{opacity:.82}
.quick,.quick:nth-child(2n),.quick:nth-child(3n),.upgrade-shortcut,.upgrade-shortcut:nth-child(2),.upgrade-shortcut:nth-child(3),.upgrade-shortcut:nth-child(4){background:#fff;border:1px solid #e1e9e0}
.quick .quick-ico{background:#edf4e9}
.moment-card:first-child{background:#fff}
.moment-card.challenge,.moment-card.challenge.is-done{background:linear-gradient(115deg,#f2f6e9,#edf4e8);border-color:#dfe9d8}
.mood-button{background:#f4f7f1;color:#244a36}
.mood-button.active{background:#e3f0dc;border-color:#789c7c}
.nutri-stat,.nutri-stat:nth-child(2n),.nutri-stat:nth-child(3n){background:#f9fbf7;border-color:#e0e9dd}
.nutri-banner{background:linear-gradient(120deg,#e8f2e3,#f5f5eb);border:1px solid #dce9d8}
.style-welcome{background:linear-gradient(115deg,#e8f2e4,#f1f5ed 64%,#f5f1e9);border-color:#e3ece0}
.style-welcome .sticker-chip{opacity:.76}
.tip{background:#eef4e9;color:#48634e}
/* Gentle cover identities; changing the cover should never diminish contrast. */
html[data-cover] .hero,:root .hero{background:linear-gradient(115deg,#e4f0de,#e8f3e8 63%,#eef4e7)!important;border-color:#d3e3cf!important}
html[data-cover="rainbow"] .hero{background:linear-gradient(115deg,#e7f1e3,#eceff4 55%,#f4edf2)!important}
html[data-cover="moon"] .hero{background:linear-gradient(115deg,#e7f0ed,#e9eaf3 58%,#f3f0e9)!important}
html[data-cover="butterfly"] .hero{background:linear-gradient(115deg,#e7f2e9,#e8f1f3 60%,#f3eef1)!important}
html[data-cover="strawberry"] .hero{background:linear-gradient(115deg,#e8f2e5,#f4ebec 67%,#f4f0e8)!important}
html[data-cover="citrus"] .hero{background:linear-gradient(115deg,#eaf2e1,#f5f2e3 67%,#e9f1e9)!important}
html[data-cover="sunflower"] .hero{background:linear-gradient(115deg,#e9f2df,#f6f2e3 65%,#f5eee6)!important}
html[data-cover="daisy"] .hero{background:linear-gradient(115deg,#ecf3e7,#f4efeb 65%,#eaf3ed)!important}
html[data-cover="mushroom"] .hero{background:linear-gradient(115deg,#eaf0e5,#f3edeb 66%,#eff0e9)!important}
html[data-cover="avocado"] .hero{background:linear-gradient(115deg,#e4f0dc,#e5f0e0 70%,#eef3e7)!important}
.hero-stickers{opacity:.78}
.hero h2,.hero h2 em{color:#234f38!important}
.hero p,.hero .tiny{color:#456950!important}
/* Explicit states so button labels cannot disappear on hover/selection/focus. */
.btn,.btn:visited,.filter-pill,.explore-tab,.theme-swatch,.progress-mode button,.menu-group button,.suggestions button,.recipe-options button{color:#27503a}
.btn:not(.primary):not(:disabled):is(:hover,:focus-visible),.filter-pill:not(.active):is(:hover,:focus-visible),.explore-tab:not(.active):is(:hover,:focus-visible),.theme-swatch:is(:hover,:focus-visible),.progress-mode button:not(.active):is(:hover,:focus-visible),.menu-group button:not(.active):is(:hover,:focus-visible),.suggestions button:is(:hover,:focus-visible),.recipe-options button:is(:hover,:focus-visible){background:#e9f3e7;color:#1d4733;border-color:#a8c4a9}
.btn.danger{color:#a4483a}
.btn.danger:not(:disabled):is(:hover,:focus-visible){background:#fff3f0;color:#873b31;border-color:#dfb4aa}
.btn.primary,.btn.primary:is(:hover,:focus-visible),.hero .btn,.hero .btn:is(:hover,:focus-visible),.explore-tab.active,.explore-tab.active:is(:hover,:focus-visible),.filter-pill.active,.filter-pill.active:is(:hover,:focus-visible){background:#285a42!important;color:#fff!important;border-color:#285a42!important;filter:none!important}
.btn.primary:is(:hover,:focus-visible),.hero .btn:is(:hover,:focus-visible),.explore-tab.active:is(:hover,:focus-visible),.filter-pill.active:is(:hover,:focus-visible){background:#1d4835!important;border-color:#1d4835!important}
.nav button,.nav button .nav-text{color:#365a43}
.nav button:not(.active):is(:hover,:focus-visible){background:#fff!important;color:#1d4835!important;box-shadow:0 2px 8px #214c3418}
.nav button:not(.active):is(:hover,:focus-visible) .nav-text{color:#1d4835!important}
.nav button.active,.nav button.active:is(:hover,:focus-visible){background:#285a42!important;color:#fff!important;box-shadow:0 3px 10px #214c3420}
.nav button.active .nav-text,.nav button.active:is(:hover,:focus-visible) .nav-text{color:#fff!important}
.quick:is(:hover,:focus-visible),.upgrade-shortcut:is(:hover,:focus-visible){background:#f1f7ee!important;border-color:#b4cfb5!important;color:#234c37!important;box-shadow:0 7px 22px #214c3418}
.quick:is(:hover,:focus-visible) strong,.upgrade-shortcut:is(:hover,:focus-visible) strong{color:#234c37!important}
.quick:is(:hover,:focus-visible) small,.upgrade-shortcut:is(:hover,:focus-visible) small{color:#546e5c!important}
.mood-button:is(:hover,:focus-visible){background:#e8f3e4!important;color:#214c36!important;border-color:#9ebca0}
.mood-button.active,.mood-button.active:is(:hover,:focus-visible){background:#e0eedb!important;color:#214c36!important;border-color:#628d68}
.theme-swatch.active,.theme-swatch.active:is(:hover,:focus-visible){background:#eff6ed!important;color:#214c36!important;border-color:#689570!important}
.theme-swatch strong,.theme-swatch:is(:hover,:focus-visible) strong{color:#214c36!important}
.progress-mode button.active,.progress-mode button.active:is(:hover,:focus-visible){background:#fff!important;color:#214c36!important}
.calendar-cell:is(:hover,:focus-visible),.sticker-option:is(:hover,:focus-visible){background:#edf5e9;color:#214c36}
button:focus-visible,a:focus-visible,[role="button"]:focus-visible{outline:3px solid #80ae82;outline-offset:3px}
@media(min-width:1101px){
  .app .sidebar{padding-block:13px}
  .nav{gap:7px}
  .nav button{border:1px solid #dce9d9;background:#f9fcf9ad;min-height:43px;border-radius:12px;padding:9px 12px}
  .nav button.active{border-color:#285a42}
  .page{padding-top:29px}
  .page-heading{margin-bottom:25px}
  .dashboard-grid{gap:20px}
  .quick-grid,.stats{gap:15px}
}
@media(max-width:770px){
  .app .sidebar{background:linear-gradient(115deg,#e8f3df,#e5f0e8);border-color:#cbdfca}
  .nav button:not(.active){background:transparent;border:0}
  .hero{padding:22px!important}
  .stats{gap:10px}
  .stat{padding:16px}
  .hero-stickers{opacity:.67}
}
