.pyth-scene{display:block;width:100%;height:auto;max-height:580px;font-family:system-ui,sans-serif}.pyth-controls{padding:16px;border:1px solid #d4cbb6;border-radius:14px;background:#fffcf4}.pyth-controls p{margin:8px 0;line-height:1.55}.pyth-controls label{display:block;font-weight:650;margin:10px 0}.pyth-controls input[type=range]{display:block;width:100%;min-height:36px;accent-color:#287d78}.pyth-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.pyth-buttons button{min-height:44px;border:1px solid #b8c6bd;border-radius:8px;background:#fffdf7;padding:9px 12px;color:#263e48;font:inherit;cursor:pointer}.pyth-buttons button[aria-pressed=true]{background:#daeae2;border:2px solid #287d78}.pyth-buttons button:disabled{opacity:.55;cursor:default}.pyth-buttons button:focus-visible,.pyth-scene [role=button]:focus-visible{outline:3px solid #c79135;outline-offset:3px}.pyth-readout{border-left:4px solid #287d78;padding:9px 12px;background:#edf3ed;font-size:1rem;min-height:48px}.pyth-notebook{margin-top:12px;background:#f5efdf;padding:12px;border-radius:10px}.pyth-notebook ul{margin:6px 0 0;padding-left:22px}.pyth-notebook li{margin:5px 0;line-height:1.5}.pyth-scene [data-experiment-action]{cursor:pointer}.pyth-scene [data-experiment-action]:hover{filter:brightness(.93)}.pyth-discovery-figure{padding:16px;background:#fcf7ea;display:flex;flex-direction:column;justify-content:center;min-width:0}.pyth-discovery-figure svg{width:100%;height:auto}.pyth-discovery-figure figcaption{padding:12px;color:#526870;font-size:.95rem}.chapter-storybook:has(.pyth-discovery-figure) .chapter-discovery{border:2px solid #287d78;background:#edf5ed;padding:20px;margin:16px 0}.chapter-storybook:has(.pyth-discovery-figure) .chapter-discovery strong{font-size:1.15rem}.chapter-storybook:has(.pyth-discovery-figure) .chapter-discovery p{font-size:1.12rem;line-height:1.65}.action-task[data-chapter=pythagoras] .adventure-discovery{border:2px solid #287d78;padding:20px}.action-task[data-chapter=pythagoras] .adventure-story-art{background:#fcf7ea;padding:14px;display:flex;align-items:center}.action-task[data-chapter=pythagoras] .adventure-story-art svg{width:100%;height:auto}.level-lab:has(.pyth-controls) .level-score-note{line-height:1.6}.pyth-controls output{float:right;font-variant-numeric:tabular-nums;color:#287d78}.pyth-controls [data-pyth-live]{margin-top:10px}@media(max-width:700px){.pyth-controls{padding:12px}.pyth-buttons button{flex:1 1 130px}.pyth-discovery-figure{padding:6px}.chapter-storybook:has(.pyth-discovery-figure){display:flex;flex-direction:column}.chapter-storybook:has(.pyth-discovery-figure) .chapter-story-page{order:-1}.pyth-notebook{padding:10px}.pyth-controls output{float:none;margin-left:10px}}
@media(prefers-reduced-motion:no-preference){.pyth-scene polygon,.pyth-scene rect{transition:fill .18s,opacity .25s}}

.chapter-storybook:has(.pyth-discovery-figure) .chapter-discovery strong,.chapter-storybook:has(.pyth-discovery-figure) .chapter-discovery p{color:#274c43}.action-task[data-chapter=pythagoras] .adventure-discovery strong,.action-task[data-chapter=pythagoras] .adventure-discovery p{color:#274c43}
@media(max-width:700px){.chapter-storybook:has(.pyth-discovery-figure){padding:16px;gap:10px}.chapter-storybook:has(.pyth-discovery-figure) .chapter-story-page{display:contents}.chapter-storybook:has(.pyth-discovery-figure) .chapter-story-heading{order:0}.chapter-storybook:has(.pyth-discovery-figure) h2{order:1}.chapter-storybook:has(.pyth-discovery-figure) .chapter-discovery{order:2}.chapter-storybook:has(.pyth-discovery-figure) .pyth-discovery-figure{order:3;margin:0}.chapter-storybook:has(.pyth-discovery-figure) .chapter-beats{order:4}.chapter-storybook:has(.pyth-discovery-figure) .chapter-coda{order:5}.chapter-storybook:has(.pyth-discovery-figure) .chapter-story-actions{order:6}.chapter-storybook:has(.pyth-discovery-figure) .chapter-story-note{order:7}.action-task[data-chapter=pythagoras] .adventure-story--after{display:flex;flex-direction:column;padding:16px;gap:10px}.action-task[data-chapter=pythagoras] .adventure-story-copy{display:contents}.action-task[data-chapter=pythagoras] .adventure-kicker{order:0}.action-task[data-chapter=pythagoras] .adventure-story--after h2{order:1}.action-task[data-chapter=pythagoras] .adventure-discovery{order:2}.action-task[data-chapter=pythagoras] .adventure-story-art{order:3}.action-task[data-chapter=pythagoras] .adventure-story-paragraph{order:4}.action-task[data-chapter=pythagoras] .adventure-story-actions{order:5}.action-task[data-chapter=pythagoras] .adventure-story-footnote{order:6}}

.pyth-controls input[type=range]:disabled{opacity:.45;cursor:not-allowed}.pyth-controls label:has(input:disabled){color:#687471}

/* The free-placement workshop keeps the SVG alive throughout pointer gestures. */
.pyth-workshop{border:1px solid #d4bb96;background:#fcf7ea;border-radius:14px;overflow:hidden}.pyth-workshop-caption{padding:16px 18px 8px;display:flex;flex-direction:column;gap:5px}.pyth-workshop-caption span{font-size:.7rem;font-weight:750;letter-spacing:.13em;color:#866447}.pyth-workshop-caption strong{font-size:1.05rem;color:#274c43}.level-lab-picture .pyth-workshop-board{width:100%;height:auto;max-height:none;background:transparent;overflow:visible;user-select:none;-webkit-user-select:none}.pyth-workshop-board [data-workshop-piece]{cursor:grab;touch-action:none;outline:none}.pyth-workshop-board [data-workshop-rotator]{cursor:crosshair;touch-action:none;outline:none}.pyth-workshop-board.is-dragging [data-workshop-piece]{cursor:grabbing}.pyth-workshop-tile{filter:drop-shadow(0px 3px 2px #78553130)}.pyth-workshop-board [data-workshop-piece][aria-pressed=true] .pyth-workshop-tile{stroke:#287D78;stroke-width:4}.pyth-workshop-board [data-workshop-piece]:focus-visible .pyth-workshop-tile{stroke:#184b9a;stroke-dasharray:7 4;stroke-width:5}.pyth-workshop-board [data-workshop-rotator]:focus-visible circle{stroke:#184b9a;stroke-width:5}.pyth-workshop-controls{margin-top:14px}.pyth-workshop-controls .pyth-workshop-keyboard{font-size:.85rem;color:#526870;line-height:1.6}.pyth-workshop-angle{font-size:.93rem;color:#287d78;font-variant-numeric:tabular-nums}.pyth-workshop-pickers button{flex:1 1 80px}.pyth-workshop-controls .pyth-buttons:not(.pyth-workshop-pickers) button{flex:1 1 135px}.level-lab:has(.pyth-workshop) .level-lab-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}@media(max-width:900px){.level-lab:has(.pyth-workshop) .level-lab-layout{grid-template-columns:1fr}.level-lab:has(.pyth-workshop) .level-lab-picture{padding:12px}.pyth-workshop-controls{padding:12px}.pyth-workshop-caption{padding:12px}.pyth-workshop-pickers button{flex-basis:95px}.pyth-workshop-board text{font-family:system-ui,sans-serif}}@media(prefers-reduced-motion:reduce){.pyth-workshop *{transition:none!important;animation:none!important}}
/* Prevent a touch drag from being reinterpreted as page panning by the SVG
   ancestor. The page remains scrollable outside this compact work surface. */
.pyth-workshop-board{touch-action:none}
.pyth-workshop-controls .pyth-workshop-pickers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.pyth-workshop-board [data-workshop-rotator]:focus-visible [data-workshop-handle-hit]{stroke:none}@media(max-width:560px){.pyth-workshop-controls .pyth-workshop-pickers{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Task 2: one set of four triangles travels between two equal frames.
   The board spans the whole card; small screens stack the equal frames. */
.pyth-transfer{border:1px solid #d4bb96;background:#fcf7ea;border-radius:14px;overflow:hidden}
.level-lab:has(.pyth-transfer) .level-lab-layout{grid-template-columns:1fr}
.level-lab:has(.pyth-transfer) .level-lab-picture{padding:16px}
.level-lab:has(.pyth-transfer) .level-lab-controls{padding-top:8px}
.level-lab-picture .pyth-transfer-board{display:block;width:100%;height:auto;max-height:none;background:transparent;touch-action:none;user-select:none;-webkit-user-select:none;overflow:visible}
.pyth-transfer-board [data-transfer-piece]{cursor:grab;touch-action:none;outline:none}
.pyth-transfer-board [data-transfer-rotator]{cursor:crosshair;touch-action:none;outline:none}
.pyth-transfer-board.is-dragging [data-transfer-piece]{cursor:grabbing}
.pyth-transfer-tile{filter:drop-shadow(0px 2px 1px #78553120)}
.pyth-transfer-board [data-transfer-piece][aria-pressed=true] .pyth-transfer-tile{stroke:#287D78;stroke-width:4}
.pyth-transfer-board [data-transfer-piece]:focus-visible .pyth-transfer-tile{stroke:#184b9a;stroke-width:5;stroke-dasharray:7 4}
.pyth-transfer-board [data-transfer-rotator]:focus-visible [data-transfer-handle-ring]{stroke:#184b9a;stroke-width:5}
.pyth-transfer-key{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;padding:10px 16px;color:#40594e;font-size:.87rem;line-height:1.6}
.pyth-transfer-key span{display:inline-flex;align-items:center;gap:8px}
.pyth-transfer-key i{display:inline-block;width:17px;height:17px;border:1px solid #69796c;border-radius:3px;flex-shrink:0}
.pyth-transfer-equation{padding:10px 16px;margin:0 10px 12px;border-radius:8px;background:#edf3ed;color:#274c43;line-height:1.6;text-align:center}
.pyth-transfer-equation strong{font-size:1.45rem}
.pyth-transfer-controls{margin-top:14px}
.pyth-transfer-controls .pyth-transfer-keyboard{font-size:.85rem;color:#526870;line-height:1.6}
.pyth-transfer-controls .pyth-buttons button{flex:1 1 145px}
.pyth-transfer-summary svg{display:block;width:100%;height:auto;max-height:none}
.pyth-transfer-summary .pyth-transfer-summary-compact{display:none}
/* Summary diagrams otherwise live in a narrow half-column. */
.chapter-storybook:has(.pyth-transfer-summary){grid-template-columns:1fr}
.chapter-storybook:has(.pyth-transfer-summary) .pyth-discovery-figure{margin:0}
@media(max-width:700px){.level-lab:has(.pyth-transfer) .level-lab-picture{padding:8px}.pyth-transfer-key{justify-content:flex-start;gap:6px;padding:10px 12px}.pyth-transfer-key span{flex-basis:100%}.pyth-transfer-equation{font-size:.92rem;margin:0 8px 10px;padding:9px}.pyth-transfer-controls{padding:12px}.pyth-transfer-summary .pyth-transfer-summary-wide{display:none}.pyth-transfer-summary .pyth-transfer-summary-compact{display:block}}
@media(prefers-reduced-motion:reduce){.pyth-transfer *{transition:none!important;animation:none!important}}
/* Put the discovery before its large two-board illustration, on all screens. */
.chapter-storybook:has(.pyth-transfer-summary){display:flex;flex-direction:column;gap:16px}
.chapter-storybook:has(.pyth-transfer-summary) .chapter-story-page{display:contents}
.chapter-storybook:has(.pyth-transfer-summary) .chapter-story-heading{order:0}
.chapter-storybook:has(.pyth-transfer-summary) h2{order:1;margin-top:0}
.chapter-storybook:has(.pyth-transfer-summary) .chapter-discovery{order:2}
.chapter-storybook:has(.pyth-transfer-summary) .pyth-discovery-figure{order:3}
.chapter-storybook:has(.pyth-transfer-summary) .chapter-beats{order:4}
.chapter-storybook:has(.pyth-transfer-summary) .chapter-coda{order:5}
.chapter-storybook:has(.pyth-transfer-summary) .chapter-story-actions{order:6}
.chapter-storybook:has(.pyth-transfer-summary) .chapter-story-note{order:7}
.chapter-storybook:has(.pyth-transfer-summary){padding:clamp(14px,3vw,28px)}
.chapter-storybook:has(.pyth-transfer-summary) .pyth-discovery-figure{align-self:stretch;width:100%;box-sizing:border-box}
