:root{color-scheme:dark;--bg:#0e0f12;--panel:#14161b;--panel2:#192737;--border:#2a3d50;--text:#f4f8ff;--muted:#9dafbe;--green:#83e3aa;--blue:#8dbbf2;--gold:#e2c78d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% -30%,#213c4a,transparent 60%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:2px}p{line-height:1.55}h1,h2{letter-spacing:-.055em;line-height:1.12;margin:0}h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:1.15rem}a{color:var(--green)}.app{max-width:980px;margin:auto;padding:0 22px}.top{height:87px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #263745}.brand{display:flex;align-items:center;gap:13px}.brand strong{display:block;font-size:1rem;letter-spacing:.075em}.brand small{display:block;font-size:.74rem;color:var(--muted);margin-top:3px}.dim{opacity:.85}.logo,.coach-avatar,.mini-robot,.hero-mark{background:linear-gradient(135deg,#89ebae,#34a990);color:#0b2830;font-weight:1000;letter-spacing:-.065em;display:grid;place-items:center}.logo{height:43px;width:43px;border-radius:13px;font-size:1.2rem}.logodot{color:#156956}.iconbutton{background:#182635;border:1px solid var(--border);color:var(--text);width:43px;height:43px;border-radius:14px;font-size:22px}.shell{max-width:770px;margin:auto}.hidden{display:none!important}.overline{font-weight:850;font-size:.69rem;letter-spacing:.19em;color:var(--green);text-transform:uppercase;margin-bottom:10px}.welcome{max-width:650px;margin:42px auto 20px}.hero-mark{width:76px;height:76px;border-radius:25px;font-size:2.25rem;margin-bottom:22px;box-shadow:0 18px 45px #24ad8326}.welcome em{color:var(--green);font-style:normal}.welcome-copy{color:#c2ced8;font-size:1.05rem;line-height:1.7;margin:18px 0 27px}.setup-card,.section-panel{border:1px solid var(--border);background:linear-gradient(145deg,#172534,#111c29);padding:26px;border-radius:22px;margin-bottom:16px}.lineheading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.lineheading>span{border-radius:8px;background:#21493e;padding:10px;color:var(--green);font-weight:850}.lineheading strong,.lineheading small{display:block}.lineheading small{font-size:.8rem;color:var(--muted);margin-top:4px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.formgrid label,.weightrow label{display:block;font-size:.81rem;color:#d7e2ea;font-weight:750}.formgrid input,.formgrid select,.weightrow input{display:block;width:100%;margin-top:7px;border-radius:11px;border:1px solid #354657;background:#0c1825;color:var(--text);padding:11px 12px;min-height:47px;outline:0}.formgrid input:focus,.formgrid select:focus{border-color:var(--green)}.span2{grid-column:1/-1}.hint-inline{font-weight:400;color:var(--muted)}.fine{font-size:.75rem;line-height:1.55;color:var(--muted)}.primary{background:var(--green);border:1px solid var(--green);border-radius:12px;color:#082b25;padding:12px 18px;font-weight:850;min-height:46px}.primary:hover{background:#b2ffd0}.full{width:100%;margin-top:12px}.view{padding-bottom:120px}.profile-greeting{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:32px 0 21px}.profile-greeting h1{font-size:2.1rem}.wave{font-size:1.6rem}.muted{color:var(--muted)}.profile-greeting p{color:var(--muted);margin:8px 0 0}.mini-robot{width:63px;height:63px;border-radius:22px;box-shadow:0 10px 50px #28b18b2b;font-size:1.5rem}.summary-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:16px}.metric{background:#162436;padding:20px;border:1px solid #2a4050;border-radius:19px;min-width:0}.metric-cal{background:linear-gradient(125deg,#193f39,#172b36)}.metric small{font-size:.7rem;color:#bccbd5;letter-spacing:.04em;font-weight:750}.metric>div:nth-child(2){margin:13px 0 14px}.metric strong{font-size:2.1rem;letter-spacing:-.06em;font-weight:900;color:var(--green)}.metric:not(.metric-cal) strong{color:var(--blue)}.metric span{color:var(--muted);font-size:.82rem}.meter{height:7px;border-radius:99px;background:#304c48;margin-bottom:9px;overflow:hidden}.meter span{height:100%;display:block;width:0;background:var(--green);border-radius:99px;transition:width .2s}.meter.blue{background:#2c4058}.meter.blue span{background:var(--blue)}.chat-card{background:#121e2c;border:1px solid #2b3f51;border-radius:22px;overflow:hidden}.chat-head{padding:16px 20px;border-bottom:1px solid #293f52;display:flex;align-items:center;gap:11px}.coach-avatar{height:43px;width:43px;border-radius:15px;font-size:1.1rem}.chat-head strong,.chat-head small{display:block}.chat-head small{margin-top:3px;color:var(--muted);font-size:.73rem}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:3px}.mode-chip{margin-left:auto;border-radius:20px;padding:6px 9px;font-size:.66rem;font-weight:800;color:#afdbd1;background:#1b3e3a;white-space:nowrap}.messages{min-height:270px;max-height:425px;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:13px;overscroll-behavior:contain}.bubble{max-width:86%;padding:13px 16px;border-radius:17px;white-space:pre-wrap;line-height:1.55;font-size:.89rem;overflow-wrap:anywhere}.bubble.coach{align-self:flex-start;background:#203146;color:#ecf5fa;border-bottom-left-radius:4px}.bubble.you{align-self:flex-end;background:#234d42;border-bottom-right-radius:4px}.bubble small{display:block;color:#aec1ca;font-size:.65rem;margin-top:8px}.suggestions{display:flex;gap:7px;overflow-x:auto;padding:10px 16px 13px;scrollbar-width:none}.suggestions button{white-space:nowrap;padding:8px 10px;background:#1c2f3f;border:1px solid #335067;border-radius:99px;color:#d5e4ef;font-size:.76rem}.chat-compose{display:flex;gap:9px;align-items:center;padding:13px 15px 10px;border-top:1px solid var(--border)}.chat-compose input{border:1px solid #354a59;border-radius:12px;background:#101e2d;color:#f5fcff;padding:13px 12px;min-width:0;flex:1;outline:none}.mic,.send{width:44px;height:44px;border:1px solid var(--border);border-radius:13px;flex:none;font-size:1.1rem;color:#f2f7fb;background:#1e3346}.mic.listening{background:#a12e48;animation:pulse 1s infinite}.send{background:var(--green);color:#092925;border-color:var(--green)}@keyframes pulse{50%{box-shadow:0 0 0 8px #a12e482a}}.chat-foot{display:flex;justify-content:space-between;gap:10px;padding:0 17px 14px;color:var(--muted);font-size:.67rem}.speak-label{display:flex;align-items:center;gap:6px;white-space:nowrap}.speak-label input{accent-color:var(--green)}.transparency{padding:17px 6px 0}.transparency strong{color:#adbdc9;font-size:.75rem}.transparency p{margin:4px 0;font-size:.72rem;color:#90a5b8}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(770px,100%);display:grid;grid-template-columns:repeat(3,1fr);background:#101b28f5;backdrop-filter:blur(15px);border:1px solid #284251;border-bottom:0;border-radius:20px 20px 0 0;padding:8px 12px max(9px,env(safe-area-inset-bottom));z-index:4}.bottom-nav button{background:transparent;border:0;color:#a1b3c3;font-size:1.55rem;padding:5px;border-radius:13px}.bottom-nav span{font-size:.68rem;display:block;margin-top:2px}.bottom-nav button.selected{color:var(--green);background:#1c3b36}.page-head{padding:30px 0 20px}.page-head p{color:var(--muted);margin:10px 0 0}.day-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:16px}.stat{background:#152536;border:1px solid var(--border);border-radius:16px;padding:16px}.stat small{display:block;color:var(--muted);font-size:.72rem}.stat strong{font-size:1.65rem;display:inline-block;margin-top:8px;letter-spacing:-.045em}.stat span{color:var(--muted);font-size:.8rem;margin-left:4px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.soft-btn{background:#1d3242;border:1px solid #355569;border-radius:11px;color:#e0eafa;padding:9px 12px;font-weight:750;font-size:.8rem}.destructive{color:#ffb1b1;border-color:#8b4545}.record-list{display:grid;gap:9px;margin-top:13px}.record{background:#102131;border:1px solid #314353;border-radius:12px;padding:12px;display:flex;justify-content:space-between;gap:13px;align-items:center}.record strong{display:block;font-size:.87rem}.record small{font-size:.74rem;color:var(--muted);display:block;margin-top:3px}.record .remove{background:transparent;color:#ffb3b3;border:0;padding:8px}.weightrow{display:flex;align-items:end;gap:12px;margin-top:18px}.weightrow label{flex:1}.big-target{margin:12px 0 16px}.big-target b{color:var(--green);font-size:2.65rem;letter-spacing:-.05em}.big-target span{color:var(--muted)}.target-macros{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:15px}.target-macros span,.tag{padding:8px 10px;border-radius:10px;background:#203546;border:1px solid #345064;font-size:.79rem}.tag{font-size:.68rem}.profile-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-summary>div{padding:12px;background:#112333;border-radius:10px}.profile-summary small{display:block;color:var(--muted);font-size:.7rem}.profile-summary strong{display:block;margin-top:4px}.whoop-summary{margin:15px 0;padding:12px;border:1px solid var(--border);border-radius:11px;color:#b8d4e1;background:#122837;line-height:1.5;font-size:.83rem}.actionrow{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.tracker-link{display:block;text-align:center;border:1px solid #355666;padding:15px;border-radius:13px;text-decoration:none;font-weight:800;margin-top:16px}.copyright{text-align:center;font-size:.71rem;color:#7f93a5;margin:0 auto 25px;max-width:660px}.toast{position:fixed;z-index:8;bottom:85px;left:50%;transform:translate(-50%,15px);padding:11px 15px;max-width:90vw;background:#defeea;border-radius:12px;color:#12382c;opacity:0;transition:.2s;pointer-events:none;font-weight:700;font-size:.82rem;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:600px){.app{padding:0 14px}.top{height:73px}.brand strong{font-size:.89rem}.brand small{font-size:.66rem}.welcome{margin:28px 0 16px}.welcome-copy{font-size:.97rem}.setup-card,.section-panel{padding:17px;border-radius:17px}.profile-greeting{padding:25px 2px 19px}.profile-greeting h1{font-size:1.8rem}.metric{padding:15px}.metric strong{font-size:1.85rem}.chat-head{padding:12px}.chat-head small{font-size:.68rem}.mode-chip{font-size:.62rem}.messages{max-height:min(47vh,420px);min-height:250px}.chat-foot{flex-direction:column}.bubble{max-width:93%}}@media(max-width:385px){.formgrid{grid-template-columns:1fr}.formgrid .span2{grid-column:auto}.summary-cards{gap:9px}.metric strong{font-size:1.65rem}.brand .dim{display:none}}

.consent-row{display:flex;gap:12px;align-items:flex-start;background:#122a32;border:1px solid #2c534b;border-radius:12px;margin:17px 0 12px;padding:13px;color:#d4e9e0;font-size:.82rem;line-height:1.5}.consent-row input{width:19px;height:19px;margin:1px 0 0;accent-color:var(--green);flex-shrink:0}.consent-row small{display:block;color:#a1c6b9;font-size:.73rem;margin-top:4px}

.advanced{margin:16px 0;color:#d9e8f1}.advanced summary{cursor:pointer;padding:10px 0;font-size:.82rem;font-weight:800}.advanced label{display:block;margin:10px 0;font-size:.79rem}.advanced input{display:block;width:100%;padding:12px;color:#f3f7ff;background:#101e2a;border:1px solid #365465;border-radius:10px;margin-top:6px}

/* Coach Fatso — conversation-first voice panel */
.voice-first{margin:14px 0 22px;padding:26px 20px 22px;border:1px solid rgba(103,231,173,.34);border-radius:26px;background:radial-gradient(circle at 50% 0%,rgba(60,223,166,.18),transparent 68%),linear-gradient(170deg,#162d32,#131e2b);text-align:center;box-shadow:0 16px 40px rgba(0,0,0,.17)}
.voice-hint{font-size:11px;letter-spacing:.2em;color:#78dfb3;font-weight:800}
.voice-face{width:132px;height:132px;border-radius:46px;background:linear-gradient(140deg,#87f3a4,#39b4ac);display:grid;place-items:center;margin:21px auto 18px;position:relative;box-shadow:0 0 0 12px rgba(89,225,175,.05),0 14px 36px rgba(42,190,144,.16)}
.voice-face span{color:#0e2a30;font-size:45px;font-weight:900;letter-spacing:-.08em}
.voice-face i{display:none;position:absolute;inset:-8px;border:2px solid rgba(99,234,181,.6);border-radius:55px;animation:fatso-pulse 2.4s ease-out infinite}
.voice-face i:nth-child(3){animation-delay:.8s}.voice-face i:nth-child(4){animation-delay:1.6s}
.voice-first.active .voice-face i{display:block}
@keyframes fatso-pulse{from{opacity:.8;transform:scale(.98)}to{opacity:0;transform:scale(1.35)}}
.voice-first h2{font-size:clamp(23px,5.5vw,30px);color:#f6faf8;margin:0 0 8px;letter-spacing:-.03em}
.voice-subtitle{max-width:400px;margin:0 auto 14px;color:#b6c5ce;line-height:1.55;font-size:15px}
.voice-state{font-weight:700;color:#80e6af;padding:7px 0 15px;min-height:45px}
.voice-action{appearance:none;border:0;width:100%;min-height:59px;max-width:420px;border-radius:17px;background:linear-gradient(115deg,#84ed9f,#50cfae);font-size:17px;font-weight:850;color:#10332d;cursor:pointer;box-shadow:0 10px 28px rgba(68,214,150,.14)}
.voice-action:disabled{opacity:.7;cursor:wait}
.voice-controls{display:flex;gap:12px;justify-content:center;margin:10px auto 0;max-width:420px}
.voice-controls.hidden{display:none}
.voice-controls button{flex:1;background:#223444;border:1px solid #486072;border-radius:15px;color:#f5f9fb;padding:15px 8px;font-size:15px;font-weight:700}
.voice-controls #voice-end{background:#54303a;border-color:#97505f}
.voice-note{color:#8ba1ae;font-size:12px;line-height:1.5;max-width:400px;margin:14px auto 0}
.voice-captions{margin-top:16px;text-align:left;font-size:14px;color:#c4d8e3;line-height:1.55;max-height:185px;overflow:auto}
.voice-captions:not(:empty){background:rgba(0,0,0,.15);padding:12px 14px;border-radius:14px}
.voice-captions .voice-caption{padding:4px 0}.voice-captions b{color:#8de5c1}
.chat-foot{gap:12px;flex-wrap:wrap}
@media(max-width:420px){.voice-first{padding:24px 16px 18px;margin:12px 0 16px}.voice-face{width:110px;height:110px}.voice-face span{font-size:39px}}

.voice-consent{display:flex;align-items:flex-start;text-align:left;gap:12px;max-width:420px;margin:4px auto 14px;padding:11px 13px;border:1px solid #355363;border-radius:12px;background:#182934;color:#bcd1d8;font-size:12px;line-height:1.4}.voice-consent input{accent-color:#7de8af;width:20px;height:20px;flex-shrink:0;margin:0;cursor:pointer}

/* iOS PWA installation instructions */
.install-overlay{position:fixed;inset:0;z-index:100;background:rgba(4,11,20,.78);display:flex;align-items:center;justify-content:center;padding:18px;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));backdrop-filter:blur(8px)}
.install-overlay.hidden{display:none!important}
.install-card{position:relative;width:min(100%,440px);max-height:calc(100dvh - 36px);overflow-y:auto;border:1px solid #3b5964;border-radius:23px;padding:28px 23px 22px;background:linear-gradient(150deg,#1d3440,#101c2b);box-shadow:0 20px 65px #0008}
.install-card h2{font-size:1.65rem;line-height:1.15;margin:8px 24px 12px 0}
.install-card .muted{font-size:.9rem;margin-bottom:20px}
.install-close{position:absolute;top:12px;right:13px;border:1px solid #486273;background:#223b4b;color:#f4fbff;border-radius:11px;min-height:39px;min-width:39px;font-size:1.65rem;line-height:1}
.install-symbol{width:44px;height:44px;border:1px solid #5c9f88;background:#23483d;border-radius:14px;color:#97f3be;display:grid;place-items:center;font-size:27px;margin-bottom:13px}
.install-steps{display:grid;gap:13px;list-style:none;padding:0;margin:17px 0 21px}
.install-steps li{display:flex;align-items:flex-start;gap:12px;font-size:.92rem;line-height:1.55}
.install-step-number{flex:none;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#23483d;border:1px solid #488a71;color:#9befb9;font-size:.81rem;font-weight:800}
.share-icon{display:inline-block;border:1px solid #6b9db5;border-radius:5px;font-size:1.2rem;line-height:1;padding:3px 6px;color:#b3e0fd;vertical-align:middle}
.install-card .fine{margin:12px 0;color:#a3bbc8}
@media(max-width:380px){.install-card{padding:22px 17px 18px}.install-card h2{font-size:1.4rem}}

/* =========================================================
   Coach Fatso / Obsidian — design system v2
   Original controls and user-data format remain intact.
   ========================================================= */
:root {
  color-scheme:dark;
  --bg:#0e1015; --panel:#191c24; --panel2:#202530;
  --border:#363b47; --text:#f4f3f0; --muted:#a9adb7;
  --green:#dac098; --blue:#94b6e7; --gold:#dac098;
  --cf-gold:#dac098; --cf-soft:#e9dbc5; --cf-slate:#9daac1;
}
html {scroll-behavior:smooth; background:#0e1015}
body {
  background:radial-gradient(ellipse at 80% -3%,rgba(95,112,137,.15),transparent 44%),
             linear-gradient(180deg,#12161c 0%,#0e1015 45%,#101217 100%) !important;
  color:var(--text); min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
body, button, input, textarea, select {font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,strong {font-feature-settings:"ss01" on}
a {color:#e8ca9d} a:hover {color:#f8e5c9}
.app {max-width:1200px;padding:0 30px}
.shell {max-width:920px}
.top {height:88px;border-bottom:1px solid rgba(203,205,213,.11)}
.brand {gap:13px}
.brand strong {font-weight:850;letter-spacing:.13em;font-size:.93rem}
.brand small {font-size:.62rem;letter-spacing:.135em;font-weight:700;color:#abb0bb;margin-top:6px}
.logo,.hero-mark,.coach-avatar,.mini-robot,.voice-face {
  background:transparent;color:var(--text);box-shadow:none;
}
.logo {width:48px;height:48px;border-radius:15px;overflow:hidden}
.logo img,.hero-mark img,.coach-avatar img,.mini-robot img,.voice-face img {display:block;width:100%;height:100%;object-fit:contain}
.iconbutton {background:#20232a;border:1px solid #383d49;color:#d2d5dd;border-radius:15px}
.iconbutton:hover,.soft-btn:hover {background:#303540}
.overline {color:#d7b785!important;font-weight:800;letter-spacing:.19em!important;font-size:.68rem!important}
.welcome {max-width:720px;margin:57px auto 25px}
.hero-mark {width:82px;height:82px;border-radius:24px;margin-bottom:25px;overflow:hidden}
.welcome h1 {font-size:clamp(2.55rem,5.8vw,4.55rem);line-height:1.04;letter-spacing:-.073em;margin:10px 0 20px;color:#f6f4ee}
.welcome h1 em {color:#d9be91;font-style:normal}
.welcome-copy {max-width:620px;color:#bfc2c9;font-size:1.02rem;line-height:1.8;margin:0 0 19px}
.welcome-pills {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.welcome-pills span {display:inline-flex;padding:9px 13px;background:#242830;border:1px solid #383d46;border-radius:999px;color:#d0d2d7;font-size:.76rem;font-weight:650}
.setup-card,.section-panel,.chat-card,.metric,.stat {
  background:#1b1e26;border:1px solid rgba(189,194,207,.13);
  box-shadow:0 16px 42px rgba(0,0,0,.11);
}
.setup-card {border-radius:25px;padding:31px}
.section-panel {border-radius:22px;padding:27px}
.lineheading {margin-bottom:22px}
.lineheading>span {background:#3b332a;color:#efce99;border:1px solid #57472f;border-radius:10px}
.lineheading strong {color:#f1f0ed}
.lineheading small {color:#aeb2bd}
.formgrid input,.formgrid select,.weightrow input,.advanced input,
.chat-compose input,textarea {
  background:#11151d!important;color:#f7f7f6!important;border:1px solid #414652!important;
  border-radius:13px!important;
}
.formgrid label,.weightrow label {color:#dcdee3}
input::placeholder,textarea::placeholder {color:#808998}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:2px solid #e7c69b;outline-offset:3px}
input:focus,select:focus,textarea:focus {border-color:#d6b98a!important}
.primary,.voice-action,.send {
  color:#241b12!important;background:linear-gradient(130deg,#f0d6ae,#c69c66)!important;
  border:1px solid #e6bf8a!important;box-shadow:0 9px 25px rgba(188,139,76,.14);
  font-weight:850;border-radius:13px;
}
.primary:hover,.voice-action:hover,.send:hover {filter:brightness(1.06)}
.soft-btn,.mic,.tag,.target-macros span {background:#282c36;border:1px solid #414651;color:#edeef1}
.soft-btn {border-radius:13px;padding:11px 14px}
.mic,.send {border-radius:12px}
.consent-row {background:#23272c;border:1px solid #454449;color:#e3e1df}
.consent-row small {color:#b1b7c0}
.consent-row input,.speak-label input,.voice-consent input {accent-color:#d3af7d}
/* Daily coach / dashboard */
.page-head {padding-top:34px}
.page-head h1,.profile-greeting h1 {color:#f7f5f1}
.profile-greeting {padding-top:34px}
.mini-robot {width:58px;height:58px;border-radius:18px;overflow:hidden}
.summary-cards {gap:14px}
.metric {border-radius:20px;padding:23px}
.metric-cal {background:linear-gradient(145deg,#252731,#1b1e26)}
.metric strong,.big-target b,.meter.blue+small {color:#e8cb9f!important}
.metric:not(.metric-cal) strong {color:#b2c8e6!important}
.meter {background:#424047} .meter span {background:linear-gradient(90deg,#a67d50,#efd1a1)}
.meter.blue span {background:linear-gradient(90deg,#6d8eaf,#a8c9e8)}
.chat-card {border-radius:22px;overflow:hidden}
.chat-head {background:#20242c;border-bottom:1px solid #323743}
.coach-avatar {width:43px;height:43px;border-radius:12px;overflow:hidden}
.mode-chip {background:#38352f!important;color:#e3c59c!important;border-color:#6d5a44!important}
.bubble.coach {background:#2a2d35;border-color:#414550;color:#ebeef3}
.bubble.you {background:#35302a;border-color:#67543a;color:#f3e4ce}
.chat-compose {background:#1b1e26;border-top:1px solid #343944}
.chat-foot,.transparency {color:#9ca5b2}
.stat {border-radius:17px}
.stat strong {color:#f3eee6}
.record {background:#232630;border:1px solid #393f49}
.profile-summary>div {background:#242831}
.whoop-summary {background:#22262d;border-color:#424750;color:#d4d9e0}
/* Voice: calm, elevated, not a large green promo */
.voice-first {
  background:radial-gradient(ellipse at 50% -20%,rgba(173,142,102,.17),transparent 60%),
             linear-gradient(155deg,#25262d,#171c25 92%);
  border:1px solid #4d4640;border-radius:27px;
  box-shadow:0 16px 60px rgba(0,0,0,.23);padding:30px 22px 26px;
}
.voice-hint {color:#dfbe94}
.voice-face {width:115px;height:115px;border-radius:28px;margin:22px auto 14px;overflow:visible}
.voice-face img {border-radius:29px}
.voice-face span {display:block;width:100%;height:100%}
.voice-face i {border-color:rgba(224,188,142,.34)}
.voice-first h2 {color:#f8f4ed}
.voice-subtitle {color:#aab3c1}
.voice-state {color:#e1c29a}
.voice-controls button {background:#282d36;border-color:#454d57;color:#f0f0f1}
.voice-consent {background:#222731;border-color:#454950;color:#d1d2d7}
.voice-note {color:#aab0ba}
.voice-captions:not(:empty) {background:#181b23}
.voice-captions b {color:#e3c295}
/* Persistent tab bar, iOS safe areas */
.bottom-nav {width:min(920px,100%);background:rgba(25,27,34,.96);border-color:#3a3f49;
  border-radius:23px 23px 0 0;box-shadow:0 -12px 42px rgba(0,0,0,.3);
  padding-bottom:max(11px,env(safe-area-inset-bottom));z-index:10;
}
.bottom-nav button {color:#aeb4c1}
.bottom-nav button.selected {color:#f0d0a6;background:#37312c}
.bottom-nav button:focus-visible {outline:2px solid #eac89a}
.tracker-link {background:#252a32;border-color:#434954;color:#e3c69c}
.copyright {color:#9198a4;margin-top:30px;padding-bottom:8px}
.install-overlay {background:rgba(5,7,11,.85)}
.install-card {background:linear-gradient(160deg,#292d35,#151920);border:1px solid #52505a}
.install-symbol,.install-step-number {background:#3e3327;color:#efd0a4;border-color:#826544}
.install-close {background:#2f333a;border-color:#555967}
.share-icon {color:#aed0ff}
.toast {background:#eacfa5;color:#302417}
@media (max-width:600px) {
  .app {padding:0 17px}
  .top {height:74px}
  .logo {width:43px;height:43px}
  .brand strong {font-size:.82rem}
  .brand small {font-size:.55rem;letter-spacing:.08em}
  .welcome {margin:28px auto 20px}
  .welcome h1 {font-size:2.55rem}
  .welcome-copy {font-size:.96rem;line-height:1.7}
  .welcome-pills {gap:7px;margin-bottom:24px}
  .welcome-pills span {font-size:.67rem;padding:8px 10px}
  .setup-card,.section-panel {padding:19px;border-radius:19px}
  .voice-first {padding:22px 15px 21px;border-radius:23px}
  .voice-face {width:103px;height:103px}
  .bottom-nav {border-radius:18px 18px 0 0}
  .copyright {margin-bottom:95px}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

.welcome-install {margin:0 0 22px;border:1px solid #816849;background:#352f2a;color:#f6dcaf;padding:12px 16px;font-size:.87rem}
.welcome-install:hover {background:#44392d}

/* Opening experience */
.launch-splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:radial-gradient(circle at 50% 35%,#283139,#0c0e12 72%);transition:opacity .45s ease,visibility .45s ease}.launch-splash.dismissed{opacity:0;visibility:hidden;pointer-events:none}.launch-splash img{width:120px;height:120px;object-fit:contain;animation:splash-pop 1.3s ease both;filter:drop-shadow(0 12px 25px #d9be9129)}.launch-splash strong{font-size:1.45rem;letter-spacing:.16em;color:#f5ecdf}.launch-splash span{font-size:.7rem;letter-spacing:.23em;color:#c7ad80}.splash-progress{height:2px;width:130px;background:#292d33;overflow:hidden;border-radius:4px;margin-top:10px}.splash-progress:after{content:'';display:block;height:100%;background:#d9be91;animation:splash-load 1.5s ease-in-out both}.journey-button{padding:17px 28px;margin:4px 0 35px;background:#d9be91;border-color:#d9be91;color:#161718;font-size:1rem;border-radius:15px}.journey-button:hover{background:#f1ddb2}.welcome.is-setting-up .welcome-pills,.welcome.is-setting-up .welcome-copy,.welcome.is-setting-up .welcome-install,.welcome.is-setting-up #begin-journey{display:none}.welcome.is-setting-up .setup-card{margin-top:25px}@keyframes splash-pop{0%{transform:scale(.75);opacity:.25}75%{transform:scale(1.055);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes splash-load{from{width:0}to{width:100%}}@media(prefers-reduced-motion:reduce){.launch-splash img,.splash-progress:after{animation:none}.launch-splash{transition:none}}

/* Coach Fatso private feedback */
.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));}
.feedback-panel{max-width:650px;margin-left:auto;margin-right:auto;}
.feedback-fieldset{border:0;margin:0 0 24px;padding:0;min-width:0;}
.feedback-fieldset legend,.feedback-label{font-size:.85rem;color:#e9f2f8;font-weight:800;display:block;margin-bottom:10px;}
.feedback-types{display:grid;gap:9px;}
.feedback-type{display:block;cursor:pointer;}
.feedback-type input{position:absolute;opacity:0;width:1px;height:1px;}
.feedback-type span{display:flex;align-items:center;gap:11px;width:100%;border:1px solid #355064;background:#102333;color:#dcebf5;border-radius:14px;padding:14px 15px;font-size:.9rem;font-weight:720;transition:background .15s,border-color .15s;}
.feedback-type b{font-size:1.2rem;min-width:23px;text-align:center;font-weight:800;color:var(--gold);}
.feedback-type input:checked+span{border-color:#82e6ae;background:#1e403b;color:#fff;box-shadow:inset 0 0 0 1px #82e6ae55;}
.feedback-type input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px;}
.feedback-panel textarea,.feedback-panel input[type=email]{display:block;width:100%;background:#0c1825;border:1px solid #354657;color:#f4f8ff;border-radius:12px;padding:13px;line-height:1.5;font:inherit;outline:0;}
.feedback-panel textarea{min-height:145px;resize:vertical;}
.feedback-panel textarea:focus,.feedback-panel input[type=email]:focus{border-color:var(--green);}
.feedback-panel input[type=email]{margin-bottom:17px;min-height:47px;}
.feedback-required{color:#e6bb78;}.feedback-optional{font-size:.75rem;font-weight:400;color:var(--muted);}
.feedback-detail{font-size:.75rem;color:var(--muted);margin:7px 0 25px;line-height:1.5;}
.feedback-privacy{color:#b0c5d4;font-size:.76rem;line-height:1.6;margin:8px 0 15px;background:#112937;border-radius:12px;padding:13px;}
.feedback-status{margin:13px 0 0;color:#d5e6f5;font-size:.85rem;line-height:1.5;}
.feedback-status:empty{display:none;}.feedback-status.success{color:#93efbc;}.feedback-status.error{color:#ffb6ad;}
.feedback-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.feedback-promo h2{margin:0 0 7px}.feedback-promo button{margin-top:4px;}
@media(max-width:420px){.bottom-nav{padding-left:5px;padding-right:5px}.bottom-nav button{font-size:1.35rem}.bottom-nav span{font-size:.65rem}.feedback-panel{padding:18px;}}


/* Respect HTML's hidden state on all browsers, including install/feedback actions. */
[hidden]{display:none!important}
