/* Goal100 Knot and Stitch Player styles (job "knots"). 44 px taps, 16 px text, no sideways scroll. */
.kp{max-width:100%;overflow:hidden;border-radius:16px;background:var(--card,#fff);border:1px solid rgba(80,90,140,.18);padding:10px;box-sizing:border-box}
.kp *{box-sizing:border-box}
.kp-stage{position:relative;width:100%;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#ffffff 0%,#EEF1FB 70%,#DDE2F4 100%);touch-action:pan-y}
.kp-cv{display:block;width:100%;height:280px;cursor:grab;outline:none}
.kp-cv:focus-visible{box-shadow:inset 0 0 0 3px #5B6BD6}
.kp-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:16px;color:#3B3F58}
.kp-count{position:absolute;top:8px;right:8px;background:#1F2347;color:#fff;border-radius:999px;padding:6px 14px;font-size:20px;font-weight:800;min-width:44px;text-align:center}
.kp-cap{margin:10px 2px 4px;font-size:16px;line-height:1.45;min-height:3.2em}
.kp-stepno{font-size:13px;font-weight:700;color:#5B6BD6;text-transform:uppercase;letter-spacing:.04em}
.kp-stepno .es{text-transform:none;letter-spacing:0;font-weight:600;margin-left:6px}
.kp-txt{margin:4px 0;font-size:17px}
.kp-cap p.es{margin:2px 0;font-size:15px;color:#4A5070}
.kp-dots{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.kp-dot{min-width:44px;min-height:44px;border-radius:12px;border:2px solid #C9CCE0;background:#fff;font-size:16px;font-weight:700;color:#3B3F58;cursor:pointer}
.kp-dot.done{background:#E6F6F1;border-color:#2BA48F}
.kp-dot.on{background:#5B6BD6;border-color:#5B6BD6;color:#fff}
.kp-ctrl{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.kp-b{min-height:44px;min-width:44px;padding:8px 12px;border-radius:12px;border:2px solid #C9CCE0;background:#fff;font-size:16px;font-weight:700;color:#1F2347;cursor:pointer;flex:1 1 auto}
.kp-b[aria-pressed="true"]{background:#FFF3D6;border-color:#E0A826}
.kp-main{background:#5B6BD6;border-color:#5B6BD6;color:#fff;flex:2 1 120px}
.kp-b:focus-visible,.kp-dot:focus-visible{outline:3px solid #E0A826;outline-offset:2px}
.kp-es-ctrl{font-size:14px;color:#4A5070;margin:2px 0 6px}
.kp-all{margin:6px 0;font-size:16px}
.kp-all summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}
.kp-all ol{list-style:none;padding:0;margin:4px 0}
.kp-all li{padding:6px 0;border-top:1px solid rgba(80,90,140,.12)}
.kp-all li .es{display:block;color:#4A5070;font-size:15px}
.kp-check{margin-top:8px;padding:10px;border-radius:12px;background:#F6F8FF}
.kp-check ul{list-style:none;padding:0;margin:6px 0 0}
.kp-check label{display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:6px 0;font-size:16px;cursor:pointer}
.kp-check input{width:26px;height:26px;flex:0 0 26px;margin-top:2px}
.kp-check .es{display:block;color:#4A5070;font-size:15px}
.kp .small{font-size:14px}
body:not(.es-on) .kp .es,html:not([lang^="es"]) body:not(.es-on) .kp .es{display:none}
body.es-on .kp .es,html[lang^="es"] .kp .es{display:block}
body.es-on .kp-stepno .es,html[lang^="es"] .kp-stepno .es{display:inline}
@media (max-width:420px){.kp-b span{font-size:15px}.kp-b{padding:8px 8px}}
@media (prefers-reduced-motion:reduce){.kp *{transition:none!important;animation:none!important}}
.dark .kp,[data-theme="dark"] .kp{background:#1B1F3A;border-color:#33395F;color:#EEF1FB}
.dark .kp-b,.dark .kp-dot,[data-theme="dark"] .kp-b,[data-theme="dark"] .kp-dot{background:#262B4D;color:#EEF1FB;border-color:#3A4170}
.dark .kp-check,[data-theme="dark"] .kp-check{background:#232847}
