:root{--bg: #f6f7fb;--surface: #ffffff;--surface-muted: #eef1f6;--text: #18202a;--muted: #5f6b79;--border: #d8dee8;--accent: #3157d5;--accent-soft: #e7ecff;--success: #19734a;--warning: #8a5a00;--danger: #b42318;--sidebar-width: 19rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);line-height:1.65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}a{color:var(--accent)}button,input{font:inherit}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}img{max-width:100%}html[data-programming-language=java] [data-language-content=python],html[data-programming-language=python] [data-language-content=java]{display:none!important}.nav-toggle{position:fixed;opacity:0;pointer-events:none}.mobile-header{display:none}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);overflow-y:auto;background:#111827;color:#fff;border-right:1px solid #273244}.sidebar-inner{padding:1.5rem 1.25rem 3rem}.brand{color:inherit;font-weight:800;text-decoration:none;letter-spacing:-.02em}.desktop-brand{display:block;font-size:1.25rem}.sidebar-subtitle{color:#aab4c3;margin:.25rem 0 .75rem;font-size:.9rem}.language-switcher{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;padding:.3rem;border:1px solid #334155;border-radius:.7rem;background:#0b1220}.language-switcher button{border:0;border-radius:.48rem;padding:.42rem .55rem;background:transparent;color:#aab4c3;font-size:.84rem;font-weight:800;cursor:pointer}.language-switcher button:hover{color:#fff;background:#202c3e}.language-switcher button[aria-pressed=true]{color:#fff;background:#3157d5}.language-switch-hint{margin:.45rem 0 1.7rem;color:#8793a5;font-size:.72rem;line-height:1.4}.mobile-header-actions{display:flex;align-items:center;gap:.65rem}.mobile-language-label{display:inline-flex;align-items:center;min-height:1.8rem;padding:.15rem .55rem;border:1px solid #435068;border-radius:999px;color:#dbe5f5;font-size:.76rem;font-weight:800}.nav-group{margin:0 0 1.75rem}.nav-group h2{color:#8f9bad;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .55rem}.nav-group ul{list-style:none;padding:0;margin:0}.nav-group li{margin:.18rem 0}.nav-link{display:block;padding:.5rem .65rem;border-radius:.5rem;color:#e8edf5;text-decoration:none;font-size:.94rem}.nav-link:hover{background:#202c3e}.nav-link.active{background:#304fc4;color:#fff}.nav-link.disabled{color:#687487;cursor:default}.page-shell{margin-left:var(--sidebar-width);min-height:100vh}.content{width:min(100% - 3rem,58rem);margin:0 auto;padding:4rem 0 7rem}.content>:first-child{margin-top:0}.eyebrow{margin:0 0 .5rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.78rem}h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 1rem}h2{margin-top:3rem;line-height:1.2;letter-spacing:-.02em}h3{margin-top:2rem;line-height:1.25}.lede{max-width:48rem;color:var(--muted);font-size:1.16rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:2rem 0}.card,.challenge,.note,.standard-banner,.generator,.selected-challenge-panel{background:var(--surface);border:1px solid var(--border);border-radius:.85rem;padding:1.25rem}.card h2,.card h3{margin-top:0}.card p:last-child,.challenge p:last-child,.note p:last-child{margin-bottom:0}.standard-banner{background:var(--accent-soft);border-color:#b9c5fb;margin:1.5rem 0 2rem}.standard-banner strong{color:#233f9d}.note{background:#fffaf0;border-color:#ead7a3}pre{overflow-x:auto;background:#111827;color:#edf2f7;padding:1.15rem;border-radius:.75rem;border:1px solid #273244;line-height:1.5}:not(pre)>code{background:var(--surface-muted);border:1px solid var(--border);border-radius:.3rem;padding:.08rem .3rem}.learning-visual{margin:2rem 0;padding:1.15rem;border:1px solid var(--border);border-radius:.9rem;background:linear-gradient(180deg,#fff,#f7f9ff);overflow:hidden}.learning-visual-heading{margin:0 0 .8rem;font-size:1rem;font-weight:850;color:var(--text)}.learning-visual-caption{margin:.8rem 0 0;color:var(--muted);font-size:.9rem}.mermaid-visual .mermaid{display:grid;place-items:center;min-height:12rem;overflow-x:auto}.mermaid-visual svg{max-width:100%;height:auto}.sample-output{margin:1.25rem 0;border:1px solid #273244;border-radius:.8rem;overflow:hidden;background:#111827;color:#edf2f7}.sample-output-title{padding:.55rem .8rem;background:#202c3e;color:#cdd6e5;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.sample-output pre{margin:0;border:0;border-radius:0}.index-strip{display:grid;grid-template-columns:repeat(var(--cells, 8),minmax(3.2rem,1fr));gap:.35rem;overflow-x:auto;padding:.4rem 0 .7rem}.index-cell{min-width:3.2rem;text-align:center}.index-cell strong{display:grid;place-items:center;min-height:3.2rem;padding:.45rem;border:1px solid #b9c5fb;border-radius:.55rem;background:#fff;font-size:1.15rem}.index-cell span{display:block;margin-top:.25rem;color:var(--muted);font-size:.75rem}.challenge-picker{margin:3rem 0 0;border:1px solid var(--border);border-radius:.85rem;background:var(--surface);overflow:hidden;scroll-margin-top:1rem}.challenge-picker summary{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;align-items:center;padding:1rem 1.2rem;cursor:pointer;list-style:none;background:var(--surface)}.challenge-picker summary::-webkit-details-marker{display:none}.challenge-picker summary>span:first-child{grid-column:1;font-size:1.25rem;font-weight:850;letter-spacing:-.02em}.challenge-picker-summary{grid-column:1;color:var(--muted);font-size:.9rem}.challenge-picker summary:after{grid-column:2;grid-row:1 / span 2;content:"+";display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--surface-muted);color:var(--accent);font-size:1.25rem;font-weight:800}.challenge-picker[open] summary{border-bottom:1px solid var(--border)}.challenge-picker[open] summary:after{content:"−"}.challenge-picker-body{padding:.25rem 1.2rem 1.2rem}.challenge-picker-body>p:first-child{color:var(--muted)}.challenge{margin:1rem 0;overflow:hidden}.challenge-layout.has-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,18rem);gap:1.25rem;align-items:start}.challenge-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.challenge h3{margin:0}.badge{display:inline-flex;align-items:center;white-space:nowrap;padding:.25rem .55rem;border-radius:999px;background:var(--surface-muted);font-size:.8rem;font-weight:750}.challenge-meta{color:var(--muted);font-size:.9rem;margin:.45rem 0 1rem}.challenge-description,.task-repeat{white-space:pre-line}.challenge-note{padding:.75rem .85rem;background:#fffaf0;border-left:3px solid #d3a42c;color:#5f480b}.challenge-actions{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.challenge-visual,.selected-task-visual{margin:0;border:1px solid var(--border);border-radius:.75rem;overflow:hidden;background:#fbfcff}.challenge-visual img,.selected-task-visual img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:contain}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--accent);border-radius:.55rem;padding:.55rem .85rem;background:var(--accent);color:#fff;text-decoration:none;font-weight:750;cursor:pointer}.button:hover{filter:brightness(.96)}.button.secondary{background:#fff;color:var(--accent)}.button.small{padding:.42rem .7rem;font-size:.9rem}.generator{margin:2rem 0}.generator>h2:first-child{margin-top:0}.option-group{margin:0 0 1.4rem;padding:0;border:0}.option-group legend,.field-label{display:block;margin-bottom:.5rem;font-weight:800}.segmented-control{display:flex;flex-wrap:wrap;gap:.55rem}.segmented-control label{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface-muted);cursor:pointer}.segmented-control label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:#233f9d;font-weight:750}.text-input{width:min(100%,28rem);padding:.65rem .75rem;border:1px solid var(--border);border-radius:.55rem;background:#fff;color:var(--text)}.text-input:focus{outline:3px solid rgb(49 87 213 / .18);border-color:var(--accent)}.text-input[aria-invalid=true]{border-color:var(--danger)}.field-help{margin:.45rem 0 0;color:var(--muted);font-size:.9rem}.field-error{margin:.45rem 0 0;color:var(--danger);font-size:.9rem;font-weight:700}.command-section{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--border)}.command-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.command-heading h2{margin:0;font-size:1.2rem}.command-heading p{margin:.3rem 0 0;color:var(--muted)}.command-output{max-height:28rem}.selected-challenge-panel{margin:1rem 0 2rem;border-color:#b9c5fb;background:#f8faff;scroll-margin-top:1rem}.selected-challenge-panel[hidden]{display:none}.selected-challenge-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.selected-challenge-heading h2{margin:0}.selected-challenge-summary{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:.75rem;color:var(--muted)}.selected-challenge-summary strong{color:var(--text)}.selected-os-group{margin:1.5rem 0 0}.workflow-step{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.workflow-step-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.85rem;align-items:start}.workflow-step-heading h2{margin:.05rem 0 0;font-size:1.2rem}.workflow-step-heading p{margin:.3rem 0 0;color:var(--muted)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:850;line-height:1}.workflow-step .command-output{margin:1rem 0 0}.task-repeat-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;margin:1rem 0 0 2.85rem}.task-repeat{margin:0;padding:1rem 1.1rem;border:1px solid #cbd5ff;border-radius:.7rem;background:#fff}.selected-task-visual{width:min(18rem,34vw)}.selected-task-visual[hidden]{display:none}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:.8rem;background:var(--surface)}table{width:100%;border-collapse:collapse;min-width:46rem}th,td{text-align:left;vertical-align:top;padding:.8rem .9rem;border-bottom:1px solid var(--border)}th{background:var(--surface-muted);font-size:.85rem}tr:last-child td{border-bottom:0}.status-yes{color:var(--success);font-weight:800}.status-no{color:var(--muted)}.status-separate{color:var(--warning);font-weight:700}.page-links{display:flex;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--border)}.page-links a{text-decoration:none;font-weight:750}@media(max-width:800px){.mobile-header{display:flex;position:sticky;top:0;z-index:30;justify-content:space-between;align-items:center;padding:.9rem 1rem;background:#111827;color:#fff}.menu-button{cursor:pointer;border:1px solid #435068;border-radius:.5rem;padding:.35rem .65rem;font-weight:700}.sidebar{z-index:40;transform:translate(-100%);transition:transform .2s ease;width:min(21rem,88vw)}.desktop-brand{display:none}.page-overlay{display:none;position:fixed;inset:0;z-index:35;background:#00000073}.nav-toggle:checked~.sidebar{transform:translate(0)}.nav-toggle:checked~.page-overlay{display:block}.page-shell{margin-left:0}.content{width:min(100% - 2rem,58rem);padding:2.5rem 0 5rem}.challenge-layout.has-visual{grid-template-columns:1fr}.challenge-visual{order:-1}.challenge-header,.command-heading,.selected-challenge-heading{display:block}.badge{margin-top:.65rem}.command-heading .button,.selected-challenge-heading .button{margin-top:.75rem}.workflow-step-heading{grid-template-columns:auto minmax(0,1fr)}.workflow-step-heading .copy-button{grid-column:2;justify-self:start;margin-top:.25rem}.task-repeat-layout{grid-template-columns:1fr;margin-left:0}.selected-task-visual{width:100%;order:-1}}@media print{.sidebar,.mobile-header,.page-overlay,.page-links,.challenge-actions,.copy-button,#change-challenge{display:none!important}.page-shell{margin:0}.content{width:100%;padding:0}body{background:#fff}.challenge,.card,.note,.standard-banner,.learning-visual{break-inside:avoid}}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:1em;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga"}.challenge{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.challenge.is-selected{border-color:#8ea4f4;background:#fbfcff;box-shadow:0 0 0 3px #3157d517}.challenge-layout.has-visual{display:flex;flex-direction:column;gap:0}.challenge-layout.has-visual>.challenge-copy{display:contents}.challenge-layout.has-visual .challenge-header{order:1}.challenge-layout.has-visual .challenge-meta{order:2}.challenge-layout.has-visual .challenge-description{order:3}.challenge-layout.has-visual .challenge-note{order:4}.challenge-layout.has-visual .challenge-visual{order:5}.challenge-layout.has-visual .challenge-actions{order:6}.challenge-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem 1rem;width:100%}.challenge-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.challenge-title-line h3{min-width:0}.selected-marker{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .48rem;border-radius:999px;background:#e8f5ee;color:#17633f;font-size:.76rem;font-weight:800;white-space:nowrap}.selected-marker[hidden]{display:none}.selected-marker .material-symbols-rounded{font-size:1rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 20}.challenge-visual{position:relative;width:min(100%,34rem);margin:1.15rem auto .2rem;transition:background-color .2s ease,border-color .2s ease}.challenge-visual img,.selected-task-visual img{background:#fff}.challenge-visual-image,.selected-task-visual img{opacity:1;transition:opacity .2s ease}.challenge-visual-image[hidden],.selected-task-visual img[hidden]{display:none}.challenge-icon-visual{display:grid;place-items:center;min-height:12rem;padding:1.5rem;background:radial-gradient(circle at 18% 22%,rgb(49 87 213 / .13) 0 4rem,transparent 4.1rem),radial-gradient(circle at 82% 75%,rgb(43 154 145 / .13) 0 5rem,transparent 5.1rem),linear-gradient(145deg,#fbfcff,#eef3ff)}.challenge-fallback-icon{color:var(--accent);font-size:clamp(4.5rem,12vw,7.5rem);opacity:1;font-variation-settings:"FILL" 1,"wght" 420,"GRAD" 0,"opsz" 48;filter:drop-shadow(0 .4rem .7rem rgb(49 87 213 / .12));transition:opacity .2s ease,transform .2s ease}.challenge-fallback-icon[hidden]{display:none}.challenge.is-selected .challenge-fallback-icon{transform:scale(1.025)}.code-heat{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;justify-self:end;margin-left:auto;gap:.38rem;min-height:1.8rem;padding:.24rem .5rem;border-radius:999px;background:var(--surface-muted);white-space:nowrap}.code-heat-label{color:var(--muted);font-size:.76rem;font-weight:800}.code-heat-icons{display:inline-flex;align-items:center;gap:.06rem;line-height:1}.code-heat-icon{color:#c5ccd8;font-size:1.05rem;opacity:.5;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.code-heat-icon.active{opacity:1;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24}.code-heat-icon.active.heat-step-1{color:#4f78d6}.code-heat-icon.active.heat-step-2{color:#2f9a91}.code-heat-icon.active.heat-step-3{color:#c28a1b}.code-heat-icon.active.heat-step-4{color:#c95f49}.choose-challenge[aria-pressed=true]{border-color:#19734a;background:#19734a;cursor:default}.selected-code-heat-summary{display:inline-flex;align-items:center;gap:.35rem}.selected-challenge-panel:not([data-submission-state-resolved=true])>.workflow-step{display:none!important}.selected-challenge-panel:not([data-submission-state-resolved=true]):after{content:"Checking challenge progress…";display:flex;align-items:center;min-height:3.2rem;margin-top:1rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface-muted);color:var(--muted);font-size:.86rem;font-weight:700}.selected-challenge-panel[hidden]:after,.selected-challenge-panel[data-submission-state-resolved=true]:after{display:none}.task-repeat-layout{display:flex;flex-direction:column;gap:1rem}.selected-task-visual{width:min(100%,38rem);margin:0 auto;transition:background-color .2s ease,border-color .2s ease}.selected-task-visual.challenge-icon-visual{min-height:13rem}.challenge-picker-body{display:grid;gap:.65rem;padding-top:.75rem}.challenge-picker-body>p:first-child{margin:0 0 .15rem;font-size:.88rem}.challenge-picker-body .challenge{margin:0;padding:.85rem .9rem;border-radius:.72rem}.challenge-picker-body .challenge-layout.has-visual{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem;grid-template-areas:"header visual" "meta visual" "description visual" "note visual" "actions visual";gap:.25rem 1rem;align-items:start}.challenge-picker-body .challenge-header{grid-area:header}.challenge-picker-body .challenge-meta{grid-area:meta}.challenge-picker-body .challenge-description{grid-area:description}.challenge-picker-body .challenge-note{grid-area:note}.challenge-picker-body .challenge-actions{grid-area:actions}.challenge-picker-body .challenge-visual{grid-area:visual}.challenge-picker-body .challenge-title-line h3{font-size:1.02rem}.challenge-picker-body .challenge-meta{margin:.2rem 0 .35rem;font-size:.78rem}.challenge-picker-body .challenge-description{margin:.2rem 0;font-size:.9rem;line-height:1.45}.challenge-picker-body .challenge-note{margin:.3rem 0 0;padding:.45rem .6rem;font-size:.82rem;line-height:1.4}.challenge-picker-body .challenge-actions{margin-top:.45rem}.challenge-picker-body .challenge-visual{width:8.5rem;min-height:6.3rem;margin:0;align-self:stretch}.challenge-picker-body .challenge-visual img{width:100%;height:100%;min-height:6.3rem;aspect-ratio:auto;object-fit:contain}.challenge-picker-body .challenge-icon-visual{min-height:6.3rem;padding:.65rem}.challenge-picker-body .challenge-fallback-icon{font-size:3rem}.challenge-picker-body .code-heat{min-height:1.55rem;padding:.16rem .4rem}.challenge-picker-body .code-heat-label{font-size:.68rem}.challenge-picker-body .code-heat-icon{font-size:.92rem}.challenge-picker-body .scaffold-available{font-size:.76rem}@media(max-width:800px){.challenge-header{display:grid;grid-template-columns:minmax(0,1fr) auto}.code-heat{justify-content:flex-end;justify-self:end;margin-top:0}.challenge-picker-body .challenge-layout.has-visual{grid-template-columns:minmax(0,1fr) 6.25rem}.challenge-picker-body .challenge-visual{width:6.25rem;min-height:5rem}.challenge-picker-body .challenge-visual img,.challenge-picker-body .challenge-icon-visual{min-height:5rem}}@media(max-width:560px){.challenge-picker-body .challenge-layout.has-visual{grid-template-columns:1fr;grid-template-areas:"header" "meta" "description" "note" "actions"}.challenge-picker-body .challenge-visual{display:none}}.themed-code-example{margin:1.2rem 0;overflow:hidden;border:1px solid #30363d;border-radius:.8rem;background:#0d1117;box-shadow:0 10px 26px #1118271f}.themed-code-example .code-example-host,.themed-code-example .cm-editor,.themed-code-example .cm-scroller{min-width:0;max-width:100%}.themed-code-example .cm-editor{height:auto;outline:0}.themed-code-example .cm-scroller{overflow-x:auto!important;overflow-y:hidden!important}.themed-code-example .cm-content{white-space:pre!important;caret-color:transparent}.themed-code-example .cm-line{padding-inline:.65rem 1rem}.themed-code-example .cm-gutters{min-height:100%}.nav-group.section-divider{margin-top:2rem;padding-top:1.35rem;border-top:1px solid #334155}.nav-group.checkpoint-group{margin:2rem 0;padding:1rem .7rem;border:1px solid #4b5c79;border-radius:.75rem;background:linear-gradient(145deg,#3157d52b,#11182733)}.nav-group.checkpoint-group h2{color:#cbd5ff}.nav-link.numbered-link{display:grid;grid-template-columns:2.2rem minmax(0,1fr);align-items:baseline;gap:.35rem}.nav-item-number{color:#8fa2c4;font-size:.74rem;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:.03em}.nav-link.active .nav-item-number,.nav-link.checkpoint-link .nav-item-number{color:#dbe4ff}.nav-link.disabled .nav-item-number{color:#59677c}.nav-link.checkpoint-link{font-weight:800}.checkpoint-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;margin:1.6rem 0 2rem;padding:1.2rem 1.3rem;border:1px solid #b6c4fb;border-radius:.9rem;background:linear-gradient(145deg,#eef2ff,#fffaf0)}.checkpoint-banner>.material-symbols-rounded{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.75rem;background:#3157d5;color:#fff;font-size:1.7rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 32}.checkpoint-banner h2{margin:0 0 .35rem;font-size:1.2rem}.checkpoint-banner p{margin:0;color:#43516a}.checkpoint-guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 2rem}.checkpoint-guidance article{padding:1rem;border:1px solid var(--border);border-radius:.8rem;background:#fff}.checkpoint-guidance h3{margin:0 0 .35rem;font-size:1rem}.checkpoint-guidance p{margin:0;color:var(--muted);font-size:.92rem}@media(max-width:700px){.checkpoint-guidance{grid-template-columns:1fr}}.structure-visual{display:grid;gap:1rem;margin:2rem 0;padding:1.25rem;border:1px solid var(--border);border-radius:.9rem;background:linear-gradient(180deg,#fff,#f7f9ff);overflow:hidden}.structure-visual figcaption{display:grid;gap:.35rem}.structure-visual figcaption strong{font-size:1rem}.structure-visual figcaption .memory-rule{display:inline-flex;align-items:center;justify-self:start;padding:.35rem .6rem;border:1px solid #f2aaa3;border-radius:.55rem;background:#fff0ee;color:#b42318;font-size:1.05rem;font-weight:900;letter-spacing:.01em;box-shadow:0 .2rem .55rem #b4231814}.structure-visual figcaption span{color:var(--muted);font-size:.9rem}.stack-demo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;width:min(100%,34rem);margin-inline:auto}.stack-items{display:flex;flex-direction:column-reverse;gap:.45rem;padding:.85rem;border:2px solid #b9c5fb;border-top:0;border-radius:0 0 .9rem .9rem;background:#f8faff}.stack-item,.queue-item{display:grid;place-items:center;min-height:3.2rem;padding:.6rem .8rem;border:1px solid #8fa4ee;border-radius:.65rem;background:#fff;box-shadow:0 .35rem .8rem #3157d514;font-weight:800;text-align:center}.stack-item.top-item{border-color:#3157d5;background:#e7ecff;color:#233f9d}.structure-direction{display:grid;justify-items:center;gap:.35rem;color:#3157d5;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.structure-direction .material-symbols-rounded{font-size:2.5rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 40}.queue-demo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem}.queue-end{display:grid;justify-items:center;gap:.3rem;color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.queue-end .material-symbols-rounded{color:#3157d5;font-size:2rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 32}.queue-lane{display:grid;grid-template-columns:repeat(3,minmax(7rem,1fr));gap:.5rem;padding:.8rem;border:2px solid #b9c5fb;border-radius:.9rem;background:#f8faff;overflow-x:auto}.queue-item.front-item{border-color:#3157d5;background:#e7ecff;color:#233f9d}.operation-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.5rem 0}.operation-key article{padding:.9rem;border:1px solid var(--border);border-radius:.75rem;background:#fff}.operation-key h3{margin:0 0 .3rem;color:#233f9d;font-size:1rem}.operation-key p{margin:0;color:var(--muted);font-size:.9rem}.suitability-check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;margin:1.5rem 0;padding:1rem 1.1rem;border-left:4px solid #3157d5;border-radius:0 .8rem .8rem 0;background:#eef2ff}.suitability-check>.material-symbols-rounded{color:#3157d5;font-size:1.8rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 32}.suitability-check strong,.suitability-check span{display:block}.suitability-check span{margin-top:.2rem;color:#43516a}@media(max-width:760px){.operation-key{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-demo{grid-template-columns:1fr}.queue-end{grid-template-columns:auto auto;justify-content:center}.queue-end:first-child .material-symbols-rounded{transform:rotate(90deg)}.queue-end:last-child .material-symbols-rounded{transform:rotate(90deg)}}@media(max-width:480px){.stack-demo,.operation-key{grid-template-columns:1fr}}.scaffold-available{display:inline-flex;align-items:center;gap:.35rem;margin-left:.55rem;color:#52617a;font-size:.78rem;font-weight:800}.scaffold-available .material-symbols-rounded{color:#d97706;font-size:1.05rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 20}.scaffold-support{margin-top:1.2rem;padding:1.1rem;border:1px solid #f1c56f;border-radius:.9rem;background:linear-gradient(145deg,#fffaf0,#fffdf8)}.scaffold-support-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem}.scaffold-support-heading-icon{display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:.7rem;background:#f59e0b;color:#fff}.scaffold-support-heading-icon .material-symbols-rounded{font-size:1.5rem;font-variation-settings:"FILL" 1,"wght" 650,"GRAD" 0,"opsz" 28}.scaffold-support-heading h3{margin:0 0 .25rem;font-size:1rem}.scaffold-support-heading p{margin:0;color:#65543b;font-size:.9rem}.scaffold-support-buttons{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.scaffold-support-button{position:relative;display:inline-flex;align-items:center;gap:.55rem;min-height:2.5rem;padding:.55rem .8rem;border:1px solid #d7a946;border-radius:.65rem;background:#fff;color:#4b3a1c;font:inherit;font-size:.86rem;font-weight:850;cursor:pointer;box-shadow:0 .3rem .8rem #b4781214}.scaffold-support-button:hover,.scaffold-support-button:focus-visible{border-color:#b77905;background:#fff8e8;outline:none}.scaffold-support-button:after{content:attr(data-tooltip);position:absolute;z-index:30;left:50%;bottom:calc(100% + .6rem);width:min(18rem,75vw);padding:.55rem .65rem;border-radius:.55rem;background:#172033;color:#fff;font-size:.76rem;font-weight:650;line-height:1.35;text-align:left;transform:translate(-50%,.2rem);opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.scaffold-support-button:hover:after,.scaffold-support-button:focus-visible:after{opacity:1;transform:translate(-50%)}.support-icon-pair{position:relative;display:inline-grid;place-items:center;width:1.8rem;height:1.45rem;color:#d97706}.support-icon-pair>.material-symbols-rounded{font-size:1.35rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24}.support-icon-pair .support-comment-icon{position:absolute;right:-.42rem;bottom:-.3rem;padding:.08rem .12rem;border:1px solid #c8d3ff;border-radius:.35rem;background:#fff;color:#3157d5;font-size:.88rem;font-variation-settings:"FILL" 0,"wght" 650,"GRAD" 0,"opsz" 20}.scaffold-code-panel{margin-top:1rem;overflow:hidden;border:1px solid #30363d;border-radius:.8rem;background:#0d1117;box-shadow:0 10px 26px #1118271f}.scaffold-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border-bottom:1px solid #30363d;background:#161b22;color:#f0f6fc}.scaffold-code-toolbar>div:first-child{display:grid;gap:.08rem}.scaffold-code-actions{display:flex;align-items:center;gap:.5rem}.scaffold-code-kicker{color:#8c9bb0;font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.scaffold-code-toolbar strong{font-size:.86rem}.scaffold-code-toolbar .button{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto}.scaffold-code-toolbar .material-symbols-rounded{font-size:1rem}.scaffold-code-host,.scaffold-code-host .cm-editor,.scaffold-code-host .cm-scroller{min-width:0;max-width:100%}.scaffold-code-host .cm-editor{height:auto;outline:0}.scaffold-code-host .cm-scroller{overflow-x:auto!important;overflow-y:hidden!important}.scaffold-code-host .cm-content{white-space:pre!important;caret-color:transparent}.scaffold-code-host .cm-line{padding-inline:.65rem 1rem}@media(max-width:600px){.scaffold-support-buttons{display:grid}.scaffold-support-button{justify-content:flex-start;width:100%}.scaffold-code-toolbar{align-items:flex-start;flex-direction:column}.scaffold-code-actions{width:100%;flex-wrap:wrap}}.oop-concept-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1.5rem 0}.oop-concept-strip article{display:grid;align-content:start;gap:.35rem;min-height:8.2rem;padding:.9rem;border:1px solid var(--border);border-radius:.8rem;background:#fff}.oop-concept-strip .material-symbols-rounded{color:#3157d5;font-size:1.65rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 32}.oop-concept-strip h3,.oop-concept-strip p{margin:0}.oop-concept-strip h3{font-size:.95rem}.oop-concept-strip p{color:var(--muted);font-size:.82rem}.oop-evaluation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1.5rem 0}.oop-evaluation-grid article{padding:1rem;border:1px solid var(--border);border-radius:.8rem;background:#fff}.oop-evaluation-grid article:first-child{border-top:4px solid #2f855a}.oop-evaluation-grid article:last-child{border-top:4px solid #c05621}.oop-evaluation-grid h3{margin:0 0 .55rem}.oop-evaluation-grid ul{margin:0;padding-left:1.2rem}.uml-class{width:min(100%,34rem);margin:1.5rem auto;overflow:hidden;border:2px solid #3157d5;border-radius:.75rem;background:#fff;box-shadow:0 .7rem 1.6rem #3157d51a}.uml-class-name{padding:.75rem 1rem;background:#3157d5;color:#fff;font-size:1.08rem;font-weight:900;text-align:center}.uml-section{display:grid;gap:.3rem;padding:.85rem 1rem;border-top:1px solid #b9c5fb}.uml-section code{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;background:transparent;color:#1d2b4d}.uml-class figcaption{padding:.7rem 1rem;border-top:1px solid #d9e0f7;background:#f7f9ff;color:var(--muted);font-size:.82rem}.uml-relationship-primer{width:min(100%,42rem);margin:1.25rem auto 1.8rem;padding:1rem;border:1px solid #b9c5fb;border-radius:.85rem;background:#f8faff}.uml-association-diagram{display:grid;grid-template-columns:minmax(7.5rem,1fr) minmax(7rem,1.25fr) minmax(7.5rem,1fr);gap:.75rem;align-items:center}.uml-relationship-node{display:grid;gap:.15rem;min-height:4rem;padding:.7rem .8rem;border:2px solid #3157d5;border-radius:.65rem;background:#fff;text-align:center}.uml-relationship-node span{color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.uml-relationship-node strong{overflow-wrap:anywhere}.uml-association-connector{display:grid;grid-template-rows:auto auto;gap:.35rem;align-items:center;justify-items:stretch;color:#3157d5}.uml-association-connector>span{display:block;width:100%;height:3px;background:currentColor}.uml-association-connector small{color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.05em;text-align:center;text-transform:uppercase}.uml-relationship-primer figcaption{margin-top:.85rem;color:var(--muted);font-size:.84rem}.class-object-model{display:grid;grid-template-columns:minmax(14rem,.85fr) auto minmax(0,1.35fr);align-items:center;gap:1rem;margin:1.7rem 0}.class-object-arrow{display:grid;justify-items:center;gap:.25rem;color:#3157d5;font-size:.72rem;font-weight:850;text-align:center;text-transform:uppercase;letter-spacing:.05em}.class-object-arrow .material-symbols-rounded{font-size:2.3rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 40}.object-instance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.object-card{padding:.95rem;border:1px solid #b9c5fb;border-radius:.75rem;background:#f8faff}.object-card h3{margin:0 0 .65rem;color:#233f9d;font-size:1rem}.object-card dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.35rem .7rem;margin:0}.object-card dt{color:var(--muted);font-weight:800}.object-card dd{margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.ownership-model{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.9rem;margin:1.5rem 0}.class-owned-card,.instance-owned-card{padding:1rem;border-radius:.85rem}.class-owned-card{border:2px solid #8b5cf6;background:#f5f0ff}.instance-owned-card{border:2px solid #60a5fa;background:#eff6ff}.class-owned-card h3,.instance-owned-card h3{margin:0 0 .45rem}.class-owned-card p,.instance-owned-card p{margin:.25rem 0 0}.ownership-trace{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:.75rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:850}.ownership-trace span{display:inline-grid;place-items:center;min-width:2.25rem;min-height:2.25rem;padding:.25rem .45rem;border-radius:.55rem;background:#fff;border:1px solid currentColor}.encapsulation-boundary{display:grid;grid-template-columns:minmax(9rem,.6fr) auto minmax(17rem,1.4fr);align-items:center;gap:1rem;margin:1.7rem 0;padding:1rem;border:1px solid var(--border);border-radius:.9rem;background:#fff}.caller-card,.object-boundary-card{padding:1rem;border-radius:.8rem}.caller-card{border:1px solid #cbd5e1;background:#f8fafc;text-align:center}.object-boundary-card{border:2px solid #3157d5;background:#eef2ff}.object-boundary-card h3{margin:0 0 .7rem}.public-interface-list{display:grid;gap:.55rem}.public-interface-list div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:start;padding:.65rem;border:1px solid #b9c5fb;border-radius:.6rem;background:#fff}.public-interface-list .material-symbols-rounded{color:#3157d5;font-size:1.2rem}.boundary-arrow{display:grid;justify-items:center;color:#3157d5;font-size:.72rem;font-weight:850;text-transform:uppercase}.boundary-arrow .material-symbols-rounded{font-size:2.3rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 40}.oop-rule-banner{margin:1.4rem 0;padding:1rem 1.1rem;border-left:5px solid #dc2626;border-radius:0 .75rem .75rem 0;background:#fff1f2;color:#8f1d1d;font-weight:850}.oop-section-complete{margin:2rem 0;padding:1.1rem 1.2rem;border:1px solid #9bc7ab;border-radius:.85rem;background:#f0fff4}.oop-section-complete h2{margin-top:0}@media(max-width:900px){.oop-concept-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.class-object-model,.encapsulation-boundary{grid-template-columns:1fr}.class-object-arrow .material-symbols-rounded,.boundary-arrow .material-symbols-rounded{transform:rotate(90deg)}}@media(max-width:650px){.oop-concept-strip,.oop-evaluation-grid,.ownership-model,.object-instance-grid{grid-template-columns:1fr}.uml-association-diagram{grid-template-columns:minmax(5.2rem,1fr) minmax(3.8rem,.8fr) minmax(5.2rem,1fr);gap:.4rem}.uml-relationship-node{padding-inline:.45rem;font-size:.82rem}}.relationship-test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.5rem 0}.relationship-test-grid article{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:.25rem .6rem;min-height:9rem;padding:1rem;border:1px solid var(--border);border-radius:.85rem;background:#fff}.relationship-test-grid h3,.relationship-test-grid p{margin:0}.relationship-test-grid p{grid-column:1 / -1;color:var(--muted)}.relationship-test-grid .material-symbols-rounded{font-size:1.4rem;font-variation-settings:"FILL" 1,"wght" 650,"GRAD" 0,"opsz" 28}.relationship-fit{border-top:4px solid #2f855a!important}.relationship-fit .material-symbols-rounded{color:#2f855a}.relationship-reject{border-top:4px solid #c05621!important}.relationship-reject .material-symbols-rounded{color:#c05621}.inheritance-tree{width:min(100%,48rem);margin:1.8rem auto;padding:1.2rem;border:1px solid var(--border);border-radius:1rem;background:linear-gradient(180deg,#fbfcff,#f3f6ff)}.inheritance-tree:after{display:block;margin-top:1rem;color:var(--muted);content:"UML inheritance: the hollow triangle points to the parent class.";font-size:.8rem;font-weight:750;text-align:center}.inheritance-parent-card,.inheritance-children article{padding:1rem;border-radius:.85rem;background:#fff;box-shadow:0 .55rem 1.2rem #3157d514;text-align:center}.inheritance-parent-card{width:min(100%,22rem);margin:0 auto;border:2px solid #3157d5}.inheritance-parent-card h3,.inheritance-parent-card p,.inheritance-children h3,.inheritance-children p{margin:0}.inheritance-parent-card h3,.inheritance-children h3{margin-bottom:.25rem}.inheritance-role{color:#5b6b8c;font-size:.74rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.inheritance-branch{position:relative;width:52%;height:3.2rem;margin:0 auto;border-bottom:3px solid #8ea4f4;background:linear-gradient(#8ea4f4,#8ea4f4) center top / 3px 100% no-repeat}.inheritance-branch:before,.inheritance-branch:after{position:absolute;left:50%;width:0;height:0;border-left-style:solid;border-left-color:transparent;border-right-style:solid;border-right-color:transparent;content:"";transform:translate(-50%)}.inheritance-branch:before{top:-.92rem;z-index:2;border-left-width:.72rem;border-right-width:.72rem;border-bottom:1.05rem solid #8ea4f4}.inheritance-branch:after{top:-.68rem;z-index:3;border-left-width:.52rem;border-right-width:.52rem;border-bottom:.76rem solid #fbfcff}.inheritance-branch span{position:absolute;bottom:-1.25rem;width:3px;height:1.25rem;background:#8ea4f4}.inheritance-branch span:first-child{left:0}.inheritance-branch span:last-child{right:0}.inheritance-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;width:72%;margin:1.25rem auto 0}.inheritance-children article{border:2px solid #60a5fa}.constructor-trace{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.5rem 0}.constructor-trace>div{position:relative;min-height:10rem;padding:1rem;border:1px solid #b9c5fb;border-radius:.85rem;background:#fff}.constructor-trace>div:not(:last-child):after{position:absolute;top:50%;right:-.68rem;z-index:2;color:#3157d5;content:"→";font-size:1.4rem;font-weight:900;transform:translateY(-50%)}.constructor-trace span{display:inline-grid;place-items:center;width:2rem;height:2rem;margin-bottom:.65rem;border-radius:999px;background:#3157d5;color:#fff;font-weight:900}.constructor-trace strong{display:block;overflow-wrap:anywhere}.constructor-trace p{margin:.55rem 0 0;color:var(--muted)}.next-oop-boundary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;align-items:start;margin:1.8rem 0;padding:1.1rem;border:1px solid #c4b5fd;border-radius:.9rem;background:#f7f3ff}.next-oop-boundary>.material-symbols-rounded{color:#7c3aed;font-size:2rem;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 40}.next-oop-boundary h2,.next-oop-boundary p{margin:0}.next-oop-boundary p{margin-top:.35rem}@media(max-width:900px){.relationship-test-grid,.constructor-trace{grid-template-columns:repeat(2,minmax(0,1fr))}.constructor-trace>div:nth-child(2):after{display:none}}@media(max-width:650px){.relationship-test-grid,.constructor-trace,.inheritance-children{grid-template-columns:1fr}.inheritance-branch{width:3px;height:2.5rem;border:0;background:#8ea4f4}.inheritance-branch span,.constructor-trace>div:after{display:none}.inheritance-children{width:100%;margin-top:0}}:root,html[data-curriculum-pathway=ib-dp]{--vnext-pathway-accent: #3157d5;--vnext-pathway-soft: #eef3ff;--vnext-pathway-border: #ccd8ff;--vnext-pathway-text: #233f9d}html[data-curriculum-pathway=lower-secondary]{--vnext-pathway-accent: #2f8f5b;--vnext-pathway-soft: #eaf7ef;--vnext-pathway-border: #c7e7d3;--vnext-pathway-text: #1f6841}html[data-curriculum-pathway=igcse]{--vnext-pathway-accent: #7c4dcc;--vnext-pathway-soft: #f3eefc;--vnext-pathway-border: #daccf2;--vnext-pathway-text: #5a3597}.vnext-body{min-height:100vh;background:#f7f8fc}.vnext-topbar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(13rem,1fr) auto minmax(13rem,1fr);align-items:center;gap:1.25rem;min-height:4.8rem;padding:.8rem 1.5rem;border-bottom:1px solid #dfe4ec;background:#fffffff5;backdrop-filter:blur(14px)}.vnext-brand{justify-self:start}.vnext-primary-nav{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem;border:1px solid #dfe4ec;border-radius:.8rem;background:#f6f7fb}.vnext-primary-nav a{display:inline-flex;align-items:center;gap:.42rem;min-height:2.55rem;padding:.45rem .8rem;border-radius:.58rem;color:#667085;font-size:.9rem;font-weight:800;text-decoration:none}.vnext-primary-nav a:hover{color:var(--text);background:#fff}.vnext-primary-nav a.is-active{color:var(--vnext-pathway-text);background:var(--vnext-pathway-soft)}.vnext-primary-nav .material-symbols-rounded{font-size:1.1rem;font-variation-settings:"FILL" 1,"wght" 550,"GRAD" 0,"opsz" 24}.vnext-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.vnext-pathway-switcher{display:inline-flex;align-items:center;gap:.4rem;min-height:2.55rem;padding:.28rem .4rem .28rem .62rem;border:1px solid var(--vnext-pathway-border);border-radius:.65rem;background:var(--vnext-pathway-soft);color:var(--vnext-pathway-text);font-size:.72rem;font-weight:850}.vnext-pathway-switcher[hidden],.vnext-pathway-badge[hidden],.vnext-language-switcher[hidden]{display:none!important}.vnext-pathway-switcher select{width:10.5rem;max-width:10.5rem;min-height:1.9rem;border:0;background:transparent;color:#303b50;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}html[data-curriculum-pathway=igcse] .vnext-pathway-switcher select,html[data-curriculum-pathway=ib-dp] .vnext-pathway-switcher select{width:6.5rem}.vnext-pathway-badge{display:inline-flex;align-items:center;min-height:2.35rem;padding:.4rem .7rem;border:1px solid var(--vnext-pathway-border);border-radius:999px;background:var(--vnext-pathway-soft);color:var(--vnext-pathway-text);font-size:.76rem;font-weight:850}.vnext-language-switcher{display:inline-grid;grid-template-columns:1fr 1fr;gap:.18rem;padding:.22rem;border:1px solid #dfe4ec;border-radius:.65rem;background:#f6f7fb}.vnext-language-switcher button{border:0;border-radius:.46rem;padding:.38rem .62rem;background:transparent;color:#7b8494;font-size:.82rem;font-weight:800;cursor:pointer}.vnext-language-switcher button[aria-pressed=true]{background:var(--vnext-pathway-accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--vnext-pathway-accent) 20%,transparent)}.vnext-account-status{display:inline-flex;align-items:center;gap:.35rem;max-width:12rem;color:#596579;font-size:.78rem}.vnext-account-status[hidden]{display:none}.vnext-account-status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vnext-shell{display:grid;grid-template-columns:15.5rem minmax(0,1fr);min-height:calc(100vh - 4.8rem)}.vnext-course-rail{position:sticky;top:4.8rem;align-self:start;height:calc(100vh - 4.8rem);overflow-y:auto;padding:2rem 1rem 2rem 1.25rem;border-right:1px solid #dfe4ec;background:#fbfcfe}.vnext-course-rail-heading{padding:0 .55rem 1rem}.vnext-course-rail-heading p{margin:0 0 .25rem;color:#7e8aa0;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.vnext-course-rail-heading h2{margin:0;color:#20283a;font-size:1.03rem;letter-spacing:-.02em}.vnext-course-rail nav{display:grid;gap:.3rem}.vnext-course-rail nav a{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:3.55rem;padding:.55rem .65rem;border:1px solid transparent;border-radius:.75rem;color:#556175;text-decoration:none}.vnext-course-rail nav a:hover{border-color:#e2e7ef;background:#fff}.vnext-course-rail nav a.is-active{border-color:var(--vnext-pathway-border);background:var(--vnext-pathway-soft);color:var(--vnext-pathway-text);box-shadow:0 4px 14px color-mix(in srgb,var(--vnext-pathway-accent) 8%,transparent)}.vnext-technique-number{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.62rem;background:#eef1f6;color:#778195;font-size:.78rem;font-weight:900}.vnext-course-rail a.is-active .vnext-technique-number{background:color-mix(in srgb,var(--vnext-pathway-soft) 78%,var(--vnext-pathway-accent) 22%);color:var(--vnext-pathway-text)}.vnext-technique-copy{display:grid;min-width:0}.vnext-technique-copy strong{overflow:hidden;color:#253047;font-size:.85rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.vnext-technique-copy small{margin-top:.12rem;color:#8a94a6;font-size:.68rem;line-height:1.2}.vnext-current-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--vnext-pathway-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--vnext-pathway-accent) 14%,transparent)}.vnext-course-map-link{display:flex;align-items:center;justify-content:space-between;margin:1rem .35rem 0;padding:.8rem .7rem;border-top:1px solid #e4e8ef;color:#657085;font-size:.78rem;font-weight:800;text-decoration:none}.vnext-page{min-width:0;background:#f7f8fc}.vnext-page.without-course-rail{grid-column:1 / -1}.vnext-content{width:min(100% - 3.5rem,72rem);margin:0 auto;padding:3.5rem 0 7rem}.vnext-content>:first-child{margin-top:0}.vnext-content h1{max-width:52rem;font-size:clamp(2.5rem,5vw,4.4rem)}.vnext-content .lede{max-width:56rem}.vnext-content .standard-banner{margin-top:1.25rem;padding:.9rem 1rem;border-radius:.72rem}.vnext-content .learning-visual{box-shadow:0 8px 26px #18202a0a}.vnext-content .themed-code-example{margin:1.2rem 0 2rem}.vnext-content .challenge-picker{margin-top:3.5rem;border:0;border-radius:0;background:transparent;overflow:visible}.vnext-content .challenge-picker summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 0 1rem;border:0;background:transparent}.vnext-content .challenge-picker summary>span:first-child{font-size:1.55rem}.vnext-content .challenge-picker-summary{margin-left:auto;color:#7c8799}.vnext-content .challenge-picker summary:after{width:2.25rem;height:2.25rem;border:1px solid #d8dee8;background:#fff}.vnext-content .challenge-picker[open] summary{border-bottom:0}.vnext-content .challenge-picker-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;padding:0}.vnext-content .challenge-picker-body>p:first-child{grid-column:1 / -1;margin:0 0 .25rem;color:#6f7b8f}.vnext-content .challenge-picker-body .challenge{min-width:0;margin:0;padding:1rem;border:1px solid #dce2eb;border-radius:1rem;background:#fff;box-shadow:0 7px 22px #18202a09}.vnext-content .challenge-picker-body .challenge.is-selected{border-color:var(--vnext-pathway-accent);box-shadow:0 0 0 2px var(--vnext-pathway-accent),0 10px 24px color-mix(in srgb,var(--vnext-pathway-accent) 9%,transparent)}.vnext-content .challenge-picker-body .challenge-layout.has-visual,.vnext-content .challenge-picker-body .challenge-header{display:block}.vnext-content .challenge-picker-body .challenge-title-line{display:grid;gap:.45rem}.vnext-content .challenge-picker-body .challenge-title-line h3{margin:0;font-size:1.03rem}.vnext-content .challenge-picker-body .selected-marker{width:fit-content}.vnext-content .challenge-picker-body .code-heat{justify-content:flex-start;justify-self:start;width:fit-content;margin:0 0 .65rem;padding:0;background:transparent}.vnext-content .challenge-picker-body .code-heat-label,.vnext-content .challenge-picker-body .challenge-meta{display:none}.vnext-content .challenge-picker-body .challenge-description{margin:.5rem 0 .8rem;color:#667085;font-size:.83rem;line-height:1.45}.vnext-content .challenge-picker-body .challenge-note,.vnext-content .challenge-picker-body .challenge-visual{display:none}.vnext-content .challenge-picker-body .challenge-actions{margin-top:auto}.vnext-content .challenge-picker-body .choose-challenge{width:100%;border-color:#d6ddeb;background:#f8f9fc;color:var(--vnext-pathway-text)}.vnext-content .challenge-picker-body .choose-challenge:hover{background:var(--vnext-pathway-soft)}.vnext-content .challenge-picker-body .choose-challenge[aria-pressed=true]{border-color:var(--vnext-pathway-accent);background:var(--vnext-pathway-accent);color:#fff}.vnext-content .selected-challenge-panel{margin-top:1rem;padding:1.55rem;border-color:var(--vnext-pathway-border);border-radius:1.15rem;background:#fff;box-shadow:0 12px 35px color-mix(in srgb,var(--vnext-pathway-accent) 8%,transparent)}.vnext-content .selected-challenge-heading{padding-bottom:.25rem}.vnext-content .selected-challenge-heading h2{font-size:1.8rem}.vnext-content .selected-challenge-summary{padding-bottom:1rem;border-bottom:1px solid #e2e7ef}.vnext-content .workflow-step{margin-top:1.2rem;padding-top:1.2rem}.vnext-content .workflow-step-heading{grid-template-columns:auto minmax(0,1fr)}.vnext-content .workflow-step-heading h2{font-size:1.08rem}.vnext-content .task-repeat-layout{grid-template-columns:minmax(0,1fr) minmax(17rem,24rem);align-items:stretch;margin-left:2.85rem}.vnext-content .selected-task-visual{display:block;width:100%;margin:0;border-radius:.9rem;background:#fbfcff}.vnext-content .selected-task-visual img{display:block;width:100%;height:100%;min-height:15rem;aspect-ratio:4 / 3;object-fit:contain}.vnext-content .selected-task-visual.challenge-icon-visual{display:grid;min-height:15rem}.vnext-content .selected-task-visual .challenge-fallback-icon{display:inline-block}.vnext-content .selected-task-visual .challenge-fallback-icon[hidden]{display:none}.vnext-content .page-links{margin-top:4rem;padding-top:1.4rem;border-top:1px solid #dfe4ec}@media(max-width:1120px){.vnext-topbar{grid-template-columns:auto 1fr auto}.vnext-primary-nav{justify-self:center}.vnext-shell{grid-template-columns:13.5rem minmax(0,1fr)}.vnext-content{width:min(100% - 2.5rem,66rem)}.vnext-content .challenge-picker-body{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.vnext-topbar{grid-template-columns:1fr auto;gap:.6rem;padding:.7rem 1rem}.vnext-primary-nav{grid-column:1 / -1;grid-row:2;justify-self:stretch;justify-content:center}.vnext-topbar-actions{gap:.45rem}.vnext-account-status{display:none!important}.vnext-shell{display:block}.vnext-course-rail{position:static;display:block;height:auto;overflow:visible;padding:.75rem 1rem;border-right:0;border-bottom:1px solid #dfe4ec}.vnext-course-rail-heading,.vnext-course-map-link{display:none}.vnext-course-rail nav{display:flex;overflow-x:auto;gap:.35rem;padding-bottom:.15rem}.vnext-course-rail nav a{flex:0 0 auto;min-height:2.75rem;grid-template-columns:auto auto;padding:.38rem .55rem}.vnext-technique-copy small,.vnext-current-dot{display:none}.vnext-technique-number{width:1.9rem;height:1.9rem}.vnext-content{width:min(100% - 2rem,62rem);padding-top:2.3rem}.vnext-content .task-repeat-layout{grid-template-columns:1fr;margin-left:0}}@media(max-width:560px){.vnext-brand .brand-lockup__name{display:none}.vnext-primary-nav a{flex:1 1 0;justify-content:center;padding-inline:.45rem;font-size:.78rem}.vnext-language-switcher button{padding-inline:.45rem}.vnext-content{width:min(100% - 1.35rem,60rem)}.vnext-content .challenge-picker-body{grid-template-columns:1fr}.vnext-content .selected-challenge-panel{padding:1rem}.vnext-content .selected-challenge-heading{display:grid}.vnext-content .selected-challenge-heading .button{width:100%}}.vnext-skip-link{position:fixed;top:.55rem;left:.65rem;z-index:200;transform:translateY(-180%);padding:.55rem .75rem;border:2px solid var(--vnext-pathway-accent);border-radius:.55rem;background:#fff;color:var(--vnext-pathway-text);font-size:.8rem;font-weight:900;text-decoration:none;box-shadow:0 5px 18px #1e293b2e}.vnext-skip-link:focus{transform:translateY(0)}.vnext-primary-nav a:focus-visible,.vnext-course-rail a:focus-visible,.vnext-course-section summary:focus-visible,.vnext-pathway-switcher select:focus-visible,.vnext-language-switcher button:focus-visible,.vnext-sign-in:focus-visible,.vnext-profile-menu summary:focus-visible{outline:3px solid var(--vnext-pathway-accent);outline-offset:2px}#main-content:focus{outline:none}.vnext-class-context-bridge{display:none!important}.vnext-topbar{grid-template-columns:minmax(14rem,1fr) auto minmax(18rem,1fr)}.vnext-topbar-actions{position:relative}.vnext-sign-in{display:inline-flex;align-items:center;min-height:2.55rem;padding:.45rem .8rem;border:1px solid #dfe4ec;border-radius:.7rem;background:#fff;color:#445066;font-size:.84rem;font-weight:800;text-decoration:none}.vnext-sign-in[hidden]{display:none}.vnext-profile-menu{position:relative}.vnext-profile-menu[hidden]{display:none}.vnext-profile-menu summary{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:10.5rem;padding:.28rem .38rem .28rem .3rem;border:1px solid transparent;border-radius:.75rem;color:#273248;cursor:pointer;list-style:none}.vnext-profile-menu summary::-webkit-details-marker{display:none}.vnext-profile-menu summary:hover,.vnext-profile-menu[open] summary{border-color:#dfe4ec;background:#f8f9fc}.vnext-profile-avatar{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:linear-gradient(145deg,#3157d5,#6846d8);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.02em}.vnext-profile-copy{display:grid;min-width:0;text-align:left}.vnext-profile-copy strong{overflow:hidden;color:#273248;font-size:.82rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.vnext-profile-copy small{margin-top:.08rem;overflow:hidden;color:#8b94a4;font-size:.66rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.vnext-profile-chevron{color:#7d8797;font-size:1.05rem;transition:transform .16s ease}.vnext-profile-menu[open] .vnext-profile-chevron{transform:rotate(180deg)}.vnext-profile-popover{position:absolute;top:calc(100% + .5rem);right:0;z-index:80;width:15rem;padding:.55rem;border:1px solid #dfe4ec;border-radius:.85rem;background:#fff;box-shadow:0 18px 45px #18202a29}.vnext-profile-identity{padding:.65rem .7rem .75rem;border-bottom:1px solid #e7eaf0}.vnext-profile-identity strong,.vnext-profile-identity span{display:block}.vnext-profile-identity strong{color:#20283a;font-size:.88rem}.vnext-profile-identity span{margin-top:.15rem;color:#8a94a6;font-size:.72rem}.vnext-profile-links{display:grid;gap:.18rem;padding-top:.45rem}.vnext-profile-links a{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:.58rem;color:#4d596d;font-size:.8rem;font-weight:750;text-decoration:none}.vnext-profile-links a:hover{background:#f5f7fb;color:#24365f}.vnext-profile-links form{margin-top:.28rem;padding-top:.45rem;border-top:1px solid #e7eaf0}.vnext-profile-links form button{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .65rem;border:0;border-radius:.58rem;background:transparent;color:#667085;font:inherit;font-size:.8rem;font-weight:750;text-align:left;cursor:pointer}.vnext-profile-links form button:hover{background:#fff5f5;color:#b42318}.vnext-profile-links .material-symbols-rounded{color:#6f7c91;font-size:1rem}.vnext-profile-links form button:hover .material-symbols-rounded{color:#b42318}.vnext-course-progress{margin:1.05rem .35rem 0;padding:.9rem;border:1px solid #e0e5ed;border-radius:.8rem;background:#fff}.vnext-course-progress-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.vnext-course-progress-heading strong{color:#2a3448;font-size:.76rem}.vnext-course-progress-heading span{color:#7d8797;font-size:.68rem;font-weight:750}.vnext-course-progress-track{height:.42rem;margin:.6rem 0 .5rem;overflow:hidden;border-radius:999px;background:#e9edf3}.vnext-course-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--vnext-pathway-accent)}.vnext-course-progress small{display:block;color:#8b94a4;font-size:.68rem;line-height:1.35}.vnext-page-frame{width:min(100% - 3.5rem,91rem);margin:0 auto;padding:1.25rem 0 7rem}.vnext-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.38rem;min-height:2.25rem;margin-bottom:1.1rem;color:#7f8999;font-size:.76rem;font-weight:750}.vnext-breadcrumbs a{color:#667288;text-decoration:none}.vnext-breadcrumbs a:hover{color:#3157d5}.vnext-breadcrumbs .material-symbols-rounded{color:#a0a8b6;font-size:.9rem}.vnext-breadcrumbs [aria-current=page]{color:#2f394d}.vnext-page-grid{display:grid;grid-template-columns:minmax(0,72rem) 14.5rem;justify-content:center;gap:2rem;align-items:start}.vnext-content{width:100%;margin:0;padding:1.1rem 0 0}.vnext-page-rail{position:sticky;top:6.1rem;display:grid;gap:1rem;padding-top:1.1rem}.vnext-page-rail-card{padding:1rem;border:1px solid #dfe4ec;border-radius:.95rem;background:#ffffffeb;box-shadow:0 7px 22px #18202a09}.vnext-page-rail-card>p:first-child{margin:0 0 .65rem;color:#7164cc;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.vnext-page-outline{display:grid}.vnext-page-outline a{padding:.48rem 0;border-top:1px solid #e6e9ef;color:#667085;font-size:.78rem;font-weight:750;text-decoration:none}.vnext-page-outline a:first-child{border-top:0}.vnext-page-outline a:hover{color:#3157d5}.vnext-technique-summary{background:linear-gradient(180deg,#fbfaff,#f6f4ff)}.vnext-technique-summary-main{display:grid;grid-template-columns:3.1rem minmax(0,1fr);gap:.75rem;align-items:center}.vnext-technique-summary-number{display:grid;place-items:center;width:3.1rem;height:3.1rem;border-radius:.78rem;background:#ebe6ff;color:#5c45d2;font-size:1.35rem;font-weight:900}.vnext-technique-summary-main strong,.vnext-technique-summary-main span{display:block}.vnext-technique-summary-main strong{color:#20283a;font-size:.9rem;line-height:1.25}.vnext-technique-summary-main span{margin-top:.08rem;color:#8992a2;font-size:.72rem}.vnext-technique-summary-meta{display:grid;gap:.35rem;margin-top:.8rem;padding-top:.7rem;border-top:1px solid #e4e1f3}.vnext-technique-summary-meta div{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:#7f8898;font-size:.72rem}.vnext-technique-summary-meta strong{color:#273248;font-size:.72rem}.vnext-evidence-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:.9rem;border:1px solid #dfdaf5;border-radius:.9rem;background:#f5f2ff;color:#615b91;font-size:.75rem;line-height:1.45}.vnext-evidence-note .material-symbols-rounded{margin-top:.08rem;color:#6a5bb4;font-size:1.05rem}.vnext-my-course{background:linear-gradient(180deg,#fbfaff,#f7f5ff)}.vnext-my-course[hidden]{display:none}.vnext-my-course-heading{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.vnext-my-course-heading>p{margin:0;color:#7164cc;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.vnext-my-course-heading .material-symbols-rounded{color:#7968d7;font-size:1.05rem}.vnext-my-course-coverage{display:flex;align-items:baseline;gap:.5rem;margin-top:.8rem}.vnext-my-course-coverage strong{color:#20283a;font-size:1.85rem;line-height:1;letter-spacing:-.04em}.vnext-my-course-coverage span{color:#707a8d;font-size:.72rem;font-weight:750}.vnext-my-course-track{height:.5rem;margin:.65rem 0 .55rem;overflow:hidden;border-radius:999px;background:#e6e3f2}.vnext-my-course-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3157d5,#6846d8);transition:width .3s ease}.vnext-my-course-caption{margin:0;color:#737d90;font-size:.7rem;line-height:1.4}.vnext-my-course-stats{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.85rem}.vnext-my-course-stats>div{min-width:0;padding:.65rem .62rem;border:1px solid #e1def1;border-radius:.72rem;background:#ffffffb8}.vnext-my-course-stats span,.vnext-my-course-stats strong{display:block}.vnext-my-course-stats span{color:#858da0;font-size:.62rem;font-weight:750;line-height:1.25}.vnext-my-course-stats strong{margin-top:.2rem;overflow:hidden;color:#273248;font-size:.82rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.vnext-my-course-footnote{margin:.75rem 0 0;color:#8b92a1;font-size:.62rem;line-height:1.4}.vnext-my-course-link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.75rem;padding-top:.72rem;border-top:1px solid #e0ddec;color:#4f49a8;font-size:.7rem;font-weight:850;text-decoration:none}.vnext-my-course-link:hover{color:#3157d5}.vnext-anchor-section,.vnext-content [id]{scroll-margin-top:6.5rem}@media(max-width:1260px){.vnext-page-grid{grid-template-columns:minmax(0,68rem)}.vnext-page-rail{display:none}}@media(max-width:980px){.vnext-topbar{grid-template-columns:auto 1fr auto}.vnext-profile-copy{display:none}.vnext-profile-menu summary{grid-template-columns:2rem auto;min-width:0}}@media(max-width:820px){.vnext-page-frame{width:min(100% - 2rem,72rem);padding-top:.7rem}.vnext-breadcrumbs{margin-bottom:.4rem}.vnext-course-progress{display:none}}@media(max-width:620px){.vnext-sign-in,.vnext-profile-menu,.vnext-language-switcher{transform:scale(.94);transform-origin:right center}.vnext-breadcrumbs{font-size:.7rem}}.vnext-course-rail .vnext-ia-resource-card{display:flex;align-items:center;gap:.55rem;margin:.7rem .35rem 0;padding:.8rem .7rem;border:1px solid var(--vnext-pathway-border, #e0e5ed);border-radius:.8rem;background:#fff;color:#2a3448;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.vnext-course-rail .vnext-ia-resource-card:hover,.vnext-course-rail .vnext-ia-resource-card:focus-visible{background:var(--vnext-pathway-soft, #eef4ff);border-color:var(--vnext-pathway-accent, #64748b)}.vnext-ia-resource-icon{flex:0 0 auto;color:var(--vnext-pathway-accent, #64748b);font-size:1.25rem}.vnext-ia-resource-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:.15rem}.vnext-ia-resource-copy strong{font-size:.77rem;line-height:1.2}.vnext-ia-resource-copy small{color:#7d8797;font-size:.67rem;line-height:1.25}.vnext-ia-resource-arrow{flex:0 0 auto;font-size:1rem;color:var(--vnext-pathway-accent, #64748b)}.vnext-topbar{grid-template-columns:minmax(max-content,1fr) max-content minmax(max-content,1fr);column-gap:clamp(.7rem,1.3vw,1.25rem)}.vnext-primary-nav{justify-self:center;max-width:100%;white-space:nowrap}.vnext-topbar-actions{justify-self:end;min-width:max-content}@media(max-width:1360px){.vnext-profile-copy{display:none}.vnext-profile-menu summary{grid-template-columns:2rem auto;min-width:0}.vnext-pathway-switcher select{width:8rem;max-width:8rem}html[data-curriculum-pathway=igcse] .vnext-pathway-switcher select,html[data-curriculum-pathway=ib-dp] .vnext-pathway-switcher select{width:6.5rem}}@media(max-width:1220px){.vnext-topbar{grid-template-columns:minmax(0,1fr) auto;row-gap:.5rem}.vnext-brand{grid-column:1;grid-row:1}.vnext-topbar-actions{grid-column:2;grid-row:1}.vnext-primary-nav{grid-column:1 / -1;grid-row:2;justify-self:center}}@media(max-width:820px){.vnext-primary-nav{justify-self:stretch;justify-content:center;overflow-x:auto}}@media(max-width:400px){.vnext-primary-nav{justify-content:flex-start}}@media(max-width:620px){.vnext-topbar{grid-template-columns:minmax(0,1fr)}.vnext-brand{grid-column:1;grid-row:1}.vnext-topbar-actions{grid-column:1;grid-row:2;justify-self:stretch;justify-content:flex-end;flex-wrap:wrap;min-width:0}.vnext-primary-nav{grid-column:1;grid-row:3}}.vnext-shell{grid-template-columns:17.25rem minmax(0,1fr)}.vnext-course-rail{padding:1.35rem .8rem 1.5rem 1rem}.vnext-course-rail-heading{padding:0 .5rem .75rem}.vnext-course-sections{display:grid;gap:.42rem}.vnext-course-section{overflow:hidden;border:1px solid transparent;border-radius:.82rem}.vnext-course-section.is-current-section,.vnext-course-section[open]{border-color:#e0e5ee;background:#fff}.vnext-course-section>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:3.15rem;padding:.62rem .7rem;color:#4f5b70;cursor:pointer;list-style:none}.vnext-course-section>summary::-webkit-details-marker{display:none}.vnext-course-section>summary:hover{background:#f6f8fb;color:#273248}.vnext-course-section.is-current-section>summary{color:var(--vnext-pathway-text)}.vnext-course-section-copy{display:grid;min-width:0}.vnext-course-section-copy strong{overflow:hidden;font-size:.79rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.vnext-course-section-copy small{margin-top:.1rem;color:#929bad;font-size:.64rem;font-weight:700}.vnext-course-section-chevron{color:#8b95a6;font-size:1rem;transition:transform .16s ease}.vnext-course-section[open] .vnext-course-section-chevron{transform:rotate(180deg)}.vnext-course-section nav{display:grid;gap:.2rem;padding:.1rem .38rem .38rem}.vnext-course-section nav a{min-height:3.15rem;padding:.45rem .5rem;border-radius:.68rem}.vnext-course-section .vnext-technique-number{width:2rem;height:2rem;border-radius:.56rem;font-size:.72rem}.vnext-course-section nav a.is-active{border-color:var(--vnext-pathway-border);background:var(--vnext-pathway-soft)}.vnext-additional-challenges{margin-top:.2rem;border-top:1px solid #eceff4!important;border-radius:0 0 .68rem .68rem!important}.vnext-additional-challenges .vnext-technique-copy strong{color:var(--vnext-pathway-text)}.vnext-practice-icon .material-symbols-rounded{color:var(--vnext-pathway-accent);font-size:1rem;font-variation-settings:"FILL" 1,"wght" 550,"GRAD" 0,"opsz" 20}.vnext-teacher-checkpoint{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.65rem;margin:0 .38rem .45rem;padding:.58rem .5rem;border:1px dashed var(--vnext-pathway-border);border-radius:.68rem;background:color-mix(in srgb,#fff 74%,var(--vnext-pathway-soft))}.vnext-checkpoint-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.56rem;background:var(--vnext-pathway-soft);color:var(--vnext-pathway-accent);font-size:1rem;font-variation-settings:"FILL" 1,"wght" 550,"GRAD" 0,"opsz" 20}.vnext-checkpoint-copy{display:grid;min-width:0}.vnext-checkpoint-copy strong{color:var(--vnext-pathway-text);font-size:.75rem;line-height:1.2}.vnext-checkpoint-copy small{margin-top:.1rem;color:#7f899a;font-size:.62rem;line-height:1.25}.vnext-content.has-canonical-course-nav>.page-links{display:none}.vnext-course-sequence-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:4rem;padding-top:1.4rem;border-top:1px solid #dfe4ec}.vnext-course-sequence-link{display:grid;gap:.25rem;min-width:0;padding:1rem 1.1rem;border:1px solid #dce2eb;border-radius:.9rem;background:#fff;color:#273248;text-decoration:none;box-shadow:0 6px 18px #18202a08}.vnext-course-sequence-link:hover{border-color:var(--vnext-pathway-border);background:color-mix(in srgb,#fff 84%,var(--vnext-pathway-soft));box-shadow:0 8px 22px color-mix(in srgb,var(--vnext-pathway-accent) 7%,transparent)}.vnext-course-sequence-link small{color:#8993a4;font-size:.67rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.vnext-course-sequence-link strong{overflow:hidden;font-size:.82rem;line-height:1.35;text-overflow:ellipsis}.vnext-course-sequence-link.is-next{text-align:right}.vnext-course-sequence-placeholder{min-width:0}@media(max-width:1120px){.vnext-shell{grid-template-columns:15.5rem minmax(0,1fr)}.vnext-course-section-copy strong{font-size:.76rem}}@media(max-width:820px){.vnext-course-rail{max-height:48vh;overflow-y:auto;padding:.7rem .85rem .85rem}.vnext-course-rail-heading{display:block;padding:0 .4rem .55rem}.vnext-course-rail-heading p{display:none}.vnext-course-rail-heading h2{font-size:.82rem}.vnext-course-sections{gap:.3rem}.vnext-course-section>summary{min-height:2.65rem;padding:.48rem .6rem}.vnext-course-section nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;overflow:visible;padding:.15rem .35rem .4rem}.vnext-course-section nav a{min-width:0;min-height:2.7rem;grid-template-columns:1.85rem minmax(0,1fr) auto;padding:.32rem .42rem}.vnext-course-section .vnext-technique-number{width:1.8rem;height:1.8rem}.vnext-course-section .vnext-technique-copy strong{font-size:.72rem}.vnext-additional-challenges{margin-top:0;border-top:1px solid #eceff4!important}.vnext-teacher-checkpoint{margin-bottom:.35rem}.vnext-course-progress{margin-top:.65rem}}@media(max-width:560px){.vnext-course-rail{max-height:52vh}.vnext-course-section nav{grid-template-columns:1fr 1fr}.vnext-course-sequence-nav{grid-template-columns:1fr}.vnext-course-sequence-placeholder{display:none}.vnext-course-sequence-link.is-next{text-align:left}}.presentation-remote{position:fixed;right:1rem;bottom:1rem;z-index:80;width:min(17rem,calc(100vw - 2rem));border:1px solid #d9deea;border-radius:1rem;background:#fffffff7;box-shadow:0 18px 54px #1e293b33;color:#263247;overflow:hidden;backdrop-filter:blur(12px)}.presentation-remote[hidden],.presentation-student-banner[hidden]{display:none!important}.presentation-remote.is-minimised{width:auto;min-width:11.25rem}.presentation-remote.is-dragging{user-select:none;box-shadow:0 22px 68px #1e293b47}.presentation-remote-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:3rem;padding:.62rem .65rem .62rem .8rem;border-bottom:1px solid #e6e9ef;cursor:grab;touch-action:none}.presentation-remote.is-dragging .presentation-remote-header{cursor:grabbing}.presentation-remote-title{display:flex;align-items:center;gap:.55rem;min-width:0}.presentation-remote-title>span{display:grid;place-items:center;width:1.8rem;height:1.8rem;flex:0 0 auto;border-radius:.55rem;background:#ece8ff;color:#5e4bc4;font-size:1.05rem}.presentation-remote-title div{min-width:0}.presentation-remote-title strong,.presentation-remote-title small{display:block}.presentation-remote-title strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.presentation-remote-title small{margin-top:.08rem;color:#8791a2;font-size:.58rem}.presentation-remote-header-actions{display:flex;align-items:center;gap:.2rem}.presentation-icon-button{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:.55rem;background:transparent;color:#6d788a;cursor:pointer}.presentation-icon-button:hover,.presentation-icon-button:focus-visible{background:#f1f3f7;color:#39465c}.presentation-icon-button .material-symbols-rounded{font-size:1.05rem}.presentation-remote-body{display:grid;gap:.7rem;padding:.75rem}.presentation-remote.is-minimised .presentation-remote-body{display:none}.presentation-class-field{display:grid;gap:.3rem}.presentation-class-field label,.presentation-section-label{color:#858fa0;font-size:.58rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.presentation-class-field select{width:100%;min-height:2.25rem;padding:.45rem .55rem;border:1px solid #dfe3eb;border-radius:.6rem;background:#fff;color:#3d4a60;font:inherit;font-size:.7rem;font-weight:800}.presentation-status-card{display:grid;gap:.45rem;padding:.65rem;border:1px solid #e0e4ec;border-radius:.72rem;background:#f8f9fc}.presentation-status-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.presentation-live-status{display:inline-flex;align-items:center;gap:.35rem;color:#697489;font-size:.66rem;font-weight:850}.presentation-live-status:before{content:"";width:.48rem;height:.48rem;border-radius:999px;background:#aab1bd}.presentation-live-status.is-live{color:#2f704a}.presentation-live-status.is-live:before{background:#45a36c;box-shadow:0 0 0 3px #45a36c21}.presentation-current-location{overflow:hidden;color:#59677d;font-size:.65rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.presentation-current-location strong{color:#364258}.presentation-primary-action,.presentation-control,.presentation-secondary-action,.presentation-release-action{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.35rem;padding:.48rem .6rem;border-radius:.62rem;font:inherit;font-size:.66rem;font-weight:850;cursor:pointer}.presentation-primary-action{width:100%;border:1px solid #3157d5;background:#3157d5;color:#fff}.presentation-primary-action:disabled,.presentation-control:disabled{opacity:.48;cursor:not-allowed}.presentation-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.presentation-control{min-height:3.1rem;flex-direction:column;border:1px solid #dfe3eb;background:#fff;color:#59667b}.presentation-control .material-symbols-rounded{font-size:1rem}.presentation-control[aria-pressed=true]{border-color:#b8aff0;background:#f1efff;color:#5547b7}.presentation-control:hover:not(:disabled){border-color:#bfc9e9;background:#fafbff}.presentation-presence{display:grid;gap:.45rem;padding-top:.15rem}.presentation-presence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.presentation-presence-grid>div{display:grid;gap:.05rem;padding:.48rem .52rem;border-radius:.58rem;background:#f4f6f9}.presentation-presence-grid strong{color:#334056;font-size:.82rem}.presentation-presence-grid span{color:#8a93a1;font-size:.55rem}.presentation-presence-details{border-top:1px solid #e5e8ee;padding-top:.4rem}.presentation-presence-details summary{color:#7164c7;font-size:.61rem;font-weight:850;cursor:pointer}.presentation-presence-names{display:grid;gap:.35rem;margin-top:.45rem}.presentation-presence-group{display:grid;gap:.12rem}.presentation-presence-group strong{color:#667186;font-size:.56rem;text-transform:uppercase}.presentation-presence-group span{color:#7f8998;font-size:.59rem;line-height:1.35}.presentation-remote-footer{display:grid;grid-template-columns:1fr auto;gap:.4rem}.presentation-secondary-action,.presentation-release-action{border:1px solid #dfe3eb;background:#fff;color:#5e697d;text-decoration:none}.presentation-release-action{color:#a33f3f}.presentation-message{min-height:.9rem;margin:0;color:#818b9b;font-size:.58rem;line-height:1.35}.presentation-student-banner{position:fixed;top:5.15rem;left:50%;z-index:75;display:flex;align-items:center;gap:.7rem;width:min(42rem,calc(100vw - 2rem));padding:.65rem .75rem;border:1px solid #cfc8f4;border-radius:.85rem;background:#faf9fff7;box-shadow:0 12px 34px #37306921;transform:translate(-50%);backdrop-filter:blur(10px)}.presentation-student-banner>.material-symbols-rounded{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;border-radius:.6rem;background:#ece8ff;color:#5e4bc4;font-size:1.05rem}.presentation-student-copy{min-width:0;flex:1 1 auto}.presentation-student-copy strong,.presentation-student-copy span{display:block}.presentation-student-copy strong{color:#3e4760;font-size:.72rem}.presentation-student-copy span{margin-top:.1rem;color:#777f93;font-size:.62rem;line-height:1.35}.presentation-student-actions{display:flex;gap:.35rem;flex:0 0 auto}.presentation-student-actions button{min-height:2rem;padding:.38rem .5rem;border:1px solid #d7d2f2;border-radius:.55rem;background:#fff;color:#5d52aa;font:inherit;font-size:.59rem;font-weight:850;cursor:pointer}.presentation-student-banner.is-paused{border-color:#dfe2e8;background:#fafbfcf7}.presentation-student-banner.is-paused>.material-symbols-rounded{background:#f0f2f5;color:#6f7988}@media(max-width:720px){.presentation-remote{right:.65rem;bottom:.65rem;max-height:min(70vh,34rem);overflow-y:auto}.presentation-student-banner{top:7.75rem;align-items:flex-start}.presentation-student-actions{flex-direction:column}}@media(max-width:500px){.presentation-remote{width:calc(100vw - 1rem);right:.5rem;bottom:.5rem}.presentation-remote.is-minimised{width:auto;max-width:calc(100vw - 1rem)}.presentation-student-banner{top:7.55rem;width:calc(100vw - 1rem)}}@media(prefers-reduced-motion:reduce){.presentation-remote,.presentation-student-banner{scroll-behavior:auto}}#presentation-student-banner{width:auto;max-width:min(27rem,calc(100vw - 2rem));min-height:2.6rem;padding:.42rem .62rem;gap:.48rem;border-radius:999px}#presentation-student-banner>.material-symbols-rounded{width:1.65rem;height:1.65rem;border-radius:999px;font-size:.92rem}#presentation-student-banner .presentation-student-copy strong{font-size:.66rem;white-space:nowrap}#presentation-student-banner .presentation-student-copy span,#presentation-student-banner .presentation-student-actions{display:none!important}#presentation-student-banner.is-paused{border-color:#cfc8f4;background:#faf9fff7}#presentation-student-banner.is-paused>.material-symbols-rounded{background:#ece8ff;color:#5e4bc4}#presentation-student-banner.presentation-connection-lost{border-color:#e4c783;background:#fffbeefa}#presentation-student-banner.presentation-connection-lost>.material-symbols-rounded{background:#fff0bf;color:#8a641a}html.presentation-view-held{overflow:hidden!important;overscroll-behavior:none}@media(max-width:720px){#presentation-student-banner{top:7.55rem;align-items:center}}.brand-lockup[data-astro-cid-x65e5v2i]{display:inline-flex;align-items:center;gap:.65rem;width:fit-content;color:inherit;text-decoration:none;font-weight:900;letter-spacing:-.035em;line-height:1}.brand-lockup__logo[data-astro-cid-x65e5v2i]{display:block;width:2.45rem;height:2.45rem;flex:0 0 auto}.brand-lockup__name[data-astro-cid-x65e5v2i]{white-space:nowrap}.brand-lockup--default[data-astro-cid-x65e5v2i]{font-size:1.18rem}.brand-lockup--landing[data-astro-cid-x65e5v2i]{gap:.8rem;font-size:clamp(1.55rem,3vw,2rem)}.brand-lockup--landing[data-astro-cid-x65e5v2i] .brand-lockup__logo[data-astro-cid-x65e5v2i]{width:3.4rem;height:3.4rem}.brand-lockup--mobile[data-astro-cid-x65e5v2i]{gap:.5rem;font-size:1rem}.brand-lockup--mobile[data-astro-cid-x65e5v2i] .brand-lockup__logo[data-astro-cid-x65e5v2i]{width:2rem;height:2rem}html:not([data-codecomp-role=student]) .vnext-primary-nav a[href="/my-work/"],html:not([data-codecomp-role=student]) .vnext-profile-links a[href="/my-work/"],html:not([data-codecomp-role=teacher]):not([data-codecomp-role=neutral]):not([data-codecomp-role=conflict]) .vnext-primary-nav a[href="/classroom/teacher/"],html:not([data-codecomp-role=teacher]):not([data-codecomp-role=neutral]):not([data-codecomp-role=conflict]) .vnext-profile-links a[href="/classroom/teacher/"],html:not([data-codecomp-role=teacher]):not([data-codecomp-role=neutral]):not([data-codecomp-role=conflict]) .vnext-primary-nav a[href="/classroom/"],html:not([data-codecomp-role=teacher]):not([data-codecomp-role=neutral]):not([data-codecomp-role=conflict]) .vnext-profile-links a[href="/classroom/"]{display:none!important}.vnext-page-grid-wide,.vnext-page-grid-wide>.vnext-content,.teacher-vnext,.teacher-vnext-panel,.matrix-panel{min-width:0;max-width:100%}.teacher-vnext{width:100%}.teacher-vnext-panel.matrix-panel{overflow:hidden}.teacher-matrix-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}[hidden]{display:none!important}
