
:root{color-scheme:light;--green:#143e35;--ink:#203830;--muted:#51655c;--line:#d7e0d8;--cream:#f7f5ef;--gold:#ead5a1}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:1rem/1.6 system-ui,sans-serif}header{background:var(--green);color:white}header div,main,footer{max-width:48rem;margin:auto;padding:1rem 1.25rem}header div{display:flex;align-items:center;gap:.8rem}header img{width:2.5rem;height:2.5rem}header strong{display:block}header span{display:block;color:var(--gold);font-size:.85rem}main{padding-block:1.5rem}h1,h2{font-family:Georgia,serif;line-height:1.13;margin:.35rem 0 1rem}h1{font-size:clamp(2rem,6vw,3.25rem)}h2{font-size:1.5rem}.eyebrow{color:var(--muted);font-size:.8rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase;margin:0}.card{background:white;border:1px solid var(--line);border-radius:1rem;padding:clamp(1.15rem,5vw,2.5rem);box-shadow:0 10px 24px #143e350a}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}button{font:inherit;font-weight:700;border-radius:.55rem;border:1px solid var(--green);padding:.6rem 1rem;min-height:44px;cursor:pointer;background:var(--green);color:white}.secondary{color:var(--green);background:white}.back{margin-bottom:1rem}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a56900;outline-offset:3px}.verse{background:#eef4ee;border-left:4px solid #45795c;border-radius:.25rem;padding:.8rem 1rem;margin:0 0 .65rem}.verse p{margin:.25rem 0 0}.note,small{color:var(--muted)}fieldset{border:0;padding:0;margin:1.2rem 0 0}legend{font-weight:650;margin-bottom:.4rem}label{display:flex;align-items:center;gap:.65rem;border:1px solid var(--line);border-radius:.55rem;padding:.65rem .8rem;margin:.4rem 0;cursor:pointer}label:has(input:checked){background:#eef4ee;border-color:#45795c}input{width:1.2rem;height:1.2rem;accent-color:var(--green);flex:none}progress{width:100%;height:.55rem;accent-color:var(--green)}.feedback{margin:.9rem 0 0;padding:.8rem 1rem;border-radius:.55rem;background:#eef4ee}.retry{background:#fcf2da}[hidden]{display:none!important}footer{border-top:1px solid var(--line);font-size:.9rem;color:var(--muted);padding-bottom:2rem}footer p{margin:.35rem 0 .8rem}footer strong{color:var(--ink)}details{margin-top:1.4rem}summary{cursor:pointer;font-weight:700}li{padding:.2rem 0}.lead{font-size:1.1rem}h1:focus{outline:none}
.lesson-list{list-style:none;padding:0;margin:1rem 0 0}.lesson-list li{border-top:1px solid var(--line);padding:.45rem 0}.lesson-list button{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;text-align:left}.lesson-list small{white-space:nowrap}.lesson-list span{overflow-wrap:anywhere}.guide details{border-top:1px solid var(--line);padding:.75rem 0;margin:0}.guide li{margin-bottom:.6rem}@media(max-width:380px){.lesson-list button{align-items:flex-start;flex-direction:column;gap:0}}
a{color:var(--green)}nav{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:1rem}nav a{font-weight:650}.card+.card{margin-top:1rem}form label:has(input:not([type=checkbox])),form label:has(textarea),form label:has(select){display:block;padding:0;border:0;margin:1rem 0}input:not([type=checkbox]),textarea,select{display:block;width:100%;font:inherit;color:inherit;height:auto;border:1px solid #81948a;border-radius:.4rem;padding:.5rem}input[readonly]{background:var(--cream)}textarea{min-height:6rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);vertical-align:top}.table{overflow:auto}hr{border:0;border-top:1px solid var(--line)}.inline{display:inline}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.7rem}.metric{background:#eef4ee;padding:.7rem;border-radius:.5rem}.metric strong{display:block;font-size:1.4rem}.linkbtn{display:inline-block;background:var(--green);color:white;border-radius:.55rem;padding:.6rem 1rem;font-weight:700;text-decoration:none}.msg{background:#eef4ee;padding:.7rem;border-radius:.5rem}.msg p{white-space:pre-wrap;overflow-wrap:anywhere}code{overflow-wrap:anywhere}footer{margin-top:1rem}
