:root{color:#172018;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#fff;--surface-muted:#eef3e8;--ink:#172018;--muted:#667068;--line:#dbe3d5;--green:#266445;--green-soft:#dcebdd;--blue:#2c5f8f;--red:#9d3f32;--amber:#b86f24;--shadow:0 18px 45px #192b1e1f;background:#f6f8f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.login-layout{background:#e8efe4;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--line);width:min(980px,100%);min-height:560px;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1fr) 360px;display:grid;overflow:hidden}.login-copy{color:#fff;background:linear-gradient(#142616a3,#142616a3),url(/training-plan-source.jpg) 50%/cover;flex-direction:column;justify-content:center;min-height:560px;padding:48px;display:flex}.login-copy h1{letter-spacing:0;max-width:560px;margin:64px 0 16px;font-size:clamp(2.4rem,6vw,5rem);line-height:.98}.login-copy p{color:#ffffffd6;max-width:520px;margin:0;font-size:1.08rem}.login-form{flex-direction:column;justify-content:center;gap:14px;padding:32px;display:flex}.login-form label,.note-field,.range-field label{color:var(--ink);font-weight:700}.input-with-icon{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex}.input-with-icon svg{color:var(--muted);flex:none}.input-with-icon input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.field-error,.alert{color:var(--red);font-weight:700;display:block}.alert{background:#9d3f3214;border:1px solid #9d3f3240;border-radius:8px;padding:12px 14px}.alert.neutral{color:var(--blue);background:#2c5f8f14;border-color:#2c5f8f40}.primary-button,.secondary-button,.next-training,.workout-card,.record-item,.nav-list button,.segmented-control button,.icon-button{border:0;border-radius:8px;min-height:44px}.primary-button{background:var(--green);color:#fff;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:800;display:inline-flex}.primary-button:disabled{opacity:.65;cursor:wait}.secondary-button{background:var(--surface-muted);color:var(--ink);padding:0 18px;font-weight:800}.brand{align-items:center;gap:12px;display:flex}.brand.large{color:#fff}.brand strong,.brand span{display:block}.brand span{color:var(--muted);font-size:.86rem}.brand.large span{color:#ffffffc2}.brand-mark{background:var(--green);color:#fff;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;display:grid}.safety-note{color:#ffffffe6;background:#ffffff1f;border:1px solid #ffffff47;border-radius:8px;align-items:center;gap:8px;width:fit-content;margin-top:32px;padding:10px 12px;display:inline-flex}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:24px;height:100vh;padding:22px;display:flex;position:sticky;top:0}.nav-list{gap:8px;display:grid}.nav-list button{color:var(--muted);text-align:left;background:0 0;align-items:center;gap:10px;padding:0 12px;font-weight:800;display:flex}.nav-list button.active,.nav-list button:hover{color:var(--ink);background:var(--green-soft)}.user-panel{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.user-panel strong{overflow-wrap:anywhere;display:block}.icon-button{width:44px;color:var(--ink);background:#f0f3ed;flex:none;place-items:center;display:grid}.main-content{justify-self:center;width:min(1180px,100%);padding:32px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.topbar h1,.section-heading h2,.workout-hero h2,.overview-band h2,.record-week-heading h2,.training-visual h2{letter-spacing:0;margin:0}.topbar h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1}.eyebrow{color:var(--amber);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:900;display:block}.topbar-stats{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.stat-pill{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.stat-pill strong{color:var(--ink)}.content-stack{gap:22px;display:grid}.overview-band,.workout-hero,.log-panel,.training-visual{border:1px solid var(--line);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.overview-band h2{color:var(--green);font-size:clamp(2.8rem,7vw,5rem);line-height:.9}.overview-band p,.section-heading p,.workout-card p,.workout-hero p,.training-visual p,.library-item p,.record-week-heading p{color:var(--muted);margin:6px 0 0}.next-training{color:#fff;text-align:left;background:#1f4f65;justify-content:space-between;align-items:center;gap:18px;min-width:min(360px,100%);padding:16px;display:flex}.next-training strong,.next-training span{display:block}.next-training strong{margin-top:4px;font-size:1.05rem}.training-visual{align-items:stretch;overflow:hidden}.training-visual img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:190px;min-height:150px}.training-visual div{align-self:center}.section-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px;display:flex}.section-heading.compact{margin-bottom:12px}.segmented-control{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:6px;padding:4px;display:inline-flex}.segmented-control button{width:44px;color:var(--muted);background:0 0;font-weight:900}.segmented-control button.selected{background:var(--green);color:#fff}.workout-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.workout-card{border:1px solid var(--line);background:var(--surface);min-height:220px;color:var(--ink);text-align:left;flex-direction:column;justify-content:space-between;align-items:stretch;gap:14px;padding:18px;display:flex}.workout-card:hover{border-color:#26644580;box-shadow:0 10px 26px #192b1e1a}.card-topline,.progress-row,.exercise-title,.exercise-title-line,.library-item-heading,.form-actions,.record-week-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-topline{color:var(--green);font-weight:900}.workout-card h3,.library-item h3{margin:0;font-size:1.15rem}.progress-row{color:var(--muted);font-size:.88rem}.workout-hero{background:#fdfbf6}.completion-meter{border:10px solid var(--green-soft);width:130px;height:130px;color:var(--green);border-radius:999px;flex:none;place-items:center;display:grid}.completion-meter strong,.completion-meter span{text-align:center;display:block}.completion-meter strong{font-size:1.8rem;line-height:1}.completion-meter span{color:var(--muted);font-size:.78rem}.exercise-list{gap:12px;display:grid}.exercise-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:28px 190px minmax(0,1fr);align-items:start;gap:16px;padding:18px;display:grid}.exercise-check{place-items:start center;padding-top:4px;display:grid}.exercise-check input{width:22px;height:22px;accent-color:var(--green)}.exercise-content{min-width:0}.exercise-illustration{aspect-ratio:22/15;border-radius:8px;width:100%;max-width:190px;overflow:hidden}.illustration-bg{fill:#f7faf5;stroke:var(--line)}.floor-line{stroke:#cad7c4;stroke-width:3px;stroke-linecap:round}.body-fill{fill:#f4d49c;stroke:#1f4f65;stroke-width:4px}.body-line,.accent-line,.guide-line,.support-line,.arrow-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.body-line{stroke:#1f4f65;stroke-width:7px}.accent-line{stroke:var(--green);stroke-width:5px}.guide-line,.arrow-line{stroke:var(--amber);stroke-width:4px}.support-line{stroke:#7b847d;stroke-width:5px}.bench-fill,.weight-fill{fill:#dcebdd;stroke:var(--green);stroke-width:4px}.ball-fill{fill:#f0b35e;stroke:var(--amber);stroke-width:4px}.exercise-title-line{align-items:flex-start}.exercise-title strong{font-size:1.05rem}.exercise-title span{background:var(--surface-muted);color:var(--muted);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:800}.exercise-row p{color:var(--green);margin:6px 0;font-weight:900}.exercise-row small,.library-item small{color:var(--muted);line-height:1.5;display:block}.exercise-row .fallback{color:var(--blue);margin-top:6px}.video-link{max-width:min(260px,100%);min-height:36px;color:var(--blue);background:#2c5f8f14;border:1px solid #2c5f8f38;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:.84rem;font-weight:900;line-height:1.1;text-decoration:none;display:inline-flex}.video-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.video-link:hover{background:#2c5f8f24;border-color:#2c5f8f75}.video-link.compact{flex:none}.log-panel{grid-template-columns:280px minmax(0,1fr);align-items:stretch;display:grid}.range-field{gap:12px;display:grid}.range-field div{align-items:center;gap:12px;display:flex}.range-field input{width:100%;accent-color:var(--green)}.range-field strong{text-align:center;width:40px;color:var(--green);font-size:1.4rem}.note-field{gap:10px;display:grid}.note-field textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfcfa;border-radius:8px;outline:0;padding:12px}.form-actions{justify-content:flex-end}.library-grid,.records-list{gap:22px;display:grid}.exercise-library-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.library-item{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;gap:12px;min-height:190px;padding:18px;display:flex}.library-item .exercise-illustration{max-width:none}.library-item-heading{align-items:flex-start}.cue-list{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.cue-list.compact{margin-top:10px}.cue-list span{background:var(--green-soft);color:var(--green);border-radius:999px;padding:5px 8px;font-size:.8rem;font-weight:800}.record-week{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:20px}.record-items{gap:10px;margin-top:16px;display:grid}.record-item{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fbfcfa;grid-template-columns:minmax(0,1fr) 90px 120px;align-items:center;gap:12px;padding:14px;display:grid}.record-item span{overflow-wrap:anywhere;font-weight:800}.record-item strong,.record-item small{color:var(--muted);text-align:right}@media (width<=940px){.app-shell{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr;height:auto;display:grid;position:static}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.nav-list button{justify-content:center}.user-panel{margin-top:0}.workout-grid,.log-panel,.login-panel{grid-template-columns:1fr}.exercise-illustration{max-width:none}.login-copy{min-height:420px}}@media (width<=680px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.main-content,.sidebar,.login-layout{padding:16px}.app-shell{display:block}.sidebar{z-index:30;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #192b1e14}.brand{min-width:0}.brand-mark{width:38px;height:38px}.brand span{display:none}.user-panel{border-top:0;flex:none;margin-top:0;padding-top:0}.user-panel .eyebrow{display:none}.user-panel strong{text-align:right;max-width:108px;font-size:.9rem}.icon-button{width:38px;height:38px;min-height:38px}.main-content{width:100%;padding:18px 14px calc(102px + env(safe-area-inset-bottom))}.topbar,.overview-band,.workout-hero,.training-visual,.section-heading,.record-week-heading{flex-direction:column;align-items:stretch}.topbar{gap:12px;margin-bottom:16px}.topbar h1{font-size:1.8rem}.topbar-stats{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:flex-start;width:100%;display:grid}.stat-pill{justify-content:center;min-width:0;padding:0 8px;font-size:.86rem}.nav-list{z-index:50;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #192b1e1f}.nav-list button{border-radius:8px;flex-direction:column;justify-content:center;gap:4px;min-height:54px;padding:6px 4px;font-size:.76rem;line-height:1.1}.login-copy,.login-form{padding:24px}.login-copy h1{margin-top:42px}.training-visual img{width:100%;height:220px}.next-training{width:100%;min-width:0}.overview-band,.workout-hero,.log-panel,.training-visual,.record-week,.library-item,.exercise-row,.workout-card{padding:16px}.overview-band h2{font-size:3.2rem}.completion-meter{border-width:8px;width:108px;height:108px}.record-item{grid-template-columns:1fr}.exercise-row{grid-template-columns:28px minmax(0,1fr);gap:12px}.exercise-check{padding-top:2px}.exercise-illustration{min-height:150px}.exercise-content{grid-column:1/-1}.exercise-title-line,.library-item-heading{flex-direction:column;align-items:stretch}.video-link{width:100%;max-width:none}.exercise-library-list{grid-template-columns:1fr}.segmented-control{width:100%}.segmented-control button{flex:1;width:auto}.login-layout{align-items:stretch}.login-panel{min-height:auto}.record-item strong,.record-item small{text-align:left}.form-actions{grid-template-columns:1fr;display:grid}}
