.admin-back{margin-bottom:20px}.training-counts{padding:0 0 30px;border-bottom:1px solid var(--line);margin-bottom:32px}.training-counts h2,.category-heading{font-size:20px;margin:0 0 18px}.training-count-scope{font-size:13px;color:var(--muted);margin:0 0 25px}.training-count-row{border:0;padding:0;margin:0 0 25px;min-width:0}.training-count-row legend{font-size:15px;font-weight:600;margin-bottom:12px}.training-count-fields{display:grid;grid-template-columns:minmax(140px,1.4fr) repeat(2,minmax(75px,1fr));gap:14px;max-width:620px}.training-count-fields label{display:block;min-width:0}.training-count-fields label>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.training-count-fields input,.training-count-fields select{width:100%;min-width:0;font-variant-numeric:tabular-nums}.training-count-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.training-count-actions>span{font-size:13px;color:var(--muted)}@media(max-width:420px){.training-count-fields{grid-template-columns:1fr 1fr;gap:14px}.training-count-fields>label:first-child{grid-column:1/-1}.training-count-fields>label:first-child select{max-width:100%}}.category-summary{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.category-summary>strong{color:var(--ink);margin-right:auto}.category-summary span strong{color:var(--forest);margin-left:5px}.category-toolbar{display:flex;gap:12px;margin:28px 0 15px}.category-toolbar select{min-width:180px}.category-results{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:18px;font-variant-numeric:tabular-nums}.category-list{border-top:1px solid var(--line)}.category-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.category-identity{display:flex;align-items:flex-start;gap:16px;min-width:0}.category-identity>div{min-width:0}.category-identity h2{font-size:17px;line-height:1.45;text-wrap:initial;overflow-wrap:break-word}.category-identity p{font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}.category-preview-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:72px;height:72px;flex-shrink:0;border:0;border-radius:8px;padding:0;background:var(--forest-soft);overflow:hidden}.category-preview-toggle>img{width:100%;height:100%;object-fit:contain}.category-play{position:absolute;bottom:4px;right:4px;background:var(--surface);border-radius:3px;padding:2px;color:var(--forest)}.category-editor{min-width:0}.category-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:0;padding:0;margin:0;min-width:0}.category-options label{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 8px;font-size:13px;cursor:pointer}.category-options input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.category-options label.selected{background:var(--forest-soft);border-color:var(--forest);color:var(--forest)}.category-options label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.category-options:disabled{opacity:.6}.category-check{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid #8b9686;border-radius:3px;flex-shrink:0}.category-options .selected .category-check{background:var(--forest);color:#fff;border-color:var(--forest)}.category-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.category-actions .button-primary,.category-actions .button-secondary{font-size:13px;padding:10px 15px;min-height:44px}.category-actions .text-button{font-size:12px}.category-actions>span{font-size:12px;color:var(--forest);line-height:1.5}.category-actions button:disabled{opacity:.55}.category-validation{font-size:12px;color:#863722;margin-top:10px}.category-editor .error-note{margin:12px 0 0;align-items:flex-start;flex-wrap:wrap}.category-editor .error-note .text-button{font-size:12px;flex-shrink:0}.category-preview{grid-column:1/-1;max-width:650px;width:100%;justify-self:center}.category-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:25px}.category-pagination>span{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.settings-admin{max-width:750px;margin-top:35px;padding-top:28px;border-top:1px solid var(--line)}@media(max-width:1100px){.category-row{grid-template-columns:1fr;gap:18px}.category-editor{max-width:540px}}@media(max-width:760px){.category-summary{gap:10px 16px}.category-summary>strong{width:100%}.category-toolbar{flex-direction:column;gap:10px}.category-toolbar .search-field{flex-basis:auto}.category-toolbar select{width:100%;min-width:0}.category-row{padding:24px 0;gap:18px}.category-identity{gap:12px}.category-identity h2{font-size:16px}.category-options{gap:6px}.category-options label{font-size:13px;padding:10px 5px;gap:5px}.category-actions{gap:8px 14px}.category-pagination .button-secondary{font-size:13px;padding:10px 12px}}@media(max-width:370px){.category-options label{flex-direction:column;gap:6px}.category-pagination{flex-wrap:wrap}}.run-view{padding-top:8px}.run-view h1{text-align:left}.run-distance{max-width:360px;margin:28px 0 36px}.run-distance>label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.run-distance>div{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px}.run-distance input{width:100%;min-width:0;font-variant-numeric:tabular-nums}.run-distance select{width:100%;min-width:0}.run-error{color:#863722;font-size:13px;margin-bottom:18px}.run-action{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.run-action .exercise-target>strong{font-variant-numeric:tabular-nums;font-size:clamp(34px,5vw,58px)}.run-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0;font-variant-numeric:tabular-nums}.run-summary>div{min-width:0}.run-summary dt{font-size:12px;color:var(--muted);margin-bottom:8px}.run-summary dd{margin:0;font-size:22px;font-weight:600;color:var(--forest);overflow-wrap:break-word}.run-summary small{font-size:12px;font-weight:400}.run-summary.run-speed-estimate{grid-template-columns:minmax(0,1fr);max-width:360px}.running-table{overflow-x:auto;max-width:100%;margin-top:25px}.running-table table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;font-variant-numeric:tabular-nums}.running-table caption{text-align:left;font-weight:600;padding:0 0 15px}.running-table th,.running-table td{white-space:nowrap;border-bottom:1px solid var(--line);padding:12px 14px 12px 0}.running-table th{color:var(--muted);font-weight:500}.run-history-label{display:block;font-size:12px;color:var(--muted);margin-top:5px}.run-weather-picker{margin:0 0 28px}.run-city{margin:0 0 24px;max-width:560px}.run-city label,.selected-city span{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.city-results{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--line)}.city-results li{border-bottom:1px solid var(--line)}.city-results li>button{display:block;text-align:left;width:100%;min-height:48px;padding:12px 4px;background:none;border:0;font:inherit;color:var(--forest)}.city-results li>button:hover{background:var(--forest-soft)}.city-search-footer{display:flex;gap:18px;flex-wrap:wrap;align-items:center;min-height:40px;font-size:12px;color:var(--muted)}.city-search-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}.selected-city{display:flex;gap:16px;align-items:center;justify-content:space-between}.selected-city strong{display:block;font-size:16px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}.selected-city>button{flex-shrink:0}.run-conditions{padding:20px 0 0;border-top:1px solid var(--line)}.run-conditions h3{font-size:16px;margin:0 0 18px}.conditions-city{font-size:14px;margin:-8px 0 20px;color:var(--muted)}.conditions-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;font-variant-numeric:tabular-nums}.conditions-values>div{min-width:0}.conditions-values dt{font-size:12px;color:var(--muted);margin-bottom:9px}.conditions-values dd{margin:0;font-size:19px;line-height:1.4;font-weight:600;overflow-wrap:break-word}.conditions-values small{font-size:13px;font-weight:400}.conditions-status{color:var(--muted);font-size:14px;margin:20px 0}.conditions-retry{margin-top:12px}@media(max-width:760px){.run-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.run-summary dd{font-size:23px}.run-action{flex-wrap:wrap;gap:24px}.run-action .exercise-target>strong{font-size:43px}.run-distance{margin:25px 0}.running-table{font-size:12px}}@media(max-width:600px){.conditions-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.selected-city{align-items:flex-start}}@media(max-width:370px){.run-action{align-items:stretch;flex-direction:column}.run-action .timer-actions{width:100%}.run-action .timer-actions>button{width:100%}}.run-city>input{width:100%;min-width:0}.finished-run-time{display:flex;flex-direction:column;gap:10px;margin:25px 0;font-variant-numeric:tabular-nums}.finished-run-time span{font-size:14px;color:var(--muted)}.finished-run-time strong{font-size:36px;line-height:1.2}.settings-data-sources{margin:28px 0;color:var(--muted);font-size:13px}.settings-data-sources summary{min-height:44px;display:flex;align-items:center;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.settings-data-sources a{color:inherit;text-underline-offset:3px}.session-dice{display:flex;align-items:center;gap:16px;padding:12px 0 20px;border-bottom:1px solid var(--line)}.session-dice p{margin:0;line-height:1.5}.dice-stage{width:108px;height:108px;flex-shrink:0;display:grid;place-items:center;perspective:600px}.dice-flight,.dice-cube{width:72px;height:72px;transform-style:preserve-3d}.dice-cube{transform:rotateX(var(--dice-x)) rotateY(var(--dice-y))}.dice-face{position:absolute;inset:0;border:1px solid #bac5b5;border-radius:10px;background:var(--surface);backface-visibility:hidden}.dice-face svg{display:block;width:100%;height:100%;fill:var(--forest)}.dice-face-1{transform:translateZ(36px)}.dice-face-2{transform:rotateY(90deg) translateZ(36px);background:var(--forest-soft)}.dice-face-3{transform:rotateX(90deg) translateZ(36px)}.dice-face-4{transform:rotateX(-90deg) translateZ(36px);background:var(--forest-soft)}.dice-face-5{transform:rotateY(-90deg) translateZ(36px)}.dice-face-6{transform:rotateY(180deg) translateZ(36px);background:var(--forest-soft)}.session-dice[data-rolling=true] .dice-flight{animation:dice-throw var(--dice-duration) both}.session-dice[data-rolling=true] .dice-cube{animation:dice-tumble var(--dice-duration) cubic-bezier(.25,.46,.45,.94) both}@keyframes dice-throw{0%{transform:translate3d(-65px,-18px,0) rotate(-24deg)}38%{transform:translate3d(12px,-24px,0) rotate(12deg)}65%{transform:translate3d(-4px,0,0) rotate(-4deg)}82%{transform:translate3d(2px,-4px,0) rotate(2deg)}to{transform:translateZ(0) rotate(0)}}@keyframes dice-tumble{0%{transform:rotateX(calc(var(--dice-x) + 1440deg)) rotateY(calc(var(--dice-y) + 1440deg))}to{transform:rotateX(var(--dice-x)) rotateY(var(--dice-y))}}@media(max-width:480px){.session-dice{gap:8px}.dice-stage{width:96px}}@media(prefers-reduced-motion:reduce){.session-dice[data-rolling=true] .dice-flight,.session-dice[data-rolling=true] .dice-cube{animation:none}}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-sans-400-CB7WfZ8W.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/dm-sans-700-BQ0abr9c.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/manrope-400-DAjpq4PJ.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/manrope-800-CP-a3Kn4.ttf) format("truetype")}:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c241f;background:#f5f3ed;font-synthesis:none;font-weight:400;font-size:15px;--canvas: #f5f3ed;--surface: #fffefa;--ink: #1c241f;--muted: #657066;--forest: #284d3f;--forest-soft: #e9eee5;--line: #dedfd5;--red: #c8432c;--red-hover: #ae3824;--radius: 12px;--text-meta: 12px;--text-body: 14px;--focus: #a7502f;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a7502f;outline-offset:4px}input,select{accent-color:var(--forest);caret-color:var(--forest)}input::placeholder{color:#6f756f}::selection{color:#fff;background:#284d3f}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{background:#b8bfb2;border-radius:8px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,DM Sans,sans-serif;text-wrap:balance}h1{font-size:42px;letter-spacing:-.035em;line-height:1.2;font-weight:750}h2{font-size:19px;line-height:1.4;letter-spacing:-.02em;font-weight:750}h3{font-size:16px;line-height:1.5}p{line-height:1.65}svg{flex-shrink:0;stroke-width:1.8}button svg{pointer-events:none}.muted{color:var(--muted)}.small{font-size:13px}.green{color:var(--forest)}.button-primary,.button-secondary{min-height:48px;padding:12px 22px;border:0;display:inline-flex;gap:14px;align-items:center;justify-content:center;border-radius:8px;font-weight:600;line-height:1.3;transition:background .15s ease,color .15s ease}.button-primary{background:var(--red);color:#fff}.button-primary:hover:not(:disabled){background:var(--red-hover)}.button-secondary{background:var(--forest-soft);color:var(--forest)}.button-secondary:hover:not(:disabled){background:#dae3d5}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:7px 0;background:none;border:0;font-weight:550;color:var(--forest)}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;border-radius:8px}.icon-button:hover{background:#e8eae1}.button-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.brand{display:flex;align-items:center;font-family:Manrope,sans-serif;font-size:31px;letter-spacing:-.04em;font-weight:800;line-height:1.2}.brand:hover{text-decoration:none}.brand-period{color:var(--red)}.brand-mark{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:10px;background:var(--forest);color:#fff;margin-right:9px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:35px 22px 20px;background:var(--canvas);z-index:5}.sidebar>.brand{padding-left:11px;margin-bottom:50px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{min-height:49px;border:0;border-radius:8px;background:none;display:flex;align-items:center;gap:13px;text-align:left;padding:11px 15px;font-size:var(--text-body);color:#647067;font-weight:500}.sidebar nav button:hover{background:#ecece4;color:var(--ink)}.sidebar nav button.active{background:#e6ebe1;color:var(--forest);font-weight:650}.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--forest);margin-left:auto}.user-badge{border-top:1px solid var(--line);padding:23px 7px 4px;display:flex;align-items:center;gap:10px}.avatar{display:flex;align-items:center;justify-content:center;width:37px;height:37px;background:#dde4d7;color:var(--forest);border-radius:50%;font-weight:700}.user-badge strong{font-size:13px;display:block;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-wrap{margin-left:224px}.main-content{max-width:1250px;margin:0 auto;padding:54px 60px 80px;overflow-anchor:none}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:40px}.streak-badge{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px 13px;border-radius:8px;white-space:nowrap;font-size:var(--text-meta);color:var(--muted);font-variant-numeric:tabular-nums}.streak-badge svg{color:var(--red)}.streak-badge strong{font-size:17px;color:var(--ink)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.section-top>span{color:var(--muted);font-size:var(--text-meta)}.week-section{margin-bottom:44px}.week-heading{flex-wrap:wrap}.week-navigation{display:flex;align-items:center;gap:4px}.week-navigation .icon-button{flex-shrink:0}.week-range{width:30ch;color:var(--muted);font-size:var(--text-meta);text-align:center;font-variant-numeric:tabular-nums}.current-week{min-height:44px;margin-right:8px;flex-shrink:0;white-space:nowrap}@media(max-width:600px){.week-navigation{width:100%}.week-range{width:auto;min-width:0;flex:1}}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.week-day{height:102px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;background:transparent}.week-day>span:first-child{font-size:var(--text-meta);color:var(--muted)}.week-day strong{font-family:Manrope,sans-serif;font-size:22px;font-weight:650;font-variant-numeric:tabular-nums}.week-day.today{border-color:var(--forest);background:#e8ede3}.week-day.today>span:first-child{color:var(--forest);font-weight:700}.week-day.day-completed{background:#edf0e8}.day-marker{height:14px;display:flex;align-items:center;justify-content:center}.day-marker.planned>span{width:5px;height:5px;background:var(--forest);border-radius:50%}.day-marker.complete{color:var(--forest)}.day-marker .rest-dash{width:7px;height:1px;background:#c4cbbf}.week-progress{margin-top:17px;display:flex;align-items:center;gap:16px}.progress-track{height:4px;background:#dfe4d8;flex:1;border-radius:3px;overflow:hidden}.progress-track>div{height:100%;background:var(--forest);border-radius:3px}.week-progress>span{font-size:var(--text-meta);color:var(--muted);white-space:nowrap}.week-progress strong{color:var(--forest);font-weight:650}.train-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px}.next-session{background:var(--forest);border-radius:14px;padding:29px 30px;color:#fff}.next-session h2{display:flex;align-items:center;gap:12px;font-size:32px;line-height:1.2;margin-top:0;letter-spacing:-.03em;font-weight:650}.session-specs{display:flex;gap:30px;flex-wrap:wrap;margin:26px 0 28px}.session-specs>span{display:flex;flex-direction:column;gap:8px;max-width:130px;line-height:1.5;font-size:var(--text-meta);color:#c9d6c5}.spec-amount{font-family:Manrope,sans-serif;display:flex;align-items:center;color:#fff;font-size:20px;font-weight:650;min-height:27px}.next-session .button-primary{width:100%;background:#fff9ed;color:var(--forest);justify-content:space-between;font-size:var(--text-body)}.next-session .button-primary:hover{background:#f0e8d5}.goal-complete{margin-top:35px;display:flex;align-items:center;gap:14px;font-size:13px;color:#e3eddd}.schedule-section>.section-top{margin-bottom:10px}.schedule-section h2{font-size:17px}.schedule-section>p{max-width:32ch;font-size:var(--text-meta);line-height:1.7}.schedule-list{margin-top:20px;border-top:1px solid var(--line)}.schedule-row{display:flex;align-items:center;flex-wrap:wrap;gap:13px;min-height:84px;border-bottom:1px solid var(--line);padding:13px 0}.schedule-date{display:flex;align-items:center;flex-direction:column;gap:4px;width:37px;flex-shrink:0}.schedule-date span{font-size:var(--text-meta);color:var(--muted)}.schedule-date strong{font-family:Manrope,sans-serif;font-size:19px;font-weight:650;font-variant-numeric:tabular-nums}.schedule-detail{display:flex;flex-direction:column;gap:5px;flex:1}.schedule-detail strong{font-size:var(--text-meta);font-weight:600}.schedule-detail>span{font-size:var(--text-meta);color:var(--muted)}.schedule-row>.icon-button{width:44px;flex-shrink:0}.schedule-row.done{color:var(--muted)}.move-panel{width:100%;padding:12px 0 2px;display:flex;flex-direction:column;gap:9px}.move-panel>label{font-size:var(--text-meta);font-weight:600}.move-panel input{font-size:var(--text-meta);min-width:0;width:100%}.move-panel .button-primary,.move-panel .button-secondary{min-height:44px;font-size:var(--text-body);padding:10px 12px}.move-panel .text-button{font-size:var(--text-meta)}.bottom-nav,.mobile-header{display:none}.toast{position:fixed;right:25px;top:20px;background:var(--ink);color:#fff;border-radius:8px;padding:13px 19px;z-index:90;max-width:calc(100vw - 40px);box-shadow:0 6px 20px #1c241f17;font-size:13px}.toast:empty{display:none}.error-note{padding:12px 16px;background:#f8e5df;color:#863722;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;line-height:1.6;margin-bottom:20px}.error-note>.icon-button{height:44px;width:44px;flex-shrink:0}.empty-state{text-align:center;padding:60px 25px;color:var(--muted)}.empty-icon{width:60px;height:60px;background:var(--forest-soft);color:var(--forest);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px}.empty-state h2{color:var(--ink);font-size:21px;margin-bottom:12px}.loading-text{padding:25px 0;color:var(--muted)}.initial-loading,.loading-error{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:25px}.initial-loading svg{color:var(--forest)}.initial-loading p{color:var(--muted);font-size:13px}.telegram-login{margin:22px 0 14px}.player-overlay{position:fixed;inset:0;background:var(--canvas);z-index:50;overflow-y:auto;overscroll-behavior:contain}.player-container{max-width:840px;margin:auto;padding:0 36px 55px}.player-header{height:78px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);font-size:13px}.player-header>.text-button{font-size:var(--text-meta)}.player-header>.icon-button{margin-right:-10px}.player-progress{margin-top:-2px;height:3px;background:var(--line);margin-bottom:35px}.player-progress>div{height:100%;background:var(--forest)}.player-overview{max-width:600px;margin:0 auto}.player-overview ol{list-style:none;padding:0;margin:0 0 35px}.player-overview li{display:flex;gap:19px;border-bottom:1px solid var(--line);padding:24px 0}.player-overview li>span{width:30px;height:30px;border-radius:50%;border:1px solid #c6d0bf;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--forest);font-size:13px}.player-overview li>div{flex:1}.player-overview li h2{font-size:17px}.player-overview li p{font-size:var(--text-meta);color:var(--muted);margin-top:4px}.overview-exercises{margin-top:13px;display:flex;flex-direction:column;gap:8px}.overview-exercises>span{display:flex;gap:15px;justify-content:space-between;font-size:var(--text-meta);color:var(--muted)}.overview-exercises strong{color:var(--ink);font-size:var(--text-meta);white-space:nowrap;font-variant-numeric:tabular-nums}.player-overview>.button-primary{width:100%}.finished-step{opacity:.55}.abandon-link{display:flex;font-size:var(--text-meta);margin:18px auto 0;color:var(--muted)}.exercise-context{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:var(--text-meta);color:var(--muted);margin-bottom:15px}.exercise-context strong{color:var(--forest);font-weight:600}.exercise-view h1{font-size:32px;text-align:center;margin:15px 0 25px}.exercise-media{background:#edece6;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;aspect-ratio:4/3}.exercise-media video,.exercise-media img{display:block;width:100%;height:100%;object-fit:contain}.exercise-media.large{height:350px;max-height:40vh;aspect-ratio:auto;background:#e7e6e0}.exercise-media.large img{image-rendering:auto}.media-placeholder{display:flex;flex-direction:column;align-items:center;gap:15px;color:var(--muted);font-size:var(--text-meta);padding:30px}.exercise-action{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:25px}.exercise-target{display:flex;align-items:baseline;gap:14px;font-variant-numeric:tabular-nums}.exercise-target>strong{font-family:Manrope,sans-serif;font-size:58px;font-weight:650;letter-spacing:-.035em;line-height:1.2}.exercise-target>span{font-size:13px;color:var(--muted)}.exercise-action>.button-primary{min-width:180px}.timer-actions{display:flex;gap:10px}.timer-actions>button{width:210px;flex:none;white-space:nowrap}.player-next{padding-top:23px;border-top:1px solid var(--line);margin-top:27px;font-size:var(--text-meta);color:var(--muted);text-align:center}.player-next strong{color:var(--ink);font-weight:500}.circuit-progress{margin-top:20px}.circuit-progress-track{display:flex;gap:10px;padding-bottom:5px}.circuit-progress-round{display:flex;flex:1;min-width:0;gap:2px}.circuit-progress-segment{flex:1;min-width:0;height:6px;background:var(--line)}.circuit-progress-segment.is-complete{background:var(--ink)}.circuit-progress-segment.is-current{background:var(--red);box-shadow:0 3px 0 var(--canvas),0 5px 0 var(--red)}.circuit-progress-segment.is-timed{background:var(--line)}.circuit-progress-segment.is-timed:before{content:"";display:block;height:100%;background:var(--red);transform:scaleX(var(--exercise-progress, 0));transform-origin:left}.circuit-progress-segment.is-timed.is-running:before{transition:transform .25s linear}@media(prefers-reduced-motion:reduce){.circuit-progress-segment.is-timed.is-running:before{transition:none}}.circuit-progress-remaining{margin:8px 0 0;color:var(--muted);font-size:var(--text-meta);text-align:center;font-variant-numeric:tabular-nums}.feedback-view{max-width:610px;margin:auto}.step-finished{display:flex;align-items:center;gap:9px;color:var(--forest);font-size:13px;margin-bottom:25px}.feedback-view h1{font-size:34px}.feedback-list{margin:34px 0}.feedback-list fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}.feedback-list legend{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;font-size:var(--text-body);font-weight:650;margin-bottom:14px}.feedback-list legend span{font-size:var(--text-meta);color:var(--muted);font-weight:400;white-space:nowrap}.rating-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.rating-options label{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:9px;padding:14px 5px 12px;gap:7px;cursor:pointer;position:relative;min-height:78px;text-align:center;transition:background-color .15s ease,border-color .15s ease}.rating-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}.rating-options label:has(input:focus-visible){outline:3px solid #a7502f;outline-offset:3px}.rating-options strong{font-size:13px;font-weight:550}.rating-options span{font-size:var(--text-meta);color:var(--muted)}.rating-options .selected{background:var(--forest);border-color:var(--forest);color:#fff}.rating-options .selected span{color:#d2dfca}.feedback-view>.button-primary{width:100%}.abandon-confirm{position:fixed;z-index:60;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));padding:30px;background:var(--surface);box-shadow:0 20px 80px #1c241f40;border-radius:14px}.abandon-confirm p{color:var(--muted);font-size:var(--text-body);margin:13px 0 22px}.history-list{border-top:1px solid var(--line)}.history-row{width:100%;display:flex;align-items:center;text-align:left;gap:18px;min-height:99px;background:none;border:0;border-bottom:1px solid var(--line);padding:18px 0}.history-row:hover{background:#eeeee6}.workout-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#e6ebe0;color:var(--forest);flex-shrink:0}.workout-icon.run{background:#eee4d8;color:#8c6042}.history-row>div{flex:1}.history-row>div strong{font-size:15px;display:block;font-weight:600}.history-row>div>span{display:block;color:var(--muted);font-size:var(--text-meta);margin-top:7px}.history-duration{font-variant-numeric:tabular-nums;font-size:19px}.history-duration small{color:var(--muted);font-size:var(--text-meta)}.status-badge{font-size:var(--text-meta);padding:5px 9px;color:var(--muted);background:#eaece4;border-radius:5px;margin-left:12px}.status-badge.completed{color:var(--forest);background:#e3eadb}.history-details{padding-top:40px}.history-step{margin:24px 0}.history-step h3{display:flex;justify-content:space-between;margin-bottom:12px}.history-step h3>span{font-weight:400;font-size:var(--text-meta);color:var(--muted)}.history-exercise{display:grid;grid-template-columns:1fr auto 70px;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.history-exercise>strong{font-size:var(--text-meta)}.history-exercise>span:last-child{text-align:right}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:25px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:25px}.stats-strip>div{display:flex;flex-direction:column;gap:8px}.stats-strip strong{font-family:Manrope,sans-serif;font-size:35px;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stats-strip strong small{font-size:22px;color:var(--muted)}.stats-strip span{font-size:var(--text-meta);color:var(--muted)}.chart-section{padding-top:40px}.chart-section h2{font-size:18px}.chart-legend{display:flex;align-items:center;gap:7px;font-size:var(--text-meta)!important}.chart-legend i{width:7px;height:7px;background:var(--forest);border-radius:2px}.chart-legend i.goal{background:#bfc9b6;margin-left:5px}.chart-frame{height:250px;width:100%;margin-top:30px;min-width:0}.chart-data{font-size:var(--text-meta);margin-top:18px;color:var(--muted)}.chart-data summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;width:fit-content;min-width:44px}.chart-data table{border-collapse:collapse;width:100%;text-align:left;font-variant-numeric:tabular-nums}.chart-data th,.chart-data td{border-bottom:1px solid var(--line);padding:12px}.exercise-stat-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:23px;font-size:var(--text-meta);color:var(--muted)}.exercise-stat-summary strong{font-size:21px;font-weight:600;color:var(--forest);font-variant-numeric:tabular-nums}.select-label{display:block;font-size:var(--text-meta);color:var(--muted);margin:20px 0 9px}.chart-section>select{max-width:370px;width:100%}input:not([type=checkbox]):not([type=radio]),select{min-height:46px;border:1px solid #cdd3c7;border-radius:7px;background:var(--surface);padding:10px 13px;color:var(--ink);max-width:100%;font-size:16px}select{padding-right:28px}.library-toolbar{display:flex;gap:12px;margin-bottom:20px}.search-field{flex:1;min-width:180px;position:relative}.search-field>svg{position:absolute;top:14px;left:13px;color:#7b8675}.search-field>input{width:100%;padding-left:41px!important}.library-toolbar>select{font-size:var(--text-meta);max-width:210px}.library-summary{display:flex;justify-content:space-between;color:var(--muted);font-size:var(--text-meta);margin-bottom:13px;flex-wrap:wrap;gap:8px 16px}.library-summary>span:first-child{color:var(--ink);font-weight:600}.exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;margin-top:28px}.library-exercise{min-width:0;border-bottom:1px solid var(--line);padding-bottom:16px}.exercise-preview-button{display:block;width:100%;border:0;padding:0;background:none;text-align:left}.library-thumbnail{aspect-ratio:4/3;background:#eae8e0;position:relative;display:flex;align-items:center;justify-content:center;border-radius:9px;overflow:hidden}.library-thumbnail>img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.media-type{display:flex;align-items:center;gap:3px;position:absolute;bottom:7px;right:7px;background:#fffef5e8;color:#44513f;border-radius:4px;font-size:var(--text-meta);padding:4px 6px}.library-exercise h2{font-size:13px;line-height:1.5;text-wrap:initial;margin-top:14px;letter-spacing:0;min-height:3em;overflow-wrap:break-word}.exercise-preview-button:hover h2{text-decoration:underline;text-underline-offset:3px}.library-exercise>p{font-size:var(--text-meta);color:var(--muted);margin-top:5px;min-height:16px;line-height:1.6}.exercise-pool-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;min-height:44px}.exercise-pool-row>span{font-size:var(--text-meta)}.pool-available{color:var(--forest)}.toggle{display:block;width:44px;height:44px;position:relative;flex-shrink:0;cursor:pointer}.toggle input{opacity:0;position:absolute;inset:0;cursor:pointer;width:100%;height:100%;margin:0;z-index:1}.toggle>span{display:block;width:34px;height:20px;border-radius:12px;background:#c9cec2;position:absolute;top:12px;right:5px}.toggle>span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s ease}.toggle input:checked+span{background:var(--forest)}.toggle input:checked+span:after{transform:translate(14px)}.toggle input:focus-visible+span{outline:3px solid #a7502f;outline-offset:3px}.library-exercise.excluded .library-thumbnail{opacity:.55}.library-preview-backdrop{position:fixed;z-index:40;inset:0;background:#1c241f66;display:flex;align-items:center;justify-content:center;padding:25px}.library-preview{background:var(--canvas);width:100%;max-width:650px;padding:25px 30px;border-radius:14px;max-height:90vh;overflow-y:auto}.library-preview .section-top{margin-bottom:20px}.library-preview p{font-size:13px;margin:15px 0}.library-preview .exercise-media.large{height:300px}.settings-form{max-width:750px}.settings-section{padding:30px 0;border-top:1px solid var(--line)}.settings-section h2{font-size:19px}.settings-section>p{font-size:13px;color:var(--muted);margin-top:10px;max-width:65ch}.weekday-picker{display:grid;grid-template-columns:repeat(7,minmax(44px,65px));gap:6px;margin:23px -4px 0;padding:4px;overflow-x:auto}.weekday-picker label{width:100%;height:60px;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;position:relative;font-size:var(--text-meta);cursor:pointer}.weekday-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.weekday-picker label.selected{background:var(--forest);border-color:var(--forest);color:#fff}.weekday-picker label:has(input:focus-visible){outline:3px solid #a7502f;outline-offset:3px}.settings-hint{display:flex;align-items:flex-start;gap:11px;font-size:var(--text-meta);color:var(--muted);line-height:1.8;margin-top:20px;max-width:70ch}.settings-hint svg{margin-top:2px;color:var(--forest)}.settings-hint strong{font-weight:550;color:var(--forest)}.field-label{display:block;font-size:13px;font-weight:550;margin:30px 0 10px}.settings-section>input{min-width:300px;font-size:13px}.equipment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:23px}.equipment-options label{min-height:52px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;gap:10px;padding:12px 15px;position:relative;cursor:pointer;font-size:var(--text-meta)}.equipment-options label.selected{background:#e7ede0;border-color:#bacab0}.equipment-options input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.equipment-options label:has(input:focus-visible){outline:3px solid #a7502f;outline-offset:3px}.equipment-check{display:flex;align-items:center;justify-content:center;width:19px;height:19px;border:1px solid #b9c2b0;border-radius:4px;flex-shrink:0}.equipment-options .selected .equipment-check{border-color:var(--forest);background:var(--forest);color:#fff}.settings-save{display:flex;align-items:center;gap:18px;position:sticky;bottom:16px;z-index:8;padding:16px 0;background:var(--canvas);border-top:1px solid var(--line)}.settings-save>span{font-size:var(--text-meta);color:var(--forest);line-height:1.6}.account-section{margin-top:50px;padding-top:30px;border-top:1px solid var(--line);max-width:750px}.account-section h2{font-size:17px;margin-bottom:12px}.account-section>.text-button{color:var(--muted);font-size:13px}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:12px 18px;border-radius:8px;background:var(--forest);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}button:active:not(:disabled){filter:brightness(.95)}button,input,select,summary{scroll-margin:24px}.toggle:has(input:disabled){opacity:.55;cursor:progress}.rating-options label:hover{border-color:var(--forest)}.rating-check{position:absolute;top:7px;right:7px}.library-preview .section-top h2{min-width:0;overflow-wrap:break-word}.library-preview .section-top>.icon-button{flex-shrink:0}.settings-save .button-primary:disabled{opacity:1;background:var(--forest-soft);color:var(--muted)}@media(min-width:1500px){.main-content{padding-top:65px}.page-heading{margin-bottom:48px}.week-section{margin-bottom:50px}.next-session{padding:35px}.train-columns{gap:50px;grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:1250px){.main-content{padding:45px 35px 70px}.sidebar{width:190px;padding-left:15px;padding-right:15px}.main-wrap{margin-left:190px}.train-columns{gap:25px;grid-template-columns:minmax(0,1fr) 265px}.next-session{padding:25px}.session-specs{gap:20px}.spec-amount{font-size:18px}.page-heading h1{font-size:35px}.library-toolbar{flex-wrap:wrap}.library-toolbar .search-field{flex-basis:100%}.exercise-grid{gap:22px 15px}.library-thumbnail{aspect-ratio:4/3}.timer-actions{flex-direction:column}.exercise-target{flex-wrap:wrap;gap:6px 12px}}@media(max-width:1020px)and (min-width:761px){.train-columns{grid-template-columns:1fr}.schedule-section{margin-top:15px}.schedule-section>.small{max-width:100%}.schedule-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.next-session .button-primary{max-width:350px}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{align-items:flex-start}.streak-badge{padding:9px}.streak-badge>span{display:none}.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.history-row{gap:12px}.status-badge{display:inline-flex;margin-left:0;font-size:var(--text-meta);padding:4px 5px}}@media(max-width:760px){:root{font-size:var(--text-body)}.sidebar{display:none}.main-wrap{margin-left:0}.mobile-header{display:flex;align-items:center;justify-content:space-between;height:78px;padding:0 23px;border-bottom:1px solid var(--line)}.mobile-header .brand{font-size:28px}.small-avatar{width:32px;height:32px;font-size:var(--text-meta)}.main-content{padding:28px 20px calc(110px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:28px;gap:12px;align-items:flex-start}.page-heading h1{letter-spacing:-.035em;font-size:30px;line-height:1.25}.streak-badge{padding:8px;gap:5px;border-color:transparent;margin-top:2px;background:#eaece2;flex-shrink:0}.streak-badge svg{width:16px;height:16px}.streak-badge strong{font-size:var(--text-body)}.streak-badge>span{display:none}.section-top{margin-bottom:16px}.section-top h2{font-size:17px}.section-top>span{font-size:var(--text-meta)}.week-strip{gap:4px}.week-day{gap:5px;border-radius:8px;height:82px}.week-day>span:first-child{font-size:var(--text-meta)}.week-day strong{font-size:19px}.day-marker{height:10px}.week-progress{margin-top:14px;flex-wrap:wrap;gap:10px}.week-progress>span{font-size:var(--text-meta)}.week-section{margin-bottom:29px}.train-columns{display:flex;flex-direction:column;gap:30px}.next-session{border-radius:12px;padding:25px 24px}.next-session h2{font-size:30px;margin-top:0}.session-specs{gap:20px;margin:24px 0}.session-specs>span{font-size:var(--text-meta)}.spec-amount{font-size:20px}.next-session .button-primary{min-height:49px;font-size:13px}.schedule-section{padding-top:5px}.schedule-section>.section-top h2{font-size:17px}.schedule-section>p{max-width:45ch;font-size:var(--text-meta)}.schedule-list{margin-top:17px}.schedule-row{min-height:85px;padding:12px 0;gap:15px}.schedule-date{width:39px}.schedule-date strong{font-size:21px}.schedule-detail strong{font-size:13px}.schedule-detail>span{font-size:var(--text-meta)}.schedule-date span{font-size:var(--text-meta)}.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#f8f7f1;border-top:1px solid var(--line);gap:2px;padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.bottom-nav>button{border:0;background:none;padding:5px 0;min-height:54px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--muted);font-size:var(--text-meta)}.bottom-nav>button.active{color:var(--forest);font-weight:700;background:var(--forest-soft);border-radius:8px}.bottom-nav>button.active svg{stroke-width:2.4}.bottom-nav>button svg{width:20px;height:20px}.toast{top:auto;bottom:90px;right:20px;font-size:var(--text-meta)}.empty-state{padding:55px 10px}.empty-state h2{font-size:21px}.player-container{padding:0 22px 45px}.player-header{height:70px;font-size:var(--text-meta)}.player-header>.text-button{gap:5px;font-size:13px}.player-header>.text-button svg{width:16px}.player-header>.icon-button{width:44px}.player-progress{margin-bottom:27px}.player-overview h1{font-size:31px}.player-overview li{gap:14px;padding:21px 0}.player-overview li>span{width:27px;height:27px;font-size:var(--text-meta)}.player-overview li h2{font-size:16px}.player-overview li p{font-size:var(--text-meta)}.overview-exercises>span{font-size:var(--text-meta);gap:10px}.overview-exercises strong{font-size:var(--text-meta)}.exercise-context{gap:10px;align-items:flex-start;font-size:var(--text-meta)}.exercise-context>span{text-align:right;max-width:145px;line-height:1.6}.exercise-view h1{font-size:27px;text-align:left;margin:23px 0}.exercise-media.large{height:280px;max-height:37vh}.exercise-action{margin-top:23px;gap:16px;align-items:center}.exercise-target{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.exercise-target>strong{font-size:51px}.exercise-target>span{font-size:var(--text-meta)}.exercise-action>.button-primary{min-width:132px;padding:12px 16px}.timer-actions{gap:9px}.timer-actions .button-primary,.timer-actions .button-secondary{min-height:44px;padding:11px 12px;gap:7px;font-size:13px}.timer-actions svg{width:16px}.player-next{font-size:var(--text-meta);line-height:1.8;margin-top:26px;padding-top:20px}.feedback-view h1{font-size:29px}.step-finished{font-size:var(--text-meta);margin-bottom:21px}.feedback-list{margin-top:29px}.feedback-list legend{margin-bottom:12px;font-size:var(--text-body);align-items:baseline}.feedback-list legend>span{font-size:var(--text-meta)}.rating-options{gap:7px}.rating-options label{padding:18px 5px 13px;gap:8px}.rating-options strong{font-size:var(--text-body)}.rating-options span{font-size:var(--text-meta);line-height:1.5}.feedback-view>.button-primary{font-size:var(--text-meta)}.history-row{flex-wrap:wrap;padding:16px 0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px 12px;min-height:100px}.workout-icon{width:40px;height:44px;border-radius:10px}.workout-icon svg{width:21px}.history-row>div strong{font-size:var(--text-body)}.history-row>div>span{font-size:var(--text-meta);line-height:1.5}.history-duration{font-size:18px;grid-column:3;grid-row:1;align-self:center}.history-duration small{font-size:var(--text-meta)}.status-badge{display:inline-flex;margin-left:0;font-size:var(--text-meta);padding:4px 5px}.history-row>svg{width:15px;grid-column:3;grid-row:2;justify-self:end}.history-step h3{font-size:13px}.history-step h3>span{font-size:var(--text-meta)}.history-exercise{grid-template-columns:1fr auto 45px;gap:12px;font-size:var(--text-meta)}.history-exercise>strong{font-size:var(--text-meta)}.history-exercise>span:last-child{font-size:var(--text-meta)}.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 20px;padding:23px 0}.stats-strip strong{font-size:32px}.stats-strip span{font-size:var(--text-meta)}.chart-section{padding-top:31px}.chart-section .section-top{flex-wrap:wrap;gap:12px}.chart-section h2{font-size:17px}.chart-legend{margin-left:0}.exercise-stat-summary{flex-direction:column;align-items:flex-start;gap:9px;font-size:var(--text-meta)}.chart-data table{font-size:var(--text-meta)}.chart-data th,.chart-data td{padding:10px 7px}.library-toolbar{gap:9px;margin-bottom:18px}.library-toolbar>select{font-size:var(--text-meta);flex:1;min-width:0;max-width:100%;padding-left:10px}.search-field{flex-basis:100%}.search-field input{font-size:var(--text-meta)}.library-summary{font-size:var(--text-meta);gap:15px;line-height:1.6}.library-summary+p{font-size:var(--text-meta)}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:25px;gap:24px 14px}.library-thumbnail{aspect-ratio:1/1}.library-exercise h2{margin-top:12px;font-size:var(--text-body);line-height:1.45}.library-exercise>p{font-size:var(--text-meta);line-height:1.65}.exercise-pool-row>span{font-size:var(--text-meta);line-height:1.5}.exercise-pool-row{align-items:center;gap:4px}.toggle{width:44px}.toggle>span{width:34px;height:20px;top:12px}.toggle>span:after{width:14px;height:14px}.toggle input:checked+span:after{transform:translate(14px)}.media-type{font-size:var(--text-meta);padding:3px 5px;bottom:6px;right:6px}.library-preview-backdrop{padding:16px}.library-preview{padding:20px;max-height:88vh}.library-preview .section-top h2{font-size:17px}.library-preview p{font-size:var(--text-meta)}.library-preview .exercise-media.large{height:250px}.settings-section{padding:27px 0}.settings-section h2{font-size:17px}.settings-section>p{margin-top:11px;font-size:var(--text-body)}.weekday-picker{margin-top:21px;grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px}.weekday-picker label{height:58px;border-radius:7px;width:100%;font-size:var(--text-meta)}.weekday-picker label svg{width:12px}.weekday-picker .weekday-picker .settings-hint{font-size:var(--text-meta);gap:9px;margin-top:17px}.settings-hint svg{width:16px}.settings-section>input{width:100%;min-width:0;font-size:var(--text-meta)}.field-label{font-size:var(--text-meta);margin-top:26px}.settings-section>.small{font-size:var(--text-meta)}.equipment-options{gap:8px;margin-top:21px}.equipment-options label{min-height:54px;font-size:13px;line-height:1.5;gap:9px;padding:12px 10px}.equipment-check{width:16px;height:16px}.equipment-check svg{width:12px}.settings-save{bottom:calc(72px + env(safe-area-inset-bottom));gap:12px;flex-wrap:wrap;padding:12px 0}.settings-save>.button-primary{font-size:var(--text-meta)}.settings-save>span{font-size:var(--text-meta)}.settings-section>.text-button{font-size:var(--text-meta)}.account-section{margin-top:36px;padding-top:26px}.move-panel .button-secondary{font-size:var(--text-meta);min-height:42px}.move-panel .text-button,.goal-complete{font-size:var(--text-meta)}.abandon-confirm{padding:25px}.abandon-confirm p{font-size:var(--text-meta)}.abandon-confirm .button-primary,.abandon-confirm .button-secondary{font-size:var(--text-meta);padding:12px 14px}.progress-track{min-width:80px}.settings-hint{font-size:13px;line-height:1.65}.settings-save .button-primary{min-width:168px}.library-toolbar>select,.search-field input{font-size:16px}.history-row>.workout-icon{grid-row:span 2}.history-row>div{min-width:0}.history-row>.status-badge{grid-column:2;justify-self:start;font-size:var(--text-meta)}.timer-actions>button{width:160px}}@media(max-width:370px){.main-content,.mobile-header{padding-left:18px;padding-right:18px}.page-heading h1{font-size:26px}.week-day>span:first-child{font-size:var(--text-meta)}.session-specs{gap:22px}.next-session{padding:24px 22px}.spec-amount{font-size:18px}.session-specs>span{font-size:var(--text-meta)}.library-thumbnail{height:115px}.exercise-grid{gap:22px 12px}.exercise-pool-row>span{font-size:var(--text-meta)}.exercise-target>strong{font-size:43px}.timer-actions .button-primary,.timer-actions .button-secondary{padding:11px 9px;font-size:var(--text-meta)}.rating-options span{font-size:var(--text-meta)}.timer-actions>button{width:140px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button,.rating-options label,.toggle>span:after{transition:none}}.user-badge{margin-top:auto}@media(min-width:761px){.train-columns{align-items:start}}.login-page{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:24px}.login-content{width:100%;max-width:380px}.login-content>.brand{margin-bottom:48px}.login-action h1{font-size:32px;margin-bottom:24px}.telegram-login{margin-bottom:16px}.telegram-login>.button-primary,.login-action>.button-primary{width:100%}.setup-note{font-size:14px;color:var(--muted)}.replacement-view{max-width:620px;margin:32px auto}.replacement-view p{line-height:1.6}.replacement-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:24px 0}.replace-exercise{margin-top:16px}.feedback-percentage{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px;font-size:var(--text-meta)}.feedback-percentage input{width:90px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);font:inherit;font-variant-numeric:tabular-nums}.feedback-percentage-hint{color:var(--muted)}.exercise-amount{margin-block:24px;text-align:left;min-width:0}.exercise-amount h3{margin:24px 0 12px}.exercise-amount form{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.exercise-amount label{display:grid;gap:8px;flex:1 1 140px}.exercise-amount input{width:100%;min-width:0}.exercise-amount .button-secondary{min-height:44px}.exercise-action:has(.exercise-amount){flex-wrap:wrap}.exercise-action>.exercise-amount{flex-basis:100%}.amount-history{list-style:none;padding:0;max-height:280px;overflow-y:auto}.amount-history li{padding-block:12px;border-top:1px solid var(--line, #d8ddd4)}.amount-history li div{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between}.amount-history time{display:block;margin-top:4px;font-size:.85rem;color:var(--muted, #647067)}.week-day{color:var(--ink);cursor:pointer;font:inherit}.week-day:hover{border-color:var(--forest)}.week-day[aria-pressed=true]{outline:2px solid var(--forest);outline-offset:3px}.day-training{max-width:760px;margin-top:32px}.day-training>h2{margin-bottom:24px}.day-workout{border-top:1px solid var(--line);padding:24px 0}.day-workout h3{display:flex;align-items:center;gap:10px}.day-exercises{margin-top:24px}.day-exercises details{border-bottom:1px solid var(--line)}.day-exercises summary{cursor:pointer;min-height:44px;padding:16px 0;font-weight:600}.day-exercises .section-count{display:block;margin:4px 0 0 18px;color:var(--muted);font-size:.85rem;font-weight:400}.day-exercises ul{list-style:none;padding:0;margin:0}.day-exercises li{display:flex;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.day-exercises .exercise-media{width:112px;height:84px;flex-shrink:0;margin:0}.day-exercise-info{display:flex;flex:1;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;min-width:0}.day-exercise-info>span{overflow-wrap:anywhere}.day-exercises li strong{white-space:nowrap;font-variant-numeric:tabular-nums}.previous-exercise{margin-top:16px;min-height:44px}.delete-session{color:var(--danger, #a33020);margin-top:20px;min-height:44px}.confirm-dialog{width:min(448px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px #1c241f33;overflow-y:auto;overscroll-behavior:contain}.confirm-dialog[open]{animation:confirm-enter .18s cubic-bezier(.16,1,.3,1)}.confirm-dialog::backdrop{background:#1c241f80}.confirm-content{padding:28px 28px 24px}.confirm-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.confirm-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#f8e5df;color:var(--red)}.confirm-heading .icon-button{color:var(--muted);margin-right:-8px}.confirm-dialog h2{font-size:26px;line-height:1.25;letter-spacing:-.03em;margin:0 0 20px}.confirm-session{display:flex;align-items:center;gap:12px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.confirm-session>svg{color:var(--forest);flex-shrink:0}.confirm-session strong{display:block;font-size:15px;line-height:1.5}.confirm-session span{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:2px}.confirm-description p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}.confirm-description .confirm-warning{color:var(--ink);margin-top:10px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:20px 28px;border-top:1px solid var(--line)}.confirm-actions button{min-height:46px;padding:12px 20px}.confirm-error{font-size:14px;line-height:1.6;color:#863722;background:#f8e5df;border-radius:8px;padding:12px;margin:20px 0 0}@keyframes confirm-enter{0%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.confirm-content{padding:24px}.confirm-actions{padding:18px 24px}.confirm-actions button{flex:1}}@media(prefers-reduced-motion:reduce){.confirm-dialog[open]{animation:none}}.history-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:32px}.history-filters{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px}.history-filters button{min-height:44px;padding:8px 16px;background:transparent;border:0;border-radius:6px;color:var(--muted);font-size:var(--text-body)}.history-filters button:hover{background:var(--forest-soft);color:var(--forest)}.history-filters button[aria-pressed=true]{background:var(--forest);color:var(--surface)}.history-count{color:var(--muted);font-size:var(--text-body);font-variant-numeric:tabular-nums}.history-month{margin-bottom:36px}.history-month-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 14px;font-size:18px}.history-month-heading span{color:var(--muted);font-size:var(--text-meta);font-weight:400}.history-page .history-row{padding-inline:16px;border-bottom:0;border-radius:8px}.history-entry{border-bottom:1px solid var(--line);overflow-anchor:none}.history-row[aria-expanded=true]{background:var(--forest-soft)}.history-row[aria-expanded=true] .history-chevron{transform:rotate(90deg)}.history-chevron{flex-shrink:0;color:var(--muted)}.history-page .history-details{padding:8px 24px 20px 82px}.history-page .history-step{margin:20px 0 0}.history-page .history-step h3{align-items:baseline;gap:16px;font-size:var(--text-body)}.history-page .history-step h3>span{flex-shrink:0}.history-page .history-exercise{grid-template-columns:minmax(0,1fr) auto 64px;align-items:baseline;line-height:1.6}.history-page .history-exercise>span:first-child{text-align:left;overflow-wrap:anywhere}.history-rating{color:var(--muted);font-size:var(--text-meta);text-transform:capitalize}.history-page .history-exercise:last-child{border-bottom:0}@media(max-width:600px){.history-toolbar{gap:12px;margin-bottom:28px}.history-filters{width:100%}.history-filters button{flex:1;padding-inline:8px}.history-page .history-row{padding-inline:8px}.history-page .history-details{padding:4px 8px 20px}.history-page .history-exercise{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.history-page .history-exercise>.history-rating{grid-column:1 / -1;text-align:left}}.day-markers{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.relaxation-media{height:350px;max-height:40vh;border-radius:12px;background:#e7e6e0;color:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.week-day.day-registered{border-color:var(--forest)}.week-day.day-registered strong{position:relative}.registration-dot{position:absolute;top:0;right:-9px;width:5px;height:5px;border-radius:50%;background:var(--forest)}.week-day.before-registration{color:var(--muted);border-style:dashed}.registration-note{color:var(--forest);font-size:var(--text-meta);margin-top:16px}.day-training>.registration-note{margin-top:-12px;margin-bottom:24px}
