:root{--bg: #faf9f5;--paper: #ffffff;--ink: #1a1a1a;--ink-2: #3a3a3a;--muted: #6b6b6b;--muted-2: #999;--line: #e5e5e0;--line-soft: #f0eee8;--accent: #b91c1c;--accent-soft: #fee2e2;--accent-ink: #991b1b;--gold: #c08a3e;--gold-soft: #fdf6e3;--emerald: #047857;--emerald-soft: #d1fae5;--tag: #f3f4f6;--tag-active: #1a1a1a;--quote-bg: #faf5ff;--quote-bar: #a855f7;--principle-bg: #ecfdf5;--principle-bar: #10b981;--bigpic-bg: #fef3c7;--bigpic-bar: #d97706;--film-bg: #fff7ed;--film-bar: #f97316;--serif: ui-serif, "Iowan Old Style", "Georgia", "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--content-w: 740px;--wide-w: 1100px;--shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.02);--shadow-md: 0 4px 12px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);line-height:1.2;margin:0 0 .5em}h1{font-size:2.4rem;font-weight:700}h2{font-size:1.7rem;font-weight:600;margin-top:2em}h3{font-size:1.25rem;font-weight:600;margin-top:1.5em}p{margin:0 0 1em}.container{max-width:var(--content-w);margin:0 auto;padding:0 24px}.container-wide{max-width:var(--wide-w);margin:0 auto;padding:0 24px}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.site-header-inner{max-width:var(--wide-w);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:24px}.brand{font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.brand:hover{text-decoration:none;color:var(--accent)}.brand .small{font-size:11px;color:var(--muted);display:block;font-family:var(--sans);font-weight:400;letter-spacing:0;margin-top:-2px}nav.primary{margin-left:auto;display:flex;gap:22px}nav.primary a{color:var(--ink-2);font-size:14px;font-weight:500;text-decoration:none}nav.primary a:hover{color:var(--accent)}nav.primary a.current{color:var(--accent);font-weight:600}.hero{padding:72px 0 48px;text-align:center;border-bottom:1px solid var(--line)}.hero .eyebrow{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);background:var(--accent-soft);padding:6px 12px;border-radius:100px;margin-bottom:18px}.hero h1{font-size:3.2rem;max-width:760px;margin:0 auto .4em}.hero .lede{font-size:1.2rem;color:var(--muted);max-width:600px;margin:0 auto 1.5em}.hero-stats{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;margin-top:36px}.hero-stat{text-align:center}.hero-stat .num{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--ink);display:block;line-height:1}.hero-stat .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px;margin:32px 0}.module-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px 24px;transition:all .15s ease;display:block;color:var(--ink)}.module-card:hover{text-decoration:none;border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.module-card .num{font-family:var(--mono);font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.module-card h3{margin:6px 0 8px;font-size:1.25rem}.module-card .desc{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 12px}.module-card .meta{font-size:12px;color:var(--muted-2)}.module-card .meta .dot{margin:0 6px}.module-card.completed{border-left:3px solid var(--emerald)}.module-card .progress-pill{display:inline-block;font-size:11px;background:var(--emerald-soft);color:var(--emerald);padding:2px 8px;border-radius:100px;font-weight:600;margin-left:8px}.lesson-shell{display:grid;grid-template-columns:220px 1fr;gap:48px;max-width:1180px;margin:32px auto;padding:0 24px}@media(max-width:880px){.lesson-shell{grid-template-columns:1fr;gap:12px}.lesson-shell .sidebar{display:none}}.lesson-shell .sidebar{position:sticky;top:80px;align-self:start;font-size:13px;border-right:1px solid var(--line-soft);padding-right:16px}.lesson-shell .sidebar h4{font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-weight:600}.lesson-shell .sidebar ol{list-style:none;padding:0;margin:0 0 18px}.lesson-shell .sidebar li{padding:4px 0}.lesson-shell .sidebar a{color:var(--ink-2);display:block;padding:4px 0}.lesson-shell .sidebar a:hover{color:var(--accent);text-decoration:none}.lesson-shell .sidebar a.current{color:var(--accent);font-weight:600}.lesson-shell .sidebar a.done:before{content:"✓ ";color:var(--emerald);font-weight:700}.lesson-content{font-size:17px;line-height:1.7;max-width:720px}.lesson-content h1{font-size:2.2rem;margin-bottom:.4em}.lesson-meta{font-size:13px;color:var(--muted);margin-bottom:28px}.lesson-meta .module{color:var(--accent);font-weight:600}.lesson-content blockquote{background:var(--quote-bg);border-left:3px solid var(--quote-bar);margin:1.2em 0;padding:12px 18px;font-family:var(--serif);font-style:italic;font-size:17px;color:#2a2a2a;border-radius:4px}.lesson-content blockquote .attr{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);font-style:normal;margin-top:6px}.lesson-content .pullquote{font-family:var(--serif);font-size:1.7rem;line-height:1.3;color:var(--accent-ink);margin:32px 0;padding:0 0 0 18px;border-left:4px solid var(--accent)}.lesson-content .principle-card{background:var(--principle-bg);border-left:3px solid var(--principle-bar);padding:14px 20px;margin:1.2em 0;border-radius:4px}.lesson-content .principle-card .label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--emerald);font-weight:700;margin-bottom:4px;font-family:var(--sans)}.lesson-content .principle-card .name{font-weight:700;font-size:1.05rem;margin-right:4px}.lesson-content .footnote{font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-top:36px;padding-top:14px}.lesson-nav{display:flex;justify-content:space-between;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);gap:12px}.lesson-nav a{flex:1;padding:14px 18px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);display:block}.lesson-nav a:hover{border-color:var(--accent);text-decoration:none;box-shadow:var(--shadow-sm)}.lesson-nav .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.lesson-nav .title{font-weight:600;margin-top:2px}.lesson-nav .next{text-align:right}.quiz{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:24px 28px;margin:32px 0}.quiz-header{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700;margin-bottom:12px}.quiz h3{margin-top:0;font-size:1.15rem;font-family:var(--sans)}.quiz-q{font-weight:600;font-size:16px;margin-bottom:10px;line-height:1.4}.quiz-options{list-style:none;padding:0;margin:0}.quiz-options li{padding:11px 14px;border:1px solid var(--line);border-radius:8px;margin-bottom:7px;cursor:pointer;transition:all .12s;font-size:14.5px;user-select:none;background:var(--bg)}.quiz-options li:hover{border-color:var(--ink)}.quiz-options li.selected{border-color:var(--ink);background:#fff}.quiz-options li.correct{border-color:var(--emerald);background:var(--emerald-soft);color:var(--emerald);font-weight:600}.quiz-options li.incorrect{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.quiz-feedback{margin-top:14px;padding:12px 16px;background:var(--gold-soft);border-left:3px solid var(--gold);border-radius:4px;font-size:14.5px;line-height:1.55}.quiz-feedback .label{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);margin-bottom:4px;display:block}.quiz-progress{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:12px;color:var(--muted)}.quiz-actions{margin-top:16px;display:flex;gap:10px}.quiz-actions button{padding:9px 18px;border-radius:6px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.quiz-actions button.secondary{background:transparent;color:var(--ink)}.quiz-actions button:disabled{opacity:.4;cursor:not-allowed}.predict{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin:36px 0;overflow:hidden;box-shadow:var(--shadow-sm)}.predict-header{background:linear-gradient(135deg,var(--accent),#7c1818);color:#fff;padding:20px 28px}.predict-header .label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;opacity:.9}.predict-header h3{font-family:var(--serif);font-size:1.5rem;margin:4px 0 0;color:#fff}.predict-header .date{font-size:13px;margin-top:6px;opacity:.85}.predict-body{padding:26px 28px}.predict-section{margin-bottom:18px}.predict-section .label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--muted);margin-bottom:4px}.predict-section .body{font-size:15px;line-height:1.55}.predict-input{display:flex;gap:10px;align-items:center;padding:14px 18px;background:var(--gold-soft);border-left:3px solid var(--gold);margin:12px 0 18px;border-radius:4px}.predict-input input{flex:1;padding:9px 14px;border:1px solid var(--line);border-radius:6px;font-size:14.5px}.predict-input button{padding:9px 18px;border:none;background:var(--accent);color:#fff;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px}.predict-reveal{background:linear-gradient(180deg,var(--bg),var(--paper));border-top:1px solid var(--line);padding:22px 28px}.predict-reveal h4{margin:0 0 12px;font-size:1rem}.predict-reveal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}.predict-reveal-cell{background:var(--paper);border:1px solid var(--line);padding:14px 18px;border-radius:8px}.predict-reveal-cell .label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;margin-bottom:4px}.predict-reveal-cell .value{font-family:var(--serif);font-size:1.25rem;font-weight:700}.predict-reveal-cell.doctrine{border-left:3px solid var(--accent)}.predict-reveal-cell.actual{border-left:3px solid var(--emerald)}.predict-reasoning{background:var(--quote-bg);border-left:3px solid var(--quote-bar);padding:14px 18px;border-radius:4px;font-style:italic;font-family:var(--serif);font-size:16px;margin-top:12px}@media(max-width:700px){.predict-reveal-grid{grid-template-columns:1fr}}footer.site-footer{margin-top:64px;padding:32px 24px 48px;border-top:1px solid var(--line);background:var(--paper);text-align:center;color:var(--muted);font-size:13px}.gate-overlay{position:fixed;inset:0;background:#1a1a1af5;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}.gate-card{background:var(--paper);border-radius:14px;padding:36px 32px;max-width:420px;width:100%;box-shadow:0 20px 60px #0006;text-align:center}.gate-card h2{font-family:var(--serif);margin:0 0 6px;font-size:1.4rem}.gate-card .sub{color:var(--muted);font-size:13.5px;margin-bottom:22px;line-height:1.5}.gate-card input{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:8px;font-size:16px;margin-bottom:12px}.gate-card input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.gate-card button{width:100%;padding:12px 16px;background:var(--ink);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer}.gate-card button:hover{background:var(--accent)}.gate-error{color:var(--accent);font-size:13px;margin-top:6px;min-height:18px}.archive-iframe{width:100%;height:80vh;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.tag{display:inline-block;padding:2px 9px;background:var(--tag);border-radius:100px;font-size:11px;color:#555;margin-right:4px}.callout{border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin:24px 0;background:var(--bg)}.callout strong{display:block;margin-bottom:4px}@media(max-width:700px){.hero{padding:48px 0 32px}.hero h1{font-size:2.2rem}.hero-stats{gap:24px}.lesson-content{font-size:16px}.modules{grid-template-columns:1fr}}
