/*
 * TempoLife public demo — pinned visual snapshot, 2026-09-01.
 * Selectively derived from the final production cascade and promo captures.
 * Source hashes: critical e9981e9…, rest 03c9713…, polish 18ea6d8…,
 * visual 4aabaaa…, fonts 7611924…. This file intentionally does not import
 * the authenticated app cascade, scripts, storage, service worker or APIs.
 */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-400.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-500.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/dm-sans-600.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dm-sans-700.woff2') format('woff2')}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-mono-400.woff2') format('woff2')}
@font-face{font-family:'DM Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-mono-500.woff2') format('woff2')}

:root{--bg:#EEF0F4;--surface:#FFF;--surface2:#F5F7FA;--border:#E2E6EC;--border2:#C8D0DC;--t1:#0F1827;--t2:#2D3A4A;--t3:#5A6A7A;--t4:#64748B;--brand:#2563EB;--brand-d:#1D4ED8;--brand-l:#EFF6FF;--green:#10B981;--orange:#F59E0B;--purple:#6D28D9;--red:#EF4444;--card-shadow:0 1px 2px rgba(15,24,39,.04),0 8px 24px rgba(15,24,39,.055);--raised-shadow:0 10px 32px rgba(15,24,39,.10),0 2px 6px rgba(15,24,39,.06)}
*{box-sizing:border-box}
html{color-scheme:light;background:#f5f7fb}
body{margin:0;color:var(--t1);background:radial-gradient(circle at 10% 12%,rgba(37,99,235,.09),transparent 31rem),radial-gradient(circle at 88% 28%,rgba(16,185,129,.07),transparent 28rem),#f5f7fb;font-family:'DM Sans',system-ui,-apple-system,sans-serif;line-height:1.4;-webkit-font-smoothing:antialiased}
button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid rgba(37,99,235,.45);outline-offset:2px}

/* Standalone marketing frame. */
.demo-site-header{width:min(1080px,calc(100% - 36px));margin:auto;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.demo-brand{display:flex;align-items:center;gap:10px;color:var(--t1);text-decoration:none;font-weight:800;font-size:1.08rem}.demo-brand img{border-radius:10px}
.demo-site-header nav{display:flex;gap:4px}.demo-site-header nav a{padding:7px 8px;border-radius:9px;color:var(--t3);font-size:.78rem;font-weight:700;text-decoration:none}.demo-site-header nav a[aria-current=page]{color:var(--brand);background:#fff}
.demo-intro{text-align:center;width:min(760px,calc(100% - 36px));margin:46px auto 24px}.demo-eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--brand)}
.demo-intro h1{margin:0;font-size:clamp(2rem,5vw,3.55rem);line-height:1.04;letter-spacing:-.045em;text-wrap:balance}.demo-intro>p:not(.demo-eyebrow){max-width:650px;margin:18px auto;color:var(--t3);font-size:1.08rem}
.demo-assurances{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:20px}.demo-assurances span{padding:7px 11px;border:1px solid rgba(37,99,235,.15);background:rgba(255,255,255,.72);border-radius:999px;font-size:.74rem;font-weight:700;color:var(--t3)}.demo-assurances span:before{content:'✓';margin-right:6px;color:var(--green)}
.demo-canvas{padding:8px 18px 22px}.demo-disclosure{width:min(430px,100%);margin:0 auto 9px;display:flex;justify-content:center;gap:4px 12px;flex-wrap:wrap;padding:7px 12px;border:1px solid #d7deea;border-radius:999px;background:rgba(255,255,255,.88);color:var(--t4);font-size:9px;text-align:center;box-shadow:0 3px 12px rgba(15,24,39,.04)}.demo-disclosure strong{color:var(--t2)}.demo-disclosure span:before{content:'·';margin-right:9px;color:var(--brand)}

/* Exact public app viewport: the canonical captures are 430 × 932 CSS px. */
.phone-shell{width:430px;max-width:100%;margin:auto}.phone-frame{border-radius:32px;background:#fff;box-shadow:0 30px 90px rgba(15,24,39,.20),0 0 0 1px rgba(15,24,39,.06);overflow:hidden}.phone-inner{height:932px;max-height:calc(100dvh - 24px);min-height:680px;position:relative;overflow:hidden;border-radius:32px;background:var(--bg)}
.app{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.screens{position:relative;flex:1;min-height:0;overflow:hidden}.screen{position:absolute;inset:0;display:none;overflow-y:auto;overflow-x:hidden;padding-bottom:90px;background:linear-gradient(180deg,#f2f3f9 0%,var(--bg) 100%);overscroll-behavior:contain;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.screen.active{display:block}.screen>*{flex-shrink:0}

/* Shared app headers and section labels. */
.screen-header{min-height:70px;margin:10px 12px 14px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:var(--card-shadow)}.screen-header h2{margin:0;color:var(--t1);font-size:17px;line-height:1.2;letter-spacing:-.015em}.screen-header p{margin:4px 0 0;color:var(--t3);font-size:11px}.sec-hd{padding:18px 16px 7px;color:var(--t4);font-size:11px;font-weight:700;letter-spacing:.085em;text-transform:uppercase}.card-surface{border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--card-shadow)}

/* Dashboard. */
.home-hero{position:relative;overflow:hidden;margin:10px 12px 4px;padding:15px 16px;border-radius:20px;background:linear-gradient(145deg,#173B84 0%,#1D4ED8 56%,#2563EB 100%);box-shadow:0 12px 30px rgba(29,78,216,.20);color:#fff}.home-hero:before,.home-hero:after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}.home-hero:before{width:170px;height:170px;right:-55px;top:-70px}.home-hero:after{width:150px;height:150px;left:35%;bottom:-70px;background:rgba(255,255,255,.035)}
.hh-top{position:relative;display:flex;align-items:center;justify-content:space-between}.hh-greeting{font-size:10px;letter-spacing:.04em;color:rgba(255,255,255,.55)}.hh-name{margin-top:2px;font-size:20px;font-weight:800;line-height:1.15;letter-spacing:-.02em}.hh-actions{display:flex;align-items:center;gap:8px}.hh-focus-btn,.hh-avatar{width:40px;height:40px;min-width:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(255,255,255,.11);color:#fff}.hh-focus-btn{cursor:pointer}.hh-avatar{font-size:17px}
.home-section-heading{display:flex;align-items:center;gap:9px;margin:15px 14px 7px;color:var(--t1);font-size:14px;font-weight:800;letter-spacing:-.01em}.home-section-heading:before{content:'';width:4px;height:17px;border-radius:999px;background:var(--brand)}.home-section-heading>span:last-child{margin-left:auto;color:var(--t4);font-size:9px;font-weight:700;letter-spacing:.09em}
.daily-momentum-card{margin:0 12px 8px;padding:16px;border:1px solid #BDD2FF;border-radius:18px;background:linear-gradient(145deg,rgba(245,158,11,.035),#fff 48%);box-shadow:var(--raised-shadow)}.daily-momentum-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.daily-momentum-kicker{color:var(--brand);font-size:9px;font-weight:800;letter-spacing:.1em}.daily-momentum-title{margin-top:2px;font-size:18px;font-weight:700;line-height:1.2;letter-spacing:-.02em}.daily-momentum-score{display:flex;align-items:baseline;gap:2px;color:var(--brand);font-variant-numeric:tabular-nums}.daily-momentum-score strong{font-size:25px;line-height:1}.daily-momentum-score span{color:var(--t3);font-size:10px;font-weight:700}.daily-momentum-bar{height:7px;margin:12px 0 10px;overflow:hidden;border-radius:999px;background:var(--surface2)}.daily-momentum-bar span{display:block;width:96%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),#22C55E)}.daily-momentum-recommendation{margin:9px 0 12px;color:var(--t2);font-size:12px;line-height:1.5}
.daily-momentum-primary{width:100%;min-height:58px;display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #BDD2FF;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(15,24,39,.055);text-align:left;cursor:pointer}.daily-momentum-primary-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:11px;background:#FFF3DE;font-size:18px}.daily-momentum-primary-copy{display:grid;min-width:0;gap:2px}.daily-momentum-primary-copy strong{font-size:13px}.daily-momentum-primary-copy small{color:var(--t3);font-size:10px}.daily-momentum-primary-arrow{margin-left:auto;color:var(--brand);font-size:22px}.daily-momentum-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.daily-momentum-stats button{min-width:0;padding:7px 3px;border:1px solid var(--border);border-radius:11px;background:var(--surface2);cursor:pointer}.daily-momentum-stats span,.daily-momentum-stats b,.daily-momentum-stats small{display:block}.daily-momentum-stats span{font-size:13px}.daily-momentum-stats b{margin-top:2px;font-size:11px;white-space:nowrap}.daily-momentum-stats small{margin-top:1px;color:var(--t3);font-size:9px;white-space:nowrap}
.timeline-toggle{display:flex;align-items:center;gap:8px;margin:0 12px;padding:7px 0;border:0;background:transparent;color:var(--brand);font-size:12px;font-weight:700;cursor:pointer}.timeline-preview{margin:0 12px 8px;padding:9px 12px;display:grid;grid-template-columns:auto 1fr;gap:5px 9px;border:1px solid var(--border);border-radius:13px;background:#fff;color:var(--t3);font-size:10px}.timeline-preview[hidden]{display:none}.timeline-preview b{color:var(--t2);font-weight:600}
.health-score-card{margin:0 12px 8px;padding:16px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.health-score-head{display:flex;align-items:center;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.health-score-ring{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--green) 91%,#E7EEF0 0);position:relative}.health-score-ring:before{content:'';position:absolute;inset:6px;border-radius:50%;background:#fff}.health-score-ring strong{position:relative;color:var(--green);font-size:20px}.health-score-head>div:last-child span,.health-score-head>div:last-child strong{display:block}.health-score-head>div:last-child span{color:var(--t4);font-size:11px;letter-spacing:.1em}.health-score-head>div:last-child strong{margin-top:3px;font-size:15px}.health-score-rows{padding-top:10px;display:grid;gap:7px}.health-score-rows>div{display:grid;grid-template-columns:80px 1fr 80px;align-items:center;gap:8px;color:var(--t2);font-size:11px}.health-score-rows>div>i{height:6px;overflow:hidden;border-radius:999px;background:#E0E5EC}.health-score-rows>div>i b{display:block;height:100%;border-radius:inherit}.health-score-rows b.mood{width:83%;background:#EAB308}.health-score-rows b.sleep{width:92%;background:#8B5CF6}.health-score-rows b.activity{width:97%;background:#3B82F6}.health-score-rows>div>strong{color:var(--green);font-size:10px;text-align:right}
.sleep-summary-card{margin:0 12px 8px;padding:14px 16px;display:grid;grid-template-columns:75px 1fr 1fr;align-items:center;gap:10px;border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.sleep-summary-card>div{display:grid;gap:7px;color:var(--t3);font-size:10px}.sleep-summary-card>div:first-child{place-items:center;gap:0}.sleep-summary-card>div:first-child strong{color:#6366F1;font-size:28px;line-height:1}.sleep-summary-card b{color:var(--t1)}
.dash-mini-row{display:flex;gap:8px;margin:0 12px 20px}.dash-mini-row button{flex:1;min-height:52px;padding:8px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:none;cursor:pointer}.dash-mini-row strong{font-size:12px}.dash-mini-row small{color:var(--t3);font-size:9px}

/* Shared feature-screen surfaces. */
.screen-add{min-width:64px;padding:10px 13px;border:0;border-radius:13px;background:var(--brand);box-shadow:0 8px 22px rgba(37,99,235,.25);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.activity-list{display:grid;gap:7px;margin:0 12px}.activity-list article{min-height:57px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.activity-list article>span{font-size:15px}.activity-list article div{display:grid}.activity-list article div strong{font-size:14px}.activity-list article div small{color:var(--t3);font-size:10px}.activity-list article>b{color:#F97316;font-size:15px}.activity-list article>b small{color:var(--t3);font-size:10px;font-weight:400}
.period-toggle{display:flex;gap:2px;margin:16px 12px 0;padding:2px;border-radius:12px;background:var(--surface2)}.period-toggle button{flex:1;min-height:42px;padding:6px 2px;border:0;border-radius:11px;background:transparent;color:var(--t3);font-size:12px;font-weight:600;cursor:pointer}.period-toggle button.active{background:var(--brand);box-shadow:0 4px 12px rgba(37,99,235,.22);color:#fff}.movement-stat-card{margin:0 12px 8px;padding:16px 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;border-radius:18px;background:#fff;box-shadow:var(--card-shadow);text-align:center}.movement-stat-card>div{display:grid}.movement-stat-card>div strong{font-size:21px}.movement-stat-card>div:first-child strong{color:var(--green)}.movement-stat-card>div:nth-child(2) strong{color:#3B82F6}.movement-stat-card>div span{color:var(--t3);font-size:10px}.movement-stat-card p{grid-column:1/-1;display:flex;justify-content:center;gap:14px;margin:5px 0 0;color:var(--t2);font-size:10px}
.coach-card{margin:0 12px 10px;padding:14px 14px 12px;border:1px solid var(--border);border-left:3px solid var(--green);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.coach-head{display:flex;align-items:center;gap:13px;padding-bottom:12px;border-bottom:1px solid var(--border)}.coach-score{width:52px;height:52px;display:grid;place-items:center;align-content:center;flex:0 0 52px;border-radius:50%;background:#E1F7F1;color:var(--green)}.coach-score b{font-size:20px;line-height:1}.coach-score small{font-size:8px}.coach-head>div{display:grid}.coach-head>div strong{font-size:15px}.coach-head>div span{color:var(--t3);font-size:11px}.coach-key{padding:12px 0;display:grid;place-items:center;border-bottom:1px solid var(--border)}.coach-key strong{font-size:17px}.coach-key span{color:var(--t3);font-size:10px;text-align:center}.coach-insight{display:grid;grid-template-columns:20px 1fr;gap:8px;margin-top:12px;color:var(--t2);font-size:11px;line-height:1.45}.coach-insight p{margin:0}.coach-insight p strong{display:block;color:var(--t1);font-size:12px}.sleep-coach-stats{padding:12px 0;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border);text-align:center}.sleep-coach-stats div{display:grid}.sleep-coach-stats b{font-size:15px}.sleep-coach-stats span{color:var(--t3);font-size:9px}

/* Sleep. */
.sleep-add{min-height:64px;margin:6px 12px 6px;padding:13px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:0;border-radius:18px;background:#fff;box-shadow:var(--card-shadow);text-align:left;cursor:pointer}.sleep-add>span:first-child{font-size:28px}.sleep-add>span:nth-child(2){display:grid}.sleep-add strong{font-size:14px}.sleep-add small{color:var(--t3);font-size:10px}.sleep-add>b{color:var(--t3)}.sleep-period{margin-top:16px}.sleep-period button.active{background:#fff;box-shadow:0 2px 8px rgba(15,24,39,.10);color:var(--brand)}
.sleep-detail-card{margin:16px 12px 8px;padding:16px;border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.sleep-detail-head{display:grid;grid-template-columns:1fr auto;gap:10px}.sleep-detail-head>div:first-child{display:grid;align-content:start}.sleep-detail-head span{color:var(--t3);font-size:11px}.sleep-detail-head em{margin-left:5px;padding:3px 7px;border-radius:999px;background:#E1F7F1;color:var(--green);font-size:9px;font-style:normal;font-weight:700}.sleep-detail-head>div:first-child>strong{margin-top:5px;font-size:22px;letter-spacing:-.02em}.sleep-detail-head>div:first-child>b{color:var(--t2);font-size:13px;font-weight:500}.sleep-score-orbit{width:60px;height:60px;display:grid;place-items:center;align-content:center;border:3px solid var(--green);border-radius:50%;color:var(--green)}.sleep-score-orbit strong{font-size:23px;line-height:1}.sleep-score-orbit span{font-size:9px}.sleep-target{margin-top:12px;padding:4px 8px;border-radius:8px;background:#E8F7FA;color:var(--red);font-size:10px;font-weight:700;text-align:right}.sleep-detail-card>p{margin:8px 0 5px;color:var(--t2);font-size:11px}.sleep-stage-bar{height:12px;display:flex;overflow:hidden;border-radius:999px}.sleep-stage-bar i:nth-child(1){width:4%;background:#F9A825}.sleep-stage-bar i:nth-child(2){width:24%;background:#8B96A5}.sleep-stage-bar i:nth-child(3){width:52%;background:#9B82F3}.sleep-stage-bar i:nth-child(4){width:20%;background:#6D28D9}.sleep-stages{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;margin-top:12px}.sleep-stages>div{display:flex;align-items:center;gap:8px}.sleep-stages>div>i{width:10px;height:10px;border-radius:50%}.sleep-stages i.awake{background:#F9A825}.sleep-stages i.rem{background:#8B96A5}.sleep-stages i.light{background:#9B82F3}.sleep-stages i.deep{background:#6D28D9}.sleep-stages span,.sleep-stages strong{display:block}.sleep-stages span{color:var(--t3);font-size:10px}.sleep-stages strong{color:var(--t1);font-size:12px}.sleep-stages strong small{color:var(--t3);font-size:9px;font-weight:400}

/* Nutrition. */
.nutr-hdr{align-items:flex-start;gap:10px}.nutr-date-switch{display:flex;align-items:center;gap:4px}.nutr-nav-btn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--t2);font-size:18px;font-weight:700;cursor:pointer}.nutr-date-center{min-width:104px;padding:2px 5px;border:0;background:none;text-align:center;cursor:pointer}.nutr-date-center strong{font-size:12px;white-space:nowrap}
.nutr-cal-hero{margin:4px 12px 8px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.nch-left>*{display:block}.nch-eaten{font-size:32px;line-height:1.05;letter-spacing:-.02em}.nch-label,.nch-target{margin-top:4px;color:var(--t3);font-size:12px;font-weight:500}.nch-target{color:var(--t4)}.nch-ring-wrap{position:relative;width:110px;height:110px;flex:0 0 110px}.nch-ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.nch-ring-wrap circle{fill:none;stroke:#E1E6ED;stroke-width:13}.nch-ring-wrap .nch-progress{stroke:var(--orange);stroke-linecap:butt;stroke-dasharray:301.59;stroke-dashoffset:21}.nch-ring-inner{position:absolute;inset:0;display:grid;place-items:center;align-content:center}.nch-ring-inner b{color:var(--brand);font-size:18px}.nch-ring-inner small{color:var(--t3);font-size:10px}
.macro-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 12px 10px}.macro-card{min-width:0;padding:12px 10px 10px;border:1px solid var(--border);border-radius:14px;background:#fff}.macro-card>div{display:flex;align-items:center;gap:5px}.macro-card>div strong{font-size:14px;white-space:nowrap}.macro-card>i{height:5px;display:block;overflow:hidden;margin:8px 0 6px;border-radius:3px;background:var(--border)}.macro-card>i b{display:block;height:100%;border-radius:inherit}.macro-card b.protein{width:98.5%;background:#3B82F6}.macro-card b.carbs{width:65%;background:var(--orange)}.macro-card b.fat{width:100%;background:var(--green)}.macro-card>span{display:block;overflow:hidden;color:var(--t3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.food-coach{margin-bottom:12px}.meal-chips{display:flex;gap:6px;margin:0 12px 8px;overflow-x:auto;scrollbar-width:none}.meal-chips button{min-width:max-content;padding:8px 13px;border:1px solid var(--border2);border-radius:999px;background:transparent;color:var(--t2);font-size:11px;font-weight:600;cursor:pointer}.meal-chips button.active{border-color:var(--brand);background:var(--brand-l);color:var(--brand-d)}.meal-log-heading{margin:7px 12px;display:flex;align-items:center;justify-content:space-between;color:var(--t4);font-size:11px;font-weight:700;letter-spacing:.07em}.meal-log-heading button{padding:7px 12px;border:1px solid var(--border2);border-radius:999px;background:transparent;font-size:10px;font-weight:600}.meal-list{display:grid;gap:6px;margin:0 12px}.meal-item{padding:10px 11px;border:1px solid var(--border);border-radius:13px;background:#fff}.meal-item.is-generated{border-color:#86EFAC;background:#F0FDF4}.meal-item-top{display:grid;grid-template-columns:1fr auto;gap:8px}.meal-item-top>div{min-width:0}.meal-item-top span,.meal-item-top strong,.meal-item-top small{display:block}.meal-item-top>div>span{color:var(--brand);font-size:8px;font-weight:700;text-transform:uppercase}.meal-item-top>div>strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.meal-item-top>div>small{color:var(--t3);font-size:8px}.meal-item-top>b{font-size:11px}.meal-item-actions{margin-top:7px;padding-top:7px;display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--border);color:var(--t3);font-size:9px}.meal-item-actions div{display:flex;align-items:center;gap:6px}.meal-item-actions button{width:25px;height:25px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);font-weight:700;cursor:pointer}.meal-item-actions output{min-width:30px;color:var(--t1);font-weight:700;text-align:center}.scan-button{width:calc(100% - 24px);margin:8px 12px 0;padding:10px 12px;display:flex;align-items:center;gap:9px;border:1px dashed #93C5FD;border-radius:13px;background:var(--brand-l);text-align:left;cursor:pointer}.scan-button>span:first-child{font-size:19px}.scan-button>span:last-child{display:grid}.scan-button strong{font-size:11px}.scan-button small{color:var(--t3);font-size:9px}.scan-button:disabled{opacity:.65;cursor:wait}.scan-status{min-height:15px;margin:4px 16px 0;color:var(--green);font-size:9px;font-weight:700}.reset-button{margin:0 12px 18px;padding:6px;border:0;background:none;color:var(--t4);font-size:9px;text-decoration:underline;cursor:pointer}

/* Fasting. */
.fast-readiness{min-height:64px;margin:0 12px 8px;padding:13px 16px;display:flex;align-items:center;gap:14px;border-left:4px solid var(--orange);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.fast-readiness>strong{color:var(--orange);font-size:28px}.fast-readiness>span{display:grid;color:var(--t3);font-size:10px}.fast-readiness>span b{color:var(--t1);font-size:13px}.fast-duel{margin:0 12px 12px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.fast-duel>span{display:block;color:var(--t4);font-size:11px;letter-spacing:.08em}.fast-duel button{width:100%;margin-top:10px;padding:12px;border:1px dashed var(--brand);border-radius:14px;background:var(--brand-l);color:var(--brand);font-size:13px;font-weight:700;cursor:pointer}.fast-main-card{margin:0 12px 12px;padding:18px;border-radius:18px;background:#fff;box-shadow:var(--card-shadow);text-align:center}.fast-orb{position:relative;height:250px;display:grid;place-items:center}.fast-orb:before{content:'';position:absolute;width:245px;height:245px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.15),rgba(99,102,241,.03) 58%,transparent 72%)}.fast-orb svg{position:absolute;width:160px;height:160px;left:25px;top:45px;transform:rotate(-90deg)}.fast-orb svg circle{fill:none;stroke:#EDF0F4;stroke-width:8}.fast-orb svg .fast-progress{stroke:var(--orange);stroke-linecap:round;stroke-dasharray:389.56;stroke-dashoffset:64}.fast-orb>div{position:relative;margin-left:65px;display:grid;place-items:center}.fast-orb>div>span{font-size:25px}.fast-orb>div>strong{font-family:'DM Mono',monospace;font-size:31px;letter-spacing:-.045em}.fast-orb>div>small{color:var(--t3);font-size:11px}.fast-orb>div>b{color:#EAB308;font-size:12px}.fast-main-card>p{margin:0 0 8px;color:var(--t3);font-size:11px}.fast-milestone{max-width:270px;margin:0 auto 10px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--t2);font-size:10px;font-weight:700}.fast-actions{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:290px;margin:auto}.fast-actions button{padding:12px 16px;border:0;border-radius:13px;background:#EFEFEF;font-weight:700;cursor:pointer}.fast-actions button.primary{background:var(--brand);box-shadow:0 7px 20px rgba(37,99,235,.22);color:#fff}.fast-recent{margin:0 12px 24px;padding:10px;border:1px solid #FED7AA;border-radius:16px;background:rgba(255,247,237,.55)}.fast-recent h3{margin:0 4px 8px;color:var(--t4);font-size:11px;letter-spacing:.08em}.fast-recent article{padding:13px;display:grid;grid-template-columns:1fr auto 1.25fr auto;align-items:center;gap:9px;border:1px solid #C4B5FD;border-radius:13px;background:#FFF0E8}.fast-recent article+article{margin-top:7px}.fast-recent article.complete{border-color:#BBF7D0;background:#F0FDF4}.fast-recent article div{display:grid}.fast-recent article div strong{font-size:11px}.fast-recent article div span{color:var(--t3);font-size:8px}.fast-recent article>b{color:#EAB308;font-size:20px}.fast-recent article>b small{font-size:11px}.fast-recent article.complete>b{color:var(--red)}

/* Floating navigation copied from the real app geometry. */
.bottomnav{position:absolute;z-index:50;left:12px;right:12px;bottom:9px;margin:0;padding:0;background:transparent}.bn-pill{height:63px;display:flex;align-items:stretch;gap:2px;padding:7px;border:1px solid var(--border2);border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(15,24,39,.14),0 2px 6px rgba(15,24,39,.07);backdrop-filter:blur(12px)}.bn-item{flex:1;min-width:0;padding:7px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:16px;background:none;color:var(--t3);cursor:pointer}.bn-item.active{background:var(--brand-l)}.bn-ico{font-size:19px;line-height:1}.bn-ico svg{width:1em;height:1em;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.bn-ico svg .svg-fill{fill:currentColor;stroke:none}.bn-lbl{overflow:hidden;max-width:100%;color:var(--t2);font-size:8px;font-weight:700;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.bn-item.active .bn-ico{color:var(--brand);transform:translateY(-1px)}.bn-item.active .bn-lbl{color:var(--brand-d)}

/* More sheet is a real app-style bottom sheet, not a sixth fake screen. */
.more-menu{position:absolute;z-index:100;inset:0;display:flex;align-items:flex-end}.more-menu[hidden]{display:none}.more-scrim{position:absolute;inset:0;border:0;background:rgba(15,24,39,.48);cursor:pointer}.more-menu>section{position:relative;width:100%;max-height:70%;padding:9px 12px 24px;border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -8px 30px rgba(15,24,39,.18)}.more-handle{width:40px;height:4px;margin:2px auto 9px;border-radius:999px;background:var(--border2)}.more-menu h2{margin:0 6px 7px;font-size:17px}.more-menu>section>button{width:100%;min-height:52px;padding:9px 10px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer}.more-menu>section>button:hover{background:var(--surface2)}.more-menu>section>button>span:first-child{font-size:18px}.more-menu>section>button>span:last-child{display:grid}.more-menu>section>button strong{font-size:13px}.more-menu>section>button small{color:var(--t3);font-size:10px}

.demo-convert{text-align:center;padding:0 18px 20px}.demo-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:14px;background:linear-gradient(135deg,var(--brand-d),var(--brand));box-shadow:0 10px 24px rgba(37,99,235,.25);color:#fff;text-decoration:none;font-weight:800}.demo-primary:hover{filter:brightness(1.05)}.demo-convert>small{display:block;margin-top:8px;color:var(--t3);font-size:.68rem}.demo-footer{width:min(760px,calc(100% - 36px));margin:10px auto 35px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);color:var(--t3);font-size:.72rem}.demo-footer a{color:var(--brand);font-weight:700}.demo-footer p{margin:0;max-width:470px;text-align:right}

.is-embedded{height:100dvh;overflow:hidden;background:transparent}.is-embedded .demo-canvas{height:100%;padding:6px 8px 14px;overflow:hidden}.is-embedded .phone-frame{box-shadow:0 20px 60px rgba(15,24,39,.16)}.is-embedded .phone-shell,.is-embedded .phone-frame,.is-embedded .phone-inner{height:932px;min-height:932px;max-height:932px}.is-embedded .demo-convert{display:none}

@media(max-width:460px){body:not(.is-embedded){background:var(--bg)}.demo-site-header{padding:14px 0}.demo-intro{margin:8px auto 20px}.demo-canvas{padding:4px 0 18px}.demo-disclosure{width:calc(100% - 16px);border-radius:14px}.phone-shell{width:100%}.phone-frame{border-radius:0;box-shadow:none}.phone-inner{height:calc(100dvh - 44px);min-height:620px;border-radius:0}.is-embedded .phone-shell{width:430px;max-width:100%;height:932px;min-height:932px}.is-embedded .phone-frame,.is-embedded .phone-inner{height:932px;min-height:932px;max-height:932px;border-radius:24px}.demo-convert{padding-top:0}.demo-footer{display:block}.demo-footer p{margin-top:10px;text-align:left}}
@media(max-width:360px){.daily-momentum-stats{grid-template-columns:repeat(2,1fr)}.macro-row-3{gap:5px}.macro-card{padding:10px 7px}.macro-card>div strong{font-size:12px}.bn-pill .bn-lbl{font-size:7.5px}.health-score-rows>div{grid-template-columns:62px 1fr 66px}.fast-orb svg{left:5px}.fast-orb>div{margin-left:45px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v3 — full-depth app content and the real generated AI analysis layer. */
.screen{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.30) transparent;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.screen::-webkit-scrollbar{display:block;width:4px}.screen::-webkit-scrollbar-track{background:transparent}.screen::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(100,116,139,.28)}
.is-embedded .screen{overscroll-behavior-y:auto}

.streak-card{margin:10px 12px 0;padding:14px 15px 12px;border:1px solid #FDE68A;border-radius:18px;background:linear-gradient(135deg,#FFFBEB,#FFF);box-shadow:var(--card-shadow)}
.streak-top{display:flex;align-items:center;justify-content:space-between}.streak-top>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px}.streak-top>div>span{grid-row:1/3;font-size:25px}.streak-top strong{font-size:13px}.streak-top small{color:var(--t3);font-size:9px}.streak-top>b{color:#EA580C;font-size:25px}.streak-track{height:5px;margin-top:12px;border-radius:999px;background:#FDE7C1;overflow:hidden}.streak-track i{display:block;width:47%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#F59E0B,#F97316)}.streak-card>p{margin:6px 0 0;color:var(--t3);font-size:9px;text-align:right}
.tracker-heading button{padding:5px 9px;border:1px solid var(--border2);border-radius:999px;background:#fff;color:var(--brand);font-size:9px;font-weight:700;cursor:pointer}.tracker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 12px}.tracker-grid button{min-width:0;padding:12px 4px 10px;display:grid;place-items:center;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:var(--card-shadow);cursor:pointer}.tracker-grid button>span{font-size:20px}.tracker-grid button>strong{margin-top:5px;font-size:10px}.tracker-grid button>b{margin-top:3px;font-size:15px}.tracker-grid button>small{color:var(--t3);font-size:8px}.tracker-grid.is-editing button{outline:2px dashed #93C5FD;outline-offset:-3px;animation:tracker-wiggle .35s ease-in-out alternate 2}
@keyframes tracker-wiggle{to{transform:rotate(.7deg)}}
.compact-fast-card{margin:0 12px 9px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid #DDD6FE;border-radius:18px;background:linear-gradient(135deg,#FFF,#F5F3FF);box-shadow:var(--card-shadow)}.compact-fast-orb{width:80px;height:80px;display:grid;place-items:center;align-content:center;border:7px solid #F3E8FF;border-top-color:#F97316;border-right-color:#F97316;border-radius:50%}.compact-fast-orb>span{font-size:14px}.compact-fast-orb>strong{font-family:'DM Mono',monospace;font-size:12px}.compact-fast-orb>small{color:var(--t3);font-size:8px}.compact-fast-copy{min-width:0;display:grid}.compact-fast-copy>span{color:var(--t4);font-size:8px;font-weight:800;letter-spacing:.09em}.compact-fast-copy>strong{font-size:13px}.compact-fast-copy>p{margin:3px 0 8px;color:var(--t3);font-size:9px}.compact-fast-copy>i{height:5px;overflow:hidden;border-radius:999px;background:#E9E7F2}.compact-fast-copy>i b{display:block;width:84%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7C3AED,#F97316)}.compact-fast-card>button{width:28px;height:40px;border:0;border-radius:10px;background:#F3F0FF;color:#6D28D9;font-size:23px;cursor:pointer}
.week-story-card{margin:0 12px 9px;padding:14px;border:1px solid #BFDBFE;border-radius:18px;background:linear-gradient(145deg,#EFF6FF,#FFF);box-shadow:var(--card-shadow)}.week-story-head{display:flex;gap:9px;align-items:center;margin-bottom:10px}.week-story-head>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#DBEAFE}.week-story-head>div{display:grid}.week-story-head strong{font-size:14px}.week-story-head small{color:var(--t3);font-size:9px}.week-story-card>p{margin:7px 0;padding-left:12px;position:relative;color:var(--t2);font-size:10px;line-height:1.42}.week-story-card>p:before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.keep-logging-card{margin:0 12px 9px;padding:11px 13px;display:flex;gap:9px;border:1px solid #E0E7FF;border-radius:14px;background:#F8FAFF}.keep-logging-card span{font-size:18px}.keep-logging-card p{margin:0;color:var(--t3);font-size:9px;line-height:1.45}
.weekly-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:0 12px}.weekly-summary-grid article{min-width:0;padding:12px 11px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:var(--card-shadow)}.weekly-summary-grid article>span{grid-row:1/4;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--surface2)}.weekly-summary-grid article>strong{font-size:14px}.weekly-summary-grid article>b{font-size:9px}.weekly-summary-grid article>small{overflow:hidden;color:var(--t3);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.weekly-summary-grid article:last-child{grid-column:1/-1}
.discoveries-card{margin:0 12px 10px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow);overflow:hidden}.discovery-row{position:relative;padding:13px 12px;display:grid;grid-template-columns:42px 1fr auto;align-items:start;gap:9px}.discovery-row+.discovery-row{border-top:1px solid var(--border)}.discovery-row>span{height:34px;display:grid;place-items:center;border-radius:10px;background:#EEF2FF;font-size:13px}.discovery-row>p{margin:0;color:var(--t3);font-size:9px;line-height:1.4}.discovery-row>p strong{display:block;color:var(--t1);font-size:11px}.discovery-row>b{padding:3px 5px;border-radius:999px;background:#DCFCE7;color:#15803D;font-size:7px}.discoveries-card>button{width:100%;padding:10px;border:0;border-top:1px solid var(--border);background:#F8FAFC;color:var(--brand);font-size:10px;font-weight:700;cursor:pointer}.discoveries-card>button span{margin-left:4px}.discovery-extra[hidden]{display:none}
.weekly-ai-button{width:calc(100% - 24px);margin:4px 12px 10px;padding:13px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:1px solid #A5B4FC;border-radius:16px;background:linear-gradient(135deg,#EEF2FF,#F5F3FF);color:var(--t1);text-align:left;cursor:pointer}.weekly-ai-button>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#fff}.weekly-ai-button>span:nth-child(2){display:grid}.weekly-ai-button strong{font-size:12px}.weekly-ai-button small{color:var(--t3);font-size:9px}.weekly-ai-button>b{color:#4F46E5;font-size:20px}.weekly-ai-report{margin:0 12px 24px;padding:14px;border:1px solid #C7D2FE;border-radius:18px;background:linear-gradient(145deg,#fff,#EEF2FF);box-shadow:var(--card-shadow)}.weekly-ai-report[hidden]{display:none}.weekly-ai-score{display:grid;grid-template-columns:1fr auto;align-items:center;padding-bottom:12px;border-bottom:1px solid #DDE4FD}.weekly-ai-score>span{color:#4F46E5;font-size:9px;font-weight:800;letter-spacing:.08em}.weekly-ai-score>strong{grid-row:1/3;grid-column:2;font-size:27px}.weekly-ai-score>strong small{font-size:9px}.weekly-ai-score>b{font-size:12px}.weekly-ai-report section{padding-top:10px}.weekly-ai-report section span{color:#4F46E5;font-size:8px;font-weight:850;letter-spacing:.09em}.weekly-ai-report section p{margin:3px 0 0;color:var(--t2);font-size:9px;line-height:1.45}

.coach-ai-row{margin:0 12px 8px}.coach-ai-btn{width:100%;padding:11px 13px;border:1px solid #A5B4FC;border-radius:13px;background:linear-gradient(135deg,#EEF2FF,#F5F3FF);color:#4338CA;font-size:11px;font-weight:800;cursor:pointer}.coach-ai-btn:disabled{opacity:.7;cursor:wait}.coach-ai-output:empty{display:none}.coach-card-ai{border-color:#C7D2FE!important;border-left-color:#6366F1!important;background:linear-gradient(145deg,#FFF,#EEF2FF)!important}.coach-ai-top{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px solid #DDE4FD}.coach-ai-mark{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:11px;background:#E0E7FF;font-size:17px}.coach-ai-top>div{display:grid}.coach-ai-top strong{font-size:13px}.coach-ai-top span{color:var(--t3);font-size:9px}.coach-ai-body>p{margin:10px 0;color:var(--t2);font-size:10px;line-height:1.5}.coach-ai-body h4{margin:12px 0 2px;color:#4F46E5;font-size:8px;letter-spacing:.09em}.coach-ai-body aside{padding:10px;border:1px solid #C7D2FE;border-radius:12px;background:rgba(224,231,255,.62)}.coach-ai-body aside strong,.coach-ai-body aside span{display:block}.coach-ai-body aside strong{color:#4F46E5;font-size:8px;letter-spacing:.08em}.coach-ai-body aside span{margin-top:3px;color:var(--t2);font-size:9px;line-height:1.4}.coach-ai-loading{margin:0 12px 10px;padding:18px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid #C7D2FE;border-radius:18px;background:#F5F7FF}.coach-ai-loading i{width:5px;height:5px;border-radius:50%;background:#6366F1;animation:ai-dots .8s ease-in-out infinite alternate}.coach-ai-loading i:nth-child(2){animation-delay:.08s}.coach-ai-loading i:nth-child(3){animation-delay:.16s}.coach-ai-loading i:nth-child(4){animation-delay:.24s}.coach-ai-loading i:nth-child(5){animation-delay:.32s}.coach-ai-loading i:nth-child(6){animation-delay:.4s}.coach-ai-loading i:nth-child(7){animation-delay:.48s}.coach-ai-loading i:nth-child(8){animation-delay:.56s}.coach-ai-loading i:nth-child(9){animation-delay:.64s}.coach-ai-loading i:nth-child(10){animation-delay:.72s}@keyframes ai-dots{to{transform:translateY(-6px);opacity:.35}}
.coach-details{width:100%;margin-top:11px;padding:10px 3px 0;display:grid;grid-template-columns:auto auto 1fr;gap:5px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--t2);font-size:10px;font-weight:700;text-align:left;cursor:pointer}.coach-details span{min-width:18px;padding:1px 5px;border-radius:999px;background:var(--surface2);text-align:center}.coach-details b{justify-self:end}.coach-details[aria-expanded=true] b{transform:rotate(180deg)}.coach-details-body[hidden]{display:none}
.analysis-card{margin:0 12px 22px;padding:14px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.analysis-chart-head{display:flex;align-items:end;justify-content:space-between}.analysis-chart-head>div{display:grid}.analysis-chart-head span{color:var(--t4);font-size:8px;font-weight:800;letter-spacing:.08em}.analysis-chart-head strong{font-size:13px}.analysis-chart-head>b{color:var(--green);font-size:12px}.mini-bars,.sleep-trend-line{height:80px;margin:12px 0 10px;padding:0 5px;display:flex;align-items:end;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to top,transparent 0,transparent 26px,#F1F5F9 27px)}.mini-bars i{width:25px;min-height:12%;border-radius:5px 5px 0 0;background:#BFDBFE}.mini-bars i.active{background:var(--brand)}.analysis-recommendation{margin-top:9px;padding:10px;display:grid;grid-template-columns:28px 1fr;gap:8px;border-radius:12px;background:var(--surface2)}.analysis-recommendation>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#fff}.analysis-recommendation p{margin:0;color:var(--t3);font-size:9px;line-height:1.4}.analysis-recommendation strong{display:block;color:var(--t1);font-size:10px}.sleep-trend-line i{width:26px;min-height:26%;position:relative;border-radius:999px;background:#C4B5FD}.sleep-trend-line i:before{content:'';position:absolute;top:-4px;left:50%;width:8px;height:8px;transform:translateX(-50%);border:2px solid #8B5CF6;border-radius:50%;background:#fff}.sleep-trend-line i.active{background:#7C3AED}.nutrition-analysis{margin-top:9px;margin-bottom:8px}.nutrition-balance{display:grid;gap:8px;margin-top:12px}.nutrition-balance>div{display:grid;grid-template-columns:58px 1fr 35px;align-items:center;gap:7px;font-size:9px}.nutrition-balance i{height:6px;overflow:hidden;border-radius:99px;background:var(--border)}.nutrition-balance i b{display:block;height:100%;border-radius:inherit;background:#3B82F6}.nutrition-balance i b.over{background:#F97316}.nutrition-balance strong{text-align:right;font-size:9px}
.fasting-analysis{margin-bottom:10px}.metabolic-phase{display:grid;grid-template-columns:42px 1fr;gap:10px}.metabolic-phase>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#FFEDD5;font-size:20px}.metabolic-phase>div{display:grid}.metabolic-phase small{color:#EA580C;font-size:8px;font-weight:800;letter-spacing:.08em}.metabolic-phase strong{font-size:13px}.metabolic-phase p{margin:2px 0;color:var(--t3);font-size:9px;line-height:1.4}.fast-phase-track{margin-top:13px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.fast-phase-track i{height:7px;border-radius:99px;background:#E5E7EB}.fast-phase-track i:nth-child(-n+2){background:#FDBA74}.fast-phase-track i.active{background:#F97316}.fast-phase-labels{margin-top:4px;display:grid;grid-template-columns:repeat(4,1fr);color:var(--t3);font-size:7px;text-align:center}.fast-ai-coach{margin:0 12px 24px;padding:14px;border:1px solid #C7D2FE;border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.fast-ai-coach>label{display:block;margin-bottom:7px;font-size:11px;font-weight:700}.fast-ai-coach>div:first-of-type{display:grid;grid-template-columns:1fr auto;gap:6px}.fast-ai-coach input{min-width:0;padding:10px;border:1px solid var(--border2);border-radius:11px;background:#F8FAFC;color:var(--t2);font-size:10px}.fast-ai-coach button{padding:0 14px;border:0;border-radius:11px;background:#4F46E5;color:#fff;font-size:10px;font-weight:800;cursor:pointer}.fast-ai-answer{margin-top:10px;padding:10px;border-radius:12px;background:#EEF2FF}.fast-ai-answer[hidden]{display:none}.fast-ai-answer strong{font-size:10px}.fast-ai-answer p,.fast-ai-coach>p{margin:4px 0 0;color:var(--t3);font-size:9px;line-height:1.45}.fast-ai-coach>p{text-align:center}

@media(max-width:360px){.tracker-grid{grid-template-columns:repeat(2,1fr)}.weekly-summary-grid{grid-template-columns:1fr}.weekly-summary-grid article:last-child{grid-column:auto}.compact-fast-card{grid-template-columns:auto 1fr}.compact-fast-card>button{display:none}}

.mood-score-small{width:54px;height:54px;display:grid;place-items:center;align-content:center;border-radius:50%;background:#FEF3C7}.mood-score-small strong{color:#D97706;font-size:20px}.mood-score-small span{color:var(--t3);font-size:8px}.mood-streak{margin:0 12px 6px;padding:13px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid #FDE68A;border-radius:17px;background:#FFFBEB;box-shadow:var(--card-shadow)}.mood-streak>span{font-size:22px}.mood-streak>div{display:grid}.mood-streak strong{font-size:12px}.mood-streak small{color:var(--t3);font-size:9px}.mood-streak>b{color:#EA580C;font-size:22px}.mood-checkin{margin:0 12px 8px;padding:14px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.mood-choice{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.mood-choice button{padding:8px 2px;display:grid;place-items:center;border:1px solid transparent;border-radius:12px;background:var(--surface2);cursor:pointer}.mood-choice button span{font-size:21px;filter:grayscale(.45);opacity:.72}.mood-choice button small{margin-top:3px;color:var(--t3);font-size:8px}.mood-choice button.active{border-color:#FBBF24;background:#FFFBEB}.mood-choice button.active span{filter:none;opacity:1;transform:scale(1.08)}.mood-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 14px;margin-top:15px}.mood-metrics label{display:grid;grid-template-columns:1fr auto;color:var(--t2);font-size:9px;font-weight:700}.mood-metrics output{color:var(--brand)}.mood-metrics input{grid-column:1/-1;width:100%;accent-color:var(--brand)}.mood-note{display:grid;gap:5px;margin-top:13px;color:var(--t2);font-size:9px;font-weight:700}.mood-note textarea{padding:9px;border:1px solid var(--border);border-radius:10px;background:#F8FAFC;color:var(--t2);font:inherit;resize:none}.mood-save{width:100%;margin-top:10px;padding:11px;border:0;border-radius:11px;background:var(--brand);color:#fff;font-size:10px;font-weight:800;cursor:pointer}.mood-save-status{min-height:12px;margin:5px 0 0;color:var(--green);font-size:8px;text-align:center}.mood-chart{height:80px;margin:12px 0 10px;padding:0 3px;display:flex;align-items:end;gap:4px;border-bottom:1px solid var(--border)}.mood-chart i{flex:1;min-height:20%;border-radius:4px 4px 0 0;background:#FDE68A}.mood-chart i.active{background:#F59E0B}.mood-history{border-top:1px solid var(--border)}.mood-history>div{padding:9px 2px;display:grid;grid-template-columns:1fr auto}.mood-history>div+div{border-top:1px solid var(--border)}.mood-history span{color:var(--t3);font-size:8px}.mood-history strong{font-size:10px}.mood-history small{grid-column:1/-1;color:var(--t3);font-size:8px}.mood-analysis{margin-bottom:24px}

/* Large below-fold cards are skipped until close to the app viewport. */
.weekly-summary-grid,.discoveries-card,.weekly-ai-button,.analysis-card,.fast-ai-coach{content-visibility:auto;contain-intrinsic-size:auto 180px}
.bn-pill{background:#fff;backdrop-filter:none}

/* 2026-09 generated sample-data surfaces. */
.movement-hero-card{margin:0 12px 8px;padding:16px;border-radius:20px;background:linear-gradient(145deg,#112C62,#1D4ED8 58%,#2563EB);box-shadow:0 12px 30px rgba(29,78,216,.2);color:#fff}.movement-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.movement-hero-top>div:first-child{display:grid}.movement-hero-top span{color:rgba(255,255,255,.65);font-size:8px;font-weight:800;letter-spacing:.1em}.movement-hero-top strong{font-size:17px;letter-spacing:-.02em}.movement-hero-top small{color:rgba(255,255,255,.68);font-size:8px}.movement-readiness{width:56px;height:56px;display:grid;place-items:center;align-content:center;flex:0 0 56px;border:5px solid rgba(255,255,255,.23);border-top-color:#5EEAD4;border-right-color:#5EEAD4;border-radius:50%}.movement-readiness b{font-size:20px;line-height:1}.movement-readiness small{font-size:7px}.movement-progress{height:5px;margin:13px 0 12px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.16)}.movement-progress i{display:block;width:91%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5EEAD4,#86EFAC)}.movement-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.movement-hero-metrics>div{display:grid;padding:9px 7px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.08)}.movement-hero-metrics strong{font-size:16px}.movement-hero-metrics span{color:#fff;font-size:8px;font-weight:700}.movement-hero-metrics small{color:rgba(255,255,255,.62);font-size:7px}.movement-spark{height:55px;margin:12px 0 8px;padding:0 3px;display:flex;align-items:end;gap:4px;border-bottom:1px solid rgba(255,255,255,.16)}.movement-spark i{flex:1;min-height:10%;border-radius:3px 3px 0 0;background:rgba(191,219,254,.48)}.movement-spark i.active{background:#5EEAD4}.movement-chips{display:flex;gap:5px;overflow:hidden}.movement-chips span{padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:7px;letter-spacing:0;white-space:nowrap}.movement-clock-card{margin:0 12px 8px;padding:13px 14px;display:grid;grid-template-columns:82px 1fr;align-items:center;gap:13px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.movement-clock{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#2563EB 0 13%,#BFDBFE 13% 24%,#F59E0B 24% 37%,#E5E7EB 37% 58%,#60A5FA 58% 73%,#E5E7EB 73% 100%);position:relative}.movement-clock:before{content:'';position:absolute;inset:9px;border-radius:50%;background:#fff}.movement-clock>span{position:relative;display:grid;place-items:center}.movement-clock b{font-size:17px}.movement-clock small{color:var(--t3);font-size:7px}.movement-clock-card>div:last-child>strong{font-size:11px;line-height:1.25}.movement-clock-card p{margin:4px 0 8px;color:var(--t3);font-size:8px;line-height:1.35}.clock-legend{display:flex;gap:9px;color:var(--t3);font-size:7px}.clock-legend span{display:flex;align-items:center;gap:3px}.clock-legend i{width:6px;height:6px;border-radius:50%;background:#BFDBFE}.clock-legend span:nth-child(2) i{background:#2563EB}.clock-legend span:nth-child(3) i{background:#F59E0B}.movement-plan-card{margin:0 12px 8px;padding:12px 13px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:1px solid #C7D2FE;border-radius:16px;background:linear-gradient(145deg,#fff,#EEF2FF);box-shadow:var(--card-shadow)}.movement-plan-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#DBEAFE}.movement-plan-card>div{display:grid}.movement-plan-card small{color:#4F46E5;font-size:7px;font-weight:800;letter-spacing:.08em}.movement-plan-card strong{font-size:11px}.movement-plan-card p{margin:2px 0 0;color:var(--t3);font-size:8px}.movement-plan-card>b{color:#4F46E5;font-size:20px}

.sleep-recovery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 12px 8px}.sleep-recovery-grid article{padding:11px 6px;display:grid;place-items:center;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--card-shadow)}.sleep-recovery-grid span{color:var(--t4);font-size:7px;font-weight:800;letter-spacing:.06em}.sleep-recovery-grid strong{margin-top:2px;color:#6D28D9;font-size:18px}.sleep-recovery-grid small{color:var(--green);font-size:8px}.sleep-window-card{margin:0 12px 8px;padding:12px 13px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border:1px solid #DDD6FE;border-radius:16px;background:linear-gradient(145deg,#fff,#F5F3FF);box-shadow:var(--card-shadow)}.sleep-window-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#EDE9FE}.sleep-window-card>div{display:grid}.sleep-window-card small{color:#6D28D9;font-size:7px;font-weight:800;letter-spacing:.07em}.sleep-window-card strong{font-size:12px}.sleep-window-card p{margin:2px 0 0;color:var(--t3);font-size:8px}.sleep-window-card>b{padding:4px 6px;border-radius:999px;background:#DCFCE7;color:#15803D;font-size:7px;white-space:nowrap}

.live-chip{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:#ECFDF5;color:#047857;font-size:8px;font-weight:800}.live-chip i{width:6px;height:6px;border-radius:50%;background:#10B981}.heart-now-card{margin:0 12px 8px;padding:16px;border-radius:20px;background:linear-gradient(145deg,#7F1D1D,#DC2626 58%,#EF4444);box-shadow:0 12px 30px rgba(220,38,38,.2);color:#fff}.heart-now-main{display:flex;align-items:center;gap:13px}.heart-pulse{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.14);font-size:24px}.heart-now-main>div{display:grid}.heart-now-main small{color:rgba(255,255,255,.64);font-size:7px;font-weight:800;letter-spacing:.08em}.heart-now-main strong{font-size:33px;line-height:1.05}.heart-now-main strong em{font-size:11px;font-style:normal}.heart-now-main>div>span{color:rgba(255,255,255,.76);font-size:9px}.heart-range{margin-top:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.heart-range>span{display:grid;font-size:11px;font-weight:800}.heart-range>span:last-child{text-align:right}.heart-range small{color:rgba(255,255,255,.62);font-size:7px;font-weight:500}.heart-range>i{height:6px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.2)}.heart-range>i b{display:block;width:43%;height:100%;margin-left:18%;border-radius:inherit;background:#FDE68A}.heart-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 12px 8px}.heart-metric-grid article{padding:11px 8px;display:grid;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--card-shadow)}.heart-metric-grid span{color:var(--t4);font-size:7px;font-weight:800;letter-spacing:.06em}.heart-metric-grid strong{margin-top:3px;font-size:17px}.heart-metric-grid strong small{font-size:8px}.heart-metric-grid b{margin-top:2px;color:var(--t3);font-size:7px}.heart-metric-grid b.good{color:#059669}.heart-period{margin-top:10px}.heart-chart-card{margin:8px 12px;padding:14px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.heart-line{height:105px;margin:12px 0 10px;padding:0 4px;display:flex;align-items:end;gap:6px;border-bottom:1px solid var(--border);background:repeating-linear-gradient(to top,transparent 0,transparent 34px,#F1F5F9 35px)}.heart-line i{flex:1;min-height:24%;position:relative;border-radius:5px 5px 0 0;background:#FECACA}.heart-line i:before{content:'';position:absolute;top:-4px;left:50%;width:7px;height:7px;transform:translateX(-50%);border:2px solid #EF4444;border-radius:50%;background:#fff}.heart-line i.active{background:#F87171}.heart-zones{display:flex;justify-content:space-between;gap:5px;color:var(--t3);font-size:7px}.heart-zones span{display:flex;align-items:center;gap:3px}.heart-zones i{width:6px;height:6px;border-radius:50%;background:#E5E7EB}.heart-zones span:nth-child(2) i{background:#FDBA74}.heart-zones span:nth-child(3) i{background:#EF4444}.heart-recovery-card{margin:0 12px 8px;padding:13px;display:grid;grid-template-columns:35px 1fr;gap:9px;border:1px solid #FECACA;border-radius:16px;background:#FFF7F7}.heart-recovery-card>span{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#FEE2E2}.heart-recovery-card>div{display:grid}.heart-recovery-card small{color:#DC2626;font-size:7px;font-weight:800;letter-spacing:.07em}.heart-recovery-card strong{font-size:11px}.heart-recovery-card p{margin:2px 0 0;color:var(--t3);font-size:8px}

.community-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#DBEAFE;color:#1D4ED8;font-size:10px;font-weight:800}.community-tabs,.challenge-tabs{display:flex;gap:3px;margin:0 12px 10px;padding:3px;border-radius:13px;background:#E5E7EB}.community-tabs button,.challenge-tabs button{flex:1;min-width:0;padding:9px 4px;border:0;border-radius:10px;background:transparent;color:var(--t3);font-size:8px;font-weight:800;cursor:pointer}.community-tabs button.active,.challenge-tabs button.active{background:#fff;box-shadow:0 2px 8px rgba(15,24,39,.08);color:var(--brand)}.community-spotlight{margin:0 12px 8px;padding:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:18px;background:linear-gradient(145deg,#172554,#1D4ED8);color:#fff;box-shadow:0 10px 28px rgba(29,78,216,.18)}.community-spotlight>div:first-child{display:grid}.community-spotlight span{color:rgba(255,255,255,.64);font-size:7px;font-weight:800;letter-spacing:.08em}.community-spotlight strong{font-size:22px}.community-spotlight small{color:rgba(255,255,255,.7);font-size:8px}.avatar-stack{display:flex}.avatar-stack i{width:30px;height:30px;margin-left:-7px;display:grid;place-items:center;border:2px solid #1D4ED8;border-radius:50%;background:#DBEAFE;color:#1D4ED8;font-size:7px;font-style:normal;font-weight:800}.avatar-stack i:first-child{margin-left:0}.avatar-stack i:nth-child(2){background:#D1FAE5;color:#047857}.avatar-stack i:nth-child(3){background:#FDE68A;color:#92400E}.avatar-stack i:nth-child(4){background:#fff;color:#475569}.community-feed{display:grid;gap:8px;margin:0 12px}.community-feed>article{padding:13px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--card-shadow)}.feed-head{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px}.feed-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#EDE9FE;color:#6D28D9;font-size:8px;font-weight:800}.feed-avatar.blue{background:#DBEAFE;color:#1D4ED8}.feed-avatar.green{background:#D1FAE5;color:#047857}.feed-avatar.violet{background:#EDE9FE;color:#6D28D9}.feed-avatar.amber{background:#FEF3C7;color:#B45309}.feed-head>div{display:grid}.feed-head strong{font-size:11px}.feed-head small{color:var(--t3);font-size:8px}.feed-head button{border:0;background:none;color:var(--t3);font-size:10px}.community-feed>article>p{margin:10px 0;color:var(--t2);font-size:10px;line-height:1.42}.feed-stat{padding:11px;display:grid;grid-template-columns:30px 1fr;border-radius:12px;background:#EFF6FF}.feed-stat>span{grid-row:1/3;width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#fff}.feed-stat strong{font-size:10px}.feed-stat small{color:var(--t3);font-size:8px}.feed-stat.sleep{background:#F5F3FF}.feed-actions{display:flex;gap:5px;margin-top:9px}.feed-actions button{padding:6px 8px;border:0;border-radius:9px;background:#F1F5F9;color:var(--t2);font-size:8px;font-weight:700}.feed-actions button:last-child{margin-left:auto;color:var(--brand)}.community-group-card{margin:0 12px 24px;padding:13px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;border:1px solid var(--border);border-radius:16px;background:#fff}.community-group-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#DCFCE7}.community-group-card>div{display:grid}.community-group-card strong{font-size:10px}.community-group-card small{color:var(--t3);font-size:8px}.community-group-card>b{color:var(--brand);font-size:8px}

.challenge-days{padding:6px 8px;border-radius:999px;background:#FFF7ED;color:#C2410C;font-size:7px;font-weight:800}.challenge-hero{margin:0 12px 10px;padding:17px;border-radius:20px;background:linear-gradient(145deg,#431407,#9A3412 58%,#EA580C);box-shadow:0 12px 30px rgba(194,65,12,.2);color:#fff}.challenge-kicker{color:#FED7AA;font-size:7px;font-weight:850;letter-spacing:.1em}.challenge-prize{float:right;width:76px;height:76px;margin:-6px 0 4px 10px;display:grid;place-items:center;align-content:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.11)}.challenge-prize strong{font-size:22px;line-height:1}.challenge-prize span{color:#FFEDD5;font-size:7px}.challenge-hero h3{margin:8px 0 3px;font-size:18px;letter-spacing:-.02em}.challenge-hero>p{margin:0;color:#FFEDD5;font-size:9px;line-height:1.4}.challenge-progress{clear:both;height:7px;margin:16px 0 5px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.18)}.challenge-progress i{display:block;width:92%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#FDE68A,#FBBF24)}.challenge-progress-copy{display:flex;justify-content:space-between;color:#FFEDD5;font-size:7px}.challenge-progress-copy b{color:#fff}.challenge-rank{margin-top:13px;padding:9px 11px;display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.08)}.challenge-rank span{font-size:7px;font-weight:800;letter-spacing:.08em}.challenge-rank strong{grid-row:1/3;grid-column:2;font-size:24px}.challenge-rank small{color:#FED7AA;font-size:7px}.challenge-league{margin:0 12px 8px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;border:1px solid #FDE68A;border-radius:14px;background:#FFFBEB}.challenge-league>div{display:flex;align-items:center;gap:8px}.challenge-league>div>span{font-size:20px}.challenge-league p{margin:0;display:grid}.challenge-league strong{font-size:10px}.challenge-league small{color:var(--t3);font-size:7px}.challenge-league>b{color:#B45309;font-size:8px}.challenge-board{margin:0 12px 8px;border:1px solid var(--border);border-radius:17px;background:#fff;overflow:hidden}.challenge-board article{padding:10px 11px;display:grid;grid-template-columns:20px 34px 1fr auto;align-items:center;gap:8px}.challenge-board article+article{border-top:1px solid var(--border)}.challenge-board article>b{font-size:10px;text-align:center}.challenge-board p{margin:0;display:grid}.challenge-board p strong{font-size:10px}.challenge-board p small{color:var(--t3);font-size:7px}.challenge-board em{font-size:9px;font-style:normal;font-weight:800}.challenge-board article.is-you{background:#EFF6FF}.challenge-board article.is-you>b,.challenge-board article.is-you em{color:var(--brand)}.challenge-missions{display:grid;gap:7px;margin:0 12px}.challenge-missions article{padding:11px 12px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;border:1px solid var(--border);border-radius:14px;background:#fff}.challenge-missions article>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#DCFCE7;color:#15803D;font-size:8px;font-weight:800}.challenge-missions article:last-child>span{background:#FEF3C7;color:#B45309}.challenge-missions p{margin:0;display:grid}.challenge-missions strong{font-size:9px}.challenge-missions small{color:var(--t3);font-size:7px}.challenge-missions article>b{color:#B45309;font-size:9px}.challenge-note{margin:10px 16px 26px;color:var(--t3);font-size:7px;text-align:center}.more-menu>section{max-height:82%;overflow-y:auto}
