@font-face{font-family:"Onest";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/onest-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/onest-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/onest-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/onest-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/unbounded-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/unbounded-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/unbounded-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/unbounded-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html{-webkit-text-size-adjust:100%}body{margin:0}[hidden]{display:none!important}img{max-width:100%}

/* Layout: приложение на телефон. Четыре раздела с нижним меню: Сегодня, Прогресс, План, Замеры. Одна колонка, крупные кнопки. */
/* Темы (раздел 13 ТЗ). Тема ставится атрибутом data-theme на <html>.
   Атрибут можно поставить и на любой блок: так сделан живой предпросмотр тем в анкете.
   «Море» без изменений из первой версии. «Пудра» чуть темнее по muted, accent и ok, чтобы контраст текста был не ниже 4.5:1. */
:root{
  --navh:64px;
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --body:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
:root,[data-theme="sea-dark"]{
  --bg:#0C171C; --surface:#13242B; --fg:#E6F0F2; --muted:#8FA9B3; --line:#25404A;
  --accent:#4CC3D9; --accent-ink:#06222A; --soft:#17303A; --warn:#F08A55; --warn-soft:#2E1E16; --ok:#5FC088;
  color-scheme:dark;
}
[data-theme="sea-light"]{
  --bg:#EBF0F1; --surface:#FFFFFF; --fg:#10222B; --muted:#56707C; --line:#CBD7DB;
  --accent:#0B7A8F; --accent-ink:#FFFFFF; --soft:#DDEAEC; --warn:#B8420C; --warn-soft:#FBE9DF; --ok:#2F7D4F;
  color-scheme:light;
}
[data-theme="powder-light"]{
  --bg:#F7EFED; --surface:#FFFFFF; --fg:#2B1D22; --muted:#735D64; --line:#E7D5D4;
  --accent:#AD4068; --accent-ink:#FFFFFF; --soft:#F4E2E4; --warn:#B8420C; --warn-soft:#FBE9DF; --ok:#2B7549;
  color-scheme:light;
}
[data-theme="plum-dark"]{
  --bg:#1A1220; --surface:#251A2D; --fg:#F1E8F3; --muted:#B39DB9; --line:#3A2B44;
  --accent:#E08AB0; --accent-ink:#2A0F1C; --soft:#2F2238; --warn:#F08A55; --warn-soft:#2E1E16; --ok:#5FC088;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{
  background:var(--bg); color:var(--fg); font-family:var(--body); font-size:16px; line-height:1.5;
  padding-top:calc(18px + env(safe-area-inset-top,0px)); padding-bottom:calc(150px + env(safe-area-inset-bottom,0px));
  padding-left:max(16px,env(safe-area-inset-left,0px)); padding-right:max(16px,env(safe-area-inset-right,0px));
}
main{max-width:560px; margin:0 auto}
.view{display:flex; flex-direction:column; gap:18px}
h1,h2,h3{font-family:var(--display); margin:0; text-wrap:balance; line-height:1.2}
h2{font-size:17px; font-weight:700}
h3{font-size:15px; font-weight:500}
p{margin:0}
button{font:inherit; color:inherit; cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent); outline-offset:2px}
.muted{color:var(--muted)}
.small{font-size:14px}
.label{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:500}
.label .anch{color:var(--accent); font-weight:700}

.today{display:flex; flex-direction:column; gap:6px}
.today .big{font-family:var(--display); font-size:22px; font-weight:700; line-height:1.2}
.pain{background:var(--warn-soft); border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; gap:4px; font-size:15px}
.pain b{color:var(--warn)}

.strip{display:grid; grid-template-columns:repeat(7,1fr); gap:6px}
.dchip{border:1.5px solid var(--line); border-radius:12px; padding:8px 0 7px; text-align:center; background:var(--surface); display:flex; flex-direction:column; align-items:center; gap:4px; font-size:13px; font-weight:500; color:var(--muted)}
.dchip i{display:block; width:18px; height:5px; border-radius:3px; background:var(--line)}
.dchip.train{color:var(--fg)}
.dchip.train i{background:var(--accent)}
.dchip.done i{background:var(--ok)}
.dchip.now{border-color:var(--accent); border-width:2.5px; color:var(--fg)}

.tabs{display:grid; grid-template-columns:repeat(3,1fr); gap:8px}
.tab{border:1.5px solid var(--line); background:var(--surface); border-radius:12px; padding:10px 8px; text-align:left; display:flex; flex-direction:column; gap:2px; min-width:0}
.tab b{font-family:var(--display); font-size:15px; font-weight:700}
.tab span{font-size:12px; color:var(--muted); line-height:1.3}
.tab[aria-selected="true"]{background:var(--accent); border-color:var(--accent); color:var(--accent-ink)}
.tab[aria-selected="true"] span{color:var(--accent-ink); opacity:.85}

.prog{display:flex; flex-direction:column; gap:8px}
.bar{height:10px; border-radius:6px; background:var(--soft); overflow:hidden}
.bar i{display:block; height:100%; width:0; background:var(--accent); border-radius:6px; transition:width .25s}
.phase{background:var(--soft); border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; gap:4px; font-size:15px}

.block{background:var(--surface); border:1.5px solid var(--line); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:10px}
.block ul{margin:0; padding-left:20px; display:flex; flex-direction:column; gap:4px; font-size:15px}
.chal{border-color:var(--accent); border-width:2.5px}
.help summary{cursor:pointer; font-size:15px}
.help p{margin-top:8px; font-size:15px}

.ex{background:var(--surface); border:1.5px solid var(--line); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:12px}
.ex-top{display:flex; gap:12px; align-items:flex-start}
.ex-head{display:flex; flex-direction:column; gap:6px; min-width:0; flex:1}
.ex-head h3{font-size:15px}
.nums{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap}
.nums b{font-family:var(--display); font-size:22px; font-weight:700; color:var(--accent); font-variant-numeric:tabular-nums}
.nums span{font-size:14px; color:var(--muted)}
.fig{width:136px; height:auto; flex:none; background:var(--soft); border-radius:10px; display:block}
.fig .floor{stroke:var(--line); stroke-width:2}
.fig .eq{fill:none; stroke:var(--muted); stroke-width:3; stroke-linecap:round; stroke-linejoin:round}
.fig .rope{stroke:var(--muted); stroke-width:1.6}
.fig .body{fill:none; stroke:var(--fg); stroke-width:3.6; stroke-linecap:round; stroke-linejoin:round}
.fig .head{fill:var(--surface); stroke:var(--fg); stroke-width:3}
.fig .hand{fill:var(--accent)}
.nofig{width:136px; flex:none; aspect-ratio:3/2; background:var(--soft); border-radius:10px; display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:13px; color:var(--muted); text-align:center; padding:8px}
.how{font-size:15px}
.care{font-size:14px; color:var(--warn); background:var(--warn-soft); border-radius:10px; padding:8px 10px}
.sets{display:flex; gap:8px; flex-wrap:wrap}
.set{width:48px; height:48px; border-radius:50%; border:2.5px solid var(--accent); background:transparent; font-family:var(--display); font-weight:700; font-size:16px; color:var(--accent); font-variant-numeric:tabular-nums}
.set.on{background:var(--accent); color:var(--accent-ink)}
.painrow{display:flex; flex-direction:column; gap:6px}
.seg{display:grid; grid-template-columns:repeat(3,1fr); gap:6px}
.seg button{border:1.5px solid var(--line); background:var(--bg); border-radius:10px; padding:9px 4px; font-size:14px; font-weight:500}
.seg button.on{background:var(--accent); color:var(--accent-ink); border-color:var(--accent)}
.seg button.on.bad{background:var(--warn); border-color:var(--warn); color:var(--surface)}
.kgw{display:flex; flex-direction:column; gap:4px}
.kg{display:flex; align-items:center; gap:8px; font-size:15px; flex-wrap:wrap}
.kg input,.nm input{width:84px; height:42px; border-radius:10px; border:1.5px solid var(--line); background:var(--bg); color:var(--fg); font:inherit; font-size:16px; padding:0 10px; font-variant-numeric:tabular-nums}
.hist{font-size:13px; color:var(--muted)}
.scroll{overflow-x:auto}
.tbl{width:100%; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums}
.tbl th,.tbl td{padding:7px 8px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap}
.tbl th{font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:500}
.bf{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.bf label{display:flex; flex-direction:column; gap:4px; font-size:14px; color:var(--muted); min-width:0}
.bf input{height:44px; width:100%; min-width:0; border-radius:10px; border:1.5px solid var(--line); background:var(--bg); color:var(--fg); font:inherit; font-size:16px; padding:0 10px; font-variant-numeric:tabular-nums}
.trend{display:flex; flex-direction:column; gap:4px; padding:10px 0; border-bottom:1px solid var(--line)}
.trend:last-child{border-bottom:0}
.row{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap}
.ghost{border:1.5px solid var(--line); background:transparent; border-radius:10px; padding:9px 12px; font-size:14px; font-weight:500}
.ghost.pri{border-color:var(--accent); color:var(--accent)}
.swap{background:var(--soft); border-radius:12px; padding:12px; display:flex; flex-direction:column; gap:8px}
.opt{text-align:left; border:1.5px solid var(--line); background:var(--surface); border-radius:10px; padding:10px 12px; font-size:15px; font-weight:500}
.opt small{display:block; font-weight:400; color:var(--muted); font-size:13px}
.opt[disabled]{opacity:.6; cursor:not-allowed}

.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:8px}
.stat{background:var(--surface); border:1.5px solid var(--line); border-radius:12px; padding:10px; display:flex; flex-direction:column; gap:2px; min-width:0}
.stat b{font-family:var(--display); font-size:20px; color:var(--accent); font-variant-numeric:tabular-nums}
.stat span{font-size:12px; color:var(--muted); line-height:1.3}
.pr{background:var(--surface); border:1.5px solid var(--line); border-radius:14px; padding:12px 14px; display:flex; flex-direction:column; gap:6px}
.pr .row b{font-size:15px}
.spark{width:100%; max-width:260px; height:auto; display:block}
.spark .sp-b{fill:var(--accent)}
.spark .sp-b.now{fill:var(--ok)}
.spark .sp-e{fill:var(--line)}
.spark .sp-w{fill:var(--warn)}

.nm{display:grid; grid-template-columns:1fr auto auto; gap:8px 10px; align-items:center; font-size:15px}
.nm .hd{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:500; text-align:center}
.delta{font-size:14px; color:var(--ok); display:flex; flex-direction:column; gap:2px}
textarea{width:100%; min-height:90px; border-radius:10px; border:1.5px solid var(--line); background:var(--bg); color:var(--fg); font:inherit; font-size:15px; padding:10px; resize:vertical}

.weeks{display:flex; flex-direction:column; gap:10px}
.ph{background:var(--surface); border:1.5px solid var(--line); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:10px}
.ph.cur{border-color:var(--accent); border-width:2.5px}
.wk{display:grid; grid-template-columns:repeat(6,1fr); gap:6px}
.wk span{border-radius:8px; background:var(--soft); text-align:center; padding:6px 0; font-size:14px; font-weight:500; font-variant-numeric:tabular-nums; color:var(--muted)}
.wk span.past{background:var(--ok); color:var(--surface)}
.wk span.now{background:var(--accent); color:var(--accent-ink); font-weight:700}

.check{display:flex; gap:12px; align-items:flex-start; font-size:15px}
.check input{width:26px; height:26px; flex:none; accent-color:var(--accent); margin-top:1px}

.rest{position:fixed; left:0; right:0; bottom:calc(var(--navh) + env(safe-area-inset-bottom,0px)); z-index:20; background:var(--accent); color:var(--accent-ink);
  padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));
  display:flex; align-items:center; justify-content:space-between; gap:12px}
