.vl-lesson{max-width:1190px;margin:0 auto 50px}.vl-main.sk-lesson-main{padding:0;border:1px solid #ccd9ec;border-radius:22px;overflow:hidden;box-shadow:0 8px 30px #1b3b7408}.vl-heading{padding:28px 32px 24px}.vl-step-line{display:flex;gap:15px;justify-content:space-between;align-items:center}.vl-heading .ac-kicker{font-size:13px;color:#536b88;letter-spacing:.08em}.vl-mode{font-size:11px;font-weight:700;letter-spacing:.1em;color:#6b7d94}.vl-main h1{font-size:clamp(28px,3.5vw,40px);letter-spacing:-.035em;line-height:1.18;margin:18px 0}.vl-heading .sk-original{background:none;border:0;padding:0;margin:0;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.vl-heading .sk-original span{font-size:13px;color:#5c7190;margin:0;flex-shrink:0}.vl-heading .sk-original strong{font-size:17px;font-weight:550;line-height:1.6}.vl-teaching-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:0;border-top:1px solid #dce5f1;border-bottom:1px solid #dce5f1}.vl-canvas{min-width:0;background:#f0f5fd;background-image:radial-gradient(#cfddf3 1px,transparent 1px);background-size:22px 22px;padding:20px 26px 24px;position:relative}.vl-canvas-top{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:38px}.vl-canvas-top>span{font-size:11px;letter-spacing:.12em;color:#5a7193;font-weight:750}.vl-canvas-top .ac-button{padding:8px 12px;font-size:14px;min-height:40px;background:#ffffffa6;border-radius:24px}.vl-picture{min-height:235px;display:flex;flex-direction:column;justify-content:center;padding:20px 0 4px}.vl-picture>.bf-visual{background:transparent;padding:12px 0;overflow:visible}.vl-picture .sk-model-equation,.vl-picture>p,.vl-picture>.bf-visual>p{display:none}.vl-picture .sk-balance{background:#fff;padding:25px 15px;border:1px solid #bacde9;border-radius:15px;font-size:34px}.vl-picture .ag-tile-row{gap:12px;justify-content:center}.vl-picture .ag-tile{min-width:40px;min-height:44px;font-size:19px}.vl-picture .sk-rectangle{margin:auto}.vl-picture .sk-tokens{margin:25px auto}.vl-picture .sk-unit-grid{width:min(100%,340px);margin:12px auto}.vl-picture .sk-bars{max-width:390px;width:100%;margin:15px auto}.vl-picture .sk-light{margin:25px auto}.vl-picture .bf-ten-frame{width:min(100%,320px)}.vl-picture .bf-fraction-bar{height:98px}.vl-picture .bf-counter-tray{background:#fff;border-color:#bfd0e6}.vl-equation.sk-example-equation{background:#fff;border:1px solid #bccfeb;border-radius:13px;padding:15px 20px;margin:15px 0 0;box-shadow:0 3px 0 #dce7f7;font-size:20px;text-align:center;line-height:1.65}.vl-cue{padding:32px 25px;background:#fff;align-self:stretch;border-left:1px solid #dce5f1}.vl-small-label{font-size:12px;font-weight:750;color:#5b7293;letter-spacing:.09em}.vl-cue .sk-explanation{font-size:22px;line-height:1.5;font-weight:600;letter-spacing:-.025em;color:#153352;margin:20px 0 25px}.vl-why{margin-top:24px;border-top:1px solid #e0e7ef;padding-top:18px}.vl-why summary{font-size:14px;font-weight:650;cursor:pointer;color:#335c93;padding:8px 0;line-height:1.5}.vl-why p{font-size:16px;line-height:1.75;margin-top:14px;color:#4d647e}.vl-key-idea{display:grid;grid-template-columns:14px 1fr;gap:15px 10px;align-items:center;font-size:14px;line-height:1.5;margin:30px 0}.vl-blue-dot,.vl-gold-dot,.vl-colour-key i{width:12px;height:12px;display:inline-block;border-radius:3px;background:#2d64e1}.vl-gold-dot,.vl-colour-key i.gold{background:#efbb4c;border:1px solid #af7617}.vl-step-controls.sk-step-controls{padding:22px 28px;margin:0;background:#fff;border:0;display:flex;justify-content:space-between;align-items:center;gap:18px}.vl-step-controls .ac-button{border-radius:11px;padding:13px 20px;font-size:15px}.vl-step-controls .primary{background:#265ce0;border-color:#265ce0}.vl-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:18px}.vl-tools>details{background:#fff;border:1px solid #ccd9eb;border-radius:13px;margin:0;overflow:hidden}.vl-tools>details>summary{padding:18px 20px;font-size:15px;cursor:pointer;font-weight:650;color:#315379}.vl-tools .sk-experiment{margin:0;border:0}.vl-word-help>div{padding:0 20px 20px}.vl-glossary>details{border-top:1px solid #dce4ee;padding:14px 0}.vl-glossary summary{font-size:15px;cursor:pointer;font-weight:650}.vl-glossary p{font-size:15px;line-height:1.7;margin-top:12px;color:#526a83}.vl-word-help h3{font-size:16px;margin:20px 0 8px}.vl-word-help .ac-button{font-size:14px}.vl-footer-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0}.vl-footer-links .ac-button{font-size:14px}.vl-skip-options{margin-left:auto}.vl-skip-options>summary{cursor:pointer;font-size:14px;color:#516b8d;padding:12px 8px}.vl-skip-options .sk-skip{flex-direction:column;align-items:flex-start;padding:10px;background:#fff;border:1px solid #d0daea;border-radius:10px}.vl-picture.is-pattern{padding:0;min-height:0;display:block}.vl-scene-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.vl-stage-label{font-size:12px;letter-spacing:.09em;color:#4c6890;display:flex;gap:12px;align-items:center}.vl-stage-label>b{display:inline-grid;place-items:center;min-width:42px;min-height:42px;border-radius:11px;background:#fff;border:1px solid #abc0e3;font-size:24px;color:#20488e;letter-spacing:0}.vl-total{font-size:14px;color:#4c6586;display:flex;align-items:center;gap:8px}.vl-total>strong{font-size:28px;color:#153352}.vl-pattern-svg{width:100%;height:auto;display:block;overflow:visible}.vl-blue-tile{fill:#326ae8;stroke:#1b4caf;stroke-width:1.5}.vl-gold-tile{fill:#f3c664;stroke:#af7415;stroke-width:1.5}.vl-plus{font-size:24px;font-weight:650;fill:#50627d}.vl-diagram-label{font-size:18px;fill:#2354bb;font-weight:600}.vl-fixed-label{font-size:16px;fill:#865914;font-weight:600}.vl-colour-key{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:-12px;font-size:13px;color:#496184}.vl-colour-key>span{display:flex;align-items:center;gap:7px}.vl-stage-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:25px 0 18px}.vl-stage-picker button{padding:13px 8px 10px;background:#fff;border:1px solid #c6d6ed;border-radius:13px;color:#314d74;cursor:pointer;min-width:0}.vl-stage-picker button[aria-pressed=true]{border:2px solid #2d63df;background:#e7efff;padding:12px 7px 9px;box-shadow:0 3px 0 #c7d7f5}.vl-stage-picker button>span{font-size:13px;font-weight:650}.vl-stage-picker button>b{font-size:14px;display:block;margin-top:-6px}.vl-stage-picker .vl-plus{font-size:20px}.vl-motion-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.vl-motion-controls .ac-button{font-size:14px;border-radius:10px;padding:12px 16px;min-height:46px}.vl-live-caption{text-align:center;color:#3f5b82;font-size:15px;line-height:1.6;margin:17px 0 0;min-height:24px}.vl-predict{padding:22px;background:#fff;border:1px solid #b9cceb;border-radius:14px;margin-top:24px;box-shadow:0 3px 0 #dce6f5}.vl-predict>div>p{font-size:22px;font-weight:650;line-height:1.5;margin:12px 0 20px}.vl-predict-form{margin-top:15px}.vl-predict form>label{font-weight:650;font-size:14px;display:block;margin-bottom:9px}.vl-predict form>div{display:flex;gap:12px}.vl-predict input{min-width:0;max-width:150px;width:100%;font-weight:650;font-family:inherit;font-size:25px;border:2px solid #adbfdd;border-radius:9px;padding:10px 14px;color:#173354;min-height:48px}.vl-predict form .ac-button{font-size:14px;flex:1}.vl-predict>small{font-size:13px;display:block;color:#5b7291;line-height:1.6;margin:12px 0}.vl-predict-feedback{font-size:16px;line-height:1.65;color:#305c46;background:#e9f4ea;border-radius:9px;padding:15px;margin:16px 0}.vl-predict:not(.revealed) .vl-predict-feedback{background:#fff3d7;color:#6d4e17}.vl-rule{background:#fff;border:1px solid #c4d4e9;border-radius:15px;padding:22px;margin-top:20px}.vl-rule-tag{display:block;text-align:center;font-size:14px;font-weight:650;color:#526d94}.vl-rule-parts{display:flex;align-items:flex-start;justify-content:center;gap:20px;font-size:28px;font-weight:650;margin:24px 0}.vl-rule-parts>*{text-align:center}.vl-rule-parts small{display:block;font-size:12px;font-weight:500;line-height:1.5;margin-top:8px;max-width:95px}.vl-blue-number{color:#235fd9}.vl-gold-number{color:#946215}.vl-stage-slider{display:block;border-top:1px solid #e0e7f0;padding-top:20px}.vl-stage-slider>span{display:flex;justify-content:space-between;align-items:center;font-weight:650;font-size:14px}.vl-stage-slider output{background:#e8f0ff;padding:5px 12px;border-radius:7px;font-size:18px}.vl-stage-slider input{width:100%;height:44px;accent-color:#2b64e2;cursor:pointer}.vl-pattern-scene button:focus-visible,.vl-main button:focus-visible,.vl-main input:focus-visible,.vl-tools summary:focus-visible,.vl-footer-links summary:focus-visible,.vl-why summary:focus-visible{outline:3px solid #1d57d8;outline-offset:4px}.vl-new-pair{animation:vl-add-pair .65s cubic-bezier(.2,.7,.2,1) both}@keyframes vl-add-pair{from{opacity:0;transform:translateY(-28px) scale(.8)}to{opacity:1;transform:none}}
@media(max-width:1050px){.vl-teaching-grid{grid-template-columns:minmax(0,1fr) 235px}.vl-canvas{padding:16px 20px 22px}.vl-cue{padding:26px 20px}.vl-cue .sk-explanation{font-size:20px}.vl-stage-picker{gap:7px}.vl-mode{display:none}}
@media(max-width:800px){.vl-teaching-grid{grid-template-columns:1fr}.vl-cue{border:0;border-top:1px solid #dce5f1;padding:22px 26px}.vl-cue .sk-explanation{font-size:20px;margin:10px 0 0}.vl-why{margin-top:16px;padding-top:10px}.vl-key-idea{display:none}.vl-heading{padding:24px}.vl-canvas{padding:16px 26px 24px}.vl-tools{grid-template-columns:1fr}.vl-heading .sk-original{gap:5px}.vl-heading .sk-original span{display:none}.vl-footer-links{gap:8px}.vl-picture{min-height:190px}.vl-pattern-svg{max-height:235px}.vl-scene-top{margin-top:8px}}
@media(max-width:500px){.vl-main.sk-lesson-main{border-radius:16px}.vl-heading{padding:22px 18px}.vl-main h1{font-size:28px;margin:15px 0}.vl-heading .sk-original strong{font-size:16px}.vl-canvas{padding:12px 16px 20px}.vl-cue{padding:20px}.vl-step-controls.sk-step-controls{padding:18px 14px;gap:10px}.vl-step-controls .ac-button{font-size:13px;padding:12px 13px}.vl-step-line .ac-kicker{font-size:12px}.vl-equation.sk-example-equation{font-size:17px;padding:14px 12px}.vl-stage-picker{gap:6px}.vl-stage-picker button{padding:11px 3px 9px;border-radius:9px}.vl-stage-picker button[aria-pressed=true]{padding:10px 2px 8px}.vl-stage-picker button>span,.vl-stage-picker button>b{font-size:12px}.vl-stage-picker button>b{margin-top:0}.vl-stage-label{font-size:10px}.vl-stage-label>b{font-size:20px;min-width:36px;min-height:36px}.vl-colour-key{font-size:12px;gap:10px;margin-top:0;justify-content:flex-start}.vl-motion-controls{gap:8px}.vl-motion-controls .ac-button{padding:12px;font-size:13px;flex:1}.vl-live-caption{font-size:14px}.vl-predict{padding:18px 14px}.vl-predict>div>p{font-size:20px}.vl-predict form>div{gap:8px}.vl-predict input{max-width:90px;font-size:22px}.vl-predict form .ac-button{padding:10px;font-size:13px}.vl-rule{padding:18px 14px}.vl-rule-parts{gap:12px;font-size:25px}.vl-rule-parts small{font-size:11px}.vl-footer-links>.ac-button{font-size:13px}.vl-skip-options{margin-left:0}.vl-picture .ag-tile{min-width:34px;min-height:36px;font-size:16px}.vl-picture .bf-place-table-wrap{overflow-x:auto}.vl-lesson{margin-bottom:32px}}
@media(prefers-reduced-motion:reduce){.vl-new-pair{animation:none!important}}

.vl-variable-groups{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center}.vl-variable-groups>section{border:2px solid #91b2e6;background:#fff;border-radius:16px;padding:20px;min-width:115px}.vl-variable-groups>section>span{display:block;text-align:center;font-size:20px;font-weight:650;color:#2857a9;margin-bottom:18px}.vl-variable-groups>section>div{display:grid;grid-template-columns:repeat(2,25px);justify-content:center;gap:10px}.vl-variable-groups i{width:25px;height:25px;display:block;background:#3975e9;border-radius:5px;animation:vl-add-pair .5s both}.vl-variable-groups>.vl-extra-units{border-color:#dab56b}.vl-extra-units i{background:#efbb4c}.vl-variable-groups>.vl-extra-units>span{color:#865a16}.vl-topic-preview{display:block;width:100%;height:auto}.vl-topic-preview text{font-family:inherit;font-size:23px;font-weight:700;text-anchor:middle;fill:#1d487f}.vl-topic-preview text[fill=white]{fill:white}.vl-topic-preview .lp-operation{font-size:21px}.vl-path-picture{width:100px;display:block;padding:10px;background:#f0f5fe;border:1px solid #d6e3f5;border-radius:16px}.bf-path>li{display:grid;grid-template-columns:38px 100px minmax(0,1fr) auto;gap:20px}.bf-path li>div:first-of-type{min-width:0}.bf-path li .ac-actions{max-width:180px;margin:0}.bf-path h2{font-size:20px}.bf-path p{font-size:15px;color:#506a87}.bf-path .ac-button{font-size:14px}.bf-path-heading h1{font-size:clamp(30px,4vw,43px)}.bf-path-heading p{font-size:17px}.bf-path-next{margin-top:24px}.bf-how{font-size:14px}.bf-path-footer p{font-size:14px}.vl-picture .ag-graph>path:not([stroke-dasharray]){stroke-dasharray:600;animation:vl-trace 1.5s ease-out both}@keyframes vl-trace{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}@media(max-width:1000px){.bf-path>li{grid-template-columns:38px 80px minmax(0,1fr);gap:16px}.vl-path-picture{width:80px}.bf-path li .ac-actions{grid-column:3;max-width:none;justify-content:flex-start}.bf-path li>div:first-of-type{min-width:0}}@media(max-width:600px){.bf-path>li{grid-template-columns:65px minmax(0,1fr);padding:20px 16px;gap:14px}.bf-path-number{display:none}.bf-path:before{display:none}.vl-path-picture{width:65px;padding:7px;border-radius:12px}.bf-path li .ac-actions{grid-column:2;margin:0;gap:8px}.bf-path li .ac-actions .primary{width:auto}.bf-path h2{font-size:18px;line-height:1.35}.bf-path p{font-size:14px}.bf-path li .ac-button{padding:10px 13px;font-size:13px}.vl-variable-groups>section{min-width:90px;padding:14px}.vl-variable-groups>section>span{font-size:16px}.vl-variable-groups>section>div{grid-template-columns:repeat(2,20px);gap:8px}.vl-variable-groups i{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){.vl-variable-groups i,.vl-picture .ag-graph>path:not([stroke-dasharray]){animation:none!important}}

@media(max-width:500px){.vl-picture .sk-balance{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;font-size:22px;padding:15px 0}.vl-picture .sk-balance>span{min-width:0;padding:12px 8px;overflow-wrap:anywhere;text-align:center}}

.vl-pattern-scene>.vl-live-caption{margin:20px 0;padding:0;font-size:16px;line-height:1.6}.vl-cue .vl-pattern-note{font-size:15px;line-height:1.65;color:#496184;margin:0 0 20px}.vl-pattern-scene>.vl-motion-controls{margin-top:22px}.vl-pattern-scene .vl-fixed-label{font-size:17px}

.vl-pattern-purpose{margin-top:20px;padding:16px 18px;border:1px solid #c7d9f5;border-radius:12px;background:#eff5ff}.vl-pattern-purpose>span,.vl-pattern-challenge>span{display:block;font-size:12px;font-weight:750;letter-spacing:.09em;color:#46638b;margin-bottom:7px}.vl-pattern-purpose>strong{display:block;font-size:18px;line-height:1.5;color:#204a8b}.vl-pattern-purpose>p{font-size:15px;line-height:1.6;margin:6px 0 0;color:#456183}.vl-pattern-overview{padding:10px 0}.vl-pattern-overview h2{font-size:24px;line-height:1.3;margin:10px 0 12px;letter-spacing:-.02em}.vl-pattern-overview>p{font-size:17px;line-height:1.65;max-width:42em;margin:12px 0 18px}.vl-pattern-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:22px 0;list-style:none}.vl-pattern-examples>li{min-width:0;background:#fff;border:1px solid #bdd0ed;border-radius:13px;padding:16px 10px;text-align:center}.vl-pattern-examples>li>span{font-size:15px;font-weight:650;color:#45638b}.vl-pattern-examples>li>b{font-size:19px;display:block;color:#17385e}.vl-pattern-examples svg{max-height:100px}.vl-pattern-challenge{padding:20px 22px;background:#fff;border-left:4px solid #2b60dc;border-radius:0 12px 12px 0;margin:22px 0}.vl-pattern-challenge h3{font-size:23px;line-height:1.4;margin:8px 0 12px}.vl-pattern-challenge p{font-size:17px;line-height:1.6;margin:0;max-width:38em}.vl-pattern-overview>.ac-button{font-size:16px;padding:14px 20px}.vl-pattern-scene>.vl-build-purpose{font-size:17px;line-height:1.6;margin:12px 0 22px}.vl-return-challenge{display:block;margin:14px auto 0;font-size:14px}.vl-rule-words{text-align:center;font-size:19px;font-weight:650;line-height:1.5;margin:14px 0}.vl-pattern-jump{margin-top:18px;background:#fff;border:1px solid #bfd1ed;border-radius:13px;overflow:hidden}.vl-pattern-jump summary{padding:18px 20px;cursor:pointer;font-size:17px;font-weight:650;color:#214f9c}.vl-pattern-jump>div{padding:0 20px 20px}.vl-pattern-jump p{font-size:16px;line-height:1.65;margin:14px 0}.vl-pattern-jump strong{font-size:22px;color:#173b67;line-height:1.5}.vl-pattern-jump summary:focus-visible{outline:3px solid #1d57d8;outline-offset:-4px}.vl-step-controls [hidden]{display:none!important}
@media(max-width:500px){.vl-pattern-purpose{padding:14px}.vl-pattern-purpose>strong{font-size:17px}.vl-pattern-overview h2{font-size:22px}.vl-pattern-examples{gap:7px}.vl-pattern-examples>li{padding:13px 6px}.vl-pattern-examples>li>span{font-size:14px}.vl-pattern-examples>li>b{font-size:17px}.vl-pattern-challenge{padding:17px}.vl-pattern-challenge h3{font-size:21px}.vl-pattern-overview>.ac-button{width:100%}.vl-pattern-jump summary{padding:16px;font-size:16px}}
