/* v64: workspace geometry and a single interactive scrolling surface. */
[hidden]{display:none!important}
html.overlay-active{overflow:hidden;overscroll-behavior-y:none}
.overlay-active .bottom-nav-wrap,.keyboard-visible:not(.overlay-active) .bottom-nav-wrap{display:none!important}
.overlay-active .bottom-nav{visibility:hidden;pointer-events:none}
.keyboard-visible:not(.overlay-active) .bottom-nav{visibility:hidden;pointer-events:none}
#modal-backdrop{top:var(--overlay-top,0px);bottom:auto;height:var(--overlay-height,100dvh);box-sizing:border-box;overscroll-behavior-y:contain}
#app-modal{max-height:calc(var(--overlay-height,100dvh) - 28px)!important;overscroll-behavior-y:contain;overflow-anchor:none;scrollbar-gutter:stable}
.xp-dialog{overscroll-behavior-y:contain;max-height:calc(var(--overlay-height,100dvh) - 24px)}
#builder-workspace{--part:#27dce9;position:fixed;z-index:90;top:var(--overlay-top,0px);left:0;right:0;height:var(--overlay-height,100dvh);display:flex;flex-direction:column;background:radial-gradient(ellipse at 10% 0,#12303d 0,transparent 42%),#061117;overflow:hidden;color:#eaf1ee;isolation:isolate}
.workspace-head{display:flex;align-items:center;gap:14px;flex:none;padding:14px max(16px,calc((100vw - 920px)/2));border-bottom:1px solid #355766;background:#081920;min-height:78px;box-sizing:border-box}
.workspace-head>button{display:grid;place-items:center;width:42px;height:42px;flex:none;background:#102934;border:1px solid #34596a;border-radius:5px;color:#b9ecf1;font:38px/1 sans-serif}
.workspace-head>div{min-width:0}.workspace-head small{display:block;color:#689ead;font:10px 'Bebas Kai';letter-spacing:.15em}.workspace-head h1{font:27px/1.1 'Bebas Kai';letter-spacing:.045em;margin:3px 0 0;color:#edf1e8}
#draft-save-state{margin-left:auto;color:#72c5bc;font:10px 'Bebas Kai';letter-spacing:.08em;white-space:nowrap}#draft-save-state[data-state=error]{color:#f5c16f}
.workspace-content{flex:1;min-height:0;overflow:auto;overscroll-behavior-y:contain;overflow-anchor:none;scrollbar-gutter:stable}
.workspace-content>.modal-body{max-width:920px;box-sizing:border-box;margin:auto;padding:24px 18px 36px;overflow:visible!important}
.workspace-actions{display:flex;gap:12px;flex:none;padding:12px max(18px,calc((100vw - 884px)/2)) max(12px,env(safe-area-inset-bottom));background:#081920;border-top:1px solid #355766;z-index:6}
.workspace-actions:empty{display:none}.workspace-actions button{flex:1;min-height:52px}.workspace-actions .chevron{width:14px;margin-left:12px}
.workspace-content .builder-day-rail{position:sticky;top:-1px;background:#0a1d27;border:1px solid #254452;box-shadow:0 8px 20px #0005;margin:16px 0;padding:8px;border-radius:5px;z-index:5}
.workspace-content .builder-day-rail>button{min-height:59px;min-width:57px}.workspace-content .builder-day-rail strong{font-size:25px}
.workspace-content .builder-stages{margin-bottom:18px}.workspace-content .builder-day-heading input{font-size:34px}
.workspace-content .builder-part-section{border:1px solid color-mix(in srgb,var(--part) 60%,#20343e);border-top:3px solid var(--part);border-radius:6px;margin-top:19px;box-shadow:inset 0 0 0 3px #0002;background:linear-gradient(115deg,color-mix(in srgb,var(--part) 7%,#08151c),#08151c 70%);overflow:hidden}
.workspace-content .builder-section-head{padding:14px 13px;gap:12px}.workspace-content .builder-section-head>div>strong{font-size:29px}.workspace-content .builder-section-number{width:34px;height:39px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:color-mix(in srgb,var(--part) 20%,#0b1c23);border:0;font-size:24px}
.workspace-content .builder-section-tools button{width:34px;height:36px;min-height:36px}.workspace-content .builder-section-head small{font-size:10px}
.workspace-content .builder-search{padding:0 12px 12px;border:0;background:transparent;position:static;box-shadow:none}
.add-exercise-launch{display:flex;align-items:center;gap:10px;width:100%;min-height:47px;padding:8px 11px;color:var(--part);border:1px solid color-mix(in srgb,var(--part) 35%,#27434d);border-radius:4px;background:linear-gradient(105deg,color-mix(in srgb,var(--part) 8%,#07131b),#091820);font:16px 'Bebas Kai';letter-spacing:.05em;text-align:left}.add-exercise-launch>span:last-child{margin-left:auto;color:#b0c8cc;font:24px sans-serif}.search-plus{font:25px/1 sans-serif;color:#d5eeee}.builder-section-empty{display:none}
.workspace-content .builder-lift{background:#07151c;border-top:1px solid #29404b}.workspace-content .builder-lift-row{display:grid;grid-template-columns:14px 37px minmax(0,1fr) 52px 49px 16px;gap:9px;padding:13px 10px;align-items:center}.builder-equipment{color:var(--part);width:36px!important;height:40px!important}.builder-equipment .exercise-frame{width:100%;height:100%}.builder-equipment .lift-glyph{width:23px;height:23px}.builder-lift-title strong{font:20px/1.05 'Bebas Kai'}.builder-maxx{display:grid;gap:5px;text-align:right}.builder-maxx small{font:9px 'Bebas Kai';color:#829ca6;letter-spacing:.07em}.builder-maxx b{font:15px 'Bebas Kai';color:var(--part)}.builder-goal{padding:0}.builder-goal input{width:100%!important;height:35px!important;font-size:18px!important}.builder-lift-settings input,.builder-lift-settings select{font-size:16px!important}.just-added{animation:lift-added .9s ease-out}@keyframes lift-added{0%{background:color-mix(in srgb,var(--part) 28%,#08151c)}100%{background:#07151c}}
.builder-review-day{border-color:var(--workout-color,#29dbea)!important;border-top-width:3px!important}.review-part h4,.review-part .review-lift>span{color:var(--part)}
.workspace-content .body-part-picker{padding:17px 14px}.workspace-content .body-part-chips button{min-height:44px}.workspace-content .builder-meta-fields input,.workspace-content .builder-meta-fields select{font-size:16px}.workspace-content button:focus-visible,#exercise-browser button:focus-visible{outline:2px solid #edf8f0;outline-offset:2px}
.searching .workspace-content,.searching .workspace-actions{display:none}.searching .workspace-head{min-height:59px;padding-top:8px;padding-bottom:8px}.searching .workspace-head h1{font-size:21px}.searching .workspace-head small{font-size:9px}.searching .workspace-head>button{width:36px;height:36px}
#exercise-browser{display:flex;flex:1;flex-direction:column;min-height:0;width:100%;max-width:920px;margin:auto;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#12324066,transparent 45%),#07151d}
.exercise-browser-head{display:flex;align-items:center;gap:12px;padding:14px 18px 9px;flex:none}.exercise-browser-head>button{border:0;background:none;color:#93bdc9;font:30px sans-serif;width:25px}.exercise-browser-head .hex-icon{width:36px!important;height:40px!important;color:var(--part)}.exercise-browser-head small{color:#738f9d;font:10px 'Bebas Kai';letter-spacing:.12em}.exercise-browser-head h2{font:26px/1 'Bebas Kai';color:var(--part);margin:4px 0 0}
.exercise-browser-input{margin:4px 18px 9px;display:flex;align-items:center;border:1px solid #40c4d4;border-radius:4px;box-shadow:0 0 15px #19c5e514;background:#0c2430;flex:none}.exercise-browser-input>span{font:30px sans-serif;color:#6ca6ba;padding-left:12px}.exercise-browser-input input{height:49px;min-width:0;flex:1;font:18px 'Bebas Kai';letter-spacing:.045em;padding:10px;background:transparent;border:0;color:#e4f3ee;outline:0}.exercise-browser-input>button{width:43px;height:43px;border:0;background:transparent;color:#c1d7da;font:24px sans-serif}
.browser-filters{padding:0 18px;flex:none}.browser-filters .search-scope{display:flex;gap:5px;padding:0;overflow:auto;margin-bottom:8px}.browser-filters .search-scope button{white-space:nowrap;font:13px 'Bebas Kai';color:#90aab7;border:1px solid #284351;background:#0b202b;padding:7px 12px;min-height:34px;border-radius:3px}.browser-filters .search-scope button[aria-pressed=true]{border-color:#31c6d6;color:#dcfaf4;background:#103b47}.equipment-filter{display:flex;align-items:center;gap:12px;color:#7f9da9;font:11px 'Bebas Kai';letter-spacing:.08em}.equipment-filter select{min-width:0;flex:1;height:33px;border:1px solid #2a4350;background:#081b24;color:#aac2ca;font:14px 'Bebas Kai';padding:3px 8px}
.browser-result-heading{display:flex;align-items:center;justify-content:space-between;padding:9px 20px 6px;flex:none;font:10px 'Bebas Kai';letter-spacing:.11em;color:#718e9c}.browser-result-heading button{font:10px 'Bebas Kai';color:#e7c774;background:none;border:0;padding:6px}
#exercise-results{flex:1;min-height:0;overflow:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:0 12px 12px;scroll-padding:4px}
#exercise-results .result-add{position:relative;display:grid;grid-template-columns:39px minmax(0,1fr) 24px;gap:13px;align-items:center;width:100%;min-height:75px;padding:12px;border:0;border-bottom:1px solid #29404b;background:linear-gradient(110deg,color-mix(in srgb,var(--part) 7%,#08151c),#08151c 65%);color:var(--part);text-align:left;border-radius:3px}
#exercise-results .hex-icon{width:38px!important;height:42px!important;color:var(--part)}#exercise-results .hex-icon .lift-glyph{width:24px;height:24px}#exercise-results strong{display:block;color:#e4ece8;font:20px/1.1 'Bebas Kai';letter-spacing:.035em}#exercise-results small{display:block;color:#7e9aa7;font:11px 'Bebas Kai';margin-top:6px;letter-spacing:.06em}#exercise-results small b{color:var(--part);font-weight:normal}#exercise-results i{font:23px sans-serif;font-style:normal;color:#addbe3}#exercise-results [aria-selected=true] .result-add{background:#154350;box-shadow:inset 3px 0 var(--part)}#exercise-results button:disabled{opacity:.42}.browser-empty{padding:35px 18px;text-align:center;color:#8eaab5}.browser-empty strong{font:27px 'Bebas Kai';color:#d3e8e9}.browser-empty p{font-size:13px}
.browser-footer{display:flex;justify-content:space-between;gap:8px;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid #2c4652;flex:none;background:#0c202b}.browser-footer button{border:1px solid #345361;background:#102c38;color:#b4dae1;font:13px 'Bebas Kai';letter-spacing:.06em;padding:9px 12px;min-height:39px}.browser-footer button:last-child{border-color:#31bbcc;color:#c7f7ef}
.browser-day-count{align-self:center;font:10px 'Bebas Kai';letter-spacing:.06em;color:#749aa8}.searching .workspace-head>button{display:none}.vault-badge img,.next-badge img{transform:scale(1.25)}
.keyboard-visible .searching .workspace-head{display:none}.keyboard-visible .exercise-browser-head{padding-top:8px;padding-bottom:3px}.keyboard-visible .exercise-browser-head .hex-icon{width:27px!important;height:30px!important}.keyboard-visible .exercise-browser-head h2{font-size:21px}.keyboard-visible .exercise-browser-input input{height:42px}.keyboard-visible .equipment-filter{display:none}.keyboard-visible .browser-footer{padding-top:6px;padding-bottom:6px}.keyboard-visible .browser-result-heading{padding-top:2px}.keyboard-visible #exercise-results .result-add{min-height:66px;padding-top:8px;padding-bottom:8px}
/* Color follows the lift through the interactive nested row. */
.lift-target>.target-row{--part:inherit}.lift-target .hex-icon,.lift-target .row-number,.lift-target .exercise-copy small{color:var(--part)!important}.body-frame>.module-frame{border-color:var(--workout-color)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--workout-color) 22%,transparent),0 0 12px color-mix(in srgb,var(--workout-color) 10%,transparent)!important}.body-frame>.module-frame:before,.body-frame>.module-frame:after{background:var(--workout-color)!important}.body-frame>.section-titlebar h2{color:var(--workout-color)!important}
/* Clock: independent overall progress and one continuous second revolution. */
.timer-dial{background:#06151c!important}.timer-progress-ring{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible;transform:rotate(-90deg)}.timer-progress-ring circle{fill:none;stroke-width:2.8}.timer-ring-track{stroke:#173e4a}.timer-ring-value{stroke:#21d3e6;stroke-dasharray:100;stroke-dashoffset:0;stroke-linecap:butt;filter:drop-shadow(0 0 1px #36d9e799)}
.timer-dial.is-running .timer-wipe{animation:v64-second-orbit 1s linear infinite!important}.timer-dial:not(.is-running) .timer-wipe{animation:none!important;opacity:0!important}@keyframes v64-second-orbit{0%{transform:rotate(0deg);opacity:0}8%{opacity:1}86%{opacity:1}100%{transform:rotate(360deg);opacity:0}}
.timer-command-deck .timer-presets button{align-items:center!important;padding:10px 4px!important;gap:5px!important}.timer-presets button strong,.timer-presets .timer-add-small strong{font-size:32px!important;line-height:1!important}.timer-presets button span,.timer-presets .timer-add-small span{font-size:13px!important;line-height:1!important;align-self:center;transform:translateY(5px)}.timer-command-deck .timer-presets{grid-template-columns:1fr 1fr 1fr!important}
/* Stats: meaningful emphasis with existing art. */
.trend-v64{padding:22px!important;position:relative;background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--part) 12%,transparent),transparent 50%),#061219!important}.trend-instrument-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.trend-instrument-head .eyebrow{font-size:10px;color:#7c9ba9;letter-spacing:.16em}.trend-instrument-head h2{font:32px/1 'Bebas Kai';color:var(--part);margin:5px 0 0}.trend-instrument-head .hex-icon{color:var(--part);width:43px!important;height:48px!important}.trend-picker select{width:100%;font:23px 'Bebas Kai';border:1px solid #42636f;border-radius:4px;min-height:47px;background:#0b202a;color:#e7eee7;padding:8px 12px}.trend-readouts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border-top:1px solid #31505b;border-bottom:1px solid #31505b;padding:15px 0}.trend-readouts>div{padding:0 12px;border-right:1px solid #29434e}.trend-readouts>div:first-child{padding-left:0}.trend-readouts>div:last-child{border:0}.trend-readouts small{font:11px 'Bebas Kai';letter-spacing:.12em;color:#819da9}.trend-readouts strong{display:block;font:32px 'Bebas Kai';color:#e7efeb;margin-top:4px}.trend-readouts strong.positive{color:#60e4b3}.trend-readouts em{font:11px 'Bebas Kai';color:#849ea9;margin-left:5px;font-style:normal}.trend-v64-chart{padding-top:20px}.trend-v64-chart svg{display:block;width:100%;height:auto;font-family:'Bebas Kai';overflow:visible}.trend-v64 .trend-empty{min-height:140px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.trend-empty strong{font:25px 'Bebas Kai';color:#b1d5de}.trend-empty span{font-size:12px;color:#8babb6}.trend-instrument-foot{display:flex;justify-content:space-between;gap:8px;padding-top:13px;border-top:1px solid #273f48;font:10px 'Bebas Kai';color:#7897a4;letter-spacing:.06em}.trend-instrument-foot i{display:inline-block;width:5px;height:5px;background:var(--part);margin-right:6px}.trend-instrument-foot b{font-weight:normal;color:#bbd4d8}
.achievement-vault{padding:0 20px 19px;background:radial-gradient(ellipse at 0 10%,#8b661917,transparent 60%)}.vault-topline{display:flex;align-items:baseline;justify-content:space-between;padding:16px 0;border-bottom:1px solid #4b432d;color:#b99a50;font:11px 'Bebas Kai';letter-spacing:.1em}.vault-topline>b{font:27px 'Bebas Kai';color:#f0cc70}.vault-topline em{font:10px 'Bebas Kai';color:#a6b6b8;font-style:normal}.next-achievement{display:grid;grid-template-columns:90px minmax(0,1fr);gap:17px;align-items:center;padding:21px 0;width:100%;border:0;background:none;color:inherit;text-align:left}.next-badge{position:relative;display:block;padding:8px;background:radial-gradient(ellipse,#53697933,transparent 70%)}.next-badge img{width:100%;filter:grayscale(1);opacity:.65}.next-copy{min-width:0}.next-copy>small{font:10px 'Bebas Kai';letter-spacing:.14em;color:#a6c8d6}.next-copy>strong{display:block;font:29px/1.1 'Bebas Kai';color:#e8eee7;margin:5px 0}.next-objective{display:block;font:11px/1.5 sans-serif;color:#90aab7}.next-progress{display:block;height:5px;background:#223b46;margin-top:12px;overflow:hidden;border-radius:1px}.next-progress i{display:block;height:100%;background:linear-gradient(90deg,#3c9bab,#a4eff4)}.next-copy>b{display:flex;justify-content:space-between;margin-top:6px;font:12px 'Bebas Kai';color:#b5d3da}.next-copy em{font:10px 'Bebas Kai';font-style:normal;color:#ab965c}.vault-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.vault-badge{display:flex;flex-direction:column;align-items:center;padding:12px 6px;border:1px solid #263c47;border-top:2px solid color-mix(in srgb,var(--rarity) 38%,#1d2a32);border-radius:4px;background:linear-gradient(145deg,#11212c,#08141b);color:#a4bdc6;min-width:0}.vault-badge>span{display:block;width:68px;height:74px;max-width:90%;margin-bottom:9px}.vault-badge img{width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.4}.vault-badge.earned{border-color:#6d582f;background:radial-gradient(ellipse at 50% 0,#b18a1d1c,transparent 80%),#0c1a20}.vault-badge.earned img{filter:none;opacity:1}.vault-badge strong{font:14px/1.1 'Bebas Kai';color:#adbdc0;min-height:30px;text-align:center}.vault-badge.earned strong{color:#f2d899}.vault-badge small{font:8px 'Bebas Kai';letter-spacing:.13em;color:var(--rarity);margin-top:6px}.vault-expand{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding:12px 6px;background:#10252d;border:1px solid #34505b;font:13px 'Bebas Kai';color:#b5d2d8;letter-spacing:.07em}.vault-expand svg{width:12px}.vault-complete{display:flex;align-items:center;gap:16px;padding:20px;color:#edcc77}.vault-complete img{width:76px}
@media(min-width:760px){.vault-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.workspace-content .builder-lift-row{grid-template-columns:20px 44px minmax(0,1fr) 90px 80px 22px}.trend-readouts strong{font-size:40px}}
@media(max-width:360px){.workspace-head{gap:9px;padding-left:12px;padding-right:12px}.workspace-head h1{font-size:24px}.workspace-head small{font-size:8px}#draft-save-state{font-size:8px}.workspace-content>.modal-body{padding-left:12px;padding-right:12px}.workspace-content .builder-lift-row{grid-template-columns:10px 29px minmax(0,1fr) 40px 43px 12px;gap:6px}.builder-equipment{width:28px!important;height:32px!important}.builder-lift-title strong{font-size:17px}.builder-maxx b{font-size:12px}.trend-v64{padding:17px!important}.trend-readouts strong{font-size:27px}.achievement-vault{padding-left:15px;padding-right:15px}.next-achievement{grid-template-columns:70px minmax(0,1fr);gap:12px}.next-copy>strong{font-size:25px}.vault-badge strong{font-size:12px}.vault-badge>span{height:60px}.timer-presets button strong,.timer-presets .timer-add-small strong{font-size:28px!important}}
@media(prefers-reduced-motion:reduce){.timer-dial.is-running .timer-wipe{animation:none!important;opacity:0!important}.just-added{animation:none}}

.exercise-result-row{display:grid;grid-template-columns:minmax(0,1fr) 35px;border-bottom:1px solid #29404b;align-items:stretch}.exercise-result-row>[role=gridcell]{min-width:0}#exercise-results .result-add{grid-template-columns:38px minmax(0,1fr);border:0;height:100%}.result-favorite{width:35px;height:100%;min-height:44px;background:#0b1d26;border:0;color:#678391;font:22px sans-serif}.result-favorite[aria-pressed=true]{color:#edc86d;background:#172b30}
.builder-equipment>.exercise-frame,#exercise-browser .hex-icon>.exercise-frame,.trend-instrument-head .hex-icon>.exercise-frame{width:100%!important;height:100%!important}
.exercise-browser-head .hex-icon{flex:none}.exercise-browser-head .exercise-master{width:58%!important;height:58%!important}
