/* =========================================================================
   Mr Gym /workout/ - hero + program explorer.
   Rides on the --mg-* tokens defined by mrgym-app.css on .mrgym-wrap, so it
   follows the theme's light/dark switch without a second palette.
   Everything interactive here is CSS only: FlyingPress delays scripts until
   the first interaction, and a crawler must read all ten programs anyway.
   ========================================================================= */

.mrgym-wrap{
	--mgw-ink:#1a1400;
	--mgw-bleed:clamp(0px,(100vw - 984px)/2,124px);
	--mgw-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}
.mgw-bleed{margin-inline:calc(var(--mgw-bleed) * -1)}

/* ---------------------------------------------------------------- buttons */
.mrgym-wrap .mgw-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:14px 26px;border-radius:999px;font-weight:800;font-size:1rem;line-height:1.2;
	text-decoration:none;border:1px solid transparent;cursor:pointer;
	transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s,background .18s,border-color .18s;
	-webkit-tap-highlight-color:transparent;
}
.mrgym-wrap .mgw-btn svg{width:1.15em;height:1.15em;flex:0 0 auto}
.mrgym-wrap .mgw-btn--gold{
	background:linear-gradient(105deg,var(--mg-accent),var(--mg-accent-2));
	color:var(--mgw-ink);box-shadow:0 14px 30px -10px var(--mg-accent-glow),inset 0 1px 0 rgba(255,255,255,.45);
}
.mrgym-wrap .mgw-btn--gold:hover{transform:translateY(-2px);box-shadow:0 20px 38px -10px var(--mg-accent-glow),inset 0 1px 0 rgba(255,255,255,.5)}
.mrgym-wrap .mgw-btn--ghost{
	background:var(--mg-surface-2);color:var(--mg-text);border-color:var(--mg-border);
	box-shadow:var(--mg-shadow-sm);
}
.mrgym-wrap .mgw-btn--ghost:hover{transform:translateY(-2px);border-color:var(--mg-accent-border);color:var(--mg-accent-text)}
.mrgym-wrap .mgw-btn:active{transform:translateY(0)}
.mrgym-wrap .mgw-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--mg-accent-soft),0 0 0 5px var(--mg-accent-border)}

/* ------------------------------------------------------------------- hero */
.mgw-hero{
	position:relative;overflow:hidden;isolation:isolate;
	margin:8px calc(var(--mgw-bleed) * -1) 34px;
	padding:clamp(30px,5vw,58px) clamp(20px,4vw,52px);
	border-radius:28px;border:1px solid var(--mg-border);
	background:linear-gradient(168deg,var(--mg-surface) 0%,var(--mg-surface-2) 62%,var(--mg-bg) 100%);
	box-shadow:var(--mg-shadow);
}
.mgw-hero__bg{
	position:absolute;inset:0;z-index:-1;pointer-events:none;
	background:
		radial-gradient(58% 78% at 88% -6%,var(--mg-accent-soft) 0%,transparent 62%),
		radial-gradient(46% 62% at 4% 8%,rgba(104,132,255,.10) 0%,transparent 60%),
		radial-gradient(70% 90% at 50% 118%,var(--mg-accent-soft) 0%,transparent 58%);
}
.mgw-hero__bg::after{
	content:"";position:absolute;inset:0;background-image:var(--mgw-grain);
	opacity:.05;mix-blend-mode:overlay;
}
.mgw-hero::before{
	content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
	background:linear-gradient(140deg,var(--mg-accent-border) 0%,transparent 38%,transparent 72%,var(--mg-accent-border) 100%);
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;mask-composite:exclude;opacity:.75;
}
.mgw-hero__inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,54px);align-items:center}
.mgw-hero__h1{
	font-size:clamp(1.75rem,4.4vw,3rem);font-weight:900;line-height:1.34;letter-spacing:0;
	margin:0 0 18px;color:var(--mg-text);text-wrap:balance;
}
.mgw-hero__answer{color:var(--mg-muted);font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.95;margin:0 0 14px;max-width:60ch}
.mgw-hero__answer--2{color:var(--mg-muted-2);font-size:1rem}
.mgw-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}

