:root{--color-bg:#111;--color-surface:#1a1a1a;--color-surface-alt:#181818;--color-border:#333;--color-border-active:#4caf50;--color-text:#eee;--color-text-dim:#bbb;--radius-sm:4px;--radius-md:6px;--focus-ring:0 0 0 2px rgba(76,175,80,.6);--transition-fast:.18s cubic-bezier(.4,0,.2,1);--max-width:880px}@media (prefers-color-scheme: light){:root{--color-bg:#fafafa;--color-surface:#fff;--color-surface-alt:#f5f5f5;--color-text:#111;--color-text-dim:#444;--color-border:#ddd}}html{-webkit-text-size-adjust:100%}body{font-family:system-ui,Arial,sans-serif;margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.45}body,button,input{font-size:16px}.app{padding:clamp(.75rem,2.5vw,1.25rem);margin:0 auto;max-width:var(--max-width)}.app h1{margin:0 0 .75rem;font-size:clamp(1.4rem,4.5vw,2.25rem);letter-spacing:.5px}header.app-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;padding:.6rem clamp(.75rem,2vw,1rem);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:.75rem}@media (prefers-color-scheme: light){header.app-header{background:#ffffffb3}}header.app-header h1{font-size:1.1rem;margin:0}@media (min-width:620px){header.app-header h1{font-size:1.35rem}}@media (max-width:520px){header.app-header{flex-wrap:wrap;gap:.5rem;padding:.55rem .6rem}header.app-header h1{flex:1 1 100%;font-size:1rem}header.app-header .level-select,header.app-header .theme-toggle{order:10}header.app-header .level-select{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap}header.app-header .level-select button{flex:0 0 auto;font-size:.6rem;padding:.45rem .6rem}.theme-toggle button{font-size:.55rem;padding:.35rem .5rem}}@media (max-width:380px){header.app-header{padding:.5rem}header.app-header .level-select button{font-size:.55rem;padding:.4rem .5rem;letter-spacing:.3px}.theme-toggle{gap:.25rem}.theme-toggle button{font-size:.5rem;padding:.3rem .45rem}}.theme-toggle{display:flex;gap:.4rem;align-items:center}.theme-toggle button{font-size:.65rem;padding:.4rem .55rem;text-transform:uppercase;letter-spacing:.5px}.theme-toggle button[aria-pressed=true]{background:var(--color-border-active);border-color:var(--color-border-active);color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:.75rem;padding:.65rem .9rem calc(env(safe-area-inset-bottom) + .65rem);background:linear-gradient(180deg,#0003,#000000a6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #222}@media (min-width:760px){.action-bar{position:static;background:transparent;padding:0;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}}.action-bar button{flex:1;font-size:.9rem;font-weight:600}.action-bar .secondary{background:var(--color-surface-alt)}.action-bar .primary{background:var(--color-border-active);border-color:var(--color-border-active);color:#fff}.action-bar .primary:hover,.action-bar .primary:focus-visible{background:#58c15b}[data-theme=light]{--color-bg:#fafafa;--color-surface:#fff;--color-surface-alt:#f5f5f5;--color-text:#111;--color-text-dim:#444;--color-border:#ddd}[data-theme=dark]{--color-bg:#111;--color-surface:#1a1a1a;--color-surface-alt:#181818;--color-text:#eee;--color-text-dim:#bbb;--color-border:#333}.level-select{display:flex;flex-wrap:wrap;gap:.5rem}.level-select button{margin:0;background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border);padding:.5rem .9rem;border-radius:var(--radius-sm);cursor:pointer;line-height:1;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;font-weight:600;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.level-select button:hover:not([disabled]),.level-select button:focus-visible:not([disabled]){background:#222;border-color:#555;outline:none;box-shadow:var(--focus-ring)}.level-select button[disabled]{background:var(--color-border-active);color:#fff;cursor:default;border-color:var(--color-border-active)}.level-select button:active:not([disabled]){transform:translateY(1px)}button{font-family:inherit;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);padding:.55rem .95rem;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}button:hover,button:focus-visible{background:#222;outline:none}button:active{transform:translateY(1px)}button.prominent-skip{background:#b71c1c;border-color:#b71c1c;color:#fff;font-weight:600}button.prominent-skip:hover,button.prominent-skip:focus-visible{background:#d32f2f}@media (max-width:600px){body,button,input{font-size:15px}.app h1{font-size:clamp(1.35rem,6.5vw,2rem)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.exercise-box{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 10px 12px;margin-bottom:10px;background:var(--color-surface);transition:box-shadow var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast)}.exercise-box[data-state=active]{border-color:var(--color-border-active);box-shadow:0 0 0 2px #4caf5040,0 4px 10px -2px #0000008c;background:linear-gradient(135deg,var(--color-surface),#252525);transform:translateY(-2px)}.exercise-box[data-state=active]:before{content:"";position:absolute;inset:0;border-radius:6px;padding:1px;background:linear-gradient(90deg,#4caf50,#9ccc65,#4caf50);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35;pointer-events:none}.exercise-box[data-state=completed]{opacity:.5;border-color:#2e7d32}.exercise-box[data-state=pending]{opacity:1}.exercise-badge{position:absolute;top:-10px;left:-10px;background:#4caf50;color:#fff;font-size:.65rem;padding:4px 7px;border-radius:999px;box-shadow:0 2px 6px #0006;letter-spacing:.5px;text-transform:uppercase}.exercise-box[data-state=active] .exercise-badge{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}.exercise-status-flag{font-size:.7rem;margin-left:6px;color:var(--color-text-dim)}.exercise-box[data-state=completed] .exercise-status-flag{color:#81c784}.exercise-next-rest{font-size:.7rem;margin-top:4px;color:#ccc}.exercise-media img{box-shadow:0 2px 6px #00000080;background:#000;max-width:100%;height:auto}.exercise-media{display:block;width:100%}.exercise-media .responsive-media{width:100%!important;max-width:none!important}@media (min-width:720px){.circuit{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.exercise-box{margin-bottom:0}}.day-view>div strong:first-child+span,.guidance-card{font-size:.85rem}.guidance-card{background:var(--color-surface-alt);border:1px solid var(--color-border);padding:.75rem .9rem;border-radius:var(--radius-md);margin:.75rem 0 1rem;line-height:1.35}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.circuit{scroll-snap-type:y proximity}.exercise-box{scroll-snap-align:start}@media (max-width:600px){.exercise-box{padding:9px 9px 11px}.exercise-item>div{gap:6px!important}.exercise-media img{max-width:100%!important}}:focus-visible{outline:2px solid var(--color-border-active);outline-offset:2px}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem 2rem;overflow:auto;z-index:120}.modal-window{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0;box-shadow:0 10px 28px -6px #0000008c;animation:modalIn .35s ease;max-width:100%}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .9rem;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:1rem}.modal-header button{background:transparent;border:1px solid var(--color-border);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;border-radius:var(--radius-sm)}.modal-body{padding:.85rem .95rem 1.25rem;max-width:100%}.settings-panel fieldset{border:1px solid var(--color-border);padding:.75rem 1rem 1rem;border-radius:var(--radius-sm)}.settings-panel legend{padding:0 .4rem;font-weight:600}.setting-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin:.4rem 0}.progress-summary p{margin:.25rem 0 .5rem}.progress-summary ul li:last-child{border-bottom:0}@media (max-width:640px){.circuit.one-per-screen{display:block}.circuit.one-per-screen .exercise-box{margin-bottom:0;min-height:calc(100dvh - 230px);display:flex;flex-direction:column;justify-content:flex-start;padding-top:1rem}.circuit.one-per-screen .exercise-box:not([data-state=active]){display:none}.circuit.one-per-screen .exercise-box[data-state=active] .exercise-badge{top:6px;left:6px}.circuit.one-per-screen .exercise-box[data-state=active] .exercise-item>div{justify-content:flex-start}.circuit.one-per-screen .responsive-media,.circuit.one-per-screen .responsive-media img{max-height:45vh}}.media-lightbox{position:fixed;inset:0;z-index:200;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .25s ease}.media-lightbox .close-btn{position:absolute;top:12px;right:12px;background:#222;border:1px solid #444;color:#fff;width:38px;height:38px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.media-lightbox .close-btn:hover,.media-lightbox .close-btn:focus-visible{background:#333}.media-lightbox-inner{max-width:100%;max-height:100%;width:100%;display:flex;align-items:center;justify-content:center}.media-lightbox-inner img{max-width:100%;max-height:85vh;object-fit:contain}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.responsive-media{position:relative;width:100%;max-width:100%}@media (min-width:600px){.responsive-media{max-width:100%}}@media (min-width:900px){.responsive-media{max-width:100%}}.circuit.one-per-screen .responsive-media,.circuit.one-per-screen .responsive-media img{max-height:45vh}@media (max-width:600px){.exercise-media img{max-width:100%!important}}
