:root{
  --char:#2A2A2A;--char-dark:#1A1A1A;--char-mid:#3A3A3A;
  --gold:#FF6B1F;--gold-dk:#D4470F;
  --deep:#0A5F55;--rem:#0E8C7C;--light:#7CC8BC;
  --mono:'Inter',system-ui,sans-serif;--body:'Inter',system-ui,sans-serif;--serif:'Inter',system-ui,sans-serif;
  --hdr:56px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#141414;--sur:#1E1E1E;--sur2:#282828;
  --bdr:#363636;--text:#F2EFE8;--t2:#B8B3A9;--t3:#8C877E;
  --gold-l:#33190C;--gold-dk:#FF8A4C;--chrome:#1A1A1A;--chrome-fg:#fff;--chrome-dim:rgba(255,255,255,.65);--chrome-bdr:rgba(255,255,255,.08);--hero-bg:linear-gradient(145deg,#2A2A2A,#1E1E1E);--hero-fg:#fff;--hero-dim:rgba(255,255,255,.6);--hero-chip:rgba(255,255,255,.08);--ring-trk:rgba(255,107,31,.12);
  --green:#3DBE7A;--green-l:#10261A;
  --amber:#EAB308;--amber-l:#2B2610;
  --red:#F0705F;--red-l:#2C1613;
  --teal:#2FC4AE;--teal-l:#0F2A27;--deep:#1E8F80;--rem:#2FC4AE;--light:#8FE0D3;
  --sh:0 2px 12px rgba(0,0,0,.5);color-scheme:dark;
}}
:root[data-theme="dark"]{
  --gold-dk:#FF8A4C;--chrome-fg:#fff;--chrome-dim:rgba(255,255,255,.65);--hero-fg:#fff;--hero-dim:rgba(255,255,255,.6);
  --green:#3DBE7A;--green-l:#10261A;
  --amber:#EAB308;--amber-l:#2B2610;
  --red:#F0705F;--red-l:#2C1613;
  --teal:#2FC4AE;--teal-l:#0F2A27;--deep:#1E8F80;--rem:#2FC4AE;--light:#8FE0D3;
  color-scheme:dark;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;overflow:hidden;}
body{background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;overscroll-behavior:none;}

/* SPLASH */
#splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;transition:opacity 0.5s;}
#splash.gone{opacity:0;pointer-events:none;}
.sp-mark{width:72px;height:72px;margin-bottom:12px;}
.sp-logo{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:42px;color:#fff;}
.sp-sub{font-family:var(--mono);font-size:10px;color:rgba(255,107,31,0.85);letter-spacing:4px;margin-top:4px;}
.sp-bar{width:52px;height:2px;background:rgba(255,107,31,0.2);border-radius:1px;margin-top:44px;overflow:hidden;}
.sp-fill{height:100%;background:var(--gold);animation:spLoad 2s ease-out forwards;}
@keyframes spLoad{from{width:0}to{width:100%}}

#offlineBar{display:none;background:var(--amber);color:#1A1916;text-align:center;padding:6px;font-size:12px;font-family:var(--mono);font-weight:500;}
#offlineBar.show{display:block;}

.hdr{position:fixed;top:0;left:0;right:0;height:var(--hdr);display:flex;align-items:center;padding:0 16px;z-index:100;}
.hdr-brand{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;}
.hdr-mark{width:30px;height:30px;flex:none;}
.hdr-logo{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:21px;line-height:1.1;}
.hdr-sub{font-family:var(--mono);margin-top:1px;}
.hdr-sync{font-family:var(--mono);cursor:pointer;}

.nav{position:fixed;display:flex;align-items:center;z-index:100;padding-bottom:env(safe-area-inset-bottom);}
.nav-item{display:flex;flex-direction:column;align-items:center;cursor:pointer;min-width:52px;}
.nav-icon{width:24px;height:24px;transition:transform 0.15s,color 0.15s;}
.nav-label{font-family:var(--mono);}

.pages{position:fixed;top:var(--hdr);left:0;right:0;overflow:hidden;}
.page{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:none;padding:16px 16px 28px;}
.page.active{display:block;}
.page-fade{animation:pgFade 0.15s ease-out;}
@keyframes pgFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

.sec{font-family:var(--mono);margin-bottom:10px;}

/* HERO */

.ring-fill{fill:none;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(0.4,0,0.2,1);stroke:url(#goldGrad);}

.ring-num{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:38px;line-height:1;}
.ring-lbl{font-family:var(--mono);font-size:9px;margin-top:2px;}

/* STATUS BARS */

.ins-nudge{gap:10px;cursor:pointer;}

/* CHECKIN */

.ci-card.done{border-color:rgba(26,107,58,0.2);}
.ci-sum{font-family:var(--mono);font-size:12px;color:var(--green);margin-top:10px;padding:8px 10px;background:rgba(26,107,58,0.08);border-radius:6px;display:none;line-height:1.7;}
.ci-sum.show{display:block;}
.ci-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.ci-metric{font-family:var(--mono);width:92px;flex-shrink:0;}
.ci-btns{display:flex;gap:4px;flex:1;}
.ci-btn{flex:1;min-height:44px;border:1px solid var(--bdr);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.12s;}
.ci-btn:active{transform:scale(0.95);}

.ci-cta{width:100%;margin-top:14px;padding:13px;background:var(--gold);color:var(--char);font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;}
.ci-cta:disabled{opacity:0.7;cursor:default;}

/* PASSIVE */

/* ACTIVITY */
.act-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--bdr);}
.act-item:last-child{border-bottom:none;}
.act-icon{display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}

.act-name{font-weight:600;font-size:14px;}
.act-meta{font-family:var(--mono);font-size:11px;color:var(--t2);margin-top:2px;}
.act-notes{font-size:11px;color:var(--t3);font-style:italic;margin-top:3px;}

.empty-state{text-align:center;padding:20px 16px;}
.empty-icon{font-size:28px;margin-bottom:8px;}
.empty-title{font-size:14px;font-weight:600;margin-bottom:4px;}
.empty-sub{font-size:12px;color:var(--t2);line-height:1.5;margin-bottom:12px;}
.empty-btn{font-family:var(--mono);font-size:11px;cursor:pointer;}

/* WELLBEING */

.sleep-stages{display:flex;gap:6px;margin-top:10px;}
.stage-chip{flex:1;background:var(--sur2);border-radius:8px;padding:8px;text-align:center;}
.stage-val{font-family:var(--mono);font-size:14px;font-weight:500;}
.stage-lbl{font-family:var(--mono);font-size:9px;color:var(--t3);letter-spacing:1px;}

/* WEIGHT TREND CHART */

.wt-goal-line{font-family:var(--mono);font-size:10px;color:var(--t3);margin-top:6px;text-align:right;}

/* CALENDAR */
.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cal-month{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:18px;}
.cal-btn{border:1px solid var(--bdr);background:var(--sur2);border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-dlbl{font-family:var(--mono);font-size:9px;color:var(--t3);text-align:center;padding:4px 0;}
.cal-day{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:500;transition:all 0.12s;position:relative;}
.cal-day.today{border:2px solid var(--gold);}
.cal-day.has-dot::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;}
.cal-day.good{background:var(--green-l);color:var(--green);}
.cal-day.good::after{background:var(--green);}
.cal-day.ok{background:var(--amber-l);color:var(--amber);}
.cal-day.ok::after{background:var(--amber);}
.cal-day.low{background:var(--red-l);color:var(--red);}
.cal-day.low::after{background:var(--red);}
.cal-day.empty{color:var(--t3);}
.cal-day:active{transform:scale(0.92);}

.day-panel{background:var(--char);border-radius:12px;padding:16px;color:white;margin-bottom:12px;display:none;}
.day-panel.open{display:block;}
.day-ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.day-pt{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:18px;color:var(--gold);}
.day-pc{background:none;border:none;color:rgba(255,255,255,0.4);font-size:20px;cursor:pointer;}
.day-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
.day-row:last-child{border-bottom:none;}
.day-lbl{font-size:12px;color:rgba(255,255,255,0.7);}
.day-val{font-family:var(--mono);font-size:13px;}

/* LOG */

.log-hdr{display:flex;align-items:center;gap:12px;cursor:pointer;}
.log-hdr:active{background:var(--sur2);}

.log-title{font-weight:600;flex:1;}
.log-stat{color:var(--t2);}
.log-chev{color:var(--t3);transition:transform 0.2s;}

.log-body{display:none;padding:0 16px 16px;}
.log-sec.open .log-body{display:block;}

.fg{margin-bottom:12px;}
.fl{font-family:var(--mono);}
.fh{font-size:11px;color:var(--t3);margin-top:3px;}
.fr{display:flex;gap:8px;align-items:center;}
.inp{width:100%;border:1px solid var(--bdr);font-family:var(--body);color:var(--text);outline:none;transition:border-color 0.15s;}

.inp-unit{font-family:var(--mono);color:var(--t3);flex-shrink:0;}
.sel-inp{width:100%;border:1px solid var(--bdr);font-family:var(--body);color:var(--text);outline:none;appearance:none;}

.ex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;}
.ex-btn{cursor:pointer;text-align:center;transition:all 0.12s;}
.ex-btn:active{transform:scale(0.95);}

.ex-ico{font-size:20px;margin-bottom:4px;}
.ex-nm{font-weight:500;}

.hist-box{margin-bottom:10px;}
.hist-ttl{font-family:var(--mono);font-size:9px;color:var(--t3);letter-spacing:1px;margin-bottom:6px;}
.hist-row{display:flex;justify-content:space-between;padding:3px 0;font-size:12px;}
.hist-val{font-family:var(--mono);font-size:12px;color:var(--t2);}

/* INJURY LOG */
.inj-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bdr);}
.inj-item:last-child{border-bottom:none;}
.inj-sev{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;}
.inj-sev.s1{background:var(--amber-l);color:var(--amber);}
.inj-sev.s2{background:rgba(255,107,31,0.15);color:var(--gold-dk);}
.inj-sev.s3{background:var(--red-l);color:var(--red);}
.inj-body{flex:1;}
.inj-name{font-size:13px;font-weight:600;}
.inj-date{font-family:var(--mono);font-size:10px;color:var(--t3);}

/* BLOOD MARKER SPARKLINES */
.bm-spark{display:flex;gap:2px;align-items:flex-end;height:20px;margin-top:4px;}
.bm-spark-bar{flex:1;border-radius:1px 1px 0 0;}

.btn-gold{width:100%;padding:13px;background:var(--gold);font-family:var(--body);border:none;cursor:pointer;margin-top:12px;}

.btn-muted{width:100%;padding:10px;background:var(--sur2);color:var(--t2);font-family:var(--body);font-size:13px;border:1px solid var(--bdr);cursor:pointer;margin-top:8px;}

.bm-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--bdr);}
.bm-row:last-child{border-bottom:none;}
.bm-name{font-size:13px;font-weight:500;}
.bm-unit{font-size:11px;color:var(--t3);}
.bm-right{display:flex;align-items:center;gap:6px;}
.bm-ring{position:relative;width:32px;height:32px;}
.bm-ring svg{transform:rotate(-90deg);}
.bm-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;font-weight:500;}
.bm-badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600;}
.bm-badge.ok{background:var(--green-l);color:var(--green);}
.bm-badge.warn{background:var(--amber-l);color:var(--amber);}
.bm-badge.bad{background:var(--red-l);color:var(--red);}

/* INSIGHTS */

.ins-bt{margin-bottom:8px;}
.ins-text{font-size:13px;color:var(--text);line-height:1.6;}
.ins-arch{display:inline-flex;align-items:center;gap:6px;background:var(--gold-l);border:1px solid rgba(255,107,31,0.25);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--gold-dk);margin-bottom:10px;}
.ins-gen{width:100%;padding:13px;font-family:var(--body);font-size:14px;font-weight:600;cursor:pointer;margin-top:4px;}
.ins-loading{text-align:center;padding:32px;color:var(--t3);}

.arch-trend-lbl{font-size:10px;color:var(--t3);margin-bottom:4px;}
.arch-trend-val{font-size:13px;color:var(--text);}
.ins-hi{margin-bottom:8px;overflow:hidden;cursor:pointer;}
.ins-hi-hdr{display:flex;align-items:center;gap:10px;padding:12px 14px;}
.ins-hi-date{font-size:11px;color:var(--t2);flex:1;}
.ins-hi-arch{font-size:11px;font-weight:600;color:var(--gold-dk);}
.ins-hi-prev{font-size:12px;color:var(--t2);padding:0 14px 12px;line-height:1.5;display:none;}
.ins-hi-prev.open{display:block;}
.ins-hi-body{display:none;padding:0 14px 14px;border-top:1px solid var(--bdr);margin-top:2px;}
.ins-hi-body.open{display:block;}
.ins-hi-sec{margin:10px 0 4px;}
.ins-hi-text{font-size:12px;color:var(--t2);line-height:1.6;}

/* SETTINGS */
.set-sec{margin-bottom:20px;}
.set-title{font-family:var(--mono);font-size:10px;color:var(--t3);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;}

.api-test-row{display:flex;gap:8px;align-items:center;margin-top:6px;}
.api-test-btn{background:var(--sur2);border:1px solid var(--bdr);color:var(--t2);font-family:var(--mono);font-size:11px;padding:6px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;}
.api-test-res{font-family:var(--mono);font-size:11px;flex:1;}
.api-test-res.ok{color:var(--green);}
.api-test-res.fail{color:var(--red);}

/* PERSIST INDICATOR */

@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}

#toast{position:fixed;bottom:calc(var(--nav) + 12px);left:50%;transform:translateX(-50%) translateY(10px);padding:10px 20px;border-radius:20px;font-size:13px;opacity:0;transition:all 0.25s;pointer-events:none;z-index:200;border:1px solid rgba(255,107,31,0.2);}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.modal-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:300;align-items:flex-end;}
.modal-ov.open{display:flex;}
.modal{background:var(--bg);border-radius:20px 20px 0 0;padding:24px 20px;width:100%;max-height:87vh;overflow-y:auto;}
.modal-title{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:20px;margin-bottom:16px;}
.modal-close{float:right;background:none;border:none;font-size:22px;color:var(--t3);cursor:pointer;margin-top:-4px;}

/* ── v7 additions ── */
#toast{white-space:normal;max-width:calc(100% - 32px);text-align:center;width:max-content;}
.hdr-sync{min-height:44px;padding:0 14px;}
.hdr-sub{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hdr-logo{min-height:28px;}
.ob-inp{width:100%;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.08);border-radius:8px;padding:12px 14px;font-family:var(--body);font-size:15px;color:white;outline:none;margin-bottom:10px;}
.ob-inp::placeholder{color:rgba(255,255,255,0.3);}
.ob-inp:focus{border-color:var(--gold);}