.mgw-proof{
	list-style:none;margin:30px 0 0;padding:22px 0 0;display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
	border-top:1px solid var(--mg-border-soft);
}
.mgw-proof li{display:flex;flex-direction:column;gap:3px;min-width:0}
.mgw-proof b{
	font-size:clamp(1.3rem,2.6vw,1.75rem);font-weight:900;line-height:1.15;
	background:linear-gradient(120deg,var(--mg-accent),var(--mg-accent-2));
	-webkit-background-clip:text;background-clip:text;color:transparent;
}
.mgw-proof span{font-size:.78rem;color:var(--mg-muted-2);line-height:1.6}

/* the week ring */
.mgw-hero__art{display:flex;flex-direction:column;align-items:center;gap:18px}
.mgw-ring{position:relative;width:min(320px,76vw);aspect-ratio:1}
.mgw-ring::before{
	content:"";position:absolute;inset:-14%;border-radius:50%;z-index:-1;
	background:conic-gradient(from 0deg,transparent 0deg,var(--mg-accent-soft) 90deg,transparent 200deg,var(--mg-accent-soft) 310deg,transparent 360deg);
	filter:blur(26px);opacity:.9;animation:mgwSpin 22s linear infinite;
}
@keyframes mgwSpin{to{transform:rotate(360deg)}}
.mgw-ring__svg{width:100%;height:100%;overflow:visible;transform:rotate(0deg)}
.mgw-ring__seg{
	fill:none;stroke:var(--mg-track);stroke-width:13;stroke-linecap:round;
	stroke-dasharray:80;stroke-dashoffset:80;
	animation:mgwDraw .7s cubic-bezier(.2,.75,.3,1) forwards;
	animation-delay:calc(var(--i) * .085s);
}
.mgw-ring__seg.is-on{stroke:url(#mgwGold);filter:drop-shadow(0 0 9px var(--mg-accent-glow))}
@keyframes mgwDraw{to{stroke-dashoffset:0}}
.mgw-ring__core{
	position:absolute;inset:24%;display:flex;flex-direction:column;align-items:center;justify-content:center;
	text-align:center;gap:2px;
}
.mgw-ring__core b{font-size:3.1rem;font-weight:900;line-height:1;color:var(--mg-accent-text)}
.mgw-ring__core i{font-style:normal;font-size:.9rem;font-weight:700;color:var(--mg-text)}
.mgw-ring__core em{font-style:normal;font-size:.74rem;color:var(--mg-muted);line-height:1.6;margin-top:6px;max-width:15ch}
.mgw-hero__rail{display:flex;gap:6px}
.mgw-hero__day{
	width:30px;height:30px;display:grid;place-items:center;border-radius:9px;
	background:var(--mg-input);border:1px solid var(--mg-border-soft);
	font-size:.8rem;font-weight:700;color:var(--mg-muted-2);
}
.mgw-hero__day.is-on{
	background:linear-gradient(140deg,var(--mg-accent),var(--mg-accent-2));
	border-color:transparent;color:var(--mgw-ink);
	box-shadow:0 6px 16px -6px var(--mg-accent-glow);
}

/* --------------------------------------------------------------- explorer */
.mgx{margin:0 calc(var(--mgw-bleed) * -1) 40px;scroll-margin-top:84px}
.mgx__title{
	font-size:clamp(1.4rem,3.2vw,2rem);font-weight:900;color:var(--mg-text);
	margin:0 0 12px;line-height:1.45;letter-spacing:0;text-wrap:balance;
}
.mgx__lead{color:var(--mg-muted);margin:0 0 26px;max-width:74ch}

.mgx-r{position:absolute;opacity:0;pointer-events:none;width:0;height:0}

.mgx-controls{
	display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;
	padding:20px;border-radius:22px;border:1px solid var(--mg-border);
	background:linear-gradient(180deg,var(--mg-surface) 0%,var(--mg-surface-2) 100%);
	box-shadow:var(--mg-shadow-sm);margin-bottom:22px;
}
.mgx-ctl{min-width:0}
.mgx-ctl__label{display:flex;align-items:center;gap:7px;font-weight:800;font-size:.92rem;color:var(--mg-text);margin-bottom:11px}
.mgx-ctl__label svg{width:1.05em;height:1.05em;color:var(--mg-accent-text)}

.mgx-seg{
	position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;
	padding:6px;border-radius:16px;background:var(--mg-input);border:1px solid var(--mg-border);
}
.mgx-seg__opt{
	position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:6px;
	padding:11px 4px;border-radius:12px;cursor:pointer;user-select:none;
	color:var(--mg-muted);transition:color .22s;line-height:1.2;
}
.mgx-seg__opt b{font-weight:900;font-size:1.05rem}
.mgx-seg__opt i{font-style:normal;font-size:.76rem;opacity:.85}
.mgx-seg__opt svg{width:1.05em;height:1.05em}
.mgx-seg__opt:hover{color:var(--mg-text)}
.mgx-seg__thumb{
	position:absolute;z-index:0;top:6px;bottom:6px;inset-inline-start:6px;
	background:linear-gradient(120deg,var(--mg-accent),var(--mg-accent-2));
	border-radius:12px;box-shadow:0 8px 20px -8px var(--mg-accent-glow),inset 0 1px 0 rgba(255,255,255,.4);
	transition:transform .42s cubic-bezier(.68,-.02,.28,1);
}
.mgx-seg--5 .mgx-seg__thumb{width:calc((100% - 28px)/5)}
.mgx-seg--2 .mgx-seg__thumb{width:calc((100% - 16px)/2)}

/* thumb travel + active label, per checked radio */
#mgx-d2:checked ~ .mgx-controls .mgx-seg--5 .mgx-seg__thumb{transform:translateX(0)}
#mgx-d3:checked ~ .mgx-controls .mgx-seg--5 .mgx-seg__thumb{transform:translateX(calc(-100% - 4px))}
#mgx-d4:checked ~ .mgx-controls .mgx-seg--5 .mgx-seg__thumb{transform:translateX(calc(-200% - 8px))}
#mgx-d5:checked ~ .mgx-controls .mgx-seg--5 .mgx-seg__thumb{transform:translateX(calc(-300% - 12px))}
#mgx-d6:checked ~ .mgx-controls .mgx-seg--5 .mgx-seg__thumb{transform:translateX(calc(-400% - 16px))}
#mgx-pgym:checked  ~ .mgx-controls .mgx-seg--2 .mgx-seg__thumb{transform:translateX(0)}
#mgx-phome:checked ~ .mgx-controls .mgx-seg--2 .mgx-seg__thumb{transform:translateX(calc(-100% - 4px))}
#mgx-d2:checked ~ .mgx-controls label[for="mgx-d2"],
#mgx-d3:checked ~ .mgx-controls label[for="mgx-d3"],
#mgx-d4:checked ~ .mgx-controls label[for="mgx-d4"],
#mgx-d5:checked ~ .mgx-controls label[for="mgx-d5"],
#mgx-d6:checked ~ .mgx-controls label[for="mgx-d6"],
#mgx-pgym:checked ~ .mgx-controls label[for="mgx-pgym"],
#mgx-phome:checked ~ .mgx-controls label[for="mgx-phome"]{color:var(--mgw-ink)}
.mgx-r:focus-visible ~ .mgx-controls .mgx-seg{box-shadow:0 0 0 3px var(--mg-accent-soft)}
/* five and six days at home is a panel that argues against itself */
#mgx-phome:checked ~ .mgx-controls label[for="mgx-d5"],
#mgx-phome:checked ~ .mgx-controls label[for="mgx-d6"]{opacity:.5}

/* real distribution of day choices, highlighting the current pick */
.mgx-dist{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;align-items:end;height:78px;margin:14px 0 8px}
.mgx-dist__col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;height:100%}
.mgx-dist__bar{
	width:100%;max-width:52px;height:var(--h);min-height:7px;border-radius:7px 7px 3px 3px;
	background:var(--mg-track);transition:background .25s,box-shadow .25s;
}
.mgx-dist__col i{font-style:normal;font-size:.68rem;color:var(--mg-muted-2);white-space:nowrap}
#mgx-d2:checked ~ .mgx-controls .mgx-dist__col--2 .mgx-dist__bar,
#mgx-d3:checked ~ .mgx-controls .mgx-dist__col--3 .mgx-dist__bar,
#mgx-d4:checked ~ .mgx-controls .mgx-dist__col--4 .mgx-dist__bar,
#mgx-d5:checked ~ .mgx-controls .mgx-dist__col--5 .mgx-dist__bar,
#mgx-d6:checked ~ .mgx-controls .mgx-dist__col--6 .mgx-dist__bar{
	background:linear-gradient(180deg,var(--mg-accent-2),var(--mg-accent));
	box-shadow:0 0 14px -2px var(--mg-accent-glow);
}
.mgx-dist__cap{font-size:.78rem;color:var(--mg-muted-2);line-height:1.75;margin:10px 0 0}

