:root{--red:#a50405;--ink:#171717;--paper:#fff;--line:#dedede;--soft:#f5f5f5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit}button,input,select{font:inherit}button,a,summary{touch-action:manipulation}button,select,summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d75913;outline-offset:4px}header{min-height:90px;padding:20px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:white}.brand{font-size:30px;font-weight:900;text-decoration:none;line-height:1.1;letter-spacing:-1px}.brand span{display:block;font-size:12px;color:var(--red);letter-spacing:5px;margin-top:7px}header nav{display:flex;align-items:center;gap:24px}header nav a{text-decoration:none;font-size:14px;font-weight:700}button{padding:10px 18px;min-height:44px;border:1px solid var(--ink);background:white;font-weight:700}h1,h2,h3{font-family:Oswald,Arial,sans-serif;line-height:1.13}h1{font-size:clamp(44px,6vw,88px);margin:20px 0}h2{font-size:36px}.intro{background:var(--red);color:white;padding:70px 7vw;display:grid;grid-template-columns:2fr 1fr;align-items:center;gap:50px}.intro p:not(.eyebrow){max-width:570px;font-size:20px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700}.library-mark{border:2px solid white;padding:25px 35px;transform:rotate(3deg);max-width:280px;box-shadow:12px 12px 0 #710304}.library-mark span{font-family:Oswald;font-size:100px;line-height:1}.library-mark b{display:block;letter-spacing:3px}.library-mark svg{width:110px;margin-top:20px}.library{padding:50px 7vw 90px}.library-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.library-top span{font-size:14px}.filters{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:20px 0}label>span{display:block;font-size:13px;font-weight:700;margin-bottom:6px}input,select{width:100%;padding:14px;border:1px solid #888;border-radius:0;background:white;color:var(--ink);min-width:0}.source-note{font-size:13px;line-height:1.7;color:#555;max-width:900px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.resource{border:1px solid var(--ink);display:flex;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;padding:25px;min-height:290px;background:white}.resource:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--red)}.resource-top{display:flex;justify-content:space-between;align-items:center;color:var(--red);font-size:12px;font-weight:700}.resource svg{width:36px;height:36px}.resource h3{font-size:29px;margin:30px 0 14px}.resource p{font-size:15px;margin:0 0 30px}.resource-bottom{display:flex;justify-content:space-between;margin-top:auto;border-top:1px solid var(--line);padding-top:14px;font-size:13px;font-weight:700}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--ink);color:white;padding:35px 7vw;font-size:14px}.reading-title{padding:45px 7vw;background:var(--soft);border-bottom:1px solid var(--line)}.reading-title h1{font-size:clamp(36px,5vw,64px);max-width:1000px}.reading-layout{display:grid;grid-template-columns:250px minmax(0,850px);gap:55px;padding:45px 7vw;justify-content:center}aside{align-self:start;position:sticky;top:20px;font-size:14px}aside summary{font-weight:700;padding:8px 0}#toc{max-height:40vh;overflow:auto;margin-bottom:25px}#toc a{display:block;padding:8px 12px;text-decoration:none;border-left:2px solid var(--line);font-size:13px}#toc a:hover{border-color:var(--red);color:var(--red)}.page-search{display:block;margin-bottom:16px}#matches{font-size:12px}.source-page{scroll-margin-top:25px;border-bottom:1px solid var(--line);padding-bottom:45px;margin-bottom:45px}.page-meta{color:var(--red);font-size:12px;letter-spacing:2px;font-weight:700;margin-bottom:25px}.page-content{font-size:17px;line-height:1.8;overflow-wrap:anywhere}.page-content h3{font-size:29px;line-height:1.3;margin:28px 0 18px}.page-content p{margin:0 0 18px}.page-content a{color:var(--red);text-underline-offset:3px}.original-view{background:var(--soft);margin-top:25px;padding:15px;font-size:13px}.original-view summary{font-weight:700;min-height:30px}.original-view img{display:block;width:100%;height:auto;margin-top:20px}.layout-text{font-family:monospace;font-size:13px;white-space:pre;overflow:auto;max-width:100%;background:var(--soft);padding:15px;line-height:1.7}.skip{position:fixed;left:10px;top:-100px;background:white;padding:15px;z-index:50}.skip:focus{top:10px}[hidden]{display:none!important}#status{font-size:14px;color:var(--red)}@media(max-width:950px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-layout{grid-template-columns:190px minmax(0,1fr);gap:25px}.library-mark{max-width:220px}}@media(max-width:650px){header{padding:18px 5vw;gap:10px}.brand{font-size:24px}header nav{gap:12px}header nav a{font-size:12px}.intro{padding:40px 6vw;grid-template-columns:1fr;gap:25px}.library-mark{display:none}.library{padding:30px 6vw 55px}.library-top{align-items:flex-start;flex-direction:column;gap:0}.library-top h2{margin-bottom:8px}.filters,.cards{grid-template-columns:1fr}.resource{min-height:240px}.reading-layout{display:block;padding:25px 6vw}.reading-title{padding:30px 6vw}aside{position:static;margin-bottom:35px;padding-bottom:25px;border-bottom:1px solid var(--line)}#toc{max-height:180px}.page-content{font-size:16px}.page-content h3{font-size:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{header,aside,footer,.original-view,.skip{display:none}.reading-layout{display:block;padding:0}.reading-title{padding:0;background:white}.page-content{font-size:11pt}.source-page{break-after:page}.source-page[hidden]{display:block!important}}
.table-scroll{max-width:100%;overflow-x:auto;margin:25px 0}table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6;min-width:560px}th,td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:12px}th{background:var(--red);color:white;font-weight:700}tbody tr:nth-child(even){background:var(--soft)}
/* Interactive Academy reader */
#topic{display:flex;align-items:center;gap:10px}#topic svg,.page-meta svg{width:23px;height:23px}.resource-bottom>span:last-child{display:flex;align-items:center;gap:8px}.resource-bottom svg{width:20px;height:20px}.reading-title{background:#faf8f6}.reading-title h1{max-width:1100px;font-size:clamp(38px,5vw,72px)}#reader-tools{padding:24px 7vw;border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;scroll-margin-top:12px;background:#fff}.view-switch{display:flex;flex-wrap:wrap;gap:8px}.view-switch button{display:flex;align-items:center;gap:9px;border-color:#dedede;border-radius:8px;font-size:14px;transition:background .18s,color .18s}.view-switch svg{width:20px;height:20px}.view-switch button[aria-pressed=true]{background:var(--red);color:#fff;border-color:var(--red)}.view-switch b{font-size:11px;border:1px solid currentColor;border-radius:20px;padding:0 6px}.learning-status{font-size:12px;min-width:160px}.learning-status progress{display:block;width:100%;height:6px;margin-top:8px;accent-color:var(--red)}.reader-stage{min-width:0}.page-meta{display:flex;align-items:center;gap:10px}.source-page{animation:page-enter .28s ease both}.page-content>p{max-width:72ch}.concept-card{margin:0 0 24px;padding:24px;border:1px solid #e6e1dd;border-radius:12px;background:#fff;box-shadow:0 4px 18px #1a101006}.concept-card h3:first-child{margin-top:0;display:flex;align-items:flex-start;gap:14px}.concept-icon{flex:0 0 36px;width:36px;height:36px;padding:7px;background:#f8eaea;color:var(--red);border-radius:10px}.concept-icon svg{width:22px;height:22px}.concept-card p:last-child{margin-bottom:0}.check-item{display:flex;align-items:flex-start;gap:14px;padding:17px;margin:12px 0;border:1px solid #dedbd8;border-radius:8px;background:#faf9f7;cursor:pointer}.check-item input{flex:0 0 21px;width:21px;height:21px;margin:4px 0;accent-color:var(--red)}.check-item p{margin:0;font-size:16px}.check-item:has(input:checked){background:#f2f6f2;border-color:#b2c5b2}.check-item:has(input:checked) p{color:#526452}.diagram-card{margin:0 0 25px;padding:20px;border:1px solid #e5ddda;border-radius:14px;background:white;box-shadow:0 8px 25px #3d181009;overflow:hidden}.diagram-card figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:700;line-height:1.35;margin-bottom:20px}.diagram-card figcaption>span{display:flex;gap:10px;align-items:center}.diagram-card svg{width:22px;height:22px;flex-shrink:0;color:var(--red)}.diagram-card img{display:block;width:100%;height:auto;max-height:740px;object-fit:contain;background:#fff}.zoom-diagram{display:grid;place-items:center;flex:0 0 44px;width:44px;padding:9px;border:1px solid #ddd;border-radius:50%}.zoom-diagram:hover{background:#f8eaea}.diagram-caption{font-size:11px;color:#777;margin-bottom:0}.diagram-transcript{font-size:14px;border-top:1px solid #eee;margin-top:14px;padding-top:10px}.diagram-transcript summary{cursor:pointer;font-weight:700;color:var(--red);padding:6px 0}.diagram-transcript p{line-height:1.8}.go-figure-page{margin-bottom:12px;border:0;background:#f6efed;color:var(--red);border-radius:8px}.empty-visual{padding:40px;background:#faf8f6;border-radius:12px}.empty-visual>svg{width:60px;height:60px;color:var(--red)}#reader-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;border-top:1px solid var(--line)}#reader-nav button{border-radius:8px;border-color:#ddd}#reader-nav button:disabled{opacity:.35;cursor:default}#reader-nav #mark-page{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#faf8f6}#mark-page svg{width:20px;height:20px}#mark-page[aria-pressed=true]{color:#32653d;background:#f1f6ef}#page-position{font-size:14px;font-weight:700}#toc a{display:flex;gap:10px;line-height:1.4}#toc a>span{color:#999;flex:0 0 20px}#toc a[aria-current=page]{background:#f8eaea;border-color:var(--red);font-weight:700;color:var(--red)}#diagram-dialog{width:min(1100px,95vw);max-height:94dvh;border:0;border-radius:14px;padding:24px}#diagram-dialog::backdrop{background:#151010d9;backdrop-filter:blur(4px)}#diagram-dialog .dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}#diagram-dialog h2{font-size:25px}#diagram-large{display:block;width:100%;height:auto}#close-diagram{border-radius:8px;flex-shrink:0}@keyframes page-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){#reader-tools{align-items:flex-start;flex-direction:column}.learning-status{width:100%;max-width:320px}}@media(max-width:650px){#reader-tools{padding:20px 6vw}.view-switch{width:100%}.view-switch button{padding:9px 10px;font-size:12px;flex:1;justify-content:center}.view-switch svg{width:16px;height:16px}.concept-card{padding:18px}.diagram-card{padding:14px}.diagram-card figcaption{font-size:14px}.check-item{padding:12px}.reading-layout aside{margin-bottom:22px}.reading-title h1{overflow-wrap:anywhere}.diagram-card img{max-height:550px}#diagram-dialog{padding:15px}#diagram-dialog .dialog-head{align-items:flex-start}#diagram-dialog h2{font-size:20px}}@media(prefers-reduced-motion:reduce){.source-page{animation:none}}@media print{#reader-tools,#reader-nav,#visual-gallery,.zoom-diagram,.go-figure-page,dialog{display:none!important}.concept-card,.diagram-card{box-shadow:none;break-inside:avoid}.source-page[hidden]{display:block!important}.diagram-transcript{display:block}}
