/* Shared reading and exploration structure; incumbent paper/green palette. */
.header{background:var(--paper)}
.header-inner{max-width:1440px;gap:24px}
.header nav{gap:16px;min-width:0}
.header nav a{min-height:44px;display:flex;align-items:center}
.library-title h1,.library-article h2,.catalog-entry h2,.observation-workshop h2{letter-spacing:-.035em;text-wrap:balance}
.library-title{max-width:940px;padding-bottom:28px}
.library-title>p{max-width:74ch}
.library-breadcrumb{justify-content:flex-start;flex-wrap:wrap;margin:28px 0 -18px;gap:10px;font-size:13px}
.library-breadcrumb a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.library-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:start}
.library-rail{position:sticky;top:calc(var(--site-header-height,100px) + 18px);min-width:0;max-height:calc(100dvh - var(--site-header-height,100px) - 36px);overflow:auto}
.library-contents{border-block:1px solid var(--line)}
.library-contents summary{min-height:48px;padding:12px 0;font-weight:700;cursor:pointer}
.library-contents nav{display:flex;flex-direction:column;margin:0;gap:0;padding-bottom:14px}
.library-contents nav a{font-size:13px;white-space:normal;overflow-wrap:anywhere;min-height:44px;padding:8px 0;line-height:1.65}
.library-back{display:block;margin-top:18px;padding:10px 0;font-size:13px;color:var(--green);min-height:44px}
.library-article{max-width:76ch;min-width:0;padding-bottom:40px}
.library-article p,.observation-workshop p{font-size:16px;line-height:1.9;margin:1.1em 0;overflow-wrap:break-word}
.library-article h2{font-size:clamp(26px,2.7vw,34px);line-height:1.5;margin:2.1em 0 .8em}
.library-article h3{font-size:21px;line-height:1.6;margin:1.8em 0 .65em}
.library-article h4,.observation-workshop h4{font-size:17px;margin:1.8em 0 .6em}
.library-section{padding:0 0 24px;display:flow-root}
.library-section,.library-article [id],.mission-content{scroll-margin-top:calc(var(--site-header-height,100px) + 24px)}
.library-section:first-of-type h2{margin-top:1em}
.reading-meta,.catalog-meta{font-size:13px!important;color:var(--muted);line-height:1.7!important}
.learning-diagram{margin:28px 0 36px;max-width:760px;padding:18px 12px;background:#eceee5}
.diagram-canvas{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%}.learning-diagram svg{display:block;width:100%;height:auto;min-width:560px}
.learning-diagram figcaption{font-size:13px;line-height:1.8;margin:14px 8px 0;max-width:74ch}
.learning-diagram figcaption strong{display:block;color:var(--green);margin-bottom:5px}
.library-search{max-width:760px;margin-top:30px}
.library-search input{font-size:16px;min-height:48px}
.catalog-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 32px;justify-content:flex-start}
.catalog-filters button,.mission-tabs button{border:1px solid var(--line);color:var(--ink);background:var(--surface);min-height:44px;padding:10px 14px;text-align:left;line-height:1.6}
.catalog-filters button[aria-pressed=true],.mission-tabs button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--surface)}
.catalog-filters button:hover,.mission-tabs button:hover{border-color:var(--green)}
.catalog-group{margin:50px 0 60px}
.catalog-group>h2{font-size:30px;margin-bottom:14px;letter-spacing:-.035em}
.catalog-group>p{max-width:76ch;color:var(--muted)}
.library-catalog{border-top:1px solid var(--line)}
.catalog-entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;padding:28px 0;border-bottom:1px solid var(--line)}
.catalog-entry h2,.catalog-entry h3{font-family:var(--serif);font-size:26px;margin:4px 0 10px;line-height:1.5;letter-spacing:-.035em}
.catalog-entry h2 a,.catalog-entry h3 a{display:block;padding:4px 0;min-height:44px}
.catalog-entry p{margin:8px 0;max-width:76ch}
.catalog-entry .text-link{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
.catalog-order{font-family:var(--serif);font-size:42px;color:var(--green);line-height:1.4}
.catalog-thumb{margin:0;align-self:start}
.catalog-thumb img{display:block;width:150px;height:100px;object-fit:cover;background:#e7e8df}
.catalog-thumb figcaption{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.8}
.catalog-thumb figcaption a{text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:32px;padding:5px 0}
.catalog-concepts{font-size:12px;color:var(--green)}
.theory-entry{grid-template-columns:1fr}
.term-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px;border-top:1px solid var(--line)}
.term-catalog article{padding:24px 0;border-bottom:1px solid var(--line);min-width:0}
.term-catalog h3{font-size:23px;margin:0 0 6px}
.term-catalog h3 a{display:inline-flex;align-items:center;min-height:44px}
.term-catalog p{line-height:1.85}
.term-catalog .english{display:block;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.term-catalog .text-link{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
.library-related{margin:38px 0 28px;padding-top:20px;border-top:1px solid var(--line)}
.library-related h2{font-size:27px;margin-top:14px}
.library-related h3{font-size:15px;font-family:var(--sans);margin:20px 0 8px}
.related-links{display:flex;flex-wrap:wrap;gap:4px 22px;margin:8px 0 18px}
.related-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--green);text-decoration:underline;text-underline-offset:4px;white-space:normal;line-height:1.7;overflow-wrap:anywhere}
.reading-pagination{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:32px 0;padding:24px 0;border-block:1px solid var(--line)}
.reading-pagination a{white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.8;min-height:44px;display:block}
.reading-pagination a:last-child{text-align:right}
.reading-pagination small{display:block;color:var(--muted);margin-bottom:8px}
.critical-reading{padding:8px 0 24px;border-bottom:1px solid var(--line)}
.library-article .source-line,.library-article .case-limit{font-size:13px;line-height:1.8}
.library-article .case-limit{border-left:0;border-block:1px solid var(--line);padding:14px 16px}
.library-article .study-visual img{aspect-ratio:16/10;width:min(360px,100%);height:auto;max-height:none;object-fit:contain}
.library-article .study-visual[data-kind=portrait] img{aspect-ratio:4/5;width:min(170px,100%)}
.library-article .study-visual[data-kind=concept-diagram] img{width:min(470px,100%)}
.library-article .study-visual figcaption{max-width:70ch}
.library-article .study-footnotes ol{padding-left:0;list-style:none}
.library-article .study-footnotes li{margin:16px 0;overflow-wrap:anywhere;font-size:13px;line-height:1.8}
.library-article .study-footnotes li>small{display:block;font-size:12px}
.library-article .footnote-number{display:inline-block;min-width:28px;min-height:32px;padding:4px 0}
.observation-workshop{margin:56px 0 0;padding-top:35px;border-top:1px solid var(--line)}
.observation-workshop>p{max-width:76ch}
.observation-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:38px;margin:30px 0 60px}
.mission-tabs{display:flex;flex-direction:column;gap:8px;margin:0;align-self:start}
.mission-tabs button{font-size:14px}
.mission-content{max-width:76ch;min-width:0}
.mission-content h3{font-size:25px;line-height:1.5;margin-bottom:16px}
.observation-experiment{max-width:900px;margin:60px 0;padding-top:24px;border-top:1px solid var(--line)}
.observation-experiment h2{margin:18px 0}
.observation-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}
.observation-strip figure{margin:0;min-width:0}
.observation-strip img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#eceee5}
.observation-strip figcaption{font-size:13px;line-height:1.7;margin-top:8px}
[hidden]{display:none!important}
@media(min-width:961px){.library-contents summary{list-style:none}.library-contents summary::-webkit-details-marker{display:none}}
@media(max-width:1150px){.header-inner{flex-wrap:wrap;gap:10px 18px}.header nav{order:3;width:100%;margin:0;overflow-x:auto;flex-wrap:nowrap;gap:22px;justify-content:flex-start}.header nav a{flex:0 0 auto}.my-progress{margin-left:auto;border:0}.library-layout{grid-template-columns:190px minmax(0,1fr);gap:30px}}
@media(max-width:960px){.library-layout{grid-template-columns:1fr;gap:16px}.library-rail{position:static;max-height:none;overflow:visible}.library-contents summary{padding:14px 0}.library-back{display:none}.library-article{max-width:76ch}.observation-layout{grid-template-columns:1fr;gap:24px}.mission-tabs{flex-direction:row;flex-wrap:wrap;gap:8px}.library-contents nav a{min-height:44px}}
@media(max-width:760px){.header-inner{padding:12px 20px;gap:8px}.header nav{gap:22px;padding-bottom:0}.header nav a{font-size:12px;min-height:44px}.brand{font-size:17px}.brand-icon{font-size:30px}.library-title{padding-top:30px;padding-bottom:18px}.library-title h1{font-size:32px;line-height:1.45}.library-title>p{font-size:16px;line-height:1.9}.library-breadcrumb{margin:14px 0 -12px;font-size:12px}.library-article h2{font-size:26px;margin-top:1.8em}.library-article h3{font-size:21px}.library-article p,.observation-workshop p{font-size:16px;line-height:1.9}.catalog-entry{grid-template-columns:92px minmax(0,1fr);gap:16px;padding:22px 0}.catalog-entry h2,.catalog-entry h3{font-size:22px}.catalog-order{font-size:32px}.catalog-thumb img{width:92px;height:72px}.catalog-meta{font-size:11px!important}.catalog-group>h2{font-size:27px}.theory-entry{grid-template-columns:1fr}.term-catalog{grid-template-columns:1fr;gap:0}.term-catalog article{padding:20px 0}.term-catalog p{font-size:16px}.learning-diagram{padding:12px 5px;margin:24px 0}.learning-diagram svg{min-height:130px}.learning-diagram figcaption{font-size:13px;margin-inline:8px}.related-links{gap:4px 18px}.reading-pagination{gap:18px}.observation-strip{gap:8px}.observation-strip figcaption{font-size:12px}.mission-tabs button{flex:1 1 42%;font-size:14px}.catalog-filters button{font-size:13px}.library-article .study-visual img{width:min(320px,100%)}.library-article .study-visual figcaption{font-size:12px}.library-article .case-limit{font-size:13px}.library-article .source-line{font-size:12px}}
@media(prefers-reduced-motion:reduce){.library-layout *,.observation-workshop *{scroll-behavior:auto}}
