:root{color-scheme:dark;--bg:#111814;--surface:#1b241e;--elevated:#253028;--line:#303b32;--fg:#f0f3e9;--muted:#9ba79b;--accent:#c4f574;--accent-text:#c4f574;--accent-ink:#213014;--danger:#ffad9c;--nav:rgba(17,24,20,.96);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-size:15px;line-height:1.5;-webkit-tap-highlight-color:transparent}body.light{color-scheme:light;--bg:#f5f6f0;--surface:#fff;--elevated:#e9eee3;--line:#dce2d6;--fg:#202b20;--muted:#687466;--accent:#c4ed80;--accent-text:#466b20;--accent-ink:#243614;--danger:#b13928;--nav:rgba(245,246,240,.96)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.48;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}svg{display:block;width:24px;height:24px;flex-shrink:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.15;font-weight:650;letter-spacing:-1.3px}h2{font-size:21px;letter-spacing:-.6px;line-height:1.3}h3{font-size:16px;font-weight:600}.shell{max-width:640px;margin:0 auto;padding:0 24px}.topbar{padding:25px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;gap:8px;align-items:center;font-size:26px;letter-spacing:-1.1px;font-weight:750}.brand svg{width:30px;height:30px;color:var(--accent-text)}.brand-dot{color:var(--accent-text)}.sync{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}.sync i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.sync.offline i{background:var(--danger)}.preview-banner{font-size:10px;letter-spacing:1px;color:var(--accent-text);padding:10px 12px;background:var(--surface);border:1px dashed var(--line);border-radius:8px;margin-bottom:20px}main{padding-bottom:160px;min-height:70vh}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:650;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:7px 0 27px}.page-head .icon-btn{margin-top:3px}.muted{color:var(--muted)}.small{font-size:12px}.page-subtitle{margin-top:10px;font-size:13px;color:var(--muted)}.hero{background:var(--accent);color:var(--accent-ink);border-radius:22px;padding:24px;margin-bottom:23px;position:relative;overflow:hidden}.hero .eyebrow{color:var(--accent-ink);opacity:.7}.hero h2{font-size:27px;letter-spacing:-.8px;max-width:310px}.hero p{font-size:13px;margin:9px 0 22px;max-width:340px;opacity:.8}.hero .primary{background:var(--accent-ink);color:var(--accent);width:100%;border-radius:13px}.hero-symbol{position:absolute;right:15px;top:22px;opacity:.14;transform:rotate(-25deg)}.hero-symbol svg{width:100px;height:100px}.hero.active h2{font-size:44px;font-weight:650;font-variant-numeric:tabular-nums}.hero.active h2 span{font-size:15px;letter-spacing:0;margin-left:8px;font-weight:500}.hero-footer{display:flex;justify-content:space-between;align-items:center;margin-top:19px;border-top:1px solid rgba(33,48,20,.18);padding-top:16px}.hero-footer .text-button{color:var(--accent-ink);padding:0}.hero.active .hero-footer .small{opacity:.7}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:27px}.stat{padding:17px 18px;border:1px solid var(--line);border-radius:15px}.stat .stat-number{font-size:25px;letter-spacing:-.7px;font-weight:650}.stat .stat-label{font-size:11px;color:var(--muted);margin-top:2px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 15px;gap:12px}.section-head h2{font-size:18px}.pill{color:var(--muted);font-size:11px;background:var(--elevated);padding:4px 10px;border-radius:20px}.exercise-list{display:grid;gap:10px}.exercise-row{width:100%;display:flex;align-items:center;gap:14px;padding:15px;border-radius:16px;background:var(--surface);text-align:left;border:1px solid transparent;min-height:84px;transition:background .15s}.exercise-row:hover{background:var(--elevated)}.exercise-row:active{border-color:var(--accent-text)}.equipment{width:48px;height:48px;display:grid;place-items:center;background:var(--elevated);border-radius:13px;color:#c0cbb6;flex-shrink:0}.equipment svg{width:29px;height:29px}.exercise-copy{flex:1;min-width:0}.exercise-copy h3{line-height:1.35;font-size:14px}.exercise-copy p{font-size:12px;color:var(--muted);margin-top:5px}.row-end{color:var(--muted);display:flex;align-items:center;gap:5px}.row-end svg{width:18px;height:18px}.set-count{color:var(--accent-text);font-size:12px;font-weight:600;white-space:nowrap}.search{position:relative;margin-bottom:17px}.search svg{position:absolute;top:15px;left:16px;width:19px;height:19px;color:var(--muted)}.search input{padding-left:46px;height:49px;background:var(--surface);border:1px solid var(--line)}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:11px;padding:13px;color:var(--fg);outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--accent-text)}input::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]{appearance:textfield}label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.primary,.secondary,.button{display:flex;justify-content:center;align-items:center;gap:8px;min-height:51px;padding:13px 18px;border-radius:12px;font-weight:650;font-size:14px;text-align:center}.primary{background:var(--accent);color:var(--accent-ink);width:100%}.secondary{background:var(--elevated);color:var(--fg);width:100%}.primary svg,.secondary svg{width:18px;height:18px}.text-button{background:transparent;color:var(--muted);padding:9px 0;font-size:12px}.text-button:hover{color:var(--fg)}.text-button.accent{color:var(--accent-text)}.danger{color:var(--danger)}.icon-btn{background:var(--surface);width:40px;height:40px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;flex-shrink:0}.icon-btn svg{width:19px;height:19px}.back{display:flex;align-items:center;gap:7px;padding:0;color:var(--muted);background:transparent;font-size:12px;margin:0 0 23px}.back svg{width:17px;height:17px}.exercise-title{font-size:29px;letter-spacing:-1px;max-width:410px}.info-line{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin-top:11px}.info-line svg{width:15px;height:15px}.note{font-size:12px;color:var(--muted);border-left:2px solid var(--line);padding-left:12px;margin:16px 0 23px}.entry-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:21px;margin-top:22px}.entry-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.entry-heading h2{font-size:17px}.entry-heading .pill{color:var(--accent-text);font-size:10px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:19px}.counter{border:1px solid var(--line);border-radius:13px;padding:14px 8px 8px}.counter>label{display:block;text-align:center;margin-bottom:3px;font-size:11px}.counter input{font-size:33px;font-weight:600;letter-spacing:-1px;border:0;padding:0 3px 10px;text-align:center;background:transparent;font-variant-numeric:tabular-nums;height:54px}.counter-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.counter-buttons button{height:34px;border-radius:7px;background:var(--elevated);font-size:17px}.counter-buttons button:active{background:var(--accent);color:var(--accent-ink)}.entry-hint{margin-top:12px;text-align:center;font-size:10px;color:var(--muted)}.set-table{width:100%;border-collapse:collapse;margin:8px 0}.set-table th{text-transform:uppercase;font-size:9px;letter-spacing:1px;color:var(--muted);text-align:right;font-weight:500;padding:9px 8px;border-bottom:1px solid var(--line)}.set-table th:first-child,.set-table td:first-child{text-align:left;padding-left:0}.set-table td{padding:14px 8px;text-align:right;font-size:14px;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--line)}.set-table td:last-child{color:var(--accent-text);padding-right:0;width:30px}.set-table td:last-child svg{width:16px;height:16px}.set-index{font-size:11px;background:var(--elevated);border-radius:6px;padding:4px 8px;color:var(--muted)}.previous-card{border:1px solid var(--line);border-radius:15px;padding:16px;margin-top:18px}.previous-card .small{font-size:11px}.previous-sets{font-size:13px;margin-top:8px;line-height:1.9;word-spacing:3px}.photo{width:100%;max-height:260px;object-fit:cover;border-radius:17px;margin:16px 0;background:var(--surface)}.photo[hidden]{display:none}.empty{padding:28px 19px;text-align:center;border:1px dashed var(--line);border-radius:17px;color:var(--muted);font-size:13px}.empty svg{margin:0 auto 13px;width:29px;height:29px;color:var(--accent-text)}.empty h3{color:var(--fg);margin-bottom:7px}.empty .primary{margin-top:19px}.rest-host:empty{display:none}.rest-host{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:min(calc(100% - 32px),592px);z-index:9}.rest-card{border:1px solid #536541;background:var(--elevated);border-radius:17px;box-shadow:0 10px 35px #0004;display:flex;align-items:center;gap:13px;padding:12px 15px}.timer-circle{width:45px;height:45px;position:relative;color:var(--accent-text);display:grid;place-items:center}.timer-circle svg{width:45px;height:45px;transform:rotate(-90deg)}.timer-circle .timer-glyph{position:absolute;width:17px;height:17px;transform:none}.rest-title{font-size:12px;font-weight:600}.rest-time{font-size:20px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.5px}.rest-spacer{flex:1}.rest-card .text-button{font-size:11px}#nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,640px);background:var(--nav);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:11px 10px calc(13px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(4,1fr);z-index:10}#nav button{display:flex;flex-direction:column;align-items:center;gap:6px;background:transparent;color:var(--muted);font-size:9px;padding:4px}#nav button svg{width:21px;height:21px}#nav button.active{color:var(--accent-text)}#nav button.active svg{filter:drop-shadow(0 0 8px #c4f526)}.chart-card{padding:20px 17px;background:var(--surface);border:1px solid var(--line);border-radius:19px;margin:19px 0}.chart-card .chart-number{font-size:37px;letter-spacing:-1px;font-weight:650;margin-top:8px}.chart-number small{font-size:13px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:6px}.chart{width:100%;height:160px;margin-top:15px;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1}.chart-path{stroke:var(--accent-text);stroke-width:2.5;fill:none;stroke-linejoin:round;stroke-linecap:round}.chart-point{fill:var(--accent-text);stroke:var(--surface);stroke-width:3}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:8px}.progress-line{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.progress-value{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.progress-value small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.history-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden}.history-card summary{cursor:pointer;list-style:none;padding:18px;display:flex;align-items:center;gap:13px}.history-card summary::-webkit-details-marker{display:none}.history-card summary h3{font-size:14px}.history-card summary p{font-size:11px;color:var(--muted);margin-top:4px}.history-card .row-end{margin-left:auto}.history-card[open] summary{border-bottom:1px solid var(--line)}.history-body{padding:3px 18px 18px}.history-body h3{margin-top:18px;font-size:13px}.history-set{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:9px 0;border-bottom:1px solid var(--line)}.history-set b{color:var(--fg);font-weight:500}.pagination{display:flex;gap:12px;margin:19px 0}dialog{background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:23px;padding:24px;width:calc(100% - 24px);max-width:480px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.dialog-head h2{font-size:21px}.form-row{display:flex;gap:12px}.form-row>*{flex:1;min-width:0}.form-error{font-size:12px;color:var(--danger);margin:10px 0}.photo-controls{border-top:1px solid var(--line);margin-top:23px;padding-top:20px;display:flex;flex-direction:column}.photo-upload{cursor:pointer;margin-bottom:6px}.photo-controls[hidden]{display:none}#settings-form>.primary{margin-top:20px}#confirm-text{font-size:14px;margin-bottom:24px}#toast{position:fixed;bottom:calc(173px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--fg);color:var(--bg);font-size:12px;padding:13px 20px;border-radius:12px;box-shadow:0 8px 35px #0005;max-width:calc(100% - 40px);width:max-content;z-index:50}.loading{padding:65px 0;text-align:center;color:var(--muted);font-size:13px}.loader{width:27px;height:27px;border:2px solid var(--line);border-top-color:var(--accent-text);border-radius:50%;margin:0 auto 18px;animation:spin .8s linear infinite}.access-error{padding:40px 8px;text-align:center}.access-error>svg{width:40px;height:40px;color:var(--accent-text);margin:0 auto 20px}.access-error h1{font-size:27px}.access-error p{margin:17px 0;color:var(--muted);font-size:13px}.full-width{width:100%}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:700px){.shell{padding:0 32px}.topbar{padding-top:35px}.exercise-list{grid-template-columns:1fr 1fr}.exercise-row{padding:14px;gap:10px}.equipment{width:40px;height:44px}.exercise-copy h3{font-size:13px}.row-end svg{width:14px}.page-head{margin-top:22px}.hero{padding:28px}}@media(max-width:360px){.shell{padding:0 16px}.sync{font-size:9px}h1{font-size:30px}.entry-card{padding:16px}.fields{gap:10px}.exercise-copy h3{font-size:13px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.rest-card>div:nth-child(2){min-width:0}.rest-card .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.rest-time,.rest-card>.text-button{flex-shrink:0}.topbar{padding-top:calc(25px + var(--tg-content-safe-area-inset-top,0px))}
