
@keyframes fr-leaf-jump { 0%,100% { transform:rotate(0); } 25% { transform:rotate(-16deg); } 55% { transform:rotate(13deg); } 75% { transform:rotate(-6deg); } }
@media(prefers-reduced-motion:reduce) { #food-rhythm .fr-mascot,#food-rhythm .fr-mascot-leaf,#food-rhythm .fr-start,#food-rhythm .fr-tongue-out .fr-tongue { animation:none; transition:none; } #food-rhythm .fr-tongue-out .fr-tongue { opacity:1; } }
#food-rhythm .fr-kicker { color:var(--fr-green); letter-spacing:1.7px; font-size:11px; font-weight:750; text-transform:uppercase; }
#food-rhythm .fr-stepbar { height:5px; flex:1; background:#e0e7dc; border-radius:8px; overflow:hidden; }
#food-rhythm .fr-stepbar span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--fr-body),var(--fr-leaf)); }
#food-rhythm .fr-progress-readout { width:4ch; text-align:right; font:500 13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; font-variant-numeric:tabular-nums; }
#food-rhythm .fr-question { min-height:510px; padding-top:28px; display:flex; flex-direction:column; }
#food-rhythm .fr-options { display:grid; gap:12px; margin-top:27px; }
#food-rhythm .fr-option { display:flex; align-items:center; gap:15px; text-align:left; min-height:74px; padding:15px 17px; border:1px solid #dde5d8; border-radius:20px; background:white; color:var(--fr-ink); }
#food-rhythm .fr-option[aria-pressed=true] { background:var(--fr-soft); border-color:var(--fr-green); }
#food-rhythm .fr-option strong { display:block; font-size:16px; }
#food-rhythm .fr-option small { color:var(--fr-muted); font-size:12px; }
#food-rhythm .fr-goal-panel { border:0; background:#f8faf5b8; }
#food-rhythm .fr-choice-head { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:120px; }
#food-rhythm .fr-choice-head h1 { margin:0; font-size:28px; }
#food-rhythm .fr-measure-head { width:100%; min-height:120px; }
#food-rhythm .fr-measure-head > div:first-child { flex:1; min-width:0; }
#food-rhythm .fr-measure-head h1,#food-rhythm .fr-question-ruler .fr-measure-head h1 { margin:0; text-align:left; }
#food-rhythm .fr-measure-head .fr-choice-mascot { flex:0 0 92px; width:92px; margin-top:18px; }
#food-rhythm .fr-choice-mascot { position:relative; flex:0 0 92px; width:92px; margin-top:18px; animation:fr-choice-float 3.5s ease-in-out infinite; }
#food-rhythm .fr-choice-mascot svg { display:block; width:100%; overflow:visible; }
#food-rhythm .fr-choice-mascot-body { transform-origin:50px 95px; }
#food-rhythm .fr-choice-mascot-leaf { transform-origin:51px 25px; animation:fr-choice-leaf 2.8s ease-in-out infinite; }
#food-rhythm .fr-choice-mascot-shadow { fill:#197457; opacity:.1; transform-origin:center; animation:fr-choice-shadow 3.5s ease-in-out infinite; }
#food-rhythm .fr-choice-mascot.fr-pop .fr-choice-mascot-body { animation:fr-choice-pop .7s ease-in-out; }
#food-rhythm .fr-choice-mascot.fr-pop .fr-choice-mascot-leaf { animation:fr-choice-leaf-pop .55s ease; }
#food-rhythm .fr-choice-mascot.fr-pop::after { content:'✦'; position:absolute; top:3px; right:-3px; color:var(--fr-tongue); font-size:20px; animation:fr-choice-spark .55s ease-out both; }
@keyframes fr-choice-float { 50% { transform:translateY(-6px); } }
@keyframes fr-choice-shadow { 50% { transform:scaleX(.78); opacity:.05; } }
@keyframes fr-choice-leaf { 50% { transform:rotate(7deg); } }
@keyframes fr-choice-pop { 0%,100% { transform:translateY(0) scale(1); } 18% { transform:translateY(3px) scale(1.08,.9); } 46% { transform:translateY(-20px) scale(.96,1.06); } 75% { transform:translateY(1px) scale(1.05,.95); } 88% { transform:translateY(-3px) scale(1); } }
@keyframes fr-choice-leaf-pop { 40% { transform:rotate(-18deg); } 70% { transform:rotate(10deg); } }
@keyframes fr-choice-spark { 0% { opacity:0; transform:translateY(8px) scale(.4); } 35% { opacity:1; } 100% { opacity:0; transform:translateY(-8px) scale(1); } }
#food-rhythm .fr-goal-option { position:relative; display:grid; grid-template-columns:46px minmax(0,1fr) 19px; align-items:center; gap:14px; min-height:82px; padding:14px 16px; border:1px solid #20553d1a; border-radius:21px; background:#ffffff94; box-shadow:inset 0 1px 0 #ffffffd9,0 7px 22px #27483509; transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,background .25s,box-shadow .25s; }