
#food-rhythm .fr-date { border:0; background:transparent; min-height:64px; border-radius:16px; color:var(--fr-ink); padding:6px 0; font-size:11px; }
#food-rhythm .fr-week .fr-date span { display:block; color:#85918c; font-size:9px; }
#food-rhythm .fr-date strong { display:block; font-size:15px; margin-top:3px; color:var(--fr-ink); }
#food-rhythm .fr-week .fr-date[data-today=true] strong { font-size:18px; }
#food-rhythm .fr-date[data-today=true]:not([aria-pressed=true]) { box-shadow:inset 0 0 0 1.5px #9ec7ad; }
#food-rhythm .fr-date[aria-pressed=true] { background:var(--fr-green); color:#e1f4e8; box-shadow:0 8px 20px #1b7d5c2e; }
#food-rhythm .fr-date[aria-pressed=true] span { color:#e1f4e8; }
#food-rhythm .fr-date[aria-pressed=true] strong { color:white; }
#food-rhythm .fr-calendar-open .fr-week { max-height:0; margin:0; opacity:0; transform:translateY(24px); }
#food-rhythm .fr-calendar-reveal { display:grid; grid-template-rows:0fr; opacity:0; transform:translateY(-14px); transition:grid-template-rows .7s cubic-bezier(.4,0,.2,1),opacity .55s ease,transform .7s cubic-bezier(.4,0,.2,1); }
#food-rhythm .fr-calendar-inner { min-height:0; overflow:hidden; }
#food-rhythm .fr-calendar-open .fr-calendar-reveal { grid-template-rows:1fr; opacity:1; transform:translateY(0); }
#food-rhythm .fr-calendar { display:grid; grid-template-columns:repeat(7,1fr); column-gap:4px; row-gap:6px; margin:24px 0 0; }
#food-rhythm .fr-calendar .fr-date { width:42px; height:42px; min-height:42px; justify-self:center; padding:0; border-radius:15px; font-size:13px; color:var(--fr-ink); }
#food-rhythm .fr-calendar .fr-date[aria-pressed=true] { color:white; }
#food-rhythm .fr-calendar .fr-date[data-today=true] { font-weight:800; }
#food-rhythm .fr-calendar-weekday { display:grid; place-items:center; min-height:23px; color:var(--fr-muted); font-size:10px; }
#food-rhythm .fr-month-head { display:grid; grid-template-columns:38px 1fr 38px; align-items:center; gap:10px; padding:10px 0 0; }
#food-rhythm .fr-month-head strong { text-align:center; font-size:18px; font-weight:750; text-transform:capitalize; }
#food-rhythm .fr-month-arrow { width:38px; height:38px; display:grid; place-items:center; padding:0; border:0; border-radius:13px; background:#edf4ee; color:var(--fr-green); transition:background .2s,transform .2s; }
#food-rhythm .fr-month-arrow .fr-ui-icon { width:19px; height:19px; stroke-width:2.3; }
#food-rhythm .fr-month-arrow:active { transform:scale(.93); }
@media(hover:hover) { #food-rhythm .fr-month-arrow:hover { background:#dcece1; } }
#food-rhythm .fr-meter { height:4px; background:#e8eee1; border-radius:3px; margin-top:7px; overflow:hidden; }
#food-rhythm .fr-meter span { height:100%; display:block; background:var(--fr-green); }
#food-rhythm .fr-section { margin:25px 0 13px; }
#food-rhythm .fr-food { width:100%; display:flex; align-items:center; gap:12px; background:white; border:1px solid #e2e8dc; border-radius:19px; padding:14px; margin-bottom:9px; color:var(--fr-ink); text-align:left; }
#food-rhythm .fr-food-symbol { min-width:44px; height:44px; display:grid; place-items:center; border-radius:14px; background:var(--fr-soft); color:var(--fr-green); }
#food-rhythm .fr-food-detail { flex:1; min-width:0; overflow-wrap:anywhere; }
#food-rhythm .fr-food strong { font-size:14px; }
#food-rhythm .fr-food small { display:block; color:var(--fr-muted); font-size:12px; }
#food-rhythm .fr-nav { position:fixed; z-index:20; bottom:max(12px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); width:min(390px,calc(100vw - 24px)); height:88px; display:grid; grid-template-columns:1fr 86px 1fr; align-items:center; padding:0 35px; isolation:isolate; }
#food-rhythm .fr-nav-shape { position:absolute; inset:0; width:100%; height:100%; z-index:-1; overflow:visible; filter:drop-shadow(0 12px 20px #153a2c1a); }
#food-rhythm .fr-nav-shape path { fill:white; stroke:#dfe7dc; stroke-width:1; }
#food-rhythm .fr-nav-item { position:relative; width:74px; height:62px; justify-self:center; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; padding:0; border:0; background:transparent; color:#82918b; font-size:10px; transition:color .25s; -webkit-tap-highlight-color:transparent; }