:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172e2b;background:#f5f6f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer;border:0;border-radius:9px;padding:12px 18px;background:#176452;color:white;font-weight:650}button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:wait}a{color:#176452}h1{font-size:clamp(28px,4vw,44px);letter-spacing:-1.5px;margin:12px 0}h2{font-size:23px;letter-spacing:-.5px}h3{margin:10px 0}p{line-height:1.65}small,.muted{color:#637570}aside{position:fixed;inset:0 auto 0 0;width:245px;background:#102f29;color:white;padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:22px;font-weight:800;letter-spacing:-1px}.brand span{background:#d7ed99;color:#173b30;padding:4px 8px;border-radius:8px;margin-left:5px}aside .muted{color:#a7beb6}nav{display:grid;gap:9px;margin-top:45px}nav button{background:transparent;text-align:left;color:#c6d8d1}nav button.active{background:#294b40;color:#e3f5b8}aside footer{margin-top:auto;font-size:12px;line-height:1.8}main{margin-left:245px;padding:28px 46px;max-width:1600px}.top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce4dc;padding-bottom:20px;margin-bottom:28px}.pill{display:inline-block;background:#e9efdf;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700;color:#365849}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#54816b}.hero{display:grid;grid-template-columns:1.6fr 1fr;background:#e1ebcf;border-radius:20px;padding:32px;gap:30px;margin:25px 0}.hero p{max-width:550px}.hero-art{display:flex;align-items:center;justify-content:center;font-family:monospace;font-size:80px;color:#416749;border:1px solid #aabd93;border-radius:50%;aspect-ratio:1;max-height:210px;transform:rotate(-12deg)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat,.card{border:1px solid #dfe5da;background:#fff;border-radius:14px;padding:22px}.stat strong{display:block;font-size:28px;margin:8px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card .number{color:#7a8f80;font-family:monospace;font-size:12px}.card p{font-size:14px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.progress{height:7px;background:#e5ebdf;border-radius:8px;overflow:hidden;margin:16px 0}.progress progress{width:100%;height:7px;display:block;accent-color:#176452}.ghost{background:#eaf0e3;color:#214d3f}.section{margin-top:30px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tabs .active{background:#173e32;color:white}.lesson{border-left:3px solid #8da85f;padding-left:18px}.editor{font-family:ui-monospace,monospace;background:#142b27;color:#e1f1d6;min-height:240px;tab-size:2;font-size:14px}.field{display:grid;gap:8px;margin:16px 0}input,textarea,select{width:100%;border:1px solid #c8d4c9;border-radius:9px;padding:12px;background:white;color:#19382e}textarea{min-height:110px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eef3e8;padding:18px;border-radius:10px;font-size:13px;line-height:1.6}ul,ol{padding-left:22px;line-height:1.9}.success{color:#20663f}.failure{color:#a53929}.login{max-width:460px;margin:9vh auto;padding:36px}.login .brand{margin-bottom:35px}.login p{font-size:14px}#toast:not(:empty){position:fixed;bottom:24px;right:24px;max-width:450px;padding:16px 24px;background:#163b30;color:white;border-radius:10px;box-shadow:0 5px 25px #0002;z-index:10}.question{padding:16px 0;border-bottom:1px solid #ddd}.question label{display:block;padding:8px}.question input{width:auto;margin-right:8px}.audit{margin:16px 0}.badge{font-size:12px;font-weight:700;color:#406c42}.note{font-size:13px;color:#637570}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:14px;border-bottom:1px solid #ddd}.table-wrap{overflow:auto}@media(max-width:900px){aside{width:190px;padding:25px 16px}main{margin-left:190px;padding:24px}.stats{grid-template-columns:repeat(2,1fr)}.hero-art{font-size:50px}.grid{grid-template-columns:1fr}}@media(max-width:600px){aside{position:relative;width:100%;padding:20px}aside footer,aside>p{display:none}nav{display:flex;flex-wrap:wrap;margin-top:20px;gap:3px}nav button{padding:9px;font-size:13px}main{margin:0;padding:18px}.hero{grid-template-columns:1fr;padding:24px}.hero-art{display:none}.top{font-size:12px}.login{margin:30px 16px}h1{font-size:30px}}

.hero-art{white-space:nowrap;font-size:clamp(34px,5vw,72px)}
.course-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}.lesson-list{margin:0;position:sticky;top:16px;gap:8px}.lesson-list button{text-align:left;background:#e7edde;color:#254c3e;line-height:1.5;white-space:normal}.lesson-list button span{display:block;font-size:11px;margin-bottom:4px}.lesson-list button.active{background:#173e32;color:#fff}.lesson-reader{max-width:880px;padding:30px}.lesson-reader h3{margin-top:28px}.lesson-reader p{line-height:1.85}.lesson-reader pre{background:#142b27;color:#e4f2da;line-height:1.7;padding:22px}.lesson-objective{font-weight:650;border-left:3px solid #98b45e;padding-left:16px}.practice{background:#f0f5e8;border-radius:12px;padding:22px;margin-block:24px}.pitfall{border-left:3px solid #bc8035;padding:1px 18px;background:#fcf5e9}.course-detail,details{margin-block:16px}summary{cursor:pointer;font-weight:650;line-height:1.6;color:#225b48}details[open]>summary{margin-bottom:16px}.completion{display:flex;gap:12px;align-items:center;line-height:1.6}.completion input{width:auto;accent-color:#176452}.competency{border-bottom:1px solid #dce5d5;padding:14px 0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.course-intro>p{max-width:950px}@media(max-width:1100px){.course-layout{grid-template-columns:1fr}.lesson-list{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-list>p{grid-column:1/-1}}@media(max-width:600px){.lesson-reader{padding:20px}.lesson-list{grid-template-columns:1fr}.practice{padding:16px}}
[hidden]{display:none!important}.chapter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.chapter-tabs button{font-size:13px;padding:10px 13px}.chapter-tabs .active{background:#173e32;color:white}.analogy-card{background:#edf2d8;border-radius:14px;padding:22px;margin:20px 0}.analogy-card h3{margin-top:10px}.explain-step{display:flex;gap:14px;align-items:flex-start}.explain-step>span{background:#e5eddc;border-radius:50%;min-width:28px;height:28px;display:grid;place-items:center;font-weight:700;margin-top:20px}.chapter-question{border:1px solid #dce5d5;border-radius:12px;margin:22px 0;padding:20px;min-width:0}.chapter-question legend{max-width:100%;padding:0 8px}.chapter-question legend p{margin:10px 0}.answer-choice{display:flex;gap:12px;padding:12px;border:1px solid #e0e6dc;margin:8px 0;border-radius:8px;cursor:pointer;line-height:1.5}.answer-choice input{width:auto;align-self:center;accent-color:#176452}.answer-choice:has(input:checked){background:#e4efd9;border-color:#64835b}.quiz-summary,.thread-step{background:#eaf1df;border-radius:12px;padding:22px;margin:20px 0}.question-feedback{border-bottom:1px solid #dce5d5;padding:12px 0}.thread-roadmap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.thread-roadmap li{margin-bottom:16px}.chapter-question textarea{min-height:130px}@media(max-width:900px){.thread-roadmap{grid-template-columns:1fr}}@media(max-width:600px){.chapter-question{padding:12px}.chapter-tabs button{flex:1 1 45%}.explain-step{gap:10px}}
