
#food-rhythm .fr-weekday-option[aria-pressed=true] { border-color:var(--fr-green); background:var(--fr-green); color:white; }
#food-rhythm .fr-weekday-presets { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
#food-rhythm .fr-weekday-preset { min-height:36px; padding:8px 11px; border:0; border-radius:11px; background:#eaf2eb; color:var(--fr-green); font-size:11px; font-weight:650; }
#food-rhythm .fr-weekday-summary { min-height:20px; margin:16px 0; color:#62746a; font-size:12px; }
#food-rhythm .fr-weekday-panel .fr-time-confirm:disabled { opacity:.45; cursor:default; }
#food-rhythm .fr-reminder-days:focus-visible,#food-rhythm .fr-weekday-panel button:focus-visible { outline:3px solid var(--fr-leaf); outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { #food-rhythm .fr-weekday-dialog>* { animation:none; } #food-rhythm .fr-weekday-option { transition:none; } }
#food-rhythm .fr-time-button { min-width:76px; min-height:38px; padding:7px 12px; border:1px solid #dfe7df; border-radius:12px; background:#f5f7f4; color:#7e8c85; font:700 14px/1 system-ui,sans-serif; letter-spacing:.02em; transition:background .2s,border-color .2s,color .2s,transform .15s; }
#food-rhythm .fr-time-button:active { transform:scale(.94); }
#food-rhythm .fr-reminder.is-enabled .fr-time-button { border-color:#c9e2d3; background:#edf6f0; color:var(--fr-green); }
#food-rhythm .fr-time-dialog { position:fixed; z-index:60; inset:0; display:grid; align-items:end; justify-items:center; padding:12px; }
#food-rhythm .fr-time-backdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:#102a208f; backdrop-filter:blur(3px); animation:fr-time-fade .2s ease-out both; }
#food-rhythm .fr-time-panel { position:relative; width:min(396px,100%); max-height:calc(100dvh - 24px); overflow:auto; padding:20px; border:1px solid #e2e8df; border-radius:28px; background:#fbfcf9; box-shadow:0 28px 70px #0d281d4f; animation:fr-time-rise .35s cubic-bezier(.16,1,.3,1) both; }
#food-rhythm .fr-time-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#food-rhythm .fr-time-panel-head small { color:#7a8981; font-size:11px; }
#food-rhythm .fr-time-panel-head h2 { margin:1px 0 0; font-size:21px; }
#food-rhythm .fr-time-close { width:38px; height:38px; padding:0; border:0; border-radius:50%; background:#edf2ed; color:#64736c; font-size:24px; line-height:1; }
#food-rhythm .fr-time-display { display:grid; grid-template-columns:1fr 18px 1fr; align-items:start; gap:8px; width:244px; margin:17px auto 12px; }
#food-rhythm .fr-time-display>b { padding-top:18px; color:#64736c; font-size:30px; line-height:1; text-align:center; }
#food-rhythm .fr-time-display-part { display:grid; gap:4px; min-width:0; padding:8px; border:2px solid transparent; border-radius:17px; background:#e8f1eb; color:#527166; text-align:center; transition:background .2s,border-color .2s,color .2s; }
#food-rhythm .fr-time-display-part strong { font-size:31px; line-height:1; letter-spacing:.03em; }
#food-rhythm .fr-time-display-part span { font-size:10px; font-weight:650; }
#food-rhythm .fr-time-display-part[aria-pressed="true"] { border-color:var(--fr-green); background:#dceee4; color:var(--fr-green); }
#food-rhythm .fr-time-dial { position:relative; width:240px; height:240px; margin:5px auto 12px; border-radius:50%; background:#edf3ed; }
#food-rhythm .fr-time-dial svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
#food-rhythm .fr-time-dial line { stroke:var(--fr-green); stroke-width:2; stroke-linecap:round; opacity:.72; }
#food-rhythm .fr-time-dial circle { fill:var(--fr-green); }
#food-rhythm .fr-dial-option { position:absolute; z-index:1; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:transparent; color:#334b42; font:650 12px/1 system-ui,sans-serif; transform:translate(-50%,-50%); }
#food-rhythm .fr-dial-option[aria-pressed="true"] { background:var(--fr-green); color:white; box-shadow:0 5px 13px #196c5042; }