.foil-lesson .water-heading h1{font-size:clamp(53px,7.5vw,112px)}.foil-lesson .water-workbench{grid-template-columns:minmax(0,1fr) 320px}
.foil-stage{position:relative;min-height:680px;flex:1;display:grid;place-items:center;perspective:1100px;overflow:hidden;background:radial-gradient(ellipse at 24% 40%,#30224255,transparent 42%),radial-gradient(ellipse at 76% 64%,#17344b66,transparent 45%),#0b0d13}
.foil-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff02 1px,transparent 1px),linear-gradient(90deg,#ffffff02 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.foil-object{perspective:1100px;filter:drop-shadow(0 22px 24px #0009)}.card-face{position:relative;overflow:hidden;touch-action:none;transform-origin:50% 50%;will-change:transform;cursor:crosshair}.card-face canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.card-face canvas[hidden]{display:none}#ink-canvas{pointer-events:none}.card-face:focus-visible{outline:2px solid #d8e0ff;outline-offset:10px}
.foil-fallback{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}.foil-stage[data-ready=true] .foil-fallback{display:none}
.foil-label,.foil-hint,.foil-tilt{position:absolute;font:9px/1.6 monospace;letter-spacing:.05em;color:#8795b0;pointer-events:none}.foil-label{top:24px;left:24px}.foil-tilt{top:24px;right:24px}.foil-hint{bottom:23px;left:24px;right:24px;text-align:center}
.foil-lesson .water-visual{background:#0b0d13}.foil-lesson .water-stages{border-color:#293140}.foil-lesson .water-stages button{color:#bfc7d9}.foil-lesson .water-stages button[aria-pressed=true]{background:#d6ded6;color:#172523}
.foil-lesson .water-controls{padding:24px 22px}.foil-lesson .water-controls h3{font-size:28px;margin:20px 0}.foil-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:19px}.foil-tabs button{border:0;background:transparent;font-size:12px;padding:11px 4px;min-height:44px;border-radius:3px;color:var(--muted)}.foil-tabs button[aria-selected=true]{background:#dfe5da;color:var(--ink)}.foil-panel[hidden]{display:none}
.foil-palettes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:11px 0 20px}.foil-palettes button{border:1px solid transparent;background:none;border-radius:3px;padding:5px 3px;font-size:9px;min-height:58px;color:var(--muted)}.foil-palettes button span{display:block;height:24px;border:1px solid #0002;border-radius:3px;margin-bottom:6px}.foil-palettes button[aria-pressed=true]{border-color:var(--blue);color:var(--blue)}
.foil-field{display:block;font-size:12px;margin:16px 0}.foil-field select,.foil-field input{display:block;width:100%;min-height:44px;font:13px sans-serif;background:transparent;border:1px solid var(--line);border-radius:2px;margin-top:8px;padding:10px;color:var(--ink);box-sizing:border-box}.foil-field>small{display:block;margin-top:7px;font-size:10px;line-height:1.6;color:var(--muted)}
.foil-lesson .water-range{margin:21px 0}.foil-lesson .water-range>span{font-size:12px}.foil-lesson .water-range small{font-size:10px;line-height:1.5}.foil-pose{display:grid;grid-template-columns:1fr 1fr;gap:15px}.foil-pose .water-range{min-width:0}.foil-check{display:flex;gap:9px;align-items:center;min-height:44px;font-size:12px;border-top:1px solid var(--line);padding-top:9px;margin-top:15px}.foil-check input{accent-color:var(--blue);width:16px;height:16px}.foil-export{display:flex;justify-content:space-between;align-items:center;background:none;border:0;border-top:1px solid var(--line);min-height:44px;width:100%;padding:13px 0;color:var(--blue);font-size:12px}.foil-download{font-size:12px}.foil-download a{text-decoration:underline;display:inline-block;padding:8px 0}.foil-lesson .water-status{font-size:10px}
.foil-lesson .water-story__intro{position:static}.foil-lesson .water-number{font-size:10px}.foil-lesson .water-note{font-size:12px}.foil-lesson .water-story__intro a{text-decoration:underline}.foil-lesson .water-observation{grid-template-columns:140px 1fr minmax(190px,27%);gap:22px}.foil-lesson .water-observation>span{font-size:10px}.foil-lesson .water-observation p{font-size:13px}.foil-lesson .water-observation code{overflow-wrap:anywhere}
.foil-diagram{margin:24px 0;border:1px solid #d0d7cf;background:#e6ebe2;border-radius:2px}.foil-diagram svg{display:block;width:100%;height:auto}.foil-diagram figcaption{padding:12px 15px;font:10px/1.6 monospace;color:#526157;border-top:1px solid #d0d7cf}
.foil-lesson button,.foil-lesson summary,.foil-lesson select{cursor:pointer}.foil-lesson input:focus-visible,.foil-lesson select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:1100px){.foil-stage{min-height:640px}.foil-lesson .water-workbench{grid-template-columns:minmax(0,1fr) 300px}.foil-lesson .water-controls{padding:22px 18px}.foil-lesson .water-observation{grid-template-columns:140px 1fr}.foil-lesson .water-observation code{grid-column:2}}
@media(max-width:700px){.foil-lesson .water-heading h1{font-size:clamp(48px,12vw,80px)}.foil-lesson .water-workbench{display:block}.foil-stage{min-height:0;aspect-ratio:4/5}.foil-label,.foil-tilt{top:17px;font-size:8px}.foil-label{left:17px}.foil-tilt{right:17px}.foil-hint{font-size:7px;bottom:15px;left:12px;right:12px}.foil-lesson .water-controls{display:block;padding:20px}.foil-lesson .water-range{margin:20px 0}.foil-lesson .water-range>span{font-size:13px}.foil-lesson .water-range small{font-size:11px}.foil-palettes button{font-size:10px}.foil-lesson .water-observation{display:block}.foil-lesson .water-story h2{font-size:clamp(40px,11vw,53px)}.foil-lesson .water-stages button{font-size:11px}.foil-lesson .water-stages button span{font-size:9px}}

.foil-knobs{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.foil-knobs .water-range{min-width:0;margin:16px 0}.foil-knobs .water-range>span{font-size:11px;flex-wrap:wrap;gap:4px}.foil-object:focus-within{outline:2px solid #d8e0ff;outline-offset:14px}.foil-palettes button:disabled{opacity:.45;cursor:default}