/* ------------------------------------------------------------- the panels */
.mgx-panel{display:none}
#mgx-d2:checked ~ #mgx-pgym:checked  ~ .mgx-stage .mgx-panel--2-gym,
#mgx-d3:checked ~ #mgx-pgym:checked  ~ .mgx-stage .mgx-panel--3-gym,
#mgx-d4:checked ~ #mgx-pgym:checked  ~ .mgx-stage .mgx-panel--4-gym,
#mgx-d5:checked ~ #mgx-pgym:checked  ~ .mgx-stage .mgx-panel--5-gym,
#mgx-d6:checked ~ #mgx-pgym:checked  ~ .mgx-stage .mgx-panel--6-gym,
#mgx-d2:checked ~ #mgx-phome:checked ~ .mgx-stage .mgx-panel--2-home,
#mgx-d3:checked ~ #mgx-phome:checked ~ .mgx-stage .mgx-panel--3-home,
#mgx-d4:checked ~ #mgx-phome:checked ~ .mgx-stage .mgx-panel--4-home,
#mgx-d5:checked ~ #mgx-phome:checked ~ .mgx-stage .mgx-panel--5-home,
#mgx-d6:checked ~ #mgx-phome:checked ~ .mgx-stage .mgx-panel--6-home{
	display:block;animation:mgwPanel .42s cubic-bezier(.2,.75,.3,1) both;
}
@keyframes mgwPanel{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.mgx-panel__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px;margin-bottom:16px}
.mgx-panel__title{font-size:clamp(1.25rem,2.6vw,1.6rem);font-weight:900;color:var(--mg-text);margin:0;line-height:1.5}

