:root{color:#17211d;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:20rem;min-height:100vh;margin:0}a{color:#155e46;text-underline-offset:.18em}button,input,textarea{min-height:2.75rem;font:inherit;border-radius:.55rem}button{color:#fff;cursor:pointer;background:#245b47;border:0;padding:.65rem 1rem;font-weight:700}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,a:focus-visible,.table-scroll:focus-visible{outline-offset:.18rem;outline:.2rem solid #e5a72f}.app-shell{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.login-card{background:#fff;border:1px solid #d7e1dc;border-radius:1rem;width:min(100%,32rem);padding:clamp(1.5rem,6vw,3rem);box-shadow:0 1.5rem 4rem #16221d14}.eyebrow{color:#2a6650;letter-spacing:.14em;margin:0 0 .65rem;font-size:.78rem;font-weight:800}h1{margin:0;font-size:clamp(2rem,7vw,3.2rem);line-height:1.08}h2{margin-top:2.25rem}form{gap:1rem;margin-top:2rem;display:grid}label{gap:.4rem;font-weight:650;display:grid}input,textarea{border:1px solid #aebdb6;padding:.65rem .8rem}.muted,small{color:#52615b}.error{color:#a02424}.topbar{background:#fff;border-bottom:1px solid #d7e1dc;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.75rem max(1rem,50vw - 35rem);display:flex}.brand{color:#245b47;letter-spacing:.12em;background:0 0;padding-left:0}.user-controls{align-items:center;gap:.75rem;display:flex}.user-controls span{text-align:right;display:none}.user-controls small{font-size:.7rem;display:block}.secondary-button{color:#245b47;background:#fff;border:1px solid #9eb2a9}.primary-nav{background:#fff;border-bottom:1px solid #d7e1dc;gap:.25rem;padding:.5rem max(1rem,50vw - 35rem);display:flex;overflow-x:auto}.primary-nav button{color:#43544d;background:0 0;flex:none;min-height:2.4rem;padding:.45rem .7rem;font-size:.88rem}.primary-nav button.active{color:#174e3c;background:#e2f0e9}.content-shell{width:min(100%,70rem);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 1rem 5rem}.browse-grid{gap:1rem;margin-top:2rem;display:grid}.browse-card,.lesson-link{color:inherit;background:#fff;border:1px solid #d3ded8;border-radius:.75rem;justify-content:space-between;gap:1rem;padding:1.15rem;text-decoration:none;display:flex}.browse-card{flex-direction:column}.browse-card:hover,.lesson-link:hover{border-color:#579078;box-shadow:0 .4rem 1.5rem #16221d12}.browse-card span,.lesson-link small{color:#52615b}.breadcrumbs{color:#52615b;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem;font-size:.9rem;display:flex}.topic{margin-top:2.5rem}.topic h2{margin-bottom:.85rem}.lesson-list{gap:.75rem;display:grid}.lesson-link{flex-direction:column;align-items:flex-start}.lesson-link>span{gap:.25rem;display:grid}.badges{vertical-align:middle;flex-wrap:wrap;gap:.35rem;display:inline-flex}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.18rem .48rem;font-size:.7rem;font-weight:750;display:inline-block}.badge-classification{color:#174e3c;background:#dcefe7}.badge-importance{color:#714817;background:#f9ead1}.lesson{max-width:52rem}.lesson-header{border-bottom:1px solid #d7e1dc;padding-bottom:1.5rem}.mastery-indicator{background:#edf5f1;border-left:.25rem solid #579078;margin-top:1.5rem;padding:1rem 1.25rem}.mastery-indicator p{color:#52615b;margin:.35rem 0 0}.review-summary{margin:1rem 0 0}.review-list{gap:1rem;margin-top:1.5rem;display:grid}.review-item{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.review-item h2{margin:.55rem 0 0}.review-item p{margin:.35rem 0 0}.review-status{text-transform:uppercase;font-size:.75rem;font-weight:800}.review-status-overdue{color:#a02424}.review-status-due{color:#865b12}.review-status-upcoming{color:#2a6650}.dashboard-grid{gap:1rem;margin-top:1.5rem;display:grid}.dashboard-section{background:#fff;border:1px solid #d3ded8;border-radius:.8rem;padding:1rem}.dashboard-section h2{margin:0 0 1rem;font-size:1.25rem}.dashboard-section .review-list{margin-top:0}.mastery-counts{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.mastery-counts div{background:#edf5f1;border-radius:.55rem;place-items:center;padding:.65rem;display:grid}.mastery-counts strong{font-size:1.35rem}.mastery-counts span{color:#52615b;font-size:.8rem;font-weight:750}.compact-list,.schedule-list,.schedule-manage{gap:.75rem;display:grid}.bookmark-control{margin-top:1rem}.schedule-form{background:#fff;border:1px solid #d3ded8;border-radius:.8rem;max-width:42rem;margin-bottom:2rem;padding:1rem}.schedule-form textarea{resize:vertical;min-height:6rem}.form-actions,.item-actions{flex-wrap:wrap;gap:.5rem;display:flex}.schedule-item{background:#fff;border:1px solid #d3ded8;border-radius:.7rem;gap:.55rem;padding:1rem;display:grid}.schedule-item time{color:#2a6650;font-size:.85rem;font-weight:750}.schedule-item p{margin:.35rem 0 0}.schedule-note{white-space:pre-wrap;overflow-wrap:anywhere;color:#52615b}.schedule-manage>div{border-bottom:1px solid #d7e1dc;padding-bottom:1rem}.item-actions{margin-top:.5rem}.danger-button{color:#8d2222;background:#f7e7e7}.gamification-summary>p{margin:.4rem 0}.gamification-summary>p>strong{font-size:1.5rem}.gamification-card{background:#fff;border:1px solid #d3ded8;border-radius:.8rem;max-width:44rem;margin-top:1.5rem;padding:1.2rem}.gamification-card h2{margin-top:0}.score-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.score-breakdown div{background:#edf5f1;border-radius:.45rem;justify-content:space-between;gap:.5rem;padding:.55rem;display:flex}.score-breakdown dd{margin:0;font-weight:800}.objectives,.lesson-section,.references{background:#fff;border:1px solid #d7e1dc;border-radius:.8rem;margin-top:2rem;padding:1.25rem}.objectives h2,.lesson-section h2,.references h2{margin:0;font-size:1.35rem}.section-heading{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.lesson-section h3{margin-top:1.5rem}.lesson-section p,.lesson-section li{line-height:1.65}.lesson-section code{background:#edf2ef;border-radius:.25rem;padding:.12rem .28rem}.lesson-section pre{color:#eff8f3;background:#18231e;border-radius:.5rem;padding:1rem;overflow-x:auto}.table-scroll{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:34rem}th,td{text-align:left;vertical-align:top;border:1px solid #cbd7d1;padding:.65rem}th{background:#edf3f0}.external-media-note,.privacy-note,.empty{color:#43544d;background:#edf3f0;border-radius:.5rem;padding:.85rem}.recall-callout,.recall-panel,.test-callout,.test-panel{background:#fff;border:1px solid #c7d9d0;border-radius:.8rem;gap:1rem;margin-top:1.5rem;padding:1.25rem;display:grid}.recall-callout p,.recall-panel p{margin:.35rem 0 0}.button-link{color:#fff;background:#245b47;border-radius:.55rem;place-self:center start;padding:.7rem 1rem;font-weight:700;text-decoration:none}.recall-panel textarea{resize:vertical;width:100%;min-height:10rem}.recall-panel button{justify-self:start}.progress{color:#52615b;font-weight:700}.completion h2{margin:0}.test-form,.test-result{gap:1rem;margin-top:1.5rem;display:grid}.test-form fieldset,.review-item{background:#fff;border:1px solid #cbd7d1;border-radius:.7rem;margin:0;padding:1.1rem}.test-form legend{padding:0 .35rem;font-weight:750}.choice{grid-template-columns:auto 1fr;align-items:center;gap:.65rem;margin-top:.7rem;font-weight:500;display:flex}.choice input{flex:none;width:1.2rem;min-height:1.2rem;margin:0}.test-form>button,.test-result>button{justify-self:start}.test-result>h2,.review-item h3{margin:0}.case-preview{background:#f5f9f7;border-left:.25rem solid #79a892;margin-top:1rem;padding:1rem}.case-preview h3{margin:1rem 0 .35rem}.case-preview h3:first-child{margin-top:0}.case-runtime{gap:1.25rem;margin-top:1.5rem;display:grid}.case-runtime>section,.case-response-form,.case-completion{background:#fff;border:1px solid #cbd7d1;border-radius:.8rem;padding:1.2rem}.case-runtime h2,.case-completion h3{margin:0 0 .65rem}.case-runtime h2:not(:first-child){margin-top:1.5rem}.case-response-form{gap:.8rem;display:grid}.case-response-form textarea{resize:vertical;min-height:12rem}.case-response-form button,.case-runtime>button,.case-completion button{justify-self:start}.case-student-response{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf3f0;border-radius:.5rem;padding:.85rem}@media (width>=40rem){.user-controls span{display:block}.browse-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-section.attention{grid-column:1/-1}.lesson-link,.review-item{flex-direction:row;justify-content:space-between;align-items:center}.schedule-item{grid-template-columns:11rem 1fr}}
