: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);-webkit-text-size-adjust:100%;touch-action:manipulation}body{margin:0;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 10px 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 12% 4%,#287dff40,transparent 27%),radial-gradient(circle at 90% 18%,#e348ff26,transparent 24%),radial-gradient(circle at 50% 100%,#52ffad12,transparent 30%),var(--bg);background-size:34px 34px,34px 34px,auto,auto,auto,auto;overflow-x:hidden}button,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-header,main{width:min(100%,720px);margin-inline:auto}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.eyebrow,.section-label{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,8vw,3.5rem);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:560px;margin:8px 0;color:var(--muted);line-height:1.4}.clear-button{min-height:44px;padding:0 13px;border:1px solid #ff557799;border-radius:10px;color:#ff91a7;background:#ff557712;font-weight:900}.instructions{padding:11px 13px;margin-bottom:12px;border:1px solid #23e2ff44;border-radius:11px;color:#c8d6df;background:#23e2ff0a;font-size:.82rem;line-height:1.5}.instructions strong{color:var(--cyan)}.body-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px;padding:3px;border:1px solid var(--line);border-radius:11px;background:#07121c}.body-view-switch button{min-height:44px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-weight:900;text-transform:uppercase}.body-view-switch button:first-child.active{color:#041016;background:linear-gradient(90deg,var(--blue),var(--cyan))}.body-view-switch button:last-child.active{color:#100717;background:linear-gradient(90deg,var(--violet),var(--magenta))}.body-map{width:100%}.figure-panel{overflow:hidden;border:1px solid #23e2ff55;border-radius:16px;background:linear-gradient(145deg,#102738ee,#07121cf8);box-shadow:0 20px 55px #0005}.rear-panel{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{display:block;color:var(--cyan);font-size:.75rem;font-weight:900;letter-spacing:.14em}.rear-panel .figure-heading span{color:var(--magenta)}.figure-heading strong{display:block;margin-top:3px;font-size:.62rem;letter-spacing:.08em}.figure-heading small{color:var(--muted);font-size:.62rem}.graphic-stage{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;background:#050a12;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.body-image,.hit-map{position:absolute;inset:0;width:100%;height:100%;display:block}.body-image{z-index:1;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.hit-map{z-index:2}.muscle-region,.hit-area{pointer-events:all;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:pointer;outline:none}.hit-area{fill:rgba(0,0,0,.001);stroke:rgba(0,0,0,.001);stroke-width:34}.selection-fill{fill:var(--muscle-color);fill-opacity:0;stroke:none;transition:fill-opacity .14s}.muscle-region:hover .selection-fill,.muscle-region:focus-visible .selection-fill{fill-opacity:.14}.muscle-region.level-1 .selection-fill{fill-opacity:.20}.muscle-region.level-2 .selection-fill{fill-opacity:.34}.muscle-region.level-3 .selection-fill{fill-opacity:.49}.count-badge{opacity:0;pointer-events:none;transition:opacity .14s}.count-badge circle{fill:#050a12;fill-opacity:.95;stroke:var(--muscle-color);stroke-width:4;filter:drop-shadow(0 0 7px var(--muscle-color))}.count-badge text{fill:var(--muscle-color);font-size:30px;font-weight:900}.muscle-region.level-1 .count-badge,.muscle-region.level-2 .count-badge,.muscle-region.level-3 .count-badge{opacity:1}.missing-image{position:absolute;z-index:0;inset:20px;display:grid;place-items:center;padding:20px;border:1px dashed #ff557777;border-radius:12px;color:#ff91a7;text-align:center}.image-missing .body-image{display:none}.figure-status{min-height:40px;padding:10px 13px;border-top:1px solid var(--line);color:#c8d6df;background:#050e17b8;font-size:.72rem}.figure-status strong{color:var(--cyan)}.rear-panel .figure-status strong{color:var(--magenta)}.cardio-builder,.selection-summary{margin-top:12px;padding:14px;border:1px solid #8ba3b229;border-radius:14px;background:#07121ce8}.cardio-builder{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;border-color:#f5ff4a55;background:linear-gradient(145deg,#f5ff4a0c,#ff9d3f0a)}.cardio-builder>div:first-child{grid-column:1/-1}.cardio-builder h2,.selection-summary h2{margin:4px 0 0}.cardio-builder label,.cardio-duration>span{display:grid;gap:5px;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.1em}.cardio-builder select{width:100%;height:42px;padding:0 9px;border:1px solid #f5ff4a66;border-radius:9px;color:#fff;background:#0d2130;font-weight:900}.duration-stepper{display:grid;grid-template-columns:48px minmax(80px,1fr) 48px;height:42px;border:1px solid #ff9d3f66;border-radius:9px;overflow:hidden}.duration-stepper button{border:0;color:var(--cyan);background:#0b1d2a;font-weight:900}.duration-stepper button:disabled{opacity:.3}.duration-stepper strong{display:grid;place-items:center;border-inline:1px solid #23e2ff33;background:#07131d}.summary-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.summary-heading>strong{color:var(--green);font-size:.78rem}.muscle-count-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.muscle-chip{--chip-color:var(--cyan);display:flex;align-items:center;gap:8px;min-height:46px;padding:8px;border:1px solid color-mix(in srgb,var(--chip-color) 36%,transparent);border-radius:10px;color:#fff;background:#07131d;text-align:left}.muscle-chip:before{content:"";width:7px;height:27px;border-radius:8px;background:var(--chip-color);box-shadow:0 0 9px color-mix(in srgb,var(--chip-color) 60%,transparent)}.muscle-chip span{flex:1;font-size:.7rem;font-weight:900}.muscle-chip strong{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#041016;background:var(--chip-color)}.muscle-chip.zero{opacity:.48}.selection-summary>.clear-button{width:100%;margin-top:12px}.toast{position:fixed;z-index:20;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:540px){.app-header h1{font-size:1.95rem}.figure-heading{display:block}.figure-heading small{display:block;margin-top:4px}.cardio-builder{grid-template-columns:1fr}.cardio-builder>div:first-child{grid-column:auto}.muscle-count-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Phase 2 Exercise Builder */
.exercise-builder-section{margin-top:12px;padding:14px;border:1px solid #8b5cff55;border-radius:14px;background:linear-gradient(145deg,#8b5cff0d,#e348ff08)}.builder-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.builder-heading h2{margin:4px 0}.builder-heading p:not(.section-label){margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}.builder-heading>strong{color:var(--magenta);font-size:.78rem}.exercise-builder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.exercise-builder-card{--slot-color:var(--cyan);padding:12px;border:1px solid color-mix(in srgb,var(--slot-color) 38%,transparent);border-radius:12px;background:#07121ce8;box-shadow:inset 3px 0 0 var(--slot-color)}.exercise-builder-heading{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.exercise-builder-heading strong{color:var(--slot-color);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}.exercise-builder-heading span{color:var(--muted);font-size:.67rem}.exercise-dropdown{width:100%;height:43px;padding:0 8px;border:1px solid #8b5cff66;border-radius:9px;color:#fff;background:linear-gradient(145deg,#0d2130,#32154566);font-weight:900}.profile-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.profile-control{display:grid;gap:4px}.profile-control small{color:var(--muted);font-size:.5rem;font-weight:900}.profile-stepper{display:grid;grid-template-columns:46px minmax(62px,1fr) 46px;height:42px;border:1px solid #ff9d3f66;border-radius:8px;overflow:hidden}.profile-stepper button{border:0;background:#0b1d2a;font-weight:900}.profile-stepper button:first-child{color:var(--orange)}.profile-stepper button:last-child{color:var(--green)}.profile-stepper strong{display:grid;place-items:center;padding:0 4px;border-inline:1px solid #23e2ff33;background:#07131d;white-space:nowrap}.bodyweight-value{display:grid;place-items:center;height:42px;border:1px solid #8ba3b233;border-radius:8px;color:var(--muted);background:#07131d;font-weight:900}.profile-placeholder{margin-top:9px;padding:12px;border:1px dashed #8ba3b244;border-radius:8px;color:var(--muted);font-size:.75rem;text-align:center}.duplicate-warning{margin-top:7px;padding:7px;border-left:3px solid var(--yellow);color:var(--yellow);background:#f5ff4a0b;font-size:.67rem}.empty-builder{grid-column:1/-1;padding:24px;border:1px dashed #8ba3b244;border-radius:10px;color:var(--muted);text-align:center}.empty-builder h3{margin:0 0 5px;color:var(--text)}@media(max-width:620px){.exercise-builder-grid{grid-template-columns:1fr}}@media(max-width:380px){.profile-controls{grid-template-columns:1fr}.builder-heading{display:block}}