.mgx-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}
.mgx-week__d{
	display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 2px;
	border-radius:13px;background:var(--mg-input);border:1px solid var(--mg-border-soft);
}
.mgx-week__d b{font-size:1rem;font-weight:900;color:var(--mg-muted-2)}
.mgx-week__d i{font-style:normal;font-size:.64rem;color:var(--mg-muted-2);opacity:.8}
.mgx-week__d.is-on{
	background:linear-gradient(160deg,var(--mg-accent),var(--mg-accent-2));border-color:transparent;
	box-shadow:0 10px 22px -12px var(--mg-accent-glow);
}
.mgx-week__d.is-on b,.mgx-week__d.is-on i{color:var(--mgw-ink);opacity:1}

.mgx-meta{
	display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0 0 20px;
	background:var(--mg-border-soft);border:1px solid var(--mg-border);border-radius:16px;overflow:hidden;
}
.mgx-meta>div{background:var(--mg-surface);padding:13px 14px;min-width:0}
.mgx-meta dt{font-size:.74rem;color:var(--mg-muted-2);margin:0 0 3px;line-height:1.5}
.mgx-meta dd{margin:0;font-weight:800;font-size:.95rem;color:var(--mg-text);line-height:1.5}

.mgx-panel__intro{color:var(--mg-muted);margin:0 0 14px;max-width:78ch}
.mgx-cite{
	display:flex;gap:9px;align-items:flex-start;margin:0 0 22px;padding:12px 15px;
	border-radius:13px;background:var(--mg-surface-2);border:1px solid var(--mg-border-soft);
	font-size:.87rem;line-height:1.85;color:var(--mg-muted);
}
.mgx-cite svg{width:1.05em;height:1.05em;flex:0 0 auto;margin-top:.45em;color:var(--mg-accent-text)}
.mgx-cite a{color:var(--mg-text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--mg-accent-border)}