.rest .t{font-family:var(--display); font-size:26px; font-weight:700; font-variant-numeric:tabular-nums}
.rest small{display:block; font-size:13px; opacity:.85}
.rest button{border:2px solid var(--accent-ink); background:transparent; border-radius:12px; padding:9px 16px; font-weight:700; color:var(--accent-ink)}

.nav{position:fixed; left:0; right:0; bottom:0; z-index:30; background:var(--surface); border-top:1.5px solid var(--line);
  display:grid; grid-template-columns:repeat(5,1fr);
  padding:4px max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px))}
.nav button{background:none; border:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:56px; font-size:11px; padding:0 2px; font-weight:500; color:var(--muted)}
.nav button[aria-current="page"]{color:var(--accent)}
.nav svg{width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}

/* Копия записей */
.bk{display:flex; flex-direction:column; gap:10px}
.bk .row{justify-content:flex-start}
.note{background:var(--soft); border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; gap:8px; font-size:15px}
.note .row{justify-content:flex-start}
.okmsg{color:var(--ok)}
.errmsg{color:var(--warn)}
label.ghost{cursor:pointer; display:inline-block}

/* Анкета при первом входе: один вопрос на экран */
body.onb .nav, body.onb .rest{display:none!important}
body.onb{padding-top:calc(18px + env(safe-area-inset-top,0px)); padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
/* высота анкеты = видимый экран минус отступы body: кнопка «Дальше» целиком над полоской жеста */
.onb{display:flex; flex-direction:column; gap:18px;
  min-height:calc(100vh - 42px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  min-height:calc(100dvh - 42px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
.onb-top{display:flex; align-items:center; gap:12px}
.onb-top .bar{flex:1}
.onb-back{border:0; background:none; padding:8px 4px; font-size:15px; font-weight:500; color:var(--muted)}
.onb-back[disabled]{visibility:hidden}
.onb-step{font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; white-space:nowrap}
.onb h1{font-size:22px; font-weight:700}
.onb .lead{font-size:15px; color:var(--muted)}
.choices{display:flex; flex-direction:column; gap:10px}
.choice{text-align:left; border:2px solid var(--line); background:var(--surface); border-radius:14px; padding:14px 16px; font-size:17px; font-weight:500; min-height:58px; display:flex; flex-direction:column; justify-content:center; gap:2px}
.choice small{font-size:14px; font-weight:400; color:var(--muted)}
.choice.on{border-color:var(--accent); background:var(--soft)}
.choice[aria-disabled="true"]{opacity:.55}
.choice .lock{font-size:14px; font-weight:400; color:var(--muted)}
.choices.days{display:grid; grid-template-columns:repeat(4,1fr)}
.choices.days .choice{align-items:center; text-align:center; padding:12px 4px; min-height:54px}
.bigin{height:60px; width:100%; border-radius:14px; border:2px solid var(--line); background:var(--surface); color:var(--fg); font:inherit; font-size:24px; font-family:var(--display); padding:0 16px; font-variant-numeric:tabular-nums}
.bigin:focus{border-color:var(--accent); outline:none}
.onb-err{color:var(--warn); font-size:15px; min-height:22px}
.onb-hint{background:var(--soft); border-radius:12px; padding:12px 14px; font-size:15px}
.onb-foot{margin-top:auto; display:flex; flex-direction:column; gap:10px}
.btn{border:0; border-radius:14px; background:var(--accent); color:var(--accent-ink); font-size:17px; font-weight:700; min-height:56px; padding:0 18px}
.btn[disabled]{opacity:.45; cursor:not-allowed}
.btn.sec{background:transparent; border:2px solid var(--line); color:var(--fg)}
.yn{display:flex; flex-direction:column; gap:8px; padding:12px 0; border-bottom:1px solid var(--line); font-size:16px}
.yn:last-child{border-bottom:0}
.yn .seg{grid-template-columns:1fr 1fr}
.yn .seg button{font-size:16px; padding:11px 4px}
.disc{font-size:13px; color:var(--muted)}

/* Предпросмотр темы: маленькая карточка упражнения в цветах темы */
.themes{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.thm{border:2.5px solid var(--line); border-radius:16px; padding:8px; background:var(--bg); color:var(--fg); text-align:left; display:flex; flex-direction:column; gap:8px}
.thm.on{border-color:var(--accent); box-shadow:0 0 0 2px var(--accent)}
.thm-card{background:var(--surface); border:1.5px solid var(--line); border-radius:10px; padding:8px; display:flex; flex-direction:column; gap:6px}
.thm-card b{font-family:var(--display); font-size:15px; color:var(--accent)}
.thm-card span{font-size:12px; color:var(--muted); line-height:1.3}
.thm-dots{display:flex; gap:5px}
.thm-dots i{width:20px; height:20px; border-radius:50%; border:2px solid var(--accent)}
.thm-dots i.on{background:var(--accent)}
.thm-name{font-size:14px; font-weight:700; padding:0 2px}

/* Твои цифры */
.nums-grid{display:flex; flex-direction:column; gap:10px}
.numc{background:var(--surface); border:1.5px solid var(--line); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:4px}
.numc .v{font-family:var(--display); font-size:28px; font-weight:700; color:var(--accent); font-variant-numeric:tabular-nums; line-height:1.2}
.numc .v small{font-size:15px; font-family:var(--body); font-weight:500; color:var(--fg)}
.numc p{font-size:15px}
.numc .why{font-size:14px; color:var(--muted)}
.soft-badge{background:var(--warn-soft); color:var(--warn); border-radius:12px; padding:10px 14px; font-size:15px}

/* Экран тренировки: оценка, подсказка, зоны боли, проверка ввода (раздел 7) */
.seg button small{display:block; font-size:11px; font-weight:400; opacity:.8; line-height:1.2; margin-top:2px}
.advice{background:var(--soft); border-radius:10px; padding:10px 12px; font-size:15px}
.zones{display:flex; flex-wrap:wrap; gap:6px}
.zchip{border:1.5px solid var(--line); background:var(--bg); border-radius:20px; padding:7px 12px; font-size:14px; font-weight:500}
.zchip.on{background:var(--warn); border-color:var(--warn); color:var(--surface)}
.alarm{background:#B3261E; color:#fff; border-radius:12px; padding:12px 14px; font-size:15px; line-height:1.45}
.confirm{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:15px; color:var(--warn); margin-top:4px}
.kg input{width:84px}

/* Здоровье: привычки недели (раздел 8) */
.hab{display:flex; flex-direction:column; gap:6px; padding:8px 0; border-bottom:1px solid var(--line)}
.hab:last-child{border-bottom:0}
.hab-days{display:grid; grid-template-columns:repeat(7,1fr); gap:5px}
.hab-days button{border:1.5px solid var(--line); background:var(--bg); border-radius:10px; padding:8px 0; font-size:12px; font-weight:500; color:var(--muted)}
.hab-days button.on{background:var(--ok); border-color:var(--ok); color:var(--surface)}
.hab-days button.today{border-color:var(--accent); border-width:2px}
.tip{font-size:16px; line-height:1.45}

/* Тест формы и карточка «было/стало» (раздел 9) */
.tw-tabs{display:grid; grid-template-columns:repeat(3,1fr); gap:6px}
.tw-tabs button{border:1.5px solid var(--line); background:var(--surface); border-radius:10px; padding:9px 4px; font-size:14px; font-weight:500}
.tw-tabs button.on{background:var(--accent); border-color:var(--accent); color:var(--accent-ink)}
.trow{display:grid; grid-template-columns:1fr auto; gap:6px 10px; align-items:center; padding:8px 0; border-bottom:1px solid var(--line)}
.trow:last-child{border-bottom:0}
.trow input{width:84px; height:42px; border-radius:10px; border:1.5px solid var(--line); background:var(--bg); color:var(--fg); font:inherit; font-size:16px; padding:0 10px; font-variant-numeric:tabular-nums}
.trow details{grid-column:1/-1; font-size:13px; color:var(--muted)}
.trow .tn{font-size:15px}
.trow .tn small{color:var(--muted); font-size:13px}
.result-img{width:100%; border-radius:14px; display:block; border:1.5px solid var(--line)}

/* Плашка обновления (10.4) */
.upd{position:fixed; top:0; left:0; right:0; z-index:40; background:var(--fg); color:var(--bg); display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px)); font-size:15px}
.upd button{border:2px solid var(--bg); background:transparent; color:var(--bg); border-radius:10px; padding:7px 14px; font-weight:700}

/* Настройки (10.5), доступ (10.3), что дальше (9.3) */
.today{position:relative}
.gear{position:absolute; top:-6px; right:0; width:44px; height:44px; border-radius:12px; border:1.5px solid var(--line); background:var(--surface); display:flex; align-items:center; justify-content:center; color:var(--muted)}
.gear svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.today .label{padding-right:52px}
.lock{background:var(--surface); border:2.5px solid var(--accent); border-radius:16px; padding:18px; display:flex; flex-direction:column; gap:12px}
.lock h2{font-size:20px}
.lock input{height:52px; border-radius:12px; border:1.5px solid var(--line); background:var(--bg); color:var(--fg); font:inherit; font-size:18px; padding:0 14px; text-transform:uppercase; letter-spacing:.04em}
.offer{border:1.5px solid var(--line); background:var(--surface); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:8px}
.offer h3{font-size:16px}
.danger{border-color:var(--warn)!important; color:var(--warn)!important}
a.ghost{text-decoration:none; display:inline-block; color:inherit}
a.ghost.pri{color:var(--accent)}

/* Человечки версии 2 (раздел 14): кости постоянной длины, дальние конечности светлее, рабочие мышцы цветом акцента */
.fig.f2{cursor:zoom-in}
.f2 .f2-body{fill:none; stroke:var(--fg); stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round}
.f2 .f2-far{fill:none; stroke:var(--fg); stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; opacity:.32}
.f2 .f2-hi{fill:none; stroke:var(--accent); stroke-width:5; stroke-linecap:round; opacity:.9}
.f2 .head{fill:var(--surface); stroke:var(--fg); stroke-width:2.8}
.f2 .f2-eq path{fill:none; stroke:var(--muted); stroke-width:2.2; stroke-linecap:round}
.f2 .f2-eq .f2-pad{stroke-width:4}
.f2 .f2-eq .f2-padr{fill:var(--muted); stroke:none}
.f2 .f2-db rect{fill:var(--muted)}
.f2 .f2-db .f2-grip{stroke:var(--muted); stroke-width:2.2}
.f2 .f2-label{font-family:var(--body); font-size:7px; font-weight:700; fill:var(--accent)}
.fig.f2.big{width:100%; cursor:default}
.f2view{position:fixed; inset:0; z-index:50; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center;
  padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px)); overflow-y:auto}
.f2v-card{margin:auto; background:var(--surface); color:var(--fg); border-radius:16px; padding:16px; width:100%; max-width:520px; display:flex; flex-direction:column; gap:12px}
.f2v-range{width:100%; accent-color:var(--accent)}

/* «Мой результат» */
.ins .row{justify-content:space-between; align-items:center}
.ins .x,.x{border:0; background:transparent; font-size:20px; line-height:1; padding:6px 8px; color:var(--muted)}
.ins-b{background:var(--surface); border:1.5px solid var(--line); border-radius:12px; padding:10px 12px; display:flex; flex-direction:column; gap:4px}
.ins-b b{font-size:15px}
.ins-b.warn{border-color:var(--warn)}
.ins-b.warn b{color:var(--warn)}
.ins-b.red{background:var(--warn-soft); border-color:var(--warn)}
.ins-b.red b{color:var(--warn)}
.ins-b.next{border-color:var(--accent)}
.ins-b.next b{color:var(--accent)}
.ins-tabs{display:flex; flex-wrap:wrap; gap:6px}
#v-res select{margin-left:6px; font:inherit; padding:6px 8px; border-radius:8px; border:1.5px solid var(--line); background:var(--surface); color:var(--fg)}
.f2 .f2-x{fill:none; stroke:var(--muted); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round}
.f2 .f2-eye{fill:var(--fg)}
.f2 .f2-eq .f2-box{fill:var(--soft); stroke:var(--muted); stroke-width:1.6}
.f2 .f2-eq .f2-arrow,.f2 .f2-arrow{fill:none; stroke:var(--accent); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.f2 .f2-cap{font-family:var(--body); font-size:6.2px; font-weight:500; fill:var(--fg); text-anchor:middle}
.f2 .f2-sep{stroke:var(--line); stroke-width:1; stroke-dasharray:2 2}
.f2 .f2-cap3{font-size:5.6px}
