
:root{
  --ink:#25180d; --ink-soft:#533d26; --brown:#6e4a25; --gold:#a8742a; --red:#783f2b;
  --paper:#f4e5bf; --paper2:#ead3a0; --panel:rgba(255,248,222,.87); --panel2:rgba(255,252,236,.92);
  --shadow:0 16px 38px rgba(45,28,10,.22); --line:rgba(84,55,20,.22); --ok:#39603d;
  --font-serif: Georgia, 'Times New Roman', Times, serif; --font-sans: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--font-serif);line-height:1.55;background:
 radial-gradient(circle at 15% 10%, rgba(255,255,235,.7), transparent 25%),
 radial-gradient(circle at 75% 4%, rgba(128,88,35,.16), transparent 22%),
 linear-gradient(120deg, #ead1a2 0%, #f7e8c1 38%, #e0bd83 100%);background-attachment:fixed;}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(70,39,13,.32) .7px, transparent .8px);background-size:6px 6px;mix-blend-mode:multiply;}
a{color:#623915;text-decoration-thickness:1px;text-underline-offset:3px} a:hover{color:#9a5722}
.app{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;background:rgba(44,26,11,.92);color:#fff6d8;box-shadow:0 6px 22px rgba(0,0,0,.25);backdrop-filter:blur(5px)}
.navwrap{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:10px 18px}.brand{font-family:var(--font-serif);font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.brand small{display:block;letter-spacing:.14em;font-size:.63rem;color:#dbc084;font-weight:500}.nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.nav button{border:0;background:transparent;color:#fff1c0;padding:9px 10px;border-radius:999px;cursor:pointer;font-family:var(--font-sans);font-size:.9rem}.nav button.active,.nav button:hover{background:#fff4cb;color:#2c1a0b}.hero{position:relative;overflow:hidden;border-bottom:1px solid rgba(80,45,10,.3)}
.hero-inner{max-width:1280px;margin:0 auto;padding:64px 20px 46px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);gap:28px;align-items:center}.seal{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);padding:24px;border-radius:18px}.seal h1{font-size:clamp(2.2rem,6vw,5.4rem);line-height:.95;margin:0;text-transform:uppercase;letter-spacing:.05em;color:#3a200e}.subtitle{font-family:var(--font-sans);font-size:1.05rem;max-width:720px;color:#4d3923}.quote{margin:22px 0 0;padding:18px 22px;border-left:5px solid var(--gold);background:rgba(255,255,239,.55);font-size:1.1rem}.quick{display:grid;gap:14px}.stat{background:rgba(255,248,222,.92);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 8px 18px rgba(50,30,8,.08)}.stat strong{font-size:2rem;display:block;color:#5c3217}.main{max-width:1280px;margin:0 auto;padding:26px 18px 60px}.toolbar{display:grid;grid-template-columns:1fr auto;gap:14px;margin:10px 0 22px}.search{width:100%;border:1px solid var(--line);background:rgba(255,253,238,.94);padding:13px 15px;border-radius:12px;font-size:1rem;font-family:var(--font-sans);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.btn{border:1px solid rgba(75,43,13,.28);background:#6b3d1b;color:#fff5ce;border-radius:12px;padding:10px 14px;font-family:var(--font-sans);cursor:pointer}.btn.alt{background:#fff8df;color:#3a210d}.btn:hover{filter:brightness(1.05)}.view{display:none}.view.active{display:block}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;border-bottom:2px solid rgba(92,54,18,.3);padding-bottom:9px;margin-bottom:20px}.section-title h2{margin:0;font-size:2rem}.kicker{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:#76512a;font-size:.78rem;font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 9px 20px rgba(47,28,9,.11);position:relative}.card h3{margin:0 0 9px;font-size:1.25rem}.card .meta{font-family:var(--font-sans);font-size:.83rem;color:#6a4a2d}.pillrow{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.pill{font-family:var(--font-sans);font-size:.75rem;border:1px solid rgba(72,44,18,.22);background:#fff9e5;border-radius:999px;padding:3px 8px;color:#5d4023}.lesson-card{cursor:pointer;transition:.15s transform,.15s box-shadow}.lesson-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.lesson-card.done:before{content:"Completed";position:absolute;right:12px;top:10px;background:#e8f3dd;color:#355e36;border:1px solid rgba(38,95,40,.25);font-family:var(--font-sans);font-size:.72rem;border-radius:999px;padding:2px 8px}.panel{background:var(--panel2);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.lesson-reader{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.reader-text{max-height:72vh;overflow:auto;padding-right:8px}.reader-text h3{font-size:1.7rem;margin:0 0 12px}.reader-text h4{margin:24px 0 8px;font-size:1.16rem;color:#573419}.reader-text p{margin:.72em 0}.reader-text ul{margin:.5em 0 1em 1.2em}.notearea{width:100%;min-height:180px;border:1px solid var(--line);background:#fffdf0;border-radius:12px;padding:12px;font-family:var(--font-sans);line-height:1.4}.small{font-family:var(--font-sans);font-size:.86rem;color:#6a4a2d}.timeline{position:relative;margin-left:12px}.timeline:before{content:"";position:absolute;left:8px;top:5px;bottom:5px;width:2px;background:rgba(90,54,19,.25)}.timeitem{position:relative;margin:0 0 14px 34px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.timeitem:before{content:"";position:absolute;left:-31px;top:18px;width:14px;height:14px;border-radius:50%;background:#7b481f;border:3px solid #f8e8b8}.chapter-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.chapter{min-height:190px}.quote-inline{font-style:italic;color:#4d2d13;background:rgba(255,253,237,.72);padding:10px 12px;border-left:4px solid var(--gold);border-radius:8px}.resource-list{display:grid;gap:10px}.resource{display:grid;grid-template-columns:170px 1fr auto;gap:12px;align-items:center}.resource .type{font-family:var(--font-sans);font-size:.78rem;color:#fff;background:#6b3d1b;padding:4px 8px;border-radius:999px;text-align:center}.glossary{columns:2 360px;column-gap:18px}.term{break-inside:avoid;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 12px}.warning{border-left:5px solid var(--red);background:rgba(255,247,219,.95);padding:14px 16px;border-radius:10px}.footer{max-width:1280px;margin:0 auto 30px;padding:18px;color:#5d4023;font-family:var(--font-sans);font-size:.9rem}.hidden{display:none!important}.empty{padding:24px;border:1px dashed rgba(84,55,20,.35);border-radius:14px;background:rgba(255,255,245,.5)}
@media(max-width:1000px){.hero-inner{grid-template-columns:1fr}.grid,.grid.two,.chapter-table{grid-template-columns:1fr 1fr}.lesson-reader{grid-template-columns:1fr}.reader-text{max-height:none}.resource{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr}}
@media(max-width:640px){.navwrap{display:block}.nav{margin-top:8px}.grid,.grid.two,.chapter-table{grid-template-columns:1fr}.seal h1{font-size:2.4rem}.hero-inner{padding-top:34px}.section-title{display:block}.glossary{columns:1}}
@media print{.topbar,.toolbar,.btn,.footer{display:none}.view{display:block}.card,.panel{box-shadow:none;background:white}.reader-text{max-height:none;overflow:visible}body{background:white}}
