#food-rhythm .fr-account-row strong { overflow:hidden; max-width:170px; text-overflow:ellipsis; white-space:nowrap; }
#food-rhythm .fr-account-controls { display:grid; gap:12px; padding:17px; }
#food-rhythm .fr-account-controls p { margin:0; color:#536a60; font-size:13px; line-height:1.45; }
#food-rhythm .fr-account-controls label { display:grid; gap:7px; color:#3d594d; font-size:12px; }
#food-rhythm .fr-account-controls .fr-input { width:100%; box-sizing:border-box; }
#food-rhythm .fr-account-controls .fr-primary,#food-rhythm .fr-account-controls .fr-secondary { min-height:46px; margin:0; }
#food-rhythm .fr-account-choices { display:grid; gap:8px; }
#food-rhythm .fr-account-controls small { color:#536a60; }
#food-rhythm .fr-pin-field { display:grid; gap:10px; }
#food-rhythm .fr-pin-label { color:#3d594d; font-size:12px; }
#food-rhythm .fr-pin-boxes { display:flex; justify-content:space-between; gap:clamp(5px,2vw,8px); }
#food-rhythm .fr-pin-box { width:44px; min-width:0; height:52px; padding:0; border:1.5px solid #cad6c8; border-radius:13px; background:white; color:var(--fr-face); font-size:24px; font-weight:700; text-align:center; transition:transform .35s cubic-bezier(.34,1.56,.64,1),border-color .2s ease; }
#food-rhythm .fr-pin-box.filled,#food-rhythm .fr-pin-box:focus { border-color:var(--fr-leaf); }
#food-rhythm .fr-pin-box.pop { transform:scale(1.14); }
#food-rhythm .fr-pin-box:focus-visible { outline:2px solid var(--fr-leaf); outline-offset:2px; }
#food-rhythm .fr-pin-error:empty { display:none; }
#food-rhythm .fr-pin-error:not(:empty) { color:var(--fr-face); font-size:13px; }
@media(prefers-reduced-motion:reduce) { #food-rhythm .fr-pin-box { transition:none; } #food-rhythm .fr-pin-box.pop { transform:none; } }
#food-rhythm .fr-welcome-signin { display:block; width:100%; margin:15px 0 0; padding:12px; border:0; background:transparent; color:var(--fr-green); font:650 14px/1.3 system-ui,sans-serif; text-align:center; }
#food-rhythm .fr-account-conflict { display:grid; gap:12px; padding:16px; border:1px solid #c8dbce; border-radius:20px; background:#f5faf4; }
#food-rhythm .fr-account-conflict > strong { color:#173d32; font-size:15px; }
#food-rhythm .fr-account-versions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#food-rhythm .fr-account-versions > div { display:grid; gap:6px; min-width:0; padding:12px; border:1px solid #dbe8dd; border-radius:14px; background:#fff; }
#food-rhythm .fr-account-versions small { color:#536a60; font-size:11px; }
#food-rhythm .fr-account-versions b { overflow-wrap:anywhere; color:#173d32; font-size:13px; }
#food-rhythm.fr-is-registration .fr-phone { background:radial-gradient(ellipse 210px 280px at 112% 28%,#dce9ae3d,transparent 75%),#fafcf8; }
#food-rhythm.fr-is-registration .fr-main { padding:22px 24px calc(28px + env(safe-area-inset-bottom,0px)); }
#food-rhythm .fr-registration { display:flex; flex-direction:column; min-height:calc(100dvh - 50px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); }
#food-rhythm .fr-registration-head { display:flex; align-items:center; gap:18px; min-height:48px; color:var(--fr-leaf); font-size:13px; font-weight:700; }
#food-rhythm .fr-registration-head .fr-icon { width:48px; height:48px; flex:none; color:var(--fr-leaf); }
#food-rhythm .fr-registration-progress { height:3px; margin:22px 0 65px; border-radius:8px; background:#e4eae1; overflow:hidden; }
#food-rhythm .fr-registration-progress span { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--fr-body),var(--fr-leaf)); }
#food-rhythm .fr-registration--returning .fr-registration-intro { margin-top:90px; }
#food-rhythm .fr-registration--returning.fr-registration--code .fr-registration-intro { margin-top:45px; }
#food-rhythm .fr-registration--code .fr-registration-progress { margin-bottom:22px; }
#food-rhythm .fr-registration-intro { position:relative; max-width:340px; }
#food-rhythm .fr-registration h1 { margin:0; color:var(--fr-face); font-size:clamp(44px,12vw,52px); line-height:1.02; letter-spacing:-.058em; }
#food-rhythm .fr-registration-mascot { position:absolute; top:-22px; right:-2px; width:88px; }
#food-rhythm .fr-registration-mascot .fr-choice-mascot { width:88px; margin:0; }
#food-rhythm .fr-registration-intro--mascot h1 { padding-right:88px; }
#food-rhythm .fr-registration-intro p { margin:18px 0 0; max-width:320px; color:var(--fr-muted); font-size:16px; line-height:1.5; }
#food-rhythm .fr-account-controls.fr-registration-form { display:flex; flex:1; flex-direction:column; gap:0; min-height:0; padding:0; }
#food-rhythm .fr-registration-form > p[role=status] { margin-top:20px; }
#food-rhythm .fr-registration-form label { margin-top:70px; gap:0; color:var(--fr-face); font-size:14px; font-weight:680; }
#food-rhythm .fr-registration-form--code label { margin-top:26px; }
#food-rhythm .fr-registration-form label + label { margin-top:22px; }
#food-rhythm .fr-registration-form .fr-pin-field { margin-top:22px; }
#food-rhythm .fr-registration-form .fr-pin-label { color:var(--fr-face); font-size:14px; font-weight:680; }
#food-rhythm .fr-code-email { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:46px; margin-top:22px; border-bottom:1px solid #a8bead; color:var(--fr-face); font-size:15px; }
#food-rhythm .fr-code-email span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#food-rhythm .fr-code-change { flex:none; min-height:44px; padding:0 2px 0 8px; border:0; background:transparent; color:var(--fr-leaf); font-size:13px; font-weight:650; }
#food-rhythm .fr-registration-form--code .fr-account-choices .fr-secondary { border:0; background:transparent; color:var(--fr-leaf); font-size:14px; font-weight:650; }
#food-rhythm .fr-registration-form .fr-input { height:62px; margin-top:9px; padding:0 0 8px; border:0; border-bottom:2px solid #a8bead; border-radius:0; background:transparent; font-size:21px; font-weight:400; letter-spacing:-.02em; }
#food-rhythm .fr-registration-form .fr-input::placeholder { color:#9aaba1; }
#food-rhythm .fr-registration-form .fr-input:focus { border-bottom-color:var(--fr-leaf); }
#food-rhythm .fr-registration-form .fr-registration-email-hint { margin:12px 0 0; color:var(--fr-muted); font-size:13px; }
#food-rhythm .fr-registration-form .fr-account-choices { margin-top:18px; }
#food-rhythm .fr-registration-action { margin-top:auto; padding-top:30px; }
#food-rhythm .fr-registration-action .fr-primary { min-height:62px; border-radius:20px; font-size:16px; font-weight:700; }
#food-rhythm .fr-registration-action .fr-primary svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
@media(max-height:660px) { #food-rhythm .fr-registration-progress { margin-bottom:26px; } #food-rhythm .fr-registration-form label { margin-top:28px; } }
