@import url('https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');
:root{
  --bg:#15130E;--surface:#1F1B14;--surface-2:#2A251C;--line:#3A3328;
  --steel:#C9C2B4;--muted:#897F6E;
  --ember:#FF6B2C;--ember-bright:#FF9D3D;--ember-deep:#E8431A;
  --cool:#79A6C2;--cool-deep:#3E6B86;--gold:#E9B949;
  --accent:var(--ember);--glow:rgba(255,107,44,0.14);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:var(--bg);color:var(--steel);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body{min-height:100vh;min-height:100dvh;overflow-x:hidden}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
/* Visible focus ring for keyboard / switch users (mouse/touch unaffected). */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ember-bright);outline-offset:2px;border-radius:6px}
.app{max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh;position:relative;transition:background .8s ease}
.app.working{background:radial-gradient(120% 60% at 50% -10%, var(--glow), transparent 60%)}
.app.resting{background:radial-gradient(120% 60% at 50% -10%, rgba(121,166,194,0.12), transparent 60%)}
.dsp{font-family:'Saira Condensed',sans-serif;font-weight:700;letter-spacing:.01em;line-height:.95;text-transform:uppercase}
.mono{font-family:'Space Mono',monospace}
.top{display:flex;align-items:center;justify-content:space-between;padding:calc(22px + env(safe-area-inset-top)) 20px 10px}
.brand{display:flex;align-items:baseline;gap:9px}
.brand .mark{font-family:'Saira Condensed';font-weight:800;font-size:26px;letter-spacing:.02em;color:var(--steel)}
.brand .mark b{color:var(--accent)}
.brand .sub{font-size:10px;letter-spacing:.26em;color:var(--muted);text-transform:uppercase;font-family:'Saira Condensed';font-weight:600}
.screen{padding:8px 20px 130px;animation:fade .45s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* meso chip */
.meso{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin:6px 0 4px}
.meso .wk{font-family:'Saira Condensed';font-weight:800;font-size:30px;line-height:.85;color:var(--accent)}
.meso .wk small{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);font-weight:600}
.meso .info{flex:1;min-width:0}
.meso .info b{font-family:'Saira Condensed';font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.meso .info span{display:block;font-size:11.5px;color:var(--muted);font-family:'Space Mono';margin-top:2px}
.meso.deload .wk{color:var(--cool)}
.meso .adv{font-family:'Saira Condensed';font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:9px;padding:8px 10px;line-height:1.1;text-align:center}
.dotbar{display:flex;gap:4px;margin-top:8px}
.dotbar i{flex:1;height:4px;border-radius:4px;background:var(--surface-2)}
.dotbar i.on{background:var(--accent)}
.dotbar i.now{background:var(--steel)}
.dotbar i.dl.on{background:var(--cool)}

.hero{padding:14px 0 6px}
.hero .k{font-size:12px;letter-spacing:.22em;color:var(--accent);text-transform:uppercase;font-family:'Saira Condensed';font-weight:700}
.hero h1{font-family:'Saira Condensed';font-weight:800;font-size:44px;line-height:.9;text-transform:uppercase;margin:6px 0 4px}
.hero p{color:var(--muted);font-size:13.5px;max-width:42ch}
.row{display:flex;gap:10px;margin:14px 0 4px}
.pillbtn{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px;font-family:'Saira Condensed';font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px;text-align:center}
.pillbtn b{color:var(--accent)}

.cards{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px 16px;display:flex;align-items:center;gap:14px;text-align:left;width:100%;transition:transform .12s,border-color .2s}
.card:active{transform:scale(.985)}
.card.is-today{border-color:rgba(255,107,44,.5)}
.card .idx{font-family:'Saira Condensed';font-weight:800;font-size:30px;color:var(--line);min-width:34px}
.card.is-today .idx{color:var(--accent)}
.card .body{flex:1;min-width:0}
.card .name{font-family:'Saira Condensed';font-weight:700;font-size:21px;text-transform:uppercase}
.card .focus{font-size:12.5px;color:var(--muted);margin-top:1px}
.card .meta{display:flex;gap:14px;margin-top:7px;font-size:11px;color:var(--muted);font-family:'Space Mono'}
.card .meta b{color:var(--steel);font-weight:700}
.card .go{color:var(--muted);font-size:22px}
.tag{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--bg);background:var(--accent);padding:2px 7px;border-radius:20px;font-family:'Saira Condensed';font-weight:700;margin-left:8px;vertical-align:middle}

