: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}.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}@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}}.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}.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}}.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-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}.inheritance-branch:before{position:absolute;top:0;left:50%;width:3px;height:100%;background:#8ea4f4;content:"";transform:translate(-50%)}.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:before,.inheritance-branch span,.constructor-trace>div:after{display:none}.inheritance-children{width:100%;margin-top:0}}
