:root{--green: #1a4731;--green-mid: #2d6a4f;--green-light: #52b788;--green-pale: #d8f3dc;--gold: #d4a017;--gold-light: #f4c842;--gold-pale: #fef9e7;--bg: #f6f9f7;--surface: #ffffff;--text: #0d1f17;--text-muted: #4a6558;--border: #c3dac9;--radius: 8px;--shadow: 0 2px 16px rgba(26,71,49,.1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--green-mid);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;border:none;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;text-decoration:none}.btn:hover{opacity:.88}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--green);color:#fff}.btn-gold{background:var(--gold);color:var(--text)}.btn-ghost{background:transparent;color:var(--green);border:2px solid var(--green)}.btn-sm{padding:7px 14px;font-size:13px}.card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow);padding:32px}.card-sm{padding:20px 24px}.input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:15px;outline:none;transition:border-color .15s;background:var(--surface);color:var(--text)}.input:focus{border-color:var(--green-mid)}label{font-size:13px;font-weight:600;color:var(--text-muted);display:block;margin-bottom:4px}.error{color:#c0392b;font-size:13px;margin-top:6px}.success{color:#2d6a4f;font-size:13px;margin-top:6px}.nav{background:var(--green);color:#fff;padding:0 24px;display:flex;align-items:center;gap:24px;height:56px;position:sticky;top:0;z-index:100}.nav-brand{font-weight:800;font-size:18px;color:var(--gold);letter-spacing:-.5px;text-decoration:none}.nav-brand:hover{text-decoration:none;opacity:.9}.nav-links{display:flex;gap:16px;margin-left:auto;align-items:center}.nav-links a{color:#ffffffd9;font-size:14px}.nav-links a:hover{color:#fff;text-decoration:none}.page{max-width:680px;margin:48px auto;padding:0 16px}.page-wide{max-width:960px;margin:48px auto;padding:0 16px}.progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--green-light);border-radius:3px;transition:width .4s ease}.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:600}.badge-green{background:var(--green-pale);color:var(--green)}.badge-gold{background:var(--gold-pale);color:#7a5000}.lesson-body{line-height:1.7}.lesson-body h1{font-size:24px;margin-bottom:16px;color:var(--green)}.lesson-body h2{font-size:18px;margin:24px 0 10px;color:var(--text)}.lesson-body h3{font-size:16px;margin:20px 0 8px;color:var(--text-muted)}.lesson-body p{margin-bottom:14px}.lesson-body ul,.lesson-body ol{margin:0 0 14px 24px}.lesson-body li{margin-bottom:6px}.lesson-body code{font-family:SF Mono,Fira Code,monospace;font-size:13px;background:var(--green-pale);color:var(--green);padding:2px 6px;border-radius:4px}.lesson-body pre{background:var(--green);color:var(--green-pale);padding:16px;border-radius:var(--radius);overflow-x:auto;margin-bottom:16px;font-size:13px}.lesson-body pre code{background:none;color:inherit;padding:0}.lesson-body blockquote{border-left:4px solid var(--gold);padding:12px 16px;margin:16px 0;background:var(--gold-pale);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted);font-style:italic}.spinner{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-muted);font-size:14px}
