:root{--ink:#17231b;--muted:#657068;--paper:#f4f5f0;--surface:#fff;--line:#d9ded7;--accent:#d45b34;--accent-dark:#9f3e21;--green:#346b4a;--green-soft:#e3efe7;--red-soft:#f8e6e1;--shadow:0 18px 55px #17231b14}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 85% 0%, #e8dfcb 0, transparent 27rem), var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65}a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent)}button,input,textarea,select{font:inherit}button{color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:.7rem;padding:.72rem 1rem;font-weight:700}button:hover{background:var(--accent-dark)}button:disabled{opacity:.6;cursor:wait}button.secondary,button.quiet{color:var(--ink);background:#edf0eb}button.quiet{padding:.5rem .8rem}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--surface);border-radius:.6rem;padding:.72rem .8rem}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}h1,h2,h3{letter-spacing:-.025em;line-height:1.12}h1{margin:.2rem 0 1rem;font-size:clamp(2.1rem,6vw,4.7rem)}h2{font-size:clamp(1.6rem,3vw,2.6rem)}h3{font-size:1.25rem}code,pre{font-family:SFMono-Regular,Consolas,monospace}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4f5f0e0;border-bottom:1px solid #d9ded7cc;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:4.3rem;padding:.6rem clamp(1rem,4vw,3rem);display:grid;position:sticky;top:0}.site-header nav{gap:1.3rem;font-weight:650;display:flex}.site-header form{justify-self:end}.brand{align-items:center;gap:.7rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{aspect-ratio:1;color:#fff;background:var(--accent);border-radius:50%;place-items:center;width:2.25rem;font-size:.83rem;display:grid}.page-shell{width:min(1180px,100% - 2rem);margin:0 auto;padding:4rem 0 6rem}.page-shell.narrow{width:min(790px,100% - 2rem)}.eyebrow{color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .55rem;font-size:.76rem;font-weight:800}.lead{max-width:48rem;color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem)}.hero{grid-template-columns:minmax(0,1.6fr) minmax(15rem,.65fr);align-items:end;gap:4rem;padding:3rem 0 5rem;display:grid}.progress-panel{border-left:4px solid var(--accent);background:var(--surface);box-shadow:var(--shadow);gap:.35rem;padding:1.5rem;display:grid}.progress-panel strong{font-size:3rem;line-height:1}.progress-panel span{color:var(--muted)}progress{width:100%;height:.5rem;accent-color:var(--green);margin-top:1rem}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-heading h2{margin:0}.module-list{gap:1rem;display:grid}.module-card{border:1px solid var(--line);background:#ffffffb8;grid-template-columns:4rem 1fr;gap:1rem;padding:1.5rem;display:grid}.module-card h3{margin:0 0 .45rem}.module-card p{color:var(--muted);margin:0}.module-number{color:var(--accent);font:800 1.6rem/1 ui-monospace,monospace}.lesson-list{margin:1rem 0 0;padding:0;list-style:none}.lesson-list a{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.status{color:var(--muted);white-space:nowrap}.status.completed{color:var(--green);font-weight:700}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{background:var(--surface);width:min(31rem,100%);box-shadow:var(--shadow);padding:clamp(1.5rem,5vw,3rem)}.auth-card h1{font-size:clamp(2rem,7vw,3.4rem)}.auth-form{gap:1rem;margin-top:2rem;display:grid}.auth-form label{gap:.35rem;font-weight:700;display:grid}.form-error{color:#782714;background:var(--red-soft);padding:.75rem}.form-success{color:var(--green);background:var(--green-soft);padding:.75rem}.admin-nav{flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;display:flex}.admin-nav a{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.55rem .95rem;font-weight:700;text-decoration:none}.admin-nav a[aria-current=page]{color:#fff;background:var(--ink);border-color:var(--ink)}.admin-section{gap:2rem;display:grid}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.admin-stat-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);gap:.2rem;padding:1.2rem 1.4rem;display:grid}.admin-stat-card strong{font-size:2.4rem;line-height:1}.admin-stat-card span{font-weight:700}.admin-stat-card p{color:var(--muted);margin:0;font-size:.92rem}.admin-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-card-link{border:1px solid var(--line);background:#ffffffb8;gap:.35rem;padding:1.2rem 1.4rem;text-decoration:none;display:grid}.admin-card-link span{color:var(--muted)}.admin-form{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);gap:1rem;padding:1.4rem;display:grid}.admin-form h3{margin:0}.admin-form-compact{box-shadow:none;border:0;padding:1rem 0 0}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-form label{gap:.35rem;font-weight:700;display:grid}.admin-checkbox{align-items:center;gap:.55rem;font-weight:700;display:flex!important}.admin-checkbox input{width:auto}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;background:var(--surface);width:100%;min-width:48rem}.admin-table th,.admin-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.85rem 1rem}.admin-table th{background:color-mix(in srgb, var(--green-soft) 70%, var(--surface));font-weight:750}.admin-actions-cell{gap:.55rem;min-width:16rem;display:grid}.admin-inline-form{grid-template-columns:1fr auto;align-items:start;gap:.45rem;display:grid}.admin-inline-form .form-error,.admin-inline-form .form-success{grid-column:1/-1;margin:0}.admin-row-actions{flex-wrap:wrap;gap:.45rem;display:flex}.admin-badge{color:var(--green);background:var(--green-soft);border-radius:999px;padding:.2rem .55rem;font-size:.82rem;font-weight:800;display:inline-block}.admin-badge-muted{color:var(--muted);background:#edf0eb}.admin-url{word-break:break-all;font-family:ui-monospace,monospace;font-size:.85rem}.admin-details summary{cursor:pointer;font-weight:750}.admin-details[open] summary{margin-bottom:.5rem}.admin-empty{color:var(--muted)}button.danger{background:#9f3e21}button.danger:hover{background:#782714}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lesson-layout{grid-template-columns:15rem minmax(0,48rem);justify-content:center;gap:clamp(2rem,7vw,7rem);width:min(1200px,100% - 2rem);margin:0 auto;padding:3rem 0 7rem;display:grid}.lesson-sidebar{align-self:start;position:sticky;top:6rem}.lesson-sidebar nav{gap:.45rem;margin:1rem 0 2rem;display:grid}.lesson-sidebar nav a{padding:.45rem 0;text-decoration:none}.lesson-meta{color:var(--muted);font-size:.9rem;display:grid}.back-link{margin-bottom:2rem;font-weight:700;display:inline-block}.lesson-title{border-bottom:1px solid var(--line);padding-bottom:2.5rem}.lesson-title h1{font-size:clamp(2.2rem,6vw,4.5rem)}.objectives,.prerequisites{border-left:3px solid var(--green);background:var(--green-soft);margin-top:1.5rem;padding:1rem 1.2rem}.objectives ul{margin-bottom:0}.lesson-content{padding:2rem 0;font-size:1.08rem}.lesson-content h1{margin-top:2.2rem;font-size:2.2rem}.lesson-content h2{margin-top:2.4rem;font-size:1.65rem}.lesson-content p,.lesson-content li{max-width:70ch}.lesson-content a{color:var(--accent-dark);font-weight:650}.lesson-content .table-scroll{max-width:100%;margin:1.25rem 0 1.75rem;display:block;overflow-x:auto}.lesson-content table{border-collapse:collapse;background:var(--surface);width:max-content;min-width:min(100%,36rem);max-width:100%;font-size:.98rem;line-height:1.45}.lesson-content th,.lesson-content td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .85rem}.lesson-content th{background:color-mix(in srgb, var(--green-soft) 70%, var(--surface));color:var(--ink);font-weight:750}.lesson-content tr:nth-child(2n) td{background:color-mix(in srgb, var(--paper) 65%, var(--surface))}.lesson-content pre{color:#f4f5f0;background:#1f2922;border-radius:.6rem;padding:1rem;overflow-x:auto}.complete-form{justify-content:flex-end;padding-bottom:2rem;display:flex}.quiz-card,.lab-card,.notes-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);margin:3rem 0;padding:clamp(1.2rem,4vw,2.1rem)}.quiz-card h2,.lab-card h2{margin-top:0}.notes-card form{gap:.8rem;display:grid}.notes-card button{justify-self:end}.save-status{color:var(--muted);font-size:.85rem}.question{border:0;border-top:1px solid var(--line);margin:0;padding:1.5rem 0}.question legend{margin-bottom:1rem;font-weight:800}.answer-option{align-items:flex-start;gap:.65rem;margin:.6rem 0;display:flex}.answer-option input{width:auto;margin-top:.35rem}.matching-grid{gap:.8rem;display:grid}.matching-grid label{grid-template-columns:1fr 1.4fr;align-items:center;gap:1rem;display:grid}.feedback,.result{margin-top:1rem;padding:.8rem 1rem}.success{background:var(--green-soft)}.error{background:var(--red-soft)}.result{align-items:center;gap:1rem;display:flex}.result strong{font-size:1.8rem}.lab-steps{padding-left:1.5rem}.lab-steps>li{border:1px solid var(--line);margin:.8rem 0;padding:1rem}.lab-steps>li.is-complete{border-color:var(--green);background:var(--green-soft)}.verification{color:var(--muted)}.lesson-pager{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding-top:2rem;display:flex}.lesson-pager a{max-width:45%;font-weight:750}.page-title{margin-bottom:2rem}.glossary-list,.search-results{gap:.7rem;display:grid}.materials-list{gap:.7rem;margin-bottom:3rem;display:grid}.material-card{border:1px solid var(--line);background:var(--surface);gap:.35rem;padding:1rem 1.1rem;text-decoration:none;display:grid}.material-card strong{font-size:1.05rem}.material-card span{color:var(--muted)}.material-url{word-break:break-all;font-family:ui-monospace,monospace;font-size:.85rem}.glossary-list a,.search-results a{border:1px solid var(--line);background:var(--surface);padding:1rem 1.2rem;text-decoration:none;display:grid}.glossary-list span,.search-results span:last-child{color:var(--muted)}.term-page{background:var(--surface);box-shadow:var(--shadow);padding:2rem}.term-short{border-bottom:1px solid var(--line);padding-bottom:1rem;font-size:1.25rem;font-weight:650}.reference-list{margin:0;padding-left:1.25rem}.reference-list a{word-break:break-word}.search-form{grid-template-columns:1fr auto;gap:.7rem;margin-bottom:2rem;display:grid}@media (max-width:760px){.site-header{grid-template-columns:1fr auto}.site-header nav{order:3;grid-area:2/1/auto/-1;justify-content:space-around;font-size:.9rem}.site-header form{grid-area:1/2}.hero{grid-template-columns:1fr;gap:2rem;padding-top:1rem}.module-card{grid-template-columns:2.5rem 1fr;padding:1rem}.lesson-layout{padding-top:1.5rem;display:block}.lesson-sidebar{flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex;position:static}.lesson-sidebar .back-link{width:100%;margin-bottom:1rem}.lesson-sidebar .eyebrow{display:none}.lesson-sidebar nav{gap:1rem;margin:0;display:flex}.lesson-meta{text-align:right}.lesson-title h1{font-size:2.45rem}.matching-grid label{grid-template-columns:1fr;gap:.25rem}.section-heading{align-items:start}.lesson-pager a{max-width:48%}.admin-stats,.admin-quick-links,.admin-form-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
