/* The Operator — lesson & hub page styles. Palette matches the site's "Ledger" system (see docs/index.html). */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Archivo',sans-serif;background:#fff;color:#1A1F18;line-height:1.65}

.nav{background:#fff;border-bottom:1px solid #E2E6DF;position:sticky;top:0;z-index:10}
.nav-inner{max-width:1240px;margin:0 auto;padding:16px 44px;display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:800;font-size:20px;letter-spacing:-.02em;color:#0B0F0A;text-decoration:none}
.logo mark{background:#F3EE74;color:#0B0F0A;padding:0 3px}
.nav-right{display:flex;align-items:center;gap:20px}
.nav-back{font-family:'IBM Plex Mono';font-size:12px;color:#5A6457;text-decoration:none}
.nav-back:hover{color:#0B0F0A}
.lang-switch{display:flex;align-items:center;gap:6px;font-family:'IBM Plex Mono';font-size:11px;font-weight:600;letter-spacing:.04em}
.lang-switch .lang-current{color:#0B0F0A;border-bottom:2px solid #155138;padding-bottom:1px}
.lang-switch .lang-disabled{color:#C7CFC3;cursor:default}

.crumbs{max-width:760px;margin:0 auto;padding:20px 44px 0;font-family:'IBM Plex Mono';font-size:12px;color:#5A6457;font-style:italic;opacity:.5}
.crumbs.crumbs-wide{max-width:960px}
.crumbs a{color:#5A6457;text-decoration:none}
.crumbs a:hover{color:#155138}
.crumb-sep{margin:0 8px;color:#C7CFC3}
.crumb-lead{margin:0 8px 0 0}
.crumb-current{color:#0B0F0A}

.lesson{max-width:760px;margin:0 auto;padding:24px 44px 80px}
.lesson-eyebrow{font-family:'IBM Plex Mono';font-size:11px;font-weight:600;letter-spacing:.16em;color:#155138;margin-bottom:16px}
.lesson h1{font-weight:800;font-size:clamp(28px,3vw,40px);letter-spacing:-.02em;line-height:1.15;margin:0 0 24px;color:#0B0F0A;padding-bottom:24px;border-bottom:1px solid #E2E6DF}

.lesson-body h2{font-weight:700;font-size:20px;margin:40px 0 14px;color:#0B0F0A}
.lesson-body p{margin:14px 0;font-size:16px;color:#2A302A}
.lesson-body strong{font-weight:700;color:#0B0F0A}
.lesson-body em{font-style:italic}
.lesson-body code{font-family:'IBM Plex Mono';font-size:14px;background:#F4F6F3;padding:1px 5px}
.lesson-body a{color:#155138}
.lesson-body hr{border:none;border-top:1px solid #E2E6DF;margin:32px 0}

.lesson-disclaimer{font-size:13px;color:#5A6457;border-left:2px solid #E2E6DF;padding:4px 0 4px 16px;margin:24px 0;font-style:italic}

.faq-item{margin:18px 0}
.faq-q{font-weight:700;color:#0B0F0A;margin:0 0 4px}
.faq-a{margin:0;color:#2A302A}

.lesson-cta{margin:28px 0 8px}
.acc-cta-sm{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono';font-size:11px;font-weight:600;letter-spacing:.04em;color:#155138;text-decoration:none;border:1px solid #155138;padding:7px 13px;transition:all .12s}
.acc-cta-sm:hover{background:#155138;color:#fff}
.acc-cta-sm svg{width:13px;height:13px;fill:currentColor}

.widget-mount{border:1px solid #0B0F0A;background:#F9FAF8;padding:22px 24px;margin:28px 0}
.widget-mount noscript pre{font-family:'IBM Plex Mono';font-size:12px;white-space:pre-wrap;color:#2A302A}

.w-title{font-family:'IBM Plex Mono';font-size:11px;font-weight:600;letter-spacing:.06em;color:#155138;margin-bottom:4px}
.w-disclaimer{font-size:12px;color:#5A6457;font-style:italic;margin-bottom:16px}
.w-unsupported{font-family:'IBM Plex Mono';font-size:12px;color:#5A6457}

.w-field{margin-bottom:14px}
.w-field label{display:block;font-size:13px;font-weight:600;color:#0B0F0A;margin-bottom:5px}
.w-field .w-hint{display:block;font-weight:400;font-size:12px;color:#5A6457;margin-top:2px}
.w-field input[type=text],.w-field input[type=number],.w-field input[type=date],.w-field select,.w-field textarea{width:100%;font-family:'Archivo';font-size:14px;padding:9px 11px;border:1px solid #C8CEC6;background:#fff;color:#0B0F0A;resize:vertical}
.w-field input:focus,.w-field select:focus,.w-field textarea:focus{outline:none;border-color:#155138}
.w-info-field{font-size:13px;color:#5A6457;background:#F4F6F3;padding:10px 12px;border-left:2px solid #C8CEC6}
.w-checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#2A302A;margin:4px 0}
.w-field-checkbox{display:flex;align-items:flex-start;gap:8px}
.w-field-checkbox input{margin-top:3px}
.w-field-checkbox label{margin-bottom:0}

.w-list{border:1px dashed #C8CEC6;padding:14px;margin-top:6px}
.w-list-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:10px 0;border-bottom:1px solid #E2E6DF}
.w-list-row:last-of-type{border-bottom:none}
.w-list-row .w-field{flex:1 1 140px;margin-bottom:0}
.w-list-remove{font-family:'IBM Plex Mono';font-size:11px;color:#9A4A2F;background:none;border:1px solid #9A4A2F;padding:8px 10px;cursor:pointer;height:fit-content}
.w-list-add{font-family:'IBM Plex Mono';font-size:12px;font-weight:600;color:#155138;background:none;border:1px solid #155138;padding:8px 14px;cursor:pointer;margin-top:10px}
.w-list-add:hover{background:#155138;color:#fff}

.w-calc-btn{font-family:'Archivo';font-weight:700;font-size:14px;background:#0B0F0A;color:#fff;border:none;padding:12px 22px;cursor:pointer;margin-top:8px}
.w-calc-btn:hover{background:#155138}

.w-result{margin-top:20px;padding-top:18px;border-top:1px solid #E2E6DF}
.w-result-figures{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:14px}
.w-figure-label{font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.06em;color:#5A6457;margin-bottom:2px}
.w-figure-value{font-family:'IBM Plex Mono';font-size:20px;font-weight:600;color:#0B0F0A}
.w-zone{padding:12px 16px;border-left:3px solid #5A6457}
.w-zone-label{font-weight:700;font-size:14px;margin-bottom:4px}
.w-zone-message{font-size:13px;color:#2A302A}
.w-zone-good{border-color:#155138}
.w-zone-good .w-zone-label{color:#155138}
.w-zone-watch{border-color:#8A6D1E}
.w-zone-watch .w-zone-label{color:#8A6D1E}
.w-zone-bad{border-color:#9A4A2F}
.w-zone-bad .w-zone-label{color:#9A4A2F}
.w-checks{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.w-check{font-size:13px;padding:8px 12px;background:#F4F6F3;border-left:2px solid #8A6D1E;color:#2A302A}

.w-quiz-progress{font-family:'IBM Plex Mono';font-size:11px;font-weight:600;color:#5A6457;letter-spacing:.08em;margin-bottom:10px}
.w-quiz-situation{font-size:16px;font-weight:600;color:#0B0F0A;line-height:1.45;margin-bottom:16px}
.w-quiz-options{display:flex;flex-direction:column;gap:10px}
.w-quiz-option-row{display:flex;flex-direction:column;gap:0}
.w-quiz-option{text-align:left;font-family:'Archivo';font-size:14px;font-weight:500;color:#0B0F0A;background:#fff;border:1px solid #C8CEC6;padding:12px 14px;cursor:pointer;transition:all .12s}
.w-quiz-option:hover{border-color:#0B0F0A}
.w-quiz-option-correct{border-color:#155138;background:#EFF6F1}
.w-quiz-option-wrong{border-color:#9A4A2F;background:#FBF1EE}
.w-quiz-explain{font-size:13px;padding:10px 14px;border-left:2px solid #C8CEC6;margin-top:2px}
.w-quiz-explain-correct{border-color:#155138;color:#155138;background:#F5FAF6}
.w-quiz-explain-wrong{border-color:#9A4A2F;color:#7A3A26;background:#FDF6F4}

.w-map-nodes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.w-map-node{font-family:'IBM Plex Mono';font-size:12px;font-weight:600;color:#0B0F0A;background:#fff;border:1px solid #C8CEC6;padding:9px 14px;cursor:pointer;transition:all .12s}
.w-map-node:hover{border-color:#0B0F0A}
.w-map-node-active{background:#0B0F0A;color:#fff;border-color:#0B0F0A}
.w-map-detail{background:#fff;border:1px solid #E2E6DF;padding:16px 18px}
.w-map-detail-title{font-weight:700;font-size:15px;color:#0B0F0A;margin-bottom:10px}
.w-map-detail-row{margin-bottom:10px}
.w-map-detail-row:last-child{margin-bottom:0}
.w-map-detail-key{font-family:'IBM Plex Mono';font-size:10px;font-weight:600;letter-spacing:.06em;color:#155138;margin-bottom:2px}
.w-map-detail-value{font-size:13px;color:#2A302A;line-height:1.5}

.w-map-selfcheck{margin-top:18px;padding-top:16px;border-top:1px solid #E2E6DF}
.w-map-selfcheck-prompt{font-size:13px;font-weight:600;color:#0B0F0A;margin-bottom:8px}
.w-map-selfcheck-counter{font-family:'IBM Plex Mono';font-size:11px;color:#5A6457;margin-top:8px}

.w-map-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px;font-size:12px;color:#5A6457}
.w-map-legend-item{display:flex;align-items:center;gap:6px}
.w-map-badge{font-family:'IBM Plex Mono';font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border:1px solid;text-transform:uppercase}
.w-map-badge-good{color:#155138;border-color:#155138}
.w-map-badge-watch{color:#8A6D1E;border-color:#8A6D1E}
.w-map-badge-bad{color:#9A4A2F;border-color:#9A4A2F}

.w-map-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.w-map-zone{border:1px solid #E2E6DF;padding:14px}
.w-map-zone-label{font-family:'IBM Plex Mono';font-size:11px;font-weight:600;letter-spacing:.06em;color:#155138;margin-bottom:10px}
.w-map-zone-item{font-size:13px;color:#2A302A;padding:6px 0;border-bottom:1px dotted #E2E6DF}
.w-map-zone-item:last-child{border-bottom:none}
.w-map-zone-item-clickable{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px dotted #E2E6DF;cursor:pointer;font-family:'Archivo'}

.w-scroll-fade{position:relative;overflow-x:auto}
.w-scroll-fade::after{content:'';position:absolute;top:0;right:0;bottom:0;width:28px;background:linear-gradient(to right, rgba(249,250,248,0), #F9FAF8);pointer-events:none}
.w-map-wheel{border-collapse:collapse;width:100%;font-size:12px}
.w-map-wheel th,.w-map-wheel td{border:1px solid #E2E6DF;padding:8px 10px;text-align:left;vertical-align:top;min-width:130px}
.w-map-wheel th{font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.04em;background:#F4F6F3;color:#155138}
.w-map-wheel-month{font-weight:700;color:#0B0F0A;white-space:nowrap;min-width:auto}

.w-checklist-item{border-bottom:1px solid #E2E6DF;padding:4px 0}
.w-checklist-item:last-of-type{border-bottom:none}
.w-checklist-row{display:flex;align-items:center;gap:10px;padding:8px 0}
.w-checklist-title{text-align:left;background:none;border:none;cursor:pointer;font-family:'Archivo';font-size:14px;font-weight:600;color:#0B0F0A;padding:0}
.w-checklist-title:hover{color:#155138}
.w-checklist-detail{font-size:13px;color:#2A302A;padding:0 0 12px 26px;line-height:1.55}
.w-checklist-counter{font-family:'IBM Plex Mono';font-size:11px;color:#5A6457;margin-top:14px}
.w-checklist-counter-overall{margin-top:18px;padding-top:14px;border-top:1px solid #0B0F0A;font-weight:600;color:#0B0F0A}

.w-checklist-section{margin-bottom:22px}
.w-checklist-section-label{font-family:'IBM Plex Mono';font-size:11px;font-weight:600;letter-spacing:.06em;color:#155138;margin-bottom:6px;display:flex;justify-content:space-between}
.w-checklist-section-counter{color:#5A6457;font-weight:400}

.w-builder-form{margin-bottom:20px}
.w-builder-step{border:1px solid #E2E6DF;padding:16px 18px;margin-bottom:14px}
.w-builder-step-title{font-weight:700;font-size:14px;color:#0B0F0A;margin-bottom:8px}
.w-builder-step-hint{margin-bottom:10px}
.w-builder-computed{background:#F4F6F3;padding:10px 12px;border-left:2px solid #155138}
.w-builder-computed-value{font-family:'IBM Plex Mono';font-size:13px;color:#155138}
.w-builder-draft-wrap{border-top:1px solid #0B0F0A;padding-top:16px}
.w-builder-draft{width:100%;font-family:'IBM Plex Mono';font-size:12px;color:#2A302A;background:#F9FAF8;border:1px solid #C8CEC6;padding:14px;margin-bottom:10px;resize:vertical}

.w-table-sample-notice{display:flex;align-items:center;gap:8px;font-size:13px;color:#5A6457;background:#FBF8EF;border:1px dashed #8A6D1E;padding:10px 12px;margin-bottom:14px}
.w-table-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.w-table-filters select{font-family:'IBM Plex Mono';font-size:12px;padding:7px 10px;border:1px solid #C8CEC6;background:#fff;color:#0B0F0A}
.w-table{border-collapse:collapse;width:100%;font-size:13px}
.w-table th,.w-table td{border:1px solid #E2E6DF;padding:9px 12px;text-align:left;vertical-align:top}
.w-table th{font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.04em;background:#F4F6F3;color:#155138;cursor:pointer;white-space:nowrap}
.w-table th:hover{background:#EAEFE8}
.w-table-example tbody{background:#FEFDFA}

/* Hub pages: course overview + module hubs */
.hub{max-width:960px;margin:0 auto;padding:24px 44px 80px}
.hub-eyebrow{font-family:'IBM Plex Mono';font-size:11px;font-weight:600;letter-spacing:.16em;color:#155138;margin-bottom:14px}
.hub h1{font-weight:800;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.02em;line-height:1.15;margin:0 0 18px;color:#0B0F0A}
.hub-intro{font-size:16px;color:#4A5247;line-height:1.6;max-width:640px;margin-bottom:36px}

.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:8px}
.hub-card{display:block;border:1px solid #E2E6DF;padding:18px 20px;text-decoration:none;transition:border-color .12s}
.hub-card:hover{border-color:#155138}
.hub-card-title{font-weight:700;font-size:15px;color:#0B0F0A;margin-bottom:6px;line-height:1.35}
.hub-card-desc{font-size:13px;color:#5A6457;line-height:1.5}

.course-hero{max-width:960px;margin:0 auto;padding:64px 44px 40px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
@media(min-width:769px){.course-hero{min-height:82vh}}
.course-hero h1{font-weight:800;font-size:clamp(52px,9vw,132px);letter-spacing:-.03em;line-height:.98;margin:0 0 24px;max-width:900px;color:#0B0F0A}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gear-o-wrap{display:inline-block;position:relative;width:1em;height:1em;vertical-align:-.14em;margin:0 -.14em}
.gear-o{width:100%;height:100%;fill:#0B0F0A;animation:gear-spin 12s linear infinite}
@keyframes gear-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.course-hero-subhead{font-size:18px;font-weight:600;color:#0B0F0A;line-height:1.5;margin-bottom:20px;max-width:680px}
.course-hero-desc{font-size:15px;color:#4A5247;line-height:1.65;margin-bottom:20px;max-width:680px}
.course-hero-organized{font-family:'IBM Plex Mono';font-size:12px;color:#155138;line-height:1.6;padding-top:16px;border-top:1px solid #E2E6DF;max-width:680px}

.level-section{margin-bottom:56px;padding-top:32px;border-top:1px solid #E2E6DF}
.level-section:first-of-type{padding-top:0;border-top:none}
.level-section h2{font-weight:800;font-size:24px;color:#0B0F0A;margin:0 0 10px}
.level-oneliner{font-size:15px;font-weight:600;color:#0B0F0A;line-height:1.55;margin-bottom:10px}
.level-intro{font-size:14px;color:#4A5247;line-height:1.6;margin-bottom:22px;max-width:680px}

@media(max-width:560px){
  .hub{padding:20px 20px 60px}
  .course-hero{padding:36px 20px 24px}
}

.footer{background:#0B0F0A;color:#9DA89A;padding:28px 44px;font-family:'IBM Plex Mono';font-size:10px;letter-spacing:.04em;line-height:1.6;text-align:center}
.footer a{color:#9DB89A}

@media(max-width:560px){
  .nav-inner{padding:14px 20px}
  .crumbs{padding:16px 20px 0}
  .lesson{padding:20px 20px 60px}
}
