#food-rhythm { --fr-leaf:#197457; --fr-body:#DCE9AE; --fr-face:#163D32; --fr-tongue:#EF7892; --fr-green:var(--fr-leaf); --fr-soft:color-mix(in srgb,var(--fr-body) 32%,white); --fr-ink:var(--fr-face); --fr-muted:color-mix(in srgb,var(--fr-face) 66%,white); --fr-radius:24px; font:16px/1.5 system-ui,sans-serif; color:var(--fr-ink); max-width:420px; margin:12px auto; color-scheme:light; }
#food-rhythm * { box-sizing:border-box; }
#food-rhythm button,#food-rhythm input,#food-rhythm select { font:inherit; }
#food-rhythm button { cursor:pointer; touch-action:manipulation; }
#food-rhythm button:focus-visible,#food-rhythm input:focus-visible,#food-rhythm select:focus-visible { outline:3px solid var(--fr-leaf); outline-offset:3px; }
#food-rhythm .fr-phone { background:#f6f8f3; border:1px solid #dce3da; border-radius:32px; overflow:hidden; min-height:max(690px,calc(100dvh - 24px)); position:relative; box-shadow:0 18px 65px #203d2812; }
#food-rhythm .fr-top { position:relative; display:flex; align-items:center; justify-content:flex-end; padding:19px 23px 10px; gap:8px; }
#food-rhythm .fr-top[hidden],#food-rhythm .fr-language-switch[hidden] { display:none; }
#food-rhythm .fr-header-mascot { position:absolute; top:6px; left:50%; width:80px; transform:translateX(-50%); pointer-events:none; }
#food-rhythm .fr-header-mascot[hidden] { display:none; }
#food-rhythm .fr-header-mascot .fr-choice-mascot { width:80px; margin:0; }
#food-rhythm .fr-top-back { position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none; width:58px; height:44px; margin-right:auto; padding:0; border:0; border-radius:16px; background:transparent; color:#15362d; transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
#food-rhythm .fr-top-back[hidden] { display:none; }
#food-rhythm .fr-top-back::before { content:''; position:absolute; top:4px; left:4px; width:50px; height:34px; border-radius:12px; background:white; box-shadow:0 2px 8px #14201412,0 1px 2px #1420140a; pointer-events:none; }
#food-rhythm .fr-top-back svg { position:relative; width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; transform:translateX(-1px); }
@media(hover:hover) { #food-rhythm .fr-top-back:hover { transform:scale(1.04); } }
#food-rhythm .fr-top-back:active { transform:scale(.96); }
@media(prefers-reduced-motion:reduce) { #food-rhythm .fr-top-back { transition:none; } }
#food-rhythm .fr-language-switch { position:relative; flex:none; width:58px; height:44px; border:1px solid transparent; border-radius:16px; background:transparent; overflow:hidden; transition:width .45s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1),background .25s ease; }
#food-rhythm .fr-language-switch:hover { transform:scale(1.04); }
#food-rhythm .fr-language-switch.open { width:112px; border-color:#1420140f; background:#ebf0e8bf; }
#food-rhythm .fr-language-switch.open:hover { background:#e4ebe1f2; }
#food-rhythm .fr-lang-pill { position:absolute; top:4px; left:4px; width:50px; height:34px; border-radius:12px; background:white; box-shadow:0 2px 8px #14201412,0 1px 2px #1420140a; transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
#food-rhythm .fr-language-switch.open[data-lang=ru] .fr-lang-pill { transform:translateX(52px); }
#food-rhythm .fr-lang-option { position:absolute; z-index:1; top:4px; width:50px; height:34px; padding:0; border:0; background:transparent; color:var(--fr-ink); font:600 12px/1 system-ui,sans-serif; letter-spacing:.04em; cursor:pointer; transition:left .45s cubic-bezier(.34,1.56,.64,1); }
#food-rhythm .fr-lang-option[data-value=en] { left:4px; }
#food-rhythm .fr-lang-option[data-value=ru] { left:56px; }
#food-rhythm .fr-language-switch:not(.open)[data-lang=ru] .fr-lang-option[data-value=ru] { left:4px; }
#food-rhythm .fr-language-switch:not(.open) .fr-lang-option[aria-pressed=false] { visibility:hidden; pointer-events:none; }
@media(prefers-reduced-motion:reduce) { #food-rhythm .fr-language-switch,#food-rhythm .fr-lang-pill,#food-rhythm .fr-lang-option { transition:none; } }