.welcome{margin-bottom:12px;}

.signin-ban{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px;}
.signin-ban b{font-size:13px;display:block;}
.signin-ban small{font-size:11px;color:var(--t2);display:block;line-height:1.4;}
.signin-ban.hidden{display:none;}

.ci-note{width:100%;border:1px solid var(--bdr);background:var(--bg);border-radius:8px;padding:12px;font-family:var(--body);font-size:14px;color:var(--text);outline:none;margin-top:4px;min-height:44px;}
.ci-note:focus{border-color:var(--gold);}
.mind-big{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:34px;line-height:1;color:var(--text);}
.mind-big small{font-family:var(--mono);font-size:11px;color:var(--t3);margin-left:6px;}
.chip-row{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap;}
.chip{flex:1;min-width:64px;min-height:44px;border:1px solid var(--bdr);font-family:var(--mono);font-size:12px;cursor:pointer;}
.chip:active{transform:scale(0.96);}

.mini-lbl{font-family:var(--mono);margin:10px 0 4px;}
.ex-grid.four{grid-template-columns:repeat(4,1fr);}

.legend{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap;}
.legend span{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--t2);}
.legend i{width:12px;height:3px;display:inline-block;border-radius:2px;}

.cal-btn{width:44px;height:44px;}
.day-del{background:none;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.6);border-radius:6px;font-size:11px;padding:6px 10px;cursor:pointer;margin-left:8px;}
.best-v{font-family:var(--mono);font-size:14px;color:var(--gold-dk);}

.modal-ov.z2{z-index:310;}
.acc-box{font-size:13px;line-height:1.5;}
.acc-box b{display:block;}
.set-note{font-size:11px;color:var(--t3);line-height:1.5;margin-top:4px;}
.btn-out{width:100%;padding:12px;font-family:var(--body);font-size:13px;cursor:pointer;margin-top:8px;}

#mindOv{position:fixed;inset:0;background:#1A1A1A;z-index:400;display:none;flex-direction:column;align-items:center;justify-content:center;color:white;}
#mindOv.show{display:flex;}
.mo-close{position:absolute;top:16px;right:16px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:22px;color:rgba(255,255,255,0.6);cursor:pointer;}
.mo-title{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:24px;color:var(--gold);margin-bottom:32px;}
.mo-orb{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFB36B,#FF6B1F 60%,#8F2A0A);animation:breathe 8s ease-in-out infinite;box-shadow:0 0 60px rgba(255,107,31,0.35);}
@keyframes breathe{0%,100%{transform:scale(0.55);opacity:0.7}50%{transform:scale(1);opacity:1}}
.mo-phase{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:22px;margin-top:36px;}
.mo-time{font-family:var(--mono);font-size:14px;color:rgba(255,255,255,0.7);margin-top:8px;}

/* strength logger */
.str-picks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.str-chip{min-height:44px;padding:6px 12px;border:1px solid var(--bdr);background:var(--sur);color:inherit;font-family:var(--body);font-size:13px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;cursor:pointer;}
.str-chip small{font-family:var(--mono);font-size:9px;color:var(--t3);letter-spacing:.06em;text-transform:uppercase;}
.str-chip.on{border-color:var(--gold);}
.str-card{background:var(--sur2);border-radius:12px;padding:12px;margin-bottom:12px;}
.str-h{display:flex;justify-content:space-between;align-items:flex-start;}
.str-nm{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:18px;}
.str-mu{font-family:var(--mono);font-size:9px;color:var(--t3);letter-spacing:.08em;}
.str-last{font-size:11px;color:var(--t2);margin:6px 0 8px;}
.set-h,.set-r{display:grid;grid-template-columns:16px minmax(0,1.2fr) minmax(0,1.2fr) 40px 48px 28px;gap:4px;align-items:center;margin-bottom:6px;}
.set-h{font-family:var(--mono);font-size:9px;color:var(--t3);letter-spacing:.06em;}
.set-r input{min-height:44px;width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--bdr);border-radius:8px;padding:0 8px;font-family:var(--mono);font-size:15px;background:var(--bg);}
.set-r button{min-height:44px;border:1px solid var(--bdr);border-radius:8px;background:var(--bg);font-family:var(--mono);font-size:12px;cursor:pointer;padding:0;}
.set-r button.x{border:none;background:none;color:var(--t3);font-size:18px;}
.set-r .idx{font-family:var(--mono);font-size:11px;color:var(--t3);}
.set-r.warm{opacity:.65;}
.set-r button.kind.fail{color:var(--red);border-color:var(--red);}
.str-act{display:flex;gap:8px;margin-top:4px;}
.str-act button{flex:1;min-height:44px;border:1px dashed var(--bdr);border-radius:8px;background:none;font-family:var(--mono);font-size:12px;cursor:pointer;}
.mu-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-family:var(--mono);font-size:11px;}
.mu-n{width:76px;text-transform:capitalize;}
.mu-bar{flex:1;height:8px;background:var(--sur2);border-radius:4px;overflow:hidden;}
.mu-fill{height:8px;border-radius:4px;}
.mu-v{width:90px;text-align:right;}

/* check-in: right = better on every row */
.ci-row{flex-wrap:wrap;row-gap:2px;}
.ci-ends{width:calc(100% - 100px);margin-left:100px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;color:var(--t3);letter-spacing:.04em;}

/* today: reflection */

.nx-s{font-size:12px;color:var(--t2);margin-top:2px;}

.seg{display:flex;margin-bottom:12px;}
.seg button{flex:1;min-height:44px;border:none;background:none;font-family:var(--body);font-size:13px;color:var(--t2);cursor:pointer;}
.seg button.active{font-weight:600;}
.chip-row.sp{flex-wrap:nowrap;gap:4px;}.chip-row.sp .chip{flex:1;padding:0 2px;font-size:11px;min-width:0;white-space:nowrap;}

/* health */

