:root{--color-primary: #0066cc;--color-text: #1a1a1a;--color-text-muted: #666;--color-bg: #ffffff;--color-border: #e0e0e0;--max-width: 860px;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html{scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}header{border-bottom:1px solid var(--color-border);padding:0 1.5rem}nav{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px}.logo{font-weight:700;font-size:1.2rem;color:var(--color-primary);text-decoration:none}nav ul{list-style:none;display:flex;gap:2rem}.nav-right{display:flex;align-items:center;gap:2rem}nav ul a{color:var(--color-text);text-decoration:none;font-size:.95rem}nav ul a:hover{color:var(--color-primary)}.lang-dropdown{position:relative}.lang-toggle{display:flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:600;letter-spacing:.05em;color:var(--color-text-muted);background:none;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-family:inherit}.lang-toggle:hover{color:var(--color-primary);border-color:var(--color-primary)}.lang-toggle svg{transition:transform .2s}.lang-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.lang-menu{display:none;position:absolute;right:0;top:calc(100% + .35rem);min-width:130px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #0000001a;list-style:none;margin:0;padding:.25rem 0;z-index:100}.lang-menu.open{display:block}.lang-option{display:block;padding:.45rem .85rem;font-size:.85rem;color:var(--color-text);text-decoration:none;white-space:nowrap}.lang-option:hover{background:var(--color-surface);color:var(--color-primary)}.lang-option.active{font-weight:600;color:var(--color-primary)}main{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem;flex:1;width:100%}footer{border-top:1px solid var(--color-border);padding:2rem 1.5rem;text-align:center;color:var(--color-text-muted);font-size:.875rem;margin-top:2rem}.footer-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:.75rem}.footer-links a{color:var(--color-text-muted);text-decoration:none}.footer-links a:hover{color:var(--color-primary)}.footer-bm{margin-bottom:.5rem;font-size:.85rem}.footer-bm a{color:var(--color-primary);text-decoration:underline}.module-number{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.tier-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:4px;margin-left:.5rem}.tier-free{background:#dcfce7;color:#15803d}.tier-paid{background:#dbeafe;color:#1d4ed8}.duration{font-size:.8rem;color:var(--color-text-muted)}.module-card{display:block;border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-decoration:none;color:var(--color-text);transition:border-color .2s,box-shadow .2s}.module-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0066cc1a}.module-card h3{font-size:1.1rem;margin:.5rem 0 .4rem}.module-card p{font-size:.9rem;color:var(--color-text-muted);margin-bottom:.75rem}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}@media(max-width:599px){.guide-grid{grid-template-columns:1fr}}.guide-card{display:block;border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:8px;padding:1.5rem;text-decoration:none;color:var(--color-text);transition:border-color .2s,box-shadow .2s}.guide-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0066cc1a}.guide-card--locked{opacity:.6;cursor:pointer}.guide-card h3{font-size:1.1rem;margin:.5rem 0 .4rem}.guide-card p{font-size:.9rem;color:var(--color-text-muted);margin-bottom:.75rem}.guide-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary)}.guide-meta{display:flex;gap:1rem;align-items:center}.module-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.module-header h1{font-size:2rem;margin:.5rem 0;line-height:1.2}.module-content>p:first-child{font-size:1.1rem;color:var(--color-text-muted);line-height:1.7}.module-content h2,.module-content h3{position:relative}.module-content h2{font-size:1.5rem;margin:.5rem 0 1rem;line-height:1.25;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.module-content h3{font-size:1.15rem;margin:1.5rem 0 .5rem}.heading-anchor{color:var(--color-border);text-decoration:none;margin-left:.4rem;font-weight:400;opacity:0;transition:opacity .15s}.module-content h2:hover .heading-anchor,.module-content h3:hover .heading-anchor{opacity:1}.heading-anchor:hover{color:var(--color-primary)}.module-content hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}.module-content p{margin-bottom:1rem}.module-content ul,.module-content ol{padding-left:1.5rem;margin-bottom:1rem}.module-content li{margin-bottom:.5rem}.module-content table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.9rem;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.module-content th,.module-content td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.module-content th{background:#f5f5f5;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.module-content tr:last-child td{border-bottom:none}.module-content tbody tr:hover{background:#fafafa}.hero{padding:4rem 0 3rem}.hero h1{font-size:2.5rem;line-height:1.15;margin-bottom:1rem}.hero p{font-size:1.15rem;color:var(--color-text-muted);max-width:560px;margin-bottom:2rem}.btn{display:inline-block;background:var(--color-primary);color:#fff;padding:.7rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:600;font-size:.95rem;transition:opacity .2s}.btn:hover{opacity:.88}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:#fff;opacity:1}.module-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}@media(min-width:600px){.module-grid{grid-template-columns:1fr 1fr}}.section-heading{font-size:1.5rem;margin-bottom:.5rem}.section-sub{color:var(--color-text-muted);margin-bottom:1.5rem}.glossary-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2.5rem}.glossary-nav a{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--color-border);border-radius:4px;font-size:.85rem;font-weight:700;color:var(--color-text-muted);text-decoration:none;transition:border-color .2s,color .2s}.glossary-nav a:hover{border-color:var(--color-primary);color:var(--color-primary)}.glossary-section{margin-bottom:2.5rem}.glossary-letter{font-size:1.4rem;font-weight:700;color:var(--color-primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.glossary-terms{display:flex;flex-direction:column}.glossary-entry{padding:1rem 0;border-bottom:1px solid var(--color-border)}.glossary-entry:last-child{border-bottom:none}.glossary-terms dt{font-weight:600;font-size:1rem;margin-bottom:.3rem}.glossary-terms dt a{color:var(--color-text);text-decoration:none;transition:color .15s}.glossary-terms dt a:hover{color:var(--color-primary)}.glossary-terms dd{margin-left:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.65}.toc{display:block;height:auto;max-width:none;border:1px solid var(--color-border);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:2.5rem;background:#fafafa}.toc-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.75rem}.toc ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.toc li a{display:flex;align-items:center;gap:.4rem;color:var(--color-text);text-decoration:none;font-size:.9rem;padding:.25rem 0 .25rem .75rem;border-left:2px solid transparent;transition:color .15s,border-color .15s}.toc li a:hover{color:var(--color-primary)}.toc li a.toc-completed{color:#15803d;border-left-color:#15803d}.toc li a.toc-completed:before{content:"✓";font-size:.7rem;font-weight:700;color:#15803d;flex-shrink:0}.toc li a.toc-active{color:var(--color-primary);font-weight:600;border-left-color:var(--color-primary)}.toc li a.toc-active:before{content:"";width:6px;height:6px;background:var(--color-primary);border-radius:50%;flex-shrink:0}.toc li a.toc-upcoming:before{content:"";width:6px;height:6px;border:1.5px solid var(--color-text-muted);border-radius:50%;flex-shrink:0}@media(min-width:1200px){.toc{position:sticky;top:80px;float:right;width:220px;margin-right:-260px;margin-bottom:2rem;margin-top:0}}.toc-mobile-toggle,.toc-mobile-overlay{display:none}@media(max-width:1199px){.toc-mobile-toggle{display:flex;align-items:center;gap:.4rem;position:fixed;bottom:2rem;left:2rem;background:var(--color-primary);color:#fff;border:none;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;z-index:89;box-shadow:0 2px 8px #00000026;transition:opacity .2s}.toc-mobile-toggle:hover{opacity:.88}.toc-mobile-overlay.active{display:block;position:fixed;inset:0;background:#0000004d;z-index:98}.toc.toc-mobile-open{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:60vh;overflow-y:auto;border-radius:16px 16px 0 0;z-index:99;margin:0;padding:1.5rem;background:#fff;box-shadow:0 -4px 20px #00000026;float:none}}.module-content blockquote{border-left:3px solid var(--color-primary);background:#f0f7ff;padding:1rem 1.25rem;margin:1.5rem 0;border-radius:0 6px 6px 0;font-size:.95rem;line-height:1.65}.module-content blockquote p{margin-bottom:0}.module-content blockquote strong{color:var(--color-primary)}.module-content blockquote.key-concept-card{border-left:3px solid #f59e0b;background:#fffbeb;padding-left:2.75rem;position:relative}.module-content blockquote.key-concept-card:before{content:"★";position:absolute;left:.85rem;top:1rem;font-size:1rem;color:#f59e0b}.module-content blockquote.key-concept-card strong{color:#92400e}.module-content blockquote.reflection-prompt{border-left:3px solid #7c3aed;background:#f5f3ff;padding-left:2.75rem;position:relative}.module-content blockquote.reflection-prompt:before{content:"?";position:absolute;left:.65rem;top:.85rem;width:1.4rem;height:1.4rem;background:#7c3aed;color:#fff;border-radius:50%;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}.module-content blockquote.reflection-prompt strong{color:#7c3aed}.progress-bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--color-primary);z-index:100;transition:width .1s linear}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:90;box-shadow:0 2px 8px #00000026}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{opacity:.88}.module-cta{background:#f0f7ff;border:1px solid #d0e3f7;border-radius:8px;padding:1.5rem 2rem;margin-top:3rem;text-align:center}.module-cta p{font-size:1.05rem;margin-bottom:1rem;color:var(--color-text)}.module-cta .btn{font-size:.9rem;padding:.6rem 1.25rem}.section-card{background:#fafafa;border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:10px;padding:2rem 2rem 1.5rem;margin-bottom:1.5rem;opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease,border-color .2s}.section-card--visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.section-card{opacity:1;transform:none;transition:none}}.section-card:first-child{background:transparent;border:none;padding:0;margin-bottom:2rem;opacity:1;transform:none}.section-step-indicator{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .65rem;border-radius:12px;margin-bottom:.75rem}.section-read-time{font-weight:400;opacity:.85}.section-number{display:block;color:var(--color-primary);font-size:.8rem;font-weight:700;margin-bottom:.15rem}.objectives-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:2rem}.objectives-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#15803d;margin-bottom:.75rem}.objectives-box ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.objectives-box li{font-size:.9rem;padding-left:1.25rem;position:relative}.objectives-box li:before{content:"✓";position:absolute;left:0;color:#15803d;font-weight:700}.takeaways-box{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:1.25rem 1.5rem;margin-top:3rem}.takeaways-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#92400e;margin-bottom:.75rem}.takeaways-box ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.takeaways-box li{font-size:.9rem;padding-left:1.25rem;position:relative;line-height:1.5}.takeaways-box li:before{content:"→";position:absolute;left:0;color:#92400e;font-weight:700}@media(max-width:600px){main{padding:1.25rem 1rem}.hero{padding:2.5rem 0 2rem}.hero h1{font-size:1.75rem}.hero p{font-size:1rem}.module-header h1{font-size:1.5rem}.section-card{padding:1.25rem 1rem 1rem;border-radius:8px}.toc,.objectives-box,.takeaways-box{padding:1rem 1.25rem}.module-cta{padding:1.25rem 1rem}.module-content h2{font-size:1.25rem;margin:.25rem 0 .6rem}.module-content h3{font-size:1.05rem}.module-content table{font-size:.8rem;display:block;overflow-x:auto}.module-content th,.module-content td{padding:.5rem .6rem}.module-content blockquote{padding:.75rem 1rem;margin:1rem 0}nav ul{gap:.75rem}.nav-right{gap:.75rem}nav ul a{font-size:.85rem}.logo{font-size:1.05rem}.back-to-top{bottom:1rem;right:1rem;width:36px;height:36px;font-size:1rem}.toc-mobile-toggle{bottom:1rem;left:1rem}.glossary-nav{gap:.35rem}.glossary-nav a{width:2.5rem;height:2.5rem;font-size:.9rem}.glossary-letter{font-size:1.2rem}.glossary-terms dd{font-size:.85rem}.section-heading{font-size:1.3rem}.term-heading{font-size:1.5rem}.term-aliases{font-size:.8rem}.term-definition{font-size:.95rem}.term-context{padding:1rem 1.25rem}.term-context-body{font-size:.95rem}.term-pill{font-size:.8rem}}.term-page{max-width:640px}.term-breadcrumb{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1.5rem}.term-breadcrumb a{color:var(--color-primary);text-decoration:none}.term-breadcrumb a:hover{text-decoration:underline}.term-breadcrumb-sep{margin:0 .4rem;color:var(--color-border)}.term-heading{font-size:2rem;line-height:1.2;margin-bottom:.75rem}.term-aliases{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1.25rem}.term-definition{font-size:1.05rem;line-height:1.7;color:var(--color-text-muted);margin-bottom:2rem}.term-context{margin-bottom:2rem;padding:1.25rem 1.5rem;background:var(--color-surface, #f8f9fa);border-left:3px solid var(--color-primary);border-radius:0 6px 6px 0}.term-context-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-bottom:.5rem}.term-context-body{font-size:1rem;line-height:1.7;color:var(--color-text-muted)}.term-also-in{font-size:.85rem;color:var(--color-text-muted);margin-bottom:2rem}.term-also-in a{color:var(--color-primary);text-decoration:underline}.term-related{margin-bottom:2rem}.term-related-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.75rem}.term-related-list{display:flex;flex-wrap:wrap;gap:.5rem}.term-pill{display:inline-block;font-size:.85rem;padding:.3rem .75rem;border:1px solid var(--color-border);border-radius:20px;color:var(--color-text);text-decoration:none;transition:border-color .15s,color .15s}.term-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.term-back{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}
