html,body,#root{margin:0;min-height:100%}body{background:var(--ds-page)}p{line-height:1.7}.intro{display:grid;grid-template-columns:1fr;gap:12px;margin:24px 0}.intro h2{font-size:21px;line-height:1.3}.intro img{width:100%;height:160px;object-fit:cover;object-position:center;border-radius:12px}.upload{display:block;border:1px dashed var(--ds-ink-2);padding:16px;border-radius:8px;font-weight:600;margin-top:16px}.upload input{display:block;width:100%;max-width:100%;margin-top:12px;font-size:14px}.upload input::file-selector-button{min-height:44px;border:1px solid var(--ds-hairline);background:var(--ds-page);padding:10px;border-radius:4px;margin-right:8px}.user-photo{display:block;width:100%;max-height:360px;object-fit:contain;background:var(--ds-raised);border-radius:12px;margin:16px 0}.confirm{display:flex;gap:12px;align-items:flex-start;margin:12px 0 24px;cursor:pointer;min-height:44px}.confirm input{margin-top:6px;width:20px;height:20px;flex:none}.error{color:var(--ds-red);font-weight:600}.summary,.checks,.sources{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.summary span{border:1px solid var(--ds-hairline);padding:6px 12px;border-radius:4px;font-size:13px}.sources{flex-direction:column}button{min-height:44px}@media(min-width:768px){.intro{grid-template-columns:1fr 260px;align-items:center}.intro img{height:220px}.intro>small,.intro>figcaption,.intro>.file-caption{grid-column:2}.sources{flex-direction:row;gap:24px}}.app-nav{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0 24px;border-bottom:1px solid var(--ds-hairline);margin-bottom:24px}.app-nav button{flex:1;min-width:100px}.intro{background:var(--ds-raised);padding:18px;border-radius:12px}.summary span{background:var(--ds-raised)}.exercise{border:1px solid var(--ds-hairline);border-radius:8px;margin:12px 0;overflow:hidden}.exercise summary{cursor:pointer;min-height:60px;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px;background:var(--ds-raised);font-weight:600}.exercise summary span{min-width:0}.exercise summary small{font-size:12px;font-weight:350;flex:none}.exercise summary:after{content:"+";font-weight:600}.exercise[open] summary:after{content:"\2212"}.exercise-body{padding:16px}.exercise-body h4{font-size:14px;margin:12px 0 6px}.exercise-body p{margin:4px 0 16px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.stat-grid>div{padding:18px;background:var(--ds-raised);border-radius:8px}.stat-grid strong{display:block;font-size:30px;color:var(--ds-teal);font-weight:600}.stat-grid span{display:block;margin-top:8px}.log{display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--ds-hairline);padding:16px 0}.field{display:flex;flex-direction:column;gap:8px;margin:16px 0}.field input{font:inherit;border:1px solid var(--ds-hairline);border-radius:4px;padding:12px;width:100%;min-height:44px}.meal-tips{background:var(--ds-raised);border-radius:8px;padding:16px;margin:16px 0}.meal-tips h3{font-size:16px;margin:0 0 8px}.file-group+.file-group{margin-top:48px}.intro+.file-group{margin-top:32px}.pose-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.pose-grid figure{margin:0;min-width:0}.pose-grid img{width:100%;height:auto;display:block;border-radius:12px}.pose-grid figcaption{margin-top:8px;font-weight:600}.exercise-body .file-callout{margin:20px 0}@media(max-width:420px){.pose-grid{grid-template-columns:1fr;gap:20px}}.guided-nav{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:20px 0;flex-wrap:wrap}.guided-nav span{font-weight:600}.exercise-visual{margin:0 0 14px}.exercise-visual img,.exercise-visual video{width:100%;max-height:540px;object-fit:contain;background:var(--ds-raised);border-radius:12px;display:block}.exercise-visual figcaption{font-size:12px;color:var(--ds-ink-2);margin-top:6px}.filter-options,.practice-check{border:1px solid var(--ds-hairline);border-radius:8px;padding:12px;margin:16px 0}.filter-options summary,.practice-check summary{min-height:44px;display:flex;align-items:center;font-weight:600;cursor:pointer}.logger-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.logger-inputs .field{min-width:0}.logger-selected{font-weight:600;overflow-wrap:anywhere}.logger-matches{display:flex;flex-direction:column;gap:8px;margin:12px 0}.logger-matches button{white-space:normal;height:auto;text-align:left}.logger-row{border-top:1px solid var(--ds-hairline);padding:16px 0}.logger-row strong,.logger-row span{display:block;overflow-wrap:anywhere}.logger-row span{margin-top:6px;color:var(--ds-ink-2)}.logger-row .checks{margin:12px 0 0}.logger-history{border-bottom:1px solid var(--ds-hairline);padding:8px 0}.logger-history summary{font-weight:600}.logger-message{padding:12px;background:var(--ds-raised);border-radius:8px}@media(min-width:768px){.logger-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.logger-row .checks{margin:0;flex:none}}.guidance-watch{padding:12px 16px;background:var(--ds-raised);border-left:2px solid var(--ds-ink-3)}.guidance-short{padding-left:20px;margin:8px 0}.guidance-short li{margin:8px 0}.gym-banner{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:16px;align-items:center;padding:20px;margin:24px 0;border-radius:16px;background:var(--ds-raised)}.gym-banner h2{font-size:24px;line-height:1.2;margin:10px 0}.gym-banner p{margin:0}.banner-kicker{font-size:12px;color:var(--ds-ink-2)}.gym-banner img{width:100%;height:120px;object-fit:contain;border-radius:12px}.profile-summary{display:flex;align-items:center;gap:16px;margin-bottom:24px}.profile-summary h3{margin:0}.profile-summary p{margin:4px 0}.profile-avatar{flex:0 0 64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--ds-teal);font-size:28px;font-weight:600}.profile-summary>div:last-child{min-width:0;overflow-wrap:anywhere}@media(min-width:768px){.gym-banner{grid-template-columns:minmax(0,1fr) 240px;padding:28px}.gym-banner h2{font-size:30px}.gym-banner img{height:170px}}@media(max-width:360px){.gym-banner{grid-template-columns:1fr}.gym-banner img{height:130px}.gym-banner h2{font-size:24px}}.home-grid,.body-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:24px 0}.section-card{display:grid;gap:10px;text-align:left;width:100%;padding:20px;background:var(--ds-page);color:var(--ds-ink);border:1px solid var(--ds-hairline);border-radius:12px;font:inherit;cursor:pointer;min-height:160px}.section-card strong{font-size:20px;font-weight:600}.section-card>span:not(.card-number):not(.card-open){line-height:1.5;color:var(--ds-ink-2);font-size:14px}.card-number{font-size:12px;font-weight:600;color:var(--ds-teal)}.card-open{font-size:13px;color:var(--ds-ink-2)}.section-card:hover{background:var(--ds-raised)}.section-card:focus-visible{outline:2px solid var(--ds-teal);outline-offset:3px}.section-nav{display:flex;gap:16px;align-items:center;margin:24px 0;flex-wrap:wrap}.body-card{min-height:130px}@media(min-width:380px){.home-grid,.body-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-card{padding:16px}.section-card strong{font-size:18px}}@media(min-width:900px){.home-grid,.body-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-card{padding:24px;min-height:170px}.section-card strong{font-size:21px}}.gym-brand-mark{display:flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:var(--ds-teal);color:var(--ds-ink);font-weight:600;font-size:20px;margin-bottom:14px}.gym-banner h2{margin:8px 0}.gym-banner p{margin:6px 0}.home-grid{grid-template-columns:1fr;gap:0}.home-grid .section-card{grid-template-columns:32px minmax(0,1fr) 24px;gap:14px;align-items:center;min-height:76px;padding:18px 0;border:0;border-bottom:1px solid var(--ds-hairline);border-radius:0}.home-grid .section-card strong{font-size:20px}.home-grid .section-card .card-open{font-size:22px;text-align:right}.home-grid .section-card>.section-description{display:none}.body-choice{display:flex;flex-direction:column;gap:16px;margin:24px 0}.body-choice button{min-height:64px;font-size:20px}.body-view-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.body-overview{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;margin:24px 0;align-items:center}.body-overview figure{margin:0;color:var(--ds-teal)}.body-overview svg{width:100%;height:auto;display:block}.body-overview figcaption{font-size:12px;color:var(--ds-ink-2);text-align:center;margin-top:8px}.body-region-list{display:grid}.body-region-list button{display:grid;grid-template-columns:24px 1fr 12px;gap:8px;align-items:center;min-height:54px;text-align:left;border:0;border-bottom:1px solid var(--ds-hairline);background:var(--ds-page);color:var(--ds-ink);font:inherit;cursor:pointer}.body-region-list button>span:first-child{font-size:12px;color:var(--ds-teal);font-weight:600}.body-region-list button:focus-visible{outline:2px solid var(--ds-teal)}@media(min-width:768px){.body-overview{grid-template-columns:180px minmax(0,1fr);gap:48px}.body-region-list button{min-height:68px}}.body-hero{margin:24px 0}.body-hero figure{margin:16px auto;text-align:center;color:var(--ds-teal)}.body-hero svg{height:210px;max-width:100%;display:block;margin:auto}.body-hero figcaption{font-size:12px;color:var(--ds-ink-2)}.body-hero h2{font-size:21px}.gym-banner{margin-top:16px}:root{--ds-raised:var(--sand);--ds-hairline:var(--line);--ds-ink-2:var(--muted);--ds-ink:var(--ink);--ds-teal:var(--teal)}:root{--ds-page:#fcfaf7;--ds-ink:#242522;--ds-sand:#f3efea;--ds-line:#deded6;--ds-radius:6px;--ds-teal:#39746a;color:#242522;background:#fcfaf7;font-family:system-ui,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:1000px;margin:auto;padding:20px}header{padding-bottom:20px}h1{font-size:30px}h2{font-size:24px;font-weight:600}h3{font-size:18px}p,li{line-height:1.55}section{padding:18px 0;border-top:1px solid #deded6}button,input{font:inherit}button{border:1px solid #d4ddd8;border-radius:7px;background:#fff;color:#242522;padding:12px 15px;min-height:48px;cursor:pointer}button.selected{background:#39746a;color:#fff}button:disabled{opacity:.4}button.ghost{border-color:transparent;background:transparent}input{width:100%;padding:12px;border:1px solid #d4ddd8;border-radius:6px;background:#fff;color:#242522;min-height:48px}input[type=checkbox]{width:24px;min-height:24px}label.field{display:grid;gap:8px;margin:18px 0}fieldset{border:0;padding:0;margin:20px 0}legend{margin-bottom:12px}aside{padding:14px 18px;border-left:3px solid #39746a;margin:22px 0;background:#f3f5f0}aside h3{margin-top:0}summary{cursor:pointer;padding:15px 0;font-weight:600}details p{margin:10px 0}a{color:#286355;display:inline-block;margin:8px 8px 8px 0;overflow-wrap:anywhere}.caption{font-size:14px;color:#565d57}.row{padding:10px 0;border-bottom:1px solid #deded6}img{max-width:100%;height:auto}nav{margin-bottom:24px}[hidden]{display:none!important}.guidance-panel{margin:20px 0}.guidance-panel h4{font-size:17px;margin:16px 0 10px}.guidance-steps{list-style:none;counter-reset:step;padding:0;display:grid;gap:12px}.guidance-steps li{counter-increment:step;display:grid;grid-template-columns:30px 1fr;gap:10px;line-height:1.6}.guidance-steps li:before{content:counter(step);color:#356e63;font-weight:700}.guidance-watch{padding:12px 16px;background:#f3f5f0;border-left:2px solid #39746a}.guidance-watch ul{padding-left:20px;display:grid;gap:10px;line-height:1.6}:root{--ds-raised:#f3efea;--ds-hairline:#deded6;--ds-ink-2:#565d57}
