:root {
  color-scheme: dark;
  --bg:#05070F;
  --bg-2:#070B1A;
  --surface:#0A1020;
  --surface-2:#10182C;
  --surface-3:#151F36;
  --text:#F5F7FB;
  --muted:#A7B0C1;
  --border:#26314A;
  --cyan:#00E5FF;
  --pink:#FF2D95;
  --violet:#8A2BE2;
  --silver:#C0C6D4;
  --accent:#FF2D95;
  --accent-2:#20112B;
  --positive:#45E0B7;
  --negative:#FF707D;
  --shadow:0 12px 34px rgba(0,0,0,.28);
  --neon-shadow:0 0 24px rgba(255,45,149,.13), 0 0 22px rgba(0,229,255,.08);
  --radius:20px;
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:
    radial-gradient(circle at 16% 0%,rgba(255,45,149,.12),transparent 24rem),
    radial-gradient(circle at 92% 8%,rgba(0,229,255,.10),transparent 24rem),
    linear-gradient(180deg,var(--bg-2),var(--bg));
  background-attachment:fixed;
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  font-size:16px;
}
button,input,textarea{font:inherit}button{cursor:pointer}
.app-shell{max-width:820px;margin:0 auto;padding:18px 14px calc(96px + env(safe-area-inset-bottom))}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 2px 16px}
.brand-lockup{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{width:50px;height:50px;border-radius:14px;box-shadow:0 0 22px rgba(0,229,255,.18),0 0 22px rgba(255,45,149,.14)}
.eyebrow{margin:5px 0 0;color:var(--silver);font-size:.65rem;font-weight:750;letter-spacing:.18em}
h1{font-size:1.85rem;line-height:1.05;margin:0;letter-spacing:-.035em;background:linear-gradient(90deg,#fff 0%,var(--silver) 55%,var(--cyan) 76%,var(--pink) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-size:1.05rem;margin:0}h3{font-size:.92rem;margin:0 0 6px}p{line-height:1.45}
.card{background:linear-gradient(180deg,rgba(15,23,43,.96),rgba(9,15,30,.98));border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.datebar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:8px;margin-bottom:14px;box-shadow:var(--neon-shadow)}
.date-label{display:grid;text-align:center;gap:2px;font-weight:750}.date-label input{border:0;background:transparent;color:var(--muted);text-align:center;font-size:.82rem;padding:2px;min-height:26px}
.icon-btn{min-width:44px;min-height:44px;border:1px solid #293754;background:var(--surface-2);border-radius:12px;color:var(--silver);font-size:1.7rem}
.view{display:none;gap:14px}.view.active{display:grid}.hero-grid,.period-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}
.metric-card{background:linear-gradient(180deg,var(--surface),#080E1B);border:1px solid var(--border);border-radius:17px;padding:14px;min-width:0;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.metric-card.prominent{position:relative;overflow:hidden;border-color:rgba(255,45,149,.5);box-shadow:0 0 22px rgba(255,45,149,.09)}
.metric-card.prominent:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink));box-shadow:0 0 14px rgba(255,45,149,.55)}
.metric-label{display:block;color:var(--muted);font-size:.78rem}.metric-card strong{display:block;font-size:1.7rem;line-height:1.1;margin-top:7px;overflow-wrap:anywhere}.metric-card.prominent strong{background:linear-gradient(90deg,var(--cyan),#B55CFF,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.metric-unit{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}
.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mini-card{background:linear-gradient(180deg,var(--surface),#080E1B);border:1px solid var(--border);border-radius:14px;padding:12px}.mini-card span{color:var(--muted);font-size:.75rem}.mini-card strong{display:block;margin-top:5px;font-size:1rem;color:var(--silver)}
.macro-grid .mini-card:nth-child(1){border-top-color:var(--pink)}.macro-grid .mini-card:nth-child(2){border-top-color:var(--violet)}.macro-grid .mini-card:nth-child(3){border-top-color:var(--cyan)}.macro-grid .mini-card:nth-child(4){border-top-color:var(--silver)}
.deficit-focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.target-progress{height:11px;overflow:hidden;border-radius:999px;background:#0A1325;border:1px solid var(--border)}.target-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink));box-shadow:0 0 15px rgba(255,45,149,.35);transition:width .2s ease}.projection-value strong{display:block;font-size:2rem;line-height:1.05;margin-top:2px;color:var(--cyan);text-shadow:0 0 18px rgba(0,229,255,.16)}.projection-value .metric-unit{margin-top:5px}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.status-pill{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;background:var(--surface-2);border:1px solid #293754;padding:6px 9px;color:var(--silver);font-size:.72rem;font-weight:700}
label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:650}input,textarea{width:100%;min-height:44px;border:1px solid var(--border);border-radius:12px;background:#070D1A;color:var(--text);padding:10px 12px;font-size:16px;outline:none}textarea{resize:vertical;min-height:105px}input::placeholder,textarea::placeholder{color:#6E7890}input:focus,textarea:focus,button:focus-visible{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,229,255,.12),0 0 18px rgba(0,229,255,.08);outline:none}
.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.food-form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.food-form .wide{grid-column:1/-1}.full{width:100%;margin-top:10px}
.primary,.ghost,.danger,.file-button{min-height:44px;border-radius:12px;padding:10px 14px;font-weight:760;border:1px solid transparent}.primary{background:linear-gradient(100deg,var(--pink),var(--violet));color:#fff;box-shadow:0 0 18px rgba(255,45,149,.14)}.primary:hover{filter:brightness(1.05)}.ghost,.file-button{background:var(--surface-2);color:var(--silver);border-color:var(--border)}.danger{background:#2B101A;color:#FF8D99;border-color:#68273B}.small{min-height:38px;padding:8px 11px;font-size:.82rem}.hidden{display:none!important}
.form-message{min-height:1.1em;margin:8px 0 0;color:var(--muted);font-size:.82rem}.muted,.note{color:var(--muted);font-size:.85rem}.note{margin:12px 0 0}.section-block{padding:2px}.list,.history-list{display:grid;gap:8px}.empty{border:1px dashed var(--border);border-radius:14px;padding:16px;color:var(--muted);font-size:.85rem;text-align:center}
.food-row,.recent-row,.history-row{background:linear-gradient(180deg,var(--surface),#080E1B);border:1px solid var(--border);border-radius:14px;padding:12px}.row-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.row-title{font-weight:750}.row-meta{margin-top:4px;color:var(--muted);font-size:.8rem;line-height:1.45}.row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.tiny-btn{min-height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:6px 10px;font-size:.78rem;font-weight:700;color:var(--silver)}
.search-card form{display:grid}.quick-chips{display:flex;overflow:auto;gap:7px;margin-top:12px;padding-bottom:2px}.chip{white-space:nowrap;min-height:38px;border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:7px 11px;color:var(--silver);font-size:.78rem}.result-topline h2{margin-top:8px}.sources{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.sources ul{margin:6px 0 0;padding-left:18px}.sources a{color:var(--cyan);word-break:break-word;font-size:.8rem}
.chart-wrap{overflow-x:auto}.chart-wrap svg{width:100%;min-width:500px;display:block}.week-list{display:grid;gap:7px}.week-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.week-row:last-child{border-bottom:0}.week-row span{font-size:.86rem}.week-row strong{font-size:.86rem}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.summary-grid div{background:var(--surface-2);border-radius:12px;padding:12px;border:1px solid #202B43}.summary-grid span{display:block;color:var(--muted);font-size:.72rem}.summary-grid strong{display:block;margin-top:5px;font-size:1rem}.history-row{width:100%;text-align:left;color:var(--text)}
.button-stack{display:flex;flex-wrap:wrap;gap:9px}.file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.danger-card{border-color:#5A2534}
.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translateX(-50%);width:min(820px,100%);display:grid;grid-template-columns:repeat(6,1fr);background:rgba(5,7,15,.94);backdrop-filter:blur(20px);border-top:1px solid #26314A;padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -12px 34px rgba(0,0,0,.28)}.nav-btn{min-height:54px;border:0;background:transparent;color:#8690A6;border-radius:12px;display:grid;place-items:center;gap:1px;font-weight:700}.nav-btn span{font-size:1.15rem}.nav-btn small{font-size:.66rem}.nav-btn.active{background:linear-gradient(180deg,rgba(255,45,149,.14),rgba(138,43,226,.10));color:var(--pink);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}
.photo-card form{display:grid;gap:12px}.field-label{display:block;margin-bottom:6px;color:var(--muted);font-size:.78rem;font-weight:650}.photo-preview-wrap{display:grid;gap:9px}.photo-preview{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:14px;border:1px solid var(--border);background:var(--surface-2)}.photo-tip{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.identified-items{margin:12px 0;padding:12px;border-radius:12px;background:var(--surface-2);border:1px solid #202B43}.identified-items ul{margin:6px 0 0;padding-left:20px;color:var(--muted);font-size:.84rem;line-height:1.5}
@media(max-width:620px){.app-shell{padding-left:10px;padding-right:10px}.hero-grid,.period-grid{grid-template-columns:1fr 1fr}.deficit-focus-grid{grid-template-columns:1fr}.hero-grid .prominent,.period-grid .metric-card:first-child{grid-column:1/-1}.macro-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:flex-start}.metric-card strong{font-size:1.55rem}}
@media(max-width:390px){.inline-form{grid-template-columns:1fr}.food-form{grid-template-columns:1fr}.food-form .wide{grid-column:auto}.hero-grid,.period-grid{gap:7px}.card{padding:14px}.brand-mark{width:44px;height:44px}.topbar h1{font-size:1.6rem}.eyebrow{font-size:.59rem;letter-spacing:.14em}}

/* =========================================================
   DeficitIQ v7 visual system — mockup-inspired neon UI
   Visual-only restyle. App logic and data behavior unchanged.
   ========================================================= */
:root{
  --bg:#040611;
  --bg-2:#070A18;
  --surface:#080E1C;
  --surface-2:#0B1325;
  --surface-3:#111A30;
  --text:#F7F8FC;
  --muted:#9AA6BC;
  --border:rgba(116,135,177,.22);
  --cyan:#00E5FF;
  --pink:#FF2D95;
  --violet:#8A2BE2;
  --orange:#FF8A3D;
  --silver:#C0C6D4;
  --radius:22px;
  --shadow:0 18px 42px rgba(0,0,0,.30);
}

html{background:#040611}
body{
  min-height:100%;
  background:
    radial-gradient(circle at 50% -5%,rgba(255,45,149,.15),transparent 26rem),
    radial-gradient(circle at 105% 20%,rgba(0,229,255,.11),transparent 25rem),
    radial-gradient(circle at -10% 68%,rgba(138,43,226,.10),transparent 25rem),
    linear-gradient(rgba(0,229,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,45,149,.02) 1px,transparent 1px),
    linear-gradient(180deg,#070A18 0%,#040611 100%);
  background-size:auto,auto,auto,34px 34px,34px 34px,auto;
  background-attachment:scroll;
}

.app-shell{max-width:760px;padding:calc(18px + env(safe-area-inset-top)) 13px calc(98px + env(safe-area-inset-bottom))}

/* Brand header mirrors the reference: mark, wordmark, tagline. */
.topbar{
  position:relative;
  display:flex;
  justify-content:center;
  text-align:center;
  margin:8px 0 18px;
  padding:2px 48px 0;
}
.brand-lockup{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}
.brand-mark{
  width:82px;height:82px;border-radius:0;object-fit:cover;
  mix-blend-mode:screen;
  filter:saturate(1.12) contrast(1.05);
  box-shadow:none;
}
h1{
  font-size:2.25rem;line-height:1;margin:0;
  letter-spacing:-.055em;
  font-weight:830;
  background:none;color:var(--text);
  text-shadow:0 0 24px rgba(0,229,255,.08);
}
h1 .word-deficit{
  background:linear-gradient(180deg,#FFFFFF 5%,#DDE5F6 45%,#A5B1CB 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
h1 .word-iq{
  margin-left:.05em;
  background:linear-gradient(145deg,var(--cyan) 3%,#7A78FF 35%,var(--pink) 66%,#FF49B0 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:none;
}
.eyebrow{margin:4px 0 0;color:#C8D0E0;font-size:.62rem;font-weight:650;letter-spacing:.27em}
#installBtn{position:absolute;right:0;top:6px}

/* Date control becomes a compact dark HUD strip. */
.datebar{
  max-width:520px;width:100%;margin:0 auto 18px;padding:7px 9px;
  border-color:rgba(0,229,255,.13);
  background:linear-gradient(180deg,rgba(11,19,37,.88),rgba(6,11,23,.92));
  box-shadow:0 0 24px rgba(0,229,255,.035),inset 0 1px 0 rgba(255,255,255,.025)
}
.icon-btn{background:#0A1222;border-color:rgba(127,147,191,.19);color:#C7D1E5}
.date-label{font-size:.92rem}.date-label input{color:#7F8BA3}

/* Today hero: the deficit is the center ring, eaten/burned sit below it. */
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;margin-top:2px}
.hero-grid .metric-card.prominent{grid-column:1/-1}
.metric-card{
  background:linear-gradient(160deg,rgba(13,22,42,.96),rgba(5,10,21,.98));
  border-color:rgba(102,122,164,.22);
  border-radius:18px;
  box-shadow:0 13px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025)
}
.metric-card.prominent{
  width:236px;height:236px;justify-self:center;margin:2px auto 0;
  border:0;border-radius:50%;padding:0;
  display:grid;place-content:center;justify-items:center;text-align:center;gap:8px;
  background:radial-gradient(circle,rgba(11,20,38,.98) 0 61%,rgba(6,11,23,.99) 62% 100%);
  box-shadow:0 0 42px rgba(0,229,255,.06),0 0 52px rgba(255,45,149,.06);
  isolation:isolate;
}
.metric-card.prominent:before{
  content:"";position:absolute;inset:0;height:auto;border-radius:50%;
  background:conic-gradient(from 5deg,var(--cyan) 0 33%,#5484FF 38%,var(--violet) 51%,var(--pink) 68% 82%,#25314B 82% 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 14px),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - 14px),#000 0);
  box-shadow:none;
  filter:drop-shadow(0 0 7px rgba(0,229,255,.25)) drop-shadow(0 0 7px rgba(255,45,149,.18));
  z-index:0;
}
.metric-card.prominent:after{
  content:"";position:absolute;inset:19px;border-radius:50%;z-index:0;
  border:1px solid rgba(129,154,201,.12);
  box-shadow:inset 0 0 34px rgba(0,0,0,.36);
}
.metric-card.prominent>*{position:relative;z-index:2;justify-self:center;text-align:center}
.metric-card.prominent .metric-label{text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;color:#AEB9CD;margin:0}
.metric-card.prominent strong{
  margin:0;font-size:3.35rem;line-height:1;letter-spacing:-.045em;color:#fff;background:none;
  text-shadow:0 0 20px rgba(255,255,255,.08)
}
.metric-card.prominent .metric-unit{font-size:.76rem;color:#A7B2C8;letter-spacing:.04em;margin:0}
.hero-grid .metric-card:not(.prominent){padding:15px 16px;text-align:center}
.hero-grid .metric-card:not(.prominent):nth-child(2){border-top:2px solid rgba(255,45,149,.8)}
.hero-grid .metric-card:not(.prominent):nth-child(3){border-top:2px solid rgba(0,229,255,.8)}
.metric-label{text-transform:uppercase;letter-spacing:.10em;font-size:.65rem;color:#8F9AB0}
.metric-card strong{font-size:1.8rem;color:#F6F8FC}

/* Macro tiles like the reference UI. */
.macro-grid{gap:9px;margin-top:0}
.mini-card{
  position:relative;overflow:hidden;text-align:center;min-height:92px;
  display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(160deg,#0C1426,#070C18);
  border:1px solid rgba(95,117,160,.22);border-radius:17px;padding:14px 10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)
}
.mini-card:before{content:"";width:20px;height:4px;border-radius:999px;margin:0 auto 9px;box-shadow:0 0 12px currentColor}
.mini-card:nth-child(1):before{background:var(--pink);color:var(--pink)}
.mini-card:nth-child(2):before{background:var(--violet);color:var(--violet)}
.mini-card:nth-child(3):before{background:var(--cyan);color:var(--cyan)}
.mini-card:nth-child(4):before{background:var(--silver);color:var(--silver)}
.mini-card span{text-transform:uppercase;letter-spacing:.10em;font-size:.63rem;color:#929DB3}
.mini-card strong{font-size:1.18rem;color:#F2F5FB}
.macro-grid .mini-card:nth-child(n){border-top-color:rgba(95,117,160,.22)}

/* Shared cards: deep glass panels with restrained neon edges. */
.card{
  background:linear-gradient(155deg,rgba(12,20,38,.96),rgba(6,11,23,.985));
  border:1px solid rgba(100,122,166,.22);
  box-shadow:0 16px 36px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025)
}
h2{font-size:1.02rem;letter-spacing:-.015em;color:#F3F6FC}
.section-heading p,.muted,.note,.photo-tip{color:#8F9BB2}
.status-pill{background:#0B1427;border-color:rgba(0,229,255,.13);color:#B8C4DA}
.deficit-target-card{border-top:2px solid rgba(255,45,149,.72)}
.projection-card{border-top:2px solid rgba(0,229,255,.72)}
.target-progress{height:9px;background:#07101F;border-color:rgba(111,132,176,.18)}
.target-progress span{background:linear-gradient(90deg,var(--pink),var(--violet),var(--cyan));box-shadow:0 0 14px rgba(0,229,255,.18)}
.projection-value strong{font-size:2.35rem;background:linear-gradient(90deg,var(--cyan),#8E6BFF,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}

input,textarea{
  background:#050B16;border-color:rgba(112,133,176,.25);border-radius:13px;color:#F5F7FC;
  box-shadow:inset 0 1px 8px rgba(0,0,0,.18)
}
input:focus,textarea:focus,button:focus-visible{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,229,255,.10),0 0 22px rgba(0,229,255,.07)}
.primary{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(105deg,var(--pink) 0%,#C625D7 42%,var(--violet) 64%,var(--cyan) 120%);
  box-shadow:0 0 18px rgba(255,45,149,.18),inset 0 1px 0 rgba(255,255,255,.18)
}
.ghost,.file-button,.tiny-btn,.chip{background:#0A1222;border-color:rgba(105,127,171,.24);color:#BEC9DC}

.food-row,.recent-row,.history-row{
  background:linear-gradient(155deg,#0B1324,#060C18);border-color:rgba(99,119,160,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)
}
.summary-grid div,.identified-items{background:#091225;border-color:rgba(99,119,160,.20)}
.sources a{color:var(--cyan)}

/* Navigation resembles the clean dark strip in the reference. */
.bottom-nav{
  background:rgba(4,7,15,.95);border-top:1px solid rgba(114,136,180,.20);
  box-shadow:0 -16px 38px rgba(0,0,0,.35),0 -1px 24px rgba(255,45,149,.025);
  padding-top:6px
}
.nav-btn{position:relative;color:#77849C;border-radius:10px;transition:color .18s ease,background .18s ease}
.nav-btn span{font-size:1.13rem}.nav-btn small{font-size:.64rem;letter-spacing:.01em}
.nav-btn.active{background:transparent;color:var(--pink);box-shadow:none;text-shadow:0 0 12px rgba(255,45,149,.25)}
.nav-btn.active:after{content:"";position:absolute;bottom:2px;width:30px;height:3px;border-radius:999px;background:var(--pink);box-shadow:0 0 10px rgba(255,45,149,.55)}

.photo-preview{background:#050A15;border-color:rgba(108,130,173,.23)}
.danger-card{border-color:rgba(255,83,111,.32)}

@media(min-width:621px){
  .hero-grid{max-width:600px;margin-left:auto;margin-right:auto}
  .macro-grid{max-width:680px;margin-left:auto;margin-right:auto}
}
@media(max-width:620px){
  .app-shell{padding-left:10px;padding-right:10px}
  .topbar{padding-left:42px;padding-right:42px}
  .brand-mark{width:74px;height:74px}
  h1{font-size:2.05rem}
  .hero-grid{grid-template-columns:1fr 1fr}
  .hero-grid .prominent{grid-column:1/-1}
  .metric-card.prominent{width:220px;height:220px}
  .metric-card.prominent strong{font-size:3.05rem}
  .macro-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:390px){
  .brand-mark{width:68px;height:68px}
  .topbar h1{font-size:1.92rem}
  .eyebrow{font-size:.56rem;letter-spacing:.20em}
  .metric-card.prominent{width:208px;height:208px}
  .metric-card.prominent strong{font-size:2.85rem}
  .card{padding:14px}
}


/* Fiber is intentionally secondary so the app remains deficit-first. */
.secondary-nutrient-card{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:-1px;padding:10px 14px;border-radius:14px;
  background:linear-gradient(160deg,rgba(10,18,34,.88),rgba(6,11,22,.92));
  border:1px solid rgba(138,43,226,.20);color:#95A2B8;
}
.secondary-nutrient-card span{text-transform:uppercase;letter-spacing:.11em;font-size:.62rem}
.secondary-nutrient-card strong{font-size:.95rem;color:#D7DDEA}

/* =========================================================
   Temporary weight goal — requested feature only
   ========================================================= */
.temporary-goal-card{border-top:2px solid rgba(138,43,226,.75)}
.goal-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
.goal-form label{display:grid;gap:7px;min-width:0}
.goal-form label span{font-size:.72rem;color:#AAB5C9;font-weight:700;letter-spacing:.035em}
.goal-form .primary{grid-column:1/-1;min-height:46px}
.temporary-goal-result{margin-top:15px;padding-top:15px;border-top:1px solid rgba(103,125,168,.20)}
.goal-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.goal-summary-head>div{display:flex;flex-direction:column;gap:3px}
.goal-summary-head strong{font-size:2.45rem;line-height:1;background:linear-gradient(90deg,var(--cyan),#8E6BFF,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.goal-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.goal-summary-grid>div{background:#091225;border:1px solid rgba(99,119,160,.20);border-radius:15px;padding:12px;min-width:0}
.goal-summary-grid span{display:block;color:#8996AE;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;line-height:1.35}
.goal-summary-grid strong{display:block;margin-top:6px;color:#F4F7FC;font-size:1rem;line-height:1.2;overflow-wrap:anywhere}
.goal-warning{margin:12px 0 0;padding:11px 12px;border-radius:13px;background:rgba(255,138,61,.08);border:1px solid rgba(255,138,61,.26);color:#FFD0AE;font-size:.76rem;line-height:1.5}
.goal-warning.strong-warning{background:rgba(255,45,149,.08);border-color:rgba(255,45,149,.28);color:#FFC0DE}
@media(max-width:620px){
  .goal-form{grid-template-columns:1fr 1fr}
  .goal-form label:nth-child(3){grid-column:1/-1}
  .goal-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){
  .goal-form{grid-template-columns:1fr}
  .goal-form label:nth-child(3),.goal-form .primary{grid-column:auto}
  .goal-summary-head{flex-direction:column}
}

/* =========================================================
   v11 mobile viewport stability fix
   Prevent the app shell/cards from widening the page while
   preserving local chart/chip scrolling and all app behavior.
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.app-shell,.view,.view>*,.card,.metric-card,.period-grid,.hero-grid,.macro-grid,.deficit-focus-grid,.summary-grid,.temporary-goal-card,.goal-form,.goal-summary-grid,.section-heading,.datebar,.topbar{min-width:0;max-width:100%}
.app-shell{width:100%;overflow-x:clip}
.view{width:100%}
.card,.temporary-goal-card{width:100%;overflow-wrap:anywhere}
.chart-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.quick-chips{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.goal-form input{min-width:0;max-width:100%}
@media(max-width:480px){
  .goal-form{grid-template-columns:1fr}
  .goal-form label:nth-child(3),.goal-form .primary{grid-column:auto}
  .goal-summary-grid{grid-template-columns:1fr 1fr}
}
@supports not (overflow:clip){.app-shell{overflow-x:hidden}}

/* v13: make Search meal a clear primary action without changing app behavior */
.search-meal-cta{
  min-height:48px;
  padding:10px 18px;
  border:1px solid rgba(0,229,255,.50);
  border-radius:14px;
  background:linear-gradient(105deg,var(--cyan) 0%,#62A9FF 38%,var(--violet) 68%,var(--pink) 100%);
  color:#050914;
  font-size:.88rem;
  font-weight:850;
  letter-spacing:.01em;
  box-shadow:0 0 18px rgba(0,229,255,.18),0 0 22px rgba(255,45,149,.13);
}
.search-meal-cta:active{transform:translateY(1px);filter:brightness(.96)}
.search-meal-cta:focus-visible{outline:2px solid var(--silver);outline-offset:3px}
@media(max-width:620px){
  .manual-food-heading{display:grid;grid-template-columns:1fr;gap:12px}
  .manual-food-heading .search-meal-cta{width:100%;min-height:52px;font-size:.98rem}
}

/* Daily deficit target is edited directly on Today. */
.deficit-target-card .inline-form{margin-top:2px;margin-bottom:8px}
.deficit-target-card .muted{margin:0 0 10px}


/* =========================================================
   Previous-day deficit recap popup — requested feature only
   ========================================================= */
.daily-recap-overlay{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  padding:calc(env(safe-area-inset-top,0px) + 18px) 18px calc(env(safe-area-inset-bottom,0px) + 18px);
  background:rgba(2,5,13,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.daily-recap-modal{
  width:min(430px,100%);position:relative;overflow:hidden;
  border-radius:24px;padding:24px 22px 22px;
  background:linear-gradient(165deg,#0E1730,#070C18 72%);
  border:1px solid rgba(112,136,184,.28);
  box-shadow:0 28px 74px rgba(0,0,0,.58),0 0 38px rgba(255,45,149,.10),inset 0 1px 0 rgba(255,255,255,.04)
}
.daily-recap-modal:before{
  content:"";position:absolute;inset:0 0 auto;height:3px;
  background:linear-gradient(90deg,var(--pink),var(--violet),var(--cyan));
  box-shadow:0 0 18px rgba(255,45,149,.5)
}
.daily-recap-kicker{
  display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;
  border:1px solid rgba(0,229,255,.13);background:#0A1428;color:#C7D2E5;
  font-size:.72rem;font-weight:700;letter-spacing:.02em
}
.daily-recap-beast{
  margin:18px 0 6px;font-size:2.15rem;line-height:1;font-weight:900;letter-spacing:-.04em;
  background:linear-gradient(90deg,var(--pink),var(--violet),var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.daily-recap-summary{margin:15px 0 0;color:#F4F7FC;font-size:1.06rem;line-height:1.52}
.daily-recap-summary strong{font-size:1.28rem;color:#fff}
.daily-recap-sub{margin:10px 0 0;color:#96A3BA;font-size:.91rem;line-height:1.48}
.daily-recap-progress{height:9px;margin:18px 0 4px;overflow:hidden;border-radius:999px;background:#07101F;border:1px solid rgba(111,132,176,.18)}
.daily-recap-progress span{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--pink),var(--violet),var(--cyan));box-shadow:0 0 14px rgba(255,45,149,.30)}
.daily-recap-close{width:100%;min-height:50px;margin-top:18px;font-size:1rem;font-weight:800}
body.daily-recap-open{overflow:hidden}
@media(max-width:390px){.daily-recap-modal{padding:22px 18px 19px}.daily-recap-beast{font-size:1.95rem}.daily-recap-summary{font-size:1rem}}

/* v20 tagline treatment option 2 */
.tagline-treatment{
  margin:10px 0 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  letter-spacing:normal;
}
.tagline-line{display:block;text-align:center}
.tagline-line-top{
  font-size:.62rem;
  font-weight:650;
  letter-spacing:.31em;
  color:#D4DBEA;
  text-shadow:0 0 14px rgba(255,255,255,.08);
}
.tagline-line-bottom{
  font-size:.86rem;
  font-weight:820;
  letter-spacing:.28em;
  background:linear-gradient(90deg,var(--pink) 0%,#BC57FF 46%,var(--cyan) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 22px rgba(255,45,149,.22),0 0 24px rgba(0,229,255,.14);
}
@media(max-width:390px){
  .tagline-treatment{gap:3px}
  .tagline-line-top{font-size:.56rem;letter-spacing:.23em}
  .tagline-line-bottom{font-size:.75rem;letter-spacing:.18em}
}


/* v21 Daily Deficit navigation + Goals flow */
.topbar h1{white-space:nowrap}
.goal-summary-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.goal-summary-actions .primary,.goal-summary-actions .ghost{min-height:42px}
.today-target-summary{border-top:2px solid rgba(255,45,149,.72)}
@media(max-width:620px){
  .topbar h1{font-size:1.88rem}
  .goal-summary-actions{width:100%;justify-content:stretch}
  .goal-summary-actions button{flex:1 1 100%}
}
@media(max-width:390px){.topbar h1{font-size:1.72rem}}

/* =========================================================
   v22 Goal Preview — approved Goals feature
   ========================================================= */
.goal-preview-card{border-top:2px solid rgba(255,45,149,.70)}
.goal-preview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.goal-preview-stats>div{min-width:0;padding:11px 12px;border-radius:14px;background:#091225;border:1px solid rgba(99,119,160,.20)}
.goal-preview-stats span{display:block;color:#8996AE;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.goal-preview-stats strong{display:block;margin-top:5px;color:#F5F7FC;font-size:1rem;overflow-wrap:anywhere}
#goalPreviewChange{color:var(--cyan)}
.goal-preview-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.goal-preview-file-btn{display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;font-weight:750}
.goal-preview-selected{display:flex;align-items:center;gap:12px;margin:11px 0;padding:10px;border-radius:14px;background:#07101F;border:1px solid rgba(0,229,255,.18)}
.goal-preview-selected img{width:58px;height:72px;object-fit:cover;border-radius:10px;border:1px solid rgba(0,229,255,.25)}
.goal-preview-selected div{min-width:0;display:grid;gap:3px}.goal-preview-selected strong{font-size:.84rem}.goal-preview-selected span{font-size:.72rem;color:#8F9BB2;line-height:1.35}
.goal-preview-generate{margin-top:10px;min-height:48px}
.goal-preview-privacy{margin:9px 0 0;text-align:center;color:#77849B;font-size:.68rem;line-height:1.45}
.goal-preview-result{border-top:2px solid rgba(0,229,255,.72)}
.goal-preview-result-head p strong{color:var(--cyan)}
.goal-preview-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.goal-preview-panel{margin:0;min-width:0;border-radius:17px;background:#070D1A;border:1px solid rgba(102,122,164,.22);overflow:hidden}
.goal-preview-panel.current{box-shadow:inset 0 2px 0 rgba(192,198,212,.65)}
.goal-preview-panel.result{border-color:rgba(0,229,255,.52);box-shadow:0 0 20px rgba(0,229,255,.07),inset 0 2px 0 rgba(255,45,149,.72)}
.goal-preview-panel figcaption{text-align:center;padding:9px 8px;color:#C6CFE0;font-size:.72rem;font-weight:750;letter-spacing:.025em;background:#0A1325}
.goal-preview-img-wrap{position:relative;aspect-ratio:3/4;background:#050A14;overflow:hidden}
.goal-preview-open{display:block;width:100%;padding:0;border:0;color:inherit;cursor:zoom-in;text-align:left}
.goal-preview-open:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px;box-shadow:inset 0 0 0 5px rgba(0,229,255,.12)}
.goal-preview-img-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.goal-preview-img-wrap span{position:absolute;left:8px;bottom:8px;padding:5px 8px;border-radius:9px;background:rgba(5,10,20,.82);border:1px solid rgba(160,180,220,.30);font-size:.78rem;font-weight:800;color:#F5F7FC;backdrop-filter:blur(5px)}
.goal-preview-panel.result .goal-preview-img-wrap span{border-color:rgba(255,45,149,.45)}
.goal-preview-result-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.goal-preview-result-actions button{min-height:50px;padding:8px;font-size:.72rem;font-weight:760;line-height:1.25}
@media(max-width:440px){
  .goal-preview-stats{grid-template-columns:1fr 1fr}.goal-preview-stats>div:last-child{grid-column:1/-1}
  .goal-preview-result-actions{grid-template-columns:1fr}.goal-preview-result-actions button{min-height:44px}
}
@media(max-width:360px){.goal-preview-photo-actions{grid-template-columns:1fr}.goal-preview-compare{gap:6px}.goal-preview-panel figcaption{font-size:.65rem}}

.image-viewer{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:18px calc(18px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left))}
.image-viewer-backdrop{position:absolute;inset:0;background:rgba(0,3,10,.90);backdrop-filter:blur(12px)}
.image-viewer-card{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100dvh - 36px);display:grid;gap:12px;padding:14px;border-radius:20px;background:#080F1E;border:1px solid rgba(126,149,194,.32);box-shadow:0 28px 80px rgba(0,0,0,.62);overflow:auto}
.image-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-viewer-head>div{display:grid;gap:2px}.image-viewer-head strong{font-size:1rem}.image-viewer-head span{color:#8F9BB2;font-size:.76rem}
.image-viewer-close{width:44px;min-width:44px;height:44px;padding:0;font-size:1.6rem;line-height:1}
.image-viewer-card>img{display:block;width:100%;max-height:calc(100dvh - 190px);object-fit:contain;border-radius:14px;background:#030711}
body.image-viewer-open{overflow:hidden}

/* v23 approved feature additions */
.food-budget-card{border-top:2px solid rgba(0,229,255,.72)}
.food-budget-value{display:flex;align-items:baseline;gap:10px;margin:5px 0 8px}
.food-budget-value strong{font-size:2.55rem;line-height:1;background:linear-gradient(90deg,var(--cyan),#7E70FF,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.food-budget-value span{color:#93A0B7;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.goal-pace-tracker{margin-top:15px;padding-top:15px;border-top:1px solid rgba(103,125,168,.20)}
.compact-heading{margin-bottom:10px}.compact-heading h3{margin:0;color:#F3F6FC;font-size:.95rem}.compact-heading p{margin:4px 0 0;color:#8F9BB2;font-size:.76rem}
.goal-pace-grid,.weekly-bank-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.goal-pace-grid>div,.weekly-bank-grid>div{background:#091225;border:1px solid rgba(99,119,160,.20);border-radius:15px;padding:12px;min-width:0}
.goal-pace-grid span,.weekly-bank-grid span{display:block;color:#8996AE;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;line-height:1.35}
.goal-pace-grid strong,.weekly-bank-grid strong{display:block;margin-top:6px;color:#F4F7FC;font-size:1rem;line-height:1.2;overflow-wrap:anywhere}
.weekly-bank-card{border-top:2px solid rgba(138,43,226,.72)}
.preview-weight-editor{margin-top:14px;padding:14px;border-radius:16px;background:#081225;border:1px solid rgba(0,229,255,.20)}
.preview-weight-heading strong{display:block;color:#F4F7FC;font-size:.95rem}.preview-weight-heading span{display:block;margin-top:3px;color:#8F9BB2;font-size:.74rem}
.preview-weight-control{display:grid;grid-template-columns:74px minmax(0,1fr) 74px;gap:8px;align-items:end;margin-top:12px}
.preview-weight-control label{position:relative}.preview-weight-control label span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#8693AA;font-size:.75rem;pointer-events:none}
.preview-weight-control input{width:100%;padding-right:38px;text-align:center;font-weight:800;font-size:1.08rem}
.preview-step{min-height:46px;font-weight:800}
.preview-weight-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.preview-weight-actions button{min-height:46px}
@media(max-width:420px){.food-budget-value{align-items:flex-end;flex-direction:column;gap:3px}.preview-weight-control{grid-template-columns:66px minmax(0,1fr) 66px}.preview-weight-actions{grid-template-columns:1fr}}


/* v25 Quick Add saved-food library */
.quick-add-card{border-top:2px solid rgba(0,229,255,.62)}
.quick-add-groups{display:grid;gap:14px;margin-top:6px}
.quick-add-section{display:grid;gap:8px}
.quick-add-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#DCE3F0;font-size:.78rem;font-weight:800;letter-spacing:.04em}
.quick-add-label small{color:#7F8BA3;font-size:.66rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}
.quick-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quick-add-item{min-width:0;border:1px solid rgba(101,124,169,.22);border-radius:15px;padding:11px;background:linear-gradient(155deg,#0B1427,#060C18);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.quick-add-item.favorite{border-color:rgba(255,45,149,.34);box-shadow:0 0 18px rgba(255,45,149,.045),inset 0 1px 0 rgba(255,255,255,.025)}
.quick-add-title{font-size:.86rem;font-weight:800;color:#F2F5FB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-add-meta{margin-top:4px;color:#8996AC;font-size:.68rem;line-height:1.35;min-height:2.6em}
.quick-add-actions{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:9px}
.quick-add-button{min-height:38px;border:0;border-radius:10px;font-weight:800;color:#fff;background:linear-gradient(105deg,var(--pink),var(--violet),var(--cyan));box-shadow:0 0 14px rgba(255,45,149,.10)}
.quick-star-button{width:40px;min-height:38px;border:1px solid rgba(108,130,174,.25);border-radius:10px;background:#081224;color:#AAB5C9;font-size:1rem}
.quick-star-button.active{color:#FFD0E4;border-color:rgba(255,45,149,.35);text-shadow:0 0 10px rgba(255,45,149,.35)}
.saved-food-manager{margin-top:17px;padding-top:15px;border-top:1px solid rgba(105,127,171,.20)}
.manager-heading h3{margin:0;font-size:.95rem}.manager-heading p{margin:5px 0 12px;color:#8794AB;font-size:.76rem;line-height:1.45}
.saved-food-edit-form{margin-top:12px;padding-top:12px;border-top:1px solid rgba(105,127,171,.18)}
.manager-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.saved-food-row .row-title{display:flex;align-items:center;gap:7px}.saved-food-row .saved-pin{color:var(--pink)}
@media(max-width:430px){.quick-add-grid{grid-template-columns:1fr}.quick-add-item{padding:12px}.manager-form-actions{grid-template-columns:1fr}}


/* v26 compact Quick Add dropdown */
.quick-add-picker-wrap{display:grid;gap:10px;margin-top:6px}
.saved-food-picker,.quick-add-search{display:grid;gap:7px}
.saved-food-picker>span,.quick-add-search>span{font-size:.72rem;color:#AAB5C9;font-weight:700;letter-spacing:.035em}
.saved-food-picker select{width:100%;min-height:48px;padding:0 42px 0 14px;border-radius:13px;border:1px solid rgba(112,133,176,.25);background:#050B16;color:#F5F7FC;font:inherit;font-weight:750;appearance:auto}
.saved-food-picker select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,229,255,.10),0 0 22px rgba(0,229,255,.07)}
.quick-add-selected{margin-top:12px;padding:13px;border-radius:15px;border:1px solid rgba(101,124,169,.22);background:linear-gradient(155deg,#0B1427,#060C18);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.quick-selected-copy{min-width:0}
.quick-add-selected .quick-add-title{white-space:normal;font-size:.92rem}
.quick-add-selected .quick-add-meta{min-height:0;margin-top:5px}
.quick-selected-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}
.quick-selected-actions .primary{min-height:46px}
.quick-favorite-button{min-width:112px;min-height:46px}
.quick-favorite-button.active{color:#FFD0E4;border-color:rgba(255,45,149,.35);box-shadow:0 0 15px rgba(255,45,149,.07)}
@media(max-width:430px){.quick-selected-actions{grid-template-columns:1fr}.quick-favorite-button{width:100%}}

/* v27 nutrition breakdown drill-downs */
.nutrition-drilldown{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.nutrition-drilldown:hover{border-color:rgba(0,229,255,.34);box-shadow:0 0 22px rgba(0,229,255,.06),inset 0 1px 0 rgba(255,255,255,.03)}
.nutrition-drilldown:active{transform:scale(.985)}
.nutrition-drilldown:focus-visible{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,229,255,.10),0 0 22px rgba(0,229,255,.08)}
body.breakdown-open{overflow:hidden}
.nutrition-breakdown-overlay{
  position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;
  padding:18px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  background:rgba(2,5,13,.68);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
.nutrition-breakdown-overlay.hidden{display:none}
.nutrition-breakdown-sheet{
  width:min(100%,620px);max-height:min(78vh,720px);overflow:auto;border-radius:24px 24px 18px 18px;
  background:linear-gradient(165deg,#0D1730,#060B17 72%);border:1px solid rgba(112,135,181,.26);
  box-shadow:0 -22px 70px rgba(0,0,0,.48),0 0 34px rgba(255,45,149,.08);padding:10px 18px 18px
}
.nutrition-breakdown-handle{width:44px;height:4px;border-radius:999px;background:#53607A;margin:2px auto 14px;opacity:.7}
.nutrition-breakdown-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.nutrition-breakdown-kicker{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.61rem;color:#8F9BB1;margin-bottom:4px}
.nutrition-breakdown-header h2{font-size:1.25rem;margin:0;color:#F5F7FC}
.nutrition-breakdown-close{width:40px;height:40px;border-radius:12px;border:1px solid rgba(112,135,181,.22);background:#091225;color:#DCE3F0;font-size:1.55rem;line-height:1;cursor:pointer}
.nutrition-breakdown-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:18px 0 10px;padding:14px 15px;border-radius:16px;background:#081122;border:1px solid rgba(0,229,255,.14)}
.nutrition-breakdown-total strong{font-size:2rem;line-height:1;background:linear-gradient(90deg,var(--pink),#A95FFF,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.nutrition-breakdown-total span{font-size:.75rem;color:#8E9AB1}
.nutrition-breakdown-list{display:grid;gap:8px}
.nutrition-breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;border-radius:15px;background:linear-gradient(155deg,#0B1426,#07101E);border:1px solid rgba(101,123,166,.18)}
.nutrition-breakdown-food{min-width:0;display:grid;gap:3px}
.nutrition-breakdown-food strong{font-size:.91rem;color:#F4F7FC;overflow-wrap:anywhere}
.nutrition-breakdown-food span{font-size:.68rem;color:#7F8DA6}
.nutrition-breakdown-amount{font-size:.9rem;font-weight:800;color:#D8E1F2;white-space:nowrap}
.nutrition-breakdown-row .tiny-btn{white-space:nowrap}
.nutrition-breakdown-note{margin:12px 2px 0;color:#77859E;font-size:.69rem;line-height:1.45;text-align:center}
.nutrition-breakdown-empty{padding:18px;text-align:center;color:#8794AB;border:1px dashed rgba(111,132,176,.2);border-radius:14px}
@media(max-width:420px){
  .nutrition-breakdown-sheet{padding:10px 14px 16px}
  .nutrition-breakdown-row{grid-template-columns:minmax(0,1fr) auto;gap:7px}
  .nutrition-breakdown-row .tiny-btn{grid-column:1/-1;width:100%}
  .nutrition-breakdown-total strong{font-size:1.75rem}
}

/* Results refresh: compact disclosure lists and readable synthwave chart */
.fold>summary,.meal-detail>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:48px;color:#F2F5FB;font-weight:750}
.fold>summary::-webkit-details-marker,.meal-detail>summary::-webkit-details-marker{display:none}
.fold>summary:after,.meal-detail>summary:after{content:'⌄';margin-left:auto;color:var(--cyan)}
.fold[open]>summary:after,.meal-detail[open]>summary:after{content:'⌃'}
.fold>summary small{color:#9CAFC9;font-size:.75rem;font-weight:500}
.fold[open]>summary{margin-bottom:14px}
.fold-subhead{color:var(--muted);font-size:.8rem}
.meal-detail>summary span{flex:1;min-width:0}.meal-detail>summary strong{white-space:nowrap;color:var(--cyan);font-size:.78rem}
.meal-detail .row-top .row-title{display:none}
.meal-detail>summary{font-size:.87rem}
.history-row .row-meta{display:none}
.history-row{width:100%;text-align:left}
.history-row .row-title{font-size:.85rem}
.weight-range{display:flex;gap:8px;margin-bottom:10px}
.weight-range button{border:1px solid #3A3456;background:#0B1325;color:#C7D4E8;border-radius:10px;min-height:40px;padding:8px 16px}
.weight-range button[aria-pressed=true]{border-color:#00E5FF;color:#00E5FF;background:#0B2230}
.neon-chart{background:linear-gradient(160deg,#0A1022,#15102B);border-radius:14px}
.neon-chart svg{width:100%;height:auto;display:block;overflow:visible}
.neon-weight-line{filter:drop-shadow(0 0 3px #00B8CC)}
.weight-readout{color:#AEEEF5;font-size:.85rem;min-height:26px}
.meal-toast{position:fixed;z-index:150;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:15px 22px;border:1px solid #00E5FF;border-radius:14px;background:#0A2433;color:#EEFFFF;box-shadow:0 0 22px #00E5FF33;font-weight:700;text-align:center}

/* v30 — DeficitSync AI Coach */
.bottom-nav{grid-template-columns:repeat(6,1fr)}
.coach-nav span{color:#7ffcff;text-shadow:0 0 10px rgba(127,252,255,.8)}
.coach-hero{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,rgba(255,46,180,.10),rgba(52,230,255,.09))}
.coach-orb{width:58px;height:58px;min-width:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;border:1px solid rgba(127,252,255,.65);box-shadow:0 0 24px rgba(52,230,255,.28),inset 0 0 18px rgba(255,46,180,.18);color:#7ffcff}
.coach-kicker,.coach-action-label{font-size:.7rem;letter-spacing:.16em;font-weight:800;color:#7ffcff}
.coach-hero h2{margin:4px 0 6px}.coach-hero p{margin:0;color:var(--muted)}
.coach-card{padding:0;overflow:hidden}.coach-quick{display:flex;gap:8px;padding:14px;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.08)}
.coach-quick button{white-space:nowrap;border:1px solid rgba(127,252,255,.25);background:rgba(127,252,255,.06);color:inherit;border-radius:999px;padding:9px 12px;font:inherit;font-size:.8rem}
.coach-thread{min-height:300px;max-height:52vh;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at 50% 0%,rgba(51,231,255,.05),transparent 45%)}
.coach-message{display:flex;gap:9px;max-width:88%;align-self:flex-start}.coach-message.user{align-self:flex-end;display:block}.coach-message>div{padding:11px 13px;border-radius:16px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.08)}
.coach-message.user>div{background:linear-gradient(135deg,rgba(255,46,180,.18),rgba(115,72,255,.18));border-color:rgba(255,46,180,.24)}
.coach-message strong{font-size:.76rem;color:#7ffcff}.coach-message p{margin:4px 0 0;line-height:1.45;white-space:pre-wrap}.coach-avatar{width:25px;height:25px;min-width:25px;border-radius:50%;display:grid;place-items:center;color:#7ffcff;border:1px solid rgba(127,252,255,.3)}
.coach-action{margin:0 14px 14px;padding:14px;border-radius:14px;border:1px solid rgba(127,252,255,.32);background:linear-gradient(135deg,rgba(52,230,255,.08),rgba(255,46,180,.08))}.coach-action strong{display:block;margin:4px 0}.coach-action p{margin:0 0 10px;color:var(--muted)}.coach-action-buttons{display:flex;gap:8px;flex-wrap:wrap}
.coach-form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid rgba(255,255,255,.08)}.coach-form textarea{resize:none;min-height:52px;max-height:120px}.coach-send{align-self:stretch}.coach-disclaimer{font-size:.72rem;color:var(--muted);padding:0 14px 14px;margin:0;text-align:center}
@media(max-width:430px){.bottom-nav .nav-btn small{font-size:.62rem}.bottom-nav .nav-btn{padding-left:2px;padding-right:2px}.coach-hero{align-items:flex-start}.coach-orb{width:46px;height:46px;min-width:46px}.coach-thread{max-height:48vh}.coach-form{grid-template-columns:1fr}.coach-send{min-height:44px}}

/* DeficitSync v31 — conversational voice coach */
.coach-voice-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,rgba(52,230,255,.055),rgba(255,46,180,.055))}
.coach-mic{width:70px;height:70px;border-radius:50%;border:1px solid rgba(127,252,255,.55);background:radial-gradient(circle,rgba(52,230,255,.18),rgba(115,72,255,.14));color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;font-weight:800;box-shadow:0 0 22px rgba(52,230,255,.16);transition:.2s ease}
.coach-mic-icon{font-size:1.35rem}.coach-mic span:last-child{font-size:.7rem;letter-spacing:.04em}.coach-mic.listening{border-color:#ff2eb4;box-shadow:0 0 0 5px rgba(255,46,180,.10),0 0 28px rgba(255,46,180,.36);transform:scale(1.04);animation:coachPulse 1.25s ease-in-out infinite}.coach-mic.speaking{border-color:#7ffcff;box-shadow:0 0 0 5px rgba(127,252,255,.09),0 0 28px rgba(127,252,255,.32)}
@keyframes coachPulse{50%{box-shadow:0 0 0 10px rgba(255,46,180,.04),0 0 34px rgba(255,46,180,.42)}}
.coach-voice-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.coach-voice-copy strong{font-size:.83rem}.coach-voice-copy span{font-size:.73rem;line-height:1.35;color:var(--muted)}.coach-sound{min-width:44px;height:44px;padding:0;font-size:1rem}.coach-form textarea{width:100%}
@media(max-width:430px){.coach-voice-bar{grid-template-columns:auto 1fr auto;gap:9px}.coach-mic{width:62px;height:62px}.coach-form{grid-template-columns:1fr auto}.coach-send{min-width:64px}.coach-voice-copy strong{font-size:.78rem}.coach-voice-copy span{font-size:.68rem}}

/* v32 Coach input hardening */
#view-coach, .coach-card, .coach-form, .coach-voice-bar{position:relative}
.coach-form{z-index:3}
.coach-form textarea{display:block;pointer-events:auto!important;touch-action:manipulation;-webkit-user-select:text;user-select:text;opacity:1!important}
.coach-send,.coach-mic{pointer-events:auto!important;touch-action:manipulation}
@media(max-width:430px){.bottom-nav{grid-template-columns:repeat(6,1fr);padding-left:4px;padding-right:4px}.nav-btn small{font-size:.56rem}.nav-btn span{font-size:1rem}}
/* v34 AI-first home Coach */
.home-coach-card{position:relative;overflow:hidden;border:1px solid rgba(0,245,255,.38);background:radial-gradient(circle at 12% 0%,rgba(255,43,214,.16),transparent 38%),radial-gradient(circle at 90% 10%,rgba(0,245,255,.15),transparent 38%),rgba(9,12,31,.94);box-shadow:0 0 28px rgba(0,245,255,.09);margin-bottom:16px}.home-coach-head{display:flex;gap:14px;align-items:center}.home-coach-head h2{margin:2px 0 4px;font-size:1.32rem}.home-coach-head p{margin:0;color:var(--muted);line-height:1.4}.home-coach-orb{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;font-size:1.55rem;background:linear-gradient(135deg,rgba(255,43,214,.28),rgba(0,245,255,.25));border:1px solid rgba(0,245,255,.6);box-shadow:0 0 22px rgba(255,43,214,.2)}.home-coach-talk{width:100%;margin-top:15px;display:flex;align-items:center;gap:13px;text-align:left;padding:15px 16px;border:1px solid rgba(0,245,255,.58);border-radius:16px;color:var(--text);background:linear-gradient(100deg,rgba(255,43,214,.18),rgba(0,245,255,.18));box-shadow:inset 0 0 18px rgba(0,245,255,.05);cursor:pointer}.home-coach-talk strong,.home-coach-talk small{display:block}.home-coach-talk strong{font-size:1rem}.home-coach-talk small{margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.25}.home-talk-icon{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:rgba(0,245,255,.14);font-size:1.25rem}.home-coach-talk.live{border-color:#ff2bd6;box-shadow:0 0 22px rgba(255,43,214,.2)}.home-coach-talk.live .home-talk-icon{animation:coachPulse 1.3s infinite}.home-coach-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.home-coach-pending{margin-top:11px;padding:10px 12px;border-radius:12px;background:rgba(255,43,214,.12);border:1px solid rgba(255,43,214,.35);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem}.home-coach-pending.hidden{display:none}@media(max-width:420px){.home-coach-head p{font-size:.83rem}.home-coach-actions{grid-template-columns:1fr}.home-coach-card{padding:16px}}


/* v35 — Today voice launcher. Visual-only home Coach refinement. */
.home-voice-launcher{margin:4px 0 18px;padding:14px 0 8px;text-align:center}
.home-voice-button{appearance:none;-webkit-appearance:none;width:100%;border:0;background:transparent;color:var(--text);padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;box-shadow:none!important}
.home-voice-ring{position:relative;width:min(46vw,190px);height:min(46vw,190px);display:grid;place-items:center;border-radius:50%;transition:transform .2s ease,filter .2s ease;filter:drop-shadow(0 0 18px rgba(0,229,255,.24)) drop-shadow(0 0 16px rgba(255,45,149,.18))}
.home-voice-ring img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:50%}
.home-voice-mic{position:relative;z-index:1;width:42%;height:42%;display:grid;place-items:center;border-radius:50%;font-size:2.25rem;background:radial-gradient(circle,rgba(12,22,48,.95),rgba(5,8,22,.9));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 22px rgba(0,229,255,.12),0 0 24px rgba(138,43,226,.18)}
.home-voice-button>strong{margin-top:10px;font-size:1.55rem;line-height:1.15;letter-spacing:-.02em}
.home-voice-button>small{display:block;margin-top:6px;color:var(--muted);font-size:.93rem;line-height:1.3}
.home-voice-button.live .home-voice-ring{animation:homeVoicePulse 1.25s ease-in-out infinite;filter:drop-shadow(0 0 26px rgba(0,229,255,.45)) drop-shadow(0 0 28px rgba(255,45,149,.38))}
.home-voice-button.live .home-voice-mic{box-shadow:inset 0 0 28px rgba(0,229,255,.18),0 0 32px rgba(255,45,149,.28)}
@keyframes homeVoicePulse{50%{transform:scale(1.045);filter:drop-shadow(0 0 34px rgba(0,229,255,.52)) drop-shadow(0 0 34px rgba(255,45,149,.44))}}
.home-voice-launcher .home-coach-pending{max-width:520px;margin:14px auto 0;text-align:left}
@media(max-width:420px){.home-voice-launcher{padding-top:8px;margin-bottom:12px}.home-voice-ring{width:min(44vw,174px);height:min(44vw,174px)}.home-voice-button>strong{font-size:1.4rem}.home-voice-button>small{font-size:.86rem}}

/* v36 — approved AI-first home mockup: the DeficitSync icon itself is the talk button. */
.home-voice-launcher{
  margin:2px 0 18px;
  padding:18px 0 10px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.home-voice-button{
  width:100%;
  min-height:285px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
.home-voice-ring{
  width:196px;
  height:196px;
  border-radius:50%;
  overflow:hidden;
  display:block;
  filter:drop-shadow(0 0 18px rgba(0,229,255,.30)) drop-shadow(0 0 18px rgba(255,45,149,.24));
}
.home-voice-ring img{
  position:static;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.home-voice-button>strong{
  margin-top:16px;
  font-size:1.62rem;
  font-weight:850;
  letter-spacing:-.025em;
}
.home-voice-button>small{
  margin-top:6px;
  font-size:.92rem;
  color:var(--muted);
}
.home-voice-button:active .home-voice-ring{transform:scale(.96)}
.home-voice-button.live .home-voice-ring{
  animation:homeVoicePulse 1.25s ease-in-out infinite;
  filter:drop-shadow(0 0 30px rgba(0,229,255,.52)) drop-shadow(0 0 30px rgba(255,45,149,.46));
}
@media(max-width:420px){
  .home-voice-launcher{padding-top:12px;margin-bottom:10px}
  .home-voice-button{min-height:260px}
  .home-voice-ring{width:184px;height:184px}
  .home-voice-button>strong{font-size:1.5rem;margin-top:14px}
  .home-voice-button>small{font-size:.86rem}
}


/* v37 — single voice hero + compact stat tiles (approved direction) */
.home-voice-button{min-height:245px}
.home-voice-ring{position:relative;overflow:visible;width:210px;height:210px}
.home-voice-ring img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent}
.home-voice-center{position:absolute;inset:0;display:grid;place-items:center;font-size:3.25rem;line-height:1;z-index:2;filter:drop-shadow(0 0 12px rgba(0,229,255,.55));transform:translateY(-1px)}
/* Remove the old oversized deficit treatment: every Today stat is a small tile below voice. */
#view-today .hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:none;margin:0 0 9px}
#view-today .hero-grid .metric-card.prominent{grid-column:auto;min-height:94px;border-radius:14px;padding:12px 8px;text-align:center;display:flex;flex-direction:column;justify-content:center}
#view-today .hero-grid .metric-card:not(.prominent){min-height:94px;border-radius:14px;padding:12px 8px;display:flex;flex-direction:column;justify-content:center}
#view-today .hero-grid .metric-card strong,#view-today .hero-grid .metric-card.prominent strong{font-size:1.42rem;line-height:1.05;margin:5px 0 2px}
#view-today .hero-grid .metric-label,#view-today .hero-grid .metric-unit{font-size:.68rem;line-height:1.15}
#view-today .macro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 9px}
#view-today .macro-grid .mini-card{min-height:82px;border-radius:14px;padding:11px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
#view-today .macro-grid .mini-card span{font-size:.69rem}
#view-today .macro-grid .mini-card strong{font-size:1.12rem;margin-top:5px}
#view-today .secondary-nutrient-card{min-height:70px;border-radius:14px;margin:0 0 12px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}
#view-today .secondary-nutrient-card span{font-size:.72rem}
#view-today .secondary-nutrient-card strong{font-size:1.12rem}
@media(max-width:520px){
 .home-voice-button{min-height:230px}.home-voice-ring{width:196px;height:196px}.home-voice-center{font-size:3rem}
 #view-today .hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 #view-today .macro-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 #view-today .hero-grid .metric-card.prominent,#view-today .hero-grid .metric-card:not(.prominent){min-height:88px;padding:10px 5px}
 #view-today .hero-grid .metric-card strong,#view-today .hero-grid .metric-card.prominent strong{font-size:1.2rem}
 #view-today .macro-grid .mini-card{min-height:76px;padding:9px 4px}
 #view-today .macro-grid .mini-card strong{font-size:.98rem}
}
@media(max-width:380px){
 #view-today .macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v38 — centered voice home and restrained top-accent stat grid */
.topbar{margin:8px 0 8px;padding:2px 12px 0}
.brand-lockup{width:100%;display:block;text-align:center}
.brand-lockup>div{width:100%}
.topbar h1{font-size:2.55rem}
.topbar .tagline-treatment{margin-top:9px}
#view-today .home-voice-launcher{margin:0;padding:12px 0 8px}
#view-today .home-voice-button{min-height:260px}
.home-voice-microphone{display:block;width:150px;height:178px;transition:transform .2s ease,filter .2s ease;filter:drop-shadow(0 0 12px rgba(0,229,255,.22)) drop-shadow(0 0 12px rgba(255,45,149,.18))}
.home-voice-microphone svg{display:block;width:100%;height:100%;overflow:visible}
.home-voice-button:active .home-voice-microphone{transform:scale(.96)}
.home-voice-button.live .home-voice-microphone{animation:homeMicPulse 1.25s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(0,229,255,.46)) drop-shadow(0 0 22px rgba(255,45,149,.40))}
@keyframes homeMicPulse{50%{transform:scale(1.035);filter:drop-shadow(0 0 27px rgba(0,229,255,.58)) drop-shadow(0 0 28px rgba(255,45,149,.52))}}
#view-today .home-voice-button>strong{margin-top:8px;font-size:1.62rem}
#view-today .home-voice-button>small{margin-top:6px}
#view-today .datebar{margin:0 0 12px}
#view-today .home-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
#view-today .home-stat-grid>article{position:relative;overflow:hidden;min-height:106px;margin:0;padding:14px 10px;border:1px solid rgba(116,135,177,.22);border-radius:14px;background:linear-gradient(180deg,rgba(10,17,34,.98),rgba(6,12,25,.98));box-shadow:0 10px 24px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center}
#view-today .home-stat-grid>article::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--stat-accent,var(--cyan));box-shadow:0 0 8px var(--stat-accent,var(--cyan))}
#view-today .home-stat-grid>article:nth-child(3n+1){--stat-accent:var(--pink)}
#view-today .home-stat-grid>article:nth-child(3n+2){--stat-accent:var(--cyan)}
#view-today .home-stat-grid>article:nth-child(3n){--stat-accent:var(--violet)}
#view-today .home-stat-grid .metric-label,#view-today .home-stat-grid .metric-unit,#view-today .home-stat-grid .mini-card span,#view-today .home-stat-grid .secondary-nutrient-card span{font-size:.76rem;line-height:1.2;color:var(--muted)}
#view-today .home-stat-grid .metric-card strong,#view-today .home-stat-grid .metric-card.prominent strong,#view-today .home-stat-grid .mini-card strong,#view-today .home-stat-grid .secondary-nutrient-card strong{display:block;margin:7px 0 2px;font-size:1.55rem;line-height:1.05;color:var(--text);background:none;-webkit-text-fill-color:currentColor;text-shadow:none}
@media(max-width:520px){
 .topbar h1{font-size:2.2rem}
 #view-today .home-voice-button{min-height:245px}
 .home-voice-microphone{width:136px;height:162px}
 #view-today .home-stat-grid{gap:8px}
 #view-today .home-stat-grid>article{min-height:98px;padding:12px 7px}
 #view-today .home-stat-grid .metric-card strong,#view-today .home-stat-grid .metric-card.prominent strong,#view-today .home-stat-grid .mini-card strong,#view-today .home-stat-grid .secondary-nutrient-card strong{font-size:1.38rem}
}


/* v39 — crisp microphone + uniform iPad stat grid */
.app-shell{padding:calc(18px + env(safe-area-inset-top)) 13px calc(132px + env(safe-area-inset-bottom));}
#view-today .home-voice-launcher{padding:8px 0 6px;}
#view-today .home-voice-button{min-height:228px;}
.home-voice-microphone{
  width:148px;
  height:176px;
  filter:drop-shadow(0 0 5px rgba(0,229,255,.24)) drop-shadow(0 0 8px rgba(255,45,149,.18));
}
.home-voice-microphone svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  shape-rendering:geometricPrecision;
}
.home-voice-button.live .home-voice-microphone{
  filter:drop-shadow(0 0 8px rgba(0,229,255,.34)) drop-shadow(0 0 11px rgba(255,45,149,.28));
}
@keyframes homeMicPulse{50%{transform:scale(1.02);filter:drop-shadow(0 0 10px rgba(0,229,255,.42)) drop-shadow(0 0 13px rgba(255,45,149,.34));}}
#view-today .home-voice-button>strong{margin-top:6px;}
#view-today .home-voice-button>small{margin-top:4px;}
#view-today .datebar{margin:0 0 10px;}
#view-today .home-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px;align-items:stretch;}
#view-today .home-stat-grid>article,
#view-today .home-stat-grid .metric-card,
#view-today .home-stat-grid .mini-card,
#view-today .home-stat-grid .secondary-nutrient-card{
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  min-height:106px;
  margin:0;
  padding:14px 10px;
  border-radius:14px;
  justify-self:stretch;
  align-self:stretch;
  box-sizing:border-box;
}
#view-today .home-stat-grid .metric-card,
#view-today .home-stat-grid .mini-card,
#view-today .home-stat-grid .secondary-nutrient-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:0;
}
#view-today .home-stat-grid .metric-card::before,
#view-today .home-stat-grid .mini-card::before,
#view-today .home-stat-grid .secondary-nutrient-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  border-radius:0;
  background:var(--stat-accent,var(--cyan));
  box-shadow:0 0 8px var(--stat-accent,var(--cyan));
  -webkit-mask:none;
  mask:none;
  filter:none;
}
#view-today .home-stat-grid .metric-card::after,
#view-today .home-stat-grid .mini-card::after,
#view-today .home-stat-grid .secondary-nutrient-card::after{content:none !important;}
#view-today .home-stat-grid .metric-card>*{position:static;z-index:auto;}
#view-today .home-stat-grid .metric-card strong,
#view-today .home-stat-grid .mini-card strong,
#view-today .home-stat-grid .secondary-nutrient-card strong{
  margin:7px 0 2px;
  font-size:1.55rem;
  line-height:1.05;
  color:var(--text);
  background:none !important;
  -webkit-text-fill-color:currentColor;
  text-shadow:none;
}
#view-today .home-stat-grid .metric-label,
#view-today .home-stat-grid .metric-unit,
#view-today .home-stat-grid .mini-card span,
#view-today .home-stat-grid .secondary-nutrient-card span{
  font-size:.76rem;
  line-height:1.2;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.09em;
}
#view-today .home-stat-grid .mini-card span,
#view-today .home-stat-grid .secondary-nutrient-card span{margin-top:0;}
.bottom-nav{padding-top:7px;padding-bottom:calc(10px + env(safe-area-inset-bottom));}
@media(max-width:520px){
  #view-today .home-voice-button{min-height:218px;}
  .home-voice-microphone{width:136px;height:162px;}
  #view-today .home-stat-grid{gap:8px;}
  #view-today .home-stat-grid>article,
  #view-today .home-stat-grid .metric-card,
  #view-today .home-stat-grid .mini-card,
  #view-today .home-stat-grid .secondary-nutrient-card{min-height:98px;padding:12px 8px;}
  #view-today .home-stat-grid .metric-card strong,
  #view-today .home-stat-grid .mini-card strong,
  #view-today .home-stat-grid .secondary-nutrient-card strong{font-size:1.38rem;}
}

/* v40 — focused Today + uniform neon macro accents */
#view-today{padding-bottom:8px;}
#view-today .home-voice-launcher{margin-bottom:4px;}
#view-today .home-stat-grid{margin-top:4px;margin-bottom:8px;}

/* Every Today stat uses the exact same centered neon accent geometry. */
#view-today .home-stat-grid>article::before,
#view-today .home-stat-grid .metric-card::before,
#view-today .home-stat-grid .mini-card::before,
#view-today .home-stat-grid .secondary-nutrient-card::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  width:28px !important;
  height:4px !important;
  margin:0 !important;
  border-radius:999px !important;
  transform:translateX(-50%);
  background:var(--stat-accent,var(--cyan)) !important;
  color:var(--stat-accent,var(--cyan));
  box-shadow:0 0 10px var(--stat-accent,var(--cyan)) !important;
  filter:none !important;
  -webkit-mask:none !important;
  mask:none !important;
}
/* Three-color brand rotation: same accent shape, different category cue. */
#view-today .home-stat-grid>article:nth-child(1),
#view-today .home-stat-grid>article:nth-child(4),
#view-today .home-stat-grid>article:nth-child(7){--stat-accent:var(--pink);}
#view-today .home-stat-grid>article:nth-child(2),
#view-today .home-stat-grid>article:nth-child(5),
#view-today .home-stat-grid>article:nth-child(8){--stat-accent:var(--cyan);}
#view-today .home-stat-grid>article:nth-child(3),
#view-today .home-stat-grid>article:nth-child(6){--stat-accent:var(--violet);}

/* Log + Goals organization after simplifying Today. */
.page-section-intro{margin:2px 2px 12px;padding:0 2px;}
.page-section-intro h2{margin:0 0 4px;font-size:1.08rem;}
.page-section-intro p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4;}
#view-search>.datebar{margin:0 0 14px;}
#view-goals>.deficit-focus-grid{margin-bottom:12px;}
#view-goals>.food-budget-card{margin-bottom:12px;}


/* v41 — sync waveform icon */
.home-voice-microphone,
.home-voice-microphone.sync-wave-icon{
  display:block;
  width:168px;
  height:168px;
  transition:transform .2s ease, filter .2s ease;
  filter:drop-shadow(0 0 6px rgba(0,229,255,.26)) drop-shadow(0 0 10px rgba(138,108,255,.18)) drop-shadow(0 0 10px rgba(255,45,149,.24));
}
.home-voice-microphone svg,
.home-voice-microphone.sync-wave-icon svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  shape-rendering:geometricPrecision;
}
.home-voice-button.live .home-voice-microphone,
.home-voice-button.live .home-voice-microphone.sync-wave-icon{
  animation:homeMicPulse 1.25s ease-in-out infinite;
  filter:drop-shadow(0 0 10px rgba(0,229,255,.38)) drop-shadow(0 0 14px rgba(138,108,255,.28)) drop-shadow(0 0 14px rgba(255,45,149,.34));
}
@keyframes homeMicPulse{50%{transform:scale(1.02);filter:drop-shadow(0 0 12px rgba(0,229,255,.48)) drop-shadow(0 0 16px rgba(138,108,255,.32)) drop-shadow(0 0 16px rgba(255,45,149,.4));}}
@media(max-width:520px){
  .home-voice-microphone,
  .home-voice-microphone.sync-wave-icon{width:150px;height:150px;}
}


/* v42 — use approved sync icon asset */
.home-voice-microphone,
.home-voice-microphone.sync-wave-icon{
  width:190px;
  height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  filter:none;
}
.sync-wave-icon-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  image-rendering:auto;
  filter:none;
}
.home-voice-button.live .home-voice-microphone,
.home-voice-button.live .home-voice-microphone.sync-wave-icon{
  animation:homeMicPulse 1.25s ease-in-out infinite;
  filter:none;
}
.home-voice-button.live .sync-wave-icon-image{
  filter:drop-shadow(0 0 4px rgba(0,229,255,.18)) drop-shadow(0 0 8px rgba(255,45,149,.16));
}
@keyframes homeMicPulse{50%{transform:scale(1.015);}}
@media(max-width:520px){
  .home-voice-microphone,
  .home-voice-microphone.sync-wave-icon{width:168px;height:132px;}
}


/* v43 — homepage simplified logo + no tagline */
.topbar .tagline-treatment{display:none !important;}
.topbar{margin:8px 0 2px;padding:2px 12px 0;}
.brand-lockup{width:100%;display:block;text-align:center;}
.brand-lockup>div{width:100%;}
.topbar h1{font-size:2.32rem;line-height:1.04;}
#view-today .home-voice-launcher{padding-top:2px;margin-bottom:10px;}
#view-today .home-voice-button{min-height:255px;gap:0;}
.home-voice-brand{display:block;margin-top:8px;font-size:3rem;line-height:1;letter-spacing:-.045em;font-weight:900;text-align:center;}
.home-voice-brand .word-deficit{color:#f5f7ff;}
.home-voice-brand .word-iq{background:linear-gradient(90deg,#21d4fd 0%, #7f5cff 42%, #ff2da6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
#view-today .home-voice-button>strong{margin-top:10px;font-size:1.54rem;line-height:1.1;letter-spacing:-.015em;}
#view-today .home-voice-button>small.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.home-voice-microphone,.home-voice-microphone.sync-wave-icon{width:184px;height:144px;}
.sync-wave-icon-image{filter:drop-shadow(0 0 4px rgba(0,229,255,.14)) drop-shadow(0 0 7px rgba(255,45,149,.14));}
@media(max-width:820px){
  .topbar h1{font-size:2.08rem;}
  .home-voice-brand{font-size:2.56rem;}
  #view-today .home-voice-button{min-height:238px;}
}
@media(max-width:520px){
  .topbar h1{font-size:1.92rem;}
  .home-voice-microphone,.home-voice-microphone.sync-wave-icon{width:166px;height:132px;}
  .home-voice-brand{font-size:2.18rem;margin-top:6px;}
  #view-today .home-voice-button>strong{font-size:1.42rem;margin-top:9px;}
}


/* v44 — clean logo hero with welcome popup */
body.today-hero-mode .topbar{display:none !important;}
body.today-hero-mode .app-shell{padding-top:calc(12px + env(safe-area-inset-top));}
#view-today .home-voice-launcher{padding-top:8px;margin-bottom:12px;}
#view-today .home-voice-button{min-height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;}
.home-voice-microphone,.home-voice-microphone.sync-wave-icon{width:188px;height:148px;}
.home-voice-brand{display:block;margin-top:10px;font-size:3rem;line-height:1;letter-spacing:-.045em;font-weight:900;text-align:center;}
#view-today .home-voice-button>strong.sr-only,#view-today .home-voice-button>small.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.coach-welcome-toast{position:fixed;z-index:180;top:calc(18px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(92vw,360px);padding:14px 42px 14px 16px;border-radius:16px;border:1px solid rgba(0,229,255,.45);background:linear-gradient(180deg,rgba(8,15,36,.96),rgba(11,20,46,.94));box-shadow:0 0 24px rgba(0,229,255,.16),0 0 28px rgba(255,45,149,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.coach-welcome-toast.hidden{display:none;}
.coach-welcome-title{font-size:1rem;font-weight:800;letter-spacing:.01em;color:#f7faff;}
.coach-welcome-copy{margin-top:4px;font-size:.9rem;color:var(--muted);}
.coach-welcome-close{position:absolute;top:8px;right:10px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1;cursor:pointer;}
.coach-welcome-close:hover,.coach-welcome-close:focus-visible{color:var(--text);outline:none;background:rgba(255,255,255,.06);}
@media(max-width:820px){
  .home-voice-brand{font-size:2.66rem;}
  .home-voice-microphone,.home-voice-microphone.sync-wave-icon{width:176px;height:140px;}
  .coach-welcome-toast{top:calc(14px + env(safe-area-inset-top));width:min(94vw,340px);}
}
@media(max-width:520px){
  .home-voice-brand{font-size:2.3rem;margin-top:8px;}
  #view-today .home-voice-button{min-height:218px;}
  .home-voice-microphone,.home-voice-microphone.sync-wave-icon{width:162px;height:128px;}
  .coach-welcome-toast{padding:12px 40px 12px 14px;}
  .coach-welcome-title{font-size:.95rem;}
  .coach-welcome-copy{font-size:.84rem;}
}


/* v45 — approved hero logo + 3/4 branded coach popup */
#view-today .home-voice-launcher{padding-top:12px;margin-bottom:12px;}
#view-today .home-voice-button{min-height:248px;}
.home-hero-logo-wrap{display:flex;align-items:center;justify-content:center;width:min(76vw,620px);max-width:620px;}
.home-hero-logo-image{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 0 10px rgba(0,229,255,.10)) drop-shadow(0 0 14px rgba(255,45,149,.10));}
#view-today .home-voice-button.live .home-hero-logo-image{filter:drop-shadow(0 0 12px rgba(0,229,255,.18)) drop-shadow(0 0 18px rgba(255,45,149,.18));}
.home-voice-brand,.home-voice-microphone,.sync-wave-icon,.sync-wave-icon-image{display:none !important;}
.coach-welcome-modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:24px;}
.coach-welcome-modal.hidden{display:none;}
.coach-welcome-backdrop{position:absolute;inset:0;background:rgba(2,8,24,.68);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.coach-welcome-panel{position:relative;z-index:1;width:min(76vw,760px);min-height:min(72vh,760px);max-height:82vh;overflow:auto;padding:34px 32px 26px;border-radius:28px;border:1px solid rgba(0,229,255,.42);background:radial-gradient(circle at top,rgba(255,45,149,.16),transparent 36%),radial-gradient(circle at 18% 24%,rgba(0,229,255,.13),transparent 28%),linear-gradient(180deg,rgba(7,15,35,.98),rgba(10,18,42,.96));box-shadow:0 0 38px rgba(0,229,255,.18),0 0 48px rgba(255,45,149,.14), inset 0 0 0 1px rgba(255,255,255,.03);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.coach-welcome-panel:before{content:"";position:absolute;inset:18px;border-radius:22px;border:1px solid rgba(255,255,255,.04);pointer-events:none;}
.coach-welcome-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);color:#d9e3ff;font-size:1.45rem;line-height:1;cursor:pointer;}
.coach-welcome-close:hover,.coach-welcome-close:focus-visible{background:rgba(255,255,255,.06);outline:none;}
.coach-welcome-brand{width:min(72%,460px);margin:0 auto 18px;}
.coach-welcome-logo{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 0 12px rgba(0,229,255,.14)) drop-shadow(0 0 18px rgba(255,45,149,.16));}
.coach-welcome-kicker{font-size:.76rem;letter-spacing:.22em;color:#7fe0db;text-transform:uppercase;margin-bottom:10px;}
.coach-welcome-panel h2{margin:0;font-size:2rem;line-height:1.08;letter-spacing:-.03em;}
.coach-welcome-panel .coach-welcome-copy{margin:14px auto 0;max-width:560px;font-size:1.02rem;line-height:1.55;color:var(--muted);}
.coach-welcome-actions{margin-top:24px;display:flex;justify-content:center;}
.coach-welcome-actions .primary{min-width:150px;}
@media(max-width:900px){
  .home-hero-logo-wrap{width:min(82vw,540px);} 
  .coach-welcome-panel{width:min(84vw,680px);min-height:min(72vh,680px);padding:30px 24px 24px;} 
  .coach-welcome-panel h2{font-size:1.8rem;} 
}
@media(max-width:520px){
  #view-today .home-voice-button{min-height:208px;} 
  .home-hero-logo-wrap{width:min(88vw,420px);} 
  .coach-welcome-modal{padding:12px;} 
  .coach-welcome-panel{width:92vw;min-height:74vh;padding:28px 18px 20px;border-radius:24px;} 
  .coach-welcome-brand{width:min(84%,320px);margin-bottom:14px;} 
  .coach-welcome-panel h2{font-size:1.56rem;} 
  .coach-welcome-panel .coach-welcome-copy{font-size:.96rem;line-height:1.48;} 
}


/* v46 — reduce hero logo size so full Sync wordmark is visible */
.home-hero-logo-wrap{
  width:min(62vw,520px);
  max-width:520px;
}
.coach-welcome-brand{
  width:min(58%,360px);
  max-width:360px;
}
@media(max-width:900px){
  .home-hero-logo-wrap{width:min(72vw,470px);max-width:470px;}
  .coach-welcome-brand{width:min(64%,320px);max-width:320px;}
}
@media(max-width:520px){
  .home-hero-logo-wrap{width:min(82vw,340px);max-width:340px;}
  .coach-welcome-brand{width:min(72%,250px);max-width:250px;}
}


/* v47 — real fix for clipped Y: icon and wordmark are separate elements */
.home-hero-logo-wrap{
  width:auto !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.home-hero-logo-image{display:none !important;}
.home-hero-icon-image{
  display:block;
  width:210px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(0,229,255,.12)) drop-shadow(0 0 12px rgba(255,45,149,.12));
}
.home-hero-wordmark{
  display:block;
  margin-top:6px;
  padding:0 0 .12em;
  overflow:visible;
  font-size:3.15rem;
  line-height:1.14;
  font-weight:900;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.home-hero-wordmark .word-deficit,
.coach-welcome-wordmark .word-deficit{
  color:#f5f7ff;
}
.home-hero-wordmark .word-iq,
.coach-welcome-wordmark .word-iq{
  background:linear-gradient(90deg,#16c9ff 0%,#7d62ff 42%,#ff22a8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

.coach-welcome-brand{
  width:auto !important;
  max-width:none !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:0 auto 16px;
}
.coach-welcome-logo{display:none !important;}
.coach-welcome-icon{
  display:block;
  width:180px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(0,229,255,.12)) drop-shadow(0 0 12px rgba(255,45,149,.12));
}
.coach-welcome-wordmark{
  margin-top:4px;
  padding:0 0 .14em;
  overflow:visible;
  font-size:2.65rem;
  line-height:1.14;
  font-weight:900;
  letter-spacing:-.05em;
  white-space:nowrap;
}

@media(max-width:900px){
  .home-hero-icon-image{width:190px;}
  .home-hero-wordmark{font-size:2.8rem;}
  .coach-welcome-icon{width:160px;}
  .coach-welcome-wordmark{font-size:2.35rem;}
}
@media(max-width:520px){
  .home-hero-icon-image{width:165px;}
  .home-hero-wordmark{font-size:2.35rem;}
  .coach-welcome-icon{width:140px;}
  .coach-welcome-wordmark{font-size:2rem;}
}


/* v48 — clean logo sizing on homepage and popup */
#view-today .home-voice-launcher{padding-top:12px !important;margin-bottom:10px !important;}
#view-today .home-voice-button{
  min-height:218px !important;
  padding:8px 0 6px !important;
}
#view-today .home-hero-logo-wrap{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:none !important;
  overflow:visible !important;
  gap:4px !important;
}
#view-today .home-hero-icon-image{
  display:block !important;
  width:182px !important;
  max-width:56vw !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 8px rgba(0,229,255,.10)) drop-shadow(0 0 12px rgba(255,45,149,.10)) !important;
}
#view-today .home-hero-wordmark{
  display:block !important;
  margin-top:2px !important;
  padding:0 0 .18em !important;
  overflow:visible !important;
  white-space:nowrap !important;
  font-size:2.52rem !important;
  line-height:1.16 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
}
#view-today .home-hero-wordmark .word-deficit,
.coach-welcome-wordmark .word-deficit{color:#f5f7ff !important;}
#view-today .home-hero-wordmark .word-iq,
.coach-welcome-wordmark .word-iq{
  background:linear-gradient(90deg,#16c9ff 0%,#7d62ff 42%,#ff22a8 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
}
.coach-welcome-panel{
  width:min(76vw,760px) !important;
  min-height:min(72vh,760px) !important;
  padding:34px 30px 24px !important;
}
.coach-welcome-brand{
  width:auto !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 14px !important;
  overflow:visible !important;
}
.coach-welcome-logo{display:none !important;}
.coach-welcome-icon{
  display:block !important;
  width:148px !important;
  max-width:40vw !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 8px rgba(0,229,255,.12)) drop-shadow(0 0 12px rgba(255,45,149,.12)) !important;
}
.coach-welcome-wordmark{
  display:block !important;
  margin-top:2px !important;
  padding:0 0 .18em !important;
  overflow:visible !important;
  white-space:nowrap !important;
  font-size:2.08rem !important;
  line-height:1.16 !important;
  letter-spacing:-.055em !important;
  font-weight:900 !important;
}
@media(max-width:900px){
  #view-today .home-hero-icon-image{width:168px !important;max-width:60vw !important;}
  #view-today .home-hero-wordmark{font-size:2.25rem !important;}
  .coach-welcome-icon{width:136px !important;max-width:46vw !important;}
  .coach-welcome-wordmark{font-size:1.92rem !important;}
}
@media(max-width:520px){
  #view-today .home-voice-button{min-height:196px !important;}
  #view-today .home-hero-icon-image{width:148px !important;max-width:64vw !important;}
  #view-today .home-hero-wordmark{font-size:1.95rem !important;line-height:1.18 !important;}
  .coach-welcome-panel{width:92vw !important;min-height:74vh !important;padding:28px 18px 20px !important;}
  .coach-welcome-icon{width:122px !important;max-width:54vw !important;}
  .coach-welcome-wordmark{font-size:1.72rem !important;line-height:1.18 !important;}
}


/* v49 — only requested fixes: show full right side of icon + remove popup kicker */
.coach-welcome-kicker{display:none !important;}
#view-today .home-hero-icon-image{
  width:168px !important;
  max-width:52vw !important;
  padding-right:14px !important;
  box-sizing:content-box !important;
}
.coach-welcome-icon{
  width:134px !important;
  max-width:36vw !important;
  padding-right:12px !important;
  box-sizing:content-box !important;
}
@media(max-width:900px){
  #view-today .home-hero-icon-image{width:156px !important; max-width:56vw !important; padding-right:12px !important;}
  .coach-welcome-icon{width:126px !important; max-width:42vw !important; padding-right:10px !important;}
}
@media(max-width:520px){
  #view-today .home-hero-icon-image{width:140px !important; max-width:60vw !important; padding-right:10px !important;}
  .coach-welcome-icon{width:116px !important; max-width:48vw !important; padding-right:9px !important;}
}


/* v52 — LOCKED Option 2 master logo integration. Do not redraw with CSS/SVG. */
#view-today .home-hero-logo-wrap.locked-logo-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  padding:0 !important;
  margin:0 !important;
}
.locked-master-logo{
  display:block !important;
  object-fit:contain !important;
  height:auto !important;
  padding:0 !important;
  margin:0 auto !important;
  max-width:none !important;
  filter:none;
}
.home-locked-master-logo{
  width:520px !important;
  max-width:72vw !important;
}
#view-today .home-voice-button{
  min-height:250px !important;
  overflow:visible !important;
}
#view-today .home-voice-launcher{
  overflow:visible !important;
}
/* Hide legacy logo reconstruction elements so only the locked image renders. */
.home-hero-icon-image,
.home-hero-wordmark,
.home-hero-logo-image,
.home-voice-microphone,
.home-voice-brand,
.sync-wave-icon,
.sync-wave-icon-image{
  display:none !important;
}

.coach-welcome-brand.locked-popup-brand{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
  padding:0 !important;
  margin:0 auto 10px !important;
}
.popup-locked-master-logo{
  width:340px !important;
  max-width:58vw !important;
}
.coach-welcome-icon,
.coach-welcome-wordmark,
.coach-welcome-logo{
  display:none !important;
}

@media(max-width:900px){
  .home-locked-master-logo{width:470px !important;max-width:76vw !important;}
  .popup-locked-master-logo{width:300px !important;max-width:62vw !important;}
}
@media(max-width:520px){
  .home-locked-master-logo{width:360px !important;max-width:86vw !important;}
  .popup-locked-master-logo{width:250px !important;max-width:72vw !important;}
  #view-today .home-voice-button{min-height:220px !important;}
}


/* v53 — use transparent cutout logo and larger display size */
.home-locked-master-logo{
  width:640px !important;
  max-width:78vw !important;
}
.popup-locked-master-logo{
  width:430px !important;
  max-width:72vw !important;
}
@media(max-width:900px){
  .home-locked-master-logo{width:560px !important;max-width:82vw !important;}
  .popup-locked-master-logo{width:380px !important;max-width:76vw !important;}
}
@media(max-width:520px){
  .home-locked-master-logo{width:420px !important;max-width:88vw !important;}
  .popup-locked-master-logo{width:300px !important;max-width:80vw !important;}
}


/* v55 — date selector restored to homepage above macro boxes */
#view-today .home-datebar{
  max-width:none;
  width:100%;
  margin:0 0 12px;
}


/* v56 — compact Today stat grid so all eight cards fit on initial screen */
#view-today .home-stat-grid{
  gap:6px !important;
  margin-top:0 !important;
  margin-bottom:6px !important;
}
#view-today .home-stat-grid>article,
#view-today .home-stat-grid .metric-card,
#view-today .home-stat-grid .mini-card,
#view-today .home-stat-grid .secondary-nutrient-card{
  min-height:76px !important;
  height:76px !important;
  padding:9px 8px !important;
  border-radius:12px !important;
  box-sizing:border-box !important;
}
#view-today .home-stat-grid .metric-label,
#view-today .home-stat-grid .metric-unit,
#view-today .home-stat-grid .mini-card span,
#view-today .home-stat-grid .secondary-nutrient-card span{
  font-size:.67rem !important;
  line-height:1.1 !important;
}
#view-today .home-stat-grid .metric-card strong,
#view-today .home-stat-grid .mini-card strong,
#view-today .home-stat-grid .secondary-nutrient-card strong{
  margin:5px 0 1px !important;
  font-size:1.18rem !important;
  line-height:1 !important;
}
#view-today .home-stat-grid>article::before,
#view-today .home-stat-grid .metric-card::before,
#view-today .home-stat-grid .mini-card::before,
#view-today .home-stat-grid .secondary-nutrient-card::before{
  width:26px !important;
  height:3px !important;
}
#view-today .home-datebar{
  margin-bottom:8px !important;
}
@media(max-width:520px){
  #view-today .home-stat-grid{gap:5px !important;}
  #view-today .home-stat-grid>article,
  #view-today .home-stat-grid .metric-card,
  #view-today .home-stat-grid .mini-card,
  #view-today .home-stat-grid .secondary-nutrient-card{
    min-height:70px !important;
    height:70px !important;
    padding:8px 6px !important;
  }
  #view-today .home-stat-grid .metric-card strong,
  #view-today .home-stat-grid .mini-card strong,
  #view-today .home-stat-grid .secondary-nutrient-card strong{font-size:1.08rem !important;}
}


/* v57 — iPhone fit: all 8 Today stat cards visible at launch */
@media(max-width:520px){
  #view-today .home-stat-grid{
    gap:4px !important;
    margin-top:0 !important;
    margin-bottom:4px !important;
  }

  #view-today .home-stat-grid>article,
  #view-today .home-stat-grid .metric-card,
  #view-today .home-stat-grid .mini-card,
  #view-today .home-stat-grid .secondary-nutrient-card{
    min-height:58px !important;
    height:58px !important;
    padding:6px 5px !important;
    border-radius:10px !important;
  }

  #view-today .home-stat-grid .metric-label,
  #view-today .home-stat-grid .metric-unit,
  #view-today .home-stat-grid .mini-card span,
  #view-today .home-stat-grid .secondary-nutrient-card span{
    font-size:.59rem !important;
    line-height:1.05 !important;
    letter-spacing:.06em !important;
  }

  #view-today .home-stat-grid .metric-card strong,
  #view-today .home-stat-grid .mini-card strong,
  #view-today .home-stat-grid .secondary-nutrient-card strong{
    margin:3px 0 0 !important;
    font-size:.98rem !important;
    line-height:1 !important;
  }

  #view-today .home-stat-grid>article::before,
  #view-today .home-stat-grid .metric-card::before,
  #view-today .home-stat-grid .mini-card::before,
  #view-today .home-stat-grid .secondary-nutrient-card::before{
    width:24px !important;
    height:2px !important;
  }

  #view-today .home-datebar{
    margin-bottom:6px !important;
  }
}


/* v58 — homepage stat accent lines unified to one translucent neon violet */
#view-today .home-stat-grid>article,
#view-today .home-stat-grid .metric-card,
#view-today .home-stat-grid .mini-card,
#view-today .home-stat-grid .secondary-nutrient-card{
  --stat-accent: rgba(122, 107, 255, 0.82) !important;
}
#view-today .home-stat-grid>article::before,
#view-today .home-stat-grid .metric-card::before,
#view-today .home-stat-grid .mini-card::before,
#view-today .home-stat-grid .secondary-nutrient-card::before{
  background: rgba(122, 107, 255, 0.82) !important;
  box-shadow: 0 0 10px rgba(122, 107, 255, 0.42) !important;
  color: rgba(122, 107, 255, 0.82) !important;
}

/* v59 — approved transparent flame logo; preserve the prior logo footprint */
.home-locked-master-logo{width:578px !important;max-width:70vw !important;}
.popup-locked-master-logo{width:387px !important;max-width:65vw !important;}
@media(max-width:900px){
  .home-locked-master-logo{width:505px !important;max-width:74vw !important;}
  .popup-locked-master-logo{width:342px !important;max-width:68vw !important;}
}
@media(max-width:520px){
  .home-locked-master-logo{width:378px !important;max-width:79vw !important;}
  .popup-locked-master-logo{width:270px !important;max-width:72vw !important;}
}

/* v61 — one compact approved flame logo on every secondary page */
.topbar{display:none !important;}
.page-coach-logo-button{
  appearance:none;
  -webkit-appearance:none;
  display:block;
  width:min(38vw,180px);
  margin:0 auto 12px;
  padding:0;
  border:0;
  border-radius:18px;
  background:transparent;
  color:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.page-coach-logo-button img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:none;
  transition:transform .2s ease,filter .2s ease;
}
.page-coach-logo-button:active img{transform:scale(.97);}
.page-coach-logo-button:focus-visible{
  outline:2px solid #00e5ff;
  outline-offset:5px;
}
.page-coach-logo-button.live img{
  animation:pageCoachLogoPulse 1.25s ease-in-out infinite;
  filter:drop-shadow(0 0 11px rgba(0,229,255,.28)) drop-shadow(0 0 14px rgba(255,45,149,.24));
}
@keyframes pageCoachLogoPulse{
  0%,100%{transform:scale(1);opacity:1;}
  50%{transform:scale(1.025);opacity:.9;}
}
@media(max-width:520px){
  .page-coach-logo-button{width:min(42vw,164px);margin-bottom:10px;}
}
@media(prefers-reduced-motion:reduce){
  .page-coach-logo-button img{transition:none;}
  .page-coach-logo-button.live img{animation:none;}
}

/* v64 — simplified Log page using the approved Home card system */
#view-search>.datebar{margin-bottom:10px;}
.log-action-section{margin:0 0 8px;}
.log-action-section>h2{
  margin:0 0 7px 2px;
  color:var(--muted);
  font-size:.68rem;
  line-height:1;
  letter-spacing:.16em;
  font-weight:760;
}
.log-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.log-action-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  min-height:76px;
  height:76px;
  margin:0;
  padding:9px 8px;
  border:1px solid rgba(116,135,177,.22);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(10,17,34,.98),rgba(6,12,25,.98));
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  color:var(--text);
  font:inherit;
  font-size:.78rem;
  line-height:1.1;
  font-weight:760;
  letter-spacing:.01em;
  text-align:center;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.log-action-card::before,
.log-today-fold::before{
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  left:50%;
  width:26px;
  height:3px;
  border-radius:0 0 999px 999px;
  transform:translateX(-50%);
  background:rgba(122,107,255,.82);
  box-shadow:0 0 10px rgba(122,107,255,.42);
}
.log-action-card:active{transform:scale(.985);}
.log-action-card:focus-visible{outline:2px solid #00e5ff;outline-offset:2px;}
.log-today-fold{
  position:relative;
  overflow:hidden;
  margin:0;
  padding:0;
  border:1px solid rgba(116,135,177,.22);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(10,17,34,.98),rgba(6,12,25,.98));
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.log-today-fold>summary{min-height:70px;padding:14px 16px;align-items:center;}
.log-today-fold>summary span{font-size:.76rem;letter-spacing:.09em;}
.log-today-fold>summary small{font-size:.7rem;color:var(--muted);}
.log-today-fold>.list{padding:0 12px 12px;}

.log-sheet-source,.page-sheet-source{display:none;}
.log-sheet-storage{display:none;}
.log-sheet{position:fixed;z-index:230;inset:0;display:flex;align-items:flex-end;justify-content:center;}
.log-sheet.hidden{display:none;}
.log-sheet-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(2,6,18,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.log-sheet-panel{
  position:relative;
  z-index:1;
  width:min(760px,100%);
  max-height:min(84vh,760px);
  overflow:auto;
  padding:0 14px calc(18px + env(safe-area-inset-bottom));
  border:1px solid rgba(122,107,255,.42);
  border-bottom:0;
  border-radius:24px 24px 0 0;
  background:radial-gradient(circle at 18% 0,rgba(255,45,149,.10),transparent 28%),radial-gradient(circle at 88% 8%,rgba(0,229,255,.08),transparent 30%),linear-gradient(180deg,rgba(8,15,34,.99),rgba(5,10,23,.99));
  box-shadow:0 -16px 48px rgba(0,0,0,.45),0 0 26px rgba(122,107,255,.12);
  overscroll-behavior:contain;
}
.log-sheet-header{
  position:sticky;
  z-index:5;
  top:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:58px;
  padding:10px 2px;
  background:linear-gradient(180deg,rgba(8,15,34,1) 72%,rgba(8,15,34,0));
}
.log-sheet-header strong{font-size:1.02rem;}
.log-sheet-close{width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.10);border-radius:50%;background:rgba(255,255,255,.03);color:var(--text);font-size:1.45rem;line-height:1;cursor:pointer;}
.log-sheet-body{padding:0 0 6px;}
.log-sheet-body>.log-sheet-source,
.log-sheet-body>.page-sheet-source{display:block;margin:0 0 10px;}
.log-sheet-body>.card,
.log-sheet-body>details.card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
.log-sheet-body>.card+.card,
.log-sheet-body>details.card{padding-top:16px;border-top:1px solid rgba(116,135,177,.18);}
body.log-sheet-open{overflow:hidden;}

/* v65 — the same compact Home-style launcher pattern on Goals and Results */
#view-goals>.page-section-intro{margin-bottom:10px;}
#view-goals>.log-action-section,
#view-progress>.log-action-section{margin-bottom:0;}
#view-goals .log-sheet-body>.deficit-focus-grid{display:grid;}
#view-progress .log-sheet-body>.period-grid{display:grid;}

@media(max-width:520px){
  #view-search>.page-coach-logo-button{margin-bottom:8px;}
  #view-search>.datebar{margin-bottom:8px;}
  .log-action-grid{gap:4px;}
  .log-action-card{min-height:58px;height:58px;padding:6px 5px;border-radius:10px;font-size:.7rem;}
  .log-action-card::before,.log-today-fold::before{width:24px;height:2px;}
  .log-today-fold{border-radius:10px;}
  .log-today-fold>summary{min-height:62px;padding:10px 12px;}
  .log-sheet-panel{max-height:88vh;padding-left:13px;padding-right:13px;border-radius:22px 22px 0 0;}
}
@media(prefers-reduced-motion:reduce){.log-action-card:active{transform:none;}}


/* V68 — interactive dashboard breakdowns + compact onboarding */
.nutrition-breakdown-cta{margin-top:16px;}
.nutrition-breakdown-row .row-source{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;}
.nutrition-breakdown-actions{display:flex;gap:7px;align-items:center;}
.nutrition-breakdown-row.burn-row{grid-template-columns:1fr auto;}
.nutrition-breakdown-row.burn-row .nutrition-breakdown-amount{align-self:center;}
.nutrition-breakdown-row.deficit-row{grid-template-columns:1fr auto;}
.nutrition-breakdown-status{margin:12px 0 0;padding:12px 14px;border:1px solid rgba(127,224,219,.18);border-radius:14px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.88rem;line-height:1.45;}
.first-setup-overlay{position:fixed;inset:0;z-index:230;display:grid;place-items:center;padding:18px;background:rgba(2,8,24,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.first-setup-overlay.hidden{display:none;}
.first-setup-modal{width:min(92vw,560px);max-height:88vh;overflow:auto;padding:26px;border-radius:24px;border:1px solid rgba(0,229,255,.34);background:radial-gradient(circle at top,rgba(181,92,255,.13),transparent 38%),linear-gradient(180deg,rgba(7,15,35,.99),rgba(10,18,42,.98));box-shadow:0 0 36px rgba(0,229,255,.12),0 0 44px rgba(255,45,149,.1);}
.first-setup-kicker{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#7fe0db;margin-bottom:8px;}
.first-setup-modal h2{margin:0;font-size:1.55rem;line-height:1.1;}
.first-setup-copy{color:var(--muted);margin:10px 0 18px;line-height:1.48;}
.first-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.first-setup-grid label{display:flex;flex-direction:column;gap:7px;}
.first-setup-grid label span{font-size:.78rem;color:var(--muted);}
.first-setup-grid input,.first-setup-grid select{width:100%;}
.first-setup-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}
@media(max-width:520px){.first-setup-grid{grid-template-columns:1fr 1fr}.first-setup-modal{padding:22px 18px}.first-setup-actions{display:grid;grid-template-columns:1fr 1fr}.nutrition-breakdown-actions{flex-direction:column;align-items:stretch}.nutrition-breakdown-actions .tiny-btn{width:100%;}}


/* V69 — clearer coach onboarding, fitness logging, prominent goal preview */
.coach-welcome-anywhere{
  margin:14px auto 0;
  max-width:540px;
  padding:11px 14px;
  border:1px solid rgba(127,224,219,.24);
  border-radius:14px;
  background:rgba(127,224,219,.06);
  color:#f6f8ff;
  font-size:.94rem;
  line-height:1.4;
}
.activity-captured-label{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(116,135,177,.18);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.activity-captured-label input{width:18px;height:18px;margin:1px 0 0;flex:0 0 auto;}
.activity-captured-label span{margin:0 !important;font-size:.82rem;line-height:1.35;color:var(--muted);}
#view-goals .goal-preview-hero-launch{
  grid-column:1 / -1;
  min-height:88px;
  height:auto;
  padding:13px 14px;
  border-color:rgba(255,45,149,.34);
  background:radial-gradient(circle at 12% 20%,rgba(0,229,255,.10),transparent 34%),radial-gradient(circle at 88% 25%,rgba(255,45,149,.16),transparent 36%),linear-gradient(180deg,rgba(16,20,45,.98),rgba(7,12,29,.98));
  box-shadow:0 10px 28px rgba(0,0,0,.2),0 0 20px rgba(255,45,149,.08);
}
#view-goals .goal-preview-hero-launch strong{display:block;font-size:1rem;line-height:1.15;color:#fff;}
#view-goals .goal-preview-hero-launch span{display:block;margin-top:7px;font-size:.78rem;font-weight:800;color:#7fe0db;letter-spacing:.02em;}
#view-goals .goal-preview-hero-launch::before{width:42px;background:linear-gradient(90deg,#00e5ff,#ff2d95);box-shadow:0 0 12px rgba(255,45,149,.35);}

/* Keep every Log action visible together on common iPhone heights. */
@media(max-width:520px){
  #view-search>.page-coach-logo-button{margin-bottom:5px;}
  #view-search>.datebar{min-height:50px;margin-bottom:6px;padding:7px 9px;}
  #view-search .log-action-section>h2{margin-bottom:5px;}
  #view-search .log-action-grid{gap:4px;}
  #view-search .log-action-card{min-height:48px;height:48px;padding:5px 4px;font-size:.66rem;}
  #view-search .log-today-fold>summary{min-height:54px;padding:8px 11px;}
  .coach-welcome-anywhere{font-size:.87rem;padding:9px 11px;}
  #view-goals .goal-preview-hero-launch{min-height:76px;padding:11px 10px;}
  #view-goals .goal-preview-hero-launch strong{font-size:.9rem;}
  #view-goals .goal-preview-hero-launch span{font-size:.72rem;margin-top:5px;}
}


/* V70 — popup controls and replay support */
.popup-settings-card .section-heading{margin-bottom:10px;}
.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid rgba(116,135,177,.14);border-bottom:1px solid rgba(116,135,177,.14);}
.settings-toggle-row>span{display:flex;flex-direction:column;gap:4px;min-width:0;}
.settings-toggle-row strong{font-size:.94rem;color:#fff;}
.settings-toggle-row small{font-size:.78rem;line-height:1.35;color:var(--muted);}
.settings-toggle-row input{appearance:none;-webkit-appearance:none;width:48px;height:28px;flex:0 0 auto;border-radius:999px;border:1px solid rgba(127,224,219,.24);background:rgba(116,135,177,.28);position:relative;cursor:pointer;transition:.18s ease;}
.settings-toggle-row input::after{content:'';position:absolute;width:20px;height:20px;border-radius:50%;top:3px;left:4px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.28);transition:.18s ease;}
.settings-toggle-row input:checked{background:linear-gradient(90deg,rgba(0,229,255,.78),rgba(181,92,255,.78));border-color:rgba(127,224,219,.5);}
.settings-toggle-row input:checked::after{transform:translateX(19px);}
.popup-settings-actions{margin-top:12px;}
.popup-choice-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.popup-disable-button{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:6px 8px;cursor:pointer;}
.popup-disable-button:hover{color:#fff;}
.coach-welcome-actions{display:flex;flex-direction:column;gap:7px;}
@media(max-width:520px){.settings-toggle-row{gap:12px}.settings-toggle-row input{width:46px}.settings-toggle-row input:checked::after{transform:translateX(17px)}}

/* V72 multilingual language selection */
.language-picker-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(3,6,18,.78);backdrop-filter:blur(12px)}
.language-picker-overlay.hidden{display:none}
.language-picker-modal{width:min(100%,430px);max-height:calc(100dvh - 48px);overflow:auto;padding:24px;border:1px solid rgba(168,85,247,.46);border-radius:24px;background:linear-gradient(180deg,rgba(18,20,44,.98),rgba(7,11,26,.99));box-shadow:0 24px 80px rgba(0,0,0,.5),0 0 36px rgba(168,85,247,.12)}
.language-picker-modal h2{margin:8px 0 8px}
.language-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.language-choice{min-height:74px;padding:13px 12px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.045);color:inherit;text-align:left}
.language-choice strong,.language-choice span{display:block}.language-choice strong{font-size:1rem}.language-choice span{margin-top:4px;color:var(--muted);font-size:.78rem}
.language-choice:active,.language-choice:hover{border-color:rgba(168,85,247,.7);background:rgba(168,85,247,.12)}
.language-select-row select{width:100%}
@media(max-width:380px){.language-choice-grid{grid-template-columns:1fr}}

/* v73 — first-run onboarding flow repair */
.onboarding-info-overlay{z-index:1250;}
.onboarding-info-modal{text-align:center;max-width:560px;}
.onboarding-info-modal .first-setup-kicker{margin-bottom:10px;}
.onboarding-info-actions{display:block;margin-top:20px;}
.onboarding-info-actions .primary{width:100%;}


/* PDF product decisions: a finite discovery cue; no added home labels. */
@keyframes burnsync-halo {0%,100%{filter:drop-shadow(0 0 1px #aa82ff22)}50%{filter:drop-shadow(0 0 18px #aa82ffbb)}}
.voice-discovery .locked-master-logo,.page-coach-logo-button.voice-discovery img {animation:burnsync-halo 1.6s ease-in-out 4;}
[data-voice-state="listening"] .locked-master-logo,.page-coach-logo-button[data-voice-state="listening"] img {animation:burnsync-halo 2.4s ease-in-out infinite;}
[data-voice-state="speaking"] .locked-master-logo,.page-coach-logo-button[data-voice-state="speaking"] img {animation:burnsync-halo 1.2s ease-in-out infinite;}
.nutrition-source {margin:10px 0;font-size:.85rem;color:var(--muted,#b8bbd0);}
.nutrition-source a {display:block;color:#bcadff;overflow-wrap:anywhere;margin:6px 0;}
@media(prefers-reduced-motion:reduce){.voice-discovery .locked-master-logo,[data-voice-state] .locked-master-logo,.page-coach-logo-button img{animation:none!important;}}

/* Visible color journey over the exact approved wordmark. */
.brand-motion-stage{position:relative;display:inline-block;line-height:0;transform-origin:50% 48%;isolation:isolate;}
.page-coach-logo-button .brand-motion-stage{width:100%;}
.brand-color-wave{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 0 7px #b188ff88);}
@keyframes brand-visible-pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 transparent);}50%{transform:scale(1.045);filter:drop-shadow(0 0 15px #985dff99);}}
.brand-motion-stage.brand-intro{animation:brand-visible-pulse 2s ease-in-out 4!important;}
[data-voice-state="listening"] .brand-motion-stage{animation:brand-visible-pulse 2.4s ease-in-out infinite!important;}
[data-voice-state="speaking"] .brand-motion-stage{animation:brand-visible-pulse 1.2s ease-in-out infinite!important;}
[data-voice-state] .brand-motion-stage>img,.page-coach-logo-button.live .brand-motion-stage>img{animation:none!important;}
@media(prefers-reduced-motion:reduce){.brand-motion-stage.brand-intro,[data-voice-state] .brand-motion-stage{animation:none!important;}.brand-color-wave{display:none;}}

/* Flame preview: motion stays inside the original flame, without whole-logo scaling. */
.brand-fire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none;}
.brand-burning .brand-fire{display:block;}
.brand-burning>img{opacity:1;}
.brand-motion-stage.brand-intro,[data-voice-state="listening"] .brand-motion-stage,[data-voice-state="speaking"] .brand-motion-stage{animation:none!important;transform:none!important;}
@media(prefers-reduced-motion:reduce){.brand-fire{display:none!important;}.brand-burning>img{opacity:1;}}

/* Stable flame with interior light, brighter while the voice coach is active. */
.brand-fire{mix-blend-mode:screen;opacity:.9;transition:opacity .6s ease;}
.barcode-dialog{width:min(600px,94vw);max-height:90dvh;overflow:auto;border:1px solid #7161c9;border-radius:22px;background:#101525;color:#f3f2ff;padding:20px;box-sizing:border-box;}
.barcode-dialog::backdrop{background:#030713d9;}
.barcode-dialog label{display:block;margin:12px 0;}
.barcode-dialog input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;}
.barcode-dialog video{width:100%;max-height:240px;border-radius:14px;margin:12px 0;}
.barcode-dialog [hidden]{display:none!important;}
.barcode-dialog a{color:#73dfff;}
.barcode-dialog button{margin:6px 0;}
[data-voice-state="listening"] .brand-fire,[data-voice-state="speaking"] .brand-fire{opacity:1;}

/* Interior-page refresh. Deliberately scoped to preserve the approved Home. */
:is(#view-search,#view-goals,#view-progress,#view-coach,#view-settings) .card{border:1px solid rgba(116,135,177,.22);border-radius:22px;background:#060911;box-shadow:0 8px 24px rgba(0,0,0,.12);}
:is(#view-search,#view-goals,#view-progress,#view-coach,#view-settings) .section-heading h2{letter-spacing:-.025em;}
.page-intro{margin:4px 0 22px;}.page-intro h1{font-size:clamp(26px,5vw,34px);letter-spacing:-.045em;margin:8px 0;}.page-intro p{color:#aeb8ca;line-height:1.5;margin:0;}.page-eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;color:#bea5f2;}
#view-search .category-switch{display:flex;padding:5px;border:1px solid rgba(116,135,177,.22);border-radius:16px;background:#060911;margin:14px 0 18px;gap:5px;}.category-switch button{flex:1;min-height:44px;background:transparent;color:#aeb8ca;border:0;border-radius:11px;font-weight:750;}.category-switch button[aria-pressed="true"]{background:#060911;color:#fff;box-shadow:0 2px 10px #0003;}
:is(#view-search,#view-goals,#view-progress) .log-action-grid{gap:12px;}
:is(#view-search,#view-goals,#view-progress) .log-action-card{min-height:82px;border-radius:18px;background:#060911;border:1px solid rgba(116,135,177,.22);color:#f0eaf8;box-shadow:none;text-transform:none;letter-spacing:0;font-size:15px;padding:18px;text-align:left;}
#view-search .featured-action{border-color:rgba(116,135,177,.22);background:#060911;}
#view-search .log-action-card small{display:block;font-size:11px;color:#aeb8ca;font-weight:400;margin-top:7px;}
#view-search .record-weight-action{margin:16px 0 0;min-height:46px;border-color:rgba(116,135,177,.22);}
#view-search .activity-history{margin-top:18px;}.fitness-history-row{display:grid;gap:7px;padding:16px 0;border-top:1px solid #ffffff12;}.fitness-history-row span{color:#aeb8ca;font-size:13px;line-height:1.55;}
#view-goals .active-goal{padding:24px;background:#060911;margin-bottom:16px;}.active-goal h2{margin:12px 0 8px;font-size:25px;}.active-goal p{color:#aeb8ca;line-height:1.5;}
#view-goals .deficit-focus-grid{margin-bottom:16px;}#view-goals .food-budget-card{margin-bottom:20px;}
#view-goals .goal-preview-hero-launch{width:100%;min-height:132px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:26px;margin:0 0 24px;border:1px solid rgba(116,135,177,.22);border-radius:22px;background:#060911;box-shadow:none;}
#view-goals .goal-preview-hero-launch strong{font-size:24px;color:#fff;}#view-goals .goal-preview-hero-launch span{color:#aeb8ca;font-size:13px;}
#view-progress .results-chart{margin-bottom:16px;padding:22px;}#view-progress .period-grid{margin-bottom:26px;}#view-progress .metric-card{background:#060911;border:1px solid rgba(116,135,177,.22);border-radius:18px;box-shadow:none;}#view-progress .neon-chart{box-shadow:none;background:transparent;}#view-progress .weight-range button{min-height:44px;}
#view-coach .coach-hero{background:transparent;border:0;box-shadow:none;padding:8px 0 20px;}#view-coach .coach-orb{display:none;}#view-coach .coach-hero h2{font-size:28px;letter-spacing:-.04em;}#view-coach .coach-thread{min-height:250px;max-height:48vh;}#view-coach .coach-voice-bar{border:1px solid rgba(116,135,177,.22);background:#060911;border-radius:17px;padding:13px;}#view-coach #coachVoiceStatus{color:#ece0fa;font-size:13px;line-height:1.5;}#view-coach .coach-quick{gap:8px;}#view-coach .coach-quick button{min-height:44px;border-color:rgba(116,135,177,.22);}
#view-settings .settings-group-title{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#c2a7dc;margin:26px 4px 14px;}#view-settings .card{margin-bottom:16px;}#view-settings .danger-card{border-color:#87505a;}
@media(max-width:480px){#view-progress .period-grid{gap:8px;}#view-progress .metric-card{padding:14px 9px;}#view-progress .metric-card strong{font-size:25px;}#view-goals .goal-preview-hero-launch strong{font-size:22px;}}

/* Home-matched black surfaces; color lives in the small neon accent lines. */
.activity-estimator{border:1px solid #7a6bff70;border-radius:14px;padding:14px;background:#060911;}
.activity-estimator summary{color:#e7e1ff;font-weight:750;cursor:pointer;padding:6px 0;}
.activity-estimator .food-form{margin-top:14px;}.activity-estimator a{color:#78dfff;}
#view-goals .goal-photo-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:center;padding:24px;margin:18px 0 24px;border:1px solid transparent;background:linear-gradient(#060911,#060911) padding-box,linear-gradient(125deg,#00e5ff99,#7a6bff,#ff2d9599) border-box;box-shadow:0 0 22px #7a6bff16;overflow:hidden;}
#view-goals .goal-photo-feature::before{display:none;}
.goal-photo-art{display:grid;place-items:center;min-height:180px;border-radius:16px;background:radial-gradient(ellipse at center,#7a6bff13,transparent 70%);overflow:hidden;}
.goal-photo-art svg{width:100%;max-width:360px;height:200px;}
.goal-photo-art img{width:100%;height:240px;object-fit:contain;border-radius:12px;}
.goal-photo-copy h2{font-size:clamp(25px,5vw,32px);line-height:1.1;letter-spacing:-.035em;margin:10px 0;}
.goal-photo-copy p{color:#adb8ca;line-height:1.5;}.goal-photo-copy small{display:block;color:#a9b4c7;font-size:11px;margin-top:12px;}
#view-goals #goalPhotoCreate{min-height:48px;background:#080c16;color:#fff;border:1px solid #7a6bff;box-shadow:0 0 12px #7a6bff30;white-space:normal;}
#goalPhotoView{margin-top:10px;min-height:44px;}#goalPhotoStorageNote{font-size:11px;margin-bottom:0;}
@media(max-width:600px){#view-goals .goal-photo-feature{grid-template-columns:1fr;gap:6px;padding:20px;}.goal-photo-art{min-height:130px;}.goal-photo-art svg{height:140px;}.goal-photo-art img{height:220px;}}
:is(#view-search,#view-goals,#view-progress,#view-coach,#view-settings) :is(.card,.metric-card){position:relative;}
:is(#view-search,#view-goals,#view-progress,#view-coach,#view-settings) :is(.card,.metric-card)::before{
 content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:3px;border-radius:0 0 999px 999px;background:rgba(122,107,255,.82);box-shadow:0 0 10px rgba(122,107,255,.42);pointer-events:none;
}
#view-coach .coach-hero::before{display:none;}
#view-search .category-switch button[aria-pressed="true"]{box-shadow:inset 0 -2px rgba(122,107,255,.82),0 0 10px rgba(122,107,255,.12);}
:is(#view-search,#view-goals,#view-progress) .log-action-card::before{background:rgba(122,107,255,.82);box-shadow:0 0 10px rgba(122,107,255,.42);}
:is(#view-search,#view-goals,#view-progress,#view-coach,#view-settings) :is(.log-sheet-panel,.datebar,.coach-message>div,.coach-quick button){background:#060911;}


/* Fitness editing and direct goal editing */
.activity-calorie-result{display:grid;gap:8px;margin-top:18px;font-weight:700}
.fitness-entry-actions{display:flex;gap:10px;margin-top:12px}
.fitness-entry-actions button{min-height:44px;min-width:64px}
#activityUndoNotice{margin-top:16px;display:flex;align-items:center;gap:12px}
#activityUndoNotice.hidden{display:none}
.active-goal{position:relative}
.active-goal .page-eyebrow{display:block;padding-right:100px;min-height:44px}
.edit-active-goal{position:static;float:right;min-height:44px}
.edit-active-goal::after{content:"";position:absolute;inset:0;border-radius:inherit;cursor:pointer}
.active-goal:focus-within{outline:2px solid #a78bfa;outline-offset:3px}

/* Voice controls: idle artwork is still; only active connections animate. */
.voice-logo-hint{display:block;font-size:11px;font-weight:400;letter-spacing:.035em;color:#9aa5b9;line-height:1.5;text-align:center;margin:3px 0 0;}
#homeCoachTalk,.page-coach-logo-button{flex-wrap:nowrap;}
.voice-logo-hint{flex:0 0 auto;width:100%;align-self:center;}
[data-voice-state="idle"] img{animation:none!important;}

/* Voice animation follows connection state directly, including conversational pauses. */
.brand-flame-window{display:none;position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 35% 0);pointer-events:none;}
.brand-flame-motion{display:block;position:absolute;inset:0;transform-origin:50% 55%;}
.brand-flame-motion img{display:block!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:fill!important;filter:none!important;}
:is([data-voice-state="connecting"],[data-voice-state="thinking"],[data-voice-state="listening"],[data-voice-state="speaking"]) .brand-flame-window{display:block;}
:is([data-voice-state="listening"],[data-voice-state="thinking"],[data-voice-state="speaking"]) .brand-flame-motion{animation:voice-flame-flicker 1.6s ease-in-out infinite alternate;}
[data-voice-state="speaking"] .brand-flame-motion{animation-duration:.85s;}
[data-voice-state="connecting"] .brand-flame-motion{animation:voice-flame-connect 1.8s ease-in-out infinite;}
@keyframes voice-flame-flicker{0%{transform:translate(0,0) scale(1);filter:brightness(1);opacity:.5;}35%{transform:translate(-1px,-3px) scale(1.012);filter:brightness(1.3);opacity:.9;}70%{transform:translate(1px,-1px) scale(1.006);filter:brightness(1.1);opacity:.7;}100%{transform:translate(0,-4px) scale(1.015);filter:brightness(1.4);opacity:1;}}
@keyframes voice-flame-connect{0%,100%{opacity:.15;filter:brightness(1);}50%{opacity:.75;filter:brightness(1.35);}}
.view>#coachAction{margin:14px 0;padding:18px;border:1px solid #7161c9;border-radius:18px;background:#080d19;}
#coachReviewItems{max-height:380px;overflow:auto;overscroll-behavior:contain;}
.coach-review-item{padding:14px 0;border-top:1px solid #ffffff20;}
.coach-review-item>strong{display:block;font-size:15px;}
.coach-review-item p{font-size:13px;line-height:1.5;color:#aeb8ca;}
.coach-review-item summary,.coach-review-item button{min-height:44px;cursor:pointer;}
.coach-review-item form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 0;}
.coach-review-item label{font-size:12px;min-width:0;color:#bac5d6;}
.coach-review-item input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;min-height:44px;padding:8px;}
.coach-review-item form>p{grid-column:1/-1;}
@media(prefers-reduced-motion:reduce){.brand-flame-motion{animation:none!important;}.brand-flame-window{opacity:.35;}}

/* Coach review floats over the current page; only its item list scrolls. */
body.coach-review-open{overflow:hidden;}
#coachAction{position:fixed;z-index:1300;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,620px);box-sizing:border-box;margin:0;padding:0;border:1px solid #8070eb;border-bottom:0;border-radius:24px 24px 0 0;background:#080c17;box-shadow:0 -12px 60px #0009;display:flex;flex-direction:column;max-height:72vh;max-height:72dvh;overflow:hidden;}
#coachAction.hidden{display:none;}
.coach-review-header{display:flex;align-items:flex-start;gap:12px;padding:18px 18px 10px;flex-shrink:0;border-bottom:1px solid #ffffff18;}
.coach-review-header>div{flex:1;min-width:0;}
#coachActionTitle{font-size:1.1rem;}
#coachActionSummary{font-size:12px;line-height:1.5;margin:6px 0 0;}
#coachReviewClose{min-width:44px;min-height:44px;font-size:26px;padding:0;border-radius:50%;}
#coachReviewItems{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 18px;-webkit-overflow-scrolling:touch;flex:1;}
#coachAction .coach-review-item{padding:12px 0;}
#coachAction .coach-review-item:first-child{border-top:0;}
#coachAction .coach-review-item p{margin:4px 0;}
#coachAction .coach-review-item summary{display:flex;align-items:center;color:#a6dbef;font-size:12px;}
#coachAction .coach-action-buttons{flex-shrink:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#0c1120;border-top:1px solid #ffffff20;}
#coachConfirmAction{flex:1;min-height:48px;}
#coachCancelAction{font-size:12px;}
#coachReviewLauncher{position:fixed;z-index:1200;bottom:calc(86px + env(safe-area-inset-bottom));right:16px;min-height:44px;border-radius:24px;box-shadow:0 4px 24px #0008;}


/* BurnSync V3 voice flame states — visual only; voice behavior untouched. */
.brand-flame-window{display:block;position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 35% 0);pointer-events:none;opacity:0;transition:opacity .35s ease}
.brand-flame-motion{display:block;position:absolute;inset:0;transform-origin:50% 55%;will-change:transform,filter,opacity}
.brand-flame-motion img{display:block!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:fill!important;filter:none!important}
[data-voice-state="idle"] .brand-flame-window{opacity:.16}
[data-voice-state="connecting"] .brand-flame-window{opacity:.55}
[data-voice-state="listening"] .brand-flame-window{opacity:.78}
[data-voice-state="thinking"] .brand-flame-window{opacity:.95}
[data-voice-state="speaking"] .brand-flame-window{opacity:1}
[data-voice-state="idle"] .brand-flame-motion{animation:burnsyncFlameIdle 4.8s ease-in-out infinite}
[data-voice-state="connecting"] .brand-flame-motion{animation:burnsyncFlameConnect 1.8s ease-in-out infinite}
[data-voice-state="listening"] .brand-flame-motion{animation:burnsyncFlameListen 2.35s ease-in-out infinite}
[data-voice-state="thinking"] .brand-flame-motion{animation:burnsyncFlameThink 1.05s ease-in-out infinite}
[data-voice-state="speaking"] .brand-flame-motion{animation:burnsyncFlameSpeak .78s ease-in-out infinite alternate}
@keyframes burnsyncFlameIdle{0%,100%{transform:translateY(0) scale(1);filter:brightness(1) saturate(1);opacity:.5}50%{transform:translateY(-1px) scale(1.004);filter:brightness(1.08) saturate(1.04);opacity:.72}}
@keyframes burnsyncFlameConnect{0%,100%{transform:scale(.998);filter:brightness(1.02);opacity:.45}50%{transform:scale(1.012);filter:brightness(1.3) saturate(1.12);opacity:.9}}
@keyframes burnsyncFlameListen{0%,100%{transform:translateY(0) scale(1);filter:brightness(1.06) saturate(1.04);opacity:.62}50%{transform:translateY(-3px) scale(1.014);filter:brightness(1.32) saturate(1.14);opacity:1}}
@keyframes burnsyncFlameThink{0%,100%{transform:translate(-1px,-1px) scale(1.006);filter:brightness(1.16) saturate(1.08);opacity:.72}50%{transform:translate(1px,-4px) scale(1.02);filter:brightness(1.48) saturate(1.22);opacity:1}}
@keyframes burnsyncFlameSpeak{0%{transform:translateY(-1px) scale(1.008);filter:brightness(1.22) saturate(1.1);opacity:.78}100%{transform:translateY(-4px) scale(1.022);filter:brightness(1.55) saturate(1.24);opacity:1}}
@media(prefers-reduced-motion:reduce){.brand-flame-motion{animation:none!important;transform:none!important}.brand-flame-window{opacity:.35!important}}


/* BurnSync V3 exact-motion architecture: independent flame + stationary wordmark. */
.bs-v3-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(79vw,378px);margin:0 auto;line-height:1;position:relative}
.bs-v3-flame-wrap{display:block;width:46%;aspect-ratio:1;position:relative;filter:drop-shadow(0 0 12px rgba(0,229,255,.16)) drop-shadow(0 0 16px rgba(255,45,149,.16))}
.bs-v3-flame{width:100%;height:100%;overflow:visible;display:block}
.bs-v3-wordmark{margin-top:-5%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;font-size:clamp(44px,12vw,64px);font-weight:760;letter-spacing:-.065em;white-space:nowrap;color:#f7f8fb;font-style:normal}
.bs-v3-wordmark b{font-weight:760;background:linear-gradient(90deg,#00e5ff 0%,#4779ff 32%,#c83cff 68%,#ff4c9f 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.bs-v3-tagline{margin-top:11px;color:#f5f7fb;font-size:clamp(10px,2.65vw,13px);font-weight:520;letter-spacing:.23em;white-space:nowrap}
.bs-v3-compact{width:min(42vw,164px);margin:0 auto 10px}
.bs-v3-compact .bs-v3-flame-wrap{width:58%}
.bs-v3-compact .bs-v3-wordmark{font-size:clamp(20px,6vw,29px);margin-top:-7%;letter-spacing:-.055em}
.bs-v3-ribbon{transform-box:fill-box;transform-origin:center}
[data-voice-state="idle"] .bs-v3-flame-core{animation:bsFlameIdle 4.8s ease-in-out infinite}
[data-voice-state="connecting"] .bs-v3-flame-core{animation:bsFlameConnect 1.8s ease-in-out infinite}
[data-voice-state="listening"] .bs-v3-flame-core{animation:bsFlameListen 2.15s ease-in-out infinite}
[data-voice-state="thinking"] .bs-v3-flame-core{animation:bsFlameThink .92s ease-in-out infinite}
[data-voice-state="speaking"] .bs-v3-flame-core{animation:bsFlameSpeak .62s ease-in-out infinite alternate}
[data-voice-state="listening"] .bs-v3-ribbon-b,[data-voice-state="speaking"] .bs-v3-ribbon-b{animation:bsRibbon 1.15s ease-in-out infinite alternate}
[data-voice-state="thinking"] .bs-v3-ribbon-a{animation:bsRibbon .7s ease-in-out infinite alternate}
@keyframes bsFlameIdle{0%,100%{transform:translateY(0) scale(1);filter:brightness(1)}50%{transform:translateY(-1px) scale(1.006);filter:brightness(1.08)}}
@keyframes bsFlameConnect{0%,100%{transform:scale(.99);filter:brightness(.9);opacity:.7}50%{transform:scale(1.025);filter:brightness(1.35);opacity:1}}
@keyframes bsFlameListen{0%,100%{transform:translateY(0) scale(1);filter:brightness(1.04)}50%{transform:translateY(-5px) scale(1.035);filter:brightness(1.42)}}
@keyframes bsFlameThink{0%,100%{transform:translate(-2px,-1px) scale(1.01);filter:brightness(1.15)}50%{transform:translate(2px,-7px) scale(1.055);filter:brightness(1.6)}}
@keyframes bsFlameSpeak{0%{transform:translateY(-2px) scale(1.015);filter:brightness(1.22)}100%{transform:translateY(-8px) scale(1.065);filter:brightness(1.72)}}
@keyframes bsRibbon{0%{transform:translateY(1px) scaleY(.98)}100%{transform:translateY(-4px) scaleY(1.045)}}
#homeCoachTalk:active .bs-v3-brand,.page-coach-logo-button:active .bs-v3-brand{transform:scale(.985)}
@media(max-width:520px){.bs-v3-brand{width:min(79vw,350px)}}
@media(prefers-reduced-motion:reduce){.bs-v3-flame-core,.bs-v3-ribbon{animation:none!important;transform:none!important}}


/* Approved BurnSync master artwork with independently moving flame overlay. */
.bs-approved-brand{position:relative;display:block;width:min(79vw,378px);margin:0 auto;line-height:0;overflow:visible}
.bs-approved-base{display:block;width:100%;height:auto;object-fit:contain;filter:none!important;animation:none!important}
.bs-approved-flame{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 56% 0);pointer-events:none;opacity:.18}
.bs-approved-flame img{display:block;width:100%;height:100%;object-fit:fill;transform-origin:50% 30%;animation:none!important}
.bs-approved-compact{width:min(42vw,164px);margin:0 auto 10px}
[data-voice-state="idle"] .bs-approved-flame{opacity:.14}
[data-voice-state="connecting"] .bs-approved-flame{opacity:.58}
[data-voice-state="listening"] .bs-approved-flame{opacity:.82}
[data-voice-state="thinking"] .bs-approved-flame{opacity:.96}
[data-voice-state="speaking"] .bs-approved-flame{opacity:1}
[data-voice-state="idle"] .bs-approved-flame img{animation:bsApprovedIdle 4.8s ease-in-out infinite!important}
[data-voice-state="connecting"] .bs-approved-flame img{animation:bsApprovedConnect 1.8s ease-in-out infinite!important}
[data-voice-state="listening"] .bs-approved-flame img{animation:bsApprovedListen 2.1s ease-in-out infinite!important}
[data-voice-state="thinking"] .bs-approved-flame img{animation:bsApprovedThink .92s ease-in-out infinite!important}
[data-voice-state="speaking"] .bs-approved-flame img{animation:bsApprovedSpeak .64s ease-in-out infinite alternate!important}
@keyframes bsApprovedIdle{0%,100%{transform:translateY(0) scale(1);filter:brightness(1)}50%{transform:translateY(-1px) scale(1.004);filter:brightness(1.08)}}
@keyframes bsApprovedConnect{0%,100%{transform:scale(.998);filter:brightness(1);opacity:.5}50%{transform:scale(1.012);filter:brightness(1.3);opacity:1}}
@keyframes bsApprovedListen{0%,100%{transform:translateY(0) scale(1);filter:brightness(1.04)}50%{transform:translateY(-4px) scale(1.018);filter:brightness(1.36)}}
@keyframes bsApprovedThink{0%,100%{transform:translate(-1px,-1px) scale(1.006);filter:brightness(1.14)}50%{transform:translate(1px,-5px) scale(1.025);filter:brightness(1.52)}}
@keyframes bsApprovedSpeak{0%{transform:translateY(-1px) scale(1.008);filter:brightness(1.2)}100%{transform:translateY(-6px) scale(1.03);filter:brightness(1.62)}}
#homeCoachTalk:active .bs-approved-brand,.page-coach-logo-button:active .bs-approved-brand{transform:scale(.985)}
@media(prefers-reduced-motion:reduce){.bs-approved-flame img{animation:none!important;transform:none!important}}


/* BurnSync V3 approved-master motion: exact master + flame-only masked duplicate. */
.bs-master-brand{position:relative;display:block;width:min(79vw,378px);aspect-ratio:840/790;margin:0 auto;line-height:0;overflow:hidden;mix-blend-mode:screen}
/* Frame the artwork without changing its pixels; screen blends its black matte into the app. */
.bs-master-canvas{position:absolute;display:block;width:182.857143%;height:109.367089%;left:-41.666667%;top:-3.797468%;}
.bs-master-popup{width:min(65vw,387px)}
.bs-master-base{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;animation:none!important;filter:none!important}
.bs-master-flame-mask{position:absolute;inset:0;overflow:hidden;clip-path:polygon(33.8% 4%,67.4% 4%,67.4% 57%,50.5% 64.2%,33.8% 57%);pointer-events:none;opacity:0}
.bs-master-flame-mask img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;transform-origin:50.3% 36%;animation:none!important}
.bs-master-compact{width:min(42vw,164px);margin:0 auto 10px}
.bs-master-flame-mask img{display:none!important;animation:none!important;transform:none!important;filter:none!important}
.bs-flowing-flame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bs-flame-running .bs-master-flame-mask{opacity:1}
.bs-flame-running .bs-master-base{clip-path:inset(63.65% 0 0 0)}
@media(prefers-reduced-motion:reduce){.bs-master-flame-mask{display:none!important}.bs-master-base{clip-path:none!important}}
#homeCoachTalk:active .bs-master-brand,.page-coach-logo-button:active .bs-master-brand{transform:scale(.985)}
@media(prefers-reduced-motion:reduce){.bs-master-flame-mask img{animation:none!important;transform:none!important}}
