:root{--bg:#f7f5ef;--paper:#fffefa;--ink:#172d25;--muted:#54645a;--green:#154c3c;--lime:#d4ef8c;--line:#d9dfd2;--soft:#e9eddf;--clay:#a14d2b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:var(--green);text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 19px;background:var(--green);border:1px solid var(--green);border-radius:5px;color:white;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#22644e}button.secondary,.button.secondary{color:var(--green);background:transparent;border-color:#aab9a7}button:disabled{opacity:.55;cursor:not-allowed}.quiet{font-size:13px}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;letter-spacing:-.5px;font-size:18px}.logo{display:grid;place-items:center;background:var(--green);color:var(--lime);border-radius:50%;width:33px;height:33px;font-size:22px}.pill{display:inline-block;font:600 10px/1.6 Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;background:var(--soft);color:var(--green);padding:4px 9px;border-radius:20px}.shell{max-width:1500px;margin:auto;display:grid;grid-template-columns:244px minmax(0,1fr);min-height:calc(100vh - 140px)}.sidebar{padding:36px 22px;border-right:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 18px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:9px 12px;text-decoration:none;font-size:13px;border-radius:5px}.sidebar nav a span{color:#687c6d;font-size:11px}.sidebar nav a[aria-current=page]{background:var(--green);color:white}.sidebar nav a[aria-current=page] span{color:var(--lime)}.side-note{margin:45px 12px 25px;border-top:1px solid var(--line);padding-top:25px}.side-note p{font:22px/1.3 Georgia,serif}.small,small{font-size:12px;color:var(--muted)}.side-bottom{display:grid;gap:12px;margin:25px 12px;font-size:12px}.side-bottom a{text-decoration:none}main{padding:44px 44px 70px;min-width:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:48px;line-height:1.08;letter-spacing:-1.7px;margin:0 0 20px}h2{font-size:29px;line-height:1.15;letter-spacing:-.5px;margin:0 0 14px}h3{font-size:23px;line-height:1.25;margin:0 0 12px}p{margin:0 0 16px}.lead{color:var(--muted);max-width:640px;font-size:17px}.hero-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:center;min-height:300px}.hero-panel img{width:100%;height:auto;border-radius:4px;mix-blend-mode:multiply}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:36px 0 17px}.section-title h2{margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:25px}.card p{color:var(--muted);font-size:14px}.card .eyebrow{margin-bottom:16px}.card a{font-weight:700;font-size:13px}.card .card-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px}.card .card-meta span{font-size:11px;color:var(--muted)}.status-strip{display:flex;gap:25px;align-items:center;justify-content:space-between;background:var(--soft);border:1px solid #d5ddca;padding:19px 22px;border-radius:6px;margin-top:20px}.status-strip p{margin:0}.progress-wrap{min-width:140px}.progress-wrap progress{width:100%;height:7px;accent-color:var(--green)}.onboard{background:var(--green);color:white;padding:24px;border-radius:8px;margin:25px 0}.onboard p{color:#ddebdc;font-size:14px}.onboard .eyebrow{color:var(--lime)}.onboard .button{background:var(--lime);color:var(--green);border-color:var(--lime)}.onboard .secondary{color:white;background:transparent;border-color:#94b4a2}.reading{max-width:760px}.reading p{line-height:1.8}.reading h2{margin-top:33px}.reading ol,.reading ul{padding-left:24px}.reading li{margin-bottom:11px}.callout{padding:20px 23px;background:var(--soft);border-left:3px solid var(--green);margin:23px 0;border-radius:0 6px 6px 0}.callout p:last-child{margin-bottom:0}.example{background:#fff2e4;border:1px solid #e4cbb1;padding:23px;border-radius:6px;margin:25px 0}.example .eyebrow{color:#864424}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.timeline div{border-top:2px solid #a9b99c;padding-top:10px;font-size:13px}.timeline strong{display:block;color:var(--green)}fieldset{border:0;padding:0;margin:0 0 26px;min-width:0}legend{font-weight:700;font-size:16px;margin:0 0 12px}.option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:5px;padding:13px 15px;margin:8px 0;cursor:pointer;background:var(--paper)}.option:has(input:checked){background:var(--soft);border-color:var(--green)}.option input{margin-top:6px;accent-color:var(--green)}.feedback{padding:12px 15px;border-left:3px solid var(--green);background:var(--soft);margin:10px 0;font-size:14px}.feedback.wrong{background:#fff2e4;border-color:var(--clay)}.field{margin:18px 0}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;padding:12px 13px;border:1px solid #afbcac;border-radius:4px;background:var(--paper);color:var(--ink);min-height:46px}textarea{min-height:110px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:19px 0}.check input{margin-top:5px;accent-color:var(--green)}.empty{border:1px dashed #a9b99c;padding:35px;border-radius:7px;text-align:center;margin-top:25px}.journal-entry{margin-top:17px}.journal-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.journal-entry header{display:flex;justify-content:space-between;gap:20px;align-items:start}.journal-entry h3{overflow-wrap:anywhere}.journal-entry button{min-width:70px}.source-label{font-size:11px;color:var(--clay);font-weight:700;margin-bottom:13px}.glossary-item{border-top:1px solid var(--line);padding:20px 0}.glossary-item h2{font-size:23px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;max-width:90vw;padding:13px 20px;border-radius:5px;box-shadow:0 5px 25px #0002;z-index:10;font-size:14px}.app-footer{padding:18px 35px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;gap:20px;flex-wrap:wrap}.skip{position:absolute;left:15px;top:-100px;background:white;padding:15px;z-index:20}.skip:focus{top:8px}:focus-visible{outline:3px solid #aa4f29;outline-offset:4px}[hidden]{display:none!important}.receipt{overflow-wrap:anywhere;padding:16px;background:var(--soft);border:1px solid var(--line)}.trap{display:none}.divider{height:1px;background:var(--line);margin:28px 0}.notice-box{font-size:13px;border:1px solid #ddc3a7;background:#fff4e5;padding:14px 18px;border-radius:5px;margin:20px 0}.inline-links{display:flex;flex-wrap:wrap;gap:16px;font-size:13px}.founder-list{padding-left:20px}.founder-list li{margin:12px 0}.form-status{margin:15px 0;min-height:24px}.onboard small{color:#ddebdc}.storage-label{display:block;margin:8px 0;font-size:12px;color:var(--muted)}
@media(min-width:1600px){main{padding:55px 70px}.hero-panel{gap:45px}}@media(max-width:950px){.shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:28px 12px}main{padding:33px 25px}.hero-panel{grid-template-columns:1fr}.hero-panel img{max-height:230px;object-fit:cover;object-position:center}.brand .pill{display:none}h1{font-size:41px}}@media(max-width:650px){.topbar{height:67px;padding:0 17px}.brand{font-size:16px}.quiet{font-size:12px}.shell{display:block}.sidebar{padding:12px 15px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.eyebrow,.side-note{display:none}.sidebar nav{display:flex;gap:7px;overflow-x:auto;padding:3px 1px 7px}.sidebar nav a{white-space:nowrap;padding:9px 13px;font-size:12px}.sidebar nav a span{display:none}.side-bottom{display:flex;gap:18px;margin:8px 0 0;flex-wrap:wrap;font-size:11px}main{padding:29px 20px 50px}h1{font-size:38px}.hero-panel{min-height:0;gap:0}.hero-panel img{max-height:180px}.grid{grid-template-columns:1fr}.status-strip{align-items:flex-start;gap:12px;flex-direction:column}.progress-wrap{width:100%}.section-title{gap:10px;align-items:start}.section-title h2{font-size:26px}.card{padding:21px}.timeline{gap:8px}.app-footer{padding:20px}.onboard{padding:21px}.journal-entry header{flex-direction:column;gap:3px}.reading h2{font-size:27px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.sidebar,.topbar,.app-footer,.actions,.toast{display:none}.shell{display:block}main{padding:0}.card{break-inside:avoid}}

main:focus{outline:none}

/* Keep controls legible and usable at narrow widths and increased text spacing. */
body{overflow-wrap:break-word}
input:not([type=checkbox]):not([type=radio]),textarea,select{border-color:#687c6d}
.check input,.option input{flex-shrink:0;width:20px;height:20px}
.check{min-height:44px;align-items:flex-start}
.check>span{min-width:0}
.topbar{height:auto;min-height:78px;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}
.side-bottom a,.app-footer a,.topbar>.quiet{display:inline-flex;align-items:center;min-height:44px}
.card a,.section-title>a{display:inline-flex;align-items:center;min-height:44px}
.side-bottom{gap:4px}
.card-meta{flex-wrap:wrap}
.reading a,.small a,.form-status a{overflow-wrap:anywhere}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--paper)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.topbar{min-height:67px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.sidebar nav a{white-space:normal}.side-bottom{gap:4px 18px}.timeline{grid-template-columns:1fr}.section-title{flex-wrap:wrap}.app-footer{gap:4px 20px}}
.sidebar nav a span{color:var(--muted)}
