.ji-workshop{max-width:62rem;margin:2rem auto;padding:clamp(1rem,3vw,2rem);border:2px solid #263c50;border-radius:1rem;background:#fffaf0;color:#263c50;font-size:1.1rem;line-height:1.55}
.ji-workshop *{box-sizing:border-box}.ji-workshop h2{line-height:1.2}.ji-workshop button,.ji-workshop select{min-height:44px;min-width:44px;border:2px solid #263c50;border-radius:.5rem;background:#fff;color:#263c50;padding:.65rem 1rem;font:inherit;cursor:pointer;white-space:normal}
.ji-workshop button:hover{background:#e6f2f3}.ji-workshop button:disabled{opacity:.55;cursor:default}.ji-workshop :focus-visible{outline:4px solid #b64e12;outline-offset:3px}.ji-workshop svg{display:block;width:100%;height:auto}.ji-workshop label{display:block;font-weight:700}.ji-workshop select{width:100%;margin:.6rem 0 1rem}.ji-workshop summary{cursor:pointer;padding:.7rem 0;min-height:44px}.ji-route{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:0;list-style:none;font-size:.85rem}.ji-route li{border-bottom:5px solid #ddd7c9;padding:.45rem}.ji-route li[data-complete=true]{border-color:#167d92}.ji-pieces{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));list-style:none;gap:1rem;padding:0}.ji-pieces li{display:flex;flex-direction:column;gap:.45rem;padding:1rem;background:white;border:1px solid #263c50;border-radius:.6rem}.ji-pieces svg{margin:.25rem 0}.ji-controls{display:flex;flex-wrap:wrap;gap:.65rem}.ji-feedback{min-height:1.6em;font-weight:650}.ji-total{font-size:1.3rem}.ji-workshop dl{display:grid;grid-template-columns:1fr auto;gap:.5rem}.ji-workshop dd{margin:0}.ji-workshop [role=alert]{color:#9b291d}@media(max-width:500px){.ji-route{grid-template-columns:repeat(2,1fr)}.ji-workshop{margin:1rem 0}.ji-controls button{flex:1 1 45%}}@media(prefers-reduced-motion:reduce){.ji-workshop *{animation:none!important;transition:none!important}}

.ji-workshop h2{font-size:1.65rem;letter-spacing:-.02em;text-transform:none;color:#263c50;margin:1rem 0}.ji-route li{overflow-wrap:anywhere}.ji-workshop p{max-width:65ch}

/* Un ocultamiento estático del enlace de salto sigue siendo necesario con movimiento reducido. */
@media(prefers-reduced-motion:reduce){.ji-page .salto:not(:focus){transform:translateY(-200%)!important}}
.ji-route svg{max-height:42px;margin-top:.4rem}