.back{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;padding:6px 0;margin-bottom:4px;font-family:'Saira Condensed';font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.pv-head .f{color:var(--accent);font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-family:'Saira Condensed';font-weight:700;margin-bottom:4px}
.pv-head h2{font-family:'Saira Condensed';font-weight:800;font-size:38px;text-transform:uppercase;line-height:.92}
.pv-stats{display:flex;gap:8px;margin:16px 0}
.stat{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px 8px;text-align:center}
.stat .n{font-family:'Saira Condensed';font-weight:800;font-size:24px;line-height:1}
.stat .l{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.exlist{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.exrow{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line)}
.exrow .n{font-family:'Space Mono';font-size:12px;color:var(--muted);min-width:22px}
.exrow .nm{flex:1;font-size:14.5px;font-weight:500}
.exrow .nm small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:1px}
.exrow .sr{font-family:'Space Mono';font-size:12px;color:var(--steel);text-align:right}
.exrow .sr span{color:var(--muted)}
.exrow.warm .nm{color:var(--cool)}
.exrow.main .n{color:var(--accent)}

.live-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(14px + env(safe-area-inset-top)) 16px 8px;position:sticky;top:0;z-index:20;background:linear-gradient(180deg,var(--bg) 78%,transparent)}
.clock{font-family:'Space Mono';font-weight:700;font-size:15px;letter-spacing:.04em;display:flex;align-items:center;gap:8px}
.clock .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 1.6s infinite}
.resting .clock .dot{background:var(--cool);box-shadow:0 0 8px var(--cool)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.live-top .rt-chip{font-family:'Saira Condensed';font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface);border:1px solid var(--line);padding:5px 9px;border-radius:20px}
.endbtn{flex:0 0 auto;font-family:'Saira Condensed';font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;color:var(--ember-bright);background:rgba(214,123,74,.12);border:1px solid rgba(214,123,74,.5);padding:11px 22px;border-radius:22px;min-height:46px;min-width:84px}
.endbtn:active{background:rgba(214,123,74,.24)}
.endbtn.armed{color:#15130E;background:var(--ember);border-color:var(--ember);font-weight:800;animation:wakepulse 1.2s ease-in-out infinite}
/* In-app confirm dialog — reliable everywhere (native confirm() is flaky in installed PWAs) */
.modal-ov{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,7,5,.66);backdrop-filter:blur(3px);animation:mfade .15s ease}
.modal{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 20px 16px;box-shadow:0 24px 60px rgba(0,0,0,.5);animation:mrise .2s cubic-bezier(.2,.8,.2,1)}
.modal-h{font-family:'Saira Condensed';font-weight:800;letter-spacing:.02em;font-size:21px;margin-bottom:8px}
.modal-m{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:18px}
.modal-btns{display:flex;gap:10px}
.modal-btns button{flex:1;min-height:50px;border-radius:14px;font-family:'Saira Condensed';font-weight:700;letter-spacing:.04em;font-size:15px;border:1px solid var(--line)}
.modal-cancel{background:var(--surface-2);color:var(--steel)}
.modal-ok{background:var(--ember);color:#15130E;border-color:var(--ember);font-weight:800}
.modal-ok.danger{background:var(--ember-deep);border-color:var(--ember-deep);color:#fff}
@keyframes mfade{from{opacity:0}to{opacity:1}}
@keyframes mrise{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.heatbar{height:5px;background:var(--surface-2);margin:6px 20px 0;border-radius:10px;overflow:hidden}
.heatbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ember-deep),var(--ember),var(--ember-bright));transition:width .5s ease;border-radius:10px}
/* in-session map: warm-up + every exercise, with done / current / upcoming state */
.sessmap{display:flex;gap:6px;overflow-x:auto;padding:9px 20px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sessmap::-webkit-scrollbar{display:none}
.sm-chip{flex:0 0 auto;font-family:'Saira Condensed';font-weight:700;letter-spacing:.02em;font-size:11px;text-transform:uppercase;padding:5px 10px;border-radius:20px;border:1px solid var(--line);color:var(--muted);background:var(--surface);white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}
.sm-chip.done{color:var(--ember-bright);border-color:rgba(255,107,44,.35);opacity:.85}
.sm-chip.cur{color:#15130E;background:linear-gradient(90deg,var(--ember),var(--ember-bright));border-color:transparent}
.sm-chip.up{color:var(--muted);opacity:.7}
.live{padding:14px 20px 150px}
/* warm-up checklist — same visual language as the exercise how-to steps */
.warmlist{list-style:none;margin:8px 0 2px;padding:0}
.warmlist li{position:relative;padding:11px 12px 11px 40px;background:var(--surface);border:1px solid var(--line);border-radius:11px;margin-bottom:7px;font-size:14px;line-height:1.45;color:var(--steel);cursor:pointer;transition:border-color .15s,opacity .15s;box-shadow:var(--ring)}
.warmlist li::before{content:"";position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid var(--muted);border-radius:50%;transition:all .15s}
.warmlist li:active{transform:scale(.99)}
.warmlist li.done{opacity:.55;border-color:rgba(255,107,44,.35)}
.warmlist li.done::before{background:var(--ember);border-color:var(--ember)}
.warmlist li.done::after{content:"✓";position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:800;color:#15130E}
.warmlist li.done .x,.warmlist li.done{text-decoration:none}
/* warm-up phases */
.wphase{margin:14px 0 4px}
.wph-h{display:flex;align-items:center;gap:9px;margin-bottom:2px}
.wph-h .wph-n{flex:0 0 auto;width:22px;height:22px;border-radius:7px;background:var(--surface-2);color:var(--ember-bright);font-family:'Saira Condensed';font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.wph-h .wph-l{flex:1;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:14px;color:var(--steel)}
.wph-h .wph-t{font-family:'Space Mono';font-size:11px;color:var(--muted)}
/* ramp ladder */
.ramp{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin-top:6px;box-shadow:var(--ring)}
.ramp-h{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:var(--muted);margin-bottom:9px}
.ramp-h b{color:var(--gold);font-family:'Space Mono'}
.ramp-steps{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.ramp-step{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-family:'Space Mono';font-size:13px;color:var(--steel)}
.ramp-step small{font-size:9px;color:var(--muted);margin-top:2px}
.ramp-step.work{background:linear-gradient(180deg,var(--ember),var(--ember-deep));border-color:transparent;color:#15130E}
.ramp-step.work small{color:rgba(0,0,0,.6)}
.ramp-x{color:var(--muted);font-size:12px}
.ramp-note{font-size:13px;line-height:1.5;color:var(--muted)}
.exhead .lbl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-family:'Saira Condensed';font-weight:700}
.resting .exhead .lbl{color:var(--cool)}
.exhead h2{font-family:'Saira Condensed';font-weight:800;font-size:31px;text-transform:uppercase;line-height:.92;margin-top:3px}
.setpips{display:flex;gap:5px;margin-top:12px;flex-wrap:wrap}
.pip{width:30px;height:6px;border-radius:6px;background:var(--surface-2)}
.pip.done{background:var(--accent)}
.pip.cur{background:var(--steel)}
.cue{margin-top:13px;font-size:13px;color:var(--muted);line-height:1.5}
.setgoal{margin-top:9px;font-size:13px;line-height:1.5;color:var(--steel);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--ember);border-radius:8px;padding:9px 12px}
.setgoal b{color:var(--text)}
.progwhy{margin-top:9px;font-size:12.5px;line-height:1.45;color:var(--cool);background:rgba(121,166,194,.1);border:1px solid rgba(121,166,194,.3);border-radius:8px;padding:8px 11px}
.prognext{display:flex;flex-direction:column;gap:7px;margin-top:8px;text-align:left}
.prognext .pn-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.prognext .pn-row b{display:block;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:14px;margin-bottom:2px}
.prognext .pn-row span{font-size:12.5px;color:var(--muted);line-height:1.45}
/* ===== WEEKLY VOLUME (Phase 2) ===== */
.volopen{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px 15px;margin:12px 0 4px;box-shadow:var(--ring)}
.volopen .tic{width:22px;height:22px;color:var(--ember-bright);flex:0 0 auto}
.volopen span:not(.fv-go){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.volopen b{font-family:'Saira Condensed';font-weight:800;font-size:15px;letter-spacing:.01em}
.volopen em{font-style:normal;color:var(--muted);font-size:12.5px}
.volopen .fv-go{color:var(--muted);font-size:18px}
.vollist{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.volrow{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.volh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.volh b{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:15px}
.voln{font-family:'Space Mono';font-size:13px;font-weight:700}
.voln.low{color:var(--ember-deep)}.voln.ok{color:var(--gold)}.voln.max{color:var(--cool)}
.volbar{position:relative;height:8px;background:var(--surface-2);border-radius:10px;overflow:hidden}
.volbar .vb-fill{display:block;height:100%;border-radius:10px}
.vb-fill.low{background:var(--ember-deep)}.vb-fill.ok{background:linear-gradient(90deg,var(--gold),var(--ember-bright))}.vb-fill.max{background:var(--cool)}
.volbar .vb-mev{position:absolute;top:-2px;width:2px;height:12px;background:var(--steel);opacity:.7}
.volmeta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;color:var(--muted);font-family:'Space Mono'}
.volmeta .volbtns{margin-left:auto;display:flex;gap:7px}
.vbtn{width:34px;height:34px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-size:18px;font-weight:700;line-height:1}
.vbtn:active{background:var(--ember);color:#15130E}
.swaplist{display:flex;flex-wrap:wrap;gap:8px}
.swapbtn{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:9px 14px;font-size:13px;color:var(--text)}
.swapbtn.on{background:rgba(214,123,74,.16);border-color:var(--ember);color:var(--ember-bright);font-weight:700}
.swapbtn:active{background:var(--surface-2)}
.readybox{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:14px;box-shadow:var(--ring)}
.readybox .rlbl{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:14px}
.readybox .rlbl span{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);font-size:12px;font-family:'Space Mono'}
.rrow{display:flex;align-items:center;gap:10px;margin-top:10px}
.rrow .rk{width:74px;font-size:12px;color:var(--muted);font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.rchips{display:flex;gap:6px;flex:1}
.rchip{flex:1;min-height:38px;border-radius:9px;background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-family:'Space Mono';font-weight:700}
.rchip.on{background:var(--ember);border-color:var(--ember);color:#15130E}
.rnote{margin-top:10px;font-size:12.5px;line-height:1.45;color:var(--cool)}
.rnote.dim{color:var(--muted)}
/* ===== OUTCOME CHECK (Phase 4) ===== */
.outcard{background:linear-gradient(150deg,rgba(121,166,194,.1),var(--surface) 80%);border:1px solid rgba(121,166,194,.3);border-radius:14px;padding:13px 15px;margin:14px 0 4px;box-shadow:var(--ring)}
.outhdr{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:14px;margin-bottom:8px}
.outrow{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--line)}
.outrow span{color:var(--muted);font-size:12.5px}
.outrow b{font-family:'Space Mono';font-size:14px}
.outrow b.up{color:var(--gold)}.outrow b.down{color:var(--ember-deep)}
.outflag{margin-top:8px;font-size:12.5px;color:var(--ember-bright);font-family:'Space Mono'}
.outflag.low{color:var(--ember-deep)}
.outins{margin-top:8px;font-size:13px;line-height:1.5;color:var(--text)}
.outins.dim{color:var(--muted)}
.cue b{color:var(--steel)}
.target{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.target .lt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:'Saira Condensed';font-weight:700}
.target .val{font-family:'Space Mono';font-size:14px;font-weight:700;color:var(--cool)}
.target .beat{margin-left:auto;font-size:11px;color:var(--ember-bright);font-family:'Saira Condensed';font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:right}
.target.up{border-color:rgba(233,185,73,.4)}
.target.up .beat{color:var(--gold)}
.inputs{display:flex;gap:10px;margin-top:14px}
.field{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px 8px;text-align:center}
.field .l{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:'Saira Condensed';font-weight:700}
.stepper{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:7px}
.stepper button{width:36px;height:38px;border-radius:10px;background:var(--surface-2);font-size:21px;font-weight:700;color:var(--steel);display:flex;align-items:center;justify-content:center;line-height:1}
.stepper button:active{background:var(--line)}
.stepper .v{font-family:'Saira Condensed';font-weight:800;font-size:27px;min-width:50px;text-align:center}
.field .u{font-size:10px;color:var(--muted);letter-spacing:.08em;margin-top:2px}
.rirsel{display:flex;gap:5px;margin-top:7px;justify-content:center}
.rirsel button{flex:1;max-width:42px;height:36px;border-radius:9px;background:var(--surface-2);font-family:'Saira Condensed';font-weight:700;font-size:15px;color:var(--muted)}
.rirsel button.on{background:var(--accent);color:#15130E}
.plate{margin-top:10px;font-size:11.5px;color:var(--muted);font-family:'Space Mono';text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:10px;padding:8px}
.plate b{color:var(--steel)}
.e1rm{text-align:center;margin-top:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-family:'Saira Condensed';font-weight:600}
.e1rm b{color:var(--gold);font-family:'Space Mono';letter-spacing:0}

.cta{position:fixed;bottom:0;left:0;right:0;max-width:520px;margin:0 auto;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--bg) 28%)}
.cta button{width:100%;padding:17px;border-radius:15px;font-family:'Saira Condensed';font-weight:800;font-size:19px;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#15130E;transition:transform .1s}
.cta button:active{transform:scale(.98)}
.cta button.ghost{background:var(--surface);color:var(--steel);border:1px solid var(--line)}
.cta .nav{display:flex;gap:10px}
.cta .nav .skip{flex:0 0 auto;width:110px;background:var(--surface);color:var(--muted);border:1px solid var(--line)}

.rest-wrap{text-align:center;padding-top:6px}
.rest-wrap .rl{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cool);font-family:'Saira Condensed';font-weight:700}
.rest-wrap .next{font-size:13px;color:var(--muted);margin-top:10px}
.rest-wrap .next b{color:var(--steel)}
.ring{position:relative;width:220px;height:220px;margin:18px auto 6px}
.ring svg{transform:rotate(-90deg)}
.ring .rt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .rt .big{font-family:'Space Mono';font-weight:700;font-size:52px;line-height:1;color:var(--cool)}
.ring .rt .small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.rest-actions{display:flex;gap:10px;justify-content:center;margin-top:14px}
.rest-actions button{padding:11px 18px;border-radius:11px;background:var(--surface);border:1px solid var(--line);font-family:'Saira Condensed';font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px}
.rest-actions button.go{background:var(--cool);color:#0d1b24;border-color:var(--cool)}

.done{padding:26px 20px;text-align:center;animation:fade .5s ease}
.done .seal{width:84px;height:84px;border-radius:50%;margin:6px auto 14px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 30%,var(--ember-bright),var(--ember-deep));font-family:'Saira Condensed';font-weight:800;font-size:38px;color:#15130E;box-shadow:0 0 40px var(--glow)}
.done h2{font-family:'Saira Condensed';font-weight:800;font-size:38px;text-transform:uppercase;line-height:.9}
.done .sub{color:var(--muted);margin-top:6px;font-size:13.5px}
.prbadge{display:inline-block;margin:14px auto 0;background:linear-gradient(90deg,var(--gold),var(--ember-bright));color:#15130E;font-family:'Saira Condensed';font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px;padding:8px 16px;border-radius:30px}
.dstats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.dstat{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:15px}
.dstat .n{font-family:'Saira Condensed';font-weight:800;font-size:30px;line-height:1}
.dstat .l{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.dstat .delta{font-family:'Space Mono';font-size:12px;margin-top:6px}
.delta.up{color:var(--gold)}.delta.flat{color:var(--muted)}.delta.down{color:var(--cool)}
.done .line{font-size:13.5px;color:var(--steel);line-height:1.55;margin:6px 0 20px}

/* progress screen */
.prog .ph{font-family:'Saira Condensed';font-weight:800;font-size:34px;text-transform:uppercase;margin-bottom:4px}
.prog .psub{color:var(--muted);font-size:13px;margin-bottom:16px}
.prog .pcard{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:10px}
.prog .pcard .pt{display:flex;justify-content:space-between;align-items:baseline}
.prog .pcard .pt b{font-family:'Saira Condensed';font-weight:700;font-size:19px;text-transform:uppercase}
.prog .pcard .pt .cnt{font-size:11px;color:var(--muted);font-family:'Space Mono'}
.prog .prow{display:flex;gap:18px;margin-top:10px}
.prog .prow div{flex:1}
.prog .prow .pl{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.prog .prow .pv{font-family:'Space Mono';font-size:15px;font-weight:700;margin-top:3px}
.prog .prow .pv.gold{color:var(--gold)}
.spark{display:flex;align-items:flex-end;gap:3px;height:34px;margin-top:12px}
.spark i{flex:1;background:var(--accent);border-radius:2px;min-height:3px;opacity:.85}
.empty{color:var(--muted);font-size:12px;font-family:'Space Mono';margin-top:8px}
.seclbl{font-family:'Saira Condensed';font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:var(--muted);margin:24px 0 10px;padding-top:14px;border-top:1px solid var(--line)}
.card.cardio{border-color:rgba(121,166,194,.28)}
/* cardio live */
.cardio-live{padding:26px 20px 150px;text-align:center}
.cardio-live .ph2{font-family:'Saira Condensed';font-weight:800;font-size:30px;text-transform:uppercase;line-height:.9}
.cardio-live .phase{font-family:'Saira Condensed';font-weight:800;font-size:18px;letter-spacing:.2em;text-transform:uppercase;margin-top:6px}
.cardio-live .phase.work{color:var(--ember-bright)}.cardio-live .phase.rest,.cardio-live .phase.cool{color:var(--cool)}
.cardio-live .rounds{font-family:'Space Mono';font-size:13px;color:var(--muted);margin-top:4px}
.cardio-live .hiit-how{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin:2px 16px 10px;font-size:13.5px;line-height:1.5;color:var(--steel)}
.cardio-live .hiit-how b{color:var(--ember-bright)}
.cardio-live .note{font-size:13px;color:var(--muted);line-height:1.55;margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;text-align:left}
.guide{padding:8px 20px 130px;animation:fade .45s ease}
.guide h2{font-family:'Saira Condensed';font-weight:800;font-size:34px;text-transform:uppercase;margin:4px 0 6px}
.guide h3{font-family:'Saira Condensed';font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.04em;color:var(--ember-bright);margin:20px 0 7px}
.guide p{font-size:13.5px;color:var(--steel);line-height:1.6;margin-bottom:8px}
.guide p.m{color:var(--muted)}
.guide .big{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:13px 15px;font-size:14px;line-height:1.55;margin:10px 0}
.guide .big b{color:var(--gold)}
.guide ul{list-style:none;margin:4px 0 8px}
.guide li{font-size:13.5px;color:var(--steel);line-height:1.5;padding:5px 0 5px 16px;position:relative}
.guide li:before{content:"›";position:absolute;left:0;color:var(--accent);font-weight:700}
.pillbtn.coach{background:linear-gradient(180deg,rgba(255,107,44,.16),var(--surface));border-color:rgba(255,107,44,.4)}
.pillbtn.coach b{color:var(--ember-bright)}
/* coach chat */
.chat{display:flex;flex-direction:column;height:calc(100vh - 60px);height:calc(100dvh - 60px);max-width:520px;margin:0 auto}
.chat-head{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:5;background:linear-gradient(180deg,var(--bg) 70%,transparent);border-bottom:1px solid var(--line)}
.chome{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--steel);flex:0 0 auto}
.chome .tic{width:18px;height:18px;color:var(--ember-bright)}
.chome:active{background:var(--surface-2)}
.chead-id{flex:1;display:flex;align-items:center;gap:10px;min-width:0}
.chead-t{font-family:'Saira Condensed';font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.02em;line-height:1}
.chead-t small{display:block;font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:600;text-transform:uppercase;margin-top:3px}
.chclear{width:38px;height:38px;flex:0 0 auto;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--muted);display:flex;align-items:center;justify-content:center}
.chclear .tic{width:17px;height:17px}
.chspacer{width:38px;flex:0 0 auto}
/* coach avatar */
.aav{position:relative;flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,var(--ember-bright),var(--ember-deep));box-shadow:0 0 12px rgba(255,107,44,.35)}
.aav .tic{width:17px;height:17px;color:#15130E}
.aav.sm{width:34px;height:34px}.aav.sm .tic{width:19px;height:19px}
.aav .dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:#4ccb6e;border:2px solid var(--bg)}
.chat-scroll{flex:1;overflow-y:auto;padding:14px 16px 6px;display:flex;flex-direction:column;gap:12px}
.arow{display:flex;align-items:flex-end;gap:8px;align-self:flex-start;max-width:90%}
.msg{max-width:86%;padding:12px 15px;border-radius:18px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.msg.u{align-self:flex-end;background:linear-gradient(135deg,var(--ember-bright),var(--ember));color:#15130E;border-bottom-right-radius:5px;font-weight:500;box-shadow:0 6px 16px -8px rgba(255,107,44,.6)}
.arow .msg.a{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-bottom-left-radius:5px;box-shadow:var(--ring);max-width:100%}
.msg.a b,.msg.a strong{color:var(--ember-bright)}
/* welcome hero */
.coach-hero{margin:auto;text-align:center;padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:12px}
.ch-av{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,var(--ember-bright),var(--ember-deep));box-shadow:0 0 34px rgba(255,107,44,.5)}
.ch-av .tic{width:32px;height:32px;color:#15130E}
.ch-t{font-family:'Saira Condensed';font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:.02em}
.ch-s{font-size:13.5px;line-height:1.6;color:var(--muted);max-width:34ch}
/* animated typing dots */
.msg.a.typing{display:inline-flex;gap:5px;align-items:center;padding:14px 16px}
.msg.a.typing .td{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:tdot 1.2s infinite ease-in-out}
.msg.a.typing .td:nth-child(2){animation-delay:.2s}.msg.a.typing .td:nth-child(3){animation-delay:.4s}
@keyframes tdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.chat-in{padding:10px 14px calc(14px + env(safe-area-inset-bottom));display:flex;gap:9px;align-items:flex-end;border-top:1px solid var(--line);background:var(--bg)}
.chat-in textarea{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:22px;color:var(--steel);padding:12px 16px;font-family:inherit;font-size:14px;resize:none;max-height:100px;transition:border-color .15s}
.chat-in textarea:focus{border-color:rgba(255,107,44,.5);outline:none}
.chat-in button{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--ember-bright),var(--ember));color:#15130E;flex:0 0 auto;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -8px rgba(255,107,44,.7)}
.chat-in button .tic{width:20px;height:20px;stroke-width:2.2}
.chat-in button:active{transform:scale(.94)}
.chat-in button:disabled{opacity:.4}
.suggs{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 10px}
.sugg{font-size:12.5px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface));border-radius:20px;padding:9px 14px;color:var(--steel);transition:border-color .15s,transform .1s}
.sugg:active{transform:scale(.97);border-color:rgba(255,107,44,.5)}
/* profile + review */
.form{padding:8px 20px 130px;animation:fade .4s ease}
.form h2{font-family:'Saira Condensed';font-weight:800;font-size:32px;text-transform:uppercase;margin:4px 0 4px}
.form .sub{color:var(--muted);font-size:13px;margin-bottom:16px}
.fg{margin-bottom:14px}
.fg label{display:block;font-family:'Saira Condensed';font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px;color:var(--muted);margin-bottom:6px}
.fg input,.fg textarea,.fg select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--steel);padding:12px 13px;font-family:inherit;font-size:15px}
.fg textarea{resize:vertical;min-height:60px}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip2{font-size:13px;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:8px 13px;color:var(--steel)}
.chip2.on{background:var(--accent);color:#15130E;border-color:var(--accent);font-weight:600}
.reviewbox{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:15px;margin-top:14px;font-size:14px;line-height:1.55;white-space:pre-wrap}
.tweak{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px}
.tweak .tx{flex:1;font-size:13px}
.tweak .tx b{font-family:'Saira Condensed';text-transform:uppercase;font-size:14px}
.tweak .ap{background:var(--accent);color:#15130E;font-family:'Saira Condensed';font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px;padding:8px 12px;border-radius:9px}
.tweak.done .ap{background:var(--surface-2);color:var(--muted)}
.apinote{font-size:12px;color:var(--muted);text-align:center;margin-top:10px;font-family:'Space Mono'}
.adhchip{display:flex;align-items:center;gap:10px;margin:12px 0 4px;font-size:11px;color:var(--muted);font-family:'Space Mono'}
.adhchip .dotbar i{height:5px}
.bodytrend{display:flex;gap:10px;margin:14px 0}
.bodytrend .bt{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}
.bodytrend .bt .n{font-family:'Saira Condensed';font-weight:800;font-size:28px;line-height:1}
.bodytrend .bt .l{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.bodytrend .bt .d{font-family:'Space Mono';font-size:11px;margin-top:5px}
.protarget{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;background:linear-gradient(180deg,rgba(255,107,44,.14),var(--surface));border:1px solid rgba(255,107,44,.4);border-radius:12px;flex-wrap:wrap}
.protarget span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:'Saira Condensed';font-weight:700}
.protarget b{font-family:'Saira Condensed';font-weight:800;font-size:22px;color:var(--ember-bright);text-transform:uppercase}
.protarget .pace{margin-left:auto;color:var(--cool);font-family:'Space Mono';font-size:11px;letter-spacing:0;text-transform:none;font-weight:400}
.prline{margin-top:10px;font-size:13px;color:var(--muted)}
.prline b{color:var(--gold)}
.infobtn{font-family:'Saira Condensed';font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cool);border:1px solid var(--line);border-radius:9px;padding:7px 11px;white-space:nowrap}
.exhead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.resume{background:linear-gradient(180deg,rgba(255,107,44,.2),var(--surface));border:1px solid var(--ember);border-radius:13px;padding:14px;margin:6px 0 4px;display:flex;align-items:center;gap:12px}
.onboard{display:block;width:100%;text-align:left;background:linear-gradient(150deg,rgba(214,123,74,.18),var(--surface) 80%);border:1px solid rgba(214,123,74,.5);border-radius:14px;padding:13px 15px;margin:4px 0 6px;box-shadow:var(--ring)}
.onboard b{display:block;font-family:'Saira Condensed';font-weight:800;font-size:16px;letter-spacing:.01em;color:var(--ember-bright);margin-bottom:2px}
.onboard span{display:block;color:var(--muted);font-size:13px;line-height:1.45}
.onboard:active{background:linear-gradient(150deg,rgba(214,123,74,.28),var(--surface) 80%)}
.resume .rb{flex:1}
.resume .rb b{font-family:'Saira Condensed';font-weight:800;font-size:17px;text-transform:uppercase}
.resume .rb span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.resume button{background:var(--accent);color:#15130E;font-family:'Saira Condensed';font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px;padding:11px 14px;border-radius:10px}
.resume .x{background:none;color:var(--muted);font-size:18px;padding:6px 8px}
/* exercise info / body map */
.exinfo{padding:8px 20px 130px;animation:fade .4s ease}
.exinfo h2{font-family:'Saira Condensed';font-weight:800;font-size:30px;text-transform:uppercase;line-height:.95;margin:4px 0 2px}
.exinfo .tag2{display:inline-block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--ember);padding:3px 9px;border-radius:20px;font-family:'Saira Condensed';font-weight:700;margin-bottom:10px}
.exinfo .tag2.core{background:var(--cool)}
.bodymap{display:flex;gap:8px;justify-content:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0}
.bodymap svg{height:218px}
.bodysil{fill:var(--surface-2);stroke:#46402F;stroke-width:1;stroke-linejoin:round}
.muscle{fill:transparent;stroke:none}
.muscle.prim{fill:var(--ember)}
.muscle.sec{fill:var(--ember-deep);opacity:.55}
.bodyfig{fill:none;stroke:var(--muted);stroke-width:1.4}
.mlegend{display:flex;gap:16px;justify-content:center;font-size:11px;color:var(--muted);margin-top:-2px;margin-bottom:6px}
.mlegend i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle;margin-right:5px}
.exinfo h3{font-family:'Saira Condensed';font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.05em;color:var(--ember-bright);margin:18px 0 7px}
.exinfo ol{margin:0 0 4px;padding-left:20px}
.exinfo ol li{font-size:14px;line-height:1.55;margin-bottom:6px;color:var(--steel)}
.exinfo p{font-size:14px;line-height:1.55;color:var(--steel);margin-bottom:6px}
.exinfo .why{background:var(--surface);border-left:3px solid var(--gold);border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.5;margin-top:6px}
.exinfo .why b{color:var(--gold)}
.exinfo .miss{color:var(--ember-bright)}
.exrow.tap:active{background:var(--surface)}
.excd{font-family:'Space Mono';font-size:13px;color:var(--muted);margin-top:10px;letter-spacing:.02em}
.excd b{font-size:18px;color:var(--cool)}
.excd span{font-size:11px}
/* --- redesigned home --- */
.herocard{background:linear-gradient(155deg,rgba(255,107,44,.22),rgba(255,107,44,.05) 55%,var(--surface));border:1px solid rgba(255,107,44,.45);border-radius:18px;padding:18px 18px 16px;margin:12px 0 10px;box-shadow:0 10px 30px -16px rgba(255,107,44,.5)}
.herocard.rest{background:linear-gradient(155deg,rgba(121,166,194,.16),var(--surface));border-color:rgba(121,166,194,.35);box-shadow:none}
.herocard .hk{font-family:'Saira Condensed';font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-bright)}
.herocard.rest .hk{color:var(--cool)}
.herocard .hname{font-family:'Saira Condensed';font-weight:800;font-size:34px;line-height:.98;text-transform:uppercase;margin:3px 0 10px}
.herocard .hsub{color:var(--steel);font-size:14px;line-height:1.5}
.herocard .hmeta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.herocard .hmeta span{font-family:'Space Mono';font-size:11px;color:var(--muted);background:rgba(0,0,0,.22);border:1px solid var(--line);padding:4px 9px;border-radius:20px}
.hstart{width:100%;background:var(--accent);color:#15130E;font-family:'Saira Condensed';font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:17px;padding:15px;border-radius:13px;box-shadow:0 6px 18px -6px rgba(255,107,44,.7)}
.hstart:active{transform:scale(.98)}
.toolgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 4px}
.tool{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px 5px 9px;transition:border-color .15s,background .15s}
.tool:active{background:var(--surface-2)}
.tool i{font-size:21px;font-style:normal;line-height:1}
.tool span{font-family:'Saira Condensed';font-weight:700;font-size:11px;letter-spacing:.02em;text-transform:uppercase;color:var(--steel);text-align:center}
.tool.coach{border-color:rgba(255,107,44,.4)}
.tool.coach i{filter:saturate(1.2)}
@media(max-width:360px){.toolgrid{grid-template-columns:repeat(3,1fr)}}
/* --- session history manager --- */
.managehint{margin-top:10px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-family:'Saira Condensed';font-weight:700;color:var(--muted);text-align:center}
.pcard.tapcard{cursor:pointer;transition:border-color .15s}
.pcard.tapcard:active{border-color:var(--ember)}
.loglist{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.logrow{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 14px}
.logrow:active{border-color:var(--ember)}
.logrow .lrmain b{font-family:'Saira Condensed';font-weight:800;font-size:16px;text-transform:uppercase}
.logrow .lrmain span{display:block;font-size:12px;color:var(--muted);font-family:'Space Mono';margin-top:2px}
.logrow .lre1{font-family:'Saira Condensed';font-weight:800;color:var(--gold);font-size:16px;display:flex;align-items:center;gap:8px;white-space:nowrap;flex:0 0 auto}
.logrow .lre1 span{color:var(--muted);font-weight:400}
.editform{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.efield{display:flex;flex-direction:column;gap:6px}
.efield span{font-family:'Saira Condensed';font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.efield input{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:13px 14px;color:var(--ink);font-family:'Space Mono';font-size:16px}
.efield input:focus{outline:none;border-color:var(--ember)}
.editactions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.editactions .save{background:var(--accent);color:#15130E;font-family:'Saira Condensed';font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:16px;padding:15px;border-radius:13px}
.editactions .del{background:none;border:1px solid rgba(232,67,26,.5);color:var(--ember-bright);font-family:'Saira Condensed';font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:13px;padding:13px;border-radius:12px}
.editactions .del:active{background:rgba(232,67,26,.12)}
.tool.food{border-color:rgba(255,179,71,.45)}
/* --- FOOD LOG --- */
.food{padding:8px 20px 130px;animation:fade .35s ease}
.food .ph{font-family:'Saira Condensed';font-weight:800;font-size:26px;text-transform:uppercase;margin:6px 0 2px}
.fday{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 14px}
.fday button{width:42px;height:42px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-size:20px;color:var(--steel)}
.fday button:disabled{opacity:.3}
.fday .fd-c{text-align:center}
.fday .fd-c b{font-family:'Saira Condensed';font-weight:800;font-size:22px;text-transform:uppercase;display:block;line-height:1}
.fday .fd-c span{font-size:12px;color:var(--muted)}
.calowrap{display:flex;align-items:center;gap:8px;justify-content:center;flex-direction:column}
.calowrap .ring{position:relative;width:210px;height:210px}
.calowrap .ring .rt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.calowrap .ring .big{font-family:'Saira Condensed';font-weight:800;font-size:52px;line-height:.9}
.calowrap .ring .small{font-size:12px;color:var(--muted);font-family:'Space Mono'}
.caloside{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:-6px}
.rempill{background:rgba(255,107,44,.16);color:var(--ember-bright);font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:14px;padding:6px 14px;border-radius:20px;border:1px solid rgba(255,107,44,.4)}
.overpill{background:rgba(232,67,26,.18);color:var(--ember-bright);font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;font-size:14px;padding:6px 14px;border-radius:20px;border:1px solid rgba(232,67,26,.5)}
.caloside .tgl{font-size:11px;color:var(--muted)}
.macros{display:flex;flex-direction:column;gap:11px;margin:18px 0 6px}
.mbar .mb-top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}
.mbar .mb-top span:first-child{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--steel)}
.mbar .mb-top span em{color:var(--muted);font-style:normal;font-size:11px}
.mb-track{height:9px;background:var(--surface-2);border-radius:6px;overflow:hidden}
.mb-track i{display:block;height:100%;border-radius:6px;transition:width .4s ease}
.addrow{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0 4px}
.addbtn{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px 5px;font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:var(--steel)}
.addbtn i{font-size:22px;font-style:normal}
.addbtn:active{border-color:var(--ember);background:var(--surface-2)}
.mealgrp{margin-bottom:12px}
.mealhd{display:flex;justify-content:space-between;font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--ember-bright);padding:6px 2px;border-bottom:1px solid var(--line);margin-bottom:6px}
.mealhd span:last-child{color:var(--muted)}
.fitem{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-bottom:7px}
.fitem .fi-main{flex:1;min-width:0}
.fitem .fi-main b{font-weight:600;font-size:15px;overflow-wrap:anywhere}
.fitem .fi-main span{display:block;font-size:12px;color:var(--muted);font-family:'Space Mono';margin-top:2px}
.fi-del{width:30px;height:30px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:14px;flex-shrink:0}
.fi-del:active{background:rgba(232,67,26,.2);color:var(--ember-bright)}
.foodnote{font-size:12px;line-height:1.5;color:var(--muted);background:var(--surface);border-radius:10px;padding:11px 13px;margin-top:12px}
/* add flow */
.mealchips{display:flex;gap:7px;margin:4px 0 14px;flex-wrap:wrap}
.ftabs{display:flex;gap:7px;margin-bottom:14px}
.ftab{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 4px;font-family:'Saira Condensed';font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.ftab.on{border-color:var(--ember);color:var(--ember-bright);background:rgba(255,107,44,.1)}
.photobox,.descbox{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}
.pphold{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 10px;color:var(--muted);font-size:14px;border:1.5px dashed var(--line);border-radius:11px}
.pphold{font-size:34px}.pphold span{font-size:13px}
.ppreview{width:100%;max-height:240px;object-fit:cover;border-radius:11px;display:block}
.prow2{display:flex;gap:9px;margin-top:12px}
.ghostbtn{flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:13px;font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:var(--steel)}
.ghostbtn.full{width:100%;margin-top:10px}
.anbtn{flex:1;background:var(--accent);color:#15130E;border-radius:11px;padding:13px;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:14px}
.descbox textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:13px;color:var(--ink);font-family:inherit;font-size:15px;resize:none;line-height:1.5}
.descbox textarea:focus{outline:none;border-color:var(--ember)}
.descbox .anbtn{width:100%;margin-top:12px}
.anbusy{text-align:center;color:var(--cool);font-family:'Space Mono';font-size:13px;padding:16px;animation:pulse 1.2s infinite}
@keyframes pulse{50%{opacity:.5}}
.anerr{background:rgba(232,67,26,.12);border:1px solid rgba(232,67,26,.4);color:var(--ember-bright);border-radius:11px;padding:12px 14px;font-size:13px;line-height:1.5;margin-top:12px}
.draftlist{display:flex;flex-direction:column;gap:10px}
.dftrow{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 12px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.dft-name{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px;color:var(--ink);font-size:15px;font-weight:600}
.dft-name:focus{outline:none;border-color:var(--ember)}
.dft-del{width:30px;height:30px;border-radius:50%;background:var(--surface-2);color:var(--muted)}
.dft-nums{grid-column:1/3;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.dft-nums label{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-family:'Saira Condensed';font-weight:700}
.dft-nums input{width:100%;text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 2px;color:var(--ink);font-family:'Space Mono';font-size:14px}
.dft-nums input:focus{outline:none;border-color:var(--ember)}
.savebig{width:100%;background:var(--accent);color:#15130E;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:16px;padding:16px;border-radius:13px;margin-top:16px}
.savebig:active{transform:scale(.99)}
.syncbtns{display:flex;gap:9px;margin-top:10px}
.syncbtns .ghost{flex:1}
.hidden{display:none!important}

/* ============================================================================
   WORLD-CLASS LAYER — refined tokens, ambient depth, icon system,
   premium tool tiles, and a responsive desktop app-shell. (loads last → wins)
   ============================================================================ */
:root{
  --bg:#131109;--surface:#1E1A12;--surface-2:#29241A;--line:#3A3327;
  --steel:#EDE7DA;--muted:#9A8F7B;
  --ember:#FF6A2B;--ember-bright:#FF9D45;--ember-deep:#E8431A;
  --cool:#86B2CE;--cool-deep:#3E6B86;--gold:#F0C254;
  --accent:var(--ember);--glow:rgba(255,107,44,0.16);
  --shadow:0 18px 40px -22px rgba(0,0,0,.8);
  /* Depth: a top hairline highlight + a soft drop shadow → cards read as lifted, not flat. */
  --ring:0 1px 0 rgba(255,255,255,.06) inset, 0 10px 26px -18px rgba(0,0,0,.85);
}
html{scroll-behavior:smooth}
body{position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(90% 55% at 50% -8%, rgba(255,107,44,.10), transparent 62%),
    radial-gradient(70% 45% at 105% 102%, rgba(121,166,194,.07), transparent 70%),
    var(--bg);}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* crisp inline icons */
.tic{display:inline-block;width:24px;height:24px;vertical-align:middle;flex:0 0 auto}

/* --- premium tool tiles (fixed rows kill the stretch bug) --- */
.toolgrid{grid-auto-rows:90px;gap:10px}
.tool{justify-content:center;gap:8px;padding:12px 6px;border-radius:15px;
  background:linear-gradient(180deg,var(--surface-2),var(--surface));box-shadow:var(--ring);}
.tool .tic{width:25px;height:25px;color:var(--steel);transition:color .15s,transform .15s}
.tool span{font-size:11.5px;letter-spacing:.03em}
.tool:hover{border-color:rgba(255,255,255,.14)}
.tool:hover .tic{transform:translateY(-1px)}
.tool.coach .tic{color:var(--ember-bright)}
.tool.food .tic{color:var(--gold)}
.tool:active{transform:scale(.97)}

/* slightly richer shared surfaces + hero */
.card,.meso,.pcard,.stat,.dstat,.bodytrend .bt,.fitem,.bt,.logrow{box-shadow:var(--ring)}
.herocard{box-shadow:0 16px 38px -20px rgba(255,107,44,.55),var(--ring)}
.hstart{letter-spacing:.07em}

/* ============ DESKTOP NAV RAIL (hidden on phone) ============ */
.railnav{display:none}
@media(min-width:900px){
  .app{max-width:1180px;display:grid;grid-template-columns:248px minmax(0,1fr);align-items:start;
       background:none!important;box-shadow:0 0 60px -10px rgba(0,0,0,.5)}
  .app .top{display:none}
  .railnav{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;
    padding:26px 14px 18px;border-right:1px solid var(--line);
    background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
  .rail-brand{padding:4px 12px 22px}
  .rail-brand .mark{font-family:'Saira Condensed';font-weight:800;font-size:25px;letter-spacing:.02em;color:var(--steel)}
  .rail-brand .mark b{color:var(--accent)}
  .rail-tag{display:block;font-family:'Saira Condensed';font-weight:600;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:5px}
  .rail-items{display:flex;flex-direction:column;gap:3px;flex:1}
  .rail-item{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:12px;
    color:var(--muted);font-family:'Saira Condensed';font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:13.5px;text-align:left;transition:background .15s,color .15s}
  .rail-item .tic{width:20px;height:20px}
  .rail-item:hover{background:var(--surface);color:var(--steel)}
  .rail-item.active{background:linear-gradient(90deg,rgba(255,107,44,.18),rgba(255,107,44,.02));color:var(--ember-bright);box-shadow:inset 2px 0 0 var(--ember)}
  .rail-foot{padding:14px 13px 4px;font-size:10.5px;letter-spacing:.04em;color:var(--muted);font-family:'Space Mono'}

  /* main content column */
  #root{grid-column:2;min-height:100vh;border-left:1px solid var(--line)}
  #root>*{max-width:860px;margin-left:auto;margin-right:auto;width:100%}
  .screen,.live,.food,.guide,.form,.exinfo,.prog,.done,.cardio-live{padding-top:30px;padding-bottom:60px}
  .screen{padding-left:40px;padding-right:40px}
  .live,.food,.guide,.form,.exinfo,.cardio-live{padding-left:40px;padding-right:40px}

  /* desktop home: roomy 2-column session list, 4 tools wide */
  .cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .toolgrid{grid-template-columns:repeat(4,1fr)}

  /* CTA flows inline at the content column instead of a phone bottom bar */
  .cta{position:static;max-width:560px;margin:20px auto 10px;padding:0;background:none}
  .cta .nav{max-width:560px;margin:0 auto}

  /* chat fits the column */
  .chat{height:calc(100vh - 1px);height:calc(100dvh - 1px);max-width:760px}
  .chat-in{position:sticky;bottom:0}

  /* desktop type rhythm */
  .hero h1,.herocard .hname{font-size:40px}
}
@media(min-width:1180px){
  #root>*{max-width:900px}
}

/* food add buttons + photo dropzone use the icon set */
.addbtn .tic{width:24px;height:24px;color:var(--ember-bright)}
.addbtn:active .tic,.addbtn:hover .tic{color:var(--ember-bright)}
.pphold .tic{width:42px;height:42px;color:var(--muted)}
.ftab.on{box-shadow:var(--ring)}

/* --- anatomy / worked-muscle diagram --- */
.bodymap{padding:16px 14px 10px;background:linear-gradient(180deg,var(--surface-2),var(--surface));box-shadow:var(--ring)}
.bodymap svg{height:auto;width:100%;max-width:430px}
.bodysil{fill:#2B2519;stroke:#453C2C;stroke-width:1;stroke-linejoin:round}
.muscle{fill:#423927;stroke:#221d12;stroke-width:.7;stroke-linejoin:round;transition:fill .25s,opacity .25s}
.muscle.prim{fill:var(--ember);stroke:var(--ember-deep)}
.muscle.sec{fill:var(--ember-deep);opacity:.9;stroke:#231d12}
.sep line{stroke:#231e14;stroke-width:1;stroke-linecap:round}
.worked{display:flex;flex-direction:column;gap:8px;margin:4px 0 8px}
.wgrp{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.wlab{font-family:'Saira Condensed';font-weight:700;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);min-width:52px}
.wlab.prim{color:var(--ember-bright)}
.wchip{font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:20px;border:1px solid var(--line);background:var(--surface);color:var(--steel)}
.wchip.prim{color:#1b1206;background:linear-gradient(180deg,var(--ember-bright),var(--ember));border-color:var(--ember)}
.wchip.sec{color:var(--ember-bright);background:rgba(232,67,26,.14);border-color:rgba(232,67,26,.45)}

/* food: live diet score + describe photo button */
.descbox .ghostbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.descbox .ghostbtn .tic{width:18px;height:18px;color:var(--ember-bright)}
.dietscore{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:13px;padding:11px 14px;margin:14px 0 2px;box-shadow:var(--ring)}
.ds-l{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ds-k{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:12px;color:var(--steel)}
.ds-n{font-size:10.5px;color:var(--muted);font-family:'Space Mono'}
.ds-bar{flex:0 0 56px;height:8px;background:var(--surface-2);border-radius:6px;overflow:hidden}
.ds-bar i{display:block;height:100%;border-radius:6px;transition:width .4s ease}
.ds-v{font-family:'Saira Condensed';font-weight:800;font-size:30px;line-height:1}
.ds-v small{font-size:12px;color:var(--muted);font-weight:700}

/* food: quick-add chips + tab icons */
.quickadd{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.quickadd::-webkit-scrollbar{display:none}
.qchip{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;align-items:flex-start;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:12px;padding:9px 13px;box-shadow:var(--ring);transition:border-color .15s,transform .1s}
.qchip b{font-size:13px;font-weight:600;color:var(--steel);white-space:nowrap}
.qchip span{font-size:10.5px;color:var(--muted);font-family:'Space Mono';white-space:nowrap}
.qchip:hover{border-color:rgba(255,107,44,.5)}
.qchip:active{transform:scale(.96)}
.qchip.added{border-color:var(--ember);opacity:.55}
.ftab{display:flex;align-items:center;justify-content:center;gap:7px}
.ftab .tic{width:18px;height:18px}
@media(min-width:900px){.quickadd{flex-wrap:wrap;overflow:visible}}
/* copy-a-past-meal: search + history list */
.fh-search{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--steel);padding:12px 15px;font-family:inherit;font-size:15px;margin:6px 0 12px}
.fh-search:focus{outline:none;border-color:rgba(255,107,44,.5)}
.histlist{display:flex;flex-direction:column;gap:8px}
.histrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--ring);transition:border-color .12s,transform .1s}
.histrow:active{transform:scale(.99);border-color:rgba(255,107,44,.45)}
.histrow .fi-main{flex:1;min-width:0}
.histrow .fi-main b{font-weight:600;font-size:15px;display:block;overflow-wrap:anywhere}
.histrow .fi-main span{display:block;font-size:12px;color:var(--muted);font-family:'Space Mono';margin-top:2px}
.hist-add{flex:0 0 auto;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:var(--ember-bright);background:rgba(255,107,44,.12);border:1px solid rgba(255,107,44,.3);border-radius:9px;padding:7px 11px}
.hist-add.done{color:#4ccb6e;background:rgba(76,203,110,.12);border-color:rgba(76,203,110,.35)}
/* login / signup screen */
.authwrap{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}
/* ===== ONBOARDING WIZARD ===== */
.obwrap{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));gap:14px}
.obwrap .auth-brand{font-size:24px;text-align:center}
.ob-prog{display:flex;flex-direction:column;gap:7px}
.ob-bar{height:6px;background:var(--surface-2);border-radius:10px;overflow:hidden}
.ob-bar i{display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,var(--ember-deep),var(--ember),var(--ember-bright));transition:width .45s cubic-bezier(.2,.8,.2,1)}
.ob-stepn{font-family:'Saira Condensed';font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:11px;color:var(--muted)}
.ob-bodywrap{flex:1;animation:obrise .3s ease}
@keyframes obrise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ob-h{font-family:'Saira Condensed';font-weight:800;font-size:27px;line-height:1.1;margin:6px 0 6px}
.ob-sub{color:var(--muted);font-size:14px;line-height:1.55;margin-bottom:18px}
.ob-lab{display:block;font-family:'Saira Condensed';font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--steel);margin:0 0 8px}
.ob-in{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px 15px;font-size:16px;color:var(--text);box-shadow:var(--ring)}
.ob-in:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px rgba(214,123,74,.18)}
.ob-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.ob-grid label{font-size:11px}
.ob-cards{display:flex;flex-direction:column;gap:11px}
.ob-card{display:flex;align-items:flex-start;gap:13px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--ring);transition:border-color .15s,background .15s,transform .08s}
.ob-card .tic{flex:0 0 auto;width:26px;height:26px;color:var(--steel);margin-top:1px}
.ob-card .ob-ct{display:flex;flex-direction:column;gap:3px;min-width:0}
.ob-card .ob-ct b{font-family:'Saira Condensed';font-weight:800;font-size:18px;letter-spacing:.01em}
.ob-card .ob-ct em{font-style:normal;color:var(--muted);font-size:13px;line-height:1.5}
.ob-card:active{transform:scale(.99)}
.ob-card.on{border-color:var(--ember);background:linear-gradient(150deg,rgba(214,123,74,.16),var(--surface) 78%)}
.ob-card.on .tic{color:var(--ember-bright)}
.ob-review{background:linear-gradient(150deg,rgba(214,123,74,.12),var(--surface) 80%);border:1px solid rgba(214,123,74,.4);border-radius:18px;padding:6px 16px 14px;box-shadow:var(--ring)}
.ob-rrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.ob-rrow span{color:var(--muted);font-size:13px}
.ob-rrow b{font-family:'Saira Condensed';font-weight:800;font-size:17px;text-align:right}
.ob-rnote{color:var(--ember-bright);font-size:13px;padding-top:12px;font-family:'Space Mono'}
.ob-err{color:var(--ember-deep);font-size:13px;min-height:16px;text-align:center}
.ob-nav{display:flex;align-items:center;gap:12px}
.ob-back{flex:0 0 auto;background:var(--surface-2);color:var(--steel);border:1px solid var(--line);border-radius:14px;padding:14px 18px;font-family:'Saira Condensed';font-weight:700;letter-spacing:.04em;min-height:52px}
.ob-back.ghost{background:none;border-color:transparent;color:var(--muted)}
.ob-next{flex:1;background:var(--ember);color:#15130E;border:1px solid var(--ember);border-radius:14px;padding:14px;font-family:'Saira Condensed';font-weight:800;letter-spacing:.04em;font-size:16px;min-height:52px;box-shadow:0 6px 20px rgba(214,123,74,.3)}
.ob-next:active{transform:scale(.99)}
.auth-brand{font-family:'Saira Condensed';font-weight:800;font-size:30px;letter-spacing:.02em;color:var(--steel)}
.auth-brand b{color:var(--ember)}
.auth-card{width:100%;max-width:380px;background:radial-gradient(120% 90% at 0% 0%,rgba(255,107,44,.12),var(--surface) 60%),linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:20px;padding:22px 20px;box-shadow:0 24px 60px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.05) inset;display:flex;flex-direction:column;gap:11px}
.auth-h{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:24px}
.auth-sub{font-size:13px;color:var(--muted);line-height:1.5;margin-top:-4px}
.authseg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:3px;margin:4px 0}
.authseg button{flex:1;padding:9px;border-radius:9px;font-family:'Saira Condensed';font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px;color:var(--muted)}
.authseg button.on{background:linear-gradient(180deg,var(--ember-bright),var(--ember));color:#15130E}
.auth-card input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:12px;color:var(--steel);padding:13px 15px;font-family:inherit;font-size:15px}
.auth-card input:focus{outline:none;border-color:rgba(255,107,44,.55)}
.auth-go{margin-top:4px;width:100%;background:linear-gradient(135deg,var(--ember-bright),var(--ember));color:#15130E;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:16px;padding:14px;border-radius:13px;box-shadow:0 10px 24px -12px rgba(255,107,44,.8)}
.auth-go:active{transform:scale(.98)}
.auth-err{font-size:12.5px;font-family:'Space Mono';min-height:16px;text-align:center}
.auth-note{font-size:11.5px;color:var(--muted);line-height:1.5;text-align:center;margin-top:2px}
.auth-back{margin-top:4px;background:none;color:var(--muted);font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.auth-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;color:#1f1f1f;border-radius:12px;padding:12px;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:15px}
.auth-google svg{flex:0 0 auto}
.auth-google:active{transform:scale(.99);background:#f1f1f1}
.auth-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-family:'Space Mono';text-transform:uppercase;letter-spacing:.08em;margin:2px 0}
.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-link{align-self:center;background:none;color:var(--cool);font-size:12.5px;font-family:'Space Mono';margin-top:-2px}
/* profiles / accounts */
.proflist{display:flex;flex-direction:column;gap:8px}
.profrow{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--ring)}
.profrow.active{border-color:rgba(255,107,44,.45);background:linear-gradient(160deg,rgba(255,107,44,.1),var(--surface))}
.profrow .pf-main{flex:1;min-width:0}
.profrow .pf-main b{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:16px;display:block;overflow-wrap:anywhere}
.profrow .pf-main span{font-size:11.5px;color:var(--muted);font-family:'Space Mono'}
.pf-badge{flex:0 0 auto;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;font-size:12px;color:var(--ember-bright)}
.pf-switch{flex:0 0 auto;white-space:nowrap;padding:8px 14px}
.acctcard{display:flex;align-items:center;gap:10px;border-radius:12px;padding:13px 15px;box-shadow:var(--ring);background:linear-gradient(160deg,rgba(255,107,44,.12),var(--surface));border:1px solid rgba(255,107,44,.45)}
.acctcard.local{background:var(--surface);border-color:var(--line)}
.acctcard .pf-main{flex:1;min-width:0}
.acctcard .pf-main b{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:16px;display:block;overflow-wrap:anywhere}
.acctcard .pf-main span{font-size:11.5px;color:var(--muted);font-family:'Space Mono'}
.profadd{display:flex;gap:8px;margin-top:10px}
.profadd input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--steel);padding:11px 13px;font-family:inherit;font-size:14px}
.profadd input:focus{outline:none;border-color:rgba(255,107,44,.5)}
.profadd button{white-space:nowrap;padding:0 14px}
.delacct-open{display:block;background:none;color:var(--ember-deep);font-size:12.5px;font-family:'Space Mono';text-align:left;opacity:.8}
/* auto-sync status + advanced disclosure */
.autosync{display:flex;align-items:flex-start;gap:11px;background:linear-gradient(160deg,rgba(76,203,110,.12),var(--surface));border:1px solid rgba(76,203,110,.32);border-radius:13px;padding:13px 15px;margin:10px 0 6px;box-shadow:var(--ring)}
.autosync .tic{width:20px;height:20px;flex:0 0 auto;color:#4ccb6e;margin-top:1px}
.autosync b{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:15px}
.autosync span{display:block;font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:3px}
.advsync{margin-top:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.advsync summary{cursor:pointer;list-style:none;padding:12px 14px;font-family:'Saira Condensed';font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--muted)}
.advsync summary::-webkit-details-marker{display:none}
.advsync summary::after{content:"▾";float:right;color:var(--muted)}
.advsync[open] summary::after{content:"▴"}
.advsync[open] summary{border-bottom:1px solid var(--line);color:var(--ember-bright)}
.advsync>*:not(summary){margin-left:14px;margin-right:14px}
.advsync>*:last-child{margin-bottom:12px}

/* food: targets editor + copy-day */
.efgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.efgrid>.efield{min-width:0}
.efgrid input{width:100%;min-width:0}
.tgl-btn{background:none;border:none;color:var(--muted);font-size:11px;font-family:'Space Mono';text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:3px 4px}
.tgl-btn:hover{color:var(--ember-bright)}
.copyday{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:12px;font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:var(--steel)}
.copyday .tic{width:18px;height:18px;color:var(--ember-bright)}
.copyday:hover{border-color:rgba(255,107,44,.5)}
.copyday:active{transform:scale(.99);border-color:var(--ember)}

/* habits */
.habitlist{display:flex;flex-direction:column;gap:9px;margin:6px 0 12px}
.habit{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--ring);cursor:pointer;transition:border-color .15s,background .15s}
.habit.done{border-color:rgba(255,107,44,.5);background:linear-gradient(180deg,rgba(255,107,44,.09),var(--surface))}
.habit:active{transform:scale(.995)}
.hck{flex:0 0 auto;width:30px;height:30px;border-radius:9px;border:2px solid var(--line);background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:#1b1206;padding:0}
.habit.done .hck{background:var(--ember);border-color:var(--ember)}
.hck .tic{width:18px;height:18px;stroke-width:3}
.hmain{flex:1;min-width:0;text-align:left}
.hmain b{font-family:'Saira Condensed';font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.02em;display:block;line-height:1.1;overflow-wrap:anywhere}
.hmain span{font-size:12px;color:var(--muted);font-family:'Space Mono'}
.hstreak{display:flex;align-items:center;gap:3px;color:var(--ember-bright);font-family:'Saira Condensed';font-weight:800;font-size:15px;flex:0 0 auto}
.hstreak .tic{width:16px;height:16px;color:var(--ember);fill:rgba(255,107,44,.3)}
.hdel{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:13px}
.hdel:active{background:rgba(232,67,26,.2);color:var(--ember-bright)}
.habitadd{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:6px;box-shadow:var(--ring)}
.habitadd>input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:11px;color:var(--steel);padding:12px 13px;font-family:inherit;font-size:15px}
.habit.off{opacity:.5}
.hck.cam{border-color:rgba(255,107,44,.55);background:var(--surface-2);color:var(--ember-bright)}
.hck.cam .tic{width:18px;height:18px;stroke-width:2}
.hedit{flex:0 0 auto;width:30px;height:30px;border-radius:8px;background:none;color:var(--muted);display:flex;align-items:center;justify-content:center;padding:0}
.hedit .tic{width:17px;height:17px}
.hedit:active{color:var(--ember-bright)}
.hflbl{font-family:'Saira Condensed';font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:13px 0 6px}
.daysel{display:flex;gap:6px}
.dchip{flex:1;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-family:'Saira Condensed';font-weight:700;font-size:13px}
.dchip.on{background:var(--ember);color:#1b1206;border-color:var(--ember)}
.lnk{background:none;border:none;color:var(--ember-bright);font-family:'Saira Condensed';font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:0}

/* home greeting — personalised, premium */
.greet{margin:2px 0 12px}
.greet-hi{font-family:'Saira Condensed';font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:11.5px;color:var(--muted)}
.greet-name{font-family:'Saira Condensed';font-weight:800;font-size:38px;line-height:1;letter-spacing:.005em;margin-top:2px;background:linear-gradient(95deg,var(--steel) 8%,var(--ember-bright) 55%,var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 10px rgba(255,107,44,.18))}
/* "made by" credit */
.credit{text-align:center;font-family:'Saira Condensed';font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;color:var(--muted);opacity:.7;margin:22px 0 6px}
.credit b{color:var(--ember-bright);font-weight:700}
/* forge score — home card */
.scorecard{display:block;width:100%;text-align:left;position:relative;overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,rgba(255,107,44,.22),rgba(31,27,20,.6) 60%),linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid rgba(255,107,44,.4);border-radius:20px;padding:16px 18px;margin:10px 0 2px;box-shadow:0 18px 40px -22px rgba(255,107,44,.5),0 0 0 1px rgba(255,255,255,.05) inset}
.scorecard:active{transform:scale(.99)}
/* Forge Score hero — animated circular gauge */
.sc-hero{display:flex;align-items:center;gap:18px}
.sc-gauge{position:relative;width:118px;height:118px;flex:0 0 auto;filter:drop-shadow(0 0 12px rgba(255,107,44,.35))}
.sc-gauge svg{width:100%;height:100%;display:block}
.sc-gauge-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.sc-gauge-c .sc-num{font-family:'Saira Condensed';font-weight:800;font-size:42px;line-height:.9;color:#fff;letter-spacing:-.01em}
.sc-gauge-c .sc-max{font-family:'Space Mono';font-size:10px;color:var(--muted);margin-top:3px;letter-spacing:.04em}
.sc-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.sc-meta .sc-k{font-family:'Saira Condensed';font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:11px;color:var(--ember-bright)}
.sc-meta .sc-band{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:26px;line-height:1;color:#fff;background:linear-gradient(90deg,var(--ember-bright),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.sc-pill{font-family:'Space Mono';font-size:11px;color:var(--steel);background:rgba(0,0,0,.28);border:1px solid var(--line);padding:3px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:4px}
.sc-pill b{color:#fff;font-weight:700}
.sc-pill.streak{color:var(--ember-bright);border-color:rgba(255,107,44,.45)}
.sc-pill.streak .tic{width:13px;height:13px;color:var(--ember);fill:rgba(255,107,44,.4)}
.sc-hint{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted);margin-top:2px}
/* top-right delta chip — points moved by yesterday's logging */
.sc-delta{position:absolute;top:14px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:1px;z-index:2}
.sc-delta .scd-n{font-family:'Saira Condensed';font-weight:800;font-size:19px;line-height:1;letter-spacing:.01em}
.sc-delta .scd-l{font-family:'Space Mono';font-size:9px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.sc-delta.up .scd-n{color:#4ccb6e}
.sc-delta.down .scd-n{color:#ef5a47}
.sc-delta.flat .scd-n{color:var(--muted)}
.sc-load{font-family:'Saira Condensed';font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.sc-top{display:flex;justify-content:space-between;align-items:center}
.sc-k{font-family:'Saira Condensed';font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--ember-bright)}
.sc-band{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--gold)}
.sc-row{display:flex;align-items:center;gap:16px;margin-top:3px}
.sc-num{font-family:'Saira Condensed';font-weight:800;font-size:46px;line-height:1;color:var(--steel)}
.sc-side{display:flex;flex-direction:column;gap:3px}
.sc-today{font-size:12px;color:var(--muted);font-family:'Space Mono'}
.sc-today b{color:var(--steel)}
.sc-streak{display:flex;align-items:center;gap:4px;color:var(--ember-bright);font-family:'Saira Condensed';font-weight:800;font-size:14px}
.sc-streak .tic{width:15px;height:15px;color:var(--ember);fill:rgba(255,107,44,.35)}

/* forge score — screen */
.scwhy{font-family:'Space Mono';font-size:12.5px;line-height:1.5;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin:2px 0 8px}
.scwhy b{color:var(--steel)}
/* progress: personal records grid */
.prgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:4px 0 6px}
.prtile{display:flex;flex-direction:column;align-items:center;gap:3px;background:linear-gradient(180deg,rgba(240,194,84,.1),var(--surface));border:1px solid rgba(240,194,84,.35);border-radius:13px;padding:13px 8px;box-shadow:var(--ring)}
.prtile .tic{width:20px;height:20px;color:var(--gold)}
.prt-n{font-family:'Saira Condensed';font-weight:800;font-size:20px;color:var(--gold);line-height:1}
.prt-l{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11px;color:var(--muted);text-align:center}
.scbreak{display:flex;flex-direction:column;gap:10px;margin:4px 0 8px}
.scrow{display:flex;align-items:center}
.scn{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.04em;min-width:64px}
.scv{font-family:'Space Mono';font-size:13px;color:var(--steel);min-width:26px;text-align:right}
.badges{display:flex;gap:9px;margin-bottom:6px}
.badge{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 6px;color:var(--muted);opacity:.5}
.badge.on{opacity:1;border-color:rgba(240,194,84,.5);color:var(--gold);background:linear-gradient(180deg,rgba(240,194,84,.1),var(--surface))}
.badge .tic{width:24px;height:24px}
.badge span{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.badge em{font-style:normal;font-size:10px;font-family:'Space Mono';color:var(--muted)}

/* exercise form demo — real start↔finish photos (cross-fade) */
.exdemo{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:14px;padding:10px;margin:10px 0;box-shadow:var(--ring);text-align:center}
.exdemo-imgs{position:relative;width:100%;max-width:360px;margin:0 auto;aspect-ratio:4/3;border-radius:11px;overflow:hidden;background:#f4f1ec}
.exd{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.exd.a{animation:exfadeA 3s ease-in-out infinite}
.exd.b{animation:exfadeB 3s ease-in-out infinite}
@keyframes exfadeA{0%,38%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
@keyframes exfadeB{0%,38%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.exd.b{opacity:0}.exd.a{opacity:1}}
.exmlbl{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--muted);margin-top:6px}
.formadd{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:12px;margin:8px 0 2px;color:var(--steel);font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:13px}
.formadd .tic{width:18px;height:18px;color:var(--ember-bright)}
.formadd:active{border-color:var(--ember)}
/* watch perfect form */
.formvid{display:flex;align-items:center;gap:12px;background:linear-gradient(150deg,rgba(255,107,44,.18),var(--surface) 75%);border:1px solid rgba(255,107,44,.45);border-radius:13px;padding:13px 15px;margin:8px 0 4px;text-decoration:none;color:var(--steel);box-shadow:var(--ring)}
.formvid .tic{width:26px;height:26px;color:var(--ember-bright);flex:0 0 auto}
.formvid>span{flex:1;display:flex;flex-direction:column;min-width:0}
.formvid b{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:16px}
.formvid em{font-style:normal;font-size:11.5px;color:var(--muted);font-family:'Space Mono';margin-top:1px}
.fv-go{flex:0 0 auto;color:var(--muted);font-size:22px}
.formvid:active{transform:scale(.99)}

/* tip of the day */
.tipcard{background:linear-gradient(150deg,rgba(121,166,194,.14),var(--surface) 75%);border:1px solid rgba(121,166,194,.3);border-radius:14px;padding:12px 15px;margin:8px 0 2px;box-shadow:var(--ring)}
.tip-k{display:flex;align-items:center;gap:7px;font-family:'Saira Condensed';font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:11px;color:var(--cool)}
.tip-k .tic{width:15px;height:15px;color:var(--gold);fill:rgba(240,194,84,.3)}
.tip-t{font-size:13.5px;line-height:1.5;color:var(--steel);margin-top:6px}

/* sleep card + screen */
.sleepc{display:block;width:100%;text-align:left;background:linear-gradient(150deg,rgba(121,166,194,.18),var(--surface) 72%);border:1px solid rgba(121,166,194,.4);border-radius:16px;padding:13px 16px;margin:8px 0 2px;box-shadow:var(--ring)}
.sleepc.urge{background:linear-gradient(150deg,rgba(255,107,44,.18),var(--surface) 72%);border-color:rgba(255,107,44,.45)}
.sleepc.morn{background:linear-gradient(150deg,rgba(240,194,84,.16),var(--surface) 72%);border-color:rgba(240,194,84,.4)}
.sleepc:active{transform:scale(.99)}
.sl-top{display:flex;align-items:center;gap:7px}
.sl-top .tic{width:16px;height:16px;color:var(--cool)}
.sleepc.urge .sl-top .tic{color:var(--ember-bright)}
.sleepc.morn .sl-top .tic{color:var(--gold)}
.sl-k{font-family:'Saira Condensed';font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--cool)}
.sleepc.urge .sl-k{color:var(--ember-bright)}
.sleepc.morn .sl-k{color:var(--gold)}
.sl-t{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;font-size:20px;line-height:1.05;margin:5px 0 3px}
.sl-n{font-size:12px;color:var(--muted);font-family:'Space Mono';line-height:1.45}
.sleepsched{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 4px}
.ssrow{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 13px;box-shadow:var(--ring)}
.ssrow span{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:11px;color:var(--muted)}
.ssrow b{font-family:'Space Mono';font-size:16px;color:var(--steel)}
.sl-more{background:none;border:none;color:var(--cool);font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px;margin-top:10px;padding:0;cursor:pointer;display:block}
.sleepc.urge .sl-more{color:var(--ember-bright)}
.sleepc.morn .sl-more{color:var(--gold)}
.sl-done{font-family:'Space Mono';font-size:12px;color:var(--ember-bright);margin-top:10px}
.sleepc .anbtn{width:100%;margin-top:10px}

/* superset + drop-set cues (live workout) */
.ssnote,.dropnote{font-size:12.5px;line-height:1.45;border-radius:11px;padding:10px 13px;margin-top:12px;font-family:'Space Mono'}
.ssnote{background:rgba(121,166,194,.12);border:1px solid rgba(121,166,194,.4);color:var(--cool)}
.dropnote{background:rgba(232,67,26,.12);border:1px solid rgba(232,67,26,.4);color:var(--ember-bright)}
.ssnote b,.dropnote b{color:var(--steel)}
/* superset live tint — distinct from normal sets */
.app.superset{background:radial-gradient(120% 60% at 50% -10%, rgba(140,123,217,.20), transparent 62%)}
.app.superset .heatbar i{background:linear-gradient(90deg,#5b4b9e,#a795e6)}
.app.superset .protarget{border-color:rgba(140,123,217,.55);background:linear-gradient(180deg,rgba(140,123,217,.16),var(--surface))}
.app.superset .protarget b{color:#c9bcf2}
.app.superset .live-top .rt-chip{border-color:rgba(140,123,217,.5);color:#c9bcf2}
.app.superset .ssnote{background:rgba(140,123,217,.14);border-color:rgba(140,123,217,.45);color:#c9bcf2}

/* 3 daily progress bars (home top) */
.daybars{display:flex;gap:10px;margin:10px 0 2px}
.daybar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:14px;padding:12px 6px 10px;box-shadow:var(--ring)}
.db-track{width:100%;max-width:36px;height:72px;background:var(--bg);border:1px solid var(--line);border-radius:9px;display:flex;align-items:flex-end;overflow:hidden}
.db-track i{display:block;width:100%;border-radius:0 0 8px 8px;transition:height .5s ease}
.db-track i.b-sleep{background:linear-gradient(0deg,var(--cool-deep),var(--cool))}
.db-track i.b-diet{background:linear-gradient(0deg,#b8923a,var(--gold))}
.db-track i.b-work{background:linear-gradient(0deg,var(--ember),var(--ember-bright))}
.db-pct{font-family:'Saira Condensed';font-weight:800;font-size:18px;line-height:1;color:var(--steel)}
.db-l{font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--muted)}

/* home 4 core section cards */
.sect{position:relative;display:block;width:100%;text-align:left;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-left:4px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px;box-shadow:var(--ring);cursor:pointer}
.sect:active{transform:scale(.995)}
.sect-work{border-left-color:var(--ember)}.sect-diet{border-left-color:var(--gold)}.sect-sleep{border-left-color:var(--cool)}.sect-exp{border-left-color:#8a7bd9}
.sect-top{display:flex;align-items:center;gap:9px}
.sect-top>.tic{width:22px;height:22px;flex:0 0 auto}
.sect-work .sect-top>.tic{color:var(--ember-bright)}.sect-diet .sect-top>.tic{color:var(--gold)}.sect-sleep .sect-top>.tic{color:var(--cool)}.sect-exp .sect-top>.tic{color:#b7a9ec}
.sect-name{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:15px;flex:1}
.sect-badge{font-family:'Space Mono';font-size:11px;color:var(--muted);background:rgba(0,0,0,.25);border:1px solid var(--line);padding:2px 8px;border-radius:20px}
.sect-pct{font-family:'Saira Condensed';font-weight:800;font-size:18px;color:var(--steel)}
.sect-big{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;font-size:23px;line-height:1.05;margin:9px 0 2px}
.sect-sub{font-size:12px;color:var(--muted);font-family:'Space Mono';line-height:1.4}
.sect-bar{height:7px;background:var(--bg);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:10px}
.sect-bar i{display:block;height:100%;border-radius:6px;transition:width .5s ease}
.sect-bar i.b-work{background:linear-gradient(90deg,var(--ember),var(--ember-bright))}
.sect-bar i.b-diet{background:linear-gradient(90deg,#b8923a,var(--gold))}
.sect-bar i.b-sleep{background:linear-gradient(90deg,var(--cool-deep),var(--cool))}
.sect-bar i.b-exp{background:linear-gradient(90deg,#5b4b9e,#a795e6)}
.sect-cta{display:block;width:max-content;margin:11px 0 0 auto;background:var(--ember);color:#1b1206;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:13px;padding:9px 16px;border-radius:11px}
.sect-diet .sect-cta{background:var(--gold)}
.sect-cta:active{transform:scale(.97)}

/* live wake-up + lights-out widgets — side-by-side vertical cards */
.daytimers{display:flex;gap:10px;margin:10px 0 2px}
.daytimers>div{flex:1 1 0;min-width:0}
.wakew{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;height:100%;text-align:left;border-radius:16px;padding:14px 14px 12px;box-shadow:var(--ring);border:1px solid var(--line);background:var(--surface);transition:transform .12s,border-color .2s}
.wakew:active{transform:scale(.98)}
.wakew .ww-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);margin-bottom:5px}
.wakew .ww-ic .tic{width:20px;height:20px}
.wakew .ww-t{font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:16px;line-height:1.05;color:var(--steel)}
.wakew .ww-c{font-size:13px;color:var(--muted);font-family:'Space Mono';font-variant-numeric:tabular-nums;line-height:1.25}
.ww-go{margin-top:8px;font-family:'Saira Condensed';font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;color:var(--ember-bright)}
.ww-go.muted{color:var(--muted)}
.ww-go.undo{color:var(--muted)}
.wakew.soon{border-color:rgba(121,166,194,.45)}.wakew.soon .ww-ic .tic{color:var(--cool)}
.wakew.soon .ww-ic{background:rgba(121,166,194,.14)}
.wakew.over{border-color:rgba(232,67,26,.6);background:linear-gradient(180deg,rgba(232,67,26,.18),var(--surface));animation:wakepulse 1.4s ease-in-out infinite}
.wakew.over .ww-ic{background:rgba(232,67,26,.22)}
.wakew.over .ww-ic .tic{color:var(--ember-bright);fill:rgba(232,67,26,.3)}.wakew.over .ww-t,.wakew.over .ww-c{color:var(--ember-bright)}
.wakew.done{border-color:rgba(255,107,44,.45)}.wakew.done .ww-ic{background:rgba(255,107,44,.18)}.wakew.done .ww-ic .tic{color:var(--ember-bright)}
.wakew.off{opacity:.62}.wakew.off .ww-ic .tic{color:var(--muted)}
@keyframes wakepulse{50%{border-color:rgba(232,67,26,1)}}
/* Themed, colour-blended timer cards: lights-out = cool night, wake-up = warm sunrise.
   The urgent .over (red) and .done states keep their own colours (they don't carry .soon/.off). */
#lightswidget .wakew.soon,#lightswidget .wakew.off{background:linear-gradient(160deg,rgba(62,107,134,.30),rgba(31,27,20,.6) 75%);border-color:rgba(121,166,194,.42)}
#lightswidget .wakew .ww-ic{background:rgba(121,166,194,.20)}
#lightswidget .wakew .ww-ic .tic{color:var(--cool)}
#wakewidget .wakew.soon,#wakewidget .wakew.off{background:linear-gradient(160deg,rgba(233,185,73,.26),rgba(31,27,20,.6) 75%);border-color:rgba(233,185,73,.42)}
#wakewidget .wakew .ww-ic{background:rgba(233,185,73,.22)}
#wakewidget .wakew .ww-ic .tic{color:var(--gold)}
#wakewidget .wakew.soon .ww-go,#wakewidget .wakew.over .ww-go{color:var(--gold)}
/* home caffeine cut-off bar */
/* small, quiet caffeine strip (under the tip) — visible, not screaming */
.caffstrip{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 12px;margin:4px 0 2px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid var(--line);color:var(--muted);font-family:'Space Mono';font-size:11.5px;line-height:1.3}
.caffstrip .tic{width:14px;height:14px;flex:0 0 auto;color:var(--muted)}
.caffstrip span{flex:1;min-width:0}
.caffstrip.warn{color:var(--ember-bright);background:rgba(232,67,26,.07);border-color:rgba(232,67,26,.3)}
.caffstrip.warn .tic{color:var(--ember-bright)}
/* sleep settings: caffeine row + note */
.ssrow.caff{margin:6px 0}
.ssrow.caff span{display:flex;align-items:center;gap:7px}
.ssrow.caff span .tic{width:16px;height:16px;color:var(--gold)}
.ssrow.caff b{color:var(--gold)}
.caffnote{font-size:12.5px;line-height:1.55;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:11px 13px;margin:8px 0 4px}
.caffnote b{color:var(--gold);font-family:'Space Mono'}
/* recent nights record */
.sleeprows{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.srrow{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:10px 13px;box-shadow:var(--ring)}
.srrow .sr-d{flex:1;min-width:0;font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:13px;color:var(--steel)}
.srrow .sr-v{display:inline-flex;align-items:center;gap:5px;font-family:'Space Mono';font-size:13px;color:var(--steel);white-space:nowrap}
.srrow .sr-v .tic{width:14px;height:14px}
.srrow .sr-lo .tic{color:var(--cool)}
.srrow .sr-wk .tic{color:var(--gold)}
.srrow .sr-dur{font-family:'Space Mono';font-size:12px;color:var(--muted);min-width:54px;text-align:right}

/* exercise how-to steps + cue/avoid callouts */
.steps{margin:4px 0 8px;padding-left:0;list-style:none;counter-reset:step}
.steps li{position:relative;padding:8px 0 8px 38px;font-size:14px;line-height:1.5;color:var(--steel);border-bottom:1px solid var(--line);counter-increment:step}
.steps li:last-child{border-bottom:none}
.steps li::before{content:counter(step);position:absolute;left:0;top:7px;width:24px;height:24px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);color:var(--ember-bright);font-family:'Saira Condensed';font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.cuebox{display:flex;gap:10px;align-items:flex-start;background:linear-gradient(180deg,rgba(255,107,44,.12),var(--surface));border:1px solid rgba(255,107,44,.35);border-left:3px solid var(--ember);border-radius:11px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:var(--steel);margin:10px 0}
.cuebox .tic{width:18px;height:18px;color:var(--ember-bright);fill:rgba(255,107,44,.3);flex:0 0 auto;margin-top:1px}
.cuebox b{color:var(--ember-bright)}
.missbox{background:rgba(232,67,26,.1);border:1px solid rgba(232,67,26,.35);border-radius:11px;padding:11px 14px;font-size:13.5px;line-height:1.5;color:var(--steel);margin:8px 0}
.missbox b{color:var(--ember-bright)}

/* morning check-ins */
.checkins{display:flex;flex-direction:column;gap:8px}
.ci{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:11px 13px;box-shadow:var(--ring)}
.ci.done{border-color:rgba(255,107,44,.5);background:linear-gradient(180deg,rgba(255,107,44,.08),var(--surface))}
.ci.late{border-color:rgba(240,194,84,.4)}
.ci>.tic{width:22px;height:22px;color:var(--ember-bright);flex:0 0 auto}
.ci-main{flex:1;min-width:0}
.ci-main b{font-family:'Saira Condensed';font-weight:700;font-size:16px;text-transform:uppercase;display:block;line-height:1.1}
.ci-main span{font-size:11.5px;color:var(--muted);font-family:'Space Mono'}
.ci-flame{display:flex;align-items:center;gap:3px;color:var(--ember-bright);font-family:'Saira Condensed';font-weight:800;font-size:14px}
.ci-flame .tic{width:15px;height:15px;color:var(--ember);fill:rgba(255,107,44,.35)}
.ci-ok{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--ember);color:#1b1206;flex:0 0 auto}
.ci-ok .tic{width:18px;height:18px;stroke-width:3}
.ci-btn{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);color:var(--ember-bright);display:flex;align-items:center;justify-content:center}
.ci-btn .tic{width:20px;height:20px}
.ci-btn:active{background:var(--line)}

/* ---- SESSION DETAIL: per-set history ---- */
.dxg{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin-bottom:9px;box-shadow:var(--ring)}
.dxg-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.dxg-h b{font-family:'Saira Condensed';font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.01em}
.dxg-h span{font-size:11px;color:var(--muted);font-family:'Space Mono';white-space:nowrap}
.dxg-set{display:grid;grid-template-columns:26px 1fr auto auto;align-items:center;gap:10px;padding:6px 0}
.dxg-set+.dxg-set{border-top:1px dashed rgba(58,51,40,.6)}
.dxg-i{width:24px;height:24px;border-radius:7px;background:var(--surface-2);color:var(--muted);font-family:'Saira Condensed';font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
.dxg-wr{font-family:'Space Mono';font-size:14px;color:var(--steel);font-weight:700}
.dxg-rir{font-family:'Space Mono';font-size:11px;color:var(--muted);text-align:right}
.dxg-e{font-family:'Saira Condensed';font-weight:800;font-size:13px;color:var(--gold);text-align:right;white-space:nowrap}

/* ---- WEEKLY TONNAGE CHART (advanced analysis) ---- */
.volchart{display:flex;align-items:flex-end;gap:6px;height:128px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px 12px 8px;box-shadow:var(--ring)}
.vc-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px}
.vc-barwrap{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px}
.vc-val{font-family:'Space Mono';font-size:9px;color:var(--muted);white-space:nowrap}
.vc-bar{display:block;width:74%;max-width:26px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--ember-bright),var(--ember-deep));min-height:2px;transition:height .5s ease}
.vc-col.now .vc-bar{background:linear-gradient(180deg,var(--gold),var(--ember-bright))}
.vc-col.now .vc-lbl{color:var(--gold)}
.vc-lbl{font-family:'Space Mono';font-size:9px;color:var(--muted);white-space:nowrap}

/* ============ DESIGN ELEVATION ============ */
/* Section cards: dimensional accent badge, glowing progress, press feedback. */
.sect{transition:transform .12s ease,border-color .2s,box-shadow .2s}
.sect:active{transform:scale(.985)}
.sect::after{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--line)}
.sect-work::after{background:linear-gradient(180deg,var(--ember-bright),var(--ember-deep));box-shadow:0 0 14px rgba(255,107,44,.55)}
.sect-diet::after{background:linear-gradient(180deg,var(--gold),#b8923a);box-shadow:0 0 14px rgba(240,194,84,.45)}
.sect-sleep::after{background:linear-gradient(180deg,var(--cool),var(--cool-deep));box-shadow:0 0 14px rgba(134,178,206,.45)}
.sect-exp::after{background:linear-gradient(180deg,#b7a9ec,#5b4b9e);box-shadow:0 0 14px rgba(138,123,217,.45)}
/* icon → tinted rounded badge */
.sect-top>.tic{width:36px;height:36px;padding:8px;border-radius:11px;background:rgba(255,255,255,.05);box-shadow:0 1px 0 rgba(255,255,255,.06) inset}
.sect-work .sect-top>.tic{background:rgba(255,107,44,.16)}
.sect-diet .sect-top>.tic{background:rgba(240,194,84,.16)}
.sect-sleep .sect-top>.tic{background:rgba(134,178,206,.16)}
.sect-exp .sect-top>.tic{background:rgba(138,123,217,.18)}
.sect-pct{font-size:20px}
.sect-work .sect-pct{color:var(--ember-bright)}.sect-diet .sect-pct{color:var(--gold)}.sect-sleep .sect-pct{color:var(--cool)}.sect-exp .sect-pct{color:#b7a9ec}
/* progress bar: glow + animated sheen */
.sect-bar{height:8px;background:rgba(0,0,0,.35)}
.sect-bar i{position:relative;overflow:hidden;box-shadow:0 0 10px -1px currentColor}
.sect-bar i.b-work{color:var(--ember)}.sect-bar i.b-diet{color:var(--gold)}.sect-bar i.b-sleep{color:var(--cool)}.sect-bar i.b-exp{color:#a795e6}
.sect-bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-100%);animation:sheen 2.6s ease-in-out infinite}
@keyframes sheen{0%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}
/* tip card icon a touch more alive */
.tipcard{border-radius:16px}
/* staggered entrance for the home dashboard (only re-runs on navigation to home) */
.screen.home>*{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.screen.home>*:nth-child(1){animation-delay:.02s}
.screen.home>*:nth-child(2){animation-delay:.07s}
.screen.home>*:nth-child(3){animation-delay:.12s}
.screen.home>*:nth-child(4){animation-delay:.17s}
.screen.home>*:nth-child(5){animation-delay:.22s}
.screen.home>*:nth-child(6){animation-delay:.27s}
.screen.home>*:nth-child(7){animation-delay:.32s}
.screen.home>*:nth-child(n+8){animation-delay:.36s}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* tool tiles: lift + accent on press */
.tool{transition:transform .12s ease,border-color .15s,background .15s}
.tool:active{transform:translateY(1px) scale(.97)}
.tool .tic{transition:color .15s}
.tool:hover .tic,.tool:active .tic{color:var(--ember-bright)}
/* CTA buttons: subtle gradient + shadow so they feel pressable */
.sect-cta{background:linear-gradient(180deg,var(--ember-bright),var(--ember));box-shadow:0 8px 18px -10px rgba(255,107,44,.8)}
.sect-diet .sect-cta{background:linear-gradient(180deg,var(--gold),#cf9f2f);box-shadow:0 8px 18px -10px rgba(240,194,84,.7)}
@media(prefers-reduced-motion:reduce){.sect-bar i::after{display:none}.screen.home>*{animation:none}}

.caffcard{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(150deg,rgba(214,123,74,.1),var(--surface) 80%);border:1px solid var(--line);border-radius:13px;padding:11px 15px;margin:8px 0 0;box-shadow:var(--ring)}
.caffcard .cc-l{display:flex;align-items:center;gap:8px;font-family:'Saira Condensed';font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px;color:var(--muted)}
.caffcard .cc-l .tic{width:18px;height:18px}
.caffcard .cc-v{font-family:'Space Mono';font-weight:700;font-size:16px;color:var(--ember-bright)}

/* ============================================================================
   ELEVATION v2 (10X) — cleaner foundation, more space, tactile depth, refined
   type & motion. Keeps the forge/ember identity; loads LAST so it wins.
   ============================================================================ */
:root{
  --bg:#0E0C07;--surface:#191510;--surface-2:#221C14;--surface-3:#2C251A;
  --line:#332C20;--line-2:#473D2D;--hair:rgba(255,255,255,.06);
  --steel:#F1ECE1;--muted:#9C927E;--faint:#6E6553;
  --ember:#FF6A2B;--ember-bright:#FF9D45;--ember-deep:#E8431A;
  --cool:#8FB8D2;--cool-deep:#3E6B86;--gold:#F3C65C;
  --accent:var(--ember);--glow:rgba(255,107,44,.16);
  /* radius + elevation scale */
  --r-xl:22px;--r-lg:18px;--r-md:13px;--r-sm:9px;
  --e1:0 1px 0 var(--hair) inset, 0 6px 16px -12px rgba(0,0,0,.9);
  --e2:0 1px 0 var(--hair) inset, 0 16px 34px -20px rgba(0,0,0,.92);
  --ring:var(--e1);
  --ease:cubic-bezier(.22,.8,.28,1);
}
/* richer, calmer ambient field */
body::before{background:
  radial-gradient(105% 60% at 50% -12%, rgba(255,107,44,.11), transparent 60%),
  radial-gradient(80% 50% at 108% 104%, rgba(121,166,194,.06), transparent 72%),
  radial-gradient(60% 40% at -10% 30%, rgba(240,194,84,.04), transparent 70%),
  var(--bg);}

/* ---------- shared surfaces: bigger radius, calmer borders, real depth ---------- */
.card,.pcard,.stat,.dstat,.fitem,.logrow,.histrow,.qchip,.dietscore,.bodymap,
.readybox,.outcard,.volopen,.tipcard,.caffcard,.meso,.acctcard,.onboard,.herocard{
  border-radius:var(--r-lg);box-shadow:var(--e1);border-color:var(--line)}
.card{padding:16px 17px}
.card:hover,.tool:hover,.sect:hover,.logrow:hover,.histrow:hover{border-color:var(--line-2)}

/* ---------- type polish ---------- */
.screen,.live,.food,.guide,.exinfo,.prog,.done,.cardio-live{animation:rise2 .5s var(--ease)}
@keyframes rise2{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.seclbl{font-size:11.5px;letter-spacing:.18em;color:var(--faint);margin:26px 0 11px}
.greet{margin:6px 0 14px}
.greet-hi{font-size:11px;letter-spacing:.2em;color:var(--faint)}
.greet-name{font-size:42px;letter-spacing:-.01em;filter:drop-shadow(0 2px 14px rgba(255,107,44,.16))}

/* ---------- home section cards: more air, single glowing rail, cleaner ---------- */
.sect{padding:16px 17px 15px;border-radius:var(--r-lg);border-left:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.022),transparent 40%),linear-gradient(180deg,var(--surface-2),var(--surface));
  box-shadow:var(--e1);margin-bottom:11px;transition:transform .14s var(--ease),border-color .2s,box-shadow .25s}
.sect:hover{box-shadow:var(--e2);transform:translateY(-1px)}
.sect:active{transform:scale(.992)}
.sect::after{left:0;top:16px;bottom:16px;width:3px}
.sect-top{gap:11px;align-items:center}
.sect-top>.tic{width:38px;height:38px;padding:9px;border-radius:12px}
.sect-name{font-size:14px;letter-spacing:.08em;color:var(--steel)}
.sect-badge{font-size:10.5px;padding:3px 9px;color:var(--muted)}
.sect-big{font-size:22px;margin:11px 0 3px;letter-spacing:.01em}
.sect-sub{font-size:11.5px;color:var(--muted)}
.sect-bar{height:7px;border-radius:20px;margin-top:12px;border-color:transparent;background:rgba(0,0,0,.45)}
.sect-cta{padding:10px 17px;border-radius:12px;font-size:12.5px;letter-spacing:.06em;margin-top:13px}

/* ---------- tool tiles ---------- */
.toolgrid{gap:9px;grid-auto-rows:92px}
.tool{border-radius:var(--r-md);background:linear-gradient(180deg,var(--surface-2),var(--surface));box-shadow:var(--e1)}
.tool .tic{width:24px;height:24px}
.tool span{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.tool:hover{transform:translateY(-2px);box-shadow:var(--e2)}

/* ---------- score hero ---------- */
.scorecard{border-radius:var(--r-xl);padding:18px 20px;box-shadow:var(--e2),0 0 0 1px var(--hair) inset}
.tipcard{border-radius:var(--r-lg);padding:13px 16px;font-size:13px;line-height:1.5}

/* ---------- unified tactile buttons ---------- */
.cta button,.anbtn,.hstart,.sect-cta,.sect-work .sect-cta{
  background:linear-gradient(180deg,var(--ember-bright),var(--ember) 75%);color:#1a0f05;
  box-shadow:0 10px 24px -12px rgba(255,107,44,.85),0 1px 0 rgba(255,255,255,.22) inset;
  transition:transform .12s var(--ease),box-shadow .2s,filter .2s}
.cta button{border-radius:var(--r-md);padding:18px;font-size:18px;letter-spacing:.05em}
.cta button:hover,.anbtn:hover,.hstart:hover,.sect-cta:hover{filter:brightness(1.05)}
.cta button:active,.anbtn:active,.hstart:active,.sect-cta:active{transform:scale(.975)}
.cta button.ghost,.cta .nav .skip{background:var(--surface-2);color:var(--steel);box-shadow:var(--e1);border:1px solid var(--line)}
.cta .nav .skip{color:var(--muted)}
.sect-diet .sect-cta{background:linear-gradient(180deg,var(--gold),#cf9f2f);color:#211803}
.back{color:var(--muted);letter-spacing:.1em;transition:color .15s}
.back:hover{color:var(--steel)}

/* ---------- live workout: focus + clean ---------- */
.live-top{padding-top:calc(13px + env(safe-area-inset-top));background:linear-gradient(180deg,var(--bg) 72%,transparent)}
.live-top .rt-chip{background:var(--surface-2);border-color:var(--line)}
.endbtn{border-radius:13px}
.exhead h2{letter-spacing:.005em}
.infobtn{color:var(--cool);border-color:var(--line);border-radius:10px;background:var(--surface);transition:border-color .15s,color .15s}
.infobtn:hover{border-color:var(--cool-deep);color:var(--steel)}
.protarget{border-radius:var(--r-md);padding:12px 16px;background:linear-gradient(180deg,rgba(255,107,44,.16),rgba(255,107,44,.03));border-color:rgba(255,107,44,.32)}
.protarget b{font-size:24px}
.setgoal{border-radius:var(--r-md);padding:11px 14px;border-left-width:3px;font-size:13px}
.setpips .pip{height:6px;border-radius:20px}
.field{border-radius:var(--r-md);padding:13px 8px}
.stepper button{width:40px;height:42px;border-radius:11px;background:var(--surface-3);font-size:22px;transition:background .12s,transform .1s}
.stepper button:hover{background:var(--line-2)}
.stepper button:active{transform:scale(.92)}
.stepper .v{font-size:29px}

/* ---------- inline + full exercise demo ---------- */
.exdemo{border-radius:var(--r-lg);padding:11px;background:linear-gradient(180deg,var(--surface-2),var(--surface));box-shadow:var(--e1)}
.exdemo-imgs{border-radius:13px;box-shadow:0 2px 10px -4px rgba(0,0,0,.6)}
.exmlbl{color:var(--faint);letter-spacing:.14em;margin-top:8px}
.livedemo{margin:10px 0 4px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e1);overflow:hidden}
.livedemo>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:10px 13px;font-family:'Saira Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--muted)}
.livedemo>summary::-webkit-details-marker{display:none}
.livedemo .ld-x{color:var(--faint);font-size:10px;font-weight:600}
.livedemo>summary .ld-x::after{content:"tap to hide"}
.livedemo:not([open])>summary .ld-x::after{content:"tap to show"}
.livedemo .exdemo{background:none;border:none;box-shadow:none;padding:0 11px 11px;margin:0}
.livedemo .exdemo-imgs{max-width:196px;aspect-ratio:3/2}
.livedemo .exmlbl{display:none}

/* ---------- chips / inputs / pills ---------- */
.qchip{border-radius:var(--r-md)}
.qchip:hover{transform:translateY(-1px);border-color:var(--line-2)}
input,textarea,select{transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px rgba(255,107,44,.14)}

/* ---------- desktop: a touch more room (do NOT touch .app here — the ≥900px
   grid shell owns .app's max-width/display; overriding it crushes the layout) ---------- */
@media(min-width:900px){
  .greet-name{font-size:46px}
}
@media(prefers-reduced-motion:reduce){.screen,.live,.food,.guide,.exinfo,.prog,.done{animation:none}}
