@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17303a;--muted:#62767c;--teal:#196e65;--mint:#d9eee5;--line:#dce4df;--paper:#f5f6f1;--nav:#112c38;--gold:#e1bc6e;--red:#9c3b42}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'DM Sans',system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:10px 16px;font-weight:600}button:hover{border-color:var(--teal);background:#eef6f1}button:disabled{cursor:default;opacity:.55}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.dark{background:var(--nav);color:white;border-color:var(--nav)}button.selected{background:var(--mint);border-color:var(--teal)}a{color:var(--teal)}:focus-visible{outline:3px solid #ddad4c;outline-offset:3px}h1,h2,h3,h4{font-family:Manrope,system-ui,sans-serif;line-height:1.25;letter-spacing:-.035em}h1{font-size:clamp(28px,3.1vw,43px);margin:10px 0 18px;font-weight:800}h2{font-size:24px;margin:0 0 16px}h3{font-size:18px;margin:0 0 12px}p{margin:0 0 16px}.muted,.small{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;z-index:20;background:white;padding:15px}.skip:focus{top:0}#sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--nav);color:#eaf3f0;padding:28px 23px;overflow:auto}.brand{text-decoration:none;color:white;font-size:16px;letter-spacing:.07em;white-space:nowrap}.brand span{display:inline-grid;place-items:center;background:#a9d9c6;border-radius:9px;color:var(--nav);width:33px;height:33px;margin-right:7px;font-size:23px}.brand b{color:#a9d9c6}#sidebar .eyebrow{color:#99b3b9;margin:35px 0 12px}label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}select,input[type=search],input[type=text],input[type=number],textarea{border:1px solid var(--line);border-radius:8px;padding:11px 12px;color:var(--ink);background:white;max-width:100%}select{width:100%}#sidebar select{background:#203d48;border-color:#38545e;color:white;font-size:12px}nav{display:grid;gap:3px;margin:23px 0}nav button{text-align:left;background:transparent;border:0;color:#c2d1d5;padding:9px 12px;font-size:13px;font-weight:500}nav button.active{background:#2b4b52;color:#b9ead4}nav .navlabel{font-size:9px;color:#8da9b0;letter-spacing:.15em;padding:14px 12px 3px}.archive{font-size:12px;color:#b9d4cf}.savebox{border-top:1px solid #38515a;margin-top:24px;padding-top:18px;font-size:11px;color:#aac0c4}.savebox p{font-size:10px;line-height:1.5;margin:8px 0}.dot{display:inline-block;border-radius:50%;width:6px;height:6px;background:#8ddbb9;margin-right:4px}.textbutton{background:transparent;border:0;padding:3px 0;color:inherit;text-decoration:underline;font-size:11px;display:block}.import{cursor:pointer}.import input{display:none}.mainwrap{margin-left:252px}header{height:83px;padding:20px 42px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:var(--muted)}.searchwrap{width:340px}#search{width:100%;background:#fff;font-size:12px}main{max-width:1300px;padding:36px 42px 60px;min-height:80vh}footer{padding:20px 42px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}.intro{max-width:740px;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 260px;gap:35px;align-items:center;margin-bottom:30px}.heroaside{border-radius:14px;background:var(--nav);padding:26px;color:white}.heroaside h3{color:#b4e0cd}.heroaside p{font-size:13px;color:#b7cccf}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.tile{background:white;border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:18px}.tile{margin:0}.tile p{font-size:13px}.tile .index{font-size:11px;color:var(--teal);font-weight:700;letter-spacing:.1em;margin-bottom:17px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 30px}.stat{background:white;border:1px solid var(--line);padding:19px;border-radius:10px}.stat strong{display:block;font:700 28px Manrope,system-ui}.stat span{font-size:11px;color:var(--muted)}.sectionrow{margin:30px 0 16px}.pill{display:inline-block;border-radius:30px;background:#e9efe9;color:#476c60;padding:4px 10px;font-size:10px;font-weight:700;letter-spacing:.035em}.pill.gold{background:#f8ecd1;color:#806326}.progress{height:5px;background:#e6ede7;border-radius:5px;overflow:hidden;margin:14px 0}.progress i{display:block;height:100%;background:var(--teal)}.filters{display:flex;gap:13px;flex-wrap:wrap;margin:20px 0}.filters>div{min-width:150px;flex:1}.filters select{font-size:13px}.cardface{padding:42px;min-height:300px;display:flex;flex-direction:column;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:14px}.cardface h2{font-size:28px;line-height:1.5}.cardface .eyebrow{color:var(--teal)}.feedback{padding:23px;border:1px solid #a5c6b5;border-left:4px solid var(--teal);background:#eef7f0;border-radius:8px;margin:22px 0}.feedback.wrong{background:#fbf4ea;border-color:#dfbf81}.feedback p:last-child{margin-bottom:0}.choices{display:grid;gap:10px;margin:24px 0}.choice{display:flex;align-items:flex-start;text-align:left;gap:15px;padding:17px 18px;font-weight:500}.letter{width:28px;min-width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;font-size:12px}.choice.selected .letter{background:var(--teal);color:white}.confidence{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:16px 0}.confidence span{font-size:12px;margin-right:8px}.confidence button{font-size:11px;padding:6px 10px}.questiontitle{font-size:22px;line-height:1.5;letter-spacing:-.02em;margin-top:18px}.explanation{border-top:1px solid var(--line);padding:12px 0;font-size:13px}.explanation b{display:block}.correct{color:var(--teal)}.incorrect{color:var(--red)}details{margin:12px 0}summary{cursor:pointer;font-weight:700}.termgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.term{padding:19px;border:1px solid var(--line);border-radius:10px}.term p{font-size:13px}.term dl{font-size:12px}.term dt{font-weight:700;margin-top:8px}.term dd{margin:0;color:var(--muted)}.note{background:#f5efdE;border-left:3px solid #cfb26d;padding:16px;font-size:13px;margin:18px 0}.toolbar{margin:20px 0}.diagram{position:relative;width:100%;aspect-ratio:600/420;background:#fafcfb;border:1px solid var(--line);border-radius:10px;overflow:hidden}.diagram svg{width:100%;height:100%}.hotspot{position:absolute;transform:translate(-50%,-50%);padding:0;width:27px;height:27px;border-radius:50%;border:2px solid white;background:var(--nav);color:white;font-size:11px;box-shadow:0 0 0 1px #3c5e69}.hotspot.assigned{background:var(--teal)}.hotspot.highlight{box-shadow:0 0 0 5px #e4bc61}.labgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:20px}.bank{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.bank button{font-size:12px;padding:8px 11px}.bank button.used{opacity:.5}.target{border:1px dashed #97b1a7;background:#f6faf7;padding:13px;min-height:66px;border-radius:8px;margin:8px 0;font-size:13px}.target.selected{border:2px solid var(--teal)}.target strong{display:block;font-size:11px;color:var(--teal)}.target button{margin:3px;font-size:12px}.mapping{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sequence .target{display:flex;align-items:center;gap:15px}.sequence .target strong{font-size:18px}.atlasimg{width:100%;height:360px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}.micrograph{width:min(100%,410px);aspect-ratio:1/1;overflow:hidden;position:relative;margin:22px auto;border:1px solid var(--line);border-radius:8px;background:#eee}.micrograph img{position:absolute;width:447%;height:auto;left:-329%;top:-27%}.rubric label{font-size:14px;display:flex;gap:10px;font-weight:400}.rubric input{accent-color:var(--teal)}textarea{width:100%;min-height:140px;resize:vertical}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;color:var(--muted)}.empty{padding:40px;text-align:center;color:var(--muted)}.linkbutton{border:0;background:transparent;padding:0;color:var(--teal);text-align:left}.questionnav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.questionnav button{padding:4px 10px;font-size:11px}.timer{font-variant-numeric:tabular-nums;color:var(--red);font-weight:700}#toast{position:fixed;bottom:20px;right:20px;background:var(--nav);color:white;border-radius:8px;padding:12px 18px;display:none;max-width:340px;z-index:10}.saveerror{color:#f2c190} @media(max-width:1100px){#sidebar{width:215px;padding:24px 17px}.mainwrap{margin-left:215px}main{padding:28px 25px}header,footer{padding-left:25px;padding-right:25px}.grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr 220px;gap:20px}.labgrid{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:13px}}@media(max-width:760px){#sidebar{position:static;width:auto;padding:18px}.mainwrap{margin:0}#sidebar .eyebrow,#sidebar .savebox{display:none}#sidebar label{margin-top:15px}nav{display:flex;overflow:auto;margin:14px 0 8px}nav button{white-space:nowrap}nav .navlabel{display:none}.archive{font-size:11px}header{height:auto;flex-wrap:wrap;padding:15px 20px}.searchwrap{width:100%}main{padding:26px 20px}.hero{grid-template-columns:1fr}.heroaside{display:none}.stats{grid-template-columns:repeat(2,1fr)}.grid,.grid.two,.termgrid{grid-template-columns:1fr}.cardface{padding:25px}.mapping{grid-template-columns:1fr}.panel{padding:20px}.hotspot{width:24px;height:24px;font-size:10px}footer{padding:20px}.questiontitle{font-size:19px}.atlasimg{height:280px}}@media print{#sidebar,header,footer,button,.filters{display:none!important}.mainwrap{margin:0}main{padding:0}.panel,.term{break-inside:avoid}body{background:white}.grid,.termgrid{display:block}}
@media(max-width:760px){#sidebar .savebox{display:block;border:0;margin:8px 0 0;padding:0}#sidebar .savebox p{display:none}#sidebar .savebox .textbutton{display:inline-block;margin:0 8px;font-size:10px}.savebox>span{font-size:10px}}
/* Readable, source-linked learning cards. */
body{font-size:16px}.term p,.tile p,.realexample p,.analogy p{font-size:15px}label,nav button,.filters select{font-size:14px}.small,.textbutton{font-size:13px}.eyebrow,.pill,.navlabel{font-size:12px}.sourcetrail{margin:12px 0 22px;font-size:14px}.sourcetrail .small{margin:8px 0;color:var(--muted)}.plainanswer{font-size:21px;line-height:1.6;color:#183f55;max-width:780px}.understand{margin-top:20px}.understand h4{font-size:15px;margin:0 0 10px}.analogy,.realexample{border-radius:12px;padding:22px;margin-bottom:18px}.analogy{background:#e8f1fa;border:1px solid #cadced}.realexample{background:#f2edf9;border:1px solid #ded2ee}.understand .grid{align-items:start}.understand details{background:white;padding:14px;border:1px solid var(--line);border-radius:9px}.understand figure{margin:15px 0}.understand figcaption{font-size:13px;color:var(--muted)}.cardface{box-shadow:0 12px 40px #17303a0b}.cardface>.feedback{border-left:0;background:#fafcfe;padding:26px}.cardface h2{font-size:32px}.term .understand .grid{grid-template-columns:1fr}.focus-study{position:fixed;inset:0;max-width:none;overflow:auto;z-index:5;background:var(--paper);padding:30px max(24px,calc((100vw - 1000px)/2))}.focus-study .cardface{min-height:360px}@media(max-width:760px){.plainanswer{font-size:18px}.cardface h2{font-size:25px}.sourcetrail{font-size:14px}.focus-study{padding:20px}.understand .grid{grid-template-columns:1fr}}
.figurecontrols{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0}.figurecontrols button{padding:6px 12px;font-size:13px}.figureviewport{overflow:auto;max-height:700px;border:1px solid var(--line);border-radius:10px;background:white}.realfigure{border:0;border-radius:0;max-width:none;background:white}.captioncover{position:absolute;display:block;background:white;z-index:1}.realfigure .hotspot{z-index:2;width:25px;height:25px;font-size:11px;background:#12364f;border-color:white;box-shadow:0 0 0 1px #12364f}.realfigure .hotspot.highlight{background:#8c5000;box-shadow:0 0 0 5px #f5be43b0}.realfigure .hotspot.assigned{background:#16664e}.figurecredit{font-size:12px;color:var(--muted);margin:10px 0 20px}.tissuecrop{position:relative;overflow:hidden;width:100%;max-height:none;background:white;border-radius:10px}.tissuecrop img{position:absolute;max-width:none}.understand .plainanswer{margin-bottom:24px}.understand details summary{font-size:15px}.understand details p{margin-top:14px}.understand details .analogy,.understand details .realexample{margin:12px 0 0}.labgrid .atlasimg{height:auto;max-height:600px}.cardface>.feedback{padding:20px}.realfigure .hotspot:hover{background:#245775}
/* Three primary workspaces and source-first reading. */
#navigation{display:grid;gap:9px;margin:24px 0}#navigation button{font-size:1.1rem;padding:15px 18px;border-radius:12px}.studytools{display:grid;grid-template-columns:2fr 1.3fr 1fr;gap:14px;background:#fff;padding:20px;border:1px solid #d9e4e3;border-radius:16px}.studytools select,.studytools input{width:100%}.slidecard{scroll-margin-top:30px;margin-top:22px;border-left:4px solid #508b83}.slidecard h2{margin-top:16px}.sourcebadge{font-size:.82rem;line-height:1.6;color:#4c686a;background:#edf5f3;padding:9px 12px;border-radius:8px}.slidetext p{max-width:78ch;line-height:1.8}.slidecard details{padding:12px 0;border-bottom:1px solid #e7eeed}.slidecard figure{max-width:700px;margin:20px auto}.slidecard label{font-size:.8rem}.between{justify-content:space-between}.pdfreader{width:100%;height:75vh;min-height:450px;border:1px solid #ccd9d7}.sourcerow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e3eae9}.buttonlink{display:inline-block;background:#e7f0ed;border-radius:9px;padding:10px 15px;text-decoration:none}.toolbar{flex-wrap:wrap;gap:10px}#topic-guide{scroll-margin-top:30px}.labgrid .textbutton{display:block;text-align:left}.slide-list:empty:after{content:'No slides match this search.';display:block;padding:30px}@media(max-width:800px){.studytools{grid-template-columns:1fr}#navigation{grid-template-columns:repeat(3,1fr);margin:14px 0}.sourcerow{align-items:flex-start;flex-direction:column}.pdfreader{height:65vh}}
/* Minimal slide-first study workspace */
.studybar{display:grid;grid-template-columns:2fr 1fr;gap:14px;background:#fff;border:1px solid #d9e4e3;border-radius:16px;padding:16px;margin-top:18px}.studybar select{width:100%}.slideactions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px 0}.slideviewer{display:block;width:100%;height:min(76vh,900px);min-height:560px;background:#17282c;border:1px solid #bdcfcc;border-radius:16px;box-shadow:0 16px 38px rgba(17,44,56,.13)}.studyhelpers{display:grid;gap:10px;margin-top:16px}.studyhelpers>.panel{margin:0;padding:16px 20px}.studyhelpers summary{font-weight:750;cursor:pointer}.reviewcheck{background:#fff;padding:9px 12px;border:1px solid #cad9d6;border-radius:9px}.practicelead{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:end;gap:18px}.practicelead select{width:100%}.practicelead>div:not(:first-child){display:flex;flex-direction:column}.metric{font-size:2rem;font-weight:800;color:#176a66}.labmethods{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.labmethods span{background:#edf5f3;padding:9px 12px;border-radius:999px}.exercisegrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exercise-card{display:grid;grid-template-columns:155px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid #d9e4e3;border-radius:16px;overflow:hidden}.exercise-card img{width:155px;height:180px;object-fit:cover;object-position:top}.exercise-card>div{padding:12px 16px 12px 0}.source-tabs{display:flex;gap:8px;overflow:auto;padding:12px 0}.source-tabs button{white-space:nowrap}.source-tabs button.active{background:#176a66;color:white}.utilitylinks{margin-bottom:12px}@media(max-width:800px){.studybar,.practicelead{grid-template-columns:1fr}.slideviewer{min-height:430px;height:62vh}.exercisegrid{grid-template-columns:1fr}.exercise-card{grid-template-columns:110px 1fr}.exercise-card img{width:110px;height:150px}.labmethods{align-items:flex-start;flex-direction:column;gap:8px}}
