:root{font-family:system-ui,sans-serif;line-height:1.5;color:#1a1a1a;background:#f6f6f4;--accent: #1b4d3e;--accent-text: #ffffff;--border: #c8c8c4;--rust: #5a5a56;--fout: #8b1e1e;--melding: #1b4d3e}@media(prefers-color-scheme:dark){:root{color:#f0f0ec;background:#121212;--accent: #6ecfae;--accent-text: #0a0a0a;--border: #444;--rust: #b0b0a8;--fout: #ffb4b4;--melding: #6ecfae}}body{margin:0}.app-shell{max-width:40rem;margin:0 auto;padding:0 1rem 2rem}.site-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.site-title{font-size:1.25rem;font-weight:600;margin:0}.site-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.nav-link{min-height:44px;min-width:44px;padding:.5rem .75rem;display:inline-flex;align-items:center;color:inherit;text-decoration:none;border-radius:6px}.nav-link:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.btn-ghost:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.nav-link-active{font-weight:600;text-decoration:underline}.btn-primary,.btn-secondary,.btn-danger,.btn-ghost{min-height:44px;min-width:44px;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--border);font:inherit;cursor:pointer}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.btn-secondary{background:transparent;color:inherit}.btn-danger{background:transparent;color:var(--fout);border-color:var(--fout)}.btn-ghost{background:transparent;border:none;color:inherit;text-decoration:underline}.form-stack{display:flex;flex-direction:column;gap:.75rem}.form-stack label{font-weight:500}input,select,textarea{min-height:44px;padding:.5rem;font:inherit;border:1px solid var(--border);border-radius:6px;background:inherit;color:inherit}.radio-row,.check-row{display:flex;align-items:center;gap:.5rem;min-height:44px}.fout{color:var(--fout)}.melding{color:var(--melding)}.rustdag{color:var(--rust)}.dag-rust{border-left:4px solid var(--border);padding-left:.75rem}.dag-sport{border-left:4px solid var(--accent);padding-left:.75rem}.speler{text-align:center}.speler-tijd{font-size:3rem;font-weight:700;margin:.5rem 0}.speler-knoppen{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.hint{font-size:.9rem;opacity:.85}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.oefening-kaart{border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.oefening-foto-rij{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}.oefening-foto-strook{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.oefening-foto-strook .oefening-foto-frame{flex:0 0 min(85vw,280px);scroll-snap-align:start}.oefening-foto-frame{position:relative;margin:0}.oefening-stap-markering{font-size:.9rem;margin-top:.35rem}.oefening-stap-badge{position:absolute;top:.5rem;left:.5rem;min-width:2.75rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent, #3d8bfd);color:#fff;font-weight:600}.oefening-sectie,.oefening-sectie.inklap{margin-top:1rem}.oefening-sectie h4,.oefening-sectie.inklap summary{margin:0 0 .5rem;font-size:1rem}.oefening-sectie.inklap summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.oefening-aandacht dt{font-weight:600}.oefening-video-knop{min-height:44px;min-width:44px;margin-top:.75rem}.oefening-video{max-width:100%;margin-top:.75rem;border-radius:6px}.speler-oefening-kort{margin:.75rem 0;font-size:.95rem}.speler-oefening-kop{font-size:1rem;margin:0 0 .35rem}.speler-stappen{margin:0;padding-left:1.25rem}.speler-aandacht{font-size:.9rem;margin:.5rem 0}.speler-aandacht dt{font-weight:600;display:inline}.speler-aandacht dd{display:inline;margin:0 0 .35rem}.speler-aandacht dd:after{content:"";display:block}.oefening-beeld{max-width:100%;border-radius:6px}.oefening-tekstkaart{padding:1rem;background:var(--border);border-radius:6px}.oefening-symbool{font-size:1.5rem;margin-right:.5rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin-bottom:1rem}.oefeningen-telling{font-weight:500;margin-bottom:.75rem}.oefeningen-lijst{list-style:none;padding:0;margin:0}.oefening-lijst-rij{display:flex;gap:1rem;align-items:flex-start;padding:.75rem;margin-bottom:.5rem;border:1px solid var(--border);border-radius:8px;color:inherit;text-decoration:none;min-height:44px}.oefening-lijst-rij:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.oefening-lijst-rij .oefening-beeld{width:72px;height:auto;flex-shrink:0;object-fit:cover}.oefening-lijst-tekstkaart{flex-shrink:0;width:72px;min-height:72px;padding:.35rem;background:var(--border);border-radius:6px;font-size:.65rem;line-height:1.2;display:flex;align-items:center;justify-content:center;text-align:center}.oefening-lijst-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}.oefening-lijst-titel{font-weight:600}.oefening-lijst-kern,.oefening-lijst-stappen{font-size:.9rem;opacity:.9}.oefening-lijst-media{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.15rem .4rem;border-radius:4px;border:1px solid var(--border);width:fit-content}.oefening-variant-nav{margin-top:1rem;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.oefening-variant-nav a{min-height:44px;display:inline-flex;align-items:center;color:inherit}.stand-tabel{width:100%;border-collapse:collapse}.stand-tabel th,.stand-tabel td{border-bottom:1px solid var(--border);padding:.5rem;text-align:left}.rij-winnaar{font-weight:600}.meta{font-size:.9rem;opacity:.9}.kalender-lijst{list-style:none;padding:0}.kalender-lijst li{margin-bottom:1rem}.site-footer{margin-top:2rem;padding:1rem 0;display:flex;gap:.5rem;flex-wrap:wrap}.site-footer a{min-height:44px;display:inline-flex;align-items:center;color:inherit}
