/* FeniksFit — setup.css: настройка программы, профили, параметры тренажёра, «о системе» */
#setup,#users,#machine,#about{position:absolute;inset:0;display:flex;flex-direction:column;gap:clamp(10px,2vh,20px);padding:clamp(12px,2vh,22px) clamp(14px,1.6vw,28px);
  background:radial-gradient(1100px 650px at 50% 35%,#24130f,#0b0d10 70%);animation:fadeIn .35s ease both;overflow:hidden}
.suTop{display:flex;align-items:center;gap:16px}
.suTop h1{margin:0;font:700 clamp(20px,3vh,30px) Unbounded,system-ui}
.suTabs{display:flex;gap:10px;margin-left:12px}
.suTabs button{display:flex;align-items:center;gap:10px;background:#141820;border:1px solid var(--line);border-radius:14px;padding:clamp(8px,1.4vh,14px) clamp(14px,1.4vw,22px);
  font:600 clamp(13px,1.8vh,17px) Unbounded,system-ui;color:#c3cad4}
.suTabs .ti{width:26px;height:26px;color:#ff9a2a;display:grid}.suTabs .ti svg{width:100%;height:100%}
.suTabs button.on{background:linear-gradient(160deg,#3a1a12,#1d1215);border-color:var(--accent);color:#fff}
.suBody{flex:1;min-height:0;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,2fr) minmax(260px,1fr);gap:clamp(12px,1.4vw,22px)}
.suList{display:flex;flex-direction:column;gap:10px;overflow:auto;padding:2px}.suList>:first-child{margin-top:auto}.suList>:last-child{margin-bottom:auto}
.suList button{text-align:left;background:#141820e6;border:1px solid var(--line);border-left:4px solid transparent;border-radius:14px;padding:clamp(10px,1.8vh,16px) 16px;display:flex;flex-direction:column;gap:5px}
.suList button b{font-size:clamp(14px,2vh,18px)}.suList button span{color:#8b95a3;font-size:clamp(12px,1.5vh,14px);line-height:1.35}
.suList button.on{border-left-color:var(--accent);background:#1d1a1c;box-shadow:0 0 0 1px #ff7a1a55}
.suList button.grp{border-left-color:var(--gc)}.suList button.grp.on{background:color-mix(in srgb,var(--gc) 22%,#141820);box-shadow:0 0 0 1px var(--gc)}
.suMid{display:flex;justify-content:center;align-items:stretch;gap:clamp(10px,1.6vw,30px);min-height:0;padding:4px 0}
/* вертикальный ползунок */
.vs{display:grid;grid-template-rows:auto 1fr auto 2.8em 18px;justify-items:center;gap:clamp(18px,3.4vh,34px);row-gap:clamp(18px,3.4vh,34px);width:clamp(86px,8vw,120px);min-height:0}
.vs>button{width:100%;height:clamp(44px,7vh,64px);border-radius:14px;border:1px solid #ffffff1f;background:linear-gradient(#232a36,#181d26);font-size:28px;color:#fff}
.vs>button:active{transform:scale(.96)}
.vs .track{position:relative;width:56%;border-radius:12px;background:repeating-linear-gradient(to top,#0a0c10 0 calc(10% - 2px),#2a303b calc(10% - 2px) 10%);border:1px solid #2a303b;cursor:pointer;touch-action:none;min-height:120px}
.vs .fill{position:absolute;left:0;right:0;bottom:0;border-radius:0 0 11px 11px;background:linear-gradient(to top,#e8371b,#ff9a2a 70%,#ffd36b)}
.vs .thumb{position:absolute;left:50%;transform:translateX(-50%);min-width:clamp(64px,6vw,90px);height:36px;border-radius:10px;background:#e9edf2;color:#11151b;display:grid;place-items:center;
  font:800 clamp(16px,2.2vh,20px) Unbounded,system-ui;box-shadow:0 4px 14px #000a;pointer-events:none}
.vs .lab{align-self:start;margin-top:calc(-1 * clamp(8px,2vh,22px));text-align:center;font-weight:700;font-size:clamp(12px,1.6vh,15px);color:#c3cad4;line-height:1.25}.vs .lab small{display:block;color:#6f778b;font-weight:500}
.vs .extra{font-size:13px;color:#ff6b78;font-weight:700;min-height:16px}
.suSide{display:flex;flex-direction:column;gap:14px;min-height:0}
.suCard{flex:1;min-height:0;background:#11151be6;border:1px solid var(--line);border-radius:18px;padding:clamp(12px,2vh,20px);display:flex;flex-direction:column;gap:8px}
.suCard h2{margin:0;font:700 clamp(16px,2.4vh,22px) Unbounded,system-ui}.suCard p{margin:0;color:#c3cad4;font-size:clamp(13px,1.7vh,16px);line-height:1.45}
.suLbl{color:#6f778b;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
#suPlan{width:100%;flex:1;min-height:clamp(70px,12vh,140px);background:#0c0f14;border:1px solid var(--line);border-radius:10px}
.suPhases{display:flex;gap:4px;margin-top:6px;border-radius:12px;overflow:hidden}
.suPhases div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;min-width:0}.suPhases b{font-size:12px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.suPhases span{font:700 clamp(14px,1.9vh,18px) Unbounded,system-ui;white-space:nowrap}
.suPhases .warm{background:#2fb5ff22;color:#7fd0ff}.suPhases .work{background:#ff7a1a26;color:#ffb43a}.suPhases .cool{background:#3ddc8422;color:#7fe8a8}
.suStats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.suStats div{background:#0c0f14;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.suStats b{font:700 clamp(18px,2.8vh,26px) Unbounded,system-ui;color:#fff}.suStats span{font-size:12px;color:#8b95a3;text-transform:uppercase;letter-spacing:.05em}
.suIntRow{display:flex;align-items:center;gap:10px;font-size:13px;color:#8b95a3;text-transform:uppercase;letter-spacing:.05em}
.suInt{display:flex;gap:4px}.suInt i{width:22px;height:10px;border-radius:3px;background:#ffffff14}.suInt i.on{background:var(--c)}
.suIntRow b{color:#e9edf2;text-transform:none;letter-spacing:0;font-size:14px}
.suLblRow{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.suLeg{display:flex;align-items:center;gap:6px;font-size:12px;color:#8b95a3}.suLeg em{font-style:normal;margin-right:8px}
.suLeg i{width:12px;height:12px;border-radius:3px}.suLeg i.r{background:#ff7a1a}.suLeg i.i{height:3px;background:#2fb5ff}
.suMeta{color:#ffd36b;font-weight:700;font-size:clamp(13px,1.7vh,16px)}
.suGo{position:relative;height:clamp(84px,16vh,150px);border:0;border-radius:24px;font:800 clamp(26px,5vh,44px) Unbounded,system-ui;letter-spacing:.08em;color:#fff;
  background:radial-gradient(circle at 50% 30%,#ffb43a,#ff7a1a 45%,#c42a18);box-shadow:0 0 5vh #ff6a1a77,inset 0 -1vh 2vh #7a0f3a88;text-shadow:0 2px 10px #7a0f3a;animation:hBreath 3s ease-in-out infinite}
.suGo:active{transform:scale(.97)}
/* Спринт-интервалы: уровни и таблица */
.suMid.sprint{flex-direction:column;align-items:center;justify-content:center;gap:16px;overflow:auto}
.lvls{display:flex;gap:10px}.lvls button{width:clamp(56px,7vh,80px);height:clamp(56px,7vh,80px);border-radius:50%;border:2px solid var(--gc);background:#141820;font:800 clamp(18px,3vh,28px) Unbounded,system-ui;color:#fff}
.lvls button.on{background:var(--gc);color:#111;box-shadow:0 0 20px var(--gc)}
.segT{width:min(100%,560px);border-collapse:collapse;font-size:clamp(13px,1.8vh,17px)}
.segT th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;text-align:center}
.segT td{text-align:center;padding:clamp(5px,1vh,9px);border-top:1px solid #ffffff10}.segT td:nth-child(2){color:#ff6b78;font-weight:700}
@media (max-width:1000px){.suBody{grid-template-columns:1fr;overflow:auto}.suTabs{flex-wrap:wrap}}

/* профиль пользователя и параметры тренажёра — формы */
.ufBody{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:clamp(20px,4vw,60px);align-items:center;max-width:1200px;margin:0 auto;width:100%}
.ufAv{justify-self:center;width:min(30vh,260px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:linear-gradient(160deg,#ff8a1f,#c42a18);color:#2a0a08;box-shadow:0 0 6vh #ff6a1a55}
.ufAv svg{width:55%}.ufAv .ini,.mAv .ini,.hAv .ini{font:800 1em Unbounded,system-ui;color:#fff}.ufAv .ini{font-size:min(14vh,120px)}
.ufForm,.mGrid{display:flex;flex-direction:column;gap:clamp(10px,1.8vh,18px)}
.ufRow{display:flex;align-items:center;gap:16px;font-size:clamp(15px,2vh,19px)}
.ufRow>span:first-child{min-width:clamp(150px,14vw,220px);color:#c3cad4}
.ufRow input:not([type=checkbox]){flex:1;max-width:420px;background:#0c0f14;border:1px solid #3a4250;border-radius:12px;padding:12px 16px;font-size:clamp(17px,2.2vh,21px);color:#fff;outline:none}
.ufRow input:focus{border-color:var(--accent)}
.ufRow em{color:#8b95a3;font-style:normal;font-size:14px}
.ufRow.chk{cursor:pointer}.ufRow.chk input{width:26px;height:26px;accent-color:var(--accent)}.ufRow.chk span{min-width:0!important}
.seg{display:flex;background:#0c0f14;border:1px solid #3a4250;border-radius:12px;overflow:hidden}
.seg button{border:0;background:none;padding:12px 20px;font-size:clamp(15px,2vh,18px);color:#c3cad4}.seg button.on{background:var(--accent);color:#111;font-weight:800}
.step{display:flex;align-items:center;gap:10px}.step button{width:48px;height:48px;border-radius:12px;border:1px solid #3a4250;background:#161b23;font-size:24px;color:#fff}
.step b{min-width:70px;text-align:center;font:800 clamp(18px,2.6vh,24px) Unbounded,system-ui}
.ufNote{color:#6f778b;font-size:13px;line-height:1.45;max-width:640px;margin:0}
.ufBtns{display:flex;align-items:center;gap:12px}.ufBtns button{border:1px solid var(--line);background:#161b23;border-radius:12px;padding:14px 22px;font-weight:700;font-size:17px}
.ufBtns .save{background:var(--good);color:#06210f;border-color:var(--good)}.ufBtns .del{color:#ff6b78;border-color:#ff4d5e55;background:none}
.ufErr{color:#ff6b78;font-weight:700;min-height:20px}
.mBody{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:clamp(14px,2.6vh,28px);max-width:1100px;width:100%;margin:0 auto}
.mLbl{color:#8b95a3;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.mTypes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mTypes button{display:flex;flex-direction:column;align-items:center;gap:10px;background:#141820;border:1px solid var(--line);border-radius:18px;padding:clamp(14px,2.4vh,24px) 10px;color:#ff9a2a}
.mTypes button svg{width:clamp(48px,9vh,84px)}.mTypes button b{color:#e9edf2;font-size:clamp(14px,1.9vh,17px)}
.mTypes button.on{border-color:var(--accent);background:linear-gradient(160deg,#3a1a12,#1d1215);box-shadow:0 0 24px #ff6a1a33}
.mOk{color:var(--good);font-weight:700}
.aBody{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}
.aLogo{display:flex;align-items:center;gap:24px}.aLogo img{height:min(24vh,220px);filter:drop-shadow(0 0 20px #ff6a1a66)}
.aLogo b{display:block;font:800 clamp(28px,5vh,48px) Unbounded,system-ui;letter-spacing:.06em}.aLogo b i{font-style:normal;color:#ff9a2a}.aLogo span{color:#c3cad4}
.aTab{border-collapse:collapse;font-size:clamp(14px,2vh,18px);min-width:min(90vw,640px)}
.aTab td{padding:10px 16px;border-top:1px solid #ffffff10}.aTab td:first-child{color:#8b95a3}.aTab td:last-child{text-align:right}

/* меню: разделитель, бренд в шапке, окно подтверждения */
.mSep{height:1px;background:#ffffff14;margin:6px 4px}
.hBrand{font:500 clamp(15px,2.1vh,21px) system-ui;color:#8b95a3;font-style:normal;letter-spacing:.04em;margin-left:6px;padding-left:10px;border-left:1px solid #ffffff22}
.hBrand:empty{display:none}
.hAv .ini{font-size:clamp(14px,2vh,18px)}.mAv .ini{font-size:14px}
#ffAsk{position:fixed;inset:0;z-index:70;background:#000a;display:grid;place-items:center}
#ffAsk .box{background:#141820;border:1px solid var(--line);border-radius:20px;padding:28px;max-width:560px;text-align:center}
#ffAsk p{font-size:19px;line-height:1.45;margin:0 0 22px}#ffAsk .b{display:flex;gap:14px;justify-content:center}
#ffAsk button{min-width:150px;border:0;border-radius:12px;padding:14px 22px;font-weight:800;font-size:18px;background:#2a303b}#ffAsk .yes{background:#e04355;color:#fff}
@media (max-width:900px){.ufBody{grid-template-columns:1fr}.mTypes{grid-template-columns:repeat(2,1fr)}}
/* фото профиля */
.ufAvCol{display:flex;flex-direction:column;align-items:center;gap:18px}
.ufAv{overflow:hidden}.ufAv img.ph,.hAv img.ph,.mAv img.ph{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.hAv,.mAv{overflow:hidden}
.ufPhBtns{display:flex;flex-direction:column;gap:10px;width:min(30vh,260px)}
.ufPh{display:block;text-align:center;cursor:pointer;background:#161b23;border:1px solid var(--line);border-radius:12px;padding:12px;font-weight:700;font-size:16px;color:#e9edf2}
.ufPh.del{background:none;color:#ff8a94;border-color:#ff4d5e44;font-weight:500}
#camOv{position:fixed;inset:0;z-index:70;background:#000d;display:grid;place-items:center}
.camBox{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px}
#camV{width:min(60vh,480px);height:min(60vh,480px);object-fit:cover;border-radius:50%;background:#111;transform:scaleX(-1)}
.camRing{position:absolute;top:0;width:min(60vh,480px);height:min(60vh,480px);border-radius:50%;box-shadow:0 0 0 4px #ff7a1a,0 0 40px #ff6a1a88;pointer-events:none}
.camBox .b{display:flex;gap:14px}.camBox button{min-width:160px;border:0;border-radius:12px;padding:14px 22px;font-weight:800;font-size:18px;background:#2a303b;color:#fff}
.camBox .yes{background:var(--accent);color:#111}.camErr{color:#ff8a94;font-weight:700}
/* незавершённая тренировка */
#susOv{position:fixed;inset:0;z-index:65;background:#000b;display:grid;place-items:center;animation:fadeIn .3s ease both}
#susOv .box{background:linear-gradient(160deg,#1d1a1c,#12151c);border:1px solid #ff7a1a88;border-radius:24px;padding:clamp(22px,4vh,40px);max-width:680px;text-align:center;box-shadow:0 0 60px #ff6a1a33}
#susOv .ic{width:84px;height:84px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:40px;background:var(--accent);color:#1a0a05}
#susOv h2{margin:0 0 10px;font:800 clamp(22px,3.6vh,32px) Unbounded,system-ui}#susOv p{margin:0 0 24px;color:#c3cad4;font-size:clamp(15px,2.2vh,20px);line-height:1.45}
#susOv .b{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
#susOv button{border:1px solid #ff4d5e66;background:#2a1416;color:#ff8a94;border-radius:14px;padding:16px 24px;font-weight:800;font-size:18px}
#susOv button.yes{background:var(--good);color:#06210f;border-color:var(--good)}
/* PIN */
.pinIn{max-width:150px!important;letter-spacing:.4em;text-align:center}
.ufMini{background:none;border:1px solid #ff4d5e55;color:#ff8a94;border-radius:10px;padding:10px 14px;font-weight:600}
.ufPinHint{color:#8b95a3;font-size:13px;margin-top:-8px;padding-left:clamp(166px,15vw,236px)}
#pinOv{position:fixed;inset:0;z-index:72;background:#05060ae6;backdrop-filter:blur(8px);display:grid;place-items:center}
.pinBox{display:flex;flex-direction:column;align-items:center;gap:14px}
.pinAv{width:min(14vh,120px);height:min(14vh,120px);border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(160deg,#ff8a1f,#c42a18);color:#2a0a08}
.pinAv svg{width:55%}.pinAv .ini{font:800 min(7vh,60px) Unbounded,system-ui;color:#fff}.pinAv img.ph{width:100%;height:100%;object-fit:cover}
.pinName{font:700 clamp(20px,3vh,28px) Unbounded,system-ui}.pinT{color:#a9b0c2}
.pinDots{display:flex;gap:14px;margin:6px 0}.pinDots i{width:18px;height:18px;border-radius:50%;border:2px solid #8b95a3}.pinDots i.on{background:var(--accent);border-color:var(--accent)}
.pinDots.shake{animation:pinShake .4s}@keyframes pinShake{20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}
.pinMsg{min-height:22px;color:#ff8a94;font-weight:700;text-align:center;max-width:420px}
.pinPad{display:grid;grid-template-columns:repeat(3,clamp(70px,10vh,96px));gap:clamp(10px,1.6vh,16px)}
.pinPad button{height:clamp(70px,10vh,96px);border-radius:50%;border:1px solid #ffffff22;background:#161b23;font:700 clamp(24px,3.6vh,34px) Unbounded,system-ui;color:#fff}
.pinPad button:active{background:#2a3140;transform:scale(.95)}.pinPad .ok{background:var(--good);color:#06210f;font-size:20px}
#pinOv.locked .pinPad{opacity:.3;pointer-events:none}
.pinCancel{background:none;border:0;color:#8b95a3;font-size:16px;padding:8px 20px}
/* личные настройки */
#uprefs{position:absolute;inset:0;display:flex;flex-direction:column;gap:clamp(10px,2vh,20px);padding:clamp(12px,2vh,22px) clamp(14px,1.6vw,28px);background:radial-gradient(1100px 650px at 50% 35%,#24130f,#0b0d10 70%);animation:fadeIn .35s ease both}
.step.dim{opacity:.35;pointer-events:none}
.ufRow.alTop{align-items:flex-start}
.vols{display:flex;flex-direction:column;gap:12px;min-width:min(40vw,520px)}
.vols label{display:grid;grid-template-columns:160px 1fr 60px;align-items:center;gap:12px;color:#c3cad4}.vols input{accent-color:var(--accent)}.vols b{text-align:right}
/* настройки устройства: вкладки, цвета, данные */
#machine .suTabs{margin-left:18px}
.swatches{display:flex;gap:12px;flex-wrap:wrap}
.swatches button{display:flex;align-items:center;gap:10px;background:#141820;border:1px solid var(--line);border-radius:14px;padding:12px 18px;font-weight:700;color:#e9edf2}
.swatches i{width:28px;height:28px;border-radius:50%;box-shadow:0 0 14px #0008}.swatches button.on{border-color:#fff;box-shadow:0 0 0 1px #fff}
.dataBtns{display:flex;gap:14px;flex-wrap:wrap}
.dataBtns button,.btnLike{cursor:pointer;background:#161b23;border:1px solid var(--line);border-radius:14px;padding:16px 22px;font-weight:700;font-size:17px;color:#e9edf2}
.dataBtns .danger{color:#ff8a94;border-color:#ff4d5e55;background:none}
#machine .aLogo{justify-content:center}#machine .aLogo img{height:min(18vh,170px)}#machine .aTab{margin:20px auto 0}
/* производитель тренажёра (логотип или название) */
.brandBlk{display:inline-flex;align-items:center;gap:.5em;line-height:1}.brandBlk:empty{display:none}
.brandBlk .brLogo{height:1.6em;width:auto;max-width:9em;object-fit:contain;filter:none}
.brandBlk .brName{font:800 1em system-ui;letter-spacing:.18em;text-transform:uppercase;color:#e9edf2}
.brandBlk .brModel{font-weight:600;letter-spacing:.08em;color:#8b95a3}
.hBrand .brLogo{height:clamp(30px,4.4vh,46px)!important;filter:none!important}
.brandBlk.big{font-size:clamp(26px,4vh,40px);padding:10px 22px;border-top:1px solid #ffffff1a}
.mLogoBox{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mLogoBox .brandBlk{font-size:18px;background:#0c0f14;border:1px solid var(--line);border-radius:10px;padding:8px 14px;min-height:44px}
.mLogoBox button{background:#161b23;border:1px solid var(--line);border-radius:10px;padding:9px 14px;color:#c3cad4;font-weight:700}
#splash.hasBrand{padding-bottom:9vmin}
#splash #spBrand{position:relative;z-index:1;margin-top:2.4vmin;font-size:min(3.8vmin,38px);padding-top:1.4vmin;border-top:1px solid #ffffff22;opacity:0;animation:sp-fadeUp 1.2s ease 5.2s forwards}
#splash #spBrand .brName{color:#c9ced8}
.hBrand{display:inline-flex;align-items:center;gap:.5em}.hBrand .brName{color:#c9ced8;font-size:1em}
/* настройка фото профиля */
#crOv{position:fixed;inset:0;z-index:71;background:#05060ae6;backdrop-filter:blur(8px);display:grid;place-items:center}
.crBox{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(92vw,560px)}
.crBox h2{margin:0;font:800 clamp(20px,3vh,28px) Unbounded,system-ui}.crBox p{margin:0;color:#8b95a3;font-size:14px;text-align:center}
.crView{position:relative;width:min(56vh,440px);aspect-ratio:1;border-radius:20px;overflow:hidden;touch-action:none;cursor:grab;background:#1a1d24}
.crView:active{cursor:grabbing}.crView canvas{width:100%;height:100%;display:block}
.crRing{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle closest-side,transparent 99.3%,#05060ab8 100%)}
.crView::after{content:"";position:absolute;inset:0;margin:auto;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 3px var(--accent);pointer-events:none;transform:scale(1)}
.crZoom{display:flex;align-items:center;gap:12px;width:min(56vh,440px)}.crZoom input{flex:1;accent-color:var(--accent)}
.crZoom button{width:48px;height:48px;border-radius:12px;border:1px solid var(--line);background:#161b23;font-size:24px;color:#fff}
.crBtns{display:flex;gap:10px;width:100%;align-items:center}.crBtns .sp{flex:1}
.crBtns button{border:1px solid var(--line);background:#161b23;border-radius:12px;padding:13px 18px;font-weight:700;font-size:16px;color:#e9edf2}
.crBtns .yes{background:var(--accent);color:#111;border-color:var(--accent);font-weight:800}
.hgCalc{color:#7fe8a8;font-weight:700;font-size:14px;background:#3ddc8412;border:1px solid #3ddc8433;border-radius:12px;padding:10px 14px;max-width:820px}
.hgNote{max-width:820px}
#upFit button{padding:12px 16px;font-size:clamp(13px,1.7vh,16px)}
.ufAdm>span:first-child{min-width:0!important;font-size:1.3em}.ufAdm b{color:var(--accent)}.ufAdm em{flex:1;line-height:1.3}
#machine .suTop{padding-right:clamp(130px,11vw,190px)}#machine .suTop h1{white-space:nowrap}#machine .suTabs{flex-wrap:nowrap;min-width:0}#machine .suTabs button{padding-left:clamp(10px,1vw,18px);padding-right:clamp(10px,1vw,18px);white-space:nowrap}
/* ---------- Wi-Fi ---------- */
#wifi{position:absolute;inset:0;display:flex;flex-direction:column;gap:clamp(10px,2vh,20px);padding:clamp(12px,2vh,22px) clamp(14px,1.6vw,28px);
  background:radial-gradient(1100px 650px at 50% 35%,#24130f,#0b0d10 70%);animation:fadeIn .35s ease both;overflow:hidden}
.wfBody{flex:1;min-height:0;display:grid;grid-template-columns:minmax(300px,.85fr) 1.15fr;gap:clamp(14px,2vw,28px);padding:0 clamp(0px,3vw,60px) 10px}
.wfCard{background:#11151be0;border:1px solid #ffffff14;border-radius:22px;padding:clamp(16px,2.4vh,26px);display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}
.wfCard h2{margin:0;font-size:clamp(13px,1.7vh,15px);color:#8b95a3;text-transform:uppercase;letter-spacing:.1em}
.wfBig{width:clamp(110px,17vh,170px);height:clamp(110px,17vh,170px);margin:6px auto 0;border-radius:50%;display:grid;place-items:center;color:var(--accent);
  background:radial-gradient(circle,#ff7a1a26,transparent 70%);border:1px solid #ff7a1a33}
.wfBig svg{width:58%;height:58%}.wfBig.q1{color:#ff4d5e}.wfBig.q2{color:#ffb21a}
.wfSsid{text-align:center;font-size:clamp(22px,3.4vh,32px);font-weight:800}.wfQ{text-align:center;color:#c3cad4;font-size:clamp(14px,2vh,18px);margin-top:-6px}
.wfRows{display:flex;flex-direction:column}.wfRow{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #ffffff0d;font-size:clamp(14px,1.9vh,17px)}
.wfRow span{color:#8b95a3}.wfRow:last-child{border:0}
.wfMsg{color:#c3cad4;margin:4px 0;font-size:clamp(14px,2vh,17px);line-height:1.4}
.wfBan{border-radius:12px;padding:10px 14px;font-size:15px}.wfBan.wait{background:#ffb21a1f;color:#ffd27a}.wfBan.ok{background:#3ddc841f;color:#7ff0ad}.wfBan.err{background:#ff4d5e1f;color:#ff9aa5}
.wfHd{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wfMini{background:#1b212b;border:1px solid #ffffff1f;color:#e9edf2;border-radius:12px;padding:10px 16px;font-weight:700;font-size:15px}
.wfMini:disabled{opacity:.5}
.wfList{display:flex;flex-direction:column;gap:8px}
.wfNet{border:1px solid #ffffff12;border-radius:14px;background:#0c0f14}.wfNet.cur{border-color:#3ddc8466}.wfNet.open{border-color:var(--accent)}
.wfLine{display:flex;align-items:center;gap:12px;padding:clamp(11px,1.7vh,15px) 14px;cursor:pointer;font-size:clamp(15px,2.1vh,19px)}
.wfLine b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wfLine i{font-style:normal;font-size:.85em}.wfLine em{font-style:normal;color:#8b95a3;font-size:.8em}
.wfLine small{color:#3ddc84;font-size:.78em;min-width:5.5em;text-align:right}.wfNet:not(.cur) .wfLine small{color:#8b95a3}
.wfIc{width:26px;height:26px;display:grid;place-items:center;color:var(--accent);flex:none}.wfIc svg{width:26px;height:26px}
.wfForm{display:flex;flex-wrap:wrap;gap:10px;padding:0 14px 14px}.wfForm input{flex:1 1 220px;background:#11151b;border:1px solid #3a4250;border-radius:12px;padding:12px 14px;font-size:17px;color:#fff;outline:none}
.wfForm input:focus{border-color:var(--accent)}.wfForm .ufNote,.wfForm .ufErr{flex-basis:100%;margin:0}
.wfForm button,.wfLogin button{border-radius:12px;padding:12px 20px;font-weight:800;font-size:16px;border:1px solid #ffffff1f;background:#1b212b;color:#fff}
.wfForm button.save,.wfLogin button.save{background:var(--accent);border-color:var(--accent);color:#111}.wfForm button.del{color:#ff4d5e;border-color:#ff4d5e55}
.wfLogin{display:flex;gap:10px}.wfLogin input{flex:1;background:#0c0f14;border:1px solid #3a4250;border-radius:12px;padding:12px 14px;font-size:17px;color:#fff;outline:none}
#hWifi.wfWeak{color:#ffb21a}
@media (max-width:820px){.wfBody{grid-template-columns:1fr;overflow:auto}}
/* ---------- Моя статистика ---------- */
#hist{position:absolute;inset:0;display:flex;flex-direction:column;gap:clamp(8px,1.6vh,16px);padding:clamp(12px,2vh,22px) clamp(14px,1.6vw,28px);
  background:radial-gradient(1100px 650px at 50% 35%,#24130f,#0b0d10 70%);animation:fadeIn .35s ease both;overflow:hidden}
#hist .suTop{padding-right:clamp(130px,11vw,190px)}#hist .suTop h1{white-space:nowrap}#hist .suTabs button{white-space:nowrap}
.hsBody{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:0 4px 20px}
.hsMsg{color:#c3cad4;font-size:clamp(16px,2.2vh,20px);text-align:center;margin:8vh auto;max-width:640px;line-height:1.5}
.hsFoot{color:#5c6372;font-size:13px;text-align:center;margin:0}
.hsTiles{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.hsTile{background:#11151be0;border:1px solid #ffffff14;border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.hsTile span{color:#8b95a3;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.hsTile b{font-size:clamp(20px,3vh,30px);font-weight:800}.hsTile small{color:#8b95a3;font-size:12px}
.hsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hsGrid2{display:grid;grid-template-columns:1fr 1.6fr;gap:12px}
.hsCard{background:#11151be0;border:1px solid #ffffff14;border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.hsCard h3{margin:0;font-size:14px;color:#e9edf2;text-transform:uppercase;letter-spacing:.06em}.hsCh{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hsCard canvas{width:100%;height:clamp(150px,22vh,220px)}.hsNote{margin:0;color:#8b95a3;font-size:12.5px;line-height:1.35}
.hsVolSel button{padding:6px 10px;font-size:13px}
.hsRec{display:flex;flex-direction:column}.hsRec div{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:8px 0;border-bottom:1px solid #ffffff0d;align-items:baseline}
.hsRec span{color:#c3cad4;font-size:14px}.hsRec b{font-size:16px}.hsRec em{color:#8b95a3;font-style:normal;font-size:12px;min-width:4.5em;text-align:right}
.hsList{display:flex;flex-direction:column;max-height:clamp(220px,34vh,380px);overflow:auto}
.hsItem{display:grid;grid-template-columns:8.5em 1fr 4.5em 5.5em 5em 3.6em;gap:10px;align-items:center;text-align:left;background:none;border:0;border-bottom:1px solid #ffffff0d;color:#e9edf2;padding:10px 4px;font-size:14px;cursor:pointer}
.hsItem:hover{background:#ffffff08}.hsItem .hsD{color:#8b95a3;font-size:13px}.hsItem b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hsItem span:not(.hsD){text-align:right;color:#c3cad4}
#hsDet{position:fixed;inset:0;background:#05060acc;z-index:60;display:grid;place-items:center;padding:20px}#hsDet.hidden{display:none}
.hsDetBox{width:min(980px,96vw);max-height:92vh;overflow:auto;background:#11151b;border:1px solid #ffffff1f;border-radius:22px;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.hsDetHd{display:flex;justify-content:space-between;gap:12px}.hsDetHd b{display:block;font-size:22px}.hsDetHd span{color:#8b95a3}
.hsX{background:#1b212b;border:1px solid #ffffff1f;color:#fff;border-radius:12px;width:44px;height:44px;font-size:18px}
#hc_det{width:100%;height:clamp(200px,32vh,320px)}.hsLeg{display:flex;gap:16px;align-items:center;color:#c3cad4;font-size:13px}.hsLeg i{width:14px;height:4px;border-radius:2px;display:inline-block;margin-right:-10px}
.hsDetRows{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.hsDetRows div{background:#0c0f14;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.hsDetRows span{color:#8b95a3;font-size:12px}.hsDetRows b{font-size:17px}
.hsDetB{display:flex;justify-content:flex-end;gap:10px}.hsDetB button{border-radius:12px;padding:12px 18px;font-weight:800;font-size:15px;border:1px solid #ffffff1f;background:#1b212b;color:#fff}.hsDetB .del{color:#ff4d5e;border-color:#ff4d5e55}
#hsToast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#1b212bf0;border:1px solid #ffffff22;color:#fff;padding:12px 20px;border-radius:14px;font-size:16px;opacity:0;transition:.3s;z-index:80;pointer-events:none}
#hsToast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:1100px){.hsTiles{grid-template-columns:repeat(3,1fr)}.hsGrid{grid-template-columns:1fr 1fr}.hsGrid2{grid-template-columns:1fr}}
.hsTest{display:flex;align-items:center;gap:8px;color:#c3cad4;font-size:14px;white-space:nowrap}.hsTest input{width:20px;height:20px;accent-color:var(--accent)}
.hsTB{font-style:normal;font-size:11px;font-weight:700;color:#ffb21a;border:1px solid #ffb21a66;border-radius:6px;padding:1px 6px;vertical-align:middle}

/* тип тренажёра: один на экран */
.mTypeCur{display:flex;align-items:center;gap:22px;background:linear-gradient(160deg,#2a160f,#14161c);border:1px solid var(--accent);border-radius:20px;padding:16px 22px}
.mTypeCur .mtIcon{color:var(--accent);flex:none}.mTypeCur .mtIcon svg{width:clamp(64px,10vh,96px)}
.mTypeCur .mtTxt{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.mTypeCur .mtTxt span{color:#8b95a3;font-size:14px}
.mTypeCur .mtTxt b{font:800 clamp(22px,3.2vh,30px) Unbounded,system-ui;color:#e9edf2}.mTypeCur .mtTxt i{font-style:normal;font-size:clamp(20px,3vh,28px)}
.mTypeCur button{background:#161b23;border:1px solid var(--line);border-radius:12px;padding:12px 18px;color:#c3cad4;font-weight:700;font-size:15px}
.mTypePick{margin-top:14px}.mTypes button{position:relative}
.mTypes button.soon{opacity:.45;cursor:not-allowed;filter:grayscale(.7)}
.mTypes button em{position:absolute;top:8px;right:10px;font:700 11px system-ui;font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:#c3cad4;background:#ffffff14;border-radius:6px;padding:3px 7px}
#mParams + .ufNote,#machine .tb-dev > .mLbl{margin-top:18px}
.aTab small{color:#8b95a3}
.hBrand .brName{font:800 1em system-ui;letter-spacing:.16em;text-transform:uppercase}.hBrand .brModel{font-weight:600;letter-spacing:.06em;color:#8b95a3}
/* подсказки графиков статистики */
.hsTip{position:absolute;z-index:3;pointer-events:none;background:#0b0e13f2;border:1px solid #ffffff2a;border-radius:10px;padding:7px 10px;box-shadow:0 8px 24px #0009;display:flex;flex-direction:column;gap:2px;white-space:nowrap;font-size:12px}
.hsTip span{color:#8b95a3}.hsTip b{font-size:16px;color:#fff}.hsTip em{font-style:normal;color:#c3cad4;display:flex;align-items:center;gap:6px}.hsTip em i{width:9px;height:9px;border-radius:3px;display:inline-block}
.hsTipDot{position:absolute;z-index:2;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid #fff;background:#ffffff33}
.hsTip.hidden,.hsTipDot.hidden{display:none}
/* выносливость и рекомендации */
.ftCard{margin:14px 0}.ftHead{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.ftVal b{font:800 clamp(34px,5vh,48px) Unbounded,system-ui;color:#fff}.ftVal span{margin-left:8px;color:#8b95a3}
.ftCat{display:flex;flex-direction:column;gap:3px}.ftCat b{font-size:20px;text-transform:capitalize}.ftCat span{color:#8b95a3;font-size:13px}
.ftCat i{font-style:normal}.ftCat i.up{color:#3ddc84}.ftCat i.dn{color:#ffb21a}
.c1{color:#ff4d5e}.c2{color:#ff9a3a}.c3{color:#ffd23a}.c4{color:#7ee05a}.c5{color:#3ddc84}
.ftBar{position:relative;height:12px;margin:16px 0 4px;border-radius:6px;overflow:visible}
.ftBar i{position:absolute;top:0;bottom:0}.ftBar i.c1{background:#ff4d5e;border-radius:6px 0 0 6px}.ftBar i.c2{background:#ff9a3a}.ftBar i.c3{background:#ffd23a}.ftBar i.c4{background:#7ee05a}.ftBar i.c5{background:#3ddc84;border-radius:0 6px 6px 0}
.ftBar em{position:absolute;top:-6px;width:4px;height:24px;margin-left:-2px;background:#fff;border-radius:2px;box-shadow:0 0 0 2px #0b0d10}
.ftScale{position:relative;height:16px;font-size:11px;color:#8b95a3}.ftScale span{position:absolute;transform:translateX(-50%)}
.ftRecH{margin-top:14px!important}.ftNone{color:#8b95a3;margin:6px 0}
.ftRec{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#ffffff08;margin-top:8px;border-left:3px solid #8b95a3}
.ftRec span{flex:1}.ftRec.up{border-color:#3ddc84}.ftRec.down{border-color:#ffb21a}.ftRec.hold{border-color:#ff9a3a}
.ftRec button,.ftSu button,.ftRes button{background:var(--accent);color:#111;border:0;border-radius:10px;padding:8px 14px;font-weight:800}
.ftSu{display:flex;align-items:center;gap:10px;margin:10px 0 2px;padding:10px 12px;border-radius:12px;background:#3ddc8414;border:1px solid #3ddc8455;font-size:clamp(13px,1.7vh,15px);font-weight:600}
.ftSu span{flex:1}.ftSu.hidden,.ftRes.hidden{display:none}
.ftRes{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:#3ddc8414;border:1px solid #3ddc8455;margin-top:8px}
.ftRes b{color:#3ddc84}.ftRes span{flex:1;color:#c3cad4;font-size:14px}
/* профиль: цель, рост, почта */
#users .ufForm{max-height:calc(100vh - 110px);overflow:auto;padding-right:6px}
.ufTri{flex-wrap:wrap;row-gap:10px}.ufTri>span:not(:first-child){min-width:0!important;margin-left:10px}
.ufRow.chk2{gap:12px;flex-wrap:wrap}.ufRow.chk2 .chk{flex:1;min-width:280px}.ufRow.chk2 .chk span{font-size:clamp(14px,1.8vh,17px)}
.ufMsg{color:#8b95a3;font-size:14px;min-height:1em}
/* разбор тренера */
#coOv{position:fixed;inset:0;z-index:72;background:#05060ad9;backdrop-filter:blur(8px);display:grid;place-items:center;padding:2vh 2vw}
#coOv.hidden{display:none}
.coBox{width:min(1280px,96vw);height:min(94vh,980px);display:flex;flex-direction:column;background:#0f1217;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 30px 80px #000c}
.coHd{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line)}.coHd>div{flex:1;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.coK{font:800 12px system-ui;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.coHd b{font:800 clamp(18px,2.6vh,24px) Unbounded,system-ui}.coHd em{color:#8b95a3;font-style:normal}
.coScroll{flex:1;overflow:auto;padding:16px 20px}
.coMsg{padding:40px;text-align:center;color:#c3cad4;font-size:18px}
.coTest{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#ffffff0d;color:#8b95a3;font-size:14px}
.coHead{padding:14px 16px;border-radius:14px;font-weight:700;font-size:clamp(16px,2.2vh,20px);border-left:5px solid #3d7be0;background:#3d7be014}
.coHead.great{border-color:#3ddc84;background:#3ddc8414}.coHead.ok{border-color:#ffb21a;background:#ffb21a14}.coHead.warn{border-color:#ff4d5e;background:#ff4d5e14}
.coTiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0}
.coTiles>div{background:#161b23;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.coTiles span{font-size:12px;color:#8b95a3;text-transform:uppercase;letter-spacing:.04em}.coTiles b{font-size:clamp(18px,2.6vh,24px)}.coTiles small{font-size:12px;color:#8b95a3;font-weight:500}
.coTiles i{font-style:normal;font-weight:700;font-size:13px;color:#8b95a3}.coTiles i.up{color:#3ddc84}.coTiles i.dn{color:#ff6b7a}
.coCh{display:block;width:100%;max-width:1100px;border-radius:12px;margin:8px 0 14px}
.coCols{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.coCols h3{margin:12px 0 8px;font-size:17px}
.coIt{margin:0 0 8px;padding:9px 12px;border-radius:10px;background:#ffffff08;border-left:4px solid #3d7be0;font-size:15px;line-height:1.45}
.coIt.good{border-color:#3ddc84}.coIt.warn{border-color:#ffb21a}.coIt.bad{border-color:#ff4d5e}
.coRec{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#141820}.coRec i{font-style:normal;font-size:24px}
.coRec div{display:flex;flex-direction:column;gap:3px}.coRec b{font-size:15px}.coRec span{color:#c3cad4;font-size:14px;line-height:1.45}
.coNext{margin-top:12px;padding:16px;border-radius:14px;background:linear-gradient(150deg,#3a1a12,#171a21);border:1px solid var(--accent);display:flex;flex-direction:column;gap:4px}
.coNext span{font:800 12px system-ui;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.coNext b{font-size:20px}.coNext em{font-style:normal;color:#c3cad4}.coNext p{margin:6px 0;color:#a9b1bd;font-size:14px}
.coNext button{align-self:flex-start;background:var(--accent);color:#111;border:0;border-radius:12px;padding:12px 18px;font-weight:800;font-size:16px}
.coFoot{color:#6b7380;font-size:12px;margin:14px 0 0}
.coBtns{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--line)}.coMsg2{flex:1;color:#8b95a3;font-size:14px}
.coBtns button{background:#161b23;border:1px solid var(--line);border-radius:12px;padding:12px 20px;font-weight:700;color:#e9edf2}
.coSBtn{float:right;background:var(--accent);color:#111;border:0;border-radius:10px;padding:7px 12px;font-weight:800;font-size:13px;text-transform:none;letter-spacing:0}
.coRBtn{border-color:var(--accent)!important;color:#ffb27a}
@media (max-width:1000px){.coTiles{grid-template-columns:repeat(3,1fr)}.coCols{grid-template-columns:1fr}}
/* главный экран: тренер советует */
.hCoach{margin:clamp(14px,2.4vh,26px) auto 0;display:flex;align-items:center;gap:14px;max-width:min(980px,92vw);text-align:left;background:linear-gradient(120deg,#2a160fcc,#14161ccc);border:1px solid #ff7a1a66;border-radius:16px;padding:12px 18px;color:#e9edf2;backdrop-filter:blur(6px)}
.hCoach.hidden{display:none}.hCoach>i{font-style:normal;font-size:30px}.hCoach>span{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.hCoach em{font-style:normal;font:800 11px system-ui;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.hCoach b{font-size:clamp(16px,2.2vh,20px)}
.hCoach small{color:#a9b1bd;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hCoach u{text-decoration:none;font-weight:800;color:var(--accent);white-space:nowrap}
.coScroll>.coCh{max-width:860px}.coCols .coCh{max-width:100%}
.upGoalRow .go{flex:none;padding:12px 20px;background:var(--accent);color:#111;border-color:var(--accent);font-weight:800}
/* профиль: шире на больших экранах */
#users .ufBody{max-width:1700px;grid-template-columns:minmax(220px,.42fr) minmax(0,1.58fr);padding:0 clamp(12px,2vw,32px)}
#users .ufForm{max-height:calc(100vh - 100px)}
#users .ufRow input:not([type=checkbox]){max-width:560px}
#users .ufRep{padding-left:0}
@media (max-width:900px){#users .ufBody{grid-template-columns:1fr}}
.coBox{width:min(1800px,98vw)!important;height:96vh!important}@media (max-width:700px){#coOv{padding:0}.coBox{width:100vw!important;height:100vh!important;border-radius:0}}
/* гость: напоминания войти в профиль */
#gsOv{position:fixed;inset:0;z-index:69;background:#05060ae0;backdrop-filter:blur(8px);display:grid;place-items:center}#gsOv.hidden{display:none}
.gsBox{width:min(900px,94vw);background:#12151b;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3vh,34px);text-align:center}
.gsBox h2{margin:0 0 8px;font:800 clamp(22px,3.4vh,32px) Unbounded,system-ui}.gsBox p{margin:0 0 20px;color:#a9b1bd;font-size:clamp(14px,1.9vh,17px)}
.gsList{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.gsU{display:flex;flex-direction:column;align-items:center;gap:8px;background:#1a1f28;border:1px solid var(--line);border-radius:18px;padding:16px 18px;min-width:130px;color:#e9edf2;position:relative}
.gsU:hover{border-color:var(--accent)}.gsU b{font-size:17px}.gsU i{position:absolute;top:8px;right:10px;font-style:normal;font-size:13px}
.gsAv{width:clamp(64px,10vh,96px);height:clamp(64px,10vh,96px);border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(150deg,#ff9a3a,#d8452a);font:800 32px Unbounded,system-ui;color:#fff}
.gsAv img{width:100%;height:100%;object-fit:cover}.gsAv svg{width:55%;height:55%}
.gsBtns{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.gsBtns button{background:#161b23;border:1px solid var(--line);border-radius:12px;padding:13px 20px;font-weight:700;font-size:16px;color:#c3cad4}
.hGuest{margin:clamp(14px,2.4vh,26px) auto 0;display:flex;align-items:center;gap:14px;max-width:min(1100px,94vw);background:#3a2a0ccc;border:1px solid #ffb21a88;border-radius:16px;padding:10px 16px;backdrop-filter:blur(6px)}
.hGuest.hidden{display:none}.hGuest>i{font-style:normal;font-size:26px}.hGuest>span{flex:1;color:#ffd27a;font-weight:700;font-size:clamp(14px,1.9vh,17px);text-align:left}
.hGuestU{display:flex;gap:8px;flex-wrap:wrap}.hGuestU .gsU{flex-direction:row;min-width:0;padding:6px 12px 6px 6px;border-radius:30px;gap:8px}
.hGuestU .gsAv{width:36px;height:36px;font-size:16px}.hGuestU .gsU b{font-size:15px}.hGuestU .gsU i{position:static}
.gsRes{margin-top:8px;padding:10px 14px;border-radius:12px;background:#3a2a0c99;border:1px solid #ffb21a77;color:#ffd27a;font-weight:600;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gsRes.hidden{display:none}.gsList.sm .gsU{flex-direction:row;min-width:0;padding:6px 12px 6px 6px;border-radius:30px}.gsList.sm .gsAv{width:34px;height:34px;font-size:15px}.gsList.sm .gsU b{font-size:15px}.gsList.sm .gsU i{position:static}
/* вход по QR */
#lgOv{position:fixed;inset:0;z-index:69;background:#05060ae6;backdrop-filter:blur(8px);display:grid;place-items:center;padding:2vh 2vw}#lgOv.hidden{display:none}
.lgBox{width:min(1100px,96vw);max-height:96vh;overflow:auto;background:#12151b;border:1px solid var(--line);border-radius:22px;padding:clamp(18px,3vh,30px)}
.lgHd{display:flex;align-items:center;gap:12px;margin-bottom:12px}.lgHd h2{flex:1;margin:0;font:800 clamp(22px,3.4vh,32px) Unbounded,system-ui}
.lgBody{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(18px,3vw,40px);align-items:center}
.lgQr{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.lgCode{width:min(46vh,380px);aspect-ratio:1;background:#fff;border-radius:18px;padding:10px;display:grid;place-items:center;color:#111}
.lgCode svg{width:100%;height:100%;display:block}.lgOffT{padding:14px;color:#333;font-weight:600}
.lgQr b{font-size:clamp(16px,2.2vh,20px)}.lgQr span{color:#a9b1bd;font-size:14px;max-width:440px}.lgQr em{font-style:normal;color:#8b95a3;font-size:13px}
.lgQr em button{background:var(--accent);color:#111;border:0;border-radius:10px;padding:8px 14px;font-weight:800}
.lgMail{display:flex;flex-direction:column;gap:10px;background:#161b23;border:1px solid var(--line);border-radius:18px;padding:18px}
.lgMail h3{margin:0 0 4px;font-size:18px}.lgMail input{background:#0b0d12;border:1px solid #3a4250;border-radius:12px;padding:13px 14px;font-size:18px;color:#fff;outline:none}
.lgMail input:focus{border-color:var(--accent)}.lgCodeIn{text-align:center;font:800 26px/1 Menlo,monospace!important;letter-spacing:.2em;text-transform:uppercase}
.lgMail button{background:#1f2530;border:1px solid var(--line);border-radius:12px;padding:13px;font-weight:700;font-size:16px;color:#e9edf2}.lgMail button.go{background:var(--accent);color:#111;border:0;font-weight:800}
.lgMsg{color:#a9b1bd;font-size:14px;min-height:1.2em}
.lgBtns{display:flex;justify-content:center;margin-top:16px}.lgBtns button{background:#161b23;border:1px solid var(--line);border-radius:12px;padding:13px 22px;font-weight:700;font-size:16px;color:#c3cad4}
.lgGo{background:var(--accent);color:#111;border:0;border-radius:12px;padding:10px 18px;font-weight:800;font-size:15px;white-space:nowrap}
.mItem.lgItem{color:var(--accent);font-weight:800}
.hGuest .lgGo{margin-left:auto}
@media (max-width:820px){.lgBody{grid-template-columns:1fr}}
#bnOv{position:fixed;inset:0;z-index:69;background:#05060ae6;backdrop-filter:blur(8px);display:grid;place-items:center}#bnOv.hidden{display:none}
#upSw{display:flex;flex-wrap:wrap;gap:8px}
.upGoalRow .go{flex:0 0 auto!important;width:auto!important;max-width:max-content}
/* вход: шаги вместо почты */
.lgSide{display:flex;flex-direction:column;gap:14px}
.lgSteps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:s}
.lgSteps li{counter-increment:s;display:flex;align-items:center;gap:14px;background:#161b23;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:clamp(16px,2.1vh,19px);font-weight:600}
.lgSteps li::before{content:counter(s);flex:none;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#111;font:800 18px/34px system-ui;text-align:center}
.lgFirst{margin:0;color:#a9b1bd;font-size:15px;line-height:1.5}
.lgLost{align-self:flex-start;background:none;border:0;color:var(--accent);font-weight:700;font-size:15px;padding:6px 0;text-align:left}
.lgMail p{margin:0;color:#a9b1bd;font-size:14px}
/* ---------- Bluetooth: датчик пульса ---------- */
#bt{position:absolute;inset:0;display:flex;flex-direction:column;gap:clamp(10px,2vh,20px);padding:clamp(12px,2vh,22px) clamp(14px,1.6vw,28px);
  background:radial-gradient(1100px 650px at 50% 35%,#24130f,#0b0d10 70%);animation:fadeIn .35s ease both;overflow:hidden}
.btBig{color:#2fb5ff;border-color:#2fb5ff44;background:radial-gradient(circle,#2fb5ff22,transparent 70%)}.btBig.off{color:#8b95a3;border-color:#ffffff22;background:none}
.btBpm{display:flex;align-items:center;justify-content:center;gap:14px;min-height:clamp(110px,17vh,170px)}
.btBpm b{font-size:clamp(64px,11vh,110px);font-weight:900;line-height:1;font-variant-numeric:tabular-nums}.btBpm small{color:#8b95a3;font-size:clamp(16px,2.2vh,20px);align-self:flex-end;margin-bottom:12px}
.btHeart{color:#ff4d5e;font-size:clamp(48px,8vh,80px);animation:btBeat .8s ease-in-out infinite}.btHeart.idle{color:#8b95a3;animation:none}
@keyframes btBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}}
.btSpin{width:46px;height:46px;border-radius:50%;border:4px solid #ffffff1a;border-top-color:var(--accent);animation:btRot 1s linear infinite;display:inline-block;flex:none}
@keyframes btRot{to{transform:rotate(360deg)}}
.btScanning{display:flex;align-items:center;gap:14px;color:#c3cad4;font-size:clamp(15px,2vh,18px);padding:8px 0}.btScanning .btSpin{width:28px;height:28px;border-width:3px}
.btBtns{display:flex;gap:10px;justify-content:center}.wfMini.del{color:#ff4d5e;border-color:#ff4d5e55}
.btScanB:not(:disabled){background:var(--accent);border-color:var(--accent);color:#111}
.btDev .wfLine{cursor:default}.btDev b{display:flex;flex-direction:column;white-space:normal}.btSub{font-style:normal;font-weight:500;color:#8b95a3;font-size:.78em}
.btDev.nohr{opacity:.85}.btKind{font-size:20px;color:#ff4d5e}.btSig{min-width:auto!important;color:#8b95a3!important;letter-spacing:-2px}
.btGo{border-radius:12px;padding:10px 16px;font-weight:800;font-size:15px;border:1px solid #ffffff1f;background:#1b212b;color:#fff;flex:none}
.btGo.save{background:var(--accent);border-color:var(--accent);color:#111}
.btGuideH{margin-top:10px!important}.btGuides{display:flex;flex-direction:column;gap:8px}
.btG{border:1px solid #ffffff12;border-radius:14px;background:#0c0f14}.btG.open{border-color:var(--accent)}
.btGT{width:100%;display:flex;align-items:center;gap:12px;background:none;border:0;color:#e9edf2;text-align:left;padding:clamp(11px,1.7vh,15px) 14px;font-size:clamp(15px,2vh,18px);font-weight:700;cursor:pointer}
.btGT span{width:26px;text-align:center;flex:none}.btGT i{margin-left:auto;font-style:normal;color:#8b95a3}
.btG ol{margin:0;padding:0 18px 4px 46px;display:flex;flex-direction:column;gap:8px;font-size:clamp(14px,1.9vh,17px);line-height:1.45;color:#dfe4ea}
.btG .ufNote{margin:8px 14px}.btG>.wfMini{margin:4px 14px 14px}
#hHr{display:flex;align-items:center;gap:4px;width:auto;padding:0 10px}#hHr.hidden{display:none}#hHr b{font-size:15px;font-variant-numeric:tabular-nums}
.hHrH{color:#8b95a3}.hHrH.live{color:#ff4d5e;animation:btBeat 1s ease-in-out infinite}
/* сверка числа при входе по QR */
.lgNum{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:4px}.lgNum.hidden{display:none}
.lgNum span{color:#c3cad4;font-size:clamp(14px,1.9vh,17px)}
.lgNum b{font:800 clamp(44px,7vh,68px)/1 Unbounded,system-ui;color:var(--accent);letter-spacing:.06em}
/* экран не подключён к тренажёру */
#kioskOv{position:fixed;inset:0;z-index:999;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 600px at 50% 30%,#24130f,#05060a 70%)}
#kioskOv.hidden{display:none}
#kioskOv .kb{max-width:640px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
#kioskOv .ki{font-size:64px}#kioskOv h2{margin:0;font:800 clamp(22px,3.2vh,30px) Unbounded,system-ui}
#kioskOv p{margin:0;color:#c3cad4;font-size:clamp(15px,2vh,18px);line-height:1.5}
#kioskOv a{background:var(--accent);color:#111;border-radius:14px;padding:14px 22px;font-weight:800;text-decoration:none;font-size:17px}
/* ---------- Вес и тело ---------- */
#body{position:absolute;inset:0;display:flex;flex-direction:column;gap:clamp(10px,2vh,20px);padding:clamp(12px,2vh,22px) clamp(14px,1.6vw,28px);
  background:radial-gradient(1100px 650px at 50% 35%,#24130f,#0b0d10 70%);animation:fadeIn .35s ease both;overflow:hidden}
.bdBody{grid-template-columns:minmax(340px,.9fr) 1.1fr}
.bdTop{text-align:center;padding:6px 0}
.bdBig{font:800 clamp(56px,10vh,96px)/1 Unbounded,system-ui;display:inline-flex;align-items:baseline;gap:8px}.bdBig small{font:600 clamp(16px,2.2vh,22px) Inter,system-ui;color:#8b95a3}
.bdBig.live{color:var(--accent)}
.bdD{display:inline-block;font-style:normal;font-weight:700;font-size:15px;margin-left:10px;color:#8b95a3}.bdD.dn{color:#3ddc84}.bdD.up{color:#ffb21a}
.bdTile .bdD{margin:0;font-size:12px}
.bdWhen{color:#8b95a3;font-size:14px;margin-top:6px}
.bdTiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bdTile{background:#0c0f14;border:1px solid #ffffff12;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.bdTile span{color:#8b95a3;font-size:12px}.bdTile b{font:800 clamp(17px,2.4vh,22px) Unbounded,system-ui}.bdTile b small{font:600 12px Inter;color:#8b95a3;margin-left:3px}
.bdBtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bdGo{background:var(--accent);border:0;color:#111;border-radius:14px;padding:14px 26px;font-weight:800;font-size:18px}
.bdForm{padding:0}
.bdWait{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0}.bdWait p{margin:0;color:#c3cad4;font-size:16px;max-width:420px}
.bdPer button{padding:6px 10px;font-size:13px}
.bdChart{background:#0c0f14;border:1px solid #ffffff12;border-radius:14px;padding:10px}.bdChart svg{width:100%;height:clamp(150px,24vh,230px);display:block}
.bdLeg{display:flex;gap:8px;align-items:center;color:#8b95a3;font-size:13px;margin-top:4px}.bdLeg i{width:12px;height:4px;border-radius:2px;display:inline-block;margin-left:8px}
.bdAdv{display:flex;flex-direction:column;gap:8px}
.bdA{border-radius:12px;padding:10px 14px;font-size:clamp(14px,1.9vh,16px);line-height:1.4;border:1px solid #ffffff12;background:#0c0f14}
.bdA.ok{border-color:#3ddc8455;background:#3ddc8412}.bdA.warn{border-color:#ffb21a55;background:#ffb21a12}.bdA.bad{border-color:#ff4d5e55;background:#ff4d5e12}
.bdHist{display:flex;flex-direction:column}
.bdRow{display:grid;grid-template-columns:1.7fr 1fr .8fr 30px 34px;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid #ffffff0d;font-size:14px}
.bdRow span{color:#c3cad4}.bdRow button{background:none;border:0;color:#5d6676;font-size:14px}
@media (max-width:900px){.bdBody{grid-template-columns:1fr;overflow:auto}.bdTiles{grid-template-columns:repeat(2,1fr)}}
/* весы: интерактивные графики, выбор показателя, подробная статистика */
.bdChart{position:relative}.bdChart svg{touch-action:none;cursor:crosshair}
.bdTip{position:absolute;top:8px;min-width:190px;background:#151a22f2;border:1px solid #ffffff24;border-radius:12px;padding:8px 12px;font-size:13px;pointer-events:none;box-shadow:0 8px 24px #0008;z-index:3}
.bdTip b{display:block;margin-bottom:4px;color:#fff}.bdTip div{display:flex;justify-content:space-between;gap:14px;color:#c3cad4}.bdTip div em{font-style:normal;font-weight:700;color:#fff}.bdTip div.on{color:var(--accent)}.bdTip div.on em{color:var(--accent)}
.bdChips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.bdChips button{background:#0c0f14;border:1px solid #ffffff1c;color:#c3cad4;border-radius:999px;padding:5px 11px;font-size:13px}
.bdChips button.on{border-color:var(--c);color:#fff;box-shadow:inset 0 0 0 1px var(--c);background:color-mix(in srgb,var(--c) 16%,#0c0f14)}
.bdStatBtn{margin-top:10px;width:100%;padding:11px;font-size:15px}
#bodyStat{position:absolute;inset:0;display:flex;flex-direction:column;gap:clamp(10px,2vh,18px);padding:clamp(12px,2vh,22px) clamp(14px,1.6vw,28px);
  background:radial-gradient(1100px 650px at 50% 35%,#24130f,#0b0d10 70%);animation:fadeIn .35s ease both;overflow:hidden}
#bodyStat .suTop #bsMail{margin-left:auto;margin-right:10px}
.bsBody{flex:1;min-height:0;overflow:auto;display:grid;grid-auto-rows:max-content;grid-template-columns:1fr 1fr;gap:14px;align-content:start;padding-bottom:20px}
.bsBody .bsCharts{grid-column:1/-1}
.bsLead{font-size:clamp(16px,2.2vh,20px);font-weight:700;margin:4px 0}
.bsTab{display:flex;flex-direction:column}
.bsTr{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr 1fr;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid #ffffff0d;font-size:14px}
.bsTr span{color:#c3cad4}.bsTr b small{color:#8b95a3;font-weight:600}.bsTr .bdD{margin:0;font-size:14px}.bsTr i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.bsTh span{color:#8b95a3;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.bsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bsGrid h3{margin:0 0 6px;font-size:14px;color:#c3cad4;display:flex;align-items:center;gap:6px}.bsGrid h3 i{width:10px;height:10px;border-radius:3px}
.bsGrid .bdChart svg{height:clamp(120px,16vh,170px)}.bsGrid .bdLeg{font-size:12px}
@media (max-width:1100px){.bsBody{grid-template-columns:1fr}.bsGrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.bsGrid{grid-template-columns:1fr}}
.bsBody .wfCard{overflow:visible}
#splash #spBrand .brLogo{height:2.4em;max-width:13em}#splash #spBrand .brModel{font-size:.95em}

/* 02.11.2026: правая карточка выбора тренировки на экране 1280×720 — «лёгкая» не обрезается, строка длительности не уходит под «СТАРТ» */
.suIntRow{flex-wrap:wrap;row-gap:4px;min-width:0}
.suIntRow>span{white-space:nowrap}
.suInt{flex:1 1 70px;min-width:70px;max-width:130px}.suInt i{flex:1;width:auto;min-width:10px}
.suIntRow b{white-space:nowrap;margin-left:auto}
.suCard{overflow-y:auto;overflow-x:hidden}
.suMeta{flex:none}
@media (max-height:820px){
  .suCard{gap:6px;padding:12px 14px}
  .suCard p{font-size:13px;line-height:1.35}
  .suStats{gap:6px}.suStats div{padding:6px 10px;gap:1px}
  .suStats b{font-size:18px}.suStats span{font-size:11px;letter-spacing:.03em}
  .suIntRow{font-size:12px;gap:8px}
  #suPlan{min-height:56px}
  .suSide{gap:10px}
  .suGo{height:clamp(70px,13vh,150px)}
}
