.kb-shell{max-width:78rem}.kb-section-nav{font:500 .82rem/1.5 var(--font-display);flex-wrap:wrap;gap:.5rem 1.3rem;margin:0 0 2rem;display:flex}.kb-section-nav a{color:var(--link);text-underline-offset:.2em}.kb-section-nav a[aria-current]{color:var(--ink);font-weight:700}.kb-intro,.kb-resources{padding-block:1.4rem}.kb-intro{border-bottom:1px solid var(--border)}.kb-depths{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;display:grid}.kb-depths h3{font:600 1rem/1.3 var(--font-display);margin:0}.kb-depths p{max-width:40ch;margin:.5rem 0 0;font-size:.9rem;line-height:1.5}.kb-number{color:var(--accent-text);font:500 .8rem/1 var(--font-display)}.kb-fine{color:var(--muted);max-width:74ch;font-size:.85rem;line-height:1.55}.kb-program-controls{grid-template-columns:minmax(14rem,1fr) minmax(0,2fr);gap:1rem 2rem;margin:1.4rem 0;scroll-margin-top:5rem;display:grid}.kb-finder{align-content:start;gap:.5rem;display:grid}.kb-finder label,.kb-role-controls legend{font-size:.9rem}.kb-finder input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:0;min-width:0;max-width:100%;padding:.7rem .8rem}.kb-role-controls{border:0;min-width:0;margin:0;padding:0}.kb-role-controls legend{margin-bottom:.5rem;padding:0}.kb-role-options{flex-wrap:wrap;gap:.5rem;display:flex}.kb-role-option{cursor:pointer;position:relative}.kb-role-option input{opacity:0;width:1px;height:1px;position:absolute}.kb-role-option span{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--body-text);font:500 .82rem/1.35 var(--font-display);align-items:center;padding:.55rem .8rem;display:flex}.kb-role-option:hover span{border-color:var(--accent)}.kb-role-option input:checked+span{border-color:var(--accent);background:var(--accent-pale);color:var(--accent-text);box-shadow:inset 0 -2px var(--accent)}.kb-role-option input:focus-visible+span{outline:2px solid var(--link);outline-offset:3px}.kb-role-option input:focus-visible{outline:0}.kb-finder input{width:100%;display:block}.kb-recommended{color:var(--accent-text);font:500 .75rem/1.4 var(--font-display)}.kb-related{font-size:.9rem}.kb-search-results{margin:0;padding:0;list-style:none}.kb-search-results li{border-top:1px solid var(--border);padding:1rem 0}.kb-search-results a{font-weight:600;display:block}.kb-search-results p{max-width:85ch;margin:.45rem 0 0;line-height:1.6}.kb-search-results small{color:var(--muted);margin:.25rem 0;display:block}.kb-search-results mark{background:var(--search-highlight);color:var(--ink)}.kb-result{color:var(--muted);font-size:.85rem;line-height:1.5;display:block}.kb-resources dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;display:grid}.kb-resources dt{font:600 1rem/1.5 var(--font-display)}.kb-resources dd{margin:.5rem 0 0;line-height:1.6}.kb-outcome{max-width:70ch;margin:0 0 1.5rem;line-height:1.65}.kb-level-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 1.75rem;padding-bottom:.35rem;display:flex}.kb-level-nav a{color:var(--body-text);font:500 .9rem/1.3 var(--font-display);border-bottom:3px solid #0000;align-items:center;gap:.65rem;padding:.8rem .1rem;text-decoration:none;display:flex}.kb-level-nav a span{color:var(--muted)}.kb-level-nav a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}.kb-reading-layout{grid-template-columns:minmax(0,54rem) minmax(12rem,17rem);align-items:start;gap:clamp(2rem,4vw,4rem);display:grid}.kb-lesson-body{min-width:0}.kb-level>h2{margin-top:0;scroll-margin-top:5rem}.kb-level-goal{color:var(--body-text);font-size:1.1rem}.kb-section h3{scroll-margin-top:5rem}.kb-anchor{color:var(--muted);margin-left:.45rem;font-size:.8em;text-decoration:none}.kb-anchor:hover{color:var(--link)}.kb-table{border:0}.kb-table table{min-width:32rem}.kb-table th:first-child,.kb-table td:first-child{min-width:7rem}.kb-table:focus-visible{outline:2px solid var(--link);outline-offset:3px}.kb-table th,.kb-table td{overflow-wrap:anywhere;border-right:0}.kb-code{background:var(--accent-pale);max-width:100%;color:var(--ink);border-left:2px solid var(--accent);font:400 .85rem/1.7 var(--font-display);padding:1.1rem;overflow:auto}.kb-code code{overflow-wrap:normal}.kb-exercise{background:var(--accent-pale);border-left:3px solid var(--accent);margin:2rem 0;padding:1rem 1.25rem}.kb-exercise h3{margin-top:.5rem}.kb-self-check{border-top:1px solid var(--border);margin:2rem 0}.kb-self-check details,.kb-sources{margin:1rem 0}.kb-shell summary{cursor:pointer;text-underline-offset:.2em;padding:.65rem 0;font-weight:600}.kb-shell summary:hover{color:var(--link)}.kb-shell details[open]>summary{margin-bottom:.5rem}.kb-reading{padding-left:1.25rem}.kb-reading li+li{margin-top:.9rem}.kb-reading span{font-size:.9rem;display:block}.kb-completion{flex-wrap:wrap;align-items:center;gap:.8rem 1rem;margin:1.5rem 0;display:flex}.kb-completion[hidden],.kb-level[hidden],.kb-role-controls[hidden],.kb-personal[hidden],.kb-recommended[hidden],[data-course-search][hidden]{display:none}.kb-completion [role=status]{color:var(--muted);font-size:.85rem}.kb-completion .btn[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.kb-outline{border-left:1px solid var(--border);padding:0 0 0 1.25rem;font-size:.85rem;line-height:1.6;position:sticky;top:2rem}.kb-outline ol{padding-left:1.2rem}.kb-outline li+li{margin-top:.85rem}.kb-outline a[aria-current]{color:var(--ink);font-weight:700}.kb-next{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.9rem;display:flex}.kb-next a{max-width:32ch}.kb-source{border-bottom:1px solid var(--border);padding:1.7rem 0}.kb-source h2{overflow-wrap:anywhere;margin:.4rem 0 1rem;font-size:1.35rem}.kb-source .eyebrow{margin-bottom:.5rem}.kb-template{border-bottom:1px solid var(--border);padding:1.5rem 0}.kb-template h2{margin-top:0}.kb-template-actions{flex-wrap:wrap;align-items:center;gap:.7rem 1rem;font-size:.9rem;display:flex}.kb-personal p{margin:0;font-size:.85rem;line-height:1.5}.kb-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem 2rem;margin-top:3.5rem;padding-top:1.2rem;font-size:.8rem;line-height:1.6;display:flex}.kb-home~.kb-footer{max-width:68rem;margin-top:0}.kb-footer span,.kb-footer p{color:var(--muted)}.kb-footer p{flex-basis:100%;margin:0}.kb-shell :where(a,button,input,select,summary):focus-visible{outline:2px solid var(--link);outline-offset:4px}@media (width<=1250px){.kb-program-controls{grid-template-columns:1fr}.kb-finder{max-width:42rem}.kb-reading-layout{grid-template-columns:minmax(0,1fr)}.kb-outline{border-left:0;border-top:1px solid var(--border);max-width:54rem;padding:1.5rem 0 0;position:static}}@media (width<=640px){.kb-depths,.kb-resources dl{grid-template-columns:1fr;gap:1rem}.kb-depths>div{grid-template-columns:10rem minmax(0,1fr);gap:.6rem;display:grid}.kb-depths p{margin:0}.kb-depths h3{font-size:.85rem}.kb-level-nav{gap:.2rem .8rem}.kb-level-nav a{gap:.35rem;font-size:.8rem}.kb-section-nav{gap:.6rem 1rem}.kb-table th,.kb-table td{padding:.6rem .4rem;font-size:.86rem}.kb-exercise{padding:.8rem}.kb-template-actions .btn{width:auto}}@media print{.kb-level[hidden]{display:block!important}.kb-section-nav,.kb-level-nav,.kb-outline,.kb-completion,.kb-next,.kb-template-actions button{display:none!important}.kb-reading-layout{display:block}.kb-shell{max-width:none}.kb-level{break-before:page}.kb-level:first-child{break-before:auto}.kb-code{white-space:pre-wrap}.kb-footer{break-inside:avoid}}
