:root{color:#243e39;font-synthesis:none;--green:#174e47;--muted:#626e69;--border:#dce2d9;--cream:#f6f5f0;background:#f6f5f0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--green);text-underline-offset:4px}h1,h2,h3,h4,p{margin:0 0 1rem}h1,h2,h3{letter-spacing:-.035em;line-height:1.22}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.3rem,4.3vw,3.5rem);font-weight:400}h2{font-size:1.5rem;font-weight:550}h3{font-size:1.12rem;font-weight:600}h4{text-transform:capitalize}p{color:#4d605a}button{border:0;border-radius:9px;min-height:44px;padding:.7rem 1.05rem;font-weight:600;transition:background .15s}button:hover{filter:brightness(.96)}:focus-visible{outline-offset:3px;outline:3px solid #bd7032}button.primary{background:var(--green);color:#fff}button.secondary{color:var(--green);background:#f0f3ed;border:1px solid #cfdcd2}button.danger{color:#973c29;background:#fff0eb;border:1px solid #debdb0}.text-button{color:var(--green);text-underline-offset:4px;background:0 0;padding:.45rem .2rem;text-decoration:underline}button.full{width:100%}.small,small{font-size:.8rem}.muted{color:var(--muted)}.eyebrow{letter-spacing:.16em;color:#506c5f;text-transform:uppercase;margin-bottom:1rem;font-size:.67rem;font-weight:750;display:block}.topbar{border-bottom:1px solid var(--border);background:#fbfcf8;justify-content:space-between;align-items:center;height:100px;padding:0 4%;display:flex}.brand{color:var(--green);letter-spacing:-.04em;align-items:center;gap:13px;font-size:1.35rem;line-height:1.1;text-decoration:none;display:flex}.brand img{width:45px;height:45px}.brand b{font-weight:750}.brand small{letter-spacing:.17em;margin-top:.65rem;font-size:.52rem;font-weight:600;display:block}.user-menu{align-items:center;gap:12px;font-size:.85rem;display:flex}.avatar{background:#e3e9dd;border:1px solid #cbd8c6;border-radius:100%;place-items:center;width:35px;height:35px;font-weight:650;display:grid}.layout{grid-template-columns:235px minmax(0,1fr);max-width:1500px;margin:auto;display:grid}aside{border-right:1px solid var(--border);min-height:calc(100vh - 100px);padding:3.2rem 1.7rem}.nav-label{letter-spacing:.12em;color:#556559;margin-bottom:1.6rem;font-size:.6rem;font-weight:700}nav{flex-direction:column;gap:6px;display:flex}nav a{color:#667169;border-radius:8px;align-items:center;gap:15px;padding:.8rem .9rem;font-size:.9rem;font-weight:550;text-decoration:none;display:flex}nav a span{font-size:1.35rem;line-height:1}nav a.active{color:var(--green);background:#e5ecdf}.sidebar-note{border-top:1px solid var(--border);color:#6c7e65;margin:5rem .7rem 0;padding-top:2rem}.sidebar-note>span{font-size:2rem}.sidebar-note p{color:#58664f;font-size:.85rem;line-height:1.8}main{min-width:0;max-width:1100px;padding:3rem clamp(1.2rem,4vw,4rem)}.page-heading{margin:.5rem 0 2.2rem}.page-heading p{font-size:.95rem}.page-heading h1{margin-bottom:.8rem}.card{border:1px solid var(--border);background:#fffefa;border-radius:14px;margin-bottom:1.2rem;padding:1.8rem;box-shadow:0 3px 8px #234a3410}.hero{background:#eaf0e3;border-color:#d6e0cc;justify-content:space-between;gap:1.8rem;padding:2.4rem;display:flex;overflow:hidden}.hero h2{margin:1.1rem 0 .9rem;font-family:Georgia,serif;font-size:2.6rem;font-weight:400}.hero p{max-width:510px}.pill{letter-spacing:.05em;background:#f8faf3;border:1px solid #cbd7c3;border-radius:30px;padding:.35rem .75rem;font-size:.65rem;font-weight:700;display:inline-block}.meta{color:#607055;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;font-size:.72rem;display:flex}.hero-art{background:radial-gradient(circle,#f5f8ec 40%,#d7e3c9 100%);border:1px solid #aebb9d;border-radius:50%;flex-direction:column;justify-content:center;align-self:center;align-items:center;width:150px;min-width:150px;height:150px;display:flex;position:relative;transform:rotate(-8deg)}.hero-art:before{content:"";border:1px dashed #aabf96;border-radius:50%;position:absolute;inset:8px}.hero-art span{color:#355938;font-family:Georgia,serif;font-size:3rem;line-height:1.3}.hero-art i{text-transform:uppercase;text-align:center;letter-spacing:.14em;font-size:.52rem;font-style:normal}.section-row{justify-content:space-between;align-items:center;gap:1rem;margin:2rem 0 1rem;display:flex}.section-row h2{margin:0}.refresher{border-left:3px solid #8b9b69}.point+.point{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.4rem}.preserve{white-space:pre-wrap}.context{grid-template-columns:100px minmax(0,1fr);gap:.2rem .8rem;margin:1rem 0;font-size:.75rem;display:grid}.context dt{color:#64746a;text-transform:capitalize}.context dd{overflow-wrap:anywhere;margin:0}.evidence{border-top:1px solid var(--border);color:#5c6c60;margin-top:1rem;padding-top:.7rem;font-size:.8rem}.evidence summary{font-weight:600}.evidence>div{padding:1rem 0}.evidence p{margin:.6rem 0}summary{cursor:pointer;align-content:center;min-height:36px;font-weight:600}blockquote{white-space:pre-wrap;border-left:3px solid #b7c7ab;margin:1rem 0;padding-left:1rem;font-size:.85rem}.section-detail{padding:1.2rem 1.6rem}.section-detail summary span{float:right;color:#677263;font-size:.75rem;font-weight:400}.section-detail[open] summary{margin-bottom:1.3rem}.quiz .eyebrow{color:#6d785c}.quiz h3{font-size:1.18rem}.quiz fieldset{border:0;padding:0}.option{cursor:pointer;background:#fffefa;border:1px solid #dce2d7;border-radius:8px;align-items:center;gap:12px;min-height:50px;margin-bottom:.65rem;padding:.75rem 1rem;display:flex;font-weight:400!important}.option.selected{background:#eef2e7;border-color:#a7b699}.option.correct{background:#e8f2e6;border-color:#7b9e83}.option>span:last-child:not(:nth-child(2)){margin-left:auto}.option input{width:17px;height:17px;accent-color:var(--green);flex:none;margin:0}.quiz button.primary{margin-top:.7rem}.answer{background:#edf3e8;border-radius:8px;margin-top:1rem;padding:1.2rem}.answer.revisit{background:#f7f0df}.answer p{margin-top:.5rem}.artefacts{grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0;display:grid}.artefacts section{background:#f3f3ed;border:1px dashed #bac6b7;padding:1rem;font-size:.8rem}.reflect{margin:1.8rem 0}.button-row{flex-wrap:wrap;gap:.7rem;display:flex}.reflect h3{margin-bottom:.4rem}.two-col{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.mini-cards{margin-top:2rem}.mini-cards>a{text-decoration:none}.mini-cards h3 span{float:right}.mini-cards p{margin-bottom:0;font-size:.85rem}.notice{white-space:pre-line;overflow-wrap:anywhere;background:#edf2e9;border:1px solid #cedcc5;border-radius:9px;margin-bottom:1.2rem;padding:1rem 1.2rem;font-size:.85rem}.notice.error{color:#923d2a;background:#fff0eb;border-color:#ddb7ac}.notice.warning{color:#75541c;background:#fbf1db;border-color:#ddcea6}.notice.dev{color:#51547a;background:#eff0f8;border-color:#d6d9e9}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:3.5rem 2rem;display:flex}.empty p{max-width:490px;font-size:.95rem}.empty-icon{color:#7a9065;margin-bottom:1.5rem;font-size:3.4rem;line-height:1}.empty h2{font-family:Georgia,serif;font-size:1.9rem;font-weight:400}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.3rem;margin-bottom:1.5rem;display:flex}.tabs button{color:#647469;text-transform:capitalize;background:0 0;border-bottom:3px solid #0000;border-radius:0;font-size:.85rem;font-weight:500}.tabs button.active{border-color:var(--green);color:var(--green);font-weight:650}.search{margin-bottom:1.5rem}input,select,textarea{color:#263e35;background:#fffefa;border:1px solid #c7d2c5;border-radius:7px;width:100%;min-height:44px;padding:.7rem .8rem}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;accent-color:var(--green);flex-shrink:0}label{margin-bottom:1.1rem;font-size:.82rem;font-weight:600;display:block}label>input,label>select,label>textarea{margin-top:.45rem;display:block}textarea{resize:vertical;line-height:1.5}.check{align-items:center;gap:.65rem;font-weight:400;display:flex}.check input{margin:0}.search input{padding:1rem 1.2rem}.lesson-grid{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.lesson-tile{flex-direction:column;margin-bottom:0;text-decoration:none;transition:transform .15s;display:flex}.lesson-tile:hover{transform:translateY(-3px)}.lesson-tile h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:400}.lesson-tile p{font-size:.85rem}.tile-bottom{border-top:1px solid var(--border);justify-content:space-between;margin-top:auto;padding-top:1rem;font-size:.75rem;display:flex}.back-link{margin-bottom:1.5rem;font-size:.85rem;display:block}.stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stats strong{margin-bottom:.7rem;font-family:Georgia,serif;font-size:2.8rem;font-weight:400;line-height:1.2;display:block}.stats span{font-size:.78rem}.topic{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.topic:last-child{border:0}.topic p{margin-bottom:0;font-size:.8rem}.topic h3{margin-bottom:.5rem}.days{flex-wrap:wrap;gap:.5rem;display:flex}.days label{border:1px solid var(--border);background:#f4f5ef;border-radius:8px;align-items:center;gap:.5rem;padding:.65rem;font-weight:400;display:flex}.days label.selected{background:#e6eedd}.days input{margin:0}fieldset{border:0;margin:0 0 1rem;padding:0}legend{margin-bottom:.6rem;font-size:.83rem;font-weight:600}footer{color:#58664f;border-top:1px solid var(--border);margin-top:3.5rem;padding:1.3rem 0;font-size:.68rem;line-height:1.9}footer a{color:inherit}.login{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-story{background:#e9efdf;flex-direction:column;justify-content:space-between;min-height:100vh;padding:3.5rem 12%;display:flex}.login-story>div{margin:3rem 0}.login-story h1{font-size:clamp(2.8rem,4vw,4.4rem)}.login-story p{font-size:.95rem}.login-story small{color:#67755a}.login-form{align-self:center;width:100%;max-width:520px;margin:auto;padding:3rem}.login-form h2{font-family:Georgia,serif;font-size:2.6rem;font-weight:400}.login-form form{margin:2rem 0}.orb{background:radial-gradient(circle at 30% 20%,#f7f9ed,#c4d3ad);border:1px solid #b4c59c;border-radius:50%;place-items:center;width:170px;height:170px;margin-top:3rem;display:grid;transform:rotate(-10deg)}.orb span{text-align:center;color:#526d3f;font-family:Georgia,serif;font-size:1.5rem;line-height:1.4}.loading{color:#687b63;padding:4rem}.revision-row{text-align:left;justify-content:space-between;align-items:center;width:100%;font-weight:400;display:flex}.revision-row strong{font-size:1rem}.revision-row p{margin:.5rem 0 0;font-size:.75rem}.status{text-transform:capitalize;white-space:nowrap;background:#e8eae4;border-radius:20px;padding:.4rem .7rem;font-size:.7rem}.status.published{background:#dfedd9}.status.withdrawn{background:#f4e0d9}.status.awaiting-review{background:#f7eccd}.editor-item{border-top:1px solid var(--border);margin-top:1.3rem;padding-top:1.3rem}.context-editor{margin:1.3rem 0;font-size:.8rem}.context-editor[open] summary{margin-bottom:1rem}.option-editor{grid-template-columns:1fr 100px;align-items:center;gap:1rem;display:grid}.sticky-actions{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f6f5f0ef;align-items:center;gap:1rem;padding:1rem 0;display:flex;position:sticky;bottom:0}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f2eb;border-radius:6px;max-height:500px;padding:1rem;font-size:.72rem;overflow:auto}.compare{font-size:.75rem}.wrap,code{overflow-wrap:anywhere}.withdraw{margin-top:1.5rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.7rem}td,th{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.7rem}td:first-child{min-width:140px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:#fff;padding:1rem;position:fixed;top:-100px;left:1rem}.skip:focus{top:1rem}@media (width<=1000px){.layout{grid-template-columns:190px minmax(0,1fr)}aside{padding:2.5rem 1rem}main{padding:2.5rem 1.5rem}.hero{padding:1.7rem}.hero-art{width:115px;min-width:115px;height:115px}.hero h2{font-size:2.1rem}.hero-art span{font-size:2.4rem}.artefacts{grid-template-columns:1fr}}@media (width<=700px){.topbar{height:80px;padding:0 1.2rem}.brand{font-size:1.15rem}.brand img{width:38px;height:38px}.brand small{font-size:.43rem}.user-menu{gap:.5rem}.user-menu>span:not(.avatar){display:none}.user-menu .text-button{font-size:.72rem}.avatar{width:30px;height:30px}.layout{display:block}aside{border-right:0;min-height:0;padding:0}.nav-label,.sidebar-note{display:none}nav{border-bottom:1px solid var(--border);background:#fbfcf8;flex-direction:row;gap:.2rem;padding:.4rem .6rem;overflow-x:auto}nav a{white-space:nowrap;flex-direction:column;gap:.2rem;min-width:65px;padding:.5rem .8rem;font-size:.63rem}nav a span{font-size:1.15rem}main{padding:1.8rem 1.1rem}.page-heading{margin-bottom:1.6rem}.page-heading h1{font-size:2.35rem}.page-heading p{font-size:.85rem}.hero{padding:1.5rem}.hero h2{font-size:2rem}.hero-art{display:none}.hero p{font-size:.9rem}.meta{gap:.7rem;font-size:.67rem}.section-row{flex-wrap:wrap;align-items:flex-start}.section-row h2{font-size:1.3rem}.section-row .small{font-size:.72rem}.card{padding:1.3rem}.two-col,.lesson-grid{grid-template-columns:1fr}.two-col.mini-cards{gap:0}.stats{gap:.5rem}.stats .card{padding:1rem .75rem}.stats strong{font-size:2.2rem}.stats span{font-size:.67rem;line-height:1.2}.topic{align-items:flex-start}.topic .pill{display:none}.reflect .button-row{gap:.5rem}.reflect button{padding:.65rem .8rem;font-size:.78rem}.login{display:block}.login-story{min-height:0;padding:1.6rem}.login-story>div,.login-story>small{display:none}.login-form{padding:2.5rem 1.6rem}.login-form h2{font-size:2.5rem}.section-detail summary span{font-size:.65rem}.context{grid-template-columns:80px 1fr}.notice{font-size:.78rem}.revision-row{align-items:flex-start;gap:.6rem}.tabs button{padding:.6rem .7rem}.sticky-actions{flex-wrap:wrap}.days{gap:.35rem}.days label{padding:.5rem;font-size:.73rem}.permission code{font-size:.65rem}.compare{grid-template-columns:1fr}.empty{padding:2.5rem 1.2rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
