:root{--bg:#0d1014;--panel:#151b22;--panel-soft:#1d2530;--text:#edf2f8;--muted:#9da9bb;--accent:#ff7a45;--accent-soft:#ffc06b;--ok:#70e6a8;--warn:#ffb65c;--danger:#ff7e7b;--line:#ffffff24}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 15% 15%, #1f2b3d 0, transparent 30%), radial-gradient(circle at 84% 0%, #3b1d21 0, transparent 28%), var(--bg);max-width:100%;min-height:100%;color:var(--text);margin:0;padding:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;overflow-x:hidden}img,svg,canvas,video{max-width:100%}.ambientBg{pointer-events:none;background:linear-gradient(130deg,#ff7a4512,#0000 60%);position:fixed;inset:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif}p{margin:0}.topNav{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#090c10c7;position:sticky;top:0}.topNavInner{justify-content:space-between;align-items:center;gap:1rem;width:min(1160px,100vw - 1.5rem);min-width:0;min-height:68px;margin:0 auto;display:flex}.brand{white-space:nowrap;flex-shrink:0;align-items:center;gap:.45rem;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-weight:700;display:inline-flex}.brandDot{background:linear-gradient(135deg, var(--accent), var(--accent-soft));border-radius:999px;width:11px;height:11px;box-shadow:0 0 20px #ff7a45b3}.linkRow{flex-wrap:wrap;align-items:center;gap:.8rem;min-width:0;max-width:100%;display:flex}.linkRow a{color:var(--muted);white-space:nowrap;font-size:.93rem}.linkRow a:hover,.linkRow .activeLink{color:var(--text)}.authActions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.6rem;display:flex}.pageShell{z-index:2;gap:1rem;width:min(1160px,100vw - 1.5rem);min-width:0;margin:2.2rem auto 3rem;display:grid;position:relative}.pageShell.narrow{max-width:720px}.hero{border:1px solid var(--line);background:linear-gradient(145deg,#ff7a452e,#121923d9);border-radius:22px;gap:1rem;padding:2.2rem;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-soft);font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-size:.74rem}.hero h1{max-width:18ch;font-size:clamp(1.9rem,5vw,3rem)}.hero p{color:var(--muted);max-width:58ch;line-height:1.45}.heroCtas{flex-wrap:wrap;gap:.7rem;display:flex}.primaryBtn,.ghostBtn,.ctaSmall,.pillBtn{cursor:pointer;font:inherit;border:1px solid #0000;border-radius:999px;padding:.62rem 1.05rem;transition:all .2s}.primaryBtn,.ctaSmall{background:linear-gradient(140deg, var(--accent), #fd8f4f);color:#0d1117;font-weight:700}.primaryBtn:disabled{opacity:.6;cursor:not-allowed}.ghostBtn{border-color:var(--line);color:var(--text);background:#ffffff0a}.ghostBtn:hover,.primaryBtn:hover,.pillBtn:hover{transform:translateY(-1px)}.inlineBtn{width:fit-content;margin-top:1rem;display:inline-flex}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.featureTile{border:1px solid var(--line);background:var(--panel-soft);border-radius:18px;gap:.45rem;padding:1.2rem;display:grid}.featureTile p{color:var(--muted)}.card{border:1px solid var(--line);background:linear-gradient(150deg, #ffffff05, transparent), var(--panel);border-radius:20px;gap:1rem;min-width:0;padding:1.15rem;display:grid}.cardHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cardHeader>div,.card>div{min-width:0}.cardHeader h3{font-size:1.2rem}.cardHeader p{color:var(--muted);margin-top:.2rem}.stackForm{gap:.85rem;display:grid}.stackForm label,.gridForm label{color:var(--muted);gap:.35rem;font-size:.94rem;display:grid}input,select{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#ffffff08;border-radius:10px;padding:.58rem .68rem}input::placeholder{color:#8090a5}.gridForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.fullWidth{grid-column:1/-1;gap:.6rem;display:grid}.errorText{color:var(--danger)}.successText{color:#95e2a8}.textBtn{color:#ff944f;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:700;transition:color .16s}.textBtn:hover,.textBtn:focus-visible{color:#ffb27f}.fieldLabel{gap:.38rem;display:grid}.fieldLabel span{color:var(--muted);font-size:.9rem}.fieldLabel input{min-height:44px}.passwordInputWrap{position:relative}.passwordInputWrap input{padding-right:4.8rem}.passwordToggle{color:#ff944f;cursor:pointer;background:0 0;border:none;padding:.2rem .3rem;font-weight:700;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.passwordToggle:hover,.passwordToggle:focus-visible{color:#ffb27f}.inlineActions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.splitShell{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.scannerFullWidth{grid-column:1/-1}.fastingHero{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:1rem;display:grid}.fastingStatePanel,.fastingProtocolPanel,.fastingEndPanel{border:1px solid var(--line);background:#ffffff08;border-radius:18px;gap:.7rem;padding:1rem;display:grid}.fastingHeroTopline{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.fastingHeroHint{color:var(--muted);font-size:.92rem}.fastingStatePill{width:fit-content;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border:1px solid #ffffff29;border-radius:999px;padding:.34rem .72rem;font-size:.82rem}.fastingStatePill.active{color:#ffd1b8;background:#ff7a4529;border-color:#ff7a456b}.fastingStatePill.eating{color:#c7ffdb;background:#70e6a824;border-color:#70e6a85c}.fastingStatePanel strong{font-size:clamp(2rem,4vw,3rem);line-height:1}.fastingHeroVisual{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;display:grid}.fastingRing{border-radius:999px;place-items:center;width:176px;height:176px;padding:10px;display:grid;box-shadow:0 18px 40px #00000038}.fastingRingInner{text-align:center;background:#121820;border:1px solid #ffffff14;border-radius:999px;align-content:center;justify-items:center;gap:.18rem;width:100%;height:100%;display:grid}.fastingRingInner small{color:var(--muted)}.fastingHeroCopy{gap:.6rem;display:grid}.fastingHeroCopy h4{font-size:1.4rem}.fastingHeroCopy p{color:#d6deea;line-height:1.5}.fastingStatChips{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.fastingStatChip{background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;gap:.18rem;padding:.8rem;display:grid}.fastingStatChip span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.fastingStatChip strong{font-size:1.1rem}.fastingMiniLabel,.helperText,.warningText{color:var(--muted)}.warningText{color:var(--warn)}.fastingProtocolRow{flex-wrap:wrap;gap:.6rem;display:flex}.fastingProtocolBtn{box-sizing:border-box;border-style:solid;border-width:1px;border-radius:999px;flex:140px;justify-content:center;align-items:center;width:auto;min-height:34px;padding:.4rem .95rem;display:inline-flex}.fastingProtocolBtn.active{color:#0f1217;background:var(--ok);border-color:var(--line);border-style:solid;border-width:1px;border-radius:999px;flex:140px;width:auto;min-height:34px;padding:.4rem .95rem}.fastingTimeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:.9rem;display:grid}.fastingPhase{border:1px solid var(--line);background:#ffffff05;border-radius:14px;gap:.35rem;padding:.85rem;display:grid}.fastingPhase small,.fastingPhase p{color:var(--muted)}.fastingPhase.reached{border-color:#70e6a83d}.fastingPhase.active{background:linear-gradient(150deg,#ff7a4526,#ffffff08);border-color:#ff7a456b}.fastingInsightsGrid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1rem;display:grid}.fastingInsightStrip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.fastingNudgeList{gap:.7rem;margin-top:.65rem;display:grid}.fastingNudgeCard{background:linear-gradient(140deg,#ff944f1f,#ffffff08);border:1px solid #ff944f33;border-radius:16px;gap:.28rem;padding:.9rem .95rem .9rem 1.1rem;display:grid;position:relative;overflow:hidden}.fastingNudgeCard:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-soft));width:4px;position:absolute;top:0;bottom:0;left:0}.fastingNudgeCard span{color:#ffcb9f;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:700}.fastingNudgeCard p{color:#edf2f8;line-height:1.45}.fastingRecentList{gap:.75rem;display:grid}.fastingRecentRow{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.72rem;display:flex}.fastingRecentActions{justify-items:end;gap:.45rem;display:grid}.fastingDeleteBtn{color:#ffb3b1;font:inherit;cursor:pointer;background:#ff7e7b14;border:1px solid #ff7e7b40;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-weight:700}.fastingDeleteBtn:disabled{opacity:.6;cursor:not-allowed}.fastingPager{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.dashboardGrid,.analyticsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.scoreDialWrap{justify-items:center;gap:.6rem;display:grid}.scoreDial{border-radius:50%;place-items:center;width:142px;height:142px;display:grid}.scoreDialInner{background:var(--panel);border:1px solid var(--line);border-radius:50%;align-content:center;justify-items:center;gap:.08rem;width:108px;height:108px;display:grid}.scoreDialInner span{font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-size:2.15rem;font-weight:700}.scoreDialInner small{color:var(--muted)}.resultPanel{gap:1rem;display:grid}.resultGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.resultGrid>div,.kpiBlock,.impactTiles article,.profileSummary>div{border:1px solid var(--line);background:#ffffff05;border-radius:12px;gap:.25rem;padding:.72rem;display:grid}.resultGrid span,.kpiBlock span,.impactTiles span,.profileSummary span{color:var(--muted);font-size:.87rem}.kpiStrip{grid-template-columns:repeat(2,minmax(150px,170px)) minmax(0,1fr);align-items:stretch;gap:.75rem;width:100%;display:grid}.kpiStrip .scoreDialWrap{align-self:start}.kpiMetrics{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.kpiBlockWide{grid-column:1/-1}.habitPreviewList,.simpleList,.habitList,.nudgeList{gap:.58rem;margin:0;padding:0;list-style:none;display:grid}.habitPreviewList li,.simpleList li,.habitList li{border:1px solid var(--line);background:#ffffff04;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.62rem .7rem;display:flex}.habitPreviewText{min-width:0;line-height:1.4}.habitTypeTag{vertical-align:middle;white-space:nowrap;text-transform:capitalize;color:var(--muted);border:1px solid var(--line);background:#ffffff08;border-radius:999px;margin-left:.32rem;padding:.08rem .46rem;font-size:.74rem;font-style:normal;display:inline-block}.habitTypeTag.morning{color:#87d0ff}.habitTypeTag.afternoon{color:#ffcd7d}.habitTypeTag.evening{color:#b8a2ff}.status{text-transform:capitalize}.status.complete{color:var(--ok)}.status.pending{color:var(--warn)}.status.skipped{color:var(--danger)}.metricBars{gap:.64rem;display:grid}.metricRow{gap:.24rem;display:grid}.metricText{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.metricText span{color:var(--muted)}.barBg{background:#ffffff14;border-radius:999px;width:100%;height:8px;overflow:hidden}.barFill{background:linear-gradient(120deg, var(--accent), var(--accent-soft));height:100%;display:block}.nudgeWrap{gap:.7rem;display:grid}.nudgeHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.nudgeMeta{color:var(--muted)}.nudgeList li{border-left:2px solid var(--accent);padding-left:.6rem}.emptyText{color:var(--muted)}.finePrint{color:#b8c4d4;font-size:.93rem;line-height:1.4}.habitGroups{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.habitGroupCard{border:1px solid var(--line);background:#ffffff03;border-radius:12px;gap:.7rem;padding:.8rem;display:grid}.habitActions{flex-wrap:wrap;gap:.35rem;display:flex}.pillBtn{color:var(--muted);border-color:var(--line);background:#ffffff0a;font-size:.82rem}.pillBtn.active{color:#0f1217;background:var(--ok);border-color:#0000}.pillBtn.activeWarn{color:#0f1217;background:var(--warn);border-color:#0000}.scanPreview{border:1px solid var(--line);border-radius:14px;width:min(100%,420px)}.stackGap{gap:1rem;display:grid}.impactScore{border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem .9rem;display:flex}.impactScore span{color:var(--muted)}.impactScore strong{font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-size:1.7rem}.barcodeCallout{background:#ff944f1a;border:1px solid #ff944f59;border-radius:14px;gap:.2rem;padding:.8rem .95rem;display:grid}.barcodeCallout span{color:#ffb07a;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.barcodeCallout strong{color:#fff4eb;letter-spacing:.08em;font-size:1.15rem;font-weight:800}.impactTiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.trendLineCard{gap:.85rem;display:grid}.trendLineSvg{width:100%;height:auto;overflow:visible}.trendAxis{stroke:#ffffff1f;stroke-width:2px}.trendDot{stroke:#0d1014e6;stroke-width:3px}.trendLegend{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:.6rem;display:grid}.trendLegendItem{border:1px solid var(--line);background:#ffffff08;border-radius:10px;justify-items:center;gap:.2rem;padding:.55rem .35rem;display:grid}.trendLegendItem small{color:var(--muted)}.trendLegendItem strong{font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-size:.82rem}.insightText{color:#d6deea;line-height:1.52}.profileSummary{gap:.6rem;display:grid}.toggleRow{border:1px solid var(--line);border-radius:11px;align-items:center;gap:.65rem;padding:.62rem .72rem;display:flex}.toggleRow input{width:auto}.authCard{padding:1.5rem}.oauthSection{gap:.75rem;display:grid}.oauthShell{background:radial-gradient(circle at top left, #ff7a451a, transparent 34%), linear-gradient(155deg, #ffffff08, #ffffff04), var(--panel-soft);border:1px solid #ffffff14;border-radius:18px;gap:.9rem;padding:1rem;display:grid}.oauthHero{align-items:center;gap:.85rem;min-width:0;display:flex}.oauthBadge{color:#0f1217;background:linear-gradient(135deg,#fff,#f4f7fb);border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-weight:800;display:inline-flex;box-shadow:0 12px 28px #0003}.oauthTitle{color:var(--text);font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;font-size:1rem;font-weight:700}.oauthHint{color:var(--muted);margin-top:.15rem;font-size:.88rem;line-height:1.35}.googleButtonFrame{justify-content:center;padding:.15rem 0 .05rem;display:flex}.googleButtonFrame>div{justify-content:center;width:100%;display:flex}.authActionRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding-top:.25rem;display:flex}.authDivider{text-align:center;color:var(--muted);font-size:.85rem;position:relative}.authDivider:before{content:"";border-top:1px solid var(--line);position:absolute;top:50%;left:0;right:0}.authDivider span{background:var(--panel);padding:0 .5rem;position:relative}.chatWidget{z-index:40;justify-items:end;gap:.7rem;display:grid;position:fixed;bottom:1rem;right:1rem}.chatFab{cursor:pointer;font:inherit;color:#0d1117;background:linear-gradient(140deg, var(--accent), #fd8f4f);border:1px solid #0000;border-radius:999px;padding:.66rem 1rem;font-weight:700;box-shadow:0 8px 28px #ff7a4540}.chatPanel{border:1px solid var(--line);background:linear-gradient(150deg, #ffffff08, transparent), var(--panel);border-radius:16px;gap:.7rem;width:min(390px,100vw - 2rem);padding:.75rem;display:grid}.chatHeader{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.chatHeaderMeta{min-width:0}.chatHeader h3{font-size:1rem}.chatHeader p{color:var(--muted);margin-top:.22rem;font-size:.8rem}.chatHeaderControls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.chatSelect{border-radius:8px;width:140px;min-height:32px;padding:.28rem .45rem;font-size:.8rem}.chatNewBtn{border:1px solid var(--line);min-height:32px;color:var(--text);font:inherit;cursor:pointer;background:#ffffff0a;border-radius:8px;padding:.22rem .55rem;font-size:.8rem}.chatIconBtn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffff0a;border-radius:8px;width:30px;height:30px}.chatMessages{gap:.5rem;max-height:280px;padding-right:.2rem;display:grid;overflow-y:auto}.chatBubble{border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;max-width:88%;padding:.58rem .67rem;font-size:.92rem;line-height:1.36}.chatBubble.assistant{background:#ffffff0a;justify-self:start}.chatBubble.user{background:#ff7a4529;border-color:#ff7a4573;justify-self:end}.chatComposer{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.chatComposer input{min-height:42px}@media (max-width:1020px){.grid3,.habitGroups,.impactTiles,.dashboardGrid,.analyticsGrid,.splitShell,.kpiStrip,.fastingHero,.fastingInsightsGrid,.fastingTimeline,.fastingInsightStrip,.resultGrid,.gridForm,.fastingHeroVisual,.fastingStatChips{grid-template-columns:1fr}.fastingRing{width:152px;height:152px;margin:0 auto}.topNavInner{flex-wrap:wrap;align-items:flex-start;padding:.65rem 0}.linkRow{order:3;width:100%}.chatWidget{bottom:.7rem;right:.7rem}.chatPanel{width:min(100vw - 1.4rem,390px)}}@media (max-width:720px){.pageShell{width:min(1160px,100vw - 1rem);margin:1.2rem auto 2rem}.topNavInner{gap:.8rem;width:min(1160px,100vw - 1rem)}.topNav{position:static}.linkRow{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity;overscroll-behavior-x:contain;flex-wrap:nowrap;padding-bottom:.2rem;overflow-x:auto}.linkRow a{border:1px solid var(--line);scroll-snap-align:start;background:#ffffff08;border-radius:999px;flex:none;padding:.42rem .7rem}.authActions{justify-content:flex-start;width:100%}.hero,.card,.authCard{padding:1rem}.cardHeader{gap:.75rem}.cardHeader>:last-child{width:100%}.cardHeader>:last-child .primaryBtn,.cardHeader>:last-child .ghostBtn{justify-content:center;width:100%}.kpiMetrics,.impactTiles,.resultGrid,.fastingStatChips{grid-template-columns:1fr}.habitPreviewList li,.simpleList li,.habitList li,.fastingRecentRow,.metricText,.oauthHero,.authActionRow,.chatHeader{flex-direction:column;align-items:stretch}.habitActions,.fastingRecentActions{justify-items:stretch;width:100%}.habitActions .pillBtn,.inlineActions>*,.authActions>*,.heroCtas>*,.chatHeaderControls>*{justify-content:center;width:100%}.inlineBtn{width:100%}.scoreDialWrap{justify-items:stretch}.scoreDial{margin:0 auto}.fastingHeroVisual{gap:.75rem}.fastingTimeline{gap:.6rem}.fastingPager{flex-direction:column;align-items:stretch}.impactScore strong{font-size:1.45rem}.chatWidget{bottom:.5rem;left:.5rem;right:.5rem}.chatPanel,.chatFab{width:100%}.chatComposer{grid-template-columns:1fr}}@media (max-width:520px){.hero h1{max-width:none}.fastingRing{width:136px;height:136px}.scoreDial{width:126px;height:126px}.scoreDialInner{width:94px;height:94px}.scoreDialInner span{font-size:1.85rem}.chatBubble{max-width:100%}}
