/* X Protocol W2 — training screen. Loaded after design-w2.css. */
#screen-workout, #screen-workout * {
  font-variant-numeric: tabular-nums;
}
.sf-train .sf-hero-title, .sf-train .sf-ex-name, .sf-train .sf-last-title {
  text-wrap: balance;
}
.sf-train .rp-banner, .sf-train .sf-ex-muscles {
  text-wrap: pretty;
}

/* Training screen */
.screen.sf-train {
  display:flex; flex-direction:column;
  width:100%; max-width:none;
  min-height:100vh; height:auto;
  margin:0; padding:0;
}
.screen.sf-train:not(.active) {
  display:none;
}
.sf-train {
  color:var(--w2-text); background:var(--w2-bg);
  font-family:'Inter',sans-serif;
}
.sf-train .sf-body {
  position:relative; display:grid;
  grid-template-columns:minmax(224px,16vw) minmax(0,1fr) minmax(264px,19vw); align-items:start;
  flex:1 1 auto; overflow:visible;
}
.sf-train .sf-col {
  display:flex; flex-direction:column;
  padding:var(--w2-s5); overflow:visible;
}
.sf-train .sf-col-left,.sf-train .sf-col-mid {
  border-right:1px solid var(--w2-line);
}
.sf-train .sf-col-left {
  position:sticky; top:calc(max(51px,3vw) + var(--w2-s8) + 1px);
  max-height:calc(100vh - max(51px,3vw) - var(--w2-s8) - 1px); padding-top:var(--w2-s4);
  padding-bottom:var(--w2-s4); overflow-y:auto;
  scrollbar-width:none;
}
.sf-train .sf-col-left::-webkit-scrollbar {
  display:none;
}
.sf-train .sf-col-mid {
  overflow-y:auto;
}
.sf-train .sf-col-left,.sf-train .sf-col-right {
  overflow-x:hidden;
}
.sf-train .sf-col-left::-webkit-scrollbar,.sf-train .sf-col-right::-webkit-scrollbar,.sf-train .sf-col-mid::-webkit-scrollbar {
  width:var(--w2-s1);
}
.sf-train .sf-col-left::-webkit-scrollbar-thumb,.sf-train .sf-col-right::-webkit-scrollbar-thumb,.sf-train .sf-col-mid::-webkit-scrollbar-thumb {
  border-radius:2px; background:var(--w2-line);
}
.sf-train .sf-col-left::-webkit-scrollbar-track,.sf-train .sf-col-right::-webkit-scrollbar-track,.sf-train .sf-col-mid::-webkit-scrollbar-track {
  background:transparent;
}
.sf-train .sf-settings-head,.sf-train .sf-last-eyebrow,.sf-train .sf-tonn-eye,.sf-train .sf-rec-head {
  color:var(--w2-text-quiet); font:700 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
}
.sf-train .sf-settings-head {
  display:flex; align-items:center;
  gap:var(--w2-s2); margin-bottom:var(--w2-s3);
}
.sf-train .sf-settings-head::before {
  content:''; width:var(--w2-s1);
  height:var(--w2-s1); border-radius:50%;
  background:var(--w2-text-quiet);
}
.sf-train .sf-col-div {
  height:1px; margin:var(--w2-s4) 0;
  background:var(--w2-line);
}
.sf-train .sf-prog-card {
  position:relative; display:flex;
  flex-direction:column; gap:var(--w2-s2);
  padding:var(--w2-s4); border:1px solid rgba(200,241,53,.24);
  border-radius:var(--w2-s4); background:rgba(200,241,53,.055);
  box-shadow:0 10px 24px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.035);
}
.sf-train .sf-prog-card .pc-eye {
  display:flex; align-items:center;
  gap:var(--w2-s2); color:var(--w2-lime);
  font:700 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums; letter-spacing:.08em;
  text-transform:uppercase;
}
.sf-train .sf-prog-card .pc-eye::before {
  content:''; width:var(--w2-s2);
  height:var(--w2-s2); border-radius:50%;
  background:var(--w2-lime); box-shadow:0 0 6px rgba(200,241,53,.32);
}
.sf-train .sf-prog-card .pc-name {
  color:var(--w2-text); font:600 17px/1.2 'Inter',sans-serif; font-variant-numeric: tabular-nums;
  letter-spacing:-.018em;
}
.sf-train .sf-prog-card .pc-until {
  color:var(--w2-text-quiet); font:500 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em;
}
.sf-train .sf-prog-card .pc-wrap {
  display:flex; align-items:baseline;
  justify-content:space-between; padding-top:var(--w2-s4);
  border-top:1px solid rgba(200,241,53,.18);
}
.sf-train .sf-prog-card .pc-wlbl {
  color:var(--w2-lime); font:700 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
}
.sf-train .sf-prog-card .pc-wval {
  color:var(--w2-text); font:800 17px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
}
.sf-train .sf-prog-card .pc-wval .t {
  margin-left:var(--w2-s1); color:var(--w2-text-muted);
  font:500 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
}
.sf-train .sf-prog-card .pc-bar {
  height:var(--w2-s1); overflow:hidden;
  border-radius:2px; background:var(--w2-line);
}
.sf-train .sf-prog-card .pc-bar .fill {
  display:block; width:66%;
  height:100%; border-radius:inherit;
  background:var(--w2-lime); box-shadow:0 0 6px rgba(200,241,53,.28);
}
.sf-train .sf-day-list,.sf-train .sf-ppl-list,.sf-train .sf-rec-list {
  display:flex; flex-direction:column;
  gap:var(--w2-s2);
}
.sf-train .sf-day-row,.sf-train .sf-ppl-row {
  display:flex; align-items:center;
  min-height:var(--w2-s8); gap:var(--w2-s3);
  padding:var(--w2-s2) var(--w2-s3); border:1px solid var(--w2-line);
  border-radius:var(--w2-s3); background:var(--w2-surface);
  cursor:pointer;
  transition:transform 150ms ease-out,background-color 160ms cubic-bezier(.2,0,0,1),border-color 160ms cubic-bezier(.2,0,0,1),box-shadow 160ms cubic-bezier(.2,0,0,1);
}
.sf-train .sf-day-row:hover,.sf-train .sf-ppl-row:hover {
  border-color:rgba(255,255,255,.12); background:var(--w2-surface-raised);
}
.sf-train .sf-day-row:active,.sf-train .sf-ppl-row:active {
  transform:scale(.96);
}
.sf-train .sf-day-row .num {
  min-width:var(--w2-s6); color:var(--w2-text-quiet);
  font:800 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums; letter-spacing:.06em;
}
.sf-train .sf-day-row .lbl {
  display:-webkit-box; flex:1;
  min-width:0; overflow:hidden;
  color:var(--w2-text-muted); font:600 15px/1.25 'Inter',sans-serif; font-variant-numeric: tabular-nums;
  word-break:break-word; -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.sf-train .sf-day-row .sub {
  color:var(--w2-text-quiet); font:700 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em;
}
.sf-train .sf-day-row.active,.sf-train .sf-ppl-row.active {
  border-color:rgba(200,241,53,.24); background:rgba(200,241,53,.055);
  box-shadow:0 8px 20px rgba(0,0,0,.14),inset 0 1px 0 rgba(200,241,53,.06);
}
.sf-train .sf-day-row.active .num,.sf-train .sf-day-row.active .sub {
  color:var(--w2-lime);
}
.sf-train .sf-day-row.active .lbl {
  color:var(--w2-text);
}
.sf-train .sf-av-wrap {
  position:relative; display:flex;
  align-items:center; justify-content:center;
  flex-shrink:0; width:36px;
  height:36px;
}
.sf-train .sf-av-ring {
  position:absolute; inset:-2px;
  width:40px; height:40px;
  overflow:visible; transform:rotate(-90deg);
  pointer-events:none;
}
.sf-train .sf-av-ring-bg,.sf-train .sf-av-ring-fg {
  fill:none; stroke-width:2.2;
}
.sf-train .sf-av-ring-bg {
  stroke:rgba(200,241,53,.1);
}
.sf-train .sf-av-ring-fg {
  stroke:var(--w2-lime); stroke-linecap:round;
  stroke-dasharray:100.531; stroke-dashoffset:100.531;
  filter:drop-shadow(0 0 3px rgba(200,241,53,.34));
}
.sf-train .sf-ppl-row:not(.active) .sf-av-ring {
  display:none;
}
.sf-train .sf-ppl-row.active .sf-av-ring-fg {
  animation:w2AvatarRing 1.4s cubic-bezier(.22,.9,.28,1) .2s forwards;
}
.sf-train .sf-av {
  position:relative; z-index:1;
  display:flex; align-items:center;
  justify-content:center; width:36px;
  height:36px; border:1px solid rgba(255,255,255,.12);
  border-radius:50%; color:var(--w2-text-muted);
  background:var(--w2-surface-raised); font:800 13px/1 'Inter',sans-serif; font-variant-numeric: tabular-nums;
}
.sf-train .sf-ppl-body {
  display:flex; flex:1;
  flex-direction:column; min-width:0;
  gap:var(--w2-s1);
}
.sf-train .sf-ppl-name {
  color:var(--w2-text); font:600 15px/1.2 'Inter',sans-serif; font-variant-numeric: tabular-nums;
}
.sf-train .sf-ppl-bw {
  color:var(--w2-text-quiet); font:500 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em;
}
.sf-train .sf-ppl-row.active .sf-av {
  border-color:var(--w2-lime); color:var(--w2-lime);
  background:rgba(200,241,53,.08); box-shadow:0 0 8px rgba(200,241,53,.2);
}
.sf-train .sf-ppl-row.active .sf-ppl-bw {
  color:var(--w2-lime);
}
.sf-train .rp-controls {
  display:flex; flex-direction:column;
  align-items:stretch; gap:var(--w2-s2);
}

/* Режим — по ряду-переключателю на участника, в языке соседних списков */
.sf-train .rp-toggle {
  display:flex; align-items:center;
  justify-content:flex-start; width:100%;
  min-height:var(--w2-s8); padding:var(--w2-s2) var(--w2-s3);
  border:1px solid var(--w2-line); border-radius:var(--w2-s3);
  background:var(--w2-surface); color:var(--w2-text-muted);
  font:700 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums; letter-spacing:.08em;
  text-align:left; text-wrap:pretty;
  cursor:pointer;
  transition:transform 150ms ease-out,background-color 160ms cubic-bezier(.2,0,0,1),border-color 160ms cubic-bezier(.2,0,0,1),box-shadow 160ms cubic-bezier(.2,0,0,1),color 160ms ease-out;
}
.sf-train .rp-toggle:hover {
  border-color:rgba(255,255,255,.12); background:var(--w2-surface-raised);
  color:var(--w2-text);
}
.sf-train .rp-toggle:active {
  transform:scale(.96);
}
.sf-train .rp-toggle.active {
  border-color:rgba(200,241,53,.24); background:rgba(200,241,53,.055);
  color:var(--w2-lime); box-shadow:0 8px 20px rgba(0,0,0,.14),inset 0 1px 0 rgba(200,241,53,.06);
}
.sf-train :is(.rp-toggle,.sf-hist-nav-btn):focus-visible {
  outline:2px solid currentColor; outline-offset:2px;
}
.sf-train .sf-hero {
  display:flex; flex-direction:column;
  gap:var(--w2-s2); margin-bottom:var(--w2-s8);
}
.sf-train .sf-hero-eyebrow {
  display:flex; align-items:center;
  gap:var(--w2-s2); color:var(--w2-lime);
  font:700 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums; letter-spacing:.08em;
  text-transform:uppercase;
}
.sf-train .sf-hero-eyebrow::before {
  content:''; width:var(--w2-s2);
  height:var(--w2-s2); border-radius:50%;
  background:var(--w2-lime); box-shadow:0 0 6px rgba(200,241,53,.32);
  animation:w2TrainingPulse 1.6s ease-in-out infinite;
}
.sf-train .sf-hero-title {
  margin:0; color:var(--w2-text);
  font:700 30px/1.08 'Inter',sans-serif; font-variant-numeric: tabular-nums; letter-spacing:-.025em;
}
.sf-train .sf-hero-meta {
  display:flex; align-items:stretch;
  gap:var(--w2-s3); margin-top:var(--w2-s2);
}
.sf-train .sf-hero-meta .pill {
  display:flex; align-items:flex-start;
  flex:1; flex-direction:column;
  min-width:0; gap:var(--w2-s2);
  padding:var(--w2-s4); border:1px solid var(--w2-line);
  border-radius:var(--w2-s3); background:var(--w2-surface);
}
.sf-train .sf-hero-meta .pill .v {
  color:var(--w2-text); font:700 24px/1 'Inter',sans-serif; font-variant-numeric: tabular-nums;
  letter-spacing:-.02em;
}
.sf-train .sf-hero-meta .pill .u {
  color:var(--w2-text-muted); font:700 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
}
.sf-train .rp-banner {
  display:none; align-items:stretch;
  flex-direction:column; min-height:var(--w2-s9);
  gap:var(--w2-s2); margin:0 0 var(--w2-s5);
  padding:var(--w2-s3) var(--w2-s4); border:1px solid rgba(200,241,53,.22);
  border-radius:var(--w2-s3); color:var(--w2-text-muted);
  background:rgba(200,241,53,.055); box-shadow:0 8px 20px rgba(0,0,0,.12);
  font:600 12px/1.45 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
}
.sf-train .rp-banner-row+.rp-banner-row {
  padding-top:var(--w2-s2); border-top:1px solid rgba(200,241,53,.14);
}
#sf-train-content {
  display:flex; flex:1;
  flex-direction:column; min-height:0;
}
.sf-train .sf-ex-list {
  display:flex; flex:0 0 auto;
  flex-direction:column; min-height:auto;
  gap:var(--w2-s3);
}
.sf-train .sf-ex-row {
  position:relative; display:grid;
  grid-template-areas:'num title sets'; grid-template-columns:var(--w2-s6) minmax(0,1fr) minmax(136px,9vw);
  align-items:center; gap:var(--w2-s4);
  padding:var(--w2-s4) var(--w2-s5); border:1px solid var(--w2-line);
  border-radius:var(--w2-s4); background:var(--w2-surface);
  box-shadow:0 8px 20px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.025);
}
.sf-train .sf-ex-num {
  grid-area:num; color:var(--w2-text-quiet);
  font:800 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums; letter-spacing:.04em;
}
.sf-train .sf-ex-title {
  display:flex; grid-area:title;
  flex-direction:column; min-width:0;
  gap:var(--w2-s2);
}
.sf-train .sf-ex-name {
  display:flex; align-items:center;
  min-width:0; gap:var(--w2-s2);
  overflow:hidden; color:var(--w2-text);
  font:600 17px/1.2 'Inter',sans-serif; font-variant-numeric: tabular-nums; text-overflow:ellipsis;
  white-space:nowrap;
}
.sf-train .sf-ex-muscles {
  display:flex; align-items:center;
  gap:var(--w2-s2); overflow:hidden;
  color:var(--w2-text-muted); font:700 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-overflow:ellipsis;
  text-transform:uppercase; white-space:nowrap;
}
.sf-train .sf-ex-muscles .bl {
  width:var(--w2-s1); height:var(--w2-s1);
  border-radius:50%; background:var(--w2-text-quiet);
  flex-shrink:0;
}
.sf-train .sf-ex-muscles span[onclick] {
  display:inline-flex; align-items:center;
  min-height:var(--w2-s8);
}
.sf-train .sf-ex-muscles svg {
  display:inline-block; flex:0 0 14px;
  width:14px; height:14px;
  margin-right:var(--w2-s1); vertical-align:-2px;
}
.sf-train .sf-ex-sets {
  display:flex; grid-area:sets;
  align-items:flex-end; flex-direction:column;
  width:100%; min-width:0;
  gap:var(--w2-s2); padding:var(--w2-s3);
  border:1px solid var(--w2-line); border-radius:var(--w2-s2);
  background:var(--w2-surface-raised);
}
.sf-train .sf-ex-sets .row1 {
  display:flex; align-items:baseline;
  gap:var(--w2-s1);
}
.sf-train .sf-ex-sets .row1 .a,.sf-train .sf-ex-sets .row1 .b {
  color:var(--w2-text); font:800 17px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
}
.sf-train .sf-ex-sets .row1 .x {
  color:var(--w2-text-quiet); font:500 15px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
}
.sf-train .sf-ex-sets .row2 {
  color:var(--w2-text-muted); font:500 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
}
.sf-train .sf-ex-row.plt {
  border-color:rgba(241,70,44,.3); background:rgba(241,70,44,.055);
  box-shadow:0 8px 20px rgba(0,0,0,.12),inset 2px 0 0 var(--w2-fire);
}
.sf-train .sf-ex-row.plt .sf-ex-num,.sf-train .sf-ex-row.plt .sf-ex-sets .row2 {
  color:var(--w2-fire);
}
.sf-train .sf-ex-row.plt .sf-ex-sets {
  border-color:rgba(241,70,44,.24); background:rgba(241,70,44,.06);
}
.sf-train .sf-plt-mark {
  display:inline-flex; align-items:center;
  flex-shrink:0; gap:var(--w2-s1);
  padding:var(--w2-s1) var(--w2-s2); border:1px solid rgba(241,70,44,.28);
  border-radius:var(--w2-s2); color:var(--w2-fire);
  background:rgba(241,70,44,.08); font:800 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
}
.sf-train .sf-start-area {
  display:flex; align-items:center;
  justify-content:center; flex-direction:column;
  gap:var(--w2-s2); padding:var(--w2-s2) 0 0;
}
.sf-train .sf-orb-btn {
  position:relative; display:flex;
  align-items:center; justify-content:center;
  flex-shrink:0; width:64px;
  height:64px; border:2px solid var(--w2-lime);
  border-radius:50%; background:var(--w2-surface);
  box-shadow:0 0 18px rgba(200,241,53,.16),inset 0 0 16px rgba(200,241,53,.06); cursor:pointer;
  transition:transform 160ms cubic-bezier(.2,0,0,1),background-color 160ms ease-out,box-shadow 160ms ease-out;
}
.sf-train .sf-orb-btn::before {
  content:''; position:absolute;
  inset:-8px; border:1px solid rgba(200,241,53,.2);
  border-radius:50%; animation:w2OrbBreath 2.4s ease-in-out infinite;
}
.sf-train .sf-orb-btn::after {
  content:''; position:absolute;
  inset:var(--w2-s2); border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 60%,rgba(200,241,53,.04) 72%,rgba(200,241,53,.18) 94%,transparent 100%);
  animation:w2OrbSpin 4s linear infinite;
}
.sf-train .sf-orb-btn:hover {
  background:var(--w2-surface-raised); box-shadow:0 0 24px rgba(200,241,53,.22),inset 0 0 16px rgba(200,241,53,.08);
  transform:scale(1.02);
}
.sf-train .sf-orb-btn:active {
  transform:scale(.96);
}
.sf-train .sf-orb-btn .play {
  position:relative; z-index:2;
  width:0; height:0;
  margin-left:var(--w2-s1); border-top:10px solid transparent;
  border-bottom:10px solid transparent; border-left:14px solid var(--w2-lime);
  filter:drop-shadow(0 0 5px rgba(200,241,53,.32));
}
.sf-train .sf-orb-txt {
  display:flex; align-items:center;
  flex-direction:column; gap:var(--w2-s2);
}
.sf-train .sf-orb-txt .l1 {
  color:var(--w2-lime); font:600 17px/1 'Inter',sans-serif; font-variant-numeric: tabular-nums;
  letter-spacing:.1em; text-transform:uppercase;
  text-shadow:0 0 10px rgba(200,241,53,.2);
}
.sf-train .sf-orb-txt .l2 {
  color:var(--w2-text-muted); font:700 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
}
.sf-train .sf-hist-nav {
  display:flex; flex-direction:column;
  gap:var(--w2-s2); margin-bottom:var(--w2-s8);
  padding-bottom:var(--w2-s5); border-bottom:1px solid var(--w2-line);
}
.sf-train .sf-hist-nav-btn {
  display:flex; align-items:center;
  width:100%; min-height:var(--w2-s9);
  gap:var(--w2-s3); padding:var(--w2-s3) var(--w2-s4);
  border:1px solid var(--w2-line); border-radius:var(--w2-s3);
  color:var(--w2-text-muted); background:var(--w2-surface);
  cursor:pointer;
  transition:transform 150ms ease-out,background-color 160ms ease-out,border-color 160ms ease-out,box-shadow 160ms ease-out,color 160ms ease-out;
}
.sf-train .sf-hist-nav-btn:hover {
  border-color:rgba(200,241,53,.24); color:var(--w2-text);
  background:rgba(200,241,53,.055); box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.sf-train .sf-hist-nav-btn:active {
  transform:scale(.96);
}
.sf-train .sf-hist-nav-btn>svg:not(.sf-hist-nav-arr) {
  width:20px; height:20px;
  fill:none; stroke:currentColor;
  stroke-width:1.7; stroke-linecap:round;
  stroke-linejoin:round; flex-shrink:0;
  transition:stroke 160ms ease-out;
}
.sf-train .sf-hist-nav-btn:hover>svg:not(.sf-hist-nav-arr) {
  stroke:var(--w2-lime);
}
.sf-train .sf-hist-nav-title {
  color:inherit; font:700 12px/1.2 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
  transition:color 160ms ease-out;
}
.sf-train .sf-hist-nav-arr {
  width:12px; height:12px;
  fill:none; stroke:var(--w2-text-quiet);
  stroke-width:2; stroke-linecap:round;
  flex-shrink:0; transition:stroke 160ms ease-out,transform 160ms ease-out;
}
.sf-train .sf-hist-nav-btn:hover .sf-hist-nav-arr {
  stroke:var(--w2-lime); transform:translateX(-2px);
}
.sf-train .sf-last-hdr {
  display:flex; flex-direction:column;
  gap:var(--w2-s2); margin-bottom:var(--w2-s8);
  padding-bottom:var(--w2-s5); border-bottom:1px solid var(--w2-line);
}
.sf-train .sf-last-title {
  margin-top:var(--w2-s1); color:var(--w2-text);
  font:600 17px/1.2 'Inter',sans-serif; font-variant-numeric: tabular-nums;
}
.sf-train .sf-last-date {
  margin-top:var(--w2-s1); color:var(--w2-text-muted);
  font:700 12px/1.25 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums; letter-spacing:.08em;
  text-transform:uppercase;
}
.sf-train .sf-tonn {
  display:flex; flex-direction:column;
  margin:0 0 var(--w2-s8);
}
.sf-train .sf-tonn-eye,.sf-train .sf-rec-head {
  margin-bottom:var(--w2-s4);
}
.sf-train .sf-tonn-row {
  display:flex; align-items:center;
  justify-content:space-between; padding:var(--w2-s3) var(--w2-s1);
  border-bottom:1px solid var(--w2-line);
}
.sf-train .sf-tonn-row.total {
  margin-top:var(--w2-s1); padding-top:var(--w2-s4);
  border-top:1px solid var(--w2-line); border-bottom:0;
}
.sf-train .sf-tonn-row .nm {
  color:var(--w2-text-muted); font:700 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
}
.sf-train .sf-tonn-row.total .nm {
  color:var(--w2-text);
}
.sf-train .sf-tonn-row .val {
  display:flex; align-items:baseline;
  gap:var(--w2-s1); color:var(--w2-text);
  font:800 17px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
}
.sf-train .sf-tonn-row.total .val {
  font-size:24px;
}
.sf-train .sf-tonn-row .val .u {
  color:var(--w2-text-muted); font:500 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em; text-transform:uppercase;
}
.sf-train .sf-rec-head {
  display:flex; align-items:center;
  gap:var(--w2-s2);
}
.sf-train .sf-rec-head .ct {
  color:var(--w2-text-quiet); font-weight:500;
}
.sf-train .sf-rec-card {
  display:flex; align-items:center;
  gap:var(--w2-s3); padding:var(--w2-s4);
  border:1px solid rgba(200,241,53,.24); border-radius:var(--w2-s4);
  background:rgba(200,241,53,.055); box-shadow:0 8px 18px rgba(0,0,0,.12),inset 0 1px 0 rgba(200,241,53,.04);
}
.sf-train .sf-rec-card .ic {
  display:flex; align-items:center;
  justify-content:center; flex-shrink:0;
  width:32px; height:32px;
  border:1px solid rgba(200,241,53,.24); border-radius:var(--w2-s2);
  color:var(--w2-lime); background:rgba(200,241,53,.08);
  font:800 13px/1 'Inter',sans-serif; font-variant-numeric: tabular-nums;
}
.sf-train .sf-rec-body {
  display:flex; flex:1;
  flex-direction:column; min-width:0;
  gap:var(--w2-s1);
}
.sf-train .sf-rec-name {
  overflow:hidden; color:var(--w2-text);
  font:600 15px/1.2 'Inter',sans-serif; font-variant-numeric: tabular-nums; text-overflow:ellipsis;
  white-space:nowrap;
}
.sf-train .sf-rec-val {
  color:var(--w2-lime); font:800 17px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
}
.sf-train .sf-rec-delta {
  padding:var(--w2-s1) var(--w2-s2); border:1px solid rgba(200,241,53,.24);
  border-radius:var(--w2-s2); color:var(--w2-lime);
  background:rgba(200,241,53,.08); font:800 12px/1 'JetBrains Mono',monospace; font-variant-numeric: tabular-nums;
  letter-spacing:.08em;
}
#sf-history-inline {
  display:flex; flex:1;
  flex-direction:column; min-height:0;
  gap:0; overflow-y:auto;
  scrollbar-width:thin; scrollbar-color:var(--w2-line) transparent;
}
#sf-history-inline .sh-body {
  padding:0;
}
#sf-history-inline .sh-content {
  max-width:none; gap:var(--w2-s4);
}
#sf-history-inline .sh-filters {
  flex-wrap:wrap;
}
#sf-history-inline .sh-an-row {
  grid-template-columns:9vw repeat(12,1fr);
}
#sf-history-inline .sh-back-row {
  display:flex; align-items:center;
  gap:var(--w2-s2); margin-bottom:var(--w2-s2);
}
#sh-an-back-wrap {
  display:inline-flex; align-items:center;
  gap:0;
}
@keyframes w2TrainingPulse {
  0%,100% {
    opacity:1; transform:scale(1);
  }
  50% {
    opacity:.55; transform:scale(.72);
  }
}
@keyframes w2OrbBreath {
  0%,100% {
    opacity:.55; transform:scale(1);
  }
  50% {
    opacity:1; transform:scale(1.04);
  }
}
@keyframes w2OrbSpin {
  to {
    transform:rotate(360deg);
  }
}
@keyframes w2AvatarRing {
  from {
    stroke-dashoffset:100.531;
  }
  to {
    stroke-dashoffset:0;
  }
}
@keyframes w2TrainingEnter {
  0% {
    opacity:0; transform:translateY(12px) scale(.98);
  }
  72% {
    opacity:1; transform:translateY(-1px) scale(1.02);
  }
  100% {
    opacity:1; transform:translateY(0) scale(1);
  }
}
.sf-train.active:not(.w2-no-enter) .sf-col-left {
  animation:w2TrainingEnter 300ms cubic-bezier(.2,.9,.2,1) backwards;
}
.sf-train.active:not(.w2-no-enter) .sf-hero {
  animation:w2TrainingEnter 300ms cubic-bezier(.2,.9,.2,1) 80ms backwards;
}
.sf-train.active:not(.w2-no-enter) .sf-ex-list {
  animation:w2TrainingEnter 300ms cubic-bezier(.2,.9,.2,1) 160ms backwards;
}
.sf-train.active:not(.w2-no-enter) .sf-col-right {
  animation:w2TrainingEnter 300ms cubic-bezier(.2,.9,.2,1) 240ms backwards;
}
@media (max-width:900px) {
  .screen.sf-train {
    display:block; height:auto;
  }
  .screen.sf-train:not(.active) {
    display:none;
  }
  /* align-items у сетки остаётся start — в колоночном флексе это значит «ширина
     по содержимому», и колонка раздувалась до min-content своего самого широкого
     блока (карточки рекордов): 487 px при экране 390. Телефон в ответ не давал
     прокрутку, а УЖИМАЛ масштаб всей страницы — и держал его до перезагрузки
     (замер 14.08.2026: 487 → 730 → 818 после вкладок «История» и «Аналитика»).
     stretch возвращает колонкам ширину экрана. */
  .sf-train .sf-body {
    display:flex; flex-direction:column;
    align-items:stretch;
    height:auto; overflow:visible;
  }
  .sf-train .sf-col {
    padding:var(--w2-s5); overflow-y:visible;
    min-width:0;
    border-right:0; border-bottom:1px solid var(--w2-line);
  }
  .sf-train .sf-col-left {
    position:static; max-height:none;
    overflow:visible;
  }
  .sf-train .sf-col-right {
    border-bottom:0;
  }
  .sf-train .sf-hero-title {
    font-size:30px;
  }
  .sf-train .sf-ex-row {
    grid-template-columns:var(--w2-s6) minmax(0,1fr) minmax(128px,22vw);
  }
}
@media (max-width:500px) {
  .sf-train .sf-col {
    padding:var(--w2-s4);
  }
  .sf-train .sf-col-div {
    margin:var(--w2-s7) 0;
  }
  .sf-train .sf-prog-card {
    padding:var(--w2-s4);
  }
  .sf-train .sf-hero {
    margin-bottom:var(--w2-s7);
  }
  .sf-train .sf-hero-title {
    font-size:30px;
  }
  .sf-train .sf-hero-meta {
    gap:var(--w2-s2);
  }
  .sf-train .sf-hero-meta .pill {
    padding:var(--w2-s3);
  }
  .sf-train .sf-hero-meta .pill .v {
    font-size:20px;
  }
  .sf-train .sf-ex-row {
    grid-template-areas:'num title' '. sets'; grid-template-columns:var(--w2-s6) minmax(0,1fr);
    gap:var(--w2-s3); padding:var(--w2-s4);
  }
  .sf-train .sf-ex-name {
    flex-wrap:wrap; overflow:visible;
    white-space:normal;
  }
  .sf-train .sf-ex-muscles {
    display:block; max-width:100%;
    letter-spacing:.08em;
  }
  .sf-train .sf-ex-muscles .bl {
    display:inline-block; margin:0 var(--w2-s1);
    vertical-align:middle;
  }
  .sf-train .sf-ex-sets {
    align-items:flex-start;
  }
  .sf-train .sf-start-area {
    padding-top:var(--w2-s4);
  }
  .sf-train .sf-orb-btn {
    width:72px; height:72px;
  }
  .sf-train .sf-hist-nav {
    flex-direction:row; margin-bottom:var(--w2-s7);
    padding-bottom:var(--w2-s4);
  }
  .sf-train .sf-hist-nav-btn {
    flex:1; padding:var(--w2-s3);
  }
  .sf-train .sf-last-hdr {
    margin-bottom:var(--w2-s7); padding-bottom:var(--w2-s4);
  }
  .sf-train .sf-tonn {
    margin-bottom:var(--w2-s7);
  }
  .sf-train #sf-rec {
    margin-top:var(--w2-s7); padding-top:var(--w2-s4);
    border-top:1px solid var(--w2-line);
  }
}
@media (prefers-reduced-motion:reduce) {
  .sf-train.active:not(.w2-no-enter) .sf-col-left,.sf-train.active:not(.w2-no-enter) .sf-hero,.sf-train.active:not(.w2-no-enter) .sf-ex-list,.sf-train.active:not(.w2-no-enter) .sf-col-right,.sf-train .sf-hero-eyebrow::before,.sf-train .sf-ppl-row.active .sf-av-ring-fg,.sf-train .sf-orb-btn::before,.sf-train .sf-orb-btn::after {
    animation:none;
  }
  .sf-train .sf-day-row,.sf-train .sf-ppl-row,.sf-train .rp-toggle,.sf-train .sf-orb-btn,.sf-train .sf-hist-nav-btn,.sf-train .sf-hist-nav-title,.sf-train .sf-hist-nav-arr,.sf-train .sf-hist-nav-btn>svg:not(.sf-hist-nav-arr) {
    transition-duration:.01ms;
  }
}
