/* Talleres temáticos: controles táctiles y dibujos contenidos. */
.field-workshop{max-width:940px;margin:1rem auto;min-width:0}
.field-workshop .btn{min-height:44px;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.field-workshop fieldset{border:1px solid var(--line,#dce4e5);border-radius:12px;padding:1rem;margin:1rem 0;min-width:0}
.field-workshop legend{font-weight:600;padding:0 .4rem}
.field-controls>div,.field-controls:not(fieldset){display:flex;flex-wrap:wrap;gap:.6rem}
.field-workshop .field-selected{background:#e3eeea;border-color:#4d7265;box-shadow:inset 0 0 0 1px #4d7265}
.field-reference{font-size:.9rem;line-height:1.55;border-left:3px solid #a5b7b0;padding:.6rem 1rem}
.field-diagram{max-width:680px;margin:1rem auto;border:1px solid var(--line,#dce4e5);border-radius:12px;overflow:hidden;background:var(--surface,#fff)}
.field-diagram svg{display:block;width:100%;height:auto}
.field-diagram .field-link{stroke:#a7b5b0;stroke-width:5;fill:none}
.field-hit{cursor:pointer;fill:#f6f8f7;stroke:#7c9188;stroke-width:1.5}
.field-hit text{fill:#273b32;stroke:none;font-size:13px;pointer-events:none}
.field-hit.field-selected{fill:#d5e9df;stroke:#39654e;stroke-width:3}
.field-hit:focus{outline:none;stroke:#245d80;stroke-width:4}
.field-timeline{min-height:80px;border:1px dashed #a7b8b0;border-radius:10px;padding:1rem 1rem 1rem 2.4rem}
.field-timeline li{margin:.6rem 0}
.field-calendar,.field-casebook,.field-care,.field-bracket,.field-profiles,.field-lens,.field-service-board,.field-forecast-chart{border:1px solid var(--line,#dce4e5);border-radius:12px;padding:1rem;margin:1rem 0;background:var(--surface,#fff);min-width:0}
.field-calendar>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}
.field-calendar .btn{padding:.4rem;min-width:0}
.field-scoreboard{padding:1rem;border:2px solid #b3c3ba;border-radius:12px;margin:1rem 0;font-variant-numeric:tabular-nums}
.field-scoreboard>div{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.field-scoreboard>div>div{display:grid;grid-template-columns:repeat(2,minmax(60px,1fr));gap:.5rem;min-width:150px;text-align:center}
.field-scoreboard strong,.field-scoreboard output{grid-column:span 2}
.field-scoreboard output{font-size:2.2rem;font-weight:600}
.field-kit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.field-kit .btn{display:flex;flex-direction:column;gap:.7rem;padding:1.3rem}
.field-kit strong{font-size:.85rem}
.field-bag{border:2px solid #a2b4ab;border-radius:15px 15px 30px 30px;padding:1.5rem;margin:1rem auto;max-width:300px;text-align:center}
.field-weather-picture{display:block;width:100%;height:auto;max-height:300px;border-radius:12px;border:1px solid #c2cdd0}
.field-thermometer{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem;border:1px solid #b9c9c0;border-radius:14px}
.field-thermometer>div{height:220px;width:40px;border:2px solid #839c90;border-radius:20px;background:#edf1ee;position:relative;overflow:hidden}
.field-thermometer span{position:absolute;bottom:0;width:100%;background:#80a8b5}
.field-thermometer output{font-size:2rem;font-variant-numeric:tabular-nums}
.field-thermometer label{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.field-thermometer input{box-sizing:border-box;width:110px;max-width:100%;min-height:44px;padding:.5rem;font:inherit;border:1px solid #9aafa2;border-radius:10px}
.field-specimen{max-width:200px;margin:1rem auto;transition:none}
.field-specimen.field-enlarged{max-width:380px}
.field-specimen svg{display:block;width:100%;height:auto}
.field-eco-switches fieldset{display:flex;flex-wrap:wrap;gap:.6rem}
@media(max-width:600px){.field-workshop fieldset{padding:.65rem}.field-controls .btn{flex:1 1 auto}.field-kit{grid-template-columns:1fr}.field-calendar>div{grid-template-columns:repeat(4,minmax(0,1fr))}.field-reference{padding:.5rem .7rem}.field-diagram{overflow:auto}.field-diagram svg{min-width:360px}.field-thermometer{gap:.7rem}}
.field-illustrated{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.field-illustrated .btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.8rem}
.field-illustrated svg,.field-kit svg{display:block;width:100%;height:auto;max-height:145px}
.field-illustrated .btn:empty{display:none}
.field-closed{stroke:#ac8c88!important;stroke-dasharray:7 5}
.field-weather-picture{max-width:670px;max-height:none;margin:1rem auto}
.field-illustrated svg,.field-kit svg{max-width:200px;max-height:none;margin:auto}
.field-profile-note{font-size:.86rem;line-height:1.45;font-weight:400}
