:root{--ink:#172b45;--muted:#516277;--line:#d6e1eb;--paper:#f7fafd;--white:#fff;--blue:#205fa8;--blue-dark:#173f70;--blue-soft:#e9f3fd;--mint:#e6f6ee;--green:#17633d;--gold:#ffd879;--shadow:0 14px 45px rgba(23,54,93,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.58 "Segoe UI",Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:var(--blue-dark)}a:hover{text-decoration-thickness:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1{font-size:clamp(2.2rem,4.7vw,4rem);letter-spacing:-.045em}h2{font-size:1.65rem;letter-spacing:-.025em}h3{font-size:1.14rem}p,li{max-width:72ch}li+li{margin-top:.45rem}:focus-visible{outline:3px solid #b86900;outline-offset:3px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);padding:.5rem 1rem;z-index:10}.skip-link:focus{left:1rem}.shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh}.sidebar{background:#17365d;color:#fff;padding:2rem 1.25rem 1rem;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:.8rem;align-items:center;font-size:1.13rem;line-height:1.15}.brand strong{font-size:1.25rem}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid #8fc6ff;border-radius:10px;color:#a9d9ff;font-size:1.5rem}.sidebar-intro{font-size:.86rem;color:#d0e0f1;margin:1.5rem 0}.search-label{font-size:.82rem;font-weight:700;margin-bottom:.4rem}.sidebar input{width:100%;padding:.67rem .8rem;border:1px solid #8db2d6;border-radius:7px;background:#fff;color:var(--ink)}#lesson-nav{margin-top:1rem;display:flex;flex-direction:column;gap:.2rem}.nav-item{width:100%;display:flex;gap:.7rem;align-items:flex-start;text-align:left;padding:.65rem .7rem;border:0;border-radius:8px;background:transparent;color:#e5f0fb;font-size:.87rem;line-height:1.32}.nav-item:hover,.nav-item.active{background:#2d5682}.nav-number{flex:0 0 1.45rem;color:#bfd8f1;font-variant-numeric:tabular-nums}.nav-status{margin-left:auto;color:#c8f5dd;font-weight:700}.sidebar-bottom{margin-top:auto;border-top:1px solid #6586a9;padding-top:1rem;font-size:.75rem;color:#c5d7e9}.sidebar-bottom p{margin:.4rem 0}.text-button{background:none;border:0;color:#fff;text-decoration:underline;padding:0;font-size:.83rem}.topbar{display:flex;align-items:center;gap:1rem;min-height:68px;padding:1rem clamp(1.25rem,5vw,4rem);border-bottom:1px solid var(--line);background:#fff}.topbar #progress-summary{margin-right:auto;color:var(--muted);font-size:.85rem}.quiet-button,#menu-toggle{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:.4rem .7rem;font-size:.82rem}#menu-toggle{display:none}#content{max-width:1120px;padding:clamp(1.5rem,5vw,4rem);margin:0 auto}.eyebrow{color:var(--blue-dark);font-size:.81rem;font-weight:700;letter-spacing:.02em}.lead{font-size:1.14rem;color:#334b66;max-width:64ch}.hero{position:relative;overflow:hidden;background:#e9f3fd;border:1px solid #cadff3;border-radius:14px;padding:clamp(1.5rem,4vw,3rem);margin-bottom:2rem}.hero:after{content:"";position:absolute;width:210px;height:210px;border:30px solid rgba(81,159,221,.12);border-radius:50%;right:-85px;top:-90px}.hero>*{position:relative;z-index:1}.hero h1{max-width:13ch;margin-bottom:1.1rem}.hero .lead{margin-bottom:1.5rem}.button-row,.lesson-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.primary,.secondary,.danger{border-radius:8px;padding:.72rem 1rem;font-weight:700;font-size:.9rem}.primary{border:1px solid var(--blue);background:var(--blue);color:#fff}.primary:hover{background:var(--blue-dark)}.secondary{border:1px solid #8db2d6;background:#fff;color:var(--blue-dark)}.secondary:hover{background:#eef7ff}.danger{border:1px solid #b24d4d;color:#8d2929;background:#fff}.feature-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:.7rem;max-width:650px;margin-top:2rem}.feature-node{background:#fff;border:1px solid #c9ddf1;border-radius:10px;padding:.7rem;text-align:center;font-size:.85rem;box-shadow:var(--shadow)}.feature-node strong{display:block;font-size:1rem}.feature-arrow{font-size:1.4rem;color:var(--blue)}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.2rem 0 2rem}.course-card{display:block;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.2rem;color:inherit}.course-card:hover{border-color:#6a9ac8;box-shadow:var(--shadow)}.course-card .card-title{display:block;font-size:1.07rem;font-weight:700;line-height:1.2;margin:.35rem 0}.course-card .card-desc{display:block;color:var(--muted);font-size:.86rem}.small{font-size:.84rem;color:var(--muted)}.callout{border-left:5px solid var(--blue);background:#edf5fd;padding:1rem 1.2rem;border-radius:0 8px 8px 0;margin:1.5rem 0}.callout.warn{border-color:#bc7b05;background:#fff7e3}.callout.success{border-color:#3e9765;background:var(--mint)}.callout p:last-child{margin-bottom:0}.lesson-header{border-bottom:1px solid var(--line);padding-bottom:1.4rem;margin-bottom:1.6rem}.lesson-header h1{max-width:17ch;margin:.2rem 0 .7rem}.lesson-meta{color:var(--muted);font-size:.86rem}.lesson-section{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:clamp(1.1rem,3vw,1.75rem);margin:1rem 0}.lesson-section h2{margin-bottom:.8rem}.lesson-section ol,.lesson-section ul{padding-left:1.5rem;margin-bottom:0}.lesson-section li::marker{color:var(--blue);font-weight:700}.term{font-weight:700}.practice{background:#f1f9f5;border-color:#b5dec9}.quiz-option{display:block;width:100%;text-align:left;border:1px solid #b7cddd;border-radius:8px;background:#fff;padding:.65rem .8rem;margin:.55rem 0;color:var(--ink)}.quiz-option:hover{background:#f2f8fe}.quiz-option[disabled]{cursor:default}.quiz-option.correct{border-color:#4eaa75;background:#e9f7ef}.quiz-option.incorrect{border-color:#c56969;background:#fff0f0}.quiz-feedback{margin:.8rem 0 0;padding:.75rem;border-radius:8px;background:#eef5fd}.quiz-feedback.good{background:#e6f6ee}.quiz-feedback.bad{background:#fff3e6}.lesson-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1.4rem 0}.lesson-status{font-size:.85rem;color:var(--muted)}.glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.glossary div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.8rem}.glossary dt{font-weight:700}.glossary dd{margin:0;font-size:.86rem;color:var(--muted)}.resource-list li{overflow-wrap:anywhere}.checklist label{display:block;margin:.7rem 0}.checklist input{width:19px;height:19px;vertical-align:middle;margin-right:.5rem}.diagram{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0}.diagram>div{border:1px solid #afcce6;border-radius:9px;background:#f4f9ff;padding:1rem}.diagram strong{display:block}.diagram small{display:block;color:var(--muted)}.kbd{font-family:inherit;border:1px solid #b9c9d9;border-bottom-width:3px;border-radius:4px;padding:.06rem .33rem;background:#fff;white-space:nowrap}.no-results{color:#dceafa;padding:.5rem;font-size:.85rem}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;max-height:none;padding:1rem}.brand{font-size:1rem}.sidebar-intro,.sidebar-bottom{display:none}#lesson-nav{display:none}.sidebar.menu-open #lesson-nav{display:flex;max-height:55vh;overflow:auto}.sidebar .search-label,.sidebar #lesson-search{display:none}.sidebar.menu-open .search-label,.sidebar.menu-open #lesson-search{display:block}#menu-toggle{display:inline-block}.topbar{padding:1rem 1.25rem}.course-grid{grid-template-columns:1fr}}
@media(max-width:550px){body{font-size:16px}.feature-map{grid-template-columns:1fr;max-width:250px}.feature-arrow{transform:rotate(90deg);text-align:center;line-height:1}.diagram,.glossary{grid-template-columns:1fr}.topbar #progress-summary{font-size:.74rem}}
@media print{.sidebar,.topbar,.lesson-actions,.lesson-footer,.quiz-option,.skip-link{display:none!important}.shell{display:block}#content{max-width:none;padding:0}.lesson-section{break-inside:avoid;box-shadow:none}body{background:#fff;color:#000}.hero{background:#fff}}
.guide-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:1rem}.guide-controls[hidden]{display:none}.guide-controls span{font-size:.85rem;color:var(--muted);margin-right:auto}.guide-controls button:disabled{opacity:.45;cursor:default}.guided #lesson-steps li{display:none}.guided #lesson-steps li.current{display:list-item}.guided #lesson-steps{min-height:4rem;padding:1rem 1rem 1rem 2.5rem;border:1px solid #bfd7ee;background:#f4f9ff;border-radius:8px}
@media print{.guided #lesson-steps li{display:list-item!important}.guide-controls,#guide-toggle{display:none!important}}
details.lesson-section summary{cursor:pointer;color:var(--blue-dark)}details.lesson-section p{margin:1rem 0 0}.inline-button{border:0;background:transparent;padding:0;color:var(--blue-dark);text-decoration:underline;font:inherit}
