/* Cross-board pilots: inherit every theme color; own only reading structure. */
body.cross-reading { font-size:18px; line-height:1.85; }
.cross-reading .lesson-layout { grid-template-columns:minmax(0,1fr) 230px; gap:38px; }
.cross-reading .lesson-content h1 { max-width:23em; font-size:clamp(30px,3vw,44px); }
.cross-hero { margin-bottom:30px; }
.cross-result { border:1px solid var(--border); border-left:4px solid var(--accent); border-radius:14px; background:var(--quote-bg); padding:26px 28px; margin-bottom:22px; }
.cross-result h2 { font-size:19px; }
.cross-result p { max-width:48em; margin-bottom:0; }
.cross-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 38px; }
.cross-choices a { display:flex; flex-direction:column; justify-content:center; gap:8px; padding:20px; min-height:100px; border:1px solid var(--border); border-radius:12px; background:var(--card); text-decoration:none; }
.cross-choices a:hover { border-color:var(--accent); background:var(--quote-bg); }
.cross-choices strong { color:var(--fg); font-size:17px; }
.cross-choices span { color:var(--muted); font-size:14px; line-height:1.7; }
.cross-preface { margin:0 0 42px; padding:20px 0 28px; border-bottom:1px solid var(--border); }
.cross-preface .lesson-original-title { font-size:20px; margin-bottom:20px; }
.cross-preface > h3 { font-size:18px; }
.cross-unit { border:1px solid var(--border); border-radius:16px; background:var(--card); padding:32px; margin:0 0 32px; scroll-margin-top:100px; box-shadow:var(--shadow); }
.cross-reading .cross-unit > h2 { font-size:26px; margin-bottom:12px; line-height:1.5; }
.cross-cue { color:var(--muted); margin:0 0 30px!important; padding-bottom:22px; border-bottom:1px solid var(--border); font-size:16px; }
.cross-reading .cross-body h3 { font-size:22px; line-height:1.6; margin:36px 0 20px; padding:0; border:0; }
.cross-reading .cross-body h4 { font-size:19px; margin:28px 0 16px; line-height:1.65; }
.cross-reading .cross-body p { margin-bottom:20px; }
.cross-reading .cross-body li { margin-bottom:14px; }
.cross-reading .cross-body li p:last-child { margin-bottom:0; }
.cross-reading .cross-body hr { margin:30px 0; opacity:.5; }
.cross-reading .cross-body .toc-box { margin:24px 0; }
.cross-reading table { font-size:16px; line-height:1.8; }
.cross-reading th,.cross-reading td { padding:16px 18px; vertical-align:top; }
.cross-reading .cross-body :is(p,li,td,th) { overflow-wrap:anywhere; }
.cross-reading .cross-body pre { overflow-wrap:normal; }
.cross-reading .cross-body .experiment-results { min-width:560px; table-layout:fixed; }
.cross-reading .experiment-results caption { text-align:left; padding:0 0 14px; font-size:15px; color:var(--muted); }
.cross-reading .experiment-results th:first-child { width:34%; }
.cross-reading .experiment-results td { white-space:normal; }
.cross-reading [data-reading-mode="lookup"] .cross-unit:not(#read-review) table { min-width:720px; table-layout:fixed; }
.cross-reading [data-reading-mode="lookup"] .cross-unit:not(#read-review) th:first-child { width:42%; }
.cross-reading [data-reading-mode="lookup"] .cross-unit:not(#read-review) th:nth-child(2) { width:43%; }
.cross-reading [data-reading-mode="lookup"] td code { white-space:normal; overflow-wrap:anywhere; }
.cross-reading [data-reading-mode="lookup"] #read-review table { min-width:560px; table-layout:fixed; }
.cross-reading [data-reading-mode="lookup"] #read-review td { white-space:normal; }
.cross-reading [data-reading-mode="lookup"] #read-review th:first-child { width:50%; }
.cross-reading .cross-body blockquote { margin:24px 0; padding:18px 22px; box-shadow:none; }
.cross-reading .cross-body blockquote p:last-child { margin-bottom:0; }
.cross-reading .cross-body details { margin:24px 0; }
.cross-reading .cross-body summary { min-height:44px; line-height:1.7; }
.cross-reading .cross-body :is(h2,h3,h4,tr,[id]) { scroll-margin-top:100px; }
.cross-reading .reading-task { box-shadow:none; }
.cross-reading .reading-task label { font-size:18px; }
.cross-reading .cross-body .reading-recap { line-height:1.8; }
.cross-reading .cross-body .reading-recap li { margin-bottom:14px; }
.cross-reading .cross-body .reading-recap p { margin-bottom:14px; }
.cross-reading .cross-body .visual-block { margin:24px 0; }
.cross-reading .cross-body .vb-compare { grid-template-columns:1fr; }
.cross-reading .lesson-position { margin-bottom:16px; }
.cross-route-note { color:var(--muted); font-size:13px; margin:20px 0; }
.cross-reading .lesson-route-links a[aria-current="location"] { color:var(--accent); background:var(--accent-soft); font-weight:700; }
.cross-reading .lesson-route-links a[aria-current="location"]::before { background:var(--accent); border-color:var(--accent); }
.pilot-index-entry { border:1px solid var(--border); border-left:4px solid var(--accent); border-radius:14px; background:var(--card); padding:26px; margin:28px 0; }
.pilot-index-entry h2 { margin:0 0 14px; }
.pilot-index-entry p { color:var(--muted); line-height:1.8; }
.pilot-index-entry a { display:block; padding:10px 0; line-height:1.7; }
.cross-search { border:1px solid var(--border); border-radius:14px; padding:24px; margin-bottom:32px; background:var(--card); }
.cross-search label { display:block; font-weight:700; margin-bottom:12px; }
.cross-search-row { display:flex; gap:12px; }
.cross-search input { width:100%; min-width:0; min-height:48px; font:inherit; padding:8px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg); color:var(--fg); }
.cross-search button { font:inherit; min-height:48px; padding:8px 14px; color:var(--fg); background:var(--quote-bg); border:1px solid var(--border); border-radius:8px; cursor:pointer; }
.cross-search input:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
#reading-search-status { color:var(--muted); font-size:14px; margin:12px 0 0; }
.cross-search-results { padding-left:22px; margin:14px 0 0; }
.cross-search-results:empty { display:none; }
.cross-search-results a { display:block; padding:8px 0; line-height:1.7; }
.cross-reading tr:target { outline:2px solid var(--accent); outline-offset:-2px; background:var(--accent-soft); }
.cross-formula { margin:28px 0; }
.cross-formula > .formula-trigger-hint { font-size:14px!important; }
.cross-reading .katex-display { padding:14px 8px; border:1px solid var(--border); border-radius:10px; background:var(--quote-bg); }
.cross-reading .katex-display .katex-html { pointer-events:none; }
.cross-reading .katex-display [data-cross-term] { pointer-events:auto; }
.cross-reading .formula-target { color:var(--accent); }
.cross-reading #formula-explainer { font-size:16px; }
.cross-reading .formula-dialog-context .katex-display { border:0; background:none; }
.cross-reading .formula-dialog-close { position:sticky; top:0; z-index:1; }
.cross-reading .source-error { padding:20px; border-left:3px solid var(--accent); border-radius:8px; background:var(--quote-bg); font-family:inherit; overflow-wrap:anywhere; }
.cross-reading .source-error p { margin-bottom:10px; }
.cross-reading .srcbox dd { overflow-wrap:anywhere; }
@media (max-width:1180px) {
 .cross-reading .lesson-layout { grid-template-columns:minmax(0,1fr) 200px; gap:24px; }
 .cross-choices { grid-template-columns:1fr; gap:12px; }
 .cross-choices a { min-height:76px; padding:16px 20px; }
}
@media (max-width:900px) {
 .cross-reading .lesson-layout { display:flex; }
 .cross-rail { position:sticky; top:68px; z-index:5; background:var(--card); }
 #cross-route { max-height:60dvh; overflow-y:auto; padding-top:14px; }
 #cross-route[hidden] { display:none; }
 .cross-reading .lesson-route-links { grid-template-columns:1fr; }
 .cross-route-note { display:none; }
 .cross-unit { padding:26px; }
 .cross-reading .cross-body :is(h2,h3,h4,tr,[id]) { scroll-margin-top:140px; }
}
@media (max-width:600px) {
 body.cross-reading { font-size:17px; }
 .cross-reading main { padding:18px 14px 60px!important; }
 .cross-unit { padding:24px 18px; margin-bottom:26px; }
 .cross-reading .cross-unit > h2 { font-size:23px; }
 .cross-reading .cross-body h3 { font-size:20px; }
 .cross-reading .cross-body h4 { font-size:18px; }
 .cross-result { padding:22px 20px; }
 .cross-reading .cross-body blockquote { padding:16px; margin:22px 0; }
 .cross-reading th,.cross-reading td { padding:14px; }
 .cross-rail { top:60px; }
 .cross-search { padding:20px 16px; }
 .cross-search-clear { white-space:nowrap; }
 .cross-preface .srcbox { padding:18px; }
}