/* day cards */
.mgx-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px;margin-bottom:24px}
.mgx-day{
	position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--mg-border);
	background:linear-gradient(180deg,var(--mg-surface) 0%,var(--mg-surface-2) 100%);
	box-shadow:var(--mg-shadow-sm);padding:18px 16px 16px;
	transition:border-color .2s,box-shadow .2s,transform .2s;
}
.mgx-day:hover{border-color:var(--mg-accent-border);box-shadow:var(--mg-shadow);transform:translateY(-2px)}
.mgx-day::before{
	content:"";position:absolute;inset-inline:0;top:0;height:2px;
	background:linear-gradient(90deg,transparent,var(--mg-accent),transparent);opacity:.55;
}
.mgx-day__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:10px}
.mgx-day__title{font-size:1.08rem;font-weight:900;color:var(--mg-text);margin:0;line-height:1.4}
.mgx-day__focus{font-size:.76rem;color:var(--mg-muted-2);width:100%;line-height:1.6}
.mgx-day__warm{
	font-size:.8rem;color:var(--mg-muted);margin:0 0 14px;padding:9px 12px;border-radius:11px;
	background:var(--mg-warn-soft);border:1px solid transparent;line-height:1.85;
}
.mgx-day__warm svg{width:1em;height:1em;vertical-align:-.12em;margin-inline-end:6px;color:var(--mg-warn)}
.mgx-day__warm b{color:var(--mg-warn-text);font-weight:800}

.mgx-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.mgx-row{
	display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start;
	padding:10px;border-radius:14px;background:var(--mg-input);border:1px solid var(--mg-border-soft);
	transition:border-color .18s,background .18s;
}
.mgx-row:hover{border-color:var(--mg-accent-border);background:var(--mg-surface-2)}
.mgx-row__media{
	position:relative;display:block;width:56px;height:56px;border-radius:11px;overflow:hidden;
	background:var(--mg-chip);flex:0 0 auto;
}
.mgx-row__thumb{width:100%;height:100%;object-fit:cover;display:block}
.mgx-row__ph{display:grid;place-items:center;width:100%;height:100%;color:var(--mg-muted-2)}
.mgx-row__ph svg{width:22px;height:22px}
.mgx-row__n{
	position:absolute;inset-block-end:0;inset-inline-start:0;min-width:19px;height:19px;
	display:grid;place-items:center;font-size:.68rem;font-weight:900;
	background:var(--mg-accent);color:var(--mgw-ink);border-start-end-radius:7px;
}
.mgx-row__body{min-width:0}
.mgx-row__name{
	display:block;font-weight:800;font-size:.95rem;color:var(--mg-text);text-decoration:none;line-height:1.55;
	transition:color .16s;
}
.mgx-row__name:hover{color:var(--mg-accent-text)}
.mgx-row__en{display:block;font-size:.7rem;font-weight:600;color:var(--mg-muted-2);letter-spacing:0;line-height:1.5}
.mgx-row__stats{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:.78rem;color:var(--mg-muted-2)}
.mgx-row__stats b{color:var(--mg-accent-text);font-weight:900;font-size:.86rem}
.mgx-row__cue{margin:8px 0 0;font-size:.78rem;color:var(--mg-muted);line-height:1.85}
.mgx-row__cue svg{width:.95em;height:.95em;vertical-align:-.1em;margin-inline-end:5px;color:var(--mg-accent-text)}

