@font-face{font-family:Nunito;src:url(nunito-400.ttf)}@font-face{font-family:Nunito;src:url(nunito-900.ttf);font-weight:900}*{box-sizing:border-box}body{margin:0;background:#f8f5ee;color:#30213b;font-family:Nunito,Arial,sans-serif;font-size:18px;line-height:1.55}header{max-width:1000px;margin:auto;padding:18px 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #dfd7e0}header a{font-size:24px;font-weight:900;text-decoration:none;color:inherit;margin-inline-end:auto}button,select{font:inherit;min-height:48px;border:1px solid #c8bdce;border-radius:15px;padding:10px 18px;background:#fff;color:#30213b;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:hover{border-color:#533965}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #593976;outline-offset:4px}.primary{background:#376e59;color:#fff;border-color:#376e59;font-weight:900}.secondary{background:#eee4f3}.danger{color:#9c2c38}main{max-width:900px;margin:auto;padding:24px 24px 110px;min-height:65vh}h1,h2,h3{font-weight:900;line-height:1.2}h1{font-size:clamp(30px,5vw,44px);margin:10px 0 20px}h2{font-size:26px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.13em;color:#675873}.muted{color:#695e6d}.status{text-align:center;font-size:13px;margin:10px 20px}.status:empty{display:none}#message{max-width:850px;margin:15px auto;padding:16px;background:#fff2d6;border:1px solid #bda774;border-radius:14px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.hero img{width:100%;border-radius:26px;max-height:350px;object-fit:contain}.empty{max-width:530px;margin:7vh auto;text-align:center}.empty .symbol{font-size:62px;color:#916aa1}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.actions>*{flex:1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.card{background:#fff;border:1px solid #e0d8e3;border-radius:20px;padding:20px}.card img{width:100%;height:180px;object-fit:contain}.card h2{font-size:23px}.exercise{max-width:620px;margin:auto}.exercise .art{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory}.exercise .art img{width:100%;max-height:360px;object-fit:contain;flex-shrink:0;scroll-snap-align:start;border-radius:20px;background:white}.counter{font-size:50px;font-weight:900;text-align:center;font-variant-numeric:tabular-nums;direction:ltr}.exercise .primary{width:100%;font-size:21px}.progress{height:7px;background:#ddd2e2;border-radius:20px;margin:18px 0}.progress span{height:100%;background:#6a947b;display:block;border-radius:20px}details{margin:18px 0;padding:15px;background:#fff;border:1px solid #e0d8e3;border-radius:16px}summary{cursor:pointer;font-weight:900;min-height:30px}li{margin:10px 0}.world{position:relative;background:#eee8e0;border-radius:24px;overflow:hidden}.world img{position:absolute;object-fit:contain}.badge{display:inline-block;padding:5px 12px;background:#e0eee5;color:#254d3b;border-radius:20px;font-size:14px}.history{display:grid;gap:12px}.history article{padding:14px 20px;background:#fff;border-radius:14px;border:1px solid #e0d8e3}.history time{font-size:14px;color:#695e6d}.stats{display:flex;gap:15px;flex-wrap:wrap}.stats .card{flex:1;text-align:center}.stats strong{display:block;font-size:34px}nav{position:fixed;bottom:0;inset-inline:0;display:flex;justify-content:center;gap:8px;background:#fffefa;border-top:1px solid #ddd;padding:10px;z-index:5}nav:empty{display:none}nav button{border:0;font-size:15px;max-width:230px;flex:1}nav button[aria-current=page]{background:#ece2f0;font-weight:900}footer{text-align:center;font-size:12px;padding:12px 24px 90px;color:#695e6d}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.choice{display:block;width:100%;margin:12px 0;text-align:start}blockquote{border-inline-start:3px solid #8ca993;margin:20px 0;padding-inline-start:18px}.safety{font-size:15px}html[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}@media(max-width:650px){header{padding:12px;gap:6px}header a{font-size:20px}header button,header select{font-size:14px;padding:8px}main{padding:18px 16px 100px}.hero{grid-template-columns:1fr}.hero img{max-height:220px;order:-1}.actions{gap:8px}.actions button{padding:10px}.exercise .art img{max-height:300px}}@media(prefers-color-scheme:dark){body{background:#211d26;color:#f5eff7}header,nav{border-color:#514659}header a{color:#f5eff7}.card,details,.history article{background:#302a37;border-color:#514659}.muted,.history time,footer{color:#d2c5d8}nav{background:#302a37}h1,h2,h3{color:#f5eff7}.world{background:#e8e0d5}#message{color:#30213b}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.exercise h1{font-size:30px;margin:12px 0}.exercise .art img{max-height:250px}.exercise .progress{margin:10px 0}.exercise details{margin:10px 0;padding:10px 15px}.exercise .counter{font-size:40px}.exercise .badge{margin:8px 0}.exercise .actions{margin:10px 0}
/* Stable touch controls: counting never replaces the exercise DOM. */
.exercise .rep-tap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:108px;margin:10px 0 16px;background:#e0eee5;border:2px solid #376e59;color:#254d3b;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent}
.exercise .rep-tap .counter{display:block;font-size:48px;line-height:1.2}.rep-hint{font-size:16px}.rep-tap:active:not(:disabled){background:#c8e1d2}.exercise .rep-tap:disabled{opacity:1;cursor:default;border-color:#a3b7ab}.exercise .work-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.exercise .work-actions button{width:100%;min-width:0;min-height:54px;margin:0;font-size:18px;padding:10px 8px}.exercise .minor-actions button{font-size:15px;background:transparent}.exercise button:disabled{cursor:default}.exercise .timer-toggle{display:block;width:100%;min-height:54px;background:#e0eee5;color:#254d3b}.exercise button{touch-action:manipulation}
