.worksheet-picker{padding:1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;border-bottom:1px solid var(--line);background:#f4f7fb}.worksheet-picker label{font-weight:700}.worksheet-picker select{flex:1;min-width:180px;max-width:100%;padding:.75rem;border:2px solid #b6c5d8;border-radius:9px;background:white;color:var(--navy);font-weight:700}.worksheet-picker button{padding:.6rem;min-width:44px}.worksheet-picker small{width:100%;color:#506178}.worksheet-heading{margin-bottom:1rem}.worksheet-heading h3{font-size:1.35rem}.worksheet-heading p{color:#53657c;margin-top:.35rem}.workshop{display:grid;gap:1rem}.w-section{padding:1.1rem;background:#f1f5fa;border-radius:12px;min-width:0}.w-section>h4{font-size:1rem;margin:0 0 .8rem;color:#45607c}.w-section.practice{background:white;border:2px solid var(--line)}.w-model{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.w-model-card{min-width:100px;flex:1;max-width:220px;background:white;border:2px solid #d4dfeb;border-radius:10px;text-align:center;padding:.85rem;overflow-wrap:anywhere}.w-model-card>span{display:block;font-size:1.8rem;margin-bottom:.3rem}.w-model-card strong{display:block}.w-model-arrow{font-size:1.6rem;color:#5f7994}.w-choice-icon{font-size:2.6rem;margin:.35rem}.w-question{text-align:center;margin-bottom:1rem}.w-question h4{font-size:1.15rem;margin:.5rem 0}.w-question p{font-weight:700;margin-top:.65rem}.w-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.w-answer-grid button{min-height:52px;white-space:pre-wrap;overflow-wrap:anywhere}.w-answer-grid button.correct-choice{background:#d4f2e5;border:2px solid #147353}.w-progress{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.8rem}.w-progress span{width:24px;height:8px;border-radius:6px;background:#cbd6e5}.w-progress span.done{background:var(--accent)}.w-progress span.current{outline:2px solid var(--accent);outline-offset:2px}.w-transfer{background:var(--soft);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;margin-top:1.1rem;padding:1rem}.w-transfer h4{margin:0 0 .4rem}.w-transfer p{line-height:1.45}.w-transfer .task-links{margin-top:.6rem}.w-stage-title{font-weight:700;font-size:1.05rem;margin-bottom:.65rem}.w-steps{display:flex;gap:.5rem;flex-wrap:wrap}.w-steps button{flex:1;min-width:110px;display:grid;gap:.3rem;text-align:center}.w-steps button span{font-size:1.75rem}.w-steps button.active{background:var(--soft);border:2px solid var(--accent)}.w-record{display:grid;gap:.65rem;margin-top:1rem}.w-record label{font-weight:700}.w-record input,.w-record textarea,.w-text-input{display:block;width:100%;padding:.7rem;border:1px solid #96aac2;border-radius:8px;background:white;color:var(--navy);margin-top:.25rem;min-width:0}.w-record textarea{min-height:75px}.w-record-preview{margin-top:1rem;background:var(--soft);padding:1rem;border-radius:9px;overflow-wrap:anywhere}.w-record-preview:empty{display:none}.w-source-image{width:min(100%,320px);max-height:300px;object-fit:contain;display:block;margin:auto;background:white;border-radius:8px}.w-colour-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:center}.w-key{display:flex;gap:.6rem;flex-wrap:wrap;align-items:stretch;margin:.6rem 0}.w-key button{padding:.6rem .7rem;display:grid;gap:.3rem;min-width:100px;font-size:.95rem;flex:1;border:2px solid #d2dce9}.w-colour-chip{display:inline-block;width:34px;height:34px;border:2px solid #9aacc1;border-radius:5px;vertical-align:middle}.w-key button.active{outline:3px solid var(--accent);outline-offset:2px}.w-key code{font-size:.9rem;white-space:normal}.w-code-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1rem}.w-code-key>div{background:white;padding:.6rem;border-radius:8px;border:1px solid var(--line);display:flex;gap:.5rem;align-items:center;min-width:0}.w-code-key code{font-weight:700;font-size:1.05rem}.w-colour-palette{display:flex;flex-wrap:wrap;gap:.5rem}.w-colour-palette label{display:flex;align-items:center;gap:.4rem;background:white;border:1px solid var(--line);border-radius:8px;padding:.5rem}.w-colour-palette select{padding:.5rem;font:700 1rem Consolas,monospace;max-width:100%;color:var(--navy);background:white;border:1px solid #9aacc1;border-radius:6px}.w-pattern{display:grid;gap:1px;max-width:380px;margin:1rem auto;background:#acbbcd;border:2px solid #acbbcd}.w-pattern span{aspect-ratio:1;display:grid;place-items:center;font-size:.9rem;font-weight:700;min-width:0}.w-row-paint{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem}.w-row-paint button{padding:.45rem;min-width:44px;min-height:60px;flex:0 0 calc(12.5% - .4rem);display:grid;gap:.25rem;font-weight:700;border:2px solid #a1b2c7;border-radius:7px}.w-row-paint button small{font-size:.8rem}.w-row-paint button.painted{border-color:#147353}.w-bit-bank{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.3rem;margin:.75rem 0}.w-bit-bank button{padding:.6rem .1rem;min-height:70px;min-width:0;display:grid;gap:.4rem;border:2px solid #bac9db;font-size:1rem}.w-bit-bank button strong{font-size:1.5rem}.w-bit-bank button.on{border-color:var(--accent);background:var(--soft)}.w-binary-model{font:700 1rem Consolas,monospace;text-align:center;overflow-wrap:anywhere;padding:.5rem}.w-sum{font-size:1.3rem;font-weight:700;text-align:center;margin:.5rem 0;overflow-wrap:anywhere}.w-ascii{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin:.75rem 0}.w-ascii span{padding:.4rem .5rem;background:white;border:1px solid var(--line);border-radius:5px;font:1rem Consolas,monospace}.w-ascii span.active{background:var(--soft);border-color:var(--accent)}.w-packet{border:2px solid #b6c5d8;border-radius:10px;overflow:hidden;max-width:340px;margin:auto;background:white}.w-packet>header{background:#dce7f3;padding:.5rem 1rem;font-weight:700}.w-packet dl{display:grid;grid-template-columns:1fr 1fr;padding:1rem;margin:0;gap:.65rem}.w-packet dd{margin:0;font-weight:700}.w-packet .payload{padding:1rem;text-align:center;background:var(--soft);font-size:1.6rem;font-weight:700}.w-graph-stage .panel{border:0}.w-graph-stage .panel-top{display:none}.w-graph-stage .panel-body{padding:0}.w-graph-stage .chips[data-network-stages]{display:none}.w-graph-stage details{margin-top:.6rem}.w-algo-inputs{display:flex;gap:.65rem;flex-wrap:wrap;margin:.7rem 0}.w-algo-inputs .field{flex:1;min-width:110px;display:block}.w-algo-inputs label{display:block}.w-algo-inputs input{width:100%;margin-top:.25rem}.w-case-buttons{display:flex;gap:.4rem;flex-wrap:wrap;margin:.65rem 0}.w-case-buttons button{font-size:.9rem;padding:.5rem .7rem}.w-live-trace{display:flex;gap:.55rem;align-items:stretch;flex-wrap:wrap;margin:.75rem 0}.w-live-trace>div{background:white;border:2px solid #d1ddeb;border-radius:10px;padding:.75rem;flex:1;min-width:110px;text-align:center;overflow-wrap:anywhere}.w-live-trace>div.lit{border-color:var(--accent);background:var(--soft)}.w-live-trace small{display:block;color:#51637a;margin-bottom:.35rem}.w-live-trace strong{display:block;font-size:1.1rem}.w-code{white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;font-family:Consolas,monospace;background:var(--navy);color:#ecf5ff;border-radius:10px;padding:1rem;font-size:1rem;line-height:1.7;margin:.65rem 0}.w-code span{display:block;min-height:1.7em}.w-code span.lit{background:#24516a;border-left:3px solid #62e5bd}.w-code span.future{color:#9eb2cb;font-style:italic}.w-flow{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem;background:#edf3fa;border-radius:10px;font-size:1rem}.w-flow .flow-node{min-width:120px;max-width:100%;font-weight:400;overflow-wrap:anywhere}.w-flow .flow-node.decision{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);max-width:min(100%,380px);padding:2.2rem;line-height:1.3;font-size:1rem}.w-flow-branch{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:center;background:#e1ebf6;padding:.5rem;border-radius:8px;max-width:100%}.w-flow-branch small{font-size:.9rem}.w-flow-branch .flow-node{min-width:80px}.w-algo-tabs{display:flex;gap:.4rem;margin:.7rem 0;flex-wrap:wrap}.w-algo-tabs button.active{background:var(--soft);border-color:var(--accent)}.w-rule{padding:1rem;border:2px dashed #90a4bd;background:#f1f5fa;border-radius:9px;text-align:center;font:700 1.1rem Consolas,monospace;margin:.7rem 0;overflow-wrap:anywhere}.w-predict{margin-top:1.5rem}.w-flow-note{font-size:.9rem;color:#475f7b;max-width:360px;text-align:center}.w-segment-layout{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:center}.w-seven{width:180px;height:240px;position:relative;background:var(--navy);border-radius:10px;flex-shrink:0}.w-seven span{position:absolute;background:#304961;border-radius:5px}.w-seven span.on{background:#7be9cb}.w-seven .a,.w-seven .g,.w-seven .d{width:94px;height:16px;left:43px}.w-seven .a{top:15px}.w-seven .g{top:112px}.w-seven .d{bottom:15px}.w-seven .f,.w-seven .b,.w-seven .e,.w-seven .c{width:16px;height:85px}.w-seven .f{left:24px;top:28px}.w-seven .b{right:24px;top:28px}.w-seven .e{left:24px;bottom:28px}.w-seven .c{right:24px;bottom:28px}.w-segment-buttons{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin:1rem 0}.w-segment-buttons button{min-width:44px;min-height:70px;padding:.5rem}.w-segment-buttons button small{display:block}.w-segment-buttons button.active{background:var(--soft);border:2px solid var(--accent)}.w-combinations{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0}.w-combinations code{padding:.5rem;background:white;border:1px solid var(--line);border-radius:7px;font-size:1rem}.w-decompose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0}.w-decompose button{display:grid;gap:.5rem;padding:1rem;font-weight:400}.w-decompose button span{font-size:1.8rem}.w-decompose button.active{background:var(--soft);border:2px solid var(--accent)}.w-pattern-rows{display:grid;gap:.7rem}.w-pattern-rows>div{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.w-pattern-rows button{padding:.7rem;min-width:65px}.w-pattern-rows button.active{background:var(--soft);border:2px solid var(--accent)}.w-mini-sudoku{display:grid;grid-template-columns:repeat(3,44px);gap:3px;justify-content:center;margin:1rem 0}.w-mini-sudoku span,.w-mini-sudoku button{padding:.5rem;min-height:44px;background:white;border:1px solid #9bb0c8;border-radius:4px;text-align:center}.w-topic-selector{display:flex;gap:.5rem;flex-wrap:wrap}.w-topic-selector button.active{background:var(--soft);border:2px solid var(--accent)}.w-mind-map{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.7rem;margin:1rem 0}.w-mind-map button{padding:1rem;display:grid;gap:.4rem;border:2px solid #bdccdf}.w-mind-map button span{font-size:1.6rem}.w-mind-map button.active{background:var(--soft);border-color:var(--accent)}.w-poster{border:2px solid #9ab0c9;border-radius:12px;padding:1rem;background:white;margin:1rem 0;text-align:center}.w-poster>h4{font-size:1.2rem;margin:0 0 .8rem}.w-poster input{max-width:100%;text-align:center;background:#f3f7fb;border:1px dashed #9db2ca;border-radius:6px;padding:.6rem;width:100%;margin-top:.5rem}.w-robot-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;max-width:350px;margin:1rem auto;border:3px solid #8197b2;background:#8197b2}.w-robot-board>div{min-width:0;aspect-ratio:1;background:white;position:relative;display:grid;place-items:center;font-size:1.7rem}.w-robot-board .visited{background:#e0f6ef}.w-robot-board small{position:absolute;left:3px;top:2px;font-size:.75rem;color:#3b5674}.w-robot-board b{position:absolute;right:2px;bottom:1px;font-size:1.4rem;background:#c7efdf;border-radius:4px}.w-robot-code{font:1rem Consolas,monospace;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--navy);color:white;padding:1rem;border-radius:10px}.w-robot-actions{display:flex;gap:.5rem;flex-wrap:wrap}.w-square{width:min(100%,260px);margin:1rem auto;background:white;border:1px solid var(--line);border-radius:8px;display:block}.w-spelling-model{display:flex;gap:.6rem;align-items:center;justify-content:center;flex-wrap:wrap}.w-spelling-model span{background:white;border:2px solid #c6d5e6;border-radius:8px;padding:.65rem;font-size:1.1rem}.w-spelling-model .bad{text-decoration:line-through;color:#946013}.w-improve-examples{display:grid;gap:.65rem}.w-improve-examples>div{padding:1rem;background:white;border:1px solid var(--line);border-radius:10px}.w-improve-examples b{display:block;margin-bottom:.3rem}.w-story-check{margin-top:.8rem}.w-story-check label{display:block;margin:.5rem 0;line-height:1.4}.w-story-check input{width:20px;height:20px;vertical-align:middle;margin-right:.4rem}.w-local-caption{font-size:.9rem;color:#516681;margin-top:.6rem}.w-more-task{display:block;color:var(--accent);font-weight:700;margin-top:1rem;text-decoration:underline}.w-plan-show{margin:.7rem 0}.w-sheet-note{font-size:.95rem;color:#4e6076}.w-section p+w-model{margin-top:.8rem}
@media(max-width:700px){.worksheet-picker select{order:0;width:100%;flex-basis:100%}.worksheet-picker label{font-size:.95rem}.worksheet-picker small{width:auto;flex:1}.w-section{padding:.85rem}.w-model-card{min-width:80px;padding:.6rem}.w-model-card>span{font-size:1.5rem}.w-colour-layout{grid-template-columns:1fr}.w-source-image{max-height:210px}.w-answer-grid{grid-template-columns:1fr}.w-code-key{grid-template-columns:1fr}.w-bit-bank button{min-height:64px;font-size:.85rem}.w-bit-bank button strong{font-size:1.25rem}.w-row-paint button{flex-basis:calc(20% - .4rem)}.w-decompose{grid-template-columns:repeat(2,minmax(0,1fr))}.w-flow .flow-node.decision{font-size:.9rem}.w-flow-branch{font-size:.9rem}.w-algo-inputs .field{min-width:100px}.w-key button{min-width:85px}.w-model-arrow{font-size:1.2rem}.w-code{font-size:.95rem;padding:.7rem}.w-live-trace>div{min-width:90px}.w-seven{width:180px}.w-poster .w-model{flex-direction:column}.w-poster .w-model-card{width:100%}.w-poster .w-model-arrow{transform:rotate(90deg)}}
.w-sudoku{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));max-width:300px;margin:1rem auto;border:3px solid #10243b;gap:0}.w-sudoku span{aspect-ratio:1;text-align:center;display:grid;place-items:center;border:1px solid #b9c8da;background:white;font-size:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.w-flow .lit{background:#bff4dd;border-color:var(--accent)}.w-robot-code{max-height:330px;overflow:auto}.worksheet-heading+div{min-width:0}#grid-row,#rgb-target{max-width:100%;padding:.55rem;background:white;border:1px solid #97abc4;border-radius:7px;color:var(--navy)}
@media print{.worksheet-picker,.controls,.w-answer-grid,.w-algo-tabs{display:none}.w-section{break-inside:avoid}.w-transfer{border:1px solid #999}}

.w-image-word{max-width:560px;margin:auto;text-align:center;background:white;border:2px solid #d4dfeb;border-radius:10px;padding:.7rem}.w-image-word svg{display:block;width:100%;max-height:220px}.w-image-word svg text{fill:#10243b;font:18px Atkinson,Arial,sans-serif}.w-image-word p{margin:.4rem 0}.w-density-examples{display:flex;gap:1rem;justify-content:center}.w-density-examples>div{width:180px;max-width:45%}.w-density-examples b{display:block}.w-depth-example{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:.7rem 0}.w-depth-example>div,.w-depth-example>button{display:grid;gap:.4rem;justify-items:center}.w-depth-example span{display:block;width:44px;height:44px;border:1px solid #7488a0;border-radius:6px}.w-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-top:1rem}.w-settings-grid{max-width:320px;margin:.5rem auto}.w-settings-grid button{min-width:0;min-height:0;aspect-ratio:1;border:1px solid #7488a0;padding:0;border-radius:0;font-size:.65rem;overflow:hidden}.w-settings-palette{justify-content:flex-start}.w-settings-palette button{padding:.45rem}.w-settings-palette button.active{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:700px){.w-settings-layout{grid-template-columns:1fr}.w-density-examples{gap:.5rem}.w-image-word svg text{font-size:18px}}

.w-reminder{background:var(--soft);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;padding:1rem;margin-bottom:1rem}.w-reminder h4{margin:0 0 .7rem}.w-reminder ol{list-style:none;display:grid;gap:.65rem;margin:0;padding:0}.w-reminder li{display:flex;align-items:flex-start;gap:.65rem;line-height:1.45}.w-reminder li>span{width:27px;height:27px;flex-shrink:0;display:grid;place-items:center;border:1px solid #9caec4;background:white;border-radius:50%;font-weight:700}.w-reminder li p{margin:0}.w-section>summary{color:#45607c;font-size:1rem}.w-section>summary small{font-weight:400}.w-section[open]>summary{margin-bottom:.85rem}.w-practise-body{min-width:0}.w-model-picker{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.85rem}.w-model-picker label{font-weight:700}.w-model-picker select{flex:1;min-width:150px;max-width:100%;padding:.65rem;border:1px solid #96aac2;border-radius:8px;background:white;color:var(--navy);font:inherit}.w-word-help{margin-bottom:1rem;background:white}.w-word-help .concepts{margin-top:.8rem}.w-word-help p{margin:0}.lesson-tools{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}.lesson-tools button{font-size:.95rem;padding:.5rem .75rem}.working .intro,.working .years,.working .sidebar,.working footer,.working .lesson-symbol,.working .lesson-bottom p{display:none}.working .workspace,.working.large .workspace{display:block}.working .shell{max-width:900px}.working .topbar{padding:.6rem 1rem}.working .lesson-head .eyebrow{font-size:.7rem}.working .lesson-head h2{font-size:1.45rem}.working .lesson-head>div>p:last-child{display:none}.working .brand-icon,.working .ks3{display:none}.working .brand-bottom{display:inline;margin-left:.3rem}.working .brand{font-size:.9rem}.working .brand-bottom{font-size:.9rem}.w-rgb-words{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:1rem}.w-rgb-words>div{background:white;border:1px solid var(--line);padding:.65rem;border-radius:8px}.w-rgb-words span{display:block;margin-top:.3rem;font-size:.95rem}.w-rgb-words b{display:block}.w-example[open]>summary::after{content:' — hide when you are ready';font-weight:400;font-size:.85rem}.working .modes a{padding:.5rem .35rem}.working .tools button{padding:.4rem .6rem}
@media(max-width:700px){.w-reminder{padding:.85rem}.w-rgb-words{grid-template-columns:1fr}.w-example[open]>summary::after{content:''}.w-model-picker select{flex-basis:100%}.working .tools #teacher{font-size:.75rem}.working .shell{padding:.75rem}}
@media print{.lesson-tools,.w-section.practice{display:none}.w-example>summary,.w-word-help>summary{display:none}.w-reminder,.w-example{break-inside:avoid}}