.report-ov{display:none;position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.55);overflow-y:auto;padding:12px;}
.report-ov.show{display:block;}
.report-sheet{background:#fff;color:#111;border-radius:10px;padding:20px 16px;max-width:640px;margin:0 auto;font-family:var(--body);}
.rp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;border-bottom:2px solid #FF6B1F;padding-bottom:10px;margin-bottom:8px;}
.rp-t{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:22px;}
.rp-s{font-size:11px;color:#666;margin-top:2px;}
.rp-x{min-width:44px;min-height:44px;border:none;background:none;font-size:24px;cursor:pointer;color:#111;}
.report-sheet h3{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a6320;margin:16px 0 4px;}
.report-sheet table{width:100%;border-collapse:collapse;font-size:13px;}
.report-sheet td{padding:5px 0;border-bottom:1px solid #eee;vertical-align:top;}
.report-sheet td:first-child{width:42%;color:#555;padding-right:8px;}
.rp-f{font-size:10px;color:#888;margin-top:16px;}
.rp-actions{margin-top:16px;}
@media print{
  body.printing>*:not(#reportOv){display:none!important;}
  body.printing #reportOv{position:static;display:block;background:none;padding:0;}
  .rp-x,.rp-actions{display:none!important;}
  .report-sheet{max-width:none;padding:0;}
}

/* rest timer */
#restBar{display:none;position:fixed;left:8px;right:8px;bottom:calc(var(--nav) + 8px);z-index:150;background:var(--char);color:#fff;border:1px solid rgba(255,107,31,.4);border-radius:14px;padding:6px 8px 6px 14px;align-items:center;gap:8px;box-shadow:var(--sh);}
#restBar.show{display:flex;}
#restBar.done{background:var(--gold);color:var(--char);}
.rest-l{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--gold);}
#restBar.done .rest-l{color:var(--char);}
#restTime{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:24px;min-width:52px;}
.rest-p{display:flex;gap:2px;flex:1;justify-content:flex-end;}
.rest-p button,.rest-x{min-height:44px;min-width:40px;background:none;border:none;color:inherit;font-family:var(--mono);font-size:11px;cursor:pointer;opacity:.75;}
.rest-x{opacity:1;color:var(--gold);}
#restBar.done .rest-x{color:var(--char);}

/* weekly digest */
.dg-r{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px solid var(--bdr);font-size:13px;}
.dg-r:last-of-type{border-bottom:none;}
.dg-v{font-family:var(--mono);font-size:12px;color:var(--text);text-align:right;}
.dg-d{font-family:var(--mono);font-size:10px;color:var(--t3);margin-left:8px;}

#formNote a{color:var(--gold-dk);}
.hdr-sub::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dot,var(--amber));margin-right:6px;vertical-align:1px;}
.sp-ico{width:1.15em;height:1.15em;vertical-align:-0.2em;flex-shrink:0;}
.ex-ico .sp-ico{vertical-align:middle;}

.chip .sp-ico{width:16px;height:16px;vertical-align:-3px;}
#syncBtn{white-space:nowrap;}
.sug-card{padding:14px 16px;}

.gym-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.gym-tgl{min-height:44px;padding:0 14px;border:1px solid var(--bdr);background:var(--sur);color:var(--t2);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
.gym-tgl.on{background:var(--gold);border-color:var(--gold);color:#1A1A1A;}
.gym-f{margin-bottom:10px;}
.gym-l{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--t3);margin-bottom:4px;}
.gym-b{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:8px;}
.gym-b button{min-height:64px;border-radius:12px;border:1px solid var(--bdr);background:var(--bg);color:var(--text);font-size:30px;line-height:1;cursor:pointer;}
.gym-b button:active{background:var(--sur);}
.gym-b input{min-height:64px;width:100%;min-width:0;box-sizing:border-box;text-align:center;font-family:var(--serif);font-weight:600;letter-spacing:-.01em;font-size:38px;border:1px solid var(--bdr);border-radius:12px;background:var(--bg);color:var(--text);}
.gym-row{display:flex;gap:8px;margin-bottom:10px;}
.gym-row button{flex:1;min-height:44px;border:1px solid var(--bdr);border-radius:8px;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:12px;cursor:pointer;}
.gym-row button.kind.fail{color:var(--red);border-color:var(--red);}
.gym-done{width:100%;min-height:60px;border:none;border-radius:12px;background:var(--gold);color:#1A1A1A;font-family:var(--body);font-size:17px;font-weight:600;cursor:pointer;}
.gym-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.gym-chip{min-height:44px;padding:0 12px;border-radius:22px;border:1px solid var(--bdr);background:var(--bg);color:var(--t2);font-family:var(--mono);font-size:12px;cursor:pointer;}

.ld-seg{display:flex;gap:4px;margin:6px 0}.ld-seg button{flex:1;min-height:44px;border:1px solid var(--bdr);background:var(--sur);color:var(--t2);border-radius:8px;font:500 11px 'Inter',system-ui,sans-serif;cursor:pointer}

.pl-er{display:flex;gap:6px;align-items:center;margin-bottom:6px}.pl-dn{width:32px;font:11px 'Inter',system-ui,sans-serif;color:var(--t2)}.pl-er select{flex:1.2;min-width:0}.pl-er input{flex:1;min-width:0}
/* interactive time chart */
.vc-tb{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.vc-chips{display:flex;gap:2px;background:var(--sur2);border-radius:10px;padding:2px}
.vc-chips button,.vc-nav button{font:600 11px/1 var(--body);color:var(--t2);background:none;border:0;border-radius:8px;min-width:30px;height:32px;padding:0 4px;cursor:pointer}
.vc-chips button.on{background:var(--sur);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.vc-nav{display:flex;align-items:center}
.vc-nav button{font-size:18px;min-width:36px}
.vc-nav .vc-win{font:500 10px/1 var(--body);min-width:0;color:var(--t3)}
.vc-ro{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:36px;margin-bottom:4px}
.vc-date{font:500 11px/1.3 var(--body);color:var(--t3);white-space:nowrap;padding-top:2px}
.vc-vals{display:flex;flex-wrap:wrap;gap:2px 12px;justify-content:flex-end}
.vc-v{display:flex;align-items:center;gap:5px;font-size:12px}
.vc-dot{width:8px;height:8px;border-radius:50%}
.vc-n{color:var(--t2)}.vc-x{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.vc-sub{font-size:11px;color:var(--t3);min-height:16px;margin-top:4px}
.vc-empty{font-size:12px;color:var(--t3);padding:12px 0}
.vc-cv{touch-action:pan-y;user-select:none}

body{font-family:var(--body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
.vc-nav .vc-win{white-space:nowrap;font-size:10px;padding:0 2px}

/* ── professional type + log page polish ── */

.fl{font-size:12px;font-weight:600;letter-spacing:0;color:var(--t2);text-transform:lowercase;margin-bottom:6px}
.fl::first-letter{text-transform:uppercase}

.inp-unit{font-size:12px;font-weight:500}
.inp,.sel-inp{min-height:48px;border-radius:10px;font-size:16px;padding:11px 14px;background:var(--sur2);border-color:transparent;box-shadow:inset 0 0 0 1px var(--bdr)}
.inp:focus,.sel-inp:focus{background:var(--sur);box-shadow:0 0 0 2px var(--gold);border-color:transparent}
.inp-sm{width:80px;text-align:center}
.btn-gold{font-size:15px;letter-spacing:.01em;}
.btn-out,.btn-muted{border-radius:12px}

.log-sec{scroll-margin-top:72px}

.log-ico{font-size:19px}
.log-title{font-size:15px}.log-stat{font-size:12px;margin-top:1px}
.log-body{border-top:1px solid var(--bdr);padding-top:14px}
.ex-btn{border-radius:12px}
body{font-feature-settings:'cv11','ss01','tnum'}
.log-hdr>div:nth-child(2){flex:1;min-width:0}.log-chev{font-size:16px;padding-right:2px}

/* update banner + tap targets + a11y */
#updBar{display:none;align-items:center;justify-content:center;gap:12px;background:var(--gold);color:var(--char);font-size:13px;font-weight:600;padding:6px 12px}
#updBar.show{display:flex}
#updBar button{min-height:44px;padding:0 16px;border:0;border-radius:10px;background:var(--char);color:var(--gold);font:600 13px var(--body);cursor:pointer}
.vc-chips button,.vc-nav button{position:relative}
.vc-chips button::after,.vc-nav button::after{content:'';position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}

.api-test-btn{min-height:44px}
.empty-btn{min-height:44px;padding:0 20px;font:600 13px var(--body);border-radius:10px}

.btn-muted{min-height:44px}
button:focus-visible,[onclick]:focus-visible,.inp:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ci-cta{min-height:48px}

#toast.act{pointer-events:auto}
.toast-act{margin-left:10px;min-height:36px;padding:0 12px;border:0;border-radius:14px;background:var(--gold);color:var(--char);font:700 13px var(--body);cursor:pointer}
.day-del{min-height:44px;min-width:44px}

.more-today{margin-top:4px}
.more-today>summary{list-style:none;cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--bdr);border-radius:12px;font-size:13px;font-weight:600;color:var(--t2);margin-bottom:12px}
.more-today>summary::-webkit-details-marker{display:none}
.more-today>summary::after{content:'›';transform:rotate(90deg);font-size:16px}
.more-today[open]>summary::after{transform:rotate(-90deg)}
.more-today[open]>summary{margin-bottom:12px}

.gl-bar{height:8px;border-radius:4px;background:var(--sur2);margin-top:12px;overflow:hidden}.gl-bar>div{height:100%;background:var(--text);border-radius:4px}

.hist-row{gap:12px;align-items:baseline}.hist-row>span:first-child{flex:none}.hist-val{text-align:right}
#hBase .hist-row{padding:6px 0}#hBase .hist-val small{display:block;margin-top:2px}

/* ── Light, clean chrome: header, menu, hero, labels, buttons ── */
.hdr{background:var(--chrome);box-shadow:none;border-bottom:1px solid var(--chrome-bdr)}
.hdr-logo{color:var(--chrome-fg)}
.hdr-sub{color:var(--chrome-dim);letter-spacing:0;font-size:11px}
.hdr-sync{background:transparent;border:1px solid var(--chrome-bdr);color:var(--chrome-fg);border-radius:10px;font-size:12px;font-weight:600}
.nav{border-top:1px solid var(--chrome-bdr)}
.nav-item{gap:2px;padding:6px 10px;border-radius:12px}
.nav-icon{color:var(--chrome-dim)}
.nav-label{color:var(--chrome-dim);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}
.nav-item.active{background:none}
.nav-item.active .nav-icon,.nav-item.active .nav-label{color:var(--gold-dk)}
.nav-item.active .nav-label{font-weight:600}
.nav-item.active .nav-icon{transform:none}

.ring-lbl{color:var(--gold-dk);letter-spacing:.1em}
.ring-num{color:var(--gold-dk)}
.sec,.mini-lbl,.ci-metric{text-transform:lowercase;letter-spacing:0;font-size:12px;font-weight:600;color:var(--t2)}
.sec::first-letter,.mini-lbl::first-letter,.ci-metric::first-letter{text-transform:uppercase}

.btn-gold{box-shadow:none;border-radius:12px;min-height:48px;font-weight:600;color:#1A1916}
.btn-gold:active{transform:none;filter:brightness(.94);background:var(--gold)}
.btn-out{background:transparent;color:var(--text);border:1px solid var(--bdr);border-radius:12px;min-height:48px;font-weight:500}
.chip{font-weight:500}
.chip.dark{background:var(--gold-l);color:var(--gold-dk);border-color:transparent}

/* Three gauges (Recovery, Strain, Sleep) */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.g{display:flex;flex-direction:column;align-items:center;min-width:0}
.g-ring{position:relative;max-width:100%}
.g-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.g-bg{fill:none;stroke:var(--ring-trk);stroke-width:8}
.g-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}
.g-fill.ring-fill{stroke:url(#goldGrad)}
.g-strain{stroke:var(--hero-fg)}.g-sleep{stroke:var(--teal)}
.g-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:600;letter-spacing:-.02em;color:var(--hero-fg);font-variant-numeric:tabular-nums}
.g-lbl{margin-top:8px;font-size:13px;font-weight:600;color:var(--hero-fg)}
.g-sub{margin-top:2px;font-size:12px;color:var(--hero-dim);text-align:center}

.g-base{margin-top:12px;padding:8px 12px;font-size:12px;line-height:1.5;color:var(--hero-dim)}

/* ── DATA-FIRST (v66): no boxes; hairline dividers, big plain numbers ── */
.card,.ci-card,.log-sec,.ins-block,.arch-trend,.ins-hi,.acc-box,.hero-card,.ins-nudge,.signin-ban {background:transparent;border:0;border-radius:0;box-shadow:none}
.card,.ci-card,.ins-block,.arch-trend,.acc-box,.ins-nudge,.signin-ban,.log-sec {border-top:1px solid var(--bdr);}

.ci-card.done{background:transparent}
.log-sec{overflow:visible}.log-sec.open{border-color:var(--bdr)}
.log-hdr{padding:12px 0;min-height:64px}

.log-ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.g-base,.ins-hi-arch{background:transparent;border-radius:0;padding-left:0;padding-right:0}
.ins-hi{border-top:1px solid var(--bdr);padding:0}
.ins-hi-arch{border:0;padding:0}

.str-chip,.gym-tgl{border-radius:8px}

.signin-ban{border-style:solid;border-width:1px 0 0;border-color:var(--bdr)}

/* line icons in place of emoji */
.ui-i{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-4px}
.ui-i.lg{width:28px;height:28px}
.ins-nudge .ui-i{color:var(--gold-dk);width:22px;height:22px}
.empty-icon .ui-i{color:var(--t3)}
.ins-arch .ui-i{width:16px;height:16px;margin-right:4px;vertical-align:-3px}
#offlineBar .ui-i{width:14px;height:14px;margin-right:4px;vertical-align:-2px}

.signin-ban{border-top:0;padding-top:8px}
.hist-box{background:transparent;border:0;border-radius:0;padding:0}
.chip{background:transparent;border-radius:8px;border-color:var(--bdr);color:var(--t2)}
.chip.on,.chip.active,.chip.sel{background:transparent;color:var(--gold-dk);border-color:var(--gold)}
.seg{background:transparent;border-bottom:1px solid var(--bdr);border-radius:0;padding:0}
.seg button{border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px}
.seg button.active{background:none;box-shadow:none;color:var(--text);border-bottom-color:var(--gold)}

/* Log home */
.lg-prog{margin-top:12px;font-size:13px;color:var(--t2)}.lg-prog b{color:var(--text);font-weight:600}

.lg-grp{margin:20px 0 4px;font-size:12px;font-weight:600;color:var(--t3)}

.log-sec.done .log-stat::before{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:6px;vertical-align:1px}
.sl-more{margin:4px 0 16px}.sl-more summary{min-height:44px;display:flex;align-items:center;font-size:13px;font-weight:600;color:var(--t2);cursor:pointer}
.log-sec{border-top:0;}.log-sec:first-of-type{border-top:0}
.log-chev .ui-i{width:18px;height:18px;color:var(--t3)}
/* Polish (v70): press and focus states, soft transitions */
.btn-gold,.btn-out,.btn-muted,.chip,.seg button,.nav-item{transition:background .15s,border-color .15s,filter .15s,color .15s}
.btn-out:active,.btn-muted:active,.chip:active{background:var(--sur2);border-color:var(--t3)}
.btn-gold:focus-visible,.btn-out:focus-visible,.btn-muted:focus-visible,.chip:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
/* Empty states (v71): icon in a soft round backdrop */
.empty-icon{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;background:var(--sur2);display:flex;align-items:center;justify-content:center}
.empty-icon .ui-i{width:28px;height:28px}

/* ── PRO LIGHT (v72): neutral palette, white cards on grey, light by default ── */
:root{--bg:#F3F4F6;--sur:#FFFFFF;--sur2:#EEF0F3;--bdr:#E5E8EC;--text:#14171C;--t2:#5B6472;--t3:#8A93A0;--gold-l:#FFF1E8;
  --chrome:#FFFFFF;--chrome-fg:#14171C;--chrome-dim:#5B6472;--chrome-bdr:#E5E8EC;--hero-bg:#FFFFFF;--hero-fg:#14171C;--hero-dim:#5B6472;--hero-chip:#EEF0F3;--ring-trk:#EDF0F3;
  --green:#1E9E5A;--green-l:#E8F7EE;--amber:#D99A00;--amber-l:#FFF6DB;--red:#D8463B;--red-l:#FDEEEC;--teal:#0E8C7C;--teal-l:#E6F5F2;
  --sh:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.04)}
:root[data-theme="dark"]{--bg:#121316;--sur:#1C1E22;--sur2:#262930;--bdr:#2E3138;--text:#F1F2F4;--t2:#A9B0BA;--t3:#7C8491;--gold-l:#33190C;--chrome:#1C1E22;--chrome-bdr:#2E3138;--hero-bg:#1C1E22;--hero-chip:#262930;--ring-trk:#2A2D33;--sh:0 1px 2px rgba(0,0,0,.4)}
#splash{background:var(--bg)}
.card,.hero-card,.signin-ban,.log-sec,.ins-block,.ci-card,.arch-trend,.acc-box,.ins-nudge{background:var(--sur);border:0;border-radius:14px;padding:16px;margin-bottom:10px;box-shadow:var(--sh)}
.hero-card{padding:16px 16px 12px}
.log-sec{border-bottom:0}.log-sec.open{border:0}
.sec{font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--t2)}
/* readiness factors */
.rf-list{margin-top:4px}
.rf-h{font-size:12px;font-weight:600;color:var(--t2);padding:8px 0 4px}
.rf{display:grid;align-items:center;border-top:1px solid var(--bdr)}
.rf:first-of-type{border-top:0}

.rf-l{font-weight:500}

.rf-v{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.rf.none .rf-v{color:var(--gold-dk);font-weight:500}

/* check-in faces (v77): line icons, no emoji */
.ci-btn{font-size:0;color:var(--t2);background:var(--sur2);border-color:transparent}
.ci-btn .face{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ci-btn.sel{color:var(--gold-dk);background:var(--gold-l);border-color:var(--gold);box-shadow:none}
/* soreness + coffee chips (v78) */
.ci-txt .ci-btn{font-size:12px;font-weight:500;padding:0 2px;min-width:0}
/* v118: body feel (five faces) and symptoms take the full width so every button stays 44px+ at 360px; sore-area chips wrap */
.ci-wide .ci-metric{width:100%}
.ci-wide .ci-btns{flex:1 1 100%;gap:2px}
.ci-wide .ci-ends{width:100%;margin-left:0}
.ci-area{flex-wrap:wrap}
.ci-area .ci-btn{flex:1 0 auto;padding:0 12px}
.ci-late{display:flex;align-items:center;gap:8px;min-height:40px;font-size:13px;color:var(--t2);margin:-4px 0 6px}.ci-late input{width:18px;height:18px;accent-color:var(--gold)}
/* v80: flatten the last gradient cards so both themes match the pro palette */
.empty-btn{background:transparent;color:var(--gold-dk);border:1px solid var(--bdr)}
.ins-gen{background:var(--gold);color:#fff;border:0;border-radius:12px;min-height:48px}
.ld-seg button.active{background:var(--text);color:var(--bg);border-color:var(--text)}
#toast{background:var(--text);color:var(--bg);border-color:transparent;box-shadow:var(--sh)}
/* v80: onboarding overlay with illustrations */
.welcome{position:fixed;inset:0;z-index:400;background:var(--bg);border:0;border-radius:0;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden}
.ob-skip{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;min-height:44px;padding:0 14px;background:transparent;border:0;color:var(--t2);font:500 14px var(--body);cursor:pointer;z-index:2}
.ob-track{flex:1;display:flex;width:100%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ob-step{flex:0 0 100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:48px 28px 16px;box-sizing:border-box}
.ob-art{width:min(70vw,240px);height:auto;margin-bottom:28px}
.ob-h{font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.01em;margin:0 0 12px;color:var(--text)}
.ob-p{font-size:15px;line-height:1.55;color:var(--t2);margin:0;max-width:320px}
.welcome .ob-inp{margin-top:24px;max-width:320px;background:var(--sur);border:1px solid var(--bdr);color:var(--text);border-radius:12px;min-height:48px;font-size:16px;text-align:center}
.welcome .ob-inp::placeholder{color:var(--t3)}
.ob-foot{padding:8px 20px calc(20px + env(safe-area-inset-bottom))}
.ob-foot .btn-gold{margin-top:12px;color:#fff}
.ob-dots{display:flex;justify-content:center;gap:8px}.ob-dots i{width:8px;height:8px;border-radius:50%;background:var(--bdr);transition:all .25s}.ob-dots i.on{background:var(--gold);width:24px;border-radius:4px}

/* v83: workout list actions, duplicate strip, source tag */
.wk-acts{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.wk-acts button{min-height:44px;padding:0 14px;background:transparent;border:1px solid var(--bdr);border-radius:8px;color:var(--t2);font:500 12px 'Inter',system-ui,sans-serif;cursor:pointer}
.wk-acts button:active{background:var(--sur2)}
.wk-dup{border-left:3px solid var(--amber);margin:0 0 16px;padding:2px 0 2px 12px}
.wk-dup-t{font-size:15px;font-weight:600;color:var(--text)}
.wk-dup-s{font-size:13px;color:var(--t2);line-height:1.5;margin-top:2px}
#wkIcuNote{margin:0 0 12px}

/* v83: briefing blocks, sentence case, theme-safe */
.ins-bt,.ins-hi-sec{font-family:inherit;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--t2)}
.ins-block.ins-warn{border-left:3px solid var(--amber);border-radius:0 14px 14px 0}
.ins-block.ins-warn .ins-bt{color:var(--amber)}

.ins-loading{font-family:inherit;letter-spacing:0;font-size:13px;line-height:1.5}
.arch-trend-lbl{font-family:inherit;letter-spacing:0;text-transform:none}
#wDurChips{flex-wrap:wrap;gap:8px;margin-bottom:8px}
#wDurChips .chip{min-height:44px}
/* v120: mood chart chips, five on one row at 360px */
#moodChips{flex-wrap:nowrap;gap:6px;margin:4px 0 8px}
#moodChips .chip{flex:1 1 auto;min-width:44px;padding:0 6px;white-space:nowrap}
.ins-hist-sec{margin-top:20px}

.ins-hi-date{font-family:inherit}

/* v85: follow-up questions on the briefing */

.ins-qa .ins-q{font-weight:600;font-size:13px;line-height:1.5;margin-top:16px;color:var(--text)}
.ins-a{font-size:13px;line-height:1.6;color:var(--text);white-space:pre-line;margin-top:4px}
.ins-a.ins-wait{color:var(--t3)}
/* v119: the section still being written while the briefing streams in (no animation) */
.ins-caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--t3)}
.ins-qs{display:flex;flex-direction:column;gap:8px;margin-top:16px}

.ins-ask{display:flex;gap:8px;margin-top:8px;align-items:stretch}
.ins-ask .inp{flex:1;min-width:0}
.ins-ask .btn-gold{width:auto;flex:0 0 auto;padding:0 16px;margin:0}
.ins-qa button:disabled,.ins-qa input:disabled{opacity:.5}
.ins-hi-q{font-weight:600;color:var(--text);margin-top:8px}

/* v86: today's session and the 7-day outline */
.st-e{display:inline-flex;gap:2px;flex:none}.st-e i{width:5px;height:12px;border-radius:2px;background:var(--bdr)}.st-e i.on{background:var(--text)}
.st-mode{font-size:22px;font-weight:600}
.st-tg{font-size:13px;color:var(--t2);font-variant-numeric:tabular-nums}.st-tg b{color:var(--text);font-weight:600}
.st-list{margin-top:12px}
.st-r{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--bdr);min-height:44px}
.st-r.now{border-left:3px solid var(--text);padding-left:10px;margin-left:-13px}
.st-d{width:44px;flex:none;font-size:12px;color:var(--t2);font-weight:600}.st-d small{display:block;font-size:12px;font-weight:400;color:var(--t3)}
.st-b{flex:1;min-width:0}.st-n{font-size:14px;font-weight:600}.st-r.off .st-n{color:var(--t2);font-weight:400}
.st-s{font-size:12px;color:var(--t2);margin-top:2px;line-height:1.4;font-variant-numeric:tabular-nums}.st-w{color:var(--t3)}.st-nw{white-space:nowrap}
.st-r .st-e{margin-top:3px}

/* v88: food log and eaten-so-far */

/* v94: raw wellness viewer (temporary, Phase 0 audit) */

/* v96: field states in Log. Hints are placeholders in --t3 (v119: no source tags),
   a time worked out from a recorded duration is dashed until the user confirms or corrects it. */
.inp::placeholder{color:var(--t3);opacity:1}
.inp.inp-est{border:1px dashed var(--t3);box-shadow:none}
.log-sec.part .log-stat{color:var(--amber)}
.log-sec.part .log-stat::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--amber);margin-right:6px;vertical-align:1px}

/* ── v97: detail sheets from the Today gauges and factor rows ── */
.g[role=button],.rf[role=button]{cursor:pointer;-webkit-tap-highlight-color:transparent}
.g[role=button]:active .g-ring{transform:scale(.96)}
.dt-big{font-size:40px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.dt-sub{font-size:13px;color:var(--t2);line-height:1.5;margin-top:4px}
.dt-miss{font-size:14px;line-height:1.55;color:var(--t2)}
.dt-sec{font-size:12px;font-weight:600;color:var(--t2);margin:18px 0 6px}
.dt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:4px 0;border-top:1px solid var(--bdr);font-size:14px}
.dt-row b{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.dt-usual{margin-top:12px}

.dt-eff{font-size:14px;line-height:1.55;color:var(--text)}
.dt-note{font-size:12px;color:var(--t3);line-height:1.5;margin-top:4px}
.dt-wake{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t2);white-space:nowrap}
.dt-wake input{font:inherit;font-size:13px;color:var(--text);background:transparent;border:1px solid var(--bdr);border-radius:8px;padding:6px 8px;min-height:36px;font-variant-numeric:tabular-nums}
.dt-link{margin-top:20px}
/* v117: the sleep sheet browses nights and shows the detailed night from Polar */
.dt-row small{font-weight:400;color:var(--t3);font-size:12px}

/* ── v98: food by meal ── */
.fd-slots{margin:4px 0 2px}
.fd-slot{display:grid;grid-template-columns:1fr auto 32px;align-items:center;gap:8px;min-height:44px;padding:0 0 0 10px;border:1px solid var(--bdr);border-radius:10px;margin-bottom:6px;cursor:pointer;background:var(--sur2)}
.fd-slot.sel{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}
.fd-l{font-size:14px;font-weight:500}
.fd-slot.sel .fd-l::after{content:" · adding here";font-size:11px;font-weight:400;color:var(--t2)}
.fd-v{font-size:13px;color:var(--t2);font-variant-numeric:tabular-nums;white-space:nowrap}
.fd-x{width:32px;min-height:44px;background:none;border:0;color:var(--t3);font-size:18px;cursor:pointer}

/* ── v99: confirmed suggestions ── */
.lnk{background:none;border:0;padding:0;font:inherit;color:var(--t2);text-decoration:underline;cursor:pointer;min-height:0}
#wPre{margin:0 0 12px}
#wEffNote:empty{display:none}
#wEffNote{margin-top:6px}

/* ── v119: check-in rows full width (the card no longer sits inside a second card), every button 44px+ at 360px ── */
:is(#lCheckin,#lEve) .ci-card{padding:0;margin:0;background:none;box-shadow:none;border:0}
:is(#lCheckin,#lEve) .ci-row{display:block;margin-bottom:14px}
:is(#lCheckin,#lEve) .ci-metric{width:auto;margin:0 0 6px}
:is(#lCheckin,#lEve) .ci-btns{display:flex;gap:6px}
:is(#lCheckin,#lEve) .ci-btn{flex:1;min-height:48px;min-width:44px}
:is(#lCheckin,#lEve) .ci-btn .face{width:30px;height:30px}
:is(#lCheckin,#lEve) .ci-txt .ci-btn{font-size:13px;line-height:1.2;white-space:normal;padding:4px}
:is(#lCheckin,#lEve) .ci-area{flex-wrap:wrap}
:is(#lCheckin,#lEve) .ci-area .ci-btn{flex:1 0 auto;padding:4px 12px}
:is(#lCheckin,#lEve) .ci-ends{width:100%;margin:4px 0 0;font-size:11px}
:is(#lCheckin,#lEve) .ci-late{min-height:44px;margin:0 0 8px}
:is(#lCheckin,#lEve) .ci-late input{width:22px;height:22px}

/* ── v119, v123: one plain sentence under each chart ── */
.vc-mean{font-size:13px;color:var(--text);line-height:1.45;margin-top:6px}
.vc-cv:focus-visible{outline:2px solid var(--t3);outline-offset:2px;border-radius:4px}

/* ── v121: pain 0 to 10 on a workout: two rows of six; each button is a full 45px tap area (the row bleeds 3px each side)
   and the visible chip is drawn 3px inside it, so the chips line up with the form edge; the chosen one gets a --text border, not the accent ── */
.pn-row{display:grid;grid-template-columns:repeat(6,1fr);margin:0 -3px}
.pn-c{position:relative;min-height:48px;min-width:0;border:0;background:none;color:var(--text);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer;padding:0}
.pn-c::before{content:"";position:absolute;inset:3px;border:1px solid var(--bdr);border-radius:10px;pointer-events:none}
.pn-c.sel{font-weight:600}
.pn-c.sel::before{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}
.pn-c:focus-visible{outline:none}
.pn-c:focus-visible::before{outline:2px solid var(--t3);outline-offset:1px}
#wPainNote{margin-top:6px}
/* ── v121: the 7-day outline opens a day to show its session: warm-up, main set and cool-down with targets, swaps, planned against done.
   Borders use --text/--bdr, never the accent; the comeback line uses the amber left rule like the suggestion strips ── */
.st-x>summary{list-style:none;cursor:pointer}
.st-x>summary::-webkit-details-marker{display:none}
.st-x>summary:focus-visible{outline:2px solid var(--t3);outline-offset:2px}
.st-chev{width:18px;height:18px;flex:none;align-self:center;fill:none;stroke:var(--t3);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.st-x[open] .st-chev{transform:rotate(180deg)}
.st-x .st-r .st-e{margin-top:3px}
.st-sx{padding:0 0 12px 56px}
.st-ph{margin-top:8px}
.st-ph>span,.st-swl,.st-pv>span{display:block;font-size:12px;font-weight:600;color:var(--t2)}
.st-ph ul{margin:2px 0 0;padding:0 0 0 16px;font-size:13px;line-height:1.5;color:var(--text);font-variant-numeric:tabular-nums}
.st-ph li{margin:2px 0;overflow-wrap:anywhere}
.st-sx .set-note{margin-top:8px}
.st-pv{margin-top:8px;font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}
.st-swl{margin-top:12px}
.st-sws{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.st-sw{min-height:44px;min-width:64px;padding:0 14px;border:1px solid var(--bdr);border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.st-sw:focus-visible{outline:2px solid var(--t3);outline-offset:1px}
.st-ret{border-left:3px solid var(--amber);padding:2px 0 2px 12px;margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--text)}

.st-sendr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px}
.st-send{min-height:44px;padding:0 16px;border:1px solid var(--text);border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.st-send:disabled{opacity:.5;cursor:default}
.st-send:focus-visible{outline:2px solid var(--t3);outline-offset:1px}
.st-sent{flex:1 1 100%;font-size:13px;color:var(--t2)}
@media (max-width:380px){.st-sx{padding-left:0}}

/* v122: workout rows open the workout sheet; the sheet's numbers, heart rate chart, zones and notes (no accent colour) */
.act-item.tap{cursor:pointer}
.act-item.tap:focus-visible{outline:2px solid var(--t3);outline-offset:2px;border-radius:8px}
.act-go{align-self:center;color:var(--t3);line-height:1;padding:0 2px}
.wk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.wk-grid>div{border-radius:10px;padding:8px 10px;min-width:0}
.wk-grid span{display:block;font-size:11px;color:var(--t2);line-height:1.25}
.wk-grid b{display:block;font-size:17px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px;overflow-wrap:anywhere}
.wk-grid small{display:block;font-size:11px;color:var(--t3);line-height:1.25}
.wk-chs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.wk-ch{min-height:44px;padding:0 14px;border:1px solid var(--bdr);border-radius:10px;background:transparent;color:var(--t2);font:inherit;font-size:13px;cursor:pointer}
.wk-ch[aria-pressed=true]{border-color:var(--text);color:var(--text);font-weight:600}
.wk-ch:focus-visible{outline:2px solid var(--t3);outline-offset:1px}
.wk-load{min-height:240px;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;margin-top:12px;color:var(--t3);font-size:13px;background:var(--sur2);border-radius:10px}
.wk-mix{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--t2);}
.wk-mix span::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px;background:var(--t3)}
.wk-mix .easy::before{background:var(--green)}
.wk-mix .steady::before{background:var(--amber)}
.wk-mix .hard::before{background:var(--red)}
.wk-zns{display:flex;flex-direction:column;}
.wk-zn{display:grid;grid-template-columns:88px 1fr 60px;align-items:center;gap:10px;font-size:13px}
.wk-zl{color:var(--text);line-height:1.2}
.wk-zl small{display:block;font-size:11px;color:var(--t3)}
.wk-zb{height:8px;background:var(--sur2);border-radius:4px;overflow:hidden}
.wk-zb i{display:block;height:100%;border-radius:4px;background:var(--t3)}
.wk-zb i.easy{background:var(--green)}
.wk-zb i.steady{background:var(--amber)}
.wk-zb i.hard{background:var(--red)}
.wk-zn b{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}
.wk-in{margin:0;padding-left:16px;font-size:14px;line-height:1.5;color:var(--text)}
.wk-in li+li{margin-top:6px}
.wk-pv .st-pv:first-child{margin-top:0}

.day-wk{background:none;border:0;padding:0;min-height:44px;font:inherit;font-size:13px;font-weight:600;color:#fff;text-align:left;cursor:pointer}
.day-wk span{opacity:.6;margin-left:2px}
.day-wk small{display:block;font-family:var(--mono);font-size:12px;font-weight:400;opacity:.8;margin-top:2px}
.day-wk:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:4px}

/* ── v123: an empty note takes no space ── */
#slNote:empty,#spNote:empty{display:none}

/* v124: sign-in wall. The sign-in sheet covers the whole app until an invited account signs in; it cannot be closed */
.auth-gate{display:none}
#authModal.gate{background:var(--bg);z-index:450;align-items:center}
#authModal.gate .modal{background:var(--sur);box-shadow:var(--sh);border-radius:14px;margin:0 auto;width:calc(100% - 32px);max-width:480px}
#authModal.gate .modal-close{display:none}
#authModal.gate .auth-gate{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:16px}
#authModal.gate .auth-gate img{border-radius:22%}
.auth-gate-t{font-size:20px;font-weight:600;color:var(--text)}
#authModal.gate .auth-gate .set-note{margin:0;color:var(--t2)}

/* ── v125: Tabler line icons; floating nav pill with a round Log button; factor rows with an icon and the comparison under the value; icon tiles ── */
:root{--navsh:0 6px 20px rgba(16,24,40,.12),0 1px 3px rgba(16,24,40,.08);--nav:calc(76px + env(safe-area-inset-bottom))}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--navsh:0 6px 24px rgba(0,0,0,.6)}}
:root[data-theme="dark"]{--navsh:0 6px 24px rgba(0,0,0,.6)}
.pages{bottom:0}
.page{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
.nav{left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));height:62px;padding:0;background:none;border:0;justify-content:flex-start;gap:10px;pointer-events:none}
.nav::before{content:"";position:absolute;left:-12px;right:-12px;top:-20px;bottom:calc(-14px - env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent,var(--bg) 55%);z-index:-1;pointer-events:none}
.nav>*{pointer-events:auto}
.nav-pill{flex:1;min-width:0;height:62px;display:flex;align-items:stretch;border-radius:31px;background:var(--chrome);border:1px solid var(--chrome-bdr);box-shadow:var(--navsh);padding:0 6px}
.nav-pill .nav-item{flex:1;min-width:0;justify-content:center;padding:0;border-radius:31px;gap:3px}
.nav-pill .nav-icon{width:24px;height:24px}
.nav-pill .nav-label{font-size:11px}
.nav .nav-log{flex:none;width:62px;height:62px;min-width:0;padding:0;border-radius:50%;justify-content:center;background:var(--text);box-shadow:var(--navsh)}
.nav .nav-log .nav-icon{width:28px;height:28px;color:var(--sur);stroke-width:2.2}
.nav .nav-log.active{background:var(--gold)}
.nav .nav-log.active .nav-icon{color:#fff}
.nav-item:focus-visible{outline:2px solid var(--t3);outline-offset:2px}
/* factor rows */
.rf{grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:none;column-gap:14px;min-height:56px;padding:6px 0}
.rf>.ui-i{width:22px;height:22px;color:var(--t2);vertical-align:0}
.rf-l{grid-area:auto;font-size:15px}
.rf-r{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.rf-v{grid-area:auto;font-size:15px}
.rf-n{grid-area:auto;display:flex;align-items:center;gap:4px;margin-top:1px;font-size:12px;color:var(--t2);white-space:nowrap}
.rf-g{font-style:normal;font-size:9px;line-height:1;color:var(--t3)}
.rf.good .rf-g{color:var(--green)}.rf.warn .rf-g{color:var(--amber)}.rf.bad .rf-g{color:var(--red)}
/* icon tiles: workout rows, Log sections, sport grid */
.act-icon,.act-icon.past,.act-icon.today{width:44px;height:44px;border-radius:12px;background:var(--bg);color:var(--text);margin-top:0}
.act-icon.today{color:var(--gold-dk)}
.act-icon .sp-ico{width:24px;height:24px}
.act-go{display:flex;align-items:center;font-size:0}
.act-go .ui-i{width:18px;height:18px;color:var(--t3)}
.log-ico{width:40px;height:40px;border-radius:12px;background:var(--bg);color:var(--text);display:flex;align-items:center;justify-content:center;flex:none}
.log-ico .ui-i{width:22px;height:22px}
.log-sec.done .log-ico{background:var(--green-l);color:var(--green)}
.log-sec.done .log-stat::before{content:none}
.log-sec.part .log-ico{background:var(--amber-l);color:var(--amber)}
.log-sec.open .log-chev{transform:rotate(90deg)}
.ex-btn,.ex-grid.four .ex-btn{min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 4px;background:transparent;border:1px solid var(--bdr)}
.ex-ico{margin:0;line-height:0}
.ex-ico .sp-ico{width:26px;height:26px;color:var(--text)}
.ex-nm{font-size:12px;color:var(--t2)}
.ex-btn.sel{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text);background:transparent}
.ex-btn.sel .ex-nm{color:var(--text);font-weight:600}
/* v127: the night cut. Sleep sheet strip and the hatched part left out; Adjust a night (#adjModal) */
.dt-cut{margin:4px 0 16px}
.dt-cut .wk-dup-t{display:flex;align-items:center;gap:8px}
.dt-cut .wk-dup-t .ui-i{width:18px;height:18px;color:var(--amber);vertical-align:0}
.adj-sub{font-size:13px;color:var(--t2);margin:-12px 0 16px}
.adj-card{background:var(--sur);border-radius:14px;box-shadow:var(--sh);padding:12px}
.adj-ch{position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.adj-ch svg{display:block;width:100%;height:auto;overflow:visible}
.adj-ch text{font:10px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.adj-gl{stroke:var(--bdr);stroke-width:1}
.adj-s{fill:var(--teal)}.adj-w{fill:var(--amber)}.adj-o{fill:var(--t3);opacity:.45}
.adj-hr{fill:none;stroke:var(--text);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.adj-nh{fill:var(--t3);font-size:9px;text-anchor:middle}
.adj-ov{fill:var(--sur);opacity:.55}
.adj-hl{stroke:var(--text);stroke-width:2}
.adj-pl{fill:var(--text)}
.adj-pt{fill:var(--sur);text-anchor:middle;font-weight:600}
.adj-gr{fill:var(--sur);stroke:var(--text);stroke-width:2}
.adj-gl2{stroke:var(--text);stroke-width:1.4;stroke-linecap:round}
.adj-ax{fill:var(--t3)}
.adj-h{position:absolute;top:0;bottom:0;width:44px;margin-left:-22px;cursor:ew-resize;touch-action:none;border-radius:12px}
.adj-h:focus{outline:none}
.adj-h:focus-visible{box-shadow:inset 0 0 0 2px var(--t3)}
.adj-sec{font-size:12px;font-weight:600;color:var(--t2);margin:20px 0 8px}
.adj-chips{display:flex;flex-wrap:wrap;gap:8px}
.adj-cp{min-height:44px;padding:0 14px;border:1px solid var(--bdr);border-radius:22px;display:flex;align-items:center;gap:6px;font:400 13px 'Inter',system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--text);background:transparent;cursor:pointer}
.adj-cp em{font-style:normal;color:var(--t2)}
.adj-cp.on{border:1.5px solid var(--text);font-weight:600;background:var(--sur)}
.adj-cp.on em{color:var(--text)}
.adj-cp:disabled{opacity:.4;cursor:default}
.adj-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}
.adj-t{background:var(--sur);border-radius:14px;box-shadow:var(--sh);padding:12px 14px}
.adj-t small{display:block;font-size:12px;color:var(--t2)}
.adj-t b{display:block;font-size:20px;font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}
.adj-t em{display:block;font-style:normal;font-size:12px;color:var(--t3);margin-top:1px}
.adj-note{font-size:14px;line-height:1.4;margin-top:16px;color:var(--t2)}
.adj-btn{margin-top:12px}
#slNote .sl-chk{display:flex;align-items:center;margin-top:8px;min-height:44px;padding:0 16px;border:1px solid var(--bdr);border-radius:22px;background:transparent;color:var(--text);font:inherit;font-weight:600;cursor:pointer}
/* v128: Trends, one range bar and the same card on every chart */
#trRange{margin:0 0 4px}
.tr-chips{display:flex;gap:8px;margin-bottom:8px}
.tr-chips button{flex:1;min-height:44px;border:1px solid var(--bdr);border-radius:10px;background:transparent;font:500 14px var(--body);color:var(--t2);cursor:pointer}
.tr-chips button.on{border:1.5px solid var(--text);color:var(--text);font-weight:600;background:var(--sur)}
.tr-spn{display:flex;align-items:center;justify-content:space-between}
.tr-nav{width:44px;height:44px;display:grid;place-items:center;background:none;border:0;border-radius:10px;color:var(--text);cursor:pointer}
.tr-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tr-nav:disabled{color:var(--t3);opacity:.4;cursor:default}
.tr-dt{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.tr-dt b{font-size:15px;font-weight:600;line-height:20px}
.tr-dt small{font-size:12px;line-height:16px;color:var(--t2)}
.tr-sec{font-size:17px;font-weight:600;line-height:22px;margin:24px 4px 8px;color:var(--text)}
.tr-sec.first{margin-top:12px}
#trCharts .kh{display:flex;align-items:center;min-height:32px;margin-bottom:8px}
#trCharts .kh b{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:20px}
.ib{width:44px;height:44px;flex:none;margin:-6px -12px -6px 0;display:grid;place-items:center;background:none;border:0;border-radius:50%;color:var(--t3);cursor:pointer}
.ib svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ib.on{color:var(--text);background:radial-gradient(circle,var(--sur2) 15px,transparent 16px)}
.inf{background:var(--sur2);border-radius:10px;padding:12px;font-size:13px;line-height:1.45;color:var(--text);margin-bottom:12px}
.vc-hd{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.vc-hd>div{display:flex;flex-direction:column;min-width:0}
.vc-hd>div+div{border-left:1px solid var(--bdr);padding-left:12px}
.vc-hd small{font-size:12px;line-height:16px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-hd .v1{font-size:28px;line-height:34px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.vc-hd .v2{font-size:20px;line-height:34px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.vc-hd em{font-style:normal;font-size:14px;font-weight:500;color:var(--t2)}
.vc-hd span{font-size:12px;line-height:16px;color:var(--t2);margin-top:2px;display:flex;align-items:flex-start;gap:4px}
.vc-hd i{font-style:normal;font-size:9px;line-height:16px;color:var(--t3);flex:none}
.vc-hd .good i{color:var(--green)}.vc-hd .warn i{color:var(--amber)}.vc-hd .bad i{color:var(--red)}
.vc-lg{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}
.vc-lg span{display:flex;align-items:center;gap:6px;font-size:12px;line-height:16px;color:var(--t2)}
.vc-lb{width:14px;height:10px;background:var(--t3);opacity:.25;border-radius:2px}
.vc-ll{width:14px;height:0}
.vc-lq{width:10px;height:10px;border-radius:2px}
#trCharts .vc-sub{font-size:12px;color:var(--t2);min-height:0;margin-top:6px}
#trCharts .vc-mean{font-size:13px;line-height:1.45;margin-top:10px}
#trCharts .vc-empty{font-size:13px;color:var(--t2);padding:8px 0}
.tr-sub{font-size:13px;font-weight:600;color:var(--t2);margin:16px 0 6px}
#trCharts .chip.on,#trCharts .chip.sel,#trCharts .chip.active{color:var(--text);border:1.5px solid var(--text);font-weight:600}
#trCharts .chip .sp-ico,#trCharts .chip svg{background:none}
#strHd .vc-hd{margin-bottom:8px}
@media (max-width:380px){
  .vc-hd .v1{font-size:24px}.vc-hd .v2{font-size:18px}
  .vc-hd{gap:8px}.vc-hd>div+div{padding-left:8px}
  .tr-chips{gap:6px}
}

/* ── v129: Today's day bar (‹ day ›), gauges as the approved mockup ── */
.hdr-sync{margin-left:auto}
.dbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.db{width:44px;height:44px;border-radius:12px;border:1px solid var(--bdr);background:var(--sur);display:grid;place-items:center;padding:0;color:var(--text);cursor:pointer}
.db svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.db.off,.db:disabled{opacity:.35;cursor:default}
.dt{text-align:center}.dt b{display:block;font-size:17px;font-weight:600;color:var(--text)}.dt small{font-size:12px;color:var(--t2)}
.g-ring{width:88px;height:88px}
.g-num{font-size:24px}
/* ── v129: Your day (heart rate around the clock) ── */
.dy-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.dy-h b{flex:1;font-size:15px;font-weight:600;color:var(--text)}
.dy-h span{font-size:12px;color:var(--t2)}
.dy-go{min-width:44px;min-height:44px;margin:-12px -12px -12px 0;padding:0;border:0;background:transparent;display:grid;place-items:center;flex:none;cursor:pointer}
.dy-go:focus-visible{outline:2px solid var(--t3);outline-offset:-4px;border-radius:12px}
.dy-go svg{width:18px;height:18px;fill:none;stroke:var(--t3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dy-lg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12px;color:var(--t2)}
.dy-lg span{display:flex;align-items:center;gap:6px}
.dy-lg i{display:inline-block}
.dy-lg .ln{width:14px;height:2px;background:var(--text)}
.dy-lg .sl{width:10px;height:10px;background:var(--teal-l);border:1px solid var(--teal)}
.dy-lg .bo{width:10px;height:10px;background:repeating-linear-gradient(45deg,var(--t3) 0 1px,transparent 1px 4px);border:1px solid var(--bdr)}
.dy-m{margin:12px 0;font-size:14px;line-height:1.4;color:var(--text)}
.dy-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dy-tl{background:var(--bg);border-radius:12px;padding:10px}
.dy-tl small{display:block;font-size:12px;color:var(--t2)}
.dy-tl b{display:block;margin:3px 0 2px;font-size:16px;font-weight:600;white-space:nowrap;color:var(--text)}
.dy-tl em{font-style:normal;font-size:12px;font-weight:500;color:var(--t2)}
.dy-tl span{display:block;font-size:11px;line-height:1.3;color:var(--t2)}
.dy-tl span i{font-style:normal;font-size:9px;margin-right:3px}
.dy-tl span i.good{color:var(--green)}.dy-tl span i.warn{color:var(--amber)}
/* ── v129: Plan and training (this week's plan, briefing row, last 7 days, load tiles) ── */
.pl-ed{min-height:44px;min-width:44px;margin:-12px -8px -12px 0;padding:0 8px;background:none;border:0;color:var(--t2);font:600 14px 'Inter',system-ui,sans-serif;cursor:pointer}
.pl-wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
.pl-c{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:44px;padding:8px 0;background:none;border:1px solid transparent;border-radius:12px;color:var(--t3);font:inherit;cursor:pointer}
.pl-c.now{border:1.5px solid var(--text)}
.pl-c small{font-size:12px;color:var(--t2)}
.pl-c.now small{color:var(--text);font-weight:600}
.pl-c .sp-ico,.pl-c>.ui-i{width:22px;height:22px;stroke-width:1.8;color:var(--t3);vertical-align:0}
.pl-c.done .sp-ico,.pl-c.bonus .sp-ico,.pl-c.now .sp-ico,.pl-c.done>.ui-i,.pl-c.now>.ui-i{color:var(--text)}
.pl-c .ui-i.pl-mk{width:16px;height:16px;stroke-width:2;vertical-align:0}
.pl-c.done .pl-mk{color:var(--green)}.pl-c.miss .pl-mk{color:var(--amber)}.pl-c.bonus .pl-mk{color:var(--t2)}
.pl-sp{display:block;height:16px}
.pl-no{display:block;height:22px;line-height:22px;font-style:normal;color:var(--t3)}
.pl-ln{margin:10px 0 0;font-size:13px;line-height:18px;color:var(--t2)}
#planDet:empty{display:none}
#planDet{margin-top:8px}
.ins-nudge{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;column-gap:14px;align-items:center;min-height:64px;padding:10px 16px}
.ins-nudge.hidden{display:none}
.ins-nudge>.ui-i{width:22px;height:22px;color:var(--t2)}
.ins-nudge .in-t b{display:block;font-size:15px;font-weight:600;line-height:20px;color:var(--text)}
.ins-nudge .in-t small{display:block;font-size:13px;line-height:18px;color:var(--t2)}
.ins-nudge .in-go{width:18px;height:18px;stroke-width:2;color:var(--t3)}
#actTot{font-size:13px}

/* ── v129: the sheets: day bar, score head, cards; the Recovery waterfall and usual-range rows ── */
.dt-dbar{margin:0 0 14px}
.dt-big small{font-size:18px;font-weight:600;margin-left:8px;letter-spacing:0}
.dt-ln{font-size:14px;line-height:1.4;margin-top:8px;color:var(--text)}
.dt-ln.dt-mute{font-size:13px;color:var(--t2);margin-top:4px}
.dt-card{background:var(--sur);border-radius:14px;box-shadow:var(--sh);padding:14px}
.rc-wf{display:block;width:100%;height:auto}
.rc-wf text{font-size:10px;font-family:inherit}
.rc-rg{padding:12px 0 8px;border-top:1px solid var(--bdr)}
.rc-rg:first-child{border-top:0;padding-top:2px}
.rc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rc-h .l{font-size:15px;font-weight:500;line-height:20px}
.rc-h .l small{display:block;white-space:nowrap;font-size:12px;font-weight:400;color:var(--t2);margin-top:1px}
.rc-h .v{text-align:right}
.rc-h .v b{display:block;font-size:15px;font-weight:600;line-height:20px;font-variant-numeric:tabular-nums}
.rc-h .v small{display:block;font-size:12px;color:var(--t2)}
.rc-h .v i{font-style:normal;font-size:9px;margin-right:4px}
.rc-bl{position:relative;height:8px;border-radius:4px;background:var(--ring-trk);margin:12px 0 4px}
.rc-bl .u{position:absolute;top:0;bottom:0;border-radius:4px;background:var(--bdr);box-shadow:inset 0 0 0 1px var(--t3)}
.rc-bl .n{position:absolute;top:-4px;bottom:-4px;border-left:1.5px dashed var(--t2)}
.rc-bl .m{position:absolute;top:-4px;width:4px;height:16px;border-radius:2px;margin-left:-2px}
.rc-bll{position:relative;height:14px;font-size:10px;color:var(--t3);font-variant-numeric:tabular-nums}
.rc-bll span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}

/* ── v129: the Strain sheet: the aim bar, where it came from, zones all day, your day, this week ── */
.dt-big small.sn-of{font-size:16px;font-weight:500;color:var(--t2);margin-left:4px}
.sn-sb{position:relative;height:10px;border-radius:5px;background:var(--ring-trk);margin:18px 0 6px}
.sn-sb .sn-aim{position:absolute;top:-5px;bottom:-5px;border-radius:4px;border:1.5px dashed var(--t2)}
.sn-sb .sn-fill{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--text)}
.sn-sbl{position:relative;height:14px;font-size:11px;color:var(--t3);font-variant-numeric:tabular-nums}
.sn-sbl span{position:absolute;top:0;transform:translateX(-50%)}
.sn-split{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;margin-bottom:6px}
.sn-split i{display:block;height:100%}
.sn-src{display:grid;grid-template-columns:24px minmax(0,1fr) auto;column-gap:14px;align-items:center;min-height:56px}
.sn-src+.sn-src{border-top:1px solid var(--bdr)}
.sn-ri{display:flex;color:var(--t2)}
.sn-ri svg{width:22px;height:22px;stroke:currentColor}
.sn-l{font-size:15px;font-weight:500;line-height:20px;min-width:0}
.sn-l small{display:block;font-size:12px;font-weight:400;color:var(--t2);line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sn-src b{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.sn-dot{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:1px}
.sn-dn{display:flex;align-items:center;gap:18px}
.sn-dn svg{width:112px;height:112px;flex:none}
.sn-dc{font-size:14px;font-weight:600;fill:var(--text);font-family:inherit}
.sn-ds{font-size:11px;fill:var(--t2);font-family:inherit}
.sn-lg{flex:1;min-width:0}
.sn-lr{display:grid;grid-template-columns:10px minmax(0,1fr) auto 34px;gap:8px;align-items:center;min-height:30px;font-size:13px}
.sn-lr i{width:10px;height:10px;border-radius:3px}
.sn-lr b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.sn-lr em{font-style:normal;color:var(--t2);text-align:right;font-size:12px;font-variant-numeric:tabular-nums}
.sn-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sn-tl{background:var(--sur);border-radius:14px;box-shadow:var(--sh);padding:12px 14px;min-width:0}
.sn-tl small{display:block;font-size:12px;color:var(--t2)}
.sn-tl b{display:block;font-size:20px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:2px}
.sn-tl b em{font-style:normal;font-size:13px;font-weight:500;color:var(--t2);margin-left:3px}
.sn-tl span{display:block;font-size:12px;color:var(--t2);margin-top:2px}
.sn-tl span i{font-style:normal;font-size:9px;margin-right:4px;color:var(--t3)}
.sn-tl span i.good{color:var(--green)}
.sn-wk{position:relative;height:10px;border-radius:5px;background:var(--ring-trk);margin:4px 0 6px;overflow:hidden}
.sn-wk i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--text)}
.sn-wkl{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}
.sn-wkl b{font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}
.sn-wkl span{color:var(--t2)}
/* ── v129: the Sleep sheet (need bar, stages ring, the night with heart rate, sleep window) ── */
.sl-need{position:relative;height:8px;border-radius:4px;background:var(--ring-trk);margin:14px 0 6px}
.sl-need i{position:absolute;top:0;bottom:0;left:0;border-radius:4px;background:var(--teal)}
.sl-need u{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-2px;background:var(--text)}
.sl-nl{display:flex;justify-content:space-between;font-size:11px;color:var(--t3);font-variant-numeric:tabular-nums}
.sn-dn.sl-ring svg{width:120px;height:120px}
.sn-dn .sn-lr{grid-template-columns:10px minmax(0,1fr) auto;grid-template-areas:"i s b" ". e b";column-gap:8px;row-gap:0;min-height:36px}
.sn-dn .sn-lr i{grid-area:i}
.sn-dn .sn-lr span{grid-area:s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sn-dn .sn-lr b{grid-area:b}
.sn-dn .sn-lr em{grid-area:e;text-align:left;line-height:14px}
.dt-row b small{display:block;font-size:12px;font-weight:400;color:var(--t2);text-align:right;margin-top:1px}
.dt-row b small i{font-style:normal;font-size:9px;margin-right:3px}
.dt-hy svg,.sl-win svg{display:block;width:100%;height:auto}
.dt-hy text,.sl-win text{font-size:10px;font-family:inherit;font-variant-numeric:tabular-nums}
.sl-win .dy-m{margin-top:8px}

/* v129: Health (baselines, blood markers, injuries, report) */
#pg-health .kh{display:flex;align-items:center;min-height:32px;margin-bottom:8px}
#pg-health .kh b{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:20px}
#pg-health .rf-v em,#pg-health .vv em{font-style:normal;font-weight:500;font-size:13px;color:var(--t2)}
#pg-health .ksub{font-size:12px;color:var(--t2);margin:-6px 0 4px}
.br2{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;column-gap:12px;align-items:center;min-height:64px;padding:10px 0;border-top:1px solid var(--bdr);cursor:pointer}
#pg-health .ksub+.br2{border-top:0}
.br2:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
.br2 .t b{display:block;font-size:15px;font-weight:600;line-height:20px}
.br2 .t small{display:block;font-size:12px;color:var(--t2);line-height:16px;margin-top:1px}
.br2 .vv{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.br2 .vv b{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;line-height:20px}
.br2 .vv small{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--t2);white-space:nowrap;margin-top:1px}
.br2 .vv i{font-style:normal;font-size:9px;line-height:1;color:var(--t3)}
.br2.good .vv i{color:var(--green)}.br2.warn .vv i{color:var(--amber)}.br2.bad .vv i{color:var(--red)}
.br2>.ui-i{width:18px;height:18px;color:var(--t3)}
.bx{padding:4px 0 12px}
.bx .vc-hd{margin-bottom:8px}
.bx .vc-mean{font-size:14px;line-height:1.4;margin:10px 0 2px}
.wm{margin-top:10px;border-top:1px solid var(--bdr)}
.wm summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;list-style:none}
.wm summary::-webkit-details-marker{display:none}
.wm summary b{font-size:14px;font-weight:600;color:var(--t2)}
.wm summary .ui-i{width:18px;height:18px;color:var(--t3);transition:transform .15s}
.wm[open] summary .ui-i{transform:rotate(180deg)}
.wm p{font-size:13px;line-height:1.45;color:var(--t2);padding-bottom:4px}
.inj{display:grid;grid-template-columns:24px minmax(0,1fr) auto;column-gap:14px;align-items:center;min-height:64px;padding:10px 0;border-top:1px solid var(--bdr)}
.inj:first-child{border-top:0}
.inj>.ui-i{width:22px;height:22px;color:var(--t2)}
.inj .t b{display:block;font-size:15px;font-weight:600;line-height:20px}
.inj .t small{display:block;font-size:13px;color:var(--t2);line-height:18px;margin-top:1px}
.hl-none{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-size:14px;color:var(--t2)}
.sbtn{height:44px;padding:0 14px;border:1px solid var(--bdr);border-radius:10px;font:600 14px var(--body);white-space:nowrap;background:none;color:var(--text);cursor:pointer}
.sbtn:active{background:var(--sur2)}
#pg-health .ptx{font-size:14px;line-height:1.45;color:var(--t2);margin-bottom:12px}
#pg-health .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#pg-health .two button{margin-top:0;font-size:15px;font-weight:600}

/* v129: Log (progress card, one card per group, list rows with status, check-in words, switch, workout menu) */
#pg-log .lg-prog{background:var(--sur);border-radius:14px;box-shadow:var(--sh);padding:16px;margin:12px 0 0;font-size:13px;color:var(--t2)}
.lp-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.lp-h b{display:block;font-size:17px;font-weight:600;line-height:22px;color:var(--text)}
.lp-h small{display:block;font-size:12px;color:var(--t2);line-height:16px}
.lp-h>span:last-child{font-size:15px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.lp-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:12px}
.lp-seg i{display:block;height:6px;border-radius:3px;background:var(--bdr)}
.lp-seg i.ok{background:var(--green)}.lp-seg i.pt{background:var(--amber)}
.lp-n{font-size:13px;line-height:18px;color:var(--t2);margin-top:10px}
#pg-log .lg-grp{font-size:17px;font-weight:600;line-height:22px;color:var(--text);margin:24px 4px 8px}
.lg-card{background:var(--sur);border-radius:14px;box-shadow:var(--sh);margin-bottom:12px}
#pg-log .lg-card .log-sec{background:none;box-shadow:none;border:0;border-top:1px solid var(--bdr);border-radius:0;padding:0;margin:0;overflow:visible}
#pg-log .lg-card .log-sec:first-child{border-top:0}
#pg-log .log-hdr{display:grid;grid-template-columns:24px minmax(0,1fr) 22px 18px;column-gap:14px;align-items:center;min-height:64px;padding:10px 16px;border-radius:14px}
#pg-log .log-hdr.c3{grid-template-columns:24px minmax(0,1fr) 18px}
#pg-log .log-hdr:active{background:var(--sur2)}
#pg-log .log-hdr:focus-visible{outline:2px solid var(--t3);outline-offset:-2px}
#pg-log .log-ico,#pg-log .log-sec.done .log-ico,#pg-log .log-sec.part .log-ico{width:24px;height:24px;border-radius:0;background:none;color:var(--t2)}
#pg-log .log-ico .ui-i{width:22px;height:22px}
#pg-log .log-title{font-size:15px;font-weight:600;line-height:20px}
#pg-log .log-stat,#pg-log .log-sec.part .log-stat{font-size:13px;line-height:18px;color:var(--t2);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pg-log .log-sec.part .log-stat::before,#pg-log .log-sec.done .log-stat::before{content:none}
.log-st{display:flex;align-items:center;justify-content:center;line-height:0}
.log-st .ui-i{width:22px;height:22px;color:var(--bdr)}
.log-st.ok .ui-i{color:var(--green)}.log-st.pt .ui-i{color:var(--amber)}
#pg-log .log-chev{display:flex;align-items:center;padding:0}
#pg-log .log-chev .ui-i{width:18px;height:18px;color:var(--t3)}
#pg-log .log-sec.open .log-chev{transform:rotate(180deg)}
#pg-log .log-body{border-top:0;padding:0 16px 16px}
#pg-log .log-body>.card{background:none;box-shadow:none;border:0;border-radius:0;padding:0;margin:0}
#mindCard>.sec{display:none}
.lg-sh{font-size:13px;font-weight:600;line-height:18px;color:var(--t2);margin:16px 0 4px}
.lg-sh:first-child{margin-top:4px}
/* check-in: one question per row, the chosen word beside the label */
#pg-log #ciCard>.sec{display:none}
#pg-log :is(#lCheckin,#lEve) .ci-row{margin:0;padding:14px 0;border-top:1px solid var(--bdr)}
#pg-log :is(#lCheckin,#lEve) .ci-row:first-of-type{border-top:0;padding-top:4px}
.ci-q{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.ci-q b{font-size:14px;font-weight:600;color:var(--text)}
.ci-w{font-size:13px;color:var(--t2);text-align:right}
.ci-w.on{color:var(--text);font-weight:600}
#pg-log .ci-btn{background:transparent;border:1px solid var(--bdr);border-radius:12px;color:var(--t2);box-shadow:none}
#pg-log :is(#lCheckin,#lEve) .ci-btn{min-height:52px}
#pg-log .ci-btn .face{width:28px;height:28px;color:var(--t3)}
#pg-log :is(#lCheckin,#lEve) .ci-txt .ci-btn{min-height:44px;border-radius:10px;font-size:14px}
#pg-log .ci-btn.sel{background:transparent;border-color:var(--text);box-shadow:inset 0 0 0 .5px var(--text);color:var(--text);font-weight:600}
#pg-log .ci-btn.sel .face{color:var(--text)}
.ci-qn{font-size:12px;line-height:16px;color:var(--t2);margin:-6px 0 12px}
.ci-sw{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:4px 0;border-top:1px solid var(--bdr);font-size:14px;font-weight:600;color:var(--text);cursor:pointer}
.ci-sw input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.tgl{position:relative;flex:none;width:44px;height:26px;border-radius:13px;background:var(--bdr);transition:background .15s}
.tgl::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.ci-sw input:checked+.tgl{background:var(--text)}
.ci-sw input:checked+.tgl::after{left:21px;background:var(--sur)}
.ci-sw input:focus-visible+.tgl{outline:2px solid var(--t3);outline-offset:2px}
.ci-fl{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;color:var(--text);padding-top:14px;margin:0 0 8px;border-top:1px solid var(--bdr)}
.ci-fl span{font-size:13px;font-weight:400;color:var(--t2)}
#pg-log .ci-note{background:var(--bg);border-radius:10px;font-size:15px}
#pg-log .ci-note:focus{border-color:var(--text)}
#pg-log .ci-sum{display:none}
/* folds: sleep details, date effort pain and note */
#pg-log .sl-more{margin:16px 0;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr)}
#pg-log .sl-more summary{display:flex;align-items:center;min-height:48px;font-size:15px;font-weight:600;color:var(--text);list-style:none;cursor:pointer}
#pg-log .sl-more summary::-webkit-details-marker{display:none}
#pg-log .sl-more summary small{font-size:13px;font-weight:400;color:var(--t2);margin-left:6px}
#pg-log .sl-more summary::after{content:"";width:7px;height:7px;margin:0 6px 4px auto;border-right:1.8px solid var(--t3);border-bottom:1.8px solid var(--t3);transform:rotate(45deg);transition:transform .15s}
#pg-log .sl-more[open] summary::after{transform:rotate(-135deg);margin-bottom:-4px}
#pg-log .sl-more[open]{padding-bottom:12px}
#pg-log .btn-out{margin-top:8px}
/* workout rows: icon, text, a ⋯ menu with Edit and Delete */
#wkRecent .act-item{display:grid;grid-template-columns:24px minmax(0,1fr) 44px;column-gap:14px;align-items:center;min-height:60px;padding:8px 0;border-bottom:0;border-top:1px solid var(--bdr);position:relative}
#wkRecent .lg-sh+.act-item{border-top:0}
#wkRecent .act-icon,#wkRecent .act-icon.past,#wkRecent .act-icon.today{width:24px;height:24px;border-radius:0;background:none;color:var(--t2)}
#wkRecent .act-icon .sp-ico{width:22px;height:22px}
#wkRecent .act-name{font-size:15px;line-height:20px}
#wkRecent .act-meta{font-family:inherit;font-size:13px;line-height:18px;color:var(--t2)}
#wkRecent .act-notes{font-style:normal;font-size:13px;color:var(--t2)}
.wk-mo{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:none;color:var(--t2);cursor:pointer}
.wk-mo .ui-i{width:22px;height:22px}
.wk-mo.on,.wk-mo:active{background:var(--sur2)}
.wk-mo:focus-visible{outline:2px solid var(--t3);outline-offset:0}
.wk-menu{position:absolute;right:0;top:54px;z-index:3;width:172px;padding:4px 0;background:var(--sur);border:1px solid var(--bdr);border-radius:12px;box-shadow:var(--navsh)}
.wk-menu[hidden]{display:none}
.wk-menu button{display:flex;align-items:center;gap:12px;width:100%;height:44px;padding:0 14px;border:0;background:none;color:var(--text);font:500 15px var(--body);text-align:left;cursor:pointer}
.wk-menu button .ui-i{width:20px;height:20px;color:var(--t2)}
.wk-menu button:active,.wk-menu button:focus-visible{background:var(--sur2);outline:0}
.wk-menu button.del,.wk-menu button.del .ui-i{color:var(--red)}
#mindCard .chip{display:inline-flex;align-items:center;gap:6px}
#mindCard .chip .ui-i{width:16px;height:16px}

/* ── v130: the workout sheet: the line on a session recorded twice, number tiles and sections as cards, the route and the map ── */
.wk-dup2{display:flex;align-items:center;gap:12px;margin-top:14px;padding:8px 8px 8px 14px;background:var(--sur);border-radius:14px;box-shadow:var(--sh)}
.wk-dup2 .ui-i{flex:none;width:20px;height:20px;color:var(--t2)}
.wk-dup2 p{flex:1;margin:0;font-size:13px;line-height:1.4;color:var(--t2)}
.wk-dup2 button{flex:none;min-height:44px;padding:0 12px;border:1px solid var(--bdr);border-radius:10px;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}
.wk-dup2 button:focus-visible{outline:2px solid var(--t3);outline-offset:1px}
.wk-grid>div{background:var(--sur);box-shadow:var(--sh)}
.wk-mix{margin-bottom:10px}
.wk-zns{gap:8px}
.dt-sec em{font-style:normal;font-weight:500;color:var(--t3);margin-left:6px}
.wk-rt{display:block;width:100%;height:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.wk-rt path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.wk-rt .rt-cs{stroke:var(--sur);stroke-width:7}
.wk-rt .rt-l{stroke:var(--text);stroke-width:3.6}
.wk-rt .rt-l.easy{stroke:var(--green)}
.wk-rt .rt-l.steady{stroke:var(--amber)}
.wk-rt .rt-l.hard{stroke:var(--red)}
.wk-rt .rt-k{fill:var(--sur);stroke:var(--t2);stroke-width:1.4}
.wk-km{font-size:10px;font-weight:500;fill:var(--t2);text-anchor:middle;paint-order:stroke;stroke:var(--sur);stroke-width:3px;stroke-linejoin:round}
.wk-rt .rt-f{fill:var(--sur);stroke:var(--text);stroke-width:2.2}
.wk-rt .rt-s{fill:var(--text);stroke:var(--sur);stroke-width:2}
.wk-rt .rt-h1{fill:var(--text);opacity:.14}
.wk-rt .rt-h2{fill:var(--text);stroke:var(--sur);stroke-width:2}
.wk-lg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--t2)}
.wk-lg span{display:inline-flex;align-items:center;gap:6px}
.wk-lg i{width:14px;height:4px;border-radius:2px;background:var(--text)}
.wk-lg i.easy{background:var(--green)}
.wk-lg i.steady{background:var(--amber)}
.wk-lg i.hard{background:var(--red)}
.wk-lg i.s{width:10px;height:10px;border-radius:50%;background:var(--text)}
.wk-lg i.f{width:10px;height:10px;border-radius:50%;background:transparent;border:2px solid var(--text);box-sizing:border-box}
.wk-lg i.k{width:8px;height:8px;border-radius:50%;background:transparent;border:1.4px solid var(--t2);box-sizing:border-box}
.wk-lg .by{color:var(--t3)}
.wk-bo{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:12px;border:1px solid var(--bdr);border-radius:12px;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}
.wk-bo .ui-i{width:20px;height:20px}
.wk-bo:disabled{color:var(--t3);cursor:default}
.wk-bo:focus-visible{outline:2px solid var(--t3);outline-offset:1px}
.wk-mpn{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--t3)}
.wk-mpn:empty{display:none}
.wk-mpw{position:relative;border-radius:10px;overflow:hidden;transform:translateZ(0)}
.wk-mpw .wk-mp{height:300px;background:var(--sur2);font-family:inherit}
.wk-zm{position:absolute;left:8px;top:8px;z-index:1000;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.wk-zm button{width:44px;height:44px;padding:0;border:0;background:#FFFFFF;display:grid;place-items:center;cursor:pointer}
.wk-zm button+button{border-top:1px solid #D5D8DD}
.wk-zm .ui-i{width:20px;height:20px;color:#14171C}
.wk-zm button:focus-visible{outline:2px solid #14171C;outline-offset:-2px}
.wk-mpw .wk-mp .leaflet-control-attribution{background:rgba(255,255,255,.82);color:#333;font-size:10px;line-height:16px;padding:0 6px;border-top-left-radius:6px}
.wk-mpw .wk-mp .leaflet-control-attribution a{color:#333;text-decoration:underline}
.wk-mp path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1}
.wk-mp path.rt-cs{stroke:var(--sur);stroke-width:7}
.wk-mp path.rt-l{stroke:var(--text);stroke-width:3.6}
.wk-mp path.rt-l.easy{stroke:var(--green)}
.wk-mp path.rt-l.steady{stroke:var(--amber)}
.wk-mp path.rt-l.hard{stroke:var(--red)}
.wk-mp path.rt-k{fill:var(--sur);fill-opacity:1;stroke:var(--t2);stroke-width:1.4}
.wk-mp path.rt-f{fill:var(--sur);fill-opacity:1;stroke:var(--text);stroke-width:2.2}
.wk-mp path.rt-s{fill:var(--text);fill-opacity:1;stroke:var(--sur);stroke-width:2}
.wk-mp path.rt-h1{fill:var(--text);fill-opacity:.14;stroke:none}
.wk-mp path.rt-h2{fill:var(--text);fill-opacity:1;stroke:var(--sur);stroke-width:2}
.wk-mk{font-size:10px;line-height:14px;font-weight:500;color:#3D434C;white-space:nowrap;text-shadow:0 0 2px #FFFFFF,0 0 2px #FFFFFF,0 0 3px #FFFFFF}
:root[data-theme="dark"] .wk-mp .leaflet-tile-pane{filter:brightness(.7) saturate(.8)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wk-mp .leaflet-tile-pane{filter:brightness(.7) saturate(.8)}}
/* v131: sleep debt, naps, daily activity from one source */
.sn-tl b.sn-nr,.sn-src b.sn-nr{color:var(--t2);font-weight:500}
.sn-set{width:auto;padding:0 18px;margin-top:12px;min-height:44px}
.sn-why{margin-top:8px}
.da{display:block;background:var(--sur);border-left:3px solid var(--amber);border-radius:0 14px 14px 0;box-shadow:var(--sh);padding:10px 14px 14px;margin:12px 0;cursor:pointer}
.da.bad{border-left-color:var(--red)}.da.ok{border-left-color:var(--green)}
.da:focus-visible{outline:2px solid var(--t3);outline-offset:2px}
.dah{display:grid;grid-template-columns:24px minmax(0,1fr) auto 18px;column-gap:12px;align-items:center;min-height:44px}
.dah .dai{width:22px;height:22px;color:var(--amber)}
.da.bad .dai{color:var(--red)}.da.ok .dai{color:var(--green)}
.dah .l{font-size:15px;font-weight:500}
.dah .da-go{width:18px;height:18px;color:var(--t3)}
.da .rf-g{color:var(--amber)}.da.bad .rf-g{color:var(--red)}.da.ok .rf-g{color:var(--green)}
.da p{font-size:14px;line-height:1.4;color:var(--t2);margin-top:4px}
.g-num.sm{font-size:19px}
.dbh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.dbh b{display:block;font-size:24px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums}
.dbh small{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--t2);margin-top:2px}
.dbh small i{font-style:normal;font-size:9px}
.dbh .r{text-align:right}.dbh .r span{display:block;font-size:12px;color:var(--t2)}
.dbh .r em{display:block;font-style:normal;font-size:15px;font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}
#dtDebt svg{display:block;width:100%;height:auto;touch-action:manipulation;cursor:pointer}
#dtDebt svg text{font-size:10px;font-variant-numeric:tabular-nums}
.dlg{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--t2);margin-top:8px}
.dlg span{display:flex;align-items:center;gap:5px}.dlg i{display:inline-block;width:10px;height:10px;border-radius:3px}
.dlg i.dn{width:7px;height:7px;border-radius:50%;background:var(--sur);border:1.5px solid var(--t2)}
.db-rd{font-size:13px;color:var(--t2);min-height:20px;margin-top:6px;font-variant-numeric:tabular-nums}

/* v132: Insights, today's call, things to watch, coach summary */
#pg-insights .cp-call{background:var(--sur);border-left:4px solid var(--amber);border-radius:0 14px 14px 0;box-shadow:var(--sh);padding:14px 16px 16px;margin-bottom:12px}
#pg-insights .cp-call.good{border-left-color:var(--green)}#pg-insights .cp-call.bad{border-left-color:var(--red)}#pg-insights .cp-call.rest{border-left-color:var(--t3)}
#pg-insights .cp-k{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--t2)}
#pg-insights .cp-w{font-size:28px;font-weight:600;line-height:1.15;margin-top:4px;color:var(--text)}
#pg-insights .cp-s{font-size:14px;line-height:1.4;color:var(--t2);margin-top:4px}
#pg-insights .cp-ses{background:var(--bg);border-radius:12px;padding:12px;margin-top:12px}
#pg-insights .cp-h{display:flex;align-items:center;gap:8px}#pg-insights .cp-h svg{width:20px;height:20px;flex:none;stroke:var(--text)}
#pg-insights .cp-h b{font-size:16px;font-weight:600}
#pg-insights .cp-ses>span{display:block;font-size:13px;color:var(--t2);margin-top:4px;line-height:1.35}
#pg-insights .cp-stp{display:flex;gap:2px;height:8px;border-radius:4px;overflow:hidden;margin-top:10px}
#pg-insights .cp-stl{display:flex;justify-content:space-between;font-size:11px;color:var(--t2);margin-top:5px}
#pg-insights .cp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}
#pg-insights .cp-cl{font-size:13px;color:var(--t2);margin-right:2px}
#pg-insights .cp-chip{min-height:44px;padding:0 16px;border:1px solid var(--bdr);border-radius:22px;display:flex;align-items:center;gap:6px;font:inherit;font-size:14px;font-weight:500;background:var(--sur);color:var(--text);cursor:pointer}
#pg-insights .cp-chip svg{width:18px;height:18px;stroke:var(--text)}
#pg-insights .cp-wh{font-size:12px;font-weight:600;color:var(--t2);margin:14px 0 2px}
#pg-insights .cp-wy{display:grid;grid-template-columns:10px minmax(0,1fr) auto;column-gap:10px;align-items:center;min-height:36px;font-size:14px}
#pg-insights .cp-wy>i{width:8px;height:8px;border-radius:50%;background:var(--t3)}
#pg-insights .cp-wy.warn>i{background:var(--amber)}#pg-insights .cp-wy.bad>i{background:var(--red)}#pg-insights .cp-wy.good>i{background:var(--green)}
#pg-insights .cp-wy em{font-style:normal;font-size:13px;color:var(--t2);text-align:right;white-space:nowrap}
#pg-insights .cp-nx{font-size:13px;line-height:1.4;color:var(--t2);border-top:1px solid var(--bdr);margin-top:12px;padding-top:10px}
#pg-insights .cp-hd2{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--t2);margin:16px 4px 8px}
#pg-insights .cp-cnt{min-width:22px;height:22px;border-radius:11px;background:var(--sur2);display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--text)}
#pg-insights .cp-cnt.w{background:var(--amber);color:#FFFFFF}
#pg-insights .cp-da{background:var(--sur);border-left:3px solid var(--amber);border-radius:0 14px 14px 0;box-shadow:var(--sh);padding:10px 14px 14px;margin-bottom:12px;cursor:pointer}
#pg-insights .cp-da.bad{border-left-color:var(--red)}#pg-insights .cp-da.ok{border-left-color:var(--green)}
#pg-insights .cp-dah{display:grid;grid-template-columns:24px minmax(0,1fr) auto 18px;column-gap:12px;align-items:center;min-height:44px}
#pg-insights .cp-dai{width:22px;height:22px;stroke:var(--amber)}#pg-insights .cp-da.bad .cp-dai{stroke:var(--red)}#pg-insights .cp-da.ok .cp-dai{stroke:var(--green)}
#pg-insights .cp-dah .cp-l{font-size:15px;font-weight:500}
#pg-insights .cp-vv{display:flex;flex-direction:column;align-items:flex-end}
#pg-insights .cp-vv b{font-size:15px;font-weight:600}
#pg-insights .cp-vv small{display:flex;gap:4px;font-size:12px;color:var(--t2)}
#pg-insights .cp-vv i{font-style:normal;font-size:9px;color:var(--amber)}
#pg-insights .cp-da.bad .cp-vv i,#pg-insights .cp-vv.bad i{color:var(--red)}#pg-insights .cp-da.ok .cp-vv i,#pg-insights .cp-vv.good i{color:var(--green)}
#pg-insights .cp-da p{font-size:14px;line-height:1.4;color:var(--t2);margin-top:4px}
#pg-insights .cp-card{background:var(--sur);border-radius:14px;box-shadow:var(--sh);padding:16px;margin-bottom:12px}
#pg-insights .cp-ch{display:flex;align-items:center;gap:8px;margin-bottom:10px}
#pg-insights .cp-ch b{font-size:15px;font-weight:600;flex:1}#pg-insights .cp-ch span{font-size:12px;color:var(--t2)}
#pg-insights .cp-cr>summary{list-style:none;display:grid;grid-template-columns:24px minmax(0,1fr) 18px;column-gap:12px;align-items:center;min-height:60px;border-top:1px solid var(--bdr);padding:8px 0;cursor:pointer}
#pg-insights .cp-cr>summary::-webkit-details-marker{display:none}
#pg-insights .cp-cr[open] .cp-chev{transform:rotate(90deg)}
#pg-insights .cp-cr .cp-l b{display:block;font-size:15px;font-weight:500}
#pg-insights .cp-cr .cp-l small{display:flex;align-items:baseline;gap:5px;font-size:13px;color:var(--t2);line-height:1.35;margin-top:2px}
#pg-insights .cp-cr .cp-l small i{font-style:normal;font-size:9px;color:var(--t3)}
#pg-insights .cp-cr.good .cp-l small i{color:var(--green)}#pg-insights .cp-cr.warn .cp-l small i{color:var(--amber)}#pg-insights .cp-cr.bad .cp-l small i{color:var(--red)}
#pg-insights .cp-cx{padding:0 0 16px}
#pg-insights .cp-sm{font-size:14px;line-height:1.4;margin:10px 0;color:var(--text)}
#pg-insights .cp-ri{width:22px;height:22px;stroke:var(--t2)}
#pg-insights .cp-chev{width:18px;height:18px;stroke:var(--t3);stroke-width:2}
#pg-insights .cp-tiles3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
#pg-insights .cp-tiles3 div{background:var(--bg);border-radius:12px;padding:10px;min-width:0}
#pg-insights .cp-tiles3 small{display:block;font-size:11px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pg-insights .cp-tiles3 b{display:block;font-size:16px;font-weight:600;white-space:nowrap;margin-top:3px}
#pg-insights .cp-tiles3 em{display:block;font-style:normal;font-size:11px;color:var(--t2)}
#pg-insights .cp-kv{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;min-height:48px;border-top:1px solid var(--bdr);font-size:14px}
#pg-insights .cp-kv .cp-l small{display:block;font-size:12px;color:var(--t2)}
#pg-insights .cp-kv .cp-vv small{justify-content:flex-end}
#pg-insights .cp-note{font-size:12px;color:var(--t2);margin:6px 4px 0;line-height:1.35}
#pg-insights .cp-fd{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center;min-height:36px;font-size:14px}
#pg-insights .cp-fd+.cp-fd{border-top:1px solid var(--bdr)}#pg-insights .cp-fd>span:last-child{font-size:13px;color:var(--t2);white-space:nowrap}
#pg-insights .cp-tm{display:grid;grid-template-columns:62px minmax(0,1fr);column-gap:10px;padding:9px 0;border-top:1px solid var(--bdr);font-size:14px;line-height:1.4}
#pg-insights .cp-tm b{font-size:13px;font-weight:600;color:var(--t2)}
#pg-insights .cp-bar{height:8px;border-radius:4px;background:var(--sur2);overflow:hidden;margin:6px 0 4px}
#pg-insights .cp-bar i{display:block;height:8px;background:var(--text)}
#pg-insights .cp-brl{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--t2)}
#pg-insights .cp-mx{position:relative;margin:24px 0 6px}
#pg-insights .cp-bb{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px}
#pg-insights .cp-tz{position:absolute;top:-5px;bottom:-5px;border:1.5px solid var(--text);border-radius:4px}
#pg-insights .cp-tl2{position:absolute;top:-22px;font-size:11px;color:var(--t2);transform:translateX(-30%);white-space:nowrap}
#pg-insights .cp-mlg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--t2);margin-top:8px}
#pg-insights .cp-mlg span{display:flex;align-items:center;gap:4px}#pg-insights .cp-mlg i{width:10px;height:10px;border-radius:3px}
#pg-insights .cp-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px}
#pg-insights .cp-seg button{min-height:44px;border:1px solid var(--bdr);border-radius:12px;background:transparent;color:var(--text);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
#pg-insights .cp-seg .on{border:1.5px solid var(--text);font-weight:600}
#pg-insights .cp-wk{display:grid;grid-template-columns:74px minmax(0,1fr) 84px;column-gap:10px;align-items:center;min-height:46px;font-size:13px}
#pg-insights .cp-wk+.cp-wk{border-top:1px solid var(--bdr)}
#pg-insights .cp-t{height:10px;border-radius:5px;background:var(--sur2);overflow:hidden}
#pg-insights .cp-t i{display:block;height:10px;background:var(--text)}#pg-insights .cp-t i.lt{background:var(--t3)}
#pg-insights .cp-d{color:var(--t2)}#pg-insights .cp-d.on{color:var(--text);font-weight:600}
#pg-insights .cp-wk .cp-v{text-align:right}#pg-insights .cp-wk .cp-v b{display:block;font-size:13px;font-weight:600}#pg-insights .cp-wk .cp-v small{font-size:11px;color:var(--t2)}
#pg-insights .cp-sub{border-top:1px solid var(--bdr);margin:14px 0 0;padding:14px 0 0}
#pg-insights .cp-call .cp-sub{margin:14px -16px 0;padding:14px 16px 0}
#pg-insights .cp-sh2{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
#pg-insights .cp-sh2 b{font-size:14px;font-weight:600}#pg-insights .cp-sh2 span{font-size:12px;color:var(--t2)}
#pg-insights .cp-hp,#pg-insights .cp-hpx{display:grid;grid-template-columns:minmax(0,1fr) 104px 52px;column-gap:10px;align-items:center}
#pg-insights .cp-hp{min-height:44px;font-size:14px}#pg-insights .cp-hpx{font-size:10px;color:var(--t3)}
#pg-insights .cp-b{position:relative;height:14px}
#pg-insights .cp-b::before{content:'';position:absolute;left:50%;top:-3px;bottom:-3px;border-left:1px solid var(--t3)}
#pg-insights .cp-b i{position:absolute;top:0;height:14px;border-radius:3px}
#pg-insights .cp-hp .cp-v{font-size:13px;font-weight:600;text-align:right}
#pg-insights .cp-ul{list-style:none;font-size:14px;line-height:1.4;margin:0;padding:0}
#pg-insights .cp-ul li{position:relative;padding:5px 0 5px 14px}
#pg-insights .cp-ul li::before{content:'';position:absolute;left:2px;top:12px;width:5px;height:5px;border-radius:50%;background:var(--t2)}
#pg-insights .cp-dr{background:var(--bg);border-left:3px solid var(--red);border-radius:0 12px 12px 0;padding:12px 12px 8px;margin-top:12px}
#pg-insights .cp-dr b{display:block;font-size:14px;font-weight:600;margin-bottom:2px}
#pg-insights .cp-ro{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:-2px 0 8px}
#pg-insights .cp-ro b{font-size:22px;font-weight:600}#pg-insights .cp-ro span{font-size:12px;color:var(--t2)}
/* v132: the briefing card, the questions under it, and the This week / Earlier briefings rows */
#pg-insights .ins-lead{font-size:14px;line-height:1.45;color:var(--text);margin-bottom:12px}
#pg-insights .ins-lead small{display:block;font-size:12px;font-weight:600;color:var(--t2);margin-bottom:4px}
#pg-insights .ins-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;border:1px solid var(--bdr);border-radius:22px;background:transparent;color:var(--text);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
#pg-insights .ins-more .ui-i{width:18px;height:18px}
#pg-insights .ins-regen{min-height:44px;margin:0 0 10px}
#pg-insights .ins-card .ins-gen{margin-top:0}
#pg-insights .ins-qs{flex-direction:row;flex-wrap:wrap;gap:8px;margin:0 0 4px}
#pg-insights .ins-qc{min-height:44px;padding:10px 14px;border:1px solid var(--bdr);border-radius:14px;background:transparent;color:var(--text);font:inherit;font-size:14px;line-height:1.3;text-align:left;cursor:pointer}
#pg-insights .ins-th{display:flex;flex-direction:column;gap:8px}
#pg-insights .ins-th .ins-q{align-self:flex-end;max-width:84%;background:var(--sur2);border-radius:14px 14px 4px 14px;padding:10px 12px;font-size:14px;font-weight:500;line-height:1.4;margin-top:8px}
#pg-insights .ins-th .ins-a{font-size:14px;line-height:1.45;margin-top:0}
#pg-insights .ins-ask{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;margin-top:12px}
#pg-insights .ins-ask .inp{height:44px;border-radius:22px;background:var(--bg);padding:0 16px;margin:0}
#pg-insights .ins-send{width:44px;height:44px;border-radius:50%;border:0;padding:0;background:var(--text);color:var(--sur);display:grid;place-items:center;cursor:pointer}
#pg-insights .ins-send .ui-i{width:20px;height:20px;stroke-width:2}
#pg-insights .ins-qh{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--t2);margin-top:8px}
#pg-insights .ins-rows{padding:0;overflow:hidden}
#pg-insights .ins-rowc{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:56px;padding:0 16px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
#pg-insights .ins-rowc[hidden]{display:none}
#pg-insights .ins-rowc b{font-size:15px;font-weight:600}
#pg-insights .ins-rowc .r{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--t2)}
#pg-insights .ins-rx+.ins-rowc{border-top:1px solid var(--bdr)}
#pg-insights .ins-chev{width:18px;height:18px;stroke:var(--t3);stroke-width:2}
#pg-insights .ins-rowc[aria-expanded="true"] .ins-chev{transform:rotate(90deg)}
#pg-insights .ins-rx{padding:0 16px 16px}
#pg-insights .ins-rows .ins-hist-sec{margin-top:0}
#pg-insights .ins-rx .arch-trend{background:var(--sur2);box-shadow:none;border-radius:12px;padding:12px 14px;margin:0 0 4px}
#pg-insights .ins-rx .ins-hi{border-top:1px solid var(--bdr);margin:0}
#pg-insights .ins-rx .ins-hi-hdr{min-height:48px;padding:0}
#pg-insights .ins-rx .ins-hi-date{font-size:14px;color:var(--text)}
#pg-insights .ins-rx .ins-hi-arch{font-size:13px;font-weight:500;color:var(--t2)}
#pg-insights .ins-rx .ins-hi-prev{display:none}
#pg-insights .ins-rx .ins-hi-body{padding:0 0 12px;border-top:0}
#pg-insights .ins-rx .ins-hi-text{font-size:14px;color:var(--text);line-height:1.45}
/* v133: naps in Log > Sleep */
#pg-log .sl-nh{font-size:13px;font-weight:600;color:var(--t2);margin:4px 0 2px}
#pg-log .sl-nap{display:grid;grid-template-columns:24px minmax(0,1fr) 44px;column-gap:14px;align-items:center;min-height:60px;border-top:1px solid var(--bdr)}
#pg-log .sl-nh+div>.sl-nap:first-child{border-top:0}
#pg-log .sl-nap>.ui-i{width:22px;height:22px;stroke:var(--t2)}
#pg-log .sl-nap b{display:block;font-size:15px;font-weight:600;line-height:20px}
#pg-log .sl-nap small{display:block;font-size:13px;color:var(--t2);line-height:18px}
#pg-log .sl-nx{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--t2);padding:0;cursor:pointer}
#pg-log .sl-nx .ui-i{width:20px;height:20px}
#pg-log .sl-naps>.fl{margin-top:12px}
#pg-log .sl-nadd{margin-top:8px}
/* ── v133: Your day chart ── */
.dy-nav{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.dy-nav[hidden]{display:none}
.dy-nav .wk-chs{margin:0;flex-wrap:nowrap}
.dy-nav .wk-ch{min-width:44px}
.dy-pg{display:flex;gap:8px;margin-left:auto}
.dy-pg[hidden]{display:none}
.dy-sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.dy-sw.sl{background:var(--teal-l);border:1px solid var(--teal)}
.dy-sw.wo{background:var(--sur2);border:1px solid var(--bdr)}
.dy-sw.bo{background:repeating-linear-gradient(45deg,var(--t3) 0 1px,transparent 1px 4px);border:1px solid var(--bdr)}

/* ── v135: Monitor (blood pressure read over Bluetooth, Log > Body) ── */
.bp-ble[hidden],.bp-us[hidden]{display:none}
.bp-ble{margin:8px 0 16px}
.bp-or[hidden]{display:none}
/* v139: the typed fields and their Save sit under their own line, apart from the monitor */
.bp-or{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;color:var(--t3)}
.bp-or::before,.bp-or::after{content:'';flex:1;height:1px;background:var(--bdr)}
#pg-log .bp-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:0}
.bp-btn .ui-i{width:20px;height:20px;flex:none}
.bp-st{font-size:13px;color:var(--t2);min-height:0}
#bpBleSt{color:var(--text)}
.bp-st:empty{display:none}
.bp-st:not(:empty){padding-top:6px}
.bp-us{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-top:8px;font-size:14px;color:var(--text)}
.bp-ucs{display:flex;gap:8px}
.bp-uc{min-width:44px;min-height:44px;border-radius:10px;border:1px solid var(--bdr);background:transparent;color:var(--text);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.bp-uc[aria-pressed="true"]{border-color:var(--text)}
.bp-set{padding:8px 0}
/* v137: Health baselines rows keep the label whole and let the line under the value wrap */
#pg-health .rf{grid-template-columns:24px auto minmax(0,1fr)}
#pg-health .rf-l{white-space:nowrap}
#pg-health .rf-r{min-width:0}
#pg-health .rf-n{white-space:normal;align-items:baseline;justify-content:flex-end}

/* ── v140: Scale (weigh-ins read over Bluetooth, Log > Body) ── */
#scBleSt{color:var(--text)}
#pg-health .hl-est{font-size:13px;color:var(--t3);padding:4px 0 8px}

/* ── v141: Health baselines rows open a chart in place ── */
#pg-health .rf[role=button]{grid-template-columns:24px auto minmax(0,1fr) 18px;min-height:56px;cursor:pointer}
#pg-health .rf[role=button]>.ui-i:last-child{width:18px;height:18px;color:var(--t3)}
#pg-health .rf[role=button]:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:6px}
#pg-health .rf+.bx{border-top:0}

/* v143: Read details under the scale button */
.sc-det{margin-top:8px;font-size:13px;color:var(--t2)}
.sc-det summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.sc-det pre{white-space:pre-wrap;word-break:break-all;font:12px/1.5 ui-monospace,monospace;background:var(--bg);border-radius:8px;padding:8px;margin:0 0 8px;color:var(--text);max-width:100%;overflow-x:auto}
.sc-det .btn-out{min-height:44px}

/* v144: Use another monitor / scale, under the read button */
.ble-alt{display:block;min-height:44px;padding:0 4px;background:none;border:0;color:var(--t2);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* v145: body fat under the weight chart, and power to weight */
#pg-health .hl-sub{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:16px 0 4px;padding-top:12px;border-top:1px solid var(--bdr);font-size:13px;color:var(--t2)}
#pg-health .hl-sub b{font-size:14px;font-weight:600;color:var(--text)}
#pg-health .hl-pw{font-size:13px;line-height:1.45;color:var(--text);margin:10px 0 0}
/* v146: Settings > Connections and cloud */
.cn{display:flex;flex-direction:column}
.cn-r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--bdr);min-height:44px;align-items:center}
.cn-r:last-child{border-bottom:0}
.cn-l{font-size:14px;color:var(--text);overflow-wrap:anywhere}
.cn-v{font-size:13px;color:var(--t2);text-align:right;white-space:nowrap}
.cn-v i{font-style:normal;margin-right:6px}
.cn-n{grid-column:1/-1;font-size:12px;color:var(--t3);overflow-wrap:anywhere}
.cn-ok .cn-v i{color:var(--green)}
.cn-warn .cn-v i{color:var(--amber)}
.cn-bad .cn-v i,.cn-bad .cn-n{color:var(--red)}
.cn-off .cn-v i{color:var(--t3)}
.cn-h{font-size:13px;color:var(--t2);padding:8px 0}
.cn-chk{width:100%}
