*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--surface: #1a1d27;--surface2: #252836;--border: #2e3147;--accent: #f97316;--accent-dim: #7c3a10;--text: #e8eaf0;--text-muted: #6b7280;--success: #22c55e;--danger: #ef4444;--radius: 10px;--shadow: 0 2px 12px rgba(0,0,0,.4)}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.55;min-height:100dvh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;border-radius:var(--radius);padding:.5rem 1.2rem;transition:opacity .15s}button:disabled{opacity:.45;cursor:not-allowed}input,textarea{font-family:inherit;font-size:inherit;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.35rem .6rem;outline:none;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--accent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--surface2);color:var(--text-muted)}.badge.accent{background:var(--accent-dim);color:var(--accent)}.badge.success{background:#14532d;color:var(--success)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.btn-primary{background:var(--accent);color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){opacity:.85}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface2)}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#1f1515;border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);padding:1rem;margin:1rem 0}.progress-bar{height:6px;border-radius:3px;background:var(--surface2);overflow:hidden}.progress-bar__fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease}.week-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.exercise-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.exercise-prescription{text-align:right;font-size:.85rem;color:var(--text-muted);min-width:100px;flex-shrink:0}.exercise-prescription b{color:var(--text)}@media (max-width: 640px){.week-grid{grid-template-columns:1fr}.exercise-header{flex-wrap:wrap}.exercise-prescription{text-align:left;min-width:unset;width:100%;display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.2rem}.exercise-prescription div{min-width:fit-content}.exercise-illustration{width:48px!important;height:58px!important}.generate-btn-wrap,.generate-btn-wrap button{width:100%}.compare-grid{grid-template-columns:1fr!important}button,input[type=checkbox]{min-height:36px}input[type=checkbox]{width:20px!important;height:20px!important;min-height:unset}.card{padding:1rem .85rem}}[class*=kba-] .kb{transform-box:fill-box;transform-origin:center}@keyframes kba-swing{0%,to{transform:translate(0) rotate(0)}30%{transform:translate(8px,-45px) rotate(8deg)}50%{transform:translate(14px,-72px) rotate(14deg)}70%{transform:translate(8px,-45px) rotate(8deg)}}.kba-swing .kb{animation:kba-swing 1.6s ease-in-out 3}@keyframes kba-press{0%,to{transform:translateY(0)}50%{transform:translateY(-58px)}}.kba-press .kb{animation:kba-press 1.2s ease-in-out 3}@keyframes kba-hinge-up{0%,to{transform:translate(0)}50%{transform:translate(-12px,-62px)}}.kba-hinge-up .kb{animation:kba-hinge-up 1.3s ease-in-out 3}@keyframes kba-rise{0%,to{transform:translateY(0)}50%{transform:translateY(-48px)}}.kba-rise .kb{animation:kba-rise 1.3s ease-in-out 3}@keyframes kba-squat{0%,to{transform:translateY(0)}50%{transform:translateY(20px)}}.kba-squat .kb{animation:kba-squat 1.1s ease-in-out 3}@keyframes kba-pull{0%,to{transform:translate(0)}50%{transform:translate(-22px)}}.kba-pull .kb{animation:kba-pull 1s ease-in-out 3}@keyframes kba-arc{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(22px,36px) rotate(35deg)}}.kba-arc .kb{animation:kba-arc 1.4s ease-in-out 3}@keyframes kba-orbit{0%{transform:translate(0)}25%{transform:translate(28px,-22px)}50%{transform:translateY(-44px)}75%{transform:translate(-28px,-22px)}to{transform:translate(0)}}.kba-orbit .kb{animation:kba-orbit 2s ease-in-out 3}@keyframes kba-side{0%,to{transform:translate(0)}50%{transform:translate(-18px,14px)}}.kba-side .kb{animation:kba-side 1.4s ease-in-out 3}@keyframes kba-twist{0%,to{transform:translate(0)}25%{transform:translate(-32px)}75%{transform:translate(32px)}}.kba-twist .kb{animation:kba-twist 1.2s ease-in-out 3}@keyframes kba-drag{0%,to{transform:translate(0)}50%{transform:translate(-38px)}}.kba-drag .kb{animation:kba-drag 1.3s ease-in-out 3}@keyframes kba-carry{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.kba-carry .kb{animation:kba-carry .55s ease-in-out 6}.exercise-illustration{cursor:pointer;border-radius:6px;outline:1.5px solid transparent;transition:outline-color .2s,opacity .2s}.exercise-illustration:hover{outline-color:var(--accent)}.exercise-illustration.tappable:after{content:"▶";position:absolute;font-size:8px;color:var(--accent);opacity:.6;bottom:2px;right:2px}
