/* Shared, quiet reading surface. Formal encodings and interaction states remain distinct. */
:root{--ink:#25383d;--muted:#53656a;--faint:#607773;--bg:#fbfaf7;--panel:#fafbf9;--panel-2:#f1f5f3;--line:#cbd6d1;--focus:#287568;--gold:#84652b;--orange:#935431;--violet:#735f83;--blue:#356b83;--green:#477052;--rose:#914f5a;--shadow:0 8px 24px rgba(37,56,61,.09)}
body .app-header{background:#fbfaf7;backdrop-filter:none;box-shadow:none}
body button,body select,body input{border-color:#cbd6d1}
body .module-button,body .level-button{background:transparent;border-color:transparent;border-radius:3px;font-weight:600;padding:9px 11px}
body .module-button.is-active,body .module-button[aria-pressed="true"],body .level-button.is-active{background:#edf4f0;color:#25383d;border-bottom:2px solid #287568}
body .root-tour-invitation{color:#236b60;border:1px solid #a9c7bc}
body .overview-module,body .surface-module,body .atlas-stage,body .atlas-shell,body .graph-stage{background:#fbfaf7}
body .overview-thesis,body .overview-thesis-card,body .overview-card,body .reader-episode,body .reader-region,body .reader-pair>section,body .breakfast-route,body .comparison-spotlight,body .comparison-spotlight-card,body .catalog-family{box-shadow:none;background:transparent}
body .reader-episode,body .overview-card,body .overview-thesis{border-color:#d4ded8;border-radius:7px}
body .reader-episode{padding:24px}
body .overview-inner,body .surface-inner{max-width:1480px}
body .overview-hero{gap:36px}
body .atlas-inspector,body .panel-content,body .graph-footer,body .band-help{background:#fafbf9;box-shadow:var(--shadow)}
body .node-card,body .node-card span,body .architecture-band-label{color:#25383d}
body .atlas-flow-label{fill:#3c5853;stroke:#fbfaf7}
body .atlas-node-label,body .atlas-node-short{fill:#25383d}
body .node-card .comparison-peer,body .node-card .comparison-citation{color:#355b55}
body .node-card .comparison-relation{color:#fff}
body .map-node.is-selected .node-shape,body .map-node.is-focus .node-shape{stroke:#236b60!important;filter:none}
body .atlas-node.is-selected>rect{stroke:#236b60;filter:none}
#rootTourDialog{padding:0;border:1px solid #cbd6d1;border-radius:9px;width:calc(100vw - 16px);height:calc(100dvh - 16px);max-width:none;max-height:none;background:#fbfaf7;color:#25383d;overflow:hidden;box-shadow:0 15px 50px rgba(37,56,61,.16)}
#rootTourDialog.tour-smaller{width:min(1200px,calc(100vw - 32px));height:82dvh}
#rootTourDialog[open]{display:flex;flex-direction:column}
#rootTourDialog::backdrop{background:rgba(37,56,61,.28)}
.root-tour-dialog-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:6px 12px;border-bottom:1px solid #cbd6d1;flex:none}
.root-tour-dialog-actions{display:flex;gap:8px;align-items:center}
.root-tour-dialog-actions button{min-height:36px}
.root-tour-dialog-heading h2{font:500 18px/1.3 Georgia,serif;margin:0}
#rootTourFrame{display:block;border:0;width:100%;min-height:0;flex:1;background:#fbfaf7}
body .app-header{grid-template-columns:220px minmax(0,1fr) auto auto}
#demonstrationsToggle{min-height:44px;white-space:nowrap;font-size:14px;background:#edf4f0;color:#236b60;border-color:#a9c7bc}
#demonstrationsDialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #cbd6d1;border-radius:9px;background:#fbfaf7;color:#25383d;overflow:auto;overscroll-behavior:contain}
#demonstrationsDialog::backdrop{background:rgba(37,56,61,.28)}
.demonstrations-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.demonstrations-heading h2{font:500 26px/1.2 Georgia,serif;margin:0}
.demonstrations-heading button{min-height:44px;flex:none}
#demonstrationsIntroduction{font-size:16px;line-height:1.5;margin:20px 0}
.demonstrations-choices{display:grid;gap:12px}
.demonstrations-choices button{display:grid;gap:8px;text-align:left;padding:18px;background:transparent;white-space:normal;line-height:1.45}
.demonstrations-choices strong{font:500 22px/1.25 Georgia,serif;color:#25383d}
.demonstrations-choices span{font-size:16px;font-weight:400;color:#53656a}
.demonstrations-choices small{font-size:14px;color:#236b60}
@media(max-width:760px){body .app-header{grid-template-columns:minmax(0,1fr) auto}#demonstrationsToggle{grid-column:2;grid-row:2}body .level-control{grid-column:1;grid-row:2}#demonstrationsDialog{padding:18px}.demonstrations-heading h2{font-size:23px}}
@media(max-width:650px){#rootTourDialog{width:100vw;height:100dvh;margin:0;border:0;border-radius:0}.root-tour-dialog-heading{padding:10px 12px;gap:12px}.root-tour-dialog-heading h2{font-size:16px}.root-tour-dialog-heading button{max-width:150px;min-height:44px}body .reader-episode{padding:18px}}
