.badge-lesson .water-heading h1{font-size:clamp(56px,7.1vw,108px)}
.badge-lesson .water-heading__intro{padding-right:0}.badge-lesson .water-workbench{grid-template-columns:minmax(0,1fr) 320px}
.badge-stage{position:relative;flex:1;min-height:640px;aspect-ratio:1.35;overflow:hidden;background:#f5f5f2}
.badge-stage canvas,.badge-fallback{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}.badge-stage[data-ready=true] .badge-fallback{display:none}
.badge-grab{position:absolute;padding:0;border:0;border-radius:12px;background:none;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform}.badge-grab[data-dragging=true]{cursor:grabbing}.badge-grab:focus-visible{outline:2px solid var(--blue);outline-offset:7px}
.badge-hud{position:absolute;left:24px;right:24px;top:23px;display:flex;justify-content:space-between;pointer-events:none;font:8px monospace;letter-spacing:.09em;color:#687473}.badge-foot{position:absolute;bottom:23px;left:24px;right:24px;text-align:center;font:8px/1.7 monospace;letter-spacing:.06em;color:#78817e;pointer-events:none}
.badge-lesson .water-visual{background:#f5f5f2}.badge-lesson .water-stages button[aria-pressed=true]{background:#dfe4dc;color:#202923}
.badge-lesson .water-controls h3{font-size:28px;margin:22px 0}.badge-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding-bottom:10px;gap:6px;margin-bottom:22px}.badge-tabs button{min-height:44px;font-size:12px;border:0;background:none;color:var(--muted)}.badge-tabs button[aria-selected=true]{background:#e1e6de;color:var(--ink);border-radius:3px}
.badge-panel[hidden]{display:none}.badge-panel .water-range{margin:24px 0}.badge-panel small{font-size:10px;line-height:1.7;display:block}.badge-panel .water-range>span{font-size:12px}.badge-field{display:block;margin:18px 0;font-size:12px}.badge-field input,.badge-field select{display:block;width:100%;min-height:44px;margin-top:9px;padding:10px;border:1px solid var(--line);background:transparent;font:inherit;color:var(--ink);border-radius:2px}
.badge-rig{display:flex;gap:10px;align-items:center;min-height:44px;border-top:1px solid var(--line);font-size:12px}.badge-rig input{width:17px;height:17px;accent-color:var(--blue)}.badge-action{display:flex;justify-content:space-between;align-items:center;min-height:44px;border:0;border-top:1px solid var(--line);padding:12px 0;background:none;width:100%;font-size:12px;color:var(--blue)}.badge-download{font-size:12px}.badge-download a{text-decoration:underline;padding:8px 0;display:inline-block}
.badge-lesson .water-story__intro{position:static}.badge-lesson .water-chapter p{font-size:14px}.badge-diagram{display:block;width:100%;height:auto;margin:25px 0 12px;border:1px solid var(--line);background:#e8eae3}.badge-caption{font-size:11px!important;line-height:1.7!important}.badge-lesson .water-further pre{white-space:pre-wrap;overflow-wrap:anywhere}.badge-lesson button,.badge-lesson select,.badge-lesson summary{cursor:pointer}.badge-lesson button:focus-visible,.badge-lesson input:focus-visible,.badge-lesson select:focus-visible,.badge-lesson summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:1000px){.badge-lesson .water-workbench{grid-template-columns:minmax(0,1fr) 280px}.badge-stage{min-height:600px}}
@media(max-width:700px){.badge-lesson .water-heading h1{font-size:clamp(44px,11vw,76px)}.badge-lesson .water-workbench{display:block}.badge-stage{min-height:0;aspect-ratio:1/1.2}.badge-lesson .water-controls{display:block}.badge-stage .badge-hud{left:16px;right:16px;font-size:7px}.badge-foot{left:16px;right:16px;font-size:7px;bottom:14px}.badge-lesson .water-stages button span{display:block}.badge-lesson .water-story h2{font-size:clamp(40px,11vw,53px)}}