/* weekly volume chart */
.mgx-vol{
	border-radius:20px;border:1px solid var(--mg-border);padding:20px;margin-bottom:18px;
	background:radial-gradient(90% 130% at 100% 0%,var(--mg-accent-soft) 0%,transparent 56%),var(--mg-surface);
}
.mgx-vol__title{font-size:1.05rem;font-weight:900;color:var(--mg-text);margin:0 0 6px}
.mgx-vol__sub{font-size:.83rem;color:var(--mg-muted-2);margin:0 0 16px;line-height:1.85;max-width:70ch}
.mgx-vol__rows{display:flex;flex-direction:column;gap:9px}
.mgx-vol__row{display:grid;grid-template-columns:104px minmax(0,1fr) 34px;gap:11px;align-items:center}
.mgx-vol__name{font-size:.82rem;color:var(--mg-muted);font-weight:700}
.mgx-vol__track{height:11px;border-radius:999px;background:var(--mg-track);overflow:hidden}
.mgx-vol__fill{
	display:block;height:100%;width:var(--w);border-radius:999px;
	background:linear-gradient(90deg,var(--mgx-c,var(--mg-accent)),color-mix(in srgb,var(--mgx-c,var(--mg-accent)) 55%,#fff));
	transform-origin:right center;animation:mgwGrow .75s cubic-bezier(.2,.8,.3,1) both;
}
@keyframes mgwGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.mgx-vol__num{font-size:.9rem;font-weight:900;color:var(--mg-text);text-align:start}
.mgx-vol__row[data-m="chest"]{--mgx-c:#ff7b6b}
.mgx-vol__row[data-m="back"]{--mgx-c:#5aa9ff}
.mgx-vol__row[data-m="shoulders"]{--mgx-c:#c08bff}
.mgx-vol__row[data-m="arms"]{--mgx-c:#ffb020}
.mgx-vol__row[data-m="legs"]{--mgx-c:#36d399}
.mgx-vol__row[data-m="core"]{--mgx-c:#ff9ec7}

.mgx-note{
	display:flex;gap:9px;align-items:flex-start;margin:0 0 20px;padding:13px 16px;border-radius:14px;
	background:var(--mg-surface-2);border:1px dashed var(--mg-border);color:var(--mg-muted);
	font-size:.87rem;line-height:1.9;
}
.mgx-note svg{width:1.05em;height:1.05em;flex:0 0 auto;margin-top:.45em;color:var(--mg-accent-text)}

.mgx-panel__cta{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
	padding:20px 22px;border-radius:20px;
	background:linear-gradient(120deg,var(--mg-accent-soft),transparent 70%),var(--mg-surface);
	border:1px solid var(--mg-accent-border);
}
.mgx-panel__cta span{font-weight:800;color:var(--mg-text);font-size:.98rem;line-height:1.7}
.mgx-panel__alt{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.mgx-panel--limit .mgx-panel__intro{font-size:1.02rem;color:var(--mg-text);max-width:70ch}
.mgx-panel__verdict{font-weight:800;color:var(--mg-warn-text);margin:0 0 8px;line-height:1.7}
.mgx-panel__verdict svg{width:1.05em;height:1.05em;vertical-align:-.14em;margin-inline-end:7px;color:var(--mg-warn)}

.mgx__stamp{
	display:flex;gap:9px;align-items:flex-start;margin:22px 0 0;font-size:.8rem;
	color:var(--mg-muted-2);line-height:1.9;
}
.mgx__stamp svg{width:1em;height:1em;flex:0 0 auto;margin-top:.55em}

/* ------------------------------------------------------------------ light */
body[data-lqd-page-color-scheme="light"] .mrgym-wrap{--mgw-ink:#231a00}
body[data-lqd-page-color-scheme="light"] .mgw-hero{
	background:linear-gradient(168deg,#ffffff 0%,#fffaf0 46%,#f4f6fb 100%);
	border-color:#e6d9b4;box-shadow:0 26px 60px -30px rgba(60,48,10,.35);
}
body[data-lqd-page-color-scheme="light"] .mgw-hero__bg{
	background:
		radial-gradient(58% 78% at 88% -6%,rgba(224,168,0,.22) 0%,transparent 62%),
		radial-gradient(46% 62% at 4% 8%,rgba(74,104,220,.09) 0%,transparent 60%),
		radial-gradient(70% 90% at 50% 118%,rgba(224,168,0,.16) 0%,transparent 58%);
}
body[data-lqd-page-color-scheme="light"] .mgw-hero__bg::after{opacity:.035;mix-blend-mode:multiply}
body[data-lqd-page-color-scheme="light"] .mgw-ring__seg:not(.is-on){stroke:#e3e7ef}
body[data-lqd-page-color-scheme="light"] .mgx-week__d b,
body[data-lqd-page-color-scheme="light"] .mgx-dist__col i{color:#6b7385}
body[data-lqd-page-color-scheme="light"] .mgx-vol__row[data-m="chest"]{--mgx-c:#e0523f}
body[data-lqd-page-color-scheme="light"] .mgx-vol__row[data-m="back"]{--mgx-c:#2b7fd4}
body[data-lqd-page-color-scheme="light"] .mgx-vol__row[data-m="shoulders"]{--mgx-c:#8a4fd8}
body[data-lqd-page-color-scheme="light"] .mgx-vol__row[data-m="arms"]{--mgx-c:#c07800}
body[data-lqd-page-color-scheme="light"] .mgx-vol__row[data-m="legs"]{--mgx-c:#0f9d68}
body[data-lqd-page-color-scheme="light"] .mgx-vol__row[data-m="core"]{--mgx-c:#d4568f}

/* ------------------------------------------------------------- responsive */
@media (max-width:900px){
	.mgw-hero__inner{grid-template-columns:1fr;gap:30px}
	.mgw-hero__art{order:-1}
	.mgw-hero__answer{max-width:none}
	.mgx-controls{grid-template-columns:1fr}
	.mgx-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
	.mgx-meta>div:last-child{grid-column:span 2}
}
@media (max-width:620px){
	.mgw-hero{padding:26px 18px;border-radius:22px}
	.mgw-proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
	.mgw-hero__cta{gap:10px}
	.mrgym-wrap .mgw-btn{width:100%;padding:14px 18px;font-size:.95rem}
	.mgx-seg__opt{flex-direction:column;gap:1px;padding:9px 2px}
	.mgx-seg__opt i{font-size:.66rem}
	.mgx-week{grid-template-columns:repeat(7,1fr);gap:4px}
	.mgx-week__d{padding:8px 1px;border-radius:10px}
	.mgx-week__d i{display:none}
	.mgx-days{grid-template-columns:1fr}
	.mgx-vol__row{grid-template-columns:88px minmax(0,1fr) 30px;gap:8px}
	.mgx-vol__name{font-size:.76rem}
	.mgx-panel__cta{flex-direction:column;align-items:stretch;text-align:center}
	.mgw-ring{width:min(220px,68vw)}
	.mgw-ring__core b{font-size:2.4rem}
}
@media (prefers-reduced-motion:reduce){
	.mrgym-wrap .mgw-btn,.mgx-day,.mgx-seg__thumb,.mgx-row{transition:none}
	.mgw-ring__seg,.mgx-vol__fill,.mgx-panel,.mgw-ring::before{animation:none}
	.mgw-ring__seg{stroke-dashoffset:0}
	.mgx-vol__fill{transform:none}
}

/* print: a program someone can actually take to the gym on paper */
@media print{
	.mgw-hero,.mgx-controls,.mgx-panel__cta,.mgx-vol,.mrgym-formhero,.mrgym-formbelow,.mrgym-app{display:none !important}
	.mgx-panel{display:block !important;break-inside:avoid}
	.mgx-day{break-inside:avoid;box-shadow:none}
}

/* ------------------------------------------------- the results timeline */
.mgt{list-style:none;margin:22px 0;padding:0;position:relative}
.mgt::before{
	content:"";position:absolute;top:14px;bottom:26px;inset-inline-start:11px;width:2px;border-radius:2px;
	background:linear-gradient(180deg,var(--mg-accent) 0%,var(--mg-accent-border) 70%,transparent 100%);
	opacity:.85;
}
.mgt__item{position:relative;padding-inline-start:38px;padding-bottom:22px}
.mgt__item::before{
	content:"";position:absolute;inset-inline-start:4px;top:9px;width:17px;height:17px;border-radius:50%;
	background:var(--mg-surface);border:3px solid var(--mg-accent);box-shadow:0 0 0 4px var(--mg-accent-soft);
}
.mgt__item:last-child{padding-bottom:0}
.mgt__t{font-size:1.02rem;font-weight:900;color:var(--mg-text);margin:0 0 6px;line-height:1.55}
.mgt__d{margin:0;color:var(--mg-muted);font-size:.9rem;line-height:1.95;max-width:72ch}
@media (max-width:620px){
	.mgt__item{padding-inline-start:32px}
	.mgt::before{inset-inline-start:8px}
	.mgt__item::before{inset-inline-start:1px;width:15px;height:15px}
}

/* ------------------------------------------------ builder, at the very top */
/* Nothing but the H1 stands above the builder now, so the heading is a plain
   title and the form panel under it is the first block on the page. */
.mrgym-wrap .mrgym-formhero{
	position:relative;
	margin:6px calc(var(--mgw-bleed) * -1) 14px;
	padding:clamp(10px,2vw,20px) clamp(6px,2vw,18px) 0;
	border:0;background:none;box-shadow:none;border-radius:0;
}
.mrgym-wrap .mrgym-formhero::before,
.mrgym-wrap .mrgym-formhero::after{content:none}
.mrgym-wrap .mrgym-formhero__title{
	font-size:clamp(1.7rem,4.2vw,2.85rem);font-weight:900;line-height:1.34;letter-spacing:0;
	margin:0;text-wrap:balance;
}
/* the single line of instruction the form needs, inside the form panel */
.mrgym-app__legend{
	color:var(--mg-muted-2);font-size:.85rem;line-height:1.9;text-align:center;margin:0 0 18px;
}
/* the explanation and the proof numbers, now under the form */
.mrgym-formbelow{
	margin:0 calc(var(--mgw-bleed) * -1);
	padding:0 clamp(6px,2vw,20px);text-align:center;
}
.mrgym-formbelow__lead{
	font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.95;color:var(--mg-muted);
	max-width:66ch;margin:22px auto 0;
}
.mrgym-formbelow__lead strong{color:var(--mg-accent-text)}
.mgw-proof--form{
	max-width:820px;margin-inline:auto;justify-items:center;text-align:center;
	margin-top:24px;padding-top:22px;
}
.mgw-proof--form li{align-items:center}
.mrgym-wrap .mrgym-app{
	margin-inline:calc(var(--mgw-bleed) * -1);border-radius:28px;
	padding:clamp(22px,3vw,34px) clamp(18px,3vw,34px);
}
/* the ready-made block starts a new chapter, so give it room */
.mgw-hero{margin-top:46px}
.mrgym-wrap .mgw-btn--sm{padding:11px 20px;font-size:.9rem;margin-top:12px}
/* 640px, not 620, so this lands on top of the mobile block in mrgym-app.css */
/* On a phone the title has to end before the first question does, so the
   instruction line drops (the red asterisks already say the same thing) and the
   proof row under the form collapses into one scrollable strip. */
@media (max-width:640px){
	.mrgym-wrap .mrgym-formhero{padding:10px 4px 0;margin-bottom:10px}
	.mrgym-wrap .mrgym-app{border-radius:22px}
	.mrgym-wrap .mrgym-formhero__title{font-size:1.62rem}
	.mrgym-formbelow__lead{font-size:.93rem;line-height:1.85;margin-top:16px}
	.mgw-proof--form{
		display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin-top:16px;padding-top:16px;
		scrollbar-width:none;justify-content:flex-start;
	}
	.mgw-proof--form::-webkit-scrollbar{display:none}
	.mgw-proof--form li{
		flex:none;flex-direction:row;align-items:center;gap:6px;white-space:nowrap;
		background:var(--mg-surface-2);border:1px solid var(--mg-border-soft);
		border-radius:999px;padding:8px 14px;
	}
	.mgw-proof--form b{font-size:.9rem}
	.mgw-proof--form span{font-size:.72rem}
	.mrgym-app__legend{display:none}
	.mrgym-wrap .mgw-btn--sm{width:auto;display:inline-flex;margin-top:16px}
}

/* ---------------------------------------------- light mode, a bit less pale */
/* On white the accent gradient loses most of its contrast, so the proof
   numbers and the panel edges get their own darker ramp instead. */
body[data-lqd-page-color-scheme="light"] .mgw-proof b{
	background:linear-gradient(120deg,#b07d00,#e0a800);
	-webkit-background-clip:text;background-clip:text;color:transparent;
}
body[data-lqd-page-color-scheme="light"] .mgw-hero{
	box-shadow:0 30px 64px -34px rgba(60,48,10,.42),inset 0 1px 0 #fff;
}
/* the hairline belongs to the hero panel only */
body[data-lqd-page-color-scheme="light"] .mgw-hero::after{
	content:"";position:absolute;inset-inline:14%;top:0;height:2px;border-radius:0 0 3px 3px;
	background:linear-gradient(90deg,transparent,var(--mg-accent),transparent);opacity:.8;
	z-index:0;pointer-events:none;
}
body[data-lqd-page-color-scheme="light"] .mgx-controls,
body[data-lqd-page-color-scheme="light"] .mgx-day,
body[data-lqd-page-color-scheme="light"] .mgx-vol{box-shadow:0 14px 34px -22px rgba(40,55,90,.4)}
body[data-lqd-page-color-scheme="light"] .mgx-week__d b{color:#57607a}
