:root{color-scheme:dark;--bg:#050a12;--panel:#0b1925;--panel2:#102738;--cyan:#23e2ff;--blue:#287dff;--violet:#8b5cff;--magenta:#e348ff;--yellow:#f5ff4a;--green:#52ffad;--orange:#ff9d3f;--red:#ff5577;--ice:#dffaff;--text:#f1fbff;--muted:#8ba3b2;--line:#23e2ff45;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 12px calc(24px + var(--safe));font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:linear-gradient(#23e2ff0b 1px,transparent 1px),linear-gradient(90deg,#23e2ff0b 1px,transparent 1px),radial-gradient(circle at 10% 5%,#287dff40,transparent 25%),radial-gradient(circle at 90% 20%,#e348ff26,transparent 25%),radial-gradient(circle at 50% 100%,#52ffad12,transparent 30%),var(--bg);background-size:34px 34px,34px 34px,auto,auto,auto,auto}button,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-header,main{width:min(100%,1150px);margin-inline:auto}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.eyebrow,.section-eyebrow{margin:0;color:var(--yellow);font-size:.64rem;font-weight:900;letter-spacing:.15em}.app-header h1{margin:5px 0 4px;font-size:clamp(1.9rem,7vw,3.7rem);line-height:.96;text-transform:uppercase;letter-spacing:-.05em;background:linear-gradient(90deg,var(--ice),var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 24px #23e2ff24}.subtitle{max-width:700px;margin:8px 0;color:var(--muted)}.header-button{min-width:70px;height:44px;border:1px solid #ff557799;border-radius:11px;color:#ff91a7;background:#ff557712;font-weight:900}.view-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;padding:3px;border:1px solid var(--line);border-radius:12px;background:#07121c}.view-tabs button{min-height:44px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-weight:900}.view-tabs button:first-child.active{color:#041016;background:linear-gradient(90deg,var(--blue),var(--cyan))}.view-tabs button:last-child.active{color:#100717;background:linear-gradient(90deg,var(--violet),var(--magenta))}.view-tabs span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:5px;padding:0 6px;border-radius:99px;color:inherit;background:#ffffff24;font-size:.72rem}.app-view[hidden]{display:none!important}.instruction-card{padding:11px 13px;margin-bottom:12px;border:1px solid #23e2ff44;border-radius:11px;color:#c8d6df;background:#23e2ff0a;font-size:.82rem;line-height:1.5}.instruction-card strong{color:var(--cyan)}.body-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.figure-card{overflow:hidden;border:1px solid #23e2ff55;border-radius:16px;background:linear-gradient(145deg,#102738ee,#07121cf8);box-shadow:0 20px 55px #0005}.figure-card:nth-child(2){border-color:#e348ff55}.figure-heading{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.figure-heading span{color:var(--cyan);font-size:.75rem;font-weight:900;letter-spacing:.14em}.figure-card:nth-child(2) .figure-heading span{color:var(--magenta)}.figure-heading small{color:var(--muted);font-size:.62rem}.body-map{display:block;width:100%;max-height:610px;padding:10px}.base-body>*{fill:url(#frontBodyGradient);stroke:#23e2ff66;stroke-width:1.5}.figure-card:nth-child(2) .base-body>*{fill:url(#rearBodyGradient);stroke:#8b5cff66}.muscle-zone{--zone-color:#23e2ff;cursor:pointer;outline:none;touch-action:manipulation}.muscle-zone .muscle-shape{fill:var(--zone-color);fill-opacity:.16;stroke:var(--zone-color);stroke-opacity:.48;stroke-width:1.5;transition:fill-opacity .16s,stroke-opacity .16s,filter .16s}.muscle-zone .muscle-detail{fill:none;stroke:var(--zone-color);stroke-opacity:.35;stroke-width:1}.muscle-zone:hover .muscle-shape,.muscle-zone:focus-visible .muscle-shape{fill-opacity:.3;stroke-opacity:.9;filter:url(#frontGlow)}.figure-card:nth-child(2) .muscle-zone:hover .muscle-shape,.figure-card:nth-child(2) .muscle-zone:focus-visible .muscle-shape{filter:url(#rearGlow)}.muscle-zone.count-1 .muscle-shape{fill-opacity:.44;stroke-opacity:.95}.muscle-zone.count-2 .muscle-shape{fill-opacity:.68;stroke-opacity:1;filter:drop-shadow(0 0 5px var(--zone-color))}.muscle-zone.count-3 .muscle-shape{fill-opacity:.9;stroke-opacity:1;filter:drop-shadow(0 0 9px var(--zone-color))}.muscle-zone.holding .muscle-shape{animation:holdPulse .25s infinite alternate}@keyframes holdPulse{to{fill-opacity:1;stroke-width:3}}.cardio-builder-card,.selection-summary{margin-top:12px;padding:14px;border:1px solid #8ba3b229;border-radius:14px;background:#07121ce8}.cardio-builder-card{display:grid;grid-template-columns:1fr minmax(180px,1fr) minmax(190px,auto);gap:12px;align-items:end;border-color:#f5ff4a55;background:linear-gradient(145deg,#f5ff4a0c,#ff9d3f0a)}.cardio-builder-card h2,.selection-summary h2,.active-view-heading h2{margin:4px 0 0}.cardio-builder-card label,.duration-builder>span{display:grid;gap:5px;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.1em}.cardio-builder-card select{width:100%;height:42px;padding:0 9px;border:1px solid #f5ff4a66;border-radius:9px;color:#fff;background:#0d2130;font-weight:900}.stepper{display:grid;grid-template-columns:48px minmax(80px,1fr) 48px;height:42px;border:1px solid #ff9d3f66;border-radius:9px;overflow:hidden}.stepper button{border:0;color:var(--cyan);background:#0b1d2a;font-weight:900}.stepper strong{display:grid;place-items:center;border-inline:1px solid #23e2ff33;background:#07131d}.section-heading,.active-view-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-heading>strong{color:var(--green);font-size:.78rem}.muscle-count-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.muscle-count-chip{--chip-color:#23e2ff;position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--chip-color) 36%,transparent);border-radius:10px;color:#fff;background:#07131d;cursor:pointer;touch-action:manipulation}.muscle-count-chip:before{content:"";width:8px;height:28px;border-radius:9px;background:var(--chip-color);box-shadow:0 0 10px color-mix(in srgb,var(--chip-color) 60%,transparent)}.muscle-count-chip span{flex:1;font-size:.72rem;font-weight:900}.muscle-count-chip strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#041016;background:var(--chip-color)}.muscle-count-chip.zero{opacity:.48}.muscle-count-chip.holding{animation:holdPulseChip .25s infinite alternate}@keyframes holdPulseChip{to{transform:scale(.98);box-shadow:0 0 18px var(--chip-color)}}.active-view-heading{margin-bottom:12px}.active-view-heading button{height:42px;padding:0 12px;border:1px solid var(--cyan);border-radius:9px;color:var(--cyan);background:#23e2ff0d;font-weight:900}.active-exercise-list{display:grid;gap:10px}.empty-workout{padding:28px;border:1px dashed #8ba3b244;border-radius:14px;color:var(--muted);text-align:center}.exercise-slot{--slot-color:#23e2ff;padding:13px;border:1px solid color-mix(in srgb,var(--slot-color) 34%,transparent);border-radius:14px;background:#07121cea;box-shadow:inset 3px 0 0 var(--slot-color)}.slot-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.slot-heading strong{color:var(--slot-color);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}.slot-heading span{color:var(--muted);font-size:.68rem}.exercise-slot select{width:100%;height:44px;padding:0 9px;border:1px solid #8b5cff66;border-radius:9px;color:#fff;background:linear-gradient(145deg,#0d2130,#32154566);font-weight:900}.slot-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin-top:10px}.control-block{display:grid;gap:4px}.control-block small{color:var(--muted);font-size:.5rem;font-weight:900;letter-spacing:.08em}.value-stepper{display:grid;grid-template-columns:48px minmax(68px,1fr) 48px;height:44px;border:1px solid #ff9d3f66;border-radius:9px;overflow:hidden}.value-stepper button{border:0;background:#0b1d2a;font-weight:900}.value-stepper button:first-child{color:var(--orange)}.value-stepper button:last-child{color:var(--green)}.value-stepper strong{display:grid;place-items:center;padding:0 4px;border-inline:1px solid #23e2ff33;background:#07131d;white-space:nowrap}.bodyweight-display{display:grid;place-items:center;height:44px;border:1px solid #8ba3b233;border-radius:9px;color:var(--muted);background:#07131d;font-weight:900}.slot-sets{display:flex;gap:8px;margin-top:10px}.set-button{flex:1;min-height:46px;border:1px solid #23e2ff66;border-radius:9px;color:var(--cyan);background:#07131d;font-weight:900}.set-button.done{color:#04150d;border-color:var(--green);background:linear-gradient(90deg,var(--green),var(--yellow))}.slot-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.slot-actions button,.slot-actions a{display:grid;place-items:center;min-height:42px;border:1px solid #23e2ff77;border-radius:9px;color:var(--cyan);background:#23e2ff0d;font-weight:900;text-decoration:none}.slot-actions a{color:#fff;border-color:#e348ff99;background:#e348ff18}.slot-actions .disabled{pointer-events:none;opacity:.35}.cardio-slot{border-color:#f5ff4a66;box-shadow:inset 3px 0 0 var(--yellow)}.cardio-complete{width:100%;min-height:44px;margin-top:10px;border:1px solid #f5ff4a77;border-radius:9px;color:var(--yellow);background:#07131d;font-weight:900}.cardio-complete.done{color:#04150d;border-color:var(--green);background:var(--green)}.exercise-dialog{width:min(94vw,620px);max-height:88dvh;overflow:auto;border:1px solid #8b5cffaa;border-radius:17px;color:#fff;background:radial-gradient(circle at 90% 0,#e348ff1f,transparent 32%),#091722}.exercise-dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}.dialog-close{float:right;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--cyan);background:#07121c;font-size:1.1rem}.exercise-dialog h2{margin:5px 0 12px;text-transform:uppercase}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dialog-card{padding:11px;border:1px solid #8ba3b229;border-radius:11px;background:#07121c}.dialog-card h3{margin:0;color:var(--yellow);font-size:.68rem}.dialog-card p,.dialog-card li{color:#c8d6df;font-size:.8rem;line-height:1.4}.dialog-card ul{padding-left:18px}.dialog-video{display:grid;place-items:center;min-height:42px;border:1px solid #e348ff99;border-radius:9px;color:#fff;background:#e348ff18;text-decoration:none;font-weight:900}.toast{position:fixed;z-index:99;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);max-width:calc(100% - 24px);padding:10px 14px;border-radius:9px;color:#04150d;background:var(--green);font-weight:900;opacity:0;pointer-events:none;transition:.2s}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}@media(max-width:850px){.muscle-count-list{grid-template-columns:repeat(3,minmax(0,1fr))}.cardio-builder-card{grid-template-columns:1fr 1fr}.cardio-builder-card>div:first-child{grid-column:1/-1}}@media(max-width:650px){.body-map-grid{grid-template-columns:1fr 1fr;gap:8px}.figure-heading{display:block}.figure-heading small{display:block;margin-top:3px}.body-map{padding:4px}.muscle-count-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cardio-builder-card{grid-template-columns:1fr}.cardio-builder-card>div:first-child{grid-column:auto}.section-heading,.active-view-heading{align-items:flex-start}.slot-controls{grid-template-columns:1fr}.dialog-grid{grid-template-columns:1fr}}@media(max-width:430px){body{padding-inline:8px}.app-header h1{font-size:1.9rem}.body-map-grid{gap:6px}.figure-heading{padding:9px}.figure-heading span{font-size:.66rem}.figure-heading small{font-size:.54rem}.muscle-count-list{grid-template-columns:1fr 1fr}.muscle-count-chip{padding-inline:7px}.muscle-count-chip span{font-size:.65rem}.value-stepper{grid-template-columns:52px minmax(80px,1fr) 52px}.slot-sets{gap:6px}.set-button{font-size:.72rem}}

/* Refined anatomical scanner graphics */
.figure-card{position:relative;background:radial-gradient(circle at 50% 24%,rgba(35,226,255,.08),transparent 34%),linear-gradient(145deg,#102738f2,#07121cfa)}
.rear-figure{background:radial-gradient(circle at 50% 24%,rgba(227,72,255,.09),transparent 34%),linear-gradient(145deg,#211b36f0,#07121cfa)}
.figure-heading>div{min-width:0}.figure-heading strong{display:block;margin-top:3px;color:#fff;font-size:.58rem;letter-spacing:.12em}.body-map{max-height:680px;padding:4px 8px 0;user-select:none;-webkit-user-select:none}.hud-geometry>*{fill:none;stroke:#23e2ff;stroke-opacity:.13;stroke-width:1}.rear-hud>*{stroke:#e348ff;stroke-opacity:.13}.hud-geometry .hud-faint{stroke-dasharray:4 8;stroke-opacity:.06}.anatomy-shell .body-panel{fill:url(#frontBodyGradient);stroke:#23e2ff;stroke-opacity:.45;stroke-width:1.3}.rear-shell .body-panel{fill:url(#rearBodyGradient);stroke:#8b5cff;stroke-opacity:.48}.anatomy-shell .body-joint{fill:none;stroke:#dffaff;stroke-opacity:.18;stroke-width:1}.anatomy-shell .body-joint.faint{stroke-opacity:.08;stroke-dasharray:3 4}.head-panel{filter:drop-shadow(0 0 6px rgba(35,226,255,.13))}.rear-shell .head-panel{filter:drop-shadow(0 0 6px rgba(227,72,255,.13))}.muscle-zone{isolation:isolate}.muscle-zone .muscle-hit{fill:transparent;stroke:transparent;stroke-width:12;pointer-events:all}.muscle-zone .muscle-shape{fill:var(--zone-color);fill-opacity:.12;stroke:var(--zone-color);stroke-opacity:.6;stroke-width:1.35;vector-effect:non-scaling-stroke}.muscle-zone .muscle-detail{vector-effect:non-scaling-stroke}.muscle-zone:hover .muscle-shape,.muscle-zone:focus-visible .muscle-shape{fill-opacity:.34;stroke-opacity:1}.front-figure .muscle-zone:hover .muscle-shape,.front-figure .muscle-zone:focus-visible .muscle-shape{filter:url(#frontGlow)}.rear-figure .muscle-zone:hover .muscle-shape,.rear-figure .muscle-zone:focus-visible .muscle-shape{filter:url(#rearGlow)}.muscle-zone.count-1 .muscle-shape{fill-opacity:.38;stroke-opacity:.96}.muscle-zone.count-2 .muscle-shape{fill-opacity:.64;stroke-opacity:1;filter:drop-shadow(0 0 5px var(--zone-color))}.muscle-zone.count-3 .muscle-shape{fill-opacity:.88;stroke-opacity:1;filter:drop-shadow(0 0 9px var(--zone-color))}.count-badge{opacity:0;pointer-events:none;transition:opacity .16s}.count-badge circle{fill:#050a12;stroke:var(--zone-color);stroke-width:1.8}.count-badge text{fill:var(--zone-color);font-size:12px;font-weight:900;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.front-figure .count-badge{filter:url(#frontBadgeGlow)}.rear-figure .count-badge{filter:url(#rearBadgeGlow)}.muscle-zone.count-1 .count-badge,.muscle-zone.count-2 .count-badge,.muscle-zone.count-3 .count-badge{opacity:1}.figure-readout path{fill:none;stroke:#23e2ff;stroke-opacity:.35}.rear-figure .figure-readout path{stroke:#e348ff}.figure-readout text{fill:#8ba3b2;font-size:7px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:1.4px}.figure-status{display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border-top:1px solid var(--line);color:#c8d6df;background:#050e17a8;font-size:.7rem}.figure-status span{padding:4px 7px;border:1px solid #23e2ff55;border-radius:99px;color:var(--cyan);font-size:.56rem;font-weight:900;letter-spacing:.12em}.rear-figure .figure-status span{border-color:#e348ff55;color:var(--magenta)}.figure-status.changed{animation:statusFlash .38s ease}@keyframes statusFlash{50%{background:rgba(35,226,255,.13)}}.rear-figure .figure-status.changed{animation-name:statusFlashRear}@keyframes statusFlashRear{50%{background:rgba(227,72,255,.13)}}
@media(max-width:650px){.body-map{padding-inline:0}.figure-heading strong{font-size:.5rem}.figure-status{padding-inline:8px;font-size:.62rem}.figure-status span{font-size:.5rem}}

/* Anatomical map refinement v0.2 */
.refined-map-grid{gap:14px}.refined-body-map{max-height:720px;padding:2px 4px 0}.scanner-hud>*{fill:none;stroke:#23e2ff;stroke-opacity:.14;stroke-width:1}.rear-figure .scanner-hud>*{stroke:#e348ff}.scanner-hud .scanner-minor{stroke-opacity:.055;stroke-dasharray:4 9}.body-silhouette .shell-panel{fill:url(#frontBodyGradientV3);stroke:#23e2ff;stroke-opacity:.47;stroke-width:1.35}.rear-shell .shell-panel{fill:url(#rearBodyGradientV3);stroke:#8b5cff;stroke-opacity:.5}.body-silhouette .shell-line{fill:none;stroke:#dffaff;stroke-opacity:.18;stroke-width:1}.body-silhouette .shell-line.faint{stroke-opacity:.075;stroke-dasharray:3 5}.muscle-zone .muscle-hit{fill:transparent;stroke:transparent;stroke-width:16;pointer-events:all}.muscle-zone .muscle-shape{fill:var(--zone-color);fill-opacity:.15;stroke:var(--zone-color);stroke-opacity:.68;stroke-width:1.4;vector-effect:non-scaling-stroke}.muscle-zone .muscle-detail{fill:none;stroke:var(--zone-color);stroke-opacity:.42;stroke-width:1;vector-effect:non-scaling-stroke}.muscle-zone .callout-line{fill:none;stroke:var(--zone-color);stroke-opacity:.48;stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.muscle-zone .callout-text{fill:var(--zone-color);fill-opacity:.72;font-size:7px;font-weight:900;letter-spacing:.7px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.front-figure .muscle-zone:hover .muscle-shape,.front-figure .muscle-zone:focus-visible .muscle-shape{filter:url(#frontGlowV3)}.rear-figure .muscle-zone:hover .muscle-shape,.rear-figure .muscle-zone:focus-visible .muscle-shape{filter:url(#rearGlowV3)}.muscle-zone.count-1 .muscle-shape{fill-opacity:.42}.muscle-zone.count-2 .muscle-shape{fill-opacity:.66}.muscle-zone.count-3 .muscle-shape{fill-opacity:.9}.muscle-zone.count-1 .callout-text,.muscle-zone.count-2 .callout-text,.muscle-zone.count-3 .callout-text{fill-opacity:1}.count-badge circle{fill:#050a12;stroke:var(--zone-color);stroke-width:1.7}.count-badge text{fill:var(--zone-color);font-size:12px;font-weight:900;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.scanner-footer path{fill:none;stroke:#23e2ff;stroke-opacity:.35}.rear-figure .scanner-footer path{stroke:#e348ff}.scanner-footer text{fill:#8ba3b2;font-size:7px;letter-spacing:1.35px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.figure-status{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border-top:1px solid var(--line);color:#c8d6df;background:#050e17b8;font-size:.7rem}.figure-status span{padding:4px 7px;border:1px solid #23e2ff55;border-radius:99px;color:var(--cyan);font-size:.56rem;font-weight:900;letter-spacing:.12em}.rear-figure .figure-status span{border-color:#e348ff55;color:var(--magenta)}.figure-status.changed{animation:figureStatusFlash .42s ease}@keyframes figureStatusFlash{50%{background:rgba(35,226,255,.15)}}.rear-figure .figure-status.changed{animation-name:figureStatusFlashRear}@keyframes figureStatusFlashRear{50%{background:rgba(227,72,255,.15)}}
@media(max-width:650px){.refined-map-grid{gap:7px}.refined-body-map{padding-inline:0}.muscle-zone .callout-text{font-size:6.5px}.figure-status{padding-inline:7px;font-size:.6rem}.figure-status span{font-size:.48rem}}

/* Version 1.0.0 — graphical body art with invisible SVG interaction overlay */
.graphic-map-grid{gap:14px}.graphical-figure{position:relative}.graphic-body-stage{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;background:#050a12;isolation:isolate}.body-graphic{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}.muscle-hit-map{position:absolute;z-index:2;inset:0;width:100%;height:100%;display:block;overflow:visible}.muscle-hit-map .muscle-zone{cursor:pointer;outline:none;touch-action:manipulation}.muscle-hit-map .muscle-hit{fill:transparent;stroke:transparent;stroke-width:34;pointer-events:all}.muscle-hit-map .muscle-shape{fill:var(--zone-color);fill-opacity:0;stroke:var(--zone-color);stroke-opacity:0;stroke-width:4;vector-effect:non-scaling-stroke;transition:fill-opacity .16s,stroke-opacity .16s,filter .16s}.muscle-hit-map .muscle-detail{fill:none;stroke:var(--zone-color);stroke-opacity:0;stroke-width:3;vector-effect:non-scaling-stroke;transition:stroke-opacity .16s}.muscle-hit-map .muscle-zone:hover .muscle-shape,.muscle-hit-map .muscle-zone:focus-visible .muscle-shape{fill-opacity:.18;stroke-opacity:.7;filter:drop-shadow(0 0 9px var(--zone-color))}.muscle-hit-map .muscle-zone:hover .muscle-detail,.muscle-hit-map .muscle-zone:focus-visible .muscle-detail{stroke-opacity:.55}.muscle-hit-map .muscle-zone.count-1 .muscle-shape{fill-opacity:.23;stroke-opacity:.85}.muscle-hit-map .muscle-zone.count-1 .muscle-detail{stroke-opacity:.45}.muscle-hit-map .muscle-zone.count-2 .muscle-shape{fill-opacity:.38;stroke-opacity:1;filter:drop-shadow(0 0 8px var(--zone-color))}.muscle-hit-map .muscle-zone.count-2 .muscle-detail{stroke-opacity:.7}.muscle-hit-map .muscle-zone.count-3 .muscle-shape{fill-opacity:.56;stroke-opacity:1;filter:drop-shadow(0 0 13px var(--zone-color))}.muscle-hit-map .muscle-zone.count-3 .muscle-detail{stroke-opacity:.9}.muscle-hit-map .muscle-zone.holding .muscle-shape{animation:graphicHoldPulse .25s infinite alternate}@keyframes graphicHoldPulse{to{fill-opacity:.72;stroke-width:7}}.muscle-hit-map .count-badge{opacity:0;pointer-events:none;transition:opacity .16s}.muscle-hit-map .count-badge circle{fill:#050a12;fill-opacity:.94;stroke:var(--zone-color);stroke-width:4;filter:drop-shadow(0 0 7px var(--zone-color))}.muscle-hit-map .count-badge text{fill:var(--zone-color);font-size:30px;font-weight:900;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.muscle-hit-map .muscle-zone.count-1 .count-badge,.muscle-hit-map .muscle-zone.count-2 .count-badge,.muscle-hit-map .muscle-zone.count-3 .count-badge{opacity:1}.missing-graphic-message{position:absolute;z-index:0;inset:20px;display:grid;place-items:center;padding:20px;border:1px dashed #ff557777;border-radius:12px;color:#ff91a7;background:#ff55770c;text-align:center;font-size:.78rem}.missing-graphic-message code{color:var(--yellow)}.graphic-body-stage.graphic-missing .missing-graphic-message{display:grid!important}.graphic-body-stage.graphic-missing .body-graphic{display:none}.graphic-body-stage.graphic-loaded .missing-graphic-message{display:none!important}
@media(max-width:650px){.graphic-map-grid{gap:7px}.muscle-hit-map .count-badge circle{stroke-width:5}.muscle-hit-map .count-badge text{font-size:34px}}

/* Version 1.1.0 — calibrated overlays for the approved graphical bodies */
.graphic-body-stage{
  --overlay-scale-x:.79;
  --overlay-scale-y:.95;
  --overlay-shift-x:0%;
  --overlay-shift-y:1.2%;
}
.front-figure .graphic-body-stage{
  --overlay-scale-x:.78;
  --overlay-scale-y:.95;
  --overlay-shift-x:0%;
  --overlay-shift-y:1.15%;
}
.rear-figure .graphic-body-stage{
  --overlay-scale-x:.79;
  --overlay-scale-y:.95;
  --overlay-shift-x:0%;
  --overlay-shift-y:1.15%;
}
.graphic-body-stage .muscle-hit-map{
  transform:
    translate(var(--overlay-shift-x),var(--overlay-shift-y))
    scale(var(--overlay-scale-x),var(--overlay-scale-y));
  transform-origin:50% 50%;
  overflow:visible;
}

/* Tighter arm regions for the arms-down pose. */
.front-figure .muscle-zone[data-muscle="biceps"] .muscle-hit,
.rear-figure .muscle-zone[data-muscle="triceps"] .muscle-hit{
  stroke-width:22;
}

/* Slightly expand torso hit targets without expanding visible highlights. */
.front-figure .muscle-zone[data-muscle="chest"] .muscle-hit,
.front-figure .muscle-zone[data-muscle="core"] .muscle-hit,
.front-figure .muscle-zone[data-muscle="obliques"] .muscle-hit,
.rear-figure .muscle-zone[data-muscle="upperBack"] .muscle-hit,
.rear-figure .muscle-zone[data-muscle="lats"] .muscle-hit,
.rear-figure .muscle-zone[data-muscle="glutes"] .muscle-hit{
  stroke-width:44;
}

/* Highlights blend into the illuminated suit panels instead of obscuring them. */
.muscle-hit-map .muscle-shape{
  mix-blend-mode:screen;
}
.muscle-hit-map .muscle-zone.count-1 .muscle-shape{fill-opacity:.18}
.muscle-hit-map .muscle-zone.count-2 .muscle-shape{fill-opacity:.31}
.muscle-hit-map .muscle-zone.count-3 .muscle-shape{fill-opacity:.46}

/* Optional alignment diagnostics: append ?overlay-debug=1 to the URL. */
body.overlay-debug .muscle-hit-map .muscle-shape{
  fill-opacity:.18!important;
  stroke-opacity:.9!important;
}
body.overlay-debug .muscle-hit-map .muscle-detail{
  stroke-opacity:.75!important;
}

@media(max-width:650px){
  .front-figure .graphic-body-stage{
    --overlay-scale-x:.77;
    --overlay-scale-y:.95;
  }
  .rear-figure .graphic-body-stage{
    --overlay-scale-x:.78;
    --overlay-scale-y:.95;
  }
}


/* Version 1.1.1 — simplified interaction overlays */
/* Internal anatomical definition lines are intentionally hidden. */
.muscle-hit-map .muscle-detail{display:none!important}
/* Overlay highlights use a single clean translucent region. */
.muscle-hit-map .muscle-shape{stroke-width:3!important}


/* Version 1.2.0 — hit regions traced from user markup */
.graphic-body-stage .muscle-hit-map{transform:none!important;transform-origin:50% 50%!important}
.muscle-hit-map .muscle-detail{display:none!important}
.muscle-hit-map .muscle-shape{mix-blend-mode:screen;stroke-width:3!important}
.muscle-hit-map .muscle-zone.count-1 .muscle-shape{fill-opacity:.2!important}
.muscle-hit-map .muscle-zone.count-2 .muscle-shape{fill-opacity:.34!important}
.muscle-hit-map .muscle-zone.count-3 .muscle-shape{fill-opacity:.49!important}
body.overlay-debug .muscle-hit-map .muscle-shape{fill-opacity:.2!important;stroke-opacity:.95!important}

/* Selection overlay refinement — fill only, without SVG outlines */
.muscle-hit-map .muscle-shape,
.muscle-hit-map .muscle-zone:hover .muscle-shape,
.muscle-hit-map .muscle-zone:focus-visible .muscle-shape,
.muscle-hit-map .muscle-zone.count-1 .muscle-shape,
.muscle-hit-map .muscle-zone.count-2 .muscle-shape,
.muscle-hit-map .muscle-zone.count-3 .muscle-shape,
body.overlay-debug .muscle-hit-map .muscle-shape {
  stroke: none !important;
  stroke-width: 0 !important;
  stroke-opacity: 0 !important;
  filter: none !important;
}

/* Keep hit regions and internal definition paths invisible. */
.muscle-hit-map .muscle-hit {
  fill: transparent !important;
  stroke: transparent !important;
}

.muscle-hit-map .muscle-detail {
  display: none !important;
}

/* Selection intensity is communicated solely through interior fill. */
.muscle-hit-map .muscle-zone:hover .muscle-shape,
.muscle-hit-map .muscle-zone:focus-visible .muscle-shape {
  fill-opacity: .14 !important;
}

.muscle-hit-map .muscle-zone.count-1 .muscle-shape {
  fill-opacity: .20 !important;
}

.muscle-hit-map .muscle-zone.count-2 .muscle-shape {
  fill-opacity: .34 !important;
}

.muscle-hit-map .muscle-zone.count-3 .muscle-shape {
  fill-opacity: .49 !important;
}

.muscle-hit-map .muscle-zone.holding .muscle-shape {
  animation: fillOnlyHoldPulse .25s infinite alternate !important;
}

@keyframes fillOnlyHoldPulse {
  to { fill-opacity: .72; }
}
