:root{--paper:#fff;--surround:#edf3f2;--rail:#e6eeee;--ink:#202c34;--muted:#53666c;--line:#cfdddc;--teal:#155c61;--teal-soft:#d5e6e4;--highlight:#fff0ac;--error:#933326;--body:Georgia,'Iowan Old Style',serif;--ui:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--shadow:0 8px 30px rgba(27,49,51,.16)}
*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:var(--surround);color:var(--ink);font:15px/1.5 var(--ui)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{border:0;border-radius:6px;background:transparent;color:var(--teal);padding:9px 12px;cursor:pointer;min-height:42px;text-align:left}button:hover{background:var(--teal-soft)}button:disabled{opacity:.52;cursor:not-allowed}button.primary{background:var(--teal);color:white;padding:11px 17px}button.primary:hover{background:#0b484d}button.quiet{color:var(--muted)}a{color:var(--teal);text-underline-offset:4px}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #a4b9b9;border-radius:6px;padding:10px 11px;min-width:0}textarea{resize:vertical;min-height:112px;line-height:1.65;caret-color:var(--teal)}input::placeholder,textarea::placeholder{color:#5f7278}label{display:block;font-size:14px;font-weight:600;margin:15px 0 6px}:focus-visible{outline:3px solid #377c87;outline-offset:3px}::selection{background:#d0e8e4}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#b1c7c4;border:2px solid var(--surround);border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:12px;z-index:10;background:white;padding:12px}.skip:focus{top:8px}.topbar{height:68px;display:flex;align-items:center;gap:24px;padding:0 26px;border-bottom:1px solid var(--line);background:var(--surround);position:sticky;top:0;z-index:5}.brand{font-size:27px;letter-spacing:-.035em;font-weight:750;text-decoration:none;color:#134e55}.top-spacer{flex:1}.topbar select{max-width:300px;border:0;background:transparent;font-size:17px}.topbar nav{display:flex;gap:4px;align-items:center}.status{margin:0;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(640px,90vw);z-index:30;background:var(--ink);color:white;border-radius:8px;padding:10px 18px;box-shadow:var(--shadow)}.status:empty{display:none}.status.error{background:#7e322a}#connection{background:#fff0ca;color:#513d14;padding:8px 20px;text-align:center;position:sticky;top:0;z-index:40}.welcome{max-width:780px;margin:70px auto;padding:30px}.welcome h1{font:400 clamp(32px,4vw,45px)/1.2 var(--body);text-wrap:balance}.welcome>p{font:19px/1.65 var(--body);color:var(--muted);max-width:56ch}.welcome form{max-width:430px;margin-top:36px}.welcome h2{font-size:18px;font-weight:550}.welcome button{margin-top:22px}.form-error{color:var(--error)}.workspace{display:grid;grid-template-columns:225px minmax(360px,1fr) 330px;max-width:1800px;margin:0 auto;min-height:calc(100vh - 68px)}.contents{background:var(--rail);padding:23px 18px;position:sticky;top:68px;height:calc(100dvh - 68px);overflow:auto;display:flex;flex-direction:column;border-right:1px solid var(--line)}.rail-heading{display:flex;align-items:center;justify-content:space-between}.rail-heading h2{font-size:16px;margin:0 0 16px}.contents input{background:#f5f9f8;font-size:14px;margin-bottom:18px}.contents nav{display:flex;flex-direction:column;gap:5px}.section-link{display:flex;align-items:baseline;gap:12px;color:var(--muted);border-radius:6px;line-height:1.45;padding:10px;width:100%}.section-link span:first-child{font-size:12px;min-width:17px;font-variant-numeric:tabular-nums}.section-link[aria-current=page]{background:#cadfdd;color:#123f45;font-weight:600}.add-section{margin:20px 0}.rail-footer{margin-top:auto;padding-top:30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.rail-footer button{font-size:13px;padding-left:0}.chapter{padding:20px clamp(28px,4vw,68px) 45px;background:var(--paper);min-width:0;outline:none}.chapter-actions{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:27px}.chapter h1{font:400 clamp(30px,3vw,43px)/1.18 var(--body);letter-spacing:-.025em;text-wrap:balance;margin:18px 0 12px;max-width:27ch}.chapter-meta{font-size:13px;color:var(--muted);margin:0 0 32px;font-variant-numeric:tabular-nums}.reading-intro{font:20px/1.6 var(--body);color:var(--muted)}.block{position:relative;margin:0 0 18px;scroll-margin-top:100px}.passage{font:18px/1.75 var(--body);white-space:pre-wrap;overflow-wrap:anywhere;max-width:72ch;margin:0 0 8px}.passage mark{background:var(--highlight);color:inherit;border-radius:2px}.block-tools{display:flex;flex-wrap:wrap;align-items:center;gap:2px;opacity:1;margin-left:-8px}.block:hover .block-tools,.block:focus-within .block-tools{opacity:1}.block-tools button{font-size:12px;min-height:36px;padding:6px 8px}.note-pin{position:absolute;left:-26px;top:4px;padding:0;width:18px;min-height:30px;text-align:center;font-size:11px}.note-pin::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;background:#f3cc43;border:1px solid #987500}.note-pin:hover{background:transparent}.context{margin:28px 0;background:#edf4f2;border-radius:8px;padding:0 18px}.context>summary{font-size:15px;cursor:pointer;padding:16px 0;font-weight:600}.context .block{padding-bottom:8px}.context.step2{background:#eff1f6}.context .passage{font-size:17px}.context .note-pin{left:-16px}.section-sources{border-top:1px solid var(--line);margin-top:32px;padding-top:16px}.section-sources h2{font-size:14px;margin-bottom:10px}.section-sources button{font-size:13px;display:block;text-decoration:underline;text-underline-offset:4px;padding-left:0}.chapter-navigation{display:flex;gap:16px;justify-content:space-between;border-top:1px solid var(--line);margin-top:42px;padding-top:16px;font-size:13px}.chapter-navigation button{max-width:48%}.side-panel{background:#f8fbfa;border-left:1px solid var(--line);position:sticky;top:68px;height:calc(100dvh - 68px);overflow:auto;min-width:0}.panel-tabs{display:flex;gap:4px;align-items:center;padding:14px 12px 7px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#f8fbfa;z-index:2}.panel-tabs button{font-size:14px;border-radius:0}.panel-tabs button[aria-pressed=true]{border-bottom:3px solid var(--teal);font-weight:600}.panel-tabs button:last-child{font-size:12px}.panel-body,#panel-body{padding:22px 20px}.panel-description,.empty{font-size:14px;color:var(--muted);line-height:1.7}.panel-title{font:24px/1.2 var(--body);margin:0 0 12px}.note{padding:17px 0;border-bottom:1px solid var(--line)}.note:first-of-type{padding-top:5px}.note p{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.65 var(--body);margin:9px 0}.note .note-meta{font:12px var(--ui);color:var(--muted)}.note button{font-size:12px;padding:5px 7px;min-height:34px}.note details{font-size:13px;color:var(--muted);margin:12px 0}.note details p{font-size:14px}.note .needs-review{color:#87451b;font-size:12px;font-weight:600}.quote{font:15px/1.6 var(--body);color:var(--muted);white-space:pre-wrap;margin:12px 0}.note-form{margin-top:22px}.note-form textarea{min-height:130px}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.source-book{padding:18px 0;border-bottom:1px solid var(--line)}.source-book h3{font-size:15px;margin:0 0 2px}.source-book small{color:var(--muted);display:block}.source-match{width:100%;display:flex;flex-direction:column;gap:3px;font-size:13px;padding:10px 4px;border-bottom:1px solid #e2eae8;border-radius:0}.source-match span:last-child{color:var(--muted);font-size:12px}.source-match.not-ready{color:var(--muted)}.source-page{width:100%;height:auto;background:#fff;display:block;cursor:zoom-in;margin:16px 0;border:1px solid var(--line)}.source-page-info{font-size:13px;color:var(--muted)}.source-page-controls{display:flex;align-items:center;gap:8px}.source-page-controls input{max-width:76px}.source-page-controls label{margin:0;white-space:nowrap;font-size:12px}.source-page-controls button{font-size:12px}.search-hint{font-size:12px;color:var(--muted)}.history-version{display:block;width:100%;padding:13px 4px;border-bottom:1px solid var(--line);border-radius:0}.history-version small{display:block;color:var(--muted)}.history-text{font:16px/1.65 var(--body);white-space:pre-wrap;border-bottom:1px solid var(--line);padding:12px 0}.editor-block{margin-top:24px}.editor-block textarea{min-height:160px;font:17px/1.7 var(--body)}.editor-block .row{display:flex;gap:12px;align-items:center}.editor-block .row select{flex:1}.editor-block .row button{font-size:12px;color:var(--error)}.editor-actions{position:sticky;bottom:0;background:#fff;padding:18px 0;margin-top:18px;border-top:1px solid var(--line)}.ink-area{margin:14px 0 20px}.ink-area canvas,.saved-ink{width:100%;aspect-ratio:2/1;display:block;background:#f4f7f6;border:1px solid var(--line);border-radius:6px}.ink-area canvas{touch-action:none;cursor:crosshair}.ink-area .search-hint{margin:6px 0}.ink-area button{font-size:12px}.saved-ink{height:auto;margin:10px 0}.mobile-control{display:none}.workspace.panel-hidden{grid-template-columns:225px minmax(360px,1fr)}.workspace.panel-hidden .side-panel{display:none}.workspace.panel-hidden .chapter{max-width:1000px;width:100%;margin:auto;min-height:calc(100vh - 68px)}dialog{border:0;border-radius:10px;padding:0;width:min(1100px,95vw);max-height:94dvh;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(18,35,38,.55)}.dialog-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;position:sticky;top:0;background:#edf3f2;z-index:1}.dialog-bar h2{font:16px var(--ui);margin:0;flex:1}.page-scroll{overflow:auto;max-height:calc(94dvh - 65px)}.page-scroll img{display:block;width:100%;height:auto}.page-scroll img.zoomed{width:160%;max-width:none}.error-box{color:var(--error);font-size:14px}.loading{padding:24px 0;color:var(--muted)}.selected-block{outline:1px solid #94b9b3;outline-offset:7px;border-radius:2px}
@media(min-width:1500px){.workspace{grid-template-columns:250px minmax(480px,1fr) 360px}.workspace.panel-hidden{grid-template-columns:250px minmax(480px,1fr)}}
@media(max-width:1100px){.workspace{grid-template-columns:190px minmax(320px,1fr)}.side-panel{position:fixed;right:0;width:350px;z-index:8;box-shadow:var(--shadow)}.chapter{padding:20px 38px 40px}.workspace.panel-hidden{grid-template-columns:190px minmax(320px,1fr)}.topbar{gap:12px;padding:0 18px}.topbar select{max-width:225px}.topbar nav{gap:0}}
@media(max-width:720px){.topbar{height:auto;min-height:64px;gap:8px;padding:10px 16px;flex-wrap:wrap}.brand{font-size:23px}.topbar select{font-size:14px;max-width:200px}.topbar nav{width:100%;justify-content:space-between}.topbar nav button{font-size:13px;padding:6px;min-height:40px}.top-spacer{min-width:0}.workspace,.workspace.panel-hidden{display:block}.contents{display:none;position:fixed;top:112px;left:0;width:min(320px,90vw);height:calc(100dvh - 112px);z-index:9;box-shadow:var(--shadow)}.contents.open{display:flex}.mobile-control{display:inline-block}.chapter{padding:15px 26px 35px}.chapter-actions{margin-bottom:20px;font-size:12px;gap:0}.chapter-actions button{font-size:12px;padding:7px}.chapter h1{font-size:34px}.passage{font-size:18px;line-height:1.7}.block-tools{opacity:1}.side-panel{top:112px;height:calc(100dvh - 112px);width:min(400px,100vw)}.workspace.panel-hidden .chapter{min-height:calc(100dvh - 112px)}.note-pin{left:-22px}.welcome{margin:25px auto;padding:24px}.welcome h1{font-size:35px}.welcome>p{font-size:18px}.dialog-bar{padding:8px}.dialog-bar h2{font-size:13px}.dialog-bar button{font-size:12px}dialog{width:98vw;max-width:98vw}.status{bottom:12px;font-size:13px}.context{padding:0 14px}.chapter-meta{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:white;color:black}.topbar,.contents,.side-panel,.chapter-actions,.chapter-navigation,.block-tools,.note-pin,.status,#connection,.skip{display:none!important}.workspace,.workspace.panel-hidden{display:block}.chapter{padding:0;max-width:none!important}.passage{font-size:11pt;line-height:1.5}.chapter h1{font-size:24pt}.context{break-inside:avoid}.section-sources button{color:black}.chapter-meta{font-size:9pt}}

/* Notebook + reference workspace. Real figures and relationships lead the page. */
:root{--surround:#e9edf0;--rail:#f5f6f7;--ink:#25313d;--muted:#586773;--line:#dce1e5;--teal:#255b80;--teal-soft:#e5eef5;--highlight:#fff09b;--body:Georgia,'Iowan Old Style',serif;--shadow:0 10px 35px rgba(30,45,60,.14)}
body{font-size:14px;background:var(--surround)}
.topbar{height:58px;padding:0 22px;gap:24px;background:#fff;border-bottom:1px solid var(--line)}
.brand{font-size:19px;letter-spacing:-.035em;color:#263847;font-weight:750}
.topbar select{font-size:15px;font-weight:550;max-width:320px}
.topbar nav button{font-size:13px;padding:8px 11px}
.workspace{grid-template-columns:190px minmax(460px,1fr) 370px;max-width:1900px;min-height:calc(100vh - 58px);gap:0}
.contents{top:58px;height:calc(100dvh - 58px);background:#f7f8f9;padding:24px 14px;border-right:1px solid var(--line)}
.rail-heading h2{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:650;margin-bottom:18px}
.contents input{font-size:12px;background:white;border-color:var(--line);padding:8px 10px;margin-bottom:20px}
.section-link{padding:11px 9px;font-size:13px;gap:10px;border-radius:5px}
.section-link[aria-current=page]{background:#e3edf5;color:#224b69;font-weight:600}
.section-link span:first-child{border:1px solid #bdcbd5;background:#fff;border-radius:2px;min-width:23px;padding:3px 2px;text-align:center;font:10px/1.5 var(--ui)}
.section-link[aria-current=page] span:first-child{border-color:#7d9bb3}
.add-section{font-size:12px}.rail-footer{font-size:11px}.rail-footer button{font-size:12px}
.chapter{background:#fff;border:1px solid #dce1e5;box-shadow:0 2px 6px rgba(35,49,61,.04);margin:22px 22px 40px;padding:0 40px 34px;min-height:calc(100vh - 120px)}
.chapter-actions{position:sticky;top:58px;z-index:4;background:#fff;min-height:55px;margin:0 -10px 21px;padding:5px 0;border-bottom:1px solid var(--line);font-size:11px}
.chapter-actions button{font-size:11px;min-height:34px;padding:7px 9px}
#annotate-toggle{margin-right:8px;color:#385568}
#annotate-toggle[aria-pressed=true]{background:#fff0a8;color:#564517}
#save-state{font-size:10px;color:#71808a}
.chapter h1{font:400 clamp(29px,2.6vw,38px)/1.14 var(--body);letter-spacing:-.03em;margin:0 0 12px;max-width:100%}
.chapter-meta{font-size:10px;letter-spacing:.11em;color:#61727e;margin:0 0 22px}
.block{margin:0 0 22px;scroll-margin-top:130px}
.passage{font:16px/1.7 var(--body);margin:0;max-width:none}
.block-heading{font:600 17px/1.4 var(--ui)!important;letter-spacing:-.01em;margin:30px 0 12px!important}
.block-tools{position:absolute;right:-5px;bottom:-23px;margin:0;gap:2px;z-index:2;opacity:0;padding:1px 4px;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 2px 8px rgba(30,45,60,.06)}
.block-tools button{color:#255b80;font-size:11px;min-height:29px;padding:4px 7px}
.block:hover>.block-tools,.block:focus-within>.block-tools,.annotating .block-tools{opacity:1}
.annotating .block{margin-bottom:38px}
.note-pin{left:-28px;top:1px}
.context{background:#f6f7f8;border:1px solid #e1e6e9;border-radius:5px;margin:22px 0;padding:0 16px}
.context.step2{background:#edf3f7;border-color:#d6e3ec}
.context>summary{font-size:12px;font-weight:600;padding:12px 0}
.context .passage{font-size:15px}.context .block{padding-bottom:12px}
.rich-block figure{margin:0}
.figure-zoom{display:block;padding:0;border:0;border-radius:0;width:100%;background:white;cursor:zoom-in;overflow:hidden}
.figure-zoom:hover{background:white}
.figure-zoom img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}
.rich-figure .passage{font:12px/1.5 var(--ui);color:#536570;margin:10px 0 0}
.source-credit{font:10px/1.5 var(--ui);color:#5c7180;padding:2px 0;min-height:24px;display:block}
.rich-figure figcaption{border-bottom:1px solid var(--line);padding-bottom:7px}
.rich-table>.passage,.rich-sequence>.passage{font:600 15px/1.5 var(--ui);margin-bottom:12px}
.table-scroll{overflow-x:auto;border-top:2px solid #54768e;border-bottom:1px solid #cbd7df;margin:9px 0}
table{border-collapse:collapse;width:100%;font:12px/1.55 var(--ui);text-align:left}
thead{background:#edf2f6;color:#344e62}
th,td{padding:10px 11px;vertical-align:top;border-bottom:1px solid #e1e7eb;min-width:90px}
thead th{font-size:10px;text-transform:uppercase;letter-spacing:.035em;font-weight:650}
tbody th{font-weight:650;width:25%;color:#284c67}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
.mechanism-flow{list-style:none;margin:8px 0 0;padding:0;display:flex;gap:0;background:#f3f6f8;border:1px solid #dbe4e9;border-radius:5px;overflow:hidden;counter-reset:step}
.mechanism-flow li{flex:1;min-width:0;padding:13px 13px 14px;position:relative;border-right:1px solid #dbe4e9;counter-increment:step}
.mechanism-flow li:last-child{border:0}
.mechanism-flow li::before{content:counter(step,decimal-leading-zero);font:10px var(--ui);color:#6e8494;display:block;margin-bottom:6px}
.mechanism-flow strong{font:600 12px/1.35 var(--ui);display:block;color:#254f6b;margin-bottom:7px}
.mechanism-flow span{font:11px/1.5 var(--ui);display:block;color:#516877}
.rich-question{padding:19px 20px;background:#f8f5ea;border:1px solid #e5ddc5;border-radius:5px;margin-top:30px}
.retrieval-label{display:block;font:650 10px/1.3 var(--ui);letter-spacing:.1em;color:#76633a;margin-bottom:10px}
.rich-question>.passage{font:16px/1.6 var(--body);margin-bottom:12px}
.rich-question textarea{font-size:14px;min-height:95px;border-color:#cfc6ae;background:#fffefa;line-height:1.6}
.rich-question button{font-size:12px;min-height:35px;padding:7px 10px}
.question-hint{font:14px/1.5 var(--body);color:#706247}
.answer-key{border-top:1px solid #d9cfb5;margin-top:18px;padding-top:14px;font-size:13px;line-height:1.7}
.answer-key h3{font-size:13px;margin:0 0 8px}.answer-key p{margin:6px 0}.answer-key ul{padding-left:18px}
.section-sources{padding-top:12px;margin-top:25px}
.section-sources h2{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.section-sources button{font-size:11px;min-height:30px;padding:4px 0;text-decoration:none}
.chapter-navigation{margin-top:24px;font-size:12px;padding-top:12px}
.side-panel{top:58px;height:calc(100dvh - 58px);background:#fafbfc;border-color:#d1dbe2}
.panel-tabs{background:#fafbfc;padding:9px 10px 0;gap:4px}
.panel-tabs button{font-size:12px;padding:8px 10px;min-height:39px}
.panel-tabs button[aria-pressed=true]{border-bottom:2px solid #255b80}
#panel-body{padding:20px 20px 35px}
.panel-title{font:600 16px/1.4 var(--ui);letter-spacing:-.02em;margin:0 0 12px}
.panel-description{font-size:12px;line-height:1.65}
.linked-sources{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}
.reference-tab{font-size:11px;background:#e7eff5;border:1px solid #c9dbe8;padding:7px 9px;min-height:33px;line-height:1.4;color:#2b546f}
#source-search{font-size:13px}.search-hint{font-size:10px;line-height:1.65;margin-top:9px;color:#667882}
.source-book{padding:12px 0}.source-book h3{font-size:13px}.source-book small{font-size:10px}
.source-match{font-size:11px;padding:9px 2px;min-height:38px}.source-match span:last-child{font-size:10px}
.source-page{border:1px solid #cbd6de;margin:12px 0}
.source-page-info{font-size:11px}.source-page~button{font-size:11px;min-height:32px;padding:7px 9px}
.note p{font-size:14px}.note .note-meta{font-size:10px}.note details p{font-size:12px}.note button{font-size:10px}
.retrieval-card{padding:15px;background:#fff;border:1px solid #d6e0e7;border-radius:5px;margin-top:15px}
.card-id{font:9px/1.4 var(--ui);letter-spacing:.06em;color:#6c7e8b}
.card-prompt,.card-answer>p{font:15px/1.6 var(--body);margin:10px 0}
.retrieval-card button{font-size:11px;min-height:31px;padding:5px 7px}
.card-answer{border-top:1px solid var(--line);margin-top:9px;padding-top:8px}
.card-answer .figure-zoom{padding:0}
.table-editor-row{display:flex;gap:5px}.table-editor-row textarea{width:100%;min-width:0;min-height:75px;font:12px/1.5 var(--ui);padding:7px}
.editor-block textarea{font:15px/1.7 var(--body)}
.workspace.panel-hidden{grid-template-columns:190px minmax(460px,1fr)}
.workspace.panel-hidden .chapter{max-width:940px;margin:22px auto 40px;width:calc(100% - 44px);min-height:calc(100vh - 120px)}
@media(min-width:1650px){.workspace{grid-template-columns:215px minmax(550px,1fr) 410px}.chapter{padding-left:55px;padding-right:55px}.passage{font-size:17px}.workspace.panel-hidden{grid-template-columns:215px minmax(550px,1fr)}}
@media(max-width:1200px) and (min-width:1101px){.workspace{grid-template-columns:165px minmax(400px,1fr) 330px}.chapter{padding:0 26px 30px;margin:18px 14px 30px}.contents{padding-left:10px;padding-right:10px}.section-link{font-size:12px}#panel-body{padding:18px 15px}.topbar{gap:14px}.mechanism-flow li{padding:10px}}
@media(max-width:1100px){.workspace,.workspace.panel-hidden{grid-template-columns:175px minmax(320px,1fr)}.chapter{padding:0 36px 30px;margin:20px}.side-panel{width:390px;z-index:8;top:58px;height:calc(100dvh - 58px)}.workspace.panel-hidden .chapter{width:calc(100% - 40px);margin:20px auto}.contents{top:58px;height:calc(100dvh - 58px)}}
@media(max-width:720px){.topbar{min-height:102px;height:auto;padding:9px 16px;gap:4px}.topbar nav{margin-top:4px}.topbar select{max-width:230px;font-size:13px}.topbar nav button{font-size:12px;padding:6px 5px}.brand{font-size:19px}.workspace,.workspace.panel-hidden{display:block}.contents{top:102px;height:calc(100dvh - 102px);width:290px}.chapter,.workspace.panel-hidden .chapter{width:100%;margin:0;padding:0 23px 30px;border:0;box-shadow:none;min-height:calc(100dvh - 102px)}.chapter-actions{top:102px;margin:0 -3px 20px;min-height:49px;gap:0}.chapter-actions button{font-size:10px;padding:5px 6px}#save-state{font-size:9px}#annotate-toggle{margin-right:4px}.chapter h1{font-size:32px}.passage{font-size:16px}.chapter-meta{font-size:9px;margin-bottom:20px}.side-panel{top:102px;height:calc(100dvh - 102px);width:min(420px,100vw)}.figure-zoom img{max-height:none}.rich-figure .passage{font-size:11px}.mechanism-flow{display:grid;grid-template-columns:1fr 1fr}.mechanism-flow li{border-bottom:1px solid #dbe4e9;padding:12px}.mechanism-flow li:last-child{border-right:1px solid #dbe4e9}.mechanism-flow strong{font-size:12px}.mechanism-flow span{font-size:11px}.table-scroll{margin-right:-2px}table{font-size:11px}th,td{padding:8px;min-width:95px}.rich-question{padding:16px}.block-tools{opacity:0}.block:focus-within>.block-tools,.annotating .block-tools{opacity:1}.context .block-tools{bottom:-19px}.rich-question .block-tools{bottom:-20px}.note-pin{left:-20px}}
@media print{.chapter,.workspace.panel-hidden .chapter{margin:0;border:0;box-shadow:none;width:100%;padding:0}.figure-zoom img{max-height:280px}.block,.rich-block{break-inside:avoid}.table-scroll{overflow:visible}.rich-question textarea,.rich-question .button-row{display:none}.mechanism-flow{display:flex}.answer-key{display:block}.chapter-actions{display:none}}

/* Definitions stay in the sentence; depth opens in the existing reference pane. */
.inline-term{display:inline;padding:0;min-height:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:inherit;text-decoration:underline dotted #7d9bb3;text-underline-offset:4px;cursor:pointer}
.inline-term:hover,.inline-term:focus-visible{background:#e9f0f6;color:#224b69}
.term-explanation{font:15px/1.75 var(--body);white-space:pre-line;margin:14px 0}
.source-excerpt,.study-signals{border-bottom:1px solid var(--line);padding:11px 0}
.source-excerpt summary,.study-signals summary{font:600 12px/1.6 var(--ui);cursor:pointer}
.source-excerpt .figure-zoom{margin-top:12px}.excerpt-text{font:12px/1.6 var(--body);white-space:pre-line}
.topic-image{margin:20px 0;padding-bottom:15px;border-bottom:1px solid var(--line)}.topic-image figcaption{font:13px/1.6 var(--body);margin-top:8px}.topic-image button:not(.figure-zoom){font-size:11px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:4px}.gallery-filters button{font-size:11px;padding:5px 8px;min-height:30px}.gallery-filters button[aria-pressed=true]{background:var(--teal-soft)}
.panel-tabs{gap:0;padding-left:5px;padding-right:5px}.panel-tabs button{padding-left:8px;padding-right:8px}
@media print{.inline-term{text-decoration:none}.inline-term::after{content:none}}
