[hidden]{display:none!important}.auth-card{max-width:540px;margin:40px auto;padding:30px}.auth-card h1{font-size:clamp(28px,5vw,42px);line-height:1.1}.auth-card input{margin:10px 0 18px;width:100%;min-height:48px}.account-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:12px 0}.account-bar button{padding:10px 16px}.pilot-note{color:#315d46;font-weight:700}button:disabled{opacity:.65;cursor:wait}.auth-card button{margin:8px 0}.auth-card .notice{margin-top:24px}#memberShell[inert]{display:none}
.account-settings{margin-top:32px;padding-top:16px;border-top:1px solid var(--line)}.account-settings summary{cursor:pointer;width:fit-content;color:var(--muted)}.account-settings button{margin-top:8px}#loginCode{font-size:24px;letter-spacing:.15em}#codeForm button:not(.primary){font-size:14px;margin-right:8px}#codeEmail{overflow-wrap:anywhere}

.meal-ring .ring-remaining-value{font-size:14px;font-weight:750;fill:#315d46}.meal-ring.ring-over .ring-remaining-value{fill:#a53525}.meal-ring .ring-state{font-size:7px;letter-spacing:.2px}

@media(max-width:600px){.meal-rings{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.meal-ring strong{font-size:14px}}

.remove-food{font-size:12px;padding:5px 10px;margin:8px 0 0;background:#fff4ef;color:#963c2a;border-color:#edd4c9}

/* Compact food entry: microphone and all four labeled rings share one workspace. */
.meal-workspace{background:#f5f7ef;border:1px solid var(--line);border-radius:14px;padding:16px}
.voice-prompt{font-size:14px;line-height:1.45;margin:0 0 12px;color:#4b594d}
.voice-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.voice-controls .voice-start{flex:1}.voice-controls #voiceDone{margin:0}
#voiceStatus{margin:10px 0 0;min-height:0;line-height:1.4}#voiceStatus:empty,#foodChoices:empty{display:none}
.meal-workspace .meal-rings{margin:14px 0 0;gap:12px;align-items:start}
.meal-ring{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px}
.meal-ring svg{display:block;flex:none;width:100%;max-width:124px;aspect-ratio:1}
.meal-ring .ring-label{display:block;width:100%;text-align:center;line-height:1.25;font-size:15px;font-weight:800;margin:0}
.ring-protein .ring-label{color:#bc500d}.ring-carbs .ring-label{color:#1669bc}.ring-fats .ring-label{color:#98714c}.ring-vegetables .ring-label{color:#23733d}
.meal-workspace .ring-encouragement{margin:12px 0;padding:10px 12px;line-height:1.4;font-size:13px}
.meal-help,.typed-entry,.meal-workspace .voice-privacy{border-top:1px solid #dce1d6;padding-top:12px;margin:12px 0 0;font-size:13px}
.meal-help summary,.typed-entry summary{cursor:pointer;font-weight:700;line-height:1.5;padding:2px 0}
.typed-entry label{margin-top:14px}.meal-help .voice-guide{font-size:14px;padding:12px}.typing-help{margin-bottom:4px}
@media(max-width:600px){.meal-workspace{padding:12px}.meal-workspace .meal-rings{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;max-width:340px;margin:12px auto 0}.meal-ring svg{max-width:108px}.meal-ring .ring-label{font-size:15px}.voice-controls .voice-start{padding:11px 14px;min-height:56px}.voice-controls .microphone-icon{width:32px;height:36px}}

.member-nav button span{display:block;font-size:11px;font-weight:600;line-height:1.5;margin-top:3px}.member-nav button{cursor:pointer}.member-nav{padding-top:14px}

.reset-meal{background:#f0e1d2;color:#65452d;border-color:#c9ab8d;font-weight:750;margin:10px 0;min-height:44px}.selected-foods ul{padding-left:20px}.selected-foods li{margin:8px 0}.selected-foods .remove-food{margin:0 0 0 6px}#mealWorkspace{scroll-margin-top:calc(var(--header-height) + 12px)}

.daily-section{scroll-margin-top:calc(var(--header-height) + 16px)}
#checkinFields{border:0;padding:0;margin:0;min-width:0}.checkin-toolbar{position:sticky;top:calc(var(--header-height) + env(safe-area-inset-top,0px));z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;background:#f5f5efee;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.checkin-toolbar label{flex:1;min-width:150px}.checkin-toolbar input{margin:4px 0 0}.checkin-toolbar button{min-height:46px}.checkin-two,.biofeedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.measurement-input{display:flex;gap:8px;align-items:start}.measurement-input input{flex:1;min-width:0}.measurement-input select{width:78px;flex:none}
.biofeedback-field{padding:16px;border:1px solid #dfe6d5;border-radius:14px;background:#f8faf3}.biofeedback-field .metric-title{font-size:17px;font-weight:800}.biofeedback-field small{display:block;margin:8px 0;line-height:1.5;min-height:20px}.biofeedback-field select{min-height:48px;margin-bottom:0;font-size:16px}
.history-day{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;padding:16px;margin:8px 0;background:#f7f9f0}.history-day small{display:block;margin-top:4px}.checkin-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.checkin-stat{background:white;padding:20px;border-radius:16px;border:1px solid var(--line)}.checkin-stat strong{display:block;font-size:clamp(22px,4vw,32px);margin:10px 0}.checkin-stat small{display:block;line-height:1.5}.weight-rate{font-size:24px;font-weight:800;color:#285d40}.trend-chart{display:block;width:100%;height:auto}.chart-legend{font-size:13px;color:#667267;line-height:1.5}.chart-legend span{color:#287248}#checkinNotes{min-height:150px;resize:vertical}#checkinSaveState{margin-bottom:18px}
@media(max-width:600px){.checkin-two,.biofeedback-grid{grid-template-columns:1fr;gap:14px}.checkin-stat-grid{gap:10px}.checkin-stat{padding:13px}.checkin-stat strong{font-size:22px}.checkin-toolbar{padding:10px 0}.checkin-toolbar label{flex:1 1 100%}.checkin-toolbar button{flex:1}.history-day{padding:12px;font-size:14px}.daily-section>.card>.row{flex-wrap:wrap}}

#entryDate{min-width:0}.checkin-toolbar input,.daily-section input,.daily-section select,.daily-section textarea{font-size:16px}

.saved-meals>summary{font-size:1.2rem;font-weight:800;cursor:pointer}.saved-meal-row{display:flex;gap:10px;align-items:center;margin:10px 0}.saved-meal-row>[data-recall]{flex:1;text-align:left;background:#eaf2df;color:#163b27;min-width:0;overflow-wrap:anywhere}.saved-meal-row small{display:block;font-weight:400;margin-top:4px}.save-meal-form{margin:16px 0;padding:14px;background:#edf2e6;border-radius:12px}.save-meal-form input{width:100%;box-sizing:border-box;margin:8px 0}.save-meal-form button{width:100%}

.egg-counts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.egg-counts button{min-width:40px;padding:8px}.egg-counts [aria-pressed="true"]{background:#234e3c;color:white}

#coachNav{background:#5d426f;color:#fff;grid-column:1/-1;justify-self:center}#coachNav[hidden]{display:none}.coach-cue{border-left:5px solid #5d426f;border-radius:12px;background:#f4f0f6;padding:14px;margin:14px 0}.coach-cue h3{margin-top:0}.coach-evidence{display:flex;gap:6px;flex-wrap:wrap}.coach-evidence button{padding:7px;font-size:.85rem}.coach-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.coach-marker{border:1px solid #dce3d7;padding:14px;border-radius:12px}.coach-marker h4{margin:0 0 10px}.coach-marker p{font-size:.9rem}.coach-entry,.coach-rules{padding:14px;border:1px solid #dce3d7;border-radius:12px;margin:10px 0}.coach-entry summary,.coach-rules summary{cursor:pointer;font-weight:700}.coach-entry dl{display:grid;grid-template-columns:90px 1fr;gap:6px}.coach-entry dd{margin:0}.coach-client-note{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf2e6;padding:12px;border-radius:8px}@media(max-width:560px){.coach-metrics{grid-template-columns:1fr}}

.tutorial-replay{display:block;margin:12px auto 0;font-weight:700}#tutorialDialog{width:min(1000px,96vw);padding:24px;max-height:94dvh}#tutorialDialog>p{font-size:14px;line-height:1.5}#tutorialVideo{display:block;width:100%;max-height:58dvh;background:#142d23;border-radius:10px}#tutorialDialog::backdrop{background:#142d23e8}.tutorial-actions,#tutorialChapters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}#tutorialProgress{font-size:13px}.tutorial-transcript{margin:16px 0;font-size:14px;line-height:1.6}.tutorial-transcript summary{cursor:pointer;font-weight:700}.tutorial-signout{display:block;margin:12px auto 0;font-size:13px}#tutorialContinue:disabled{cursor:default}#tutorialChapters button{font-size:13px;padding:8px}#tutorialDialog .row{flex-wrap:wrap}@media(max-width:600px){#tutorialDialog{padding:16px}#tutorialTitle{font-size:20px;margin:0}#tutorialVideo{max-height:48dvh}.tutorial-actions button{flex:1}}

/* Visible voice-or-type entry, directly above the meal rings. */
.entry-or{display:flex;align-items:center;gap:12px;margin:16px 0;color:#536358;font-size:14px;font-weight:800;letter-spacing:.08em}.entry-or::before,.entry-or::after{content:"";height:1px;background:#c8d5c2;flex:1}.typed-entry{border:0;background:white;border-radius:12px;padding:14px;margin:0}.typed-entry label{font-size:17px;font-weight:800;margin:0}.typed-instructions{font-size:13px;line-height:1.5;color:#536358;margin:6px 0 10px}.typed-entry #spokenFoods{display:block;margin:0 0 10px;min-height:48px;font-size:16px;border:2px solid #9db68c}.typed-add{width:100%;background:#e3edda;border:1px solid #adc598;font-weight:750;min-height:46px}.typed-entry .typing-help{font-size:12px;line-height:1.5;margin:10px 0 0}.voice-controls .voice-start{font-size:15px;line-height:1.4}.voice-controls .microphone-icon{flex:none}@media(max-width:600px){.voice-controls{display:flex;flex-direction:column;align-items:stretch}.voice-controls .voice-start{width:100%}.voice-controls #voiceDone{width:100%}.typed-entry{padding:12px}}


/* A visibly separate portrait video popup, with persistent exit controls. */
#tutorialDialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));height:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0 16px 12px;border:2px solid #fff;border-radius:22px;overflow:auto;overscroll-behavior:contain;background:#fff;box-shadow:0 24px 90px #0009;color:#142d23}
#tutorialDialog::backdrop{background:rgba(13,29,23,.72);backdrop-filter:blur(2px)}
#tutorialDialog>.tutorial-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:nowrap;margin:0 -16px;padding:14px 12px 10px;background:#fff;border-bottom:1px solid #e1e8de}
.tutorial-label{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#617558;margin-bottom:3px}
#tutorialTitle{font-size:19px;line-height:1.2;margin:0}
#tutorialClose{display:block!important;flex:none;min-height:44px;padding:9px 10px;border:0;border-radius:10px;background:#f6e2d4;color:#713a1c;font-size:12px;font-weight:800;touch-action:manipulation}
#tutorialDialog>.tutorial-intro{display:block;font-size:13px;line-height:1.45;margin:12px 0;color:#536358}
#tutorialVideo{display:block;width:100%;height:min(45dvh,430px);max-height:none;aspect-ratio:auto;object-fit:contain;background:#152b22;border:3px solid #152b22;border-radius:12px;box-sizing:border-box}
#tutorialDialog .tutorial-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px}
#tutorialStart,#tutorialFullscreen{flex:1;min-height:46px;white-space:nowrap;font-size:13px;font-weight:800;padding:10px}
#tutorialFullscreen{background:#edf2e8;border:1px solid #adbf9f;color:#204e3b}
#tutorialContinue{display:block!important;position:sticky;bottom:0;z-index:6;box-sizing:border-box;width:100%;min-height:48px;margin:12px 0 0;background:#204e3b;color:#fff;border:3px solid #fff;box-shadow:0 -8px 0 #fff;border-radius:12px;font-weight:800;font-size:14px}
#tutorialStatus{font-size:12px;margin:6px 0}
#tutorialStatus:empty,#tutorialProgress:empty{display:none}
#tutorialChapters{margin:8px 0}
#tutorialChapters button{font-size:11px;padding:6px}
#tutorialDialog .tutorial-transcript{font-size:12px;margin:10px 0}
#tutorialSignOut{display:none}
@media(max-width:370px){#tutorialTitle{font-size:16px}#tutorialClose{font-size:11px;padding:8px}#tutorialDialog{padding-left:12px;padding-right:12px}#tutorialDialog>.tutorial-header{margin-left:-12px;margin-right:-12px}#tutorialVideo{height:40dvh}}
.tutorial-more{margin:12px 0 0;font-size:12px}.tutorial-more>summary{cursor:pointer;font-weight:700;color:#536358}#tutorialDialog video:fullscreen{border:0;border-radius:0;width:100%;height:100%;background:#000}
