:root{--paper:#f5f5ef;--white:#fffefa;--ink:#20352c;--muted:#738078;--line:#dfe4d9;--green:#173e32;--light:#e8eedf;--lime:#d3e99b;--accent:#6b8346;--orange:#b56d40;--radius:18px;--sans:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #88a853;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #9eb97a;outline-offset:2px}button:disabled{cursor:default;opacity:.5}svg{display:block}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:39px 25px 25px;background:#fafbf5;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:13px;font-size:26px;letter-spacing:3px;font-weight:750}.brand small{display:block;font-size:8px;letter-spacing:1.45px;margin-top:5px;font-weight:600}.brand-symbol{display:flex;gap:4px;align-items:center;width:37px;height:39px;transform:rotate(-18deg)}.brand-symbol i{width:8px;background:var(--green);height:25px;border-radius:2px}.brand-symbol i:nth-child(2){height:39px}.sidebar-label{font-size:11px;color:#8a958a;letter-spacing:1px;margin:53px 12px 17px}nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;color:#718071;font-size:13px}.nav-item.active{background:var(--green);color:#f6ffe9;box-shadow:0 5px 12px #173e3211}.nav-item .nav-index{margin-left:auto;font-size:10px;opacity:.6}nav a:hover:not(.active){background:var(--light)}.sidebar-bottom{margin-top:auto;padding-top:50px}.profile-head{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.avatar{display:grid;place-items:center;background:#e9edde;width:35px;height:35px;border-radius:50%;color:#6b794e}.profile-head small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.tiny-dot{width:6px;height:6px;border-radius:50%;background:#8aab53;margin-left:auto}.profile-numbers{display:flex;justify-content:space-between;margin:23px 0 18px}.profile-numbers strong{display:block;font-size:20px;font-weight:550;font-variant-numeric:tabular-nums}.profile-numbers span{display:block;margin-top:5px;font-size:9px;color:var(--muted)}.sidebar-bottom p{font-size:10px;color:#8a9385;line-height:1.8}.local-label{font-size:10px;color:#7a866e;border-top:1px solid var(--line);padding-top:21px;margin-top:25px}.page{margin-left:232px;padding:0 44px;max-width:1760px}.topbar{display:flex;justify-content:space-between;align-items:center;height:88px;gap:20px}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 13px;color:#c3cabc}.breadcrumb strong{font-weight:500;color:var(--ink)}.topbar-right{display:flex;gap:24px;align-items:center;color:var(--muted);font-size:11px}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}.icon-button:hover{background:var(--light)}main{min-height:calc(100vh - 175px)}.hero{position:relative;min-height:242px;border-radius:21px;background:var(--green);color:#f9ffef;padding:31px 38px;overflow:hidden;display:flex;justify-content:space-between}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#e6fbd812 .8px,transparent .8px);background-size:7px 7px;pointer-events:none}.hero-copy{z-index:1;position:relative}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px;font-weight:500;color:#acc6a2}.eyebrow .dot{width:6px;height:6px;background:var(--lime);border-radius:50%}.hero h1{font-size:clamp(29px,3vw,43px);font-weight:550;letter-spacing:2px;line-height:1.45;margin:20px 0 15px}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{font-size:12px;color:#bbcbbb;letter-spacing:.5px;line-height:1.8;margin:0}.hero-art{position:absolute;right:4%;top:0;width:330px;height:100%;opacity:.95}.hero-art .orbit{fill:none;stroke:#acc886;stroke-width:1;opacity:.2}.hero-art .orbit-strong{stroke:var(--lime);opacity:.75;stroke-width:2}.hero-art text{font-family:var(--sans)}.hero-stamp{position:absolute;right:28px;bottom:21px;font-size:9px;letter-spacing:1.5px;color:#9bb298}.hero-chip{display:inline-flex;border:1px solid #65826b;border-radius:30px;padding:6px 10px;font-size:10px;color:#d4e6cb;gap:7px;margin-left:15px;letter-spacing:.4px}.intro-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 18px}.intro-title{display:flex;align-items:center;gap:13px}.intro-title h2{margin:0;font-size:19px;font-weight:650}.intro-title>span{font-size:10px;letter-spacing:1px;color:#8e988c}.week-control{display:flex;align-items:center;gap:9px}.week-control label{font-size:11px;color:var(--muted)}select{border:1px solid var(--line);padding:9px 30px 9px 12px;border-radius:8px;background:var(--white);color:var(--ink);font-size:12px;max-width:100%}.week-track{display:flex;gap:4px;margin-right:9px}.week-track i{display:block;width:14px;height:4px;background:#dbe2d2;border-radius:3px}.week-track i.active{background:#78945b}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day-button{min-width:0;text-align:left;position:relative;background:transparent;border:1px solid var(--line);border-radius:12px;padding:13px 14px 11px;color:var(--ink);transition:background .15s,border-color .15s}.day-button:hover{background:#edf1e6}.day-button.active{background:var(--green);border-color:var(--green);color:white;box-shadow:0 5px 10px #173e3210}.day-top{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:10px;color:#849080}.active .day-top{color:#b4c6ab}.day-top .day-code{font-size:9px;letter-spacing:.4px}.day-button strong{display:block;margin:11px 0 8px;font-size:13px;font-weight:550;white-space:nowrap}.day-button small{font-size:9px;color:#8a9682}.day-button.active small{color:#c6d8ac}.day-button.rest{background:transparent;border-style:dashed;color:#86907e}.day-button.rest.active{background:#e3eada;border-style:solid;color:var(--ink)}.day-dot{width:5px;height:5px;border-radius:50%;background:#bdc8b3}.day-dot.work{background:#9eaf78}.day-button.active .day-dot{background:var(--lime)}.phase-note{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;background:#eaf0df;border-radius:9px;margin:15px 0 25px;color:#62734e;font-size:11px;line-height:1.7}.phase-note .icon{width:16px;height:16px;margin-top:1px}.phase-note strong{font-weight:650}.phase-note a{margin-left:auto;white-space:nowrap;border-bottom:1px solid #9bab80}.training-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:23px;align-items:start}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 18px;gap:15px}.panel-header h2,.panel-header h3{margin:0;font-size:19px;font-weight:600}.panel-header small{display:block;margin-bottom:7px;font-size:9px;letter-spacing:1.5px;color:#94a082}.panel-header p{font-size:11px;color:var(--muted);margin:9px 0 0;line-height:1.6}.tag{display:inline-flex;align-items:center;gap:4px;background:var(--light);color:#6b7c54;font-size:10px;line-height:1.5;border-radius:5px;padding:4px 7px;white-space:nowrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 16px;border-radius:9px;font-size:12px;font-weight:550;line-height:1.4;background:var(--green);color:white;white-space:nowrap}.btn .icon{width:16px;height:16px}.btn:hover{background:#285743}.btn.secondary{background:#f0f3e8;color:var(--ink);border:1px solid #dbe3cf}.btn.secondary:hover{background:#e3ead7}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.btn.small{font-size:11px;padding:9px 11px}.workout-meta{display:flex;gap:20px;font-size:11px;color:#77836d;padding:0 24px 21px;border-bottom:1px solid var(--line)}.workout-meta span{display:flex;align-items:center;gap:6px}.workout-meta .icon{width:14px;height:14px}.exercise{border-bottom:1px solid #e9ecdf}.exercise:last-child{border-bottom:0}.exercise summary{display:flex;align-items:center;gap:13px;list-style:none;cursor:pointer;padding:18px 23px}.exercise summary::-webkit-details-marker{display:none}.exercise summary:hover{background:#f7f9f1}.exercise[open] summary{background:#f6f8ee}.exercise-number{font-size:12px;color:#9da88c;font-weight:500;min-width:22px}.exercise-title{flex:1;min-width:0}.exercise-title h3{font-size:14px;font-weight:600;margin:0 0 6px;line-height:1.5}.exercise-title p{font-size:10px;color:#8b9481;margin:0;line-height:1.5}.exercise-prescription{text-align:right;flex-shrink:0}.exercise-prescription strong{font-size:14px;font-weight:550;font-variant-numeric:tabular-nums}.exercise-prescription small{font-size:9px;color:#89957e;display:block;margin-top:5px}.exercise-chevron{width:16px;height:16px;color:#839273;transition:transform .2s}.exercise[open] .exercise-chevron{transform:rotate(180deg)}.exercise.checked .exercise-number{color:#6f8d46}.exercise-body{padding:0 23px 21px;background:#f6f8ee}.primary-reason{font-size:11px;line-height:1.9;color:#687957;padding-top:3px;margin:0 0 12px}.primary-reason strong{color:#46613d;font-weight:600}.cue-list{padding:10px 12px;border-left:2px solid #afc18e;background:#eef3e2;font-size:11px;color:#627250;line-height:1.9;margin:0 0 14px}.alternative-box{padding:10px 0 14px}.alternative-box>span{font-size:10px;color:#8e977f;display:block;margin-bottom:7px}.alternative-options{display:flex;flex-wrap:wrap;gap:6px}.alternative-button{font-size:10px;background:var(--white);color:#7b846c;border:1px solid #dce3d0;padding:7px 9px;border-radius:6px;line-height:1.5;text-align:left}.alternative-button.selected{background:#e3edce;border-color:#afc38a;color:#426037}.alternative-warning{font-size:10px;line-height:1.8;color:#92734f;margin:9px 0 0}.logging-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#869375;padding:0 0 8px;gap:12px}.logging-label button{display:flex;gap:4px;align-items:center;color:#6d8057;background:none;font-size:10px;padding:5px 0}.logging-label .icon{width:13px;height:13px}.set-row{display:grid;grid-template-columns:35px minmax(0,1fr) minmax(0,1fr) 40px;gap:9px;align-items:center;margin-top:7px}.set-label{font-size:10px;color:#87917a}.set-row input{width:100%;min-width:0;border:1px solid #dfe5d5;background:#fffefa;border-radius:6px;padding:10px 9px;font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums}.set-row input::placeholder{color:#adb69f;font-size:10px}.set-check{display:grid;place-items:center;width:38px;height:37px;border:1px solid #d7dfca;color:#aab598;border-radius:6px;background:#fffefa}.set-check.done{background:#55773e;border-color:#55773e;color:#f3ffd9}.set-row.done input{border-color:#b8cba0;background:#f0f5e6}.set-check .icon{width:17px;height:17px}.session-notes{padding:21px 24px;border-top:1px solid var(--line)}.session-notes label{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}.session-notes textarea{resize:vertical;min-height:70px;max-height:240px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fcfcf7;color:var(--ink);padding:12px;font-size:12px;line-height:1.7}.session-notes textarea::placeholder{color:#a4ad99}.session-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 24px 22px}.session-bottom p{font-size:10px;color:#8e9982;line-height:1.8;margin:0}.right-column{display:grid;gap:17px}.side-card{padding:20px;border:1px solid var(--line);background:#fffefa;border-radius:var(--radius)}.side-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600}.side-heading>span{font-size:9px;letter-spacing:1px;color:#909b81;font-weight:400}.progress-display{display:flex;align-items:center;gap:17px;padding:21px 0 17px}.progress-ring{width:80px;height:80px;position:relative;flex-shrink:0}.progress-ring svg{width:80px;height:80px;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke:#e9eddf;stroke-width:5}.progress-ring .fill{stroke:#708d48;stroke-linecap:round;stroke-dasharray:214;transition:stroke-dashoffset .3s}.progress-ring>span{position:absolute;inset:0;display:grid;place-items:center;font-size:20px;font-weight:550}.progress-ring>span small{font-size:10px;margin-left:2px}.progress-copy strong{display:block;font-size:16px;font-weight:600}.progress-copy p{font-size:10px;line-height:1.8;color:#8a947c;margin:7px 0 0}.micro-note{font-size:10px;line-height:1.8;color:#8b967e;border-top:1px solid #e6ebdc;margin:0;padding-top:14px}.anatomy{display:flex;justify-content:center;gap:15px;margin:20px 0 15px}.anatomy svg{width:88px;height:177px}.anatomy .body{fill:#edf0e5;stroke:#c7d2b8;stroke-width:1}.anatomy .muscle{fill:#d9e3c9;stroke:none}.anatomy .target{fill:#789651}.anatomy-label{font-size:8px;fill:#89957a}.muscle-tags{display:flex;gap:6px;flex-wrap:wrap}.muscle-tags span{font-size:9px;background:#eef3e4;color:#657c49;padding:5px 7px;border-radius:4px}.recovery-card{background:#e8edde;border-color:#e0e6d4}.recovery-card .icon{width:22px;height:22px;color:#7e925d;margin-bottom:14px}.recovery-card h3{font-size:13px;font-weight:600;margin:0 0 8px}.recovery-card p{font-size:11px;line-height:1.9;color:#748166;margin:0}.recovery-card a{display:inline-flex;align-items:center;gap:7px;font-size:10px;margin-top:15px;color:#5d7346}.recovery-card a .icon{width:13px;height:13px;margin:0}.page-footer{display:flex;justify-content:space-between;gap:20px;margin:35px 0 27px;color:#a2ad94;font-size:9px;letter-spacing:1px}.timer-dock{position:fixed;bottom:24px;left:calc(50% + 116px);transform:translateX(-50%);display:flex;gap:13px;align-items:center;background:#203d31;color:white;border:1px solid #51694b;padding:13px 18px;border-radius:16px;box-shadow:0 10px 35px #19352d33;z-index:60;max-width:calc(100vw - 35px)}.timer-icon{color:var(--lime)}.timer-caption strong{display:block;font-size:11px}.timer-caption span{display:block;font-size:9px;color:#b3c2a5;margin-top:5px;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-value{font-size:27px;font-variant-numeric:tabular-nums;margin:0 7px;color:var(--lime);min-width:73px}.timer-small{font-size:10px;color:#d8e5c9;background:#3c5340;padding:8px;border-radius:6px}.timer-dock .icon-button{width:30px;height:30px;color:#d7e4ca;border:0}.timer-dock .icon-button:hover{background:#476043}.timer-dock .icon{width:18px;height:18px}.toast{position:fixed;left:calc(50% + 116px);bottom:108px;transform:translate(-50%,10px);background:#203d31;color:#f1f7e8;font-size:12px;padding:12px 20px;max-width:calc(100vw - 40px);border-radius:9px;box-shadow:0 5px 25px #203d3120;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;line-height:1.7}.toast.visible{opacity:1;transform:translate(-50%,0)}.view-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:8px 0 27px}.view-title .eyebrow{color:#96a380;font-size:9px}.view-title h1{font-size:30px;letter-spacing:1px;font-weight:600;margin:13px 0 9px}.view-title p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.title-actions{display:flex;gap:8px;align-items:center}.empty-state{text-align:center;padding:52px 24px}.empty-symbol{background:#edf2e1;color:#87a365;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;margin:0 auto 20px}.empty-symbol .icon{width:27px;height:27px}.empty-state h2{font-size:18px;font-weight:550;margin:0 0 11px}.empty-state p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 22px}.record-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.stat-card{padding:22px 25px;background:var(--white);border:1px solid var(--line);border-radius:14px}.stat-card>span{font-size:11px;color:#849275}.stat-card strong{display:block;font-size:32px;font-weight:500;margin-top:12px;font-variant-numeric:tabular-nums}.stat-card strong small{font-size:11px;color:#8d987e;margin-left:7px}.history-item{padding:21px 24px;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item summary{display:flex;justify-content:space-between;list-style:none;cursor:pointer;gap:15px;align-items:center}.history-item h3{margin:0 0 7px;font-size:14px;font-weight:600}.history-item p{font-size:11px;color:var(--muted);margin:0;line-height:1.8}.history-item ul{list-style:none;padding:15px 0 0;margin:0;display:grid;gap:9px;font-size:11px;color:#738366;line-height:1.7}.history-item li strong{color:var(--ink);font-weight:500}.chart-card{padding:25px;margin-bottom:22px}.chart-head{display:flex;justify-content:space-between;font-size:12px}.chart-head small{font-size:10px;color:var(--muted)}.week-chart{display:grid;grid-template-columns:repeat(8,1fr);gap:18px;align-items:end;height:140px;margin:23px 0 5px}.chart-col{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px}.chart-col .bar-track{flex:1;position:relative;width:100%;max-width:58px;background:#f0f3e8;border-radius:6px;min-height:60px}.chart-col .bar-fill{position:absolute;bottom:0;left:0;right:0;background:#829c58;border-radius:6px;min-height:0}.chart-col span{font-size:9px;color:#8c9981}.chart-col b{font-size:10px;font-weight:500;color:#7b8c6d}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 25px}.filter{border:1px solid var(--line);border-radius:30px;padding:8px 15px;background:var(--white);color:var(--muted);font-size:11px}.filter.active{background:var(--green);color:white;border-color:var(--green)}.search-box{position:relative;min-width:230px}.search-box .icon{position:absolute;left:13px;top:12px;width:17px;height:17px;color:#95a187}.search-box input{width:100%;padding:12px 13px 12px 40px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);font-size:12px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.library-card{padding:22px;background:var(--white);border:1px solid var(--line);border-radius:15px;text-align:left;transition:transform .2s,box-shadow .2s;color:var(--ink)}.library-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #20352c09}.library-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.library-card-top .icon{color:#85996b}.library-card h2{font-size:15px;font-weight:600;margin:0 0 8px}.library-card p{font-size:11px;color:#819074;line-height:1.85;margin:0 0 17px;min-height:40px}.library-card-bottom{font-size:10px;color:#788a65;border-top:1px solid #e9eddf;padding-top:13px;display:flex;justify-content:space-between}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.guide-card{padding:27px}.guide-card>.icon{color:#7e985b;margin-bottom:19px}.guide-card h2{font-size:17px;font-weight:600;margin:0 0 15px}.guide-card p,.guide-card li{font-size:12px;color:#74806a;line-height:2}.guide-card ul,.guide-card ol{padding-left:20px;margin:0}.guide-card strong{color:#49623b;font-weight:600}.guide-card.wide{grid-column:1/-1}.guide-sources{display:flex;flex-wrap:wrap;gap:12px;margin-top:17px}.guide-sources a{font-size:11px;color:#638143;border-bottom:1px solid #bdcda5;padding-bottom:3px}.phase-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:14px}.phase-table th,.phase-table td{text-align:left;border-bottom:1px solid var(--line);padding:13px 10px;line-height:1.9}.phase-table th{font-weight:550;color:#6e805b}.phase-table td{color:#7d8971}.rest-view{padding:42px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}.rest-view h2{font-size:30px;font-weight:550;letter-spacing:1px;margin:18px 0}.rest-view p{font-size:13px;line-height:2;color:var(--muted)}.rest-art{background:#eaf0de;border-radius:50%;width:170px;height:170px;display:grid;place-items:center;margin:auto;color:#7e9858}.rest-art .icon{width:72px;height:72px;stroke-width:1}.ride-setting{margin-top:22px;display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:20px;padding:0;width:580px;max-width:calc(100vw - 28px);max-height:85dvh;color:var(--ink);background:var(--white);box-shadow:0 20px 90px #173e322b}dialog::backdrop{background:#16362866;backdrop-filter:blur(4px)}.dialog-head{padding:25px 28px 19px;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:22px;margin:9px 0}.dialog-head small{font-size:10px;color:#8c9b7a;letter-spacing:1px}.dialog-content{padding:23px 28px}.dialog-content h3{font-size:13px;margin:22px 0 10px}.dialog-content h3:first-child{margin-top:0}.dialog-content p,.dialog-content li{font-size:12px;line-height:1.9;color:#748268}.dialog-content ol{padding-left:20px}.dialog-alternative{padding:13px 0;border-bottom:1px solid var(--line)}.dialog-alternative strong{font-size:12px;font-weight:550}.dialog-alternative p{margin:5px 0 0;font-size:11px}.dialog-footer{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:end}.coverage{display:flex;height:10px;border-radius:20px;overflow:hidden;margin:18px 0 12px;gap:3px}.coverage i{height:100%;display:block}.coverage-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;color:#7c886d}.coverage-legend span{display:flex;align-items:center;gap:6px}.coverage-legend i{width:7px;height:7px;border-radius:2px}.helper{font-size:10px;color:#8c987d;line-height:1.8}.check-notice{border-left:3px solid #b09e65;background:#f6f1df;padding:12px 14px;font-size:11px;line-height:1.9;color:#847446;margin-top:18px}#print-plan{display:none}.mobile-only{display:none}.import-input{display:none}
@media(min-width:1600px){.page{padding-left:60px;padding-right:60px}.hero{min-height:260px}.hero-art{right:9%}.training-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1200px){.sidebar{width:195px;padding:33px 18px 23px}.page{margin-left:195px;padding:0 28px}.training-layout{grid-template-columns:minmax(0,1fr) 235px;gap:16px}.hero{padding:30px}.hero-art{right:-20px;width:280px;opacity:.7}.hero-copy{max-width:70%}.day-button{padding:12px 10px}.day-code{display:none}.timer-dock,.toast{left:calc(50% + 97px)}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-header,.exercise summary{padding-left:19px;padding-right:19px}.exercise-body{padding-left:19px;padding-right:19px}.exercise summary{gap:10px}.side-card{padding:17px}.workout-meta{gap:12px;padding-left:19px}.exercise-title h3{font-size:13px}}
@media(max-width:1000px){.training-layout{grid-template-columns:minmax(0,1fr)}.right-column{grid-template-columns:1fr 1fr}.right-column .recovery-card{display:none}.anatomy{margin:12px 0 10px}.anatomy svg{height:110px;width:55px}.side-card{padding:20px}.hero-art{right:-60px;opacity:.45}.hero-copy{max-width:85%}.week-track{display:none}.guide-grid{grid-template-columns:1fr}.guide-card.wide{grid-column:auto}.day-button strong{font-size:12px}.day-button small{font-size:8px}}
@media(max-width:740px){.sidebar{inset:auto 0 0 0;width:100%;height:70px;height:calc(70px + env(safe-area-inset-bottom));padding:7px 14px calc(7px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);background:#fcfdf6f5;backdrop-filter:blur(15px)}.brand,.sidebar-label,.sidebar-bottom{display:none}nav{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;height:100%}.nav-item{flex-direction:column;justify-content:center;padding:5px 0;gap:5px;font-size:9px;border-radius:9px}.nav-item.active{background:#e8efda;color:#466637;box-shadow:none}.nav-item .icon{width:20px;height:20px}.nav-index{display:none}.page{margin:0;padding:0 18px 75px}.topbar{height:64px;gap:12px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 8px}.topbar-right{gap:10px;font-size:9px}.topbar-right .icon-button{width:30px;height:30px}.hero{padding:25px 23px;min-height:228px;border-radius:16px}.hero h1{font-size:30px;line-height:1.45;letter-spacing:1px;margin-top:20px}.hero p{font-size:11px;max-width:255px;line-height:1.9}.hero .eyebrow{font-size:8px;letter-spacing:1.4px;gap:6px}.hero-chip{display:none}.hero-copy{max-width:100%}.hero-art{width:240px;right:-100px;opacity:.27}.hero-stamp{font-size:7px;right:15px;bottom:15px}.intro-row{margin:24px 0 14px;gap:10px}.intro-title{gap:8px}.intro-title h2{font-size:17px}.intro-title>span{display:none}.week-control label{font-size:10px}.week-control select{font-size:11px;padding:8px 20px 8px 8px}.week-grid{gap:7px;display:flex;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:#d8e2c9 transparent}.day-button{flex:0 0 88px;padding:12px 10px}.day-button strong{font-size:12px;margin:9px 0 7px}.day-top{font-size:10px}.day-button small{font-size:9px}.day-code{display:inline}.phase-note{font-size:10px;margin:10px 0 19px;padding:11px 12px;gap:8px}.phase-note a{display:none}.training-layout{gap:15px}.panel{border-radius:14px}.panel-header{padding:20px 16px 15px;gap:8px}.panel-header h2{font-size:17px}.panel-header p{font-size:10px;margin-top:7px}.panel-header .btn{font-size:10px;padding:10px}.panel-header small{font-size:8px}.workout-meta{padding:0 16px 17px;gap:12px;font-size:10px;flex-wrap:wrap}.workout-meta .icon{width:12px;height:12px}.exercise summary{padding:17px 15px;gap:9px}.exercise-number{min-width:19px;font-size:10px}.exercise-title h3{font-size:13px}.exercise-title p{font-size:9px}.exercise-prescription strong{font-size:12px}.exercise-prescription small{font-size:8px}.exercise-chevron{width:13px;height:13px}.exercise-body{padding:0 15px 18px}.primary-reason,.cue-list{font-size:10px}.alternative-button{font-size:9px}.set-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 35px;gap:6px}.set-row input{padding:11px 7px;font-size:16px}.set-check{width:35px;height:40px}.session-notes{padding:18px 16px}.session-bottom{padding:0 16px 20px}.session-bottom p{font-size:9px}.session-bottom .btn{font-size:11px;padding:10px 12px}.right-column{gap:12px}.side-card{padding:15px;border-radius:14px}.side-heading{font-size:11px}.side-heading>span{display:none}.progress-display{gap:10px;padding:16px 0}.progress-ring,.progress-ring svg{width:64px;height:64px}.progress-ring>span{font-size:17px}.progress-copy strong{font-size:12px}.progress-copy p{font-size:9px}.micro-note{font-size:9px;padding-top:10px}.anatomy{gap:10px;margin:12px 0}.anatomy svg{width:48px;height:96px}.muscle-tags{gap:4px}.muscle-tags span{font-size:8px;padding:4px 5px}.page-footer{margin:25px 0 10px;font-size:8px;letter-spacing:.3px}.timer-dock{left:50%;bottom:calc(82px + env(safe-area-inset-bottom));padding:10px 12px;gap:9px;border-radius:13px;width:calc(100% - 30px);max-width:480px;justify-content:space-between}.timer-caption span{display:none}.timer-caption strong{font-size:10px}.timer-value{font-size:25px;margin:0 3px;min-width:66px}.timer-dock>.timer-icon{display:none}.timer-small{font-size:9px}.toast{left:50%;bottom:calc(154px + env(safe-area-inset-bottom));width:max-content;font-size:11px}.view-title{margin:8px 0 21px;align-items:start;flex-wrap:wrap;gap:15px}.view-title h1{font-size:26px;margin-top:11px}.view-title p{font-size:11px}.view-title .eyebrow{font-size:8px}.title-actions{width:100%;flex-wrap:wrap}.search-box{width:100%}.record-stats{gap:8px}.stat-card{padding:16px 12px;border-radius:11px}.stat-card>span{font-size:9px}.stat-card strong{font-size:25px}.stat-card strong small{font-size:9px;margin-left:4px}.chart-card{padding:19px}.week-chart{gap:10px;height:120px}.chart-head{font-size:11px}.chart-head small{font-size:9px}.history-item{padding:18px}.history-item h3{font-size:12px}.history-item p{font-size:10px}.library-grid{gap:11px}.library-card{padding:17px 14px;border-radius:12px}.library-card h2{font-size:13px}.library-card p{font-size:10px;min-height:54px}.library-card-top{margin-bottom:18px}.library-card-top .tag{font-size:8px}.library-card-bottom{font-size:9px}.filters{gap:6px;margin-top:8px}.filter{font-size:10px;padding:7px 12px}.guide-card{padding:22px}.guide-card h2{font-size:16px}.guide-card p,.guide-card li{font-size:11px}.phase-table{font-size:10px}.phase-table th,.phase-table td{padding:10px 6px}.rest-view{padding:28px;grid-template-columns:1fr;gap:25px}.rest-view h2{font-size:25px}.rest-view p{font-size:12px}.rest-art{width:120px;height:120px}.rest-art .icon{width:55px;height:55px}.dialog-head{padding:21px}.dialog-content{padding:20px 21px}.dialog-head h2{font-size:19px}.dialog-footer{padding:16px 21px}.empty-state{padding:40px 20px}.empty-state h2{font-size:16px}.empty-state p{font-size:11px}}
.recording-hint{padding:13px 24px;background:#edf3e3;border-bottom:1px solid var(--line);font-size:11px;line-height:1.9;color:#637c4a}.recording-hint span{display:block;font-size:10px;color:#8a9b75}.exercise-heading{display:flex;align-items:center;gap:13px;padding:20px 23px 15px}.exercise-body{background:transparent}.set-row,.set-column-head{grid-template-columns:35px minmax(0,1fr) minmax(0,1fr) 78px}.set-column-head{display:grid;gap:9px;align-items:center;margin-top:7px;margin-bottom:8px;font-size:10px;color:#839474}.set-column-head span:last-child{text-align:center}.set-check{display:flex;justify-content:center;align-items:center;gap:4px;width:78px;height:39px;background:#edf3e1;border-color:#c5d4b0;color:#5b7940;font-size:11px;white-space:nowrap}.set-check:hover{background:#dce9c8}.set-check.done:hover{background:#456532}.set-check .icon{width:15px;height:15px}.set-row input{height:39px}.exercise-info{margin-top:15px;border-top:1px solid #e8ecdf}.exercise-info>summary{padding:12px 0 0!important;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:11px;color:#84916e;background:transparent!important}.exercise-info[open]>summary{padding-bottom:14px!important}.exercise-info[open] .exercise-chevron{transform:rotate(180deg)}.exercise-info .primary-reason{padding-top:0}.exercise.checked>.exercise-heading{background:#f2f7e9}.progress-ring>span{display:flex;justify-content:center;align-items:center;gap:2px}.progress-ring>span small{align-self:center;margin:5px 0 0;font-size:10px}
@media(max-width:740px){.exercise-heading{padding:18px 15px 12px;gap:9px}.recording-hint{padding:12px 15px}.set-row,.set-column-head{grid-template-columns:27px minmax(0,1fr) minmax(0,1fr) 68px;gap:6px}.set-check{width:68px;height:42px;font-size:11px}.set-row input{height:42px}.set-column-head{font-size:9px}.exercise-info>summary{font-size:11px}.logging-label{gap:7px}.logging-label>span{max-width:65%}.exercise-info .alternative-box{padding-bottom:0}}
@media(max-width:740px){.exercise-title h3{font-size:14px}.exercise-title p{font-size:11px}.primary-reason,.cue-list{font-size:12px}.alternative-box>span,.alternative-warning{font-size:11px}.alternative-button{font-size:11px}.logging-label{font-size:11px}.exercise-prescription small{font-size:10px}.phase-note{font-size:11px}.hero p{font-size:12px}.session-notes label{font-size:12px}.session-notes textarea{font-size:16px}.library-card p{font-size:11px}.guide-card p,.guide-card li{font-size:12px}.dialog-content p,.dialog-content li{font-size:13px}.dialog-alternative p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body{background:white;color:black;font-size:11px}.sidebar,.page,.timer-dock,.toast,dialog{display:none!important}#print-plan{display:block}.print-header{display:flex;justify-content:space-between;border-bottom:2px solid #222;padding-bottom:14px;margin-bottom:20px}.print-header h1{font-size:24px;margin:0 0 6px}.print-header p{margin:4px 0;font-size:10px}.print-day{break-inside:avoid;margin-bottom:24px}.print-day h2{font-size:16px;margin-bottom:10px}.print-table{width:100%;border-collapse:collapse;font-size:10px}.print-table th,.print-table td{border-bottom:1px solid #ccc;padding:7px;text-align:left;line-height:1.6}.print-notes{font-size:10px;line-height:1.8}@page{size:A4;margin:14mm}}
.goal-summary{margin:20px 0;padding:20px 24px;background:#f0f3e7;border:1px solid #dce3ce;border-radius:16px;line-height:1.85}.goal-summary summary{cursor:pointer;font-weight:700}.goal-summary summary span{font-weight:400;font-size:12px;margin-left:12px}.goal-summary p{margin:12px 0}.equipment-strip{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.equipment-photo{display:flex;align-items:center;gap:10px;text-align:left;background:#f5f6ef;border:1px solid #e3e6d9;border-radius:10px;padding:8px;max-width:260px;color:inherit}.equipment-photo img{width:62px;height:72px;object-fit:contain;background:#e8eade;border-radius:5px}.equipment-photo span{font-size:11px;line-height:1.6}.equipment-photo b{display:block;color:#597543}.enlarged-equipment{display:block;width:100%;max-height:75vh;object-fit:contain;background:#f3f4ee}.optional-panel{margin:24px;padding:20px;background:#f1f4e8;border:1px dashed #9bab84;border-radius:12px;line-height:1.8}.optional-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.optional-title h3{margin:0}.optional-title span{font-size:11px;color:#65764c}.option-ready{display:flex;gap:8px;align-items:center;margin:15px 0}.option-choices{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.optional-panel select{max-width:100%;padding:8px;border:1px solid #b4c19e;border-radius:6px}.optional-number{width:85px;padding:8px;margin:10px;border:1px solid #b4c19e}.optional-history{border-top:1px dashed #ccd4bd;margin-top:14px;padding-top:14px}.alternative-button{white-space:normal;text-align:left;line-height:1.7}.alternative-options{align-items:stretch}.equipment-photo:hover{border-color:#789354}
@media(max-width:740px){.goal-summary{padding:15px}.goal-summary summary span{display:block;margin-left:0}.optional-panel{margin:16px;padding:14px}.equipment-photo{max-width:100%;flex:1 1 140px}.equipment-photo img{width:50px;height:65px}.optional-title{align-items:flex-start}.optional-panel p{font-size:12px}.option-ready{font-size:12px}.optional-panel select{width:100%}.optional-row{grid-template-columns:27px minmax(0,1fr) minmax(0,1fr) 68px}}
.body-card{margin:22px 0}.body-form{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px}.body-form form{background:#f4f6ed;border-radius:12px;padding:20px;display:grid;gap:12px;align-content:start}.body-form h3{margin:0}.body-form h3 span{font-size:12px;font-weight:400}.body-form label{display:grid;gap:6px}.body-form input,.calendar-controls input,.actual-date input,.station-picker select{padding:10px 12px;border:1px solid #cdd6bc;border-radius:7px;background:white;color:#263c30;min-width:0;max-width:100%}.body-form p{margin:0;color:#697361;font-size:12px}.body-form form>div{display:flex;gap:8px;flex-wrap:wrap}.calendar-controls,.actual-date{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 20px;background:#f2f4e9;border-radius:12px;margin:16px 0}.actual-date{margin:12px 24px}.actual-date span,.calendar-controls span{font-size:12px;color:#6f795f}.station-picker{display:grid;gap:6px;margin:10px 0;font-size:12px}.trend-card{padding:24px;margin:22px 0}.trend-card h2{margin:0 0 12px}.trend-card h2 small{font-size:14px;color:#77826b}.chart-scroll,.table-scroll{overflow-x:auto;max-width:100%}.body-chart{width:100%;height:230px}.body-chart text{font-size:12px;fill:#616e58}.body-chart circle{cursor:pointer;stroke:white;stroke-width:2px}.body-chart circle:focus{outline:none;stroke:#d28d43;stroke-width:4px}.chart-detail{background:#f2f5ea;padding:16px;border-radius:8px;line-height:1.9;min-height:60px}.metrics-table{width:100%;border-collapse:collapse;white-space:nowrap}.metrics-table th,.metrics-table td{text-align:left;padding:12px;border-bottom:1px solid #e2e7d7}.photo-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px}.photo-comparison figure{margin:0}.photo-comparison figcaption{font-weight:700;margin:0 0 10px}.photo-comparison img{width:100%;height:320px;object-fit:contain;background:#f1f2eb;border-radius:8px}.equipment-history-row{padding:16px 0;border-bottom:1px solid #e0e6d4;line-height:1.8}.equipment-history-row h3{margin:0 0 6px}.equipment-history-row p{margin:4px 0}.equipment-history-row small{color:#6a755e}#undo-delete{padding:5px 12px;margin-left:8px;border-radius:5px}dialog{max-width:min(1000px,94vw)}
@media(max-width:740px){.body-form{grid-template-columns:1fr;padding:15px;gap:14px}.body-form form{padding:16px}.body-form input{font-size:16px;width:100%}.body-card .panel-header{flex-wrap:wrap;gap:12px}.calendar-controls,.actual-date{padding:12px}.actual-date{margin:12px 15px}.photo-comparison{grid-template-columns:1fr}.photo-comparison img{height:290px}.trend-card{padding:16px}.station-picker select{width:100%;font-size:14px}.sidebar nav{display:flex;justify-content:space-around}.nav-item{min-width:0}.nav-item span{font-size:10px}}
#toast button{pointer-events:auto} #toast{z-index:200}
