/* Codex Bible 2.0: shared semantic surfaces, typography and motion. */
:root {
 --bg:#f7f8fa;--sidebar-bg:#fff;--surface:#fff;--surface-raised:#f0f2f5;--text:#17181a;--text-muted:#626670;--border:#dfe3e9;--accent:#245bd6;--hover:#eceff4;
 --ink:var(--text);--muted:var(--text-muted);--paper:var(--surface);--ground:var(--bg);--rail:var(--surface-raised);--line:var(--border);--blue:var(--accent);--wash:#edf2fd;
 --focus-ring:#245bd6;--selection:#d5e4ff;--overlay:#11151e88;--danger:#b52732;--warning:#855800;--success:#16704d;
 --shadow:0 8px 24px #1620350b;--shadow-modal:0 24px 100px #0003;--code-bg:#f4f6f9;--syntax-keyword:#8a3f92;--syntax-string:#176a4e;--syntax-comment:#68717d;
 --rail-width:248px;--header-height:72px;--assistant-width:344px;--radius:12px;--radius-large:18px;
 --motion-fast:120ms;--motion-normal:200ms;--motion-slow:320ms;--motion-enter:450ms;--ease-standard:cubic-bezier(.2,0,0,1);--ease-out:cubic-bezier(.22,1,.36,1);
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
 --category-color:var(--accent);--category-bg:var(--wash);
}
:root[data-theme=dark] {
 --bg:#111214;--sidebar-bg:#161719;--surface:#1c1d20;--surface-raised:#24262a;--text:#f4f4f5;--text-muted:#a1a1aa;--border:#303136;--accent:#8ab8ff;--hover:#292b30;--wash:#253047;
 --focus-ring:#8ab8ff;--selection:#294975;--overlay:#0009;--danger:#ff929a;--warning:#eac277;--success:#79d6ac;--shadow:0 8px 24px #0003;--shadow-modal:0 24px 100px #0009;
 --code-bg:#17181b;--syntax-keyword:#d6a7e8;--syntax-string:#99d6b1;--syntax-comment:#a0a7b2;
}
html {scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px);background:var(--bg);scrollbar-color:var(--border) var(--bg)}
body {background:var(--bg);color:var(--text);font:15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;overflow-wrap:break-word}
::selection {background:var(--selection)}
body, .encyclopedia-rail,.topbar,.task-card,.material-row,.bible-hero,.bible-assistant,button,input,select,textarea,.code-box,.article-layout {transition:background-color var(--motion-normal) var(--ease-standard),color var(--motion-normal) var(--ease-standard),border-color var(--motion-normal) var(--ease-standard)}
a,button,summary { -webkit-tap-highlight-color:transparent }
:where(a,button,input,select,textarea,summary):focus-visible {outline:3px solid var(--focus-ring);outline-offset:3px}
button,input,select,textarea {color:var(--text)}
.category-svg {display:block;flex:none;width:22px;height:22px}
.visually-hidden {position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip {background:var(--text);color:var(--bg);border-radius:8px;z-index:200}
.encyclopedia-rail {width:var(--rail-width);padding:28px 16px 16px;background:var(--sidebar-bg);border-color:var(--border);z-index:65;box-shadow:none}
.encyclopedia-rail .brand {font-size:16px;gap:10px;margin:0 8px 26px;letter-spacing:-.4px;font-weight:700}
.brand-mark {width:32px;height:32px}
[data-theme=dark] .brand-mark {filter:invert(1)}
.rail-primary {flex:1;scrollbar-width:thin;overflow-y:auto;padding:3px}
.rail-item,.rail-reference>summary,.rail-task>summary {font-size:13px;min-height:44px;padding:10px 11px;border-radius:8px;color:var(--text-muted);gap:10px;font-weight:500;transition:background var(--motion-normal),color var(--motion-normal)}
.rail-task>summary {justify-content:start}
.rail-task>summary>span:last-child {margin-left:auto;color:var(--text-muted)}
.rail-task>summary>.category-svg {width:18px;height:18px}
.rail-icon {color:inherit;display:flex!important;align-items:center;justify-content:center;width:20px}
.rail-icon .category-svg {width:19px;height:19px}
.rail-item:hover,.rail-reference>summary:hover,.rail-task>summary:hover {background:var(--hover);color:var(--text)}
.rail-item[aria-current],.rail-task>summary.is-active,.rail-task[open]>summary {color:var(--accent);background:var(--wash)}
.rail-section-label {font-size:10px;letter-spacing:1.2px;margin:25px 11px 8px;color:var(--text-muted)}
.rail-divider {margin:18px 11px;background:var(--border)}
.rail-task-panel {background:var(--surface);border-color:var(--border);color:var(--text);border-radius:10px}
.rail-task-panel a,.rail-reference>div>a {font-size:13px;color:var(--text-muted);padding:10px 8px;border-radius:6px;min-height:44px}
.rail-task-panel a:hover,.rail-reference>div>a:hover {background:var(--hover);color:var(--accent)}
.rail-task-panel>strong {font-size:15px}
.rail-panel-hint {color:var(--text-muted);font-size:12px}
.encyclopedia-rail .rail-bottom {margin-top:auto;padding-top:12px;border-color:var(--border)}
.rail-bottom .rail-item {font-size:13px;min-height:44px}
.rail-about,.rail-bottom>span {font-size:11px;color:var(--text-muted);margin:10px 11px 0}
.theme-control {display:block;margin:0 10px 12px;font-size:11px;color:var(--text-muted)}
.theme-control select {width:100%;height:40px;border:1px solid var(--border);background:var(--surface-raised);padding:0 9px;margin-top:7px;border-radius:8px;font-size:13px;color:var(--text)}
.encyclopedia-header {margin-left:var(--rail-width);height:var(--header-height);min-height:var(--header-height);padding:0 36px;gap:20px;background:var(--sidebar-bg);border-color:var(--border)}
.encyclopedia-header .global-search {width:460px;max-width:70%;height:42px;align-items:center;border:1px solid var(--border);background:var(--bg);border-radius:9px;padding:0 12px;gap:10px}
.global-search>span {font-size:20px;color:var(--text-muted)}
.global-search .category-svg {width:18px;height:18px}
.global-search input {font-size:13px;color:var(--text);padding:9px 0;min-width:0}
.global-search .icon-button {width:24px;height:36px;color:var(--text-muted);display:none}
.search-shortcut {font:11px ui-monospace,monospace;white-space:nowrap;background:var(--surface);color:var(--text-muted);padding:4px 6px;border:1px solid var(--border);border-radius:5px}
.header-actions {margin-left:auto;gap:16px}
.header-edition {color:var(--text-muted);font-size:12px}
.assistant-toggle {height:40px;padding:8px 12px;font-size:13px;color:var(--text);background:var(--surface);border-color:var(--border);border-radius:9px}
.assistant-toggle:hover {background:var(--hover)}
.workspace,.assistant-hidden .workspace {margin-left:var(--rail-width);margin-right:0}
#main {max-width:1360px;margin:0 auto;padding:36px 36px 64px;min-height:calc(100vh - 154px)}
h1 {font-size:36px;line-height:1.2;letter-spacing:-1.1px;font-weight:700}
h2 {font-size:25px;letter-spacing:-.6px}
h3 {font-size:16px;letter-spacing:-.3px}
.eyebrow {font-size:11px;letter-spacing:.7px;color:var(--text-muted)}
.intro {font-size:16px;color:var(--text-muted);line-height:1.7}
.bible-hero {background:var(--surface);background-image:none;border:1px solid var(--border);border-radius:var(--radius-large);padding:40px;position:relative;overflow:hidden}
.hero-badge {background:none;border:0;padding:0;font:10px/1.5 ui-monospace,SFMono-Regular,monospace;letter-spacing:1.8px;color:var(--text-muted);border-radius:0;gap:12px}
.hero-badge>span {color:var(--border);font-size:12px}
.bible-hero h1 {font-size:clamp(36px,3.8vw,56px);letter-spacing:-2px;line-height:1.12;margin:23px 0 18px;max-width:880px;position:relative;z-index:1}
.hero-accent {color:var(--accent)}
.bible-hero .intro {font-size:15px;line-height:1.75;color:var(--text-muted);position:relative;z-index:1}
.hero-actions {display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 26px;position:relative;z-index:1}
.primary-button,.hero-search button {background:#245bd6;color:#fff;min-height:44px;padding:11px 17px;font-size:13px;border:1px solid transparent;box-shadow:none;border-radius:8px;gap:14px;transition:background var(--motion-normal),transform var(--motion-normal)}
.primary-button:hover,.hero-search button:hover {background:#1c4eba;transform:translateY(-1px)}
.secondary-button {min-height:44px;display:flex;align-items:center;gap:14px;padding:11px 16px;font-size:13px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px}
.secondary-button>span {font-size:11px;color:var(--text-muted);font-family:ui-monospace,monospace}
.secondary-button:hover {background:var(--hover)}
.hero-search {display:none}
.hero-links {font-size:12px;color:var(--text-muted);gap:12px;position:relative;z-index:1}
.hero-links a {color:var(--text);border-bottom:1px solid var(--border)}
.hero-links a:hover {color:var(--accent);text-decoration:none;border-color:var(--accent)}
.hero-route {margin-top:28px;padding-top:20px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);gap:14px;position:relative;z-index:1}
.hero-route i {color:var(--text-muted)}
.hero-diagram {position:absolute;right:42px;top:58px;width:220px;height:220px;opacity:.6;background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:16px 16px;pointer-events:none}
.diagram-node {position:absolute;right:50px;top:58px;display:grid;place-items:center;width:80px;height:80px;border:1px solid var(--border);background:var(--surface-raised);border-radius:18px;font:32px ui-monospace,monospace;color:var(--accent);transform:rotate(-7deg)}
.diagram-node:before,.diagram-node:after {content:'';position:absolute;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
.diagram-node:before {left:-64px;top:-34px}.diagram-node:after {right:-54px;bottom:-27px}
.diagram-caption {position:absolute;bottom:10px;right:20px;font:9px ui-monospace,monospace;letter-spacing:2px;color:var(--text-muted)}
.diagram-line {position:absolute;top:45px;left:30px;width:150px;height:115px;border:1px dashed var(--border);border-radius:12px}
.beginner-banner {margin-top:16px;padding:20px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:16px}
.beginner-icon {display:grid;place-items:center;width:44px;height:44px;padding:0;background:var(--wash);color:var(--accent);border:0;border-radius:10px;box-shadow:none;flex:none}
.beginner-banner h2 {font-size:17px;margin-bottom:4px}.beginner-banner p {font-size:13px;color:var(--text-muted)}
.beginner-banner .primary-button {background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:13px;padding:10px 14px;margin-left:auto}
.home-section {margin-top:36px}.home-section .section-title {margin-bottom:18px}.home-section h2 {font-size:24px}.home-section .eyebrow {font-size:11px;color:var(--text-muted);margin-bottom:6px}
.task-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.task-card,.featured-guide,.library-shortcuts>a {background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:none;transition:transform 220ms var(--ease-out),border-color 220ms,box-shadow 220ms,background-color 220ms}
.task-card:hover,.featured-guide:hover,.library-shortcuts>a:hover,.material-row:hover {transform:translateY(-3px);border-color:var(--accent);background:var(--surface);box-shadow:var(--shadow)}
.task-icon,.task-card:nth-child(n) .task-icon,.featured-icon {display:grid;place-items:center;width:44px;height:44px;margin-bottom:22px;border:1px solid color-mix(in srgb,var(--category-color) 15%,var(--border));background:var(--category-bg);color:var(--category-color);border-radius:11px;box-shadow:none}
.tone-design {--category-color:#9a58b6;--category-bg:#f5eefa}.tone-video {--category-color:#b16e39;--category-bg:#fbf2e9}.tone-social {--category-color:#347f79;--category-bg:#eaf6f3}.tone-marketing {--category-color:#927027;--category-bg:#f8f4e7}.tone-documents {--category-color:#57864c;--category-bg:#eff6eb}.tone-agents {--category-color:#9062b8;--category-bg:#f3eef9}.tone-development,.tone-mcp {--category-color:#3a7eab;--category-bg:#edf5fa}.tone-skills {--category-color:#9062b8;--category-bg:#f3eef9}.tone-configuration {--category-color:#347f79;--category-bg:#eaf6f3}
[data-theme=dark] :is(.tone-design,.tone-skills,.tone-agents) {--category-color:#cea1ed;--category-bg:#30263a}
[data-theme=dark] .tone-video {--category-color:#e2ad7f;--category-bg:#342a22}
[data-theme=dark] :is(.tone-social,.tone-configuration) {--category-color:#80c9b9;--category-bg:#20342e}
[data-theme=dark] .tone-marketing {--category-color:#d7c078;--category-bg:#333022}
[data-theme=dark] .tone-documents {--category-color:#a5cb92;--category-bg:#293323}
[data-theme=dark] :is(.tone-development,.tone-mcp) {--category-color:#91c2e4;--category-bg:#25313a}
.task-card h3 {font-size:15px;line-height:1.4}.task-card p {font-size:13px;line-height:1.65;color:var(--text-muted);margin:9px 0 0}
.task-arrow {color:var(--text-muted);font-size:18px;right:20px;top:20px;transition:transform var(--motion-normal)}.task-card:hover .task-arrow {transform:translate(2px,-2px);color:var(--accent)}
.featured-grid,.library-shortcuts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.featured-guide {display:block;padding:24px}.featured-guide>span:not(.featured-icon) {font-size:11px;color:var(--text-muted)}.featured-guide h3 {font-size:17px;line-height:1.4;margin:10px 0}.featured-guide p {font-size:13px;line-height:1.65;color:var(--text-muted);margin-bottom:20px}.featured-guide b {font-size:13px;color:var(--accent)}.featured-icon {width:38px;height:38px;margin-bottom:16px}
.library-shortcuts {padding:0;border:0}.library-shortcuts>a {background:var(--surface-raised);padding:22px}.library-shortcuts h3 {font-size:16px}.library-shortcuts p {font-size:13px;color:var(--text-muted)}.library-shortcuts span {color:var(--accent);font-size:13px}
.section-heading,.material-header {background:none;border:0;padding:0;border-radius:0;margin-bottom:28px;max-width:950px}
.material-header h1 {font-size:36px;letter-spacing:-1px;line-height:1.22;margin:12px 0 20px}.material-head-meta {font-size:12px;color:var(--text-muted);margin:0 0 24px;gap:12px}
.breadcrumb {font-size:12px;color:var(--text-muted);margin:0 0 20px}.badge {background:var(--surface-raised);color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:4px 8px}
.catalog,.path-steps,.chapter-part>.material-list {background:none;border:0;padding:0;border-radius:0}
.material-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.material-row {display:flex;flex-direction:column;position:relative;min-width:0;padding:24px;background:var(--surface);border:1px solid var(--border)!important;border-radius:var(--radius);gap:10px;transition:transform 220ms var(--ease-out),border-color 220ms,box-shadow 220ms}
.row-kind {display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:11px;padding:0;margin-bottom:8px;min-height:34px}
.row-kind>.category-svg {width:36px;height:36px;padding:8px;background:var(--category-bg);color:var(--category-color);border-radius:9px}
.row-title {font-size:16px;line-height:1.45;letter-spacing:-.2px;color:var(--text)}
.row-description {font-size:13px;line-height:1.65;color:var(--text-muted);margin:9px 0 4px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.row-arrow {position:absolute;top:24px;right:20px;opacity:.6}.row-meta {font-size:12px;color:var(--text-muted)}
[data-theme=dark] :is(.row-arrow,.save-button img,.saved-remove img,.search-submit img) {filter:invert(1)}
#article-results .material-row {display:flex}
.catalog-controls,.search-controls {grid-template-columns:minmax(0,1fr) repeat(2,minmax(150px,190px));gap:12px;background:var(--surface);padding:18px;border:1px solid var(--border);border-radius:var(--radius);margin:24px 0 16px}
.catalog-controls label,.search-controls label {font-size:12px;color:var(--text-muted)}
.catalog-controls :is(input,select),.search-controls :is(input,select),.page-search {background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;height:44px;font-size:14px;padding:9px 12px;margin-top:6px;max-width:100%}
.search-controls {grid-template-columns:minmax(0,1fr) repeat(3,minmax(130px,170px))}.search-submit {display:none}
.search-reset {border:1px solid var(--border);background:var(--surface);color:var(--accent);border-radius:7px;min-height:36px;padding:6px 12px;font-size:12px;white-space:nowrap}
.filter-status {display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;flex-wrap:wrap}.filter-chips {display:flex;gap:8px;flex-wrap:wrap}.filter-chip {display:inline-flex;align-items:center;gap:8px;background:var(--wash);color:var(--accent);border:1px solid var(--border);border-radius:6px;padding:5px 9px;font-size:12px;min-height:36px}
.result-count {font-size:13px;color:var(--text-muted);margin:0 0 16px}.empty {background:var(--surface);border:1px dashed var(--border);border-radius:12px;padding:36px;text-align:center;color:var(--text-muted)}
.article-layout {display:grid;grid-template-columns:minmax(0,760px) minmax(180px,1fr);gap:40px;padding:32px 0;background:none;border:0;border-top:1px solid var(--border);border-radius:0;margin:0;align-items:start}
.prose {font-size:17px;line-height:1.8;max-width:760px;min-width:0;overflow-wrap:anywhere}.prose h2 {font-size:27px;line-height:1.35;letter-spacing:-.5px;margin:40px 0 16px;scroll-margin-top:112px}.prose h3 {font-size:21px;line-height:1.45;margin:30px 0 14px}.prose a {color:var(--accent)}.prose :not(pre)>code {font-size:14px;background:var(--surface-raised);border:1px solid var(--border);padding:2px 5px;border-radius:4px}.prose blockquote {background:var(--surface);border-left:3px solid var(--accent);padding:12px 20px;color:var(--text-muted);border-radius:0 8px 8px 0}.prose th {background:var(--surface-raised)}.prose td,.prose th {border-color:var(--border)}
.article-toc {order:initial;position:sticky;top:calc(var(--header-height) + 24px);padding:0 0 0 20px;border:0;border-left:1px solid var(--border);background:none;border-radius:0;max-height:calc(100dvh - 128px);overflow:auto;font-size:13px;width:auto;margin:0}
.article-toc summary {font-size:12px;font-weight:600;color:var(--text);padding:8px 0;margin-bottom:8px}.article-toc nav {display:block}.article-toc a {display:block;color:var(--text-muted);font-size:12px;line-height:1.5;padding:8px 10px;margin:0;border-radius:6px;transition:color var(--motion-fast),background var(--motion-fast)}.article-toc a[aria-current],.article-toc a:hover {color:var(--accent);background:var(--wash)}.article-toc .toc-h3 {padding-left:20px}
.heading-anchor {opacity:0;text-decoration:none!important;font-size:.8em;margin-left:10px;color:var(--text-muted)!important}.prose :is(h2,h3):hover .heading-anchor,.heading-anchor:focus-visible {opacity:1}
.code-box {background:var(--code-bg);border:1px solid var(--border);border-radius:10px;margin:24px 0;max-width:100%}.code-top {padding:7px 14px;border-color:var(--border);color:var(--text-muted);font-size:12px;background:var(--surface-raised)}.copy {min-width:116px;min-height:38px;background:var(--surface);color:var(--accent);border:1px solid var(--border);padding:7px 12px;border-radius:6px;font-size:12px}.copy:hover {background:var(--hover)}.code-box pre {font:13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;padding:20px;overflow-x:auto;white-space:pre;overflow-wrap:normal}.code-box:has(.language-text) pre,.code-box:has(.language-prompt) pre {white-space:pre-wrap;overflow-wrap:anywhere}.manual-copy textarea {background:var(--surface);color:var(--text);border-color:var(--border)}
.syntax-keyword {color:var(--syntax-keyword)}.syntax-string {color:var(--syntax-string)}.syntax-comment {color:var(--syntax-comment)}
.save-button {background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;min-height:44px}.save-button:hover,.save-button[aria-pressed=true] {color:var(--accent);background:var(--wash)}.saved-remove {background:var(--surface);border-color:var(--border);border-radius:7px;top:14px;right:14px}.saved-item {min-width:0}.saved-item .material-row {height:100%}
.related .material-list {grid-template-columns:repeat(2,minmax(0,1fr))}.prose .related .material-row {display:flex;padding:20px}.prose .related .row-kind,.prose .related .row-content {grid-column:auto}
.path-steps li {background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:14px 0;padding:24px;gap:16px}.path-steps h2 {font-size:21px}.path-steps p {font-size:14px}.path-steps .step-number {font-size:13px;width:34px;height:34px;background:var(--wash);color:var(--accent)}.path-row {min-height:64px;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
.category-choices {list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0;padding:0}.category-choices li {padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:transform var(--motion-normal),border-color var(--motion-normal)}.category-choices li:hover {transform:translateY(-3px);border-color:var(--accent)}.category-choices h2 {font-size:21px;line-height:1.4}.category-choices p {color:var(--text-muted);font-size:14px}
.plan-contents {padding:12px 0 24px}.plan-contents h2 {font-size:21px}.plan-contents ul {gap:10px 16px}.plan-contents a {background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:14px;min-height:64px;padding:15px 18px;border-radius:10px;transition:transform 220ms var(--ease-out),background 220ms,border-color 220ms,box-shadow 220ms}.plan-contents a:hover,.plan-contents a:focus-visible {background:var(--wash);color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow)}.plan-link-arrow {color:var(--accent)}
.plan-jump {top:var(--header-height);background:var(--bg);border-color:var(--border);padding:12px 0;font-size:13px;z-index:25}.plan-jump select {background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;min-height:44px;font-size:14px}.full-plan {margin:0 auto;max-width:800px}.full-plan h2 {font-size:27px;scroll-margin-top:165px}.route-intro {background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:950px}.route-intro p {font-size:15px;color:var(--text-muted)}.route-check {color:var(--text-muted)}
.task-directions a,.task-direction {background:var(--surface);border-color:var(--border)}.task-directions a {font-size:14px}.task-direction .material-list {background:none}
/* A plan is a continuous reading surface, not a grid of destination cards. */
.full-plan-page {width:100%;max-width:800px;margin:0 auto;}
.full-plan-page .section-heading {background:none;border:0;border-radius:0;padding:0;margin:0 0 24px;}
.full-plan-page h1 {font-size:32px;line-height:1.25;letter-spacing:0;margin:8px 0 12px;}
.full-plan-page .intro {font-size:16px;line-height:1.65;margin:0 0 16px;}
.full-plan-page .eyebrow {margin:0;}
.full-plan-page .route-intro {background:none;border:0;border-radius:0;padding:0 0 24px;margin:0;border-bottom:1px solid var(--border);max-width:none;}
.full-plan-page .route-intro h2 {font-size:18px;line-height:1.5;letter-spacing:0;margin:0 0 8px;}
.full-plan-page .route-intro p {font-size:15px;line-height:1.7;margin:8px 0 0;color:var(--text-muted);}
.full-plan-page .plan-contents {padding:24px 0;margin:0;border:0;}
.full-plan-page .plan-contents h2 {display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:18px;letter-spacing:0;margin:0 0 12px;}
.plan-step-count {font-size:12px;font-weight:400;color:var(--text-muted);white-space:nowrap;}
.full-plan-page .plan-contents ol {list-style:none;display:flex;flex-direction:column;gap:0;margin:0;padding:0;columns:auto;}
.full-plan-page .plan-contents li {padding:0;margin:0;border-bottom:1px solid var(--border);}
.full-plan-page .plan-contents a {display:grid;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:12px;min-height:44px;height:auto;padding:10px 8px;border:0;border-radius:4px;background:none;box-shadow:none;font-size:14px;line-height:1.5;font-weight:500;color:var(--text);transform:none;transition:background var(--motion-fast),color var(--motion-fast);}
.full-plan-page .plan-step-number {font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:center;}
.full-plan-page .plan-link-arrow {font-size:14px;color:var(--text-muted);transition:transform var(--motion-fast),color var(--motion-fast);}
.full-plan-page .plan-contents a:hover,.full-plan-page .plan-contents a[aria-current] {background:var(--wash);color:var(--accent);box-shadow:none;transform:none;}
.full-plan-page .plan-contents a:hover .plan-link-arrow {color:var(--accent);transform:translateX(2px);}
.full-plan-page .plan-contents a:focus-visible {outline:2px solid var(--focus-ring);outline-offset:2px;background:var(--wash);}
.full-plan-page .full-plan {max-width:none;margin:0;font-size:16px;line-height:1.8;}
.full-plan-page .full-plan h2 {font-size:24px;line-height:1.4;letter-spacing:0;margin:40px 0 16px;padding-top:24px;border-top:1px solid var(--border);scroll-margin-top:16px;}
.full-plan-page .full-plan h3 {font-size:19px;line-height:1.5;letter-spacing:0;margin:24px 0 12px;}
.full-plan-page .full-plan > h2:first-child {margin-top:0;}
.plan-step-actions {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 0;}
.plan-step-actions a {display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:13px;line-height:1.5;text-decoration:none;}
.plan-step-actions a:last-child {text-align:right;max-width:75%;}
.plan-step-actions a:hover {text-decoration:underline;text-underline-offset:4px;}
@media(max-width:650px) {.full-plan-page h1 {font-size:28px;}.full-plan-page .full-plan h2 {font-size:22px;scroll-margin-top:16px;}.full-plan-page .plan-contents a {gap:8px;padding-inline:4px;}}
@media(prefers-reduced-motion:reduce) {.full-plan-page .plan-link-arrow {transition:none;}.full-plan-page .plan-contents a:hover .plan-link-arrow {transform:none;}}
.update {border-color:var(--border);font-size:15px}.update time {color:var(--text-muted)}
.footer {margin:0 36px;padding:22px 0;display:flex;flex-wrap:wrap;background:none;border-color:var(--border);font-size:12px;color:var(--text-muted)}
.toast {background:var(--text);color:var(--bg);border-radius:10px;box-shadow:var(--shadow);font-size:13px;transition:opacity var(--motion-normal);z-index:150}
/* Existing assistant remains functional, presented as an optional panel. */
.bible-assistant {top:var(--header-height);background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-modal);z-index:60;animation:panel-enter var(--motion-normal) var(--ease-out)}
.assistant-head,.assistant-bottom {background:var(--surface);border-color:var(--border);padding:20px}.assistant-scroll {background:var(--surface);padding:24px}.assistant-head strong {font-size:14px}.assistant-head small {font-size:11px;color:var(--text-muted)}.assistant-kicker {font-size:12px;color:var(--text-muted)}.assistant-welcome h2 {font-size:26px}.assistant-welcome p,.assistant-status,.assistant-privacy {color:var(--text-muted);font-size:12px}.assistant-symbol {background:var(--wash);color:var(--accent)}.assistant-suggestions button,.source-card {background:var(--surface-raised);border:1px solid var(--border);color:var(--text);font-size:13px;box-shadow:none}.assistant-suggestions button:hover,.source-card:hover {background:var(--hover)}.assistant-form {background:var(--bg);border-color:var(--border)}.assistant-form textarea {color:var(--text);font-size:14px;background:none}.assistant-message.answer {background:var(--surface-raised);color:var(--text);font-size:14px}.assistant-message.user {background:var(--wash);color:var(--text);font-size:14px}.assistant-close {color:var(--text-muted);background:var(--surface);min-width:44px;min-height:44px;border-radius:8px}.assistant-reset {color:var(--text-muted);font-size:12px}.assistant-status.error {color:var(--danger)}
/* Native dialog provides modal semantics, focus containment and Escape. */
.search-dialog {width:min(680px,calc(100vw - 32px));padding:0;max-height:min(650px,calc(100dvh - 40px));border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-modal);overflow:hidden}
.search-dialog::backdrop {background:var(--overlay)}
.search-dialog[open] {animation:search-enter 220ms var(--ease-out)}
.palette-head {display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}
.palette-head input {flex:1;min-width:0;border:0;outline:none;background:none;font-size:16px;color:var(--text);height:36px}
.palette-head input:focus-visible {outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:4px}
.palette-close {border:1px solid var(--border);background:var(--surface-raised);color:var(--text-muted);border-radius:6px;padding:6px 10px;font-size:11px;min-height:36px}
.palette-scroll {overflow:auto;max-height:calc(100dvh - 200px);padding:10px 12px;min-height:140px}
.palette-heading {padding:10px 12px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted)}
.palette-result {display:flex;align-items:start;gap:12px;padding:12px;border-radius:9px;min-height:70px;color:var(--text)}
.palette-result:hover,.palette-result.is-selected {background:var(--wash)}
.palette-result .result-icon {display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--surface-raised);color:var(--accent);font:16px ui-monospace,monospace;flex:none}
.palette-result strong {font-size:14px;font-weight:600;line-height:1.4;display:block}.palette-result small {display:block;color:var(--text-muted);font-size:12px;line-height:1.5;margin-top:4px}.palette-result mark {background:var(--selection);color:var(--text);border-radius:2px}
.palette-status {padding:14px;font-size:13px;color:var(--text-muted)}.palette-footer {display:flex;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--border);color:var(--text-muted);font-size:11px}.palette-footer a {color:var(--accent)}
.nav-backdrop {position:fixed;inset:0;background:var(--overlay);z-index:61;border:0;border-radius:0;display:none}.nav-close {display:none}.reading-progress {position:fixed;top:var(--header-height);left:var(--rail-width);width:calc(100% - var(--rail-width));height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0);z-index:52;pointer-events:none}
.skeleton-row {min-height:180px;background:var(--surface-raised);border-radius:12px;animation:skeleton 1.2s ease-in-out infinite}
@keyframes skeleton {50%{opacity:.5}}
@keyframes search-enter {from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes panel-enter {from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes hero-enter {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.bible-hero>:is(.hero-badge,h1,.intro,.hero-actions) {animation:hero-enter var(--motion-enter) var(--ease-out) both}.bible-hero h1 {animation-delay:50ms}.bible-hero .intro {animation-delay:100ms}.bible-hero .hero-actions {animation-delay:150ms}
@media(hover:hover) and (pointer:fine) and (min-width:901px) {.rail-task-panel {left:calc(var(--rail-width) - 1px);background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-modal);animation:panel-enter 160ms var(--ease-out);border-radius:0 12px 12px 0;width:330px}}
@media(min-width:1700px) {.material-list {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1280px) {.task-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.hero-diagram {display:none}.article-layout {grid-template-columns:minmax(0,1fr)}.article-toc {position:static;grid-row:1;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:240px}.article-toc nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.material-list {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px) {.task-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.featured-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.featured-guide:last-child {grid-column:1/-1}.library-shortcuts {grid-template-columns:1fr}.category-choices {grid-template-columns:1fr}.search-controls {grid-template-columns:repeat(2,minmax(0,1fr))}.bible-hero h1 {font-size:40px}.header-edition {display:none}}
@media(max-width:900px) {
 .encyclopedia-rail {width:var(--rail-width);transform:translateX(-100%);transition:transform 280ms var(--ease-out);box-shadow:var(--shadow-modal);padding-top:24px;max-height:100dvh}
 .navigation-open .encyclopedia-rail {transform:none}.navigation-open .nav-backdrop {display:block;animation:hero-enter 200ms var(--ease-out)}
 .navigation-open {overflow:hidden}.nav-close {display:flex;align-items:center;justify-content:center;min-height:44px;margin-bottom:14px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text);border-radius:8px}
 .rail-toggle {display:block;min-width:44px;min-height:44px;padding:0;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;font-size:18px}
 .encyclopedia-header {margin-left:0;padding:0 20px;gap:12px}.encyclopedia-header .global-search {max-width:none;flex:1;width:auto}
 .workspace,.assistant-hidden .workspace {margin-left:0;margin-right:0}.reading-progress {left:0;width:100%}
 .rail-task-panel {position:static;margin:4px 5px 8px;padding:8px;border:1px solid var(--border);box-shadow:none}.rail-task-panel>strong {display:none}.rail-primary {padding-right:0}
 #main {padding:28px 24px 48px}.bible-hero {padding:32px}.task-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.featured-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.featured-guide:last-child {grid-column:auto}
 .bible-assistant {width:min(400px,100vw)}.footer {margin:0 24px}
}
@media(max-width:650px) {
 :root {--header-height:64px}
 .encyclopedia-header {padding:0 16px;gap:8px}.encyclopedia-header .global-search {padding:0 9px;gap:7px}.global-search input {font-size:12px}.search-shortcut {display:none}.assistant-toggle {width:44px;height:44px;padding:0;font-size:19px}.assistant-toggle>span {display:none}.header-actions {gap:0}
 #main {padding:20px 16px 40px}.bible-hero {padding:27px 24px;border-radius:14px}.bible-hero h1 {font-size:34px;letter-spacing:-1.4px;margin-top:20px}.bible-hero .intro {font-size:14px}.bible-hero .intro br {display:none}.hero-badge {font-size:9px;letter-spacing:1px}.hero-actions {margin:22px 0;gap:8px}.hero-actions .primary-button,.secondary-button {font-size:12px;padding:10px 12px}.secondary-button>span {display:none}.hero-links {font-size:11px;gap:8px}.hero-route {font-size:10px;gap:9px;line-height:1.8}
 .beginner-banner {padding:20px;flex-wrap:wrap;gap:12px}.beginner-banner>div:nth-child(2) {flex:1;min-width:160px}.beginner-banner h2 {font-size:16px}.beginner-banner p {font-size:12px}.beginner-banner .primary-button {margin:0 0 0 56px}.beginner-icon {display:grid}
 .task-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-card {padding:18px 16px}.task-card h3 {font-size:14px}.task-card p {font-size:12px;line-height:1.6}.task-icon {margin-bottom:18px}.task-arrow {top:15px;right:14px}
 .home-section {margin-top:30px}.home-section h2 {font-size:22px}.featured-grid {grid-template-columns:1fr;gap:12px}.featured-guide {padding:22px}.library-shortcuts {gap:12px}.material-list {grid-template-columns:1fr;gap:12px}.material-row {padding:22px}.row-kind {display:flex}.row-title {font-size:16px}
 .catalog-controls,.search-controls {grid-template-columns:1fr;padding:16px;margin:20px 0;gap:12px}.search-controls label:nth-child(n) {grid-column:auto}.search-controls :is(input,select),.catalog-controls :is(input,select) {font-size:16px}.search-controls label:first-child {grid-column:auto}
 h1,.material-header h1 {font-size:30px}.material-header {padding:0}.section-heading {padding:0}.material-head-meta {gap:12px}.article-layout {padding-top:24px;gap:24px}.article-toc nav {display:block}.article-toc {max-height:260px;padding:12px 16px}.prose {font-size:16px;line-height:1.8}.prose h2,.full-plan h2 {font-size:24px}.prose h3 {font-size:20px}.code-box pre {font-size:12px;padding:16px}.code-top {padding:7px 10px}
 .plan-contents ul {grid-template-columns:1fr}.plan-contents a {font-size:14px}.plan-jump {flex-direction:column;align-items:stretch;gap:4px}.full-plan h2 {scroll-margin-top:180px}.route-intro {padding:20px}.route-intro p {font-size:14px}.related .material-list {grid-template-columns:1fr}
 .footer {margin:0 16px;padding:20px 0;font-size:11px;gap:12px}.footer>span {width:100%}.bible-assistant {width:100%;top:var(--header-height)}.assistant-form textarea {font-size:16px}.assistant-suggestions button {min-height:44px;font-size:13px}
 .search-dialog {width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:10px auto auto}.palette-head {padding:14px 12px;gap:8px}.palette-head input {font-size:16px}.palette-scroll {max-height:calc(100dvh - 150px)}.palette-footer {padding:12px;font-size:10px}.palette-close {min-height:44px}
}
@media(max-width:380px) {.task-grid {grid-template-columns:1fr}.hero-actions {flex-direction:column;align-items:stretch}.secondary-button {justify-content:center}.bible-hero h1 {font-size:31px}.hero-route {gap:6px}}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.task-card:hover,.featured-guide:hover,.library-shortcuts>a:hover,.material-row:hover,.category-choices li:hover{transform:none}}
/* Keep discovery within reach of the first screen. */
.hero-route {display:none}
.article-summary {margin:0 0 20px;max-width:70ch}
@media(max-width:1600px) {.hero-diagram{display:none}}
/* Explicitly override the legacy tablet grid header. */
.encyclopedia-header {display:flex}
.rail-toggle {flex:0 0 44px}
.catalog-controls,.search-controls {grid-template-columns:minmax(0,1.6fr) minmax(0,2.4fr)}
.filter-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;min-width:0}
.catalog-controls .filter-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.mobile-filter-toggle {display:none}
.filter-dialog {border:1px solid var(--border);border-radius:18px;padding:24px;background:var(--surface);color:var(--text);width:calc(100vw - 20px);max-width:460px;box-shadow:var(--shadow-modal)}
.filter-dialog::backdrop {background:var(--overlay)}
.filter-dialog[open] {animation:search-enter 220ms var(--ease-out)}
.filter-dialog h2 {font-size:22px;margin:0 0 24px}
.filter-dialog .filter-grid {grid-template-columns:1fr;margin-bottom:24px}
.filter-dialog label {display:block;font-size:13px;color:var(--text-muted)}
.filter-dialog select {display:block;width:100%;min-height:44px;margin-top:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--bg);font-size:16px}
.filter-dialog>.primary-button {width:100%}
@media(max-width:1050px) {.search-controls,.catalog-controls{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px) {.search-controls,.catalog-controls{grid-template-columns:1fr}.search-controls>.filter-grid,.catalog-controls>.filter-grid{display:none}.mobile-filter-toggle{display:block;border:1px solid var(--border);background:var(--surface-raised);color:var(--text);min-height:44px;font-size:14px;border-radius:8px}.filter-dialog .filter-grid{display:grid}}

/* Liquid glass: theme-aware translucency, a polished rim and soft refraction.
   Reading content and code retain their original contrast and solid surfaces. */
:root {
 --glass-fill:rgb(255 255 255 / .64);--glass-chrome:rgb(255 255 255 / .76);
 --glass-edge:rgb(255 255 255 / .88);--glass-rim:rgb(130 151 186 / .28);
 --glass-shine:rgb(255 255 255 / .7);--glass-shadow:0 10px 32px rgb(37 65 108 / .07);
 --glass-blue:rgb(99 155 245 / .13);--glass-violet:rgb(161 141 219 / .10);
 --glass-blur:20px;
}
:root[data-theme=dark] {
 --glass-fill:rgb(30 33 40 / .64);--glass-chrome:rgb(22 25 31 / .8);
 --glass-edge:rgb(212 231 255 / .18);--glass-rim:rgb(164 194 235 / .17);
 --glass-shine:rgb(207 227 255 / .08);--glass-shadow:0 12px 36px rgb(0 0 0 / .2);
 --glass-blue:rgb(73 122 218 / .13);--glass-violet:rgb(141 112 192 / .09);
}
body {
 background-image:radial-gradient(ellipse at 72% 6%,var(--glass-blue),transparent 48%),radial-gradient(ellipse at 22% 72%,var(--glass-violet),transparent 50%);
 background-attachment:fixed;
}
.workspace {background:transparent}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 :is(.encyclopedia-header,.encyclopedia-rail,.rail-task-panel,.bible-assistant) {
  background:linear-gradient(145deg,var(--glass-shine),transparent 55%),var(--glass-chrome);
  -webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%);
  border-color:var(--glass-rim);box-shadow:inset 0 1px 0 var(--glass-edge),var(--glass-shadow);
 }
 /* Flyouts overlap page text, so use an opaque base beneath the glass sheen. */
 .rail-task-panel {
  background:linear-gradient(145deg,var(--glass-shine),transparent 55%),var(--surface);
  box-shadow:inset 0 1px 0 var(--glass-edge),var(--shadow-modal);
 }
 :is(.bible-hero,.task-card,.featured-guide,.library-shortcuts>a,.material-row,.beginner-banner,.catalog-controls,.search-controls,.search-dialog,.filter-dialog) {
  background:linear-gradient(135deg,var(--glass-shine),transparent 42%),var(--glass-fill);
  border-color:var(--glass-rim);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(135%);backdrop-filter:blur(var(--glass-blur)) saturate(135%);
  box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 -1px 0 rgb(255 255 255 / .04),var(--glass-shadow);
 }
 .bible-hero {
  background:radial-gradient(ellipse at 95% 0%,var(--glass-blue),transparent 55%),linear-gradient(120deg,var(--glass-shine),transparent 45%),var(--glass-fill);
  box-shadow:inset 0 1px 0 var(--glass-edge),inset 1px 0 0 var(--glass-edge),0 16px 48px rgb(30 58 100 / .07);
 }
 :is(.task-card,.featured-guide,.library-shortcuts>a,.material-row) {position:relative;isolation:isolate}
 :is(.task-card,.featured-guide,.library-shortcuts>a,.material-row)::before {
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:linear-gradient(115deg,transparent 18%,var(--glass-shine) 45%,transparent 72%);
  background-size:220% 100%;background-position:100% 0;opacity:0;
  transition:background-position 650ms var(--ease-out),opacity 220ms var(--ease-out);
 }
 @media(hover:hover) and (pointer:fine) {
  :is(.task-card,.featured-guide,.library-shortcuts>a,.material-row):hover {
   background:linear-gradient(135deg,var(--glass-shine),transparent 42%),var(--glass-fill);
   border-color:color-mix(in srgb,var(--accent) 40%,var(--glass-rim));
   box-shadow:inset 0 1px 0 var(--glass-edge),0 14px 34px rgb(40 70 125 / .12);
  }
  :is(.task-card,.featured-guide,.library-shortcuts>a,.material-row):hover::before {opacity:.65;background-position:0 0}
 }
 .encyclopedia-header .global-search,.secondary-button,.assistant-toggle,.theme-control select {
  background:linear-gradient(135deg,var(--glass-shine),transparent 65%),var(--glass-fill);
  border-color:var(--glass-rim);box-shadow:inset 0 1px 0 var(--glass-edge);
 }
 :is(.search-dialog,.filter-dialog)::backdrop {
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
 }
 @media(max-width:650px) {
  :root {--glass-blur:12px}
  body {background-attachment:scroll}
  .encyclopedia-header,.encyclopedia-rail { -webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%) }
 }
}
@media(prefers-reduced-transparency:reduce) {
 :root,:root[data-theme=dark] {--glass-fill:var(--surface);--glass-chrome:var(--surface);--glass-shine:transparent;--glass-blue:transparent;--glass-violet:transparent}
 body {background-image:none}
 :is(.encyclopedia-header,.encyclopedia-rail,.rail-task-panel,.bible-assistant,.bible-hero,.task-card,.featured-guide,.library-shortcuts>a,.material-row,.beginner-banner,.catalog-controls,.search-controls,.search-dialog,.filter-dialog,.encyclopedia-header .global-search,.secondary-button,.assistant-toggle,.theme-control select) {
  background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--border);box-shadow:none;
 }
 :is(.task-card,.featured-guide,.library-shortcuts>a,.material-row)::before {display:none}
 :is(.search-dialog,.filter-dialog)::backdrop {-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* Reference-style flyouts: opaque panels, generous rows and calm GSAP motion. */
:root {--menu-bg:#fff;--menu-hover:#edf0f4;--menu-edge:#dfe3e9}
:root[data-theme=dark] {--menu-bg:#242426;--menu-hover:#39393d;--menu-edge:#3b3b3f}
.rail-task-panel,.rail-reference>.rail-task-panel {
 background:var(--menu-bg);border:1px solid var(--menu-edge);border-radius:18px;padding:8px;
 box-shadow:inset 0 1px 0 var(--glass-edge),0 18px 48px rgb(0 0 0 / .22);animation:none;
 -webkit-backdrop-filter:none;backdrop-filter:none;
}
.rail-task-panel>a,.rail-reference>.rail-task-panel>a {
 display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0;padding:12px 14px;
 min-height:46px;border-radius:11px;color:var(--text);font-size:14px;line-height:1.5;font-weight:400;
 transition:background-color 150ms,color 150ms;
}
.rail-task-panel>a:hover,.rail-task-panel>a:focus-visible {background:var(--menu-hover);color:var(--text)}
.rail-task-panel>a.task-category::after {content:"›";color:var(--text-muted);font-size:22px;flex-shrink:0;line-height:1}
.rail-task-panel>a.task-overview {color:var(--accent);font-weight:500}
.rail-task[open]>summary,.rail-reference[open]>summary {background:var(--menu-hover);color:var(--text)}
.rail-task>summary>span:last-child,.rail-reference>summary>span:last-child {transition:transform 220ms var(--ease-out)}
.rail-task[open]>summary>span:last-child {transform:rotate(90deg)}
@media(hover:hover) and (pointer:fine) and (min-width:901px) {
 .rail-task-panel,.rail-reference>.rail-task-panel {position:fixed;left:calc(var(--rail-width) + 8px);width:340px;max-height:calc(100dvh - 24px);overflow:auto;margin:0;z-index:80;border-radius:18px;padding:8px;animation:none}
 .rail-task-panel>strong,.rail-panel-hint {display:none}
 .rail-task-panel a.task-overview {margin:2px 0 6px}
 .rail-task-panel::before {left:-16px;width:16px}
}
@media(max-width:900px) {
 .rail-task-panel,.rail-reference>.rail-task-panel {position:static;width:auto;margin:6px 2px 10px;padding:6px;border-radius:12px;box-shadow:inset 0 1px 0 var(--glass-edge)}
 .rail-task-panel>a,.rail-reference>.rail-task-panel>a {font-size:13px;padding:11px 10px}
 .rail-task-panel>strong,.rail-panel-hint {display:none}
}
@media(prefers-reduced-motion:reduce) {.rail-task-panel>a,.rail-task>summary>span:last-child,.rail-reference>summary>span:last-child {transition:none}}

/* One tactile theme button; its icon shows the theme you can switch to. */
.theme-toggle {display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid var(--glass-rim);border-radius:12px;color:var(--text);cursor:pointer;background:linear-gradient(135deg,var(--glass-shine),transparent 65%),var(--glass-fill);box-shadow:inset 0 1px 0 var(--glass-edge),0 3px 12px rgb(30 50 90 / .06);transition:transform 180ms var(--ease-out),background-color 180ms,box-shadow 180ms}
.theme-toggle svg {width:20px;height:20px;grid-area:1/1;transition:transform 240ms var(--ease-out),opacity 180ms}
.theme-sun {opacity:0;transform:rotate(-45deg) scale(.6)}
.theme-moon {opacity:1;transform:none}
[data-theme=dark] .theme-sun {opacity:1;transform:none}
[data-theme=dark] .theme-moon {opacity:0;transform:rotate(35deg) scale(.6)}
.theme-toggle:hover {transform:translateY(-1px);box-shadow:inset 0 1px 0 var(--glass-edge),0 6px 18px rgb(30 50 90 / .14)}
.theme-toggle:active {transform:scale(.93)}
@media(max-width:650px) {.header-actions {gap:8px}.theme-toggle {width:44px;height:44px;flex-basis:44px}.encyclopedia-header .global-search {max-width:none;min-width:0}}
/* White glass needs a visible backdrop, rather than white on white. */
:root:not([data-theme=dark]) {
 --bg:#eef2f8;--text-muted:#565e6c;--glass-fill:rgb(255 255 255 / .38);--glass-chrome:rgb(255 255 255 / .62);
 --glass-edge:rgb(255 255 255 / .98);--glass-rim:rgb(157 177 205 / .45);
 --glass-shine:rgb(255 255 255 / .78);--glass-shadow:0 12px 34px rgb(42 72 126 / .11);
 --glass-blue:rgb(96 152 235 / .23);--glass-violet:rgb(155 132 219 / .17);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 :root:not([data-theme=dark]) .bible-hero {
  background:radial-gradient(ellipse at 95% 0%,rgb(133 174 242 / .16),transparent 58%),linear-gradient(118deg,rgb(255 255 255 / .88),transparent 52%),var(--glass-fill);
  box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 rgb(255 255 255 / .9),inset 0 -1px 0 rgb(255 255 255 / .35),0 18px 45px rgb(40 67 115 / .12);
 }
 :root:not([data-theme=dark]) :is(.task-card,.featured-guide,.material-row,.beginner-banner) {box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 rgb(255 255 255 / .65),var(--glass-shadow)}
}
@media(prefers-reduced-transparency:reduce) {
 :root:not([data-theme=dark]) {--glass-fill:var(--surface);--glass-chrome:var(--surface);--glass-shine:transparent;--glass-blue:transparent;--glass-violet:transparent}
 :root:not([data-theme=dark]) .bible-hero,.theme-toggle {background:var(--surface)}
}
@media(prefers-reduced-motion:reduce) {.theme-toggle:hover,.theme-toggle:active {transform:none}}
/* Епископ: the navigation cat lives beside the chat. */
.encyclopedia-header .assistant-toggle {display:inline-flex;align-items:center;gap:8px}
.assistant-symbol {width:42px;height:48px;flex-shrink:0;background:transparent;overflow:visible;padding:0}
.assistant-symbol img {display:block;width:36px;height:54px;object-fit:contain;filter:drop-shadow(0 2px 7px #6374c544)}
.bishop-portrait {height:150px;position:relative;display:grid;place-items:center;margin:-10px 0 20px;isolation:isolate}
.bishop-portrait .bishop-character {width:98px;height:148px;object-fit:contain;z-index:1;filter:drop-shadow(0 8px 15px #687dea38);transform-origin:50% 90%}
.bishop-orbit {position:absolute;width:150px;height:110px;border-radius:50%;background:radial-gradient(ellipse,#7773ec24,transparent 70%);bottom:-6px}
.bishop-pet {position:fixed;bottom:20px;right:24px;z-index:58;border:0;background:transparent;padding:0;display:flex;align-items:flex-end;gap:8px;cursor:pointer;touch-action:none;color:var(--text)}
body:not(.assistant-hidden) .bishop-pet {display:none}
.bishop-pet .bishop-character {display:block;width:78px;height:117px;object-fit:contain;filter:drop-shadow(0 6px 10px #343b6455);transform-origin:50% 95%}
.bishop-pet:hover .bishop-character {}
.bishop-pet-bubble {padding:10px 14px;margin-bottom:18px;background:var(--glass-chrome);backdrop-filter:blur(20px);border:1px solid var(--glass-edge);border-radius:16px 16px 4px 16px;box-shadow:var(--shadow-card);font-size:12px;font-weight:600}
.bishop-pet:focus-visible {outline:2px solid var(--accent);outline-offset:6px;border-radius:16px}
.bible-assistant[data-pet-state="searching"] .assistant-symbol img {}
@media(max-width:650px){.encyclopedia-header .assistant-toggle>span:first-child{display:inline}.bishop-pet{right:14px;bottom:14px}.bishop-pet .bishop-character{width:64px;height:96px}.bishop-pet-bubble{font-size:11px;padding:8px 10px}.bishop-portrait{height:112px;margin-bottom:12px}.bishop-portrait .bishop-character{height:110px;width:74px}}
@media(prefers-reduced-motion:reduce){.bishop-character,.assistant-symbol img{animation:none!important}}

.bishop-character.bishop-looking {animation:none!important;transform-style:preserve-3d}

.bishop-reacting {animation:none!important}
/* Real articulated WebGL cat. The illustration is only a loading fallback. */
.bishop-stage {display:block;position:relative;width:120px;height:165px;flex-shrink:0}
.bishop-stage .bishop-character {width:100%!important;height:100%!important;object-fit:contain}
.bishop-pet .bishop-stage {width:116px;height:160px}
.bishop-portrait {height:165px}
.assistant-symbol {position:relative;width:54px;height:74px;flex-shrink:0}
@media(max-width:650px){.bishop-pet .bishop-stage {width:92px;height:130px}.bishop-portrait {height:140px}.bishop-portrait .bishop-stage {width:105px;height:140px}}
.assistant-symbol>img {width:32px;height:32px;object-fit:contain;margin:20px auto;filter:none}
:root[data-theme="dark"] .assistant-symbol>img {filter:invert(1)}
.assistant-symbol {height:50px}.assistant-symbol>img {margin:9px auto}
.bishop-portrait {height:120px;margin:0 0 10px}.bishop-portrait .bishop-stage {width:112px;height:120px}
.assistant-welcome h2 {font-size:24px;line-height:1.25;margin:10px 0}
.assistant-welcome p {line-height:1.65;margin:0 0 16px}

/* Category step flyouts. */
.rail-category {position:relative;margin:2px 0;}
.rail-category>summary {display:flex;align-items:center;gap:12px;min-height:46px;border-radius:11px;padding-right:14px;color:var(--text);cursor:pointer;}
.rail-category>summary>a {flex:1;min-width:0;padding:12px 14px;font-size:14px;line-height:1.5;color:inherit;}
.rail-category>summary>span {font-size:22px;color:var(--text-muted);line-height:1;}
.rail-category>summary:hover,.rail-category[open]>summary {background:var(--menu-hover);}
.rail-category>summary:focus-visible {outline:2px solid var(--focus-ring);outline-offset:2px;}
.rail-step-panel {background:var(--menu-bg);border:1px solid var(--menu-edge);border-radius:12px;padding:8px;margin:6px 0;max-height:calc(100dvh - 24px);overflow:auto;box-shadow:var(--shadow-modal);}
.rail-step-panel>a {display:flex;align-items:center;gap:10px;padding:9px 10px;min-height:40px;font-size:13px;line-height:1.5;border-radius:6px;color:var(--text);transition:background-color 150ms,color 150ms;}
.rail-step-panel>a:hover,.rail-step-panel>a:focus-visible {background:var(--menu-hover);color:var(--accent);}
.rail-step-panel>a.task-overview {color:var(--accent);margin-bottom:6px;}
.rail-step-number {flex:0 0 18px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted);}
@media(hover:hover) and (pointer:fine) and (min-width:901px) {
 .rail-step-panel {position:fixed;left:calc(var(--rail-width) + 356px);width:min(340px,calc(100vw - var(--rail-width) - 368px));z-index:81;margin:0;animation:panel-enter 160ms var(--ease-out);}
 .rail-step-panel::before {content:"";position:fixed;top:inherit;left:calc(var(--rail-width) + 348px);width:8px;height:100%;max-height:calc(100dvh - 24px);}
}
@media(max-width:900px) {.rail-step-panel {position:static;box-shadow:none;max-height:400px;}.rail-category[open]>summary>span {transform:rotate(90deg);}}
@media(max-width:900px) {.encyclopedia-rail {width:min(360px,calc(100vw - 32px));}.rail-category>summary>a {font-size:13px;padding:11px 10px;}.rail-category>summary {padding-right:10px;}.rail-step-panel>a {min-height:44px;}}
@media(prefers-reduced-motion:reduce) {.rail-step-panel>a {transition:none;}.rail-step-panel {animation:none;}}

/* Епископ uses the approved static 2D illustration. */
.bishop-character,.bishop-pet:hover .bishop-character,.assistant-symbol img {animation:none!important;transform:none!important;transition:none!important}
.bishop-pet {touch-action:auto}

@media(max-width:650px){body:has(.full-plan-page) .bishop-pet{display:none!important}}

/* Nested desktop menu lives in the top layer, above the glass content. */
@media(hover:hover) and (pointer:fine) and (min-width:901px) {
 .rail-step-panel[popover] {position:fixed;inset:auto;margin:0;color:var(--text);box-sizing:border-box;max-height:calc(100dvh - 24px);}
 .rail-step-panel[popover]::before {position:absolute;left:-8px;top:0;width:8px;height:100%;}
 .rail-step-panel[popover]::backdrop {background:transparent;pointer-events:none;}
}

/* Homepage subscription and editorial feed. */
.subscription-hero h1{font-size:clamp(30px,3.3vw,52px);max-width:100%;letter-spacing:-1.5px;line-height:1.18}.subscription-price{display:flex;align-items:baseline;gap:8px;margin-top:24px}.subscription-price strong{font-size:38px;font-weight:750;letter-spacing:-1px}.subscription-price>span{color:var(--text-muted);font-size:15px}.checkout-pending{color:var(--text-muted);font-size:12px;margin:0}.subscription-hero .hero-actions{margin-bottom:12px}.subscription-hero button:disabled{opacity:.65;cursor:not-allowed;transform:none}.home-library-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.home-library-counts a{display:flex;flex-direction:column;padding:22px 28px;gap:3px;text-decoration:none}.home-library-counts a+a{border-left:1px solid var(--border)}.home-library-counts strong{font-size:38px;line-height:1.25;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:var(--accent)}.home-library-counts span{font-size:13px;color:var(--text-muted)}.home-library-counts a:hover{background:var(--hover)}.home-news-window{max-height:360px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:0 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.home-news-item{padding:22px 0}.home-news-item+.home-news-item{border-top:1px solid var(--border)}.home-news-item time{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.home-news-item h3{margin:8px 0;font-size:18px}.home-news-item p{font-size:14px;color:var(--text-muted);margin:8px 0}.home-news-item .text-link{display:inline-block;margin-top:6px;font-size:13px}
@media(max-width:650px){.subscription-hero h1{font-size:30px;letter-spacing:-1px}.home-library-counts a{padding:16px 12px}.home-library-counts strong{font-size:30px}.home-library-counts span{font-size:11px}.home-news-window{padding:0 18px;max-height:380px}}

.subscription-hero .member-heading{font-size:clamp(30px,3.3vw,52px);line-height:1.18;letter-spacing:-1.5px;margin:23px 0 18px}

/* Cyberpunk book and author-managed Codex feed. */
.subscription-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:24px;align-items:center;overflow:hidden}.subscription-hero>[hidden]{display:none}.subscription-hero h1,.subscription-hero .member-heading{font-size:clamp(30px,2.65vw,50px);letter-spacing:-1.3px}.subscription-art{position:relative;min-width:0;pointer-events:none}.subscription-art:before{content:"";position:absolute;inset:15%;background:radial-gradient(ellipse,#4272fd25,transparent 70%);filter:blur(20px)}.subscription-art img{display:block;position:relative;width:112%;max-width:none;margin-left:-6%;height:auto;filter:drop-shadow(0 24px 30px #0004)}.codex-feed-window{max-height:690px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:0 8px 0 0}.codex-feed-post{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-bottom:18px}.feed-byline{display:flex;align-items:center;gap:10px;margin-bottom:20px}.feed-avatar{width:38px;height:38px;padding:8px;border-radius:12px;background:var(--hover)}:root[data-theme=dark] .feed-avatar{filter:invert(1)}.feed-author{font-size:13px;font-weight:650}.feed-date{display:block;color:var(--text-muted);font-size:11px;margin-top:3px}.codex-feed-post h3{font-size:25px;line-height:1.3;margin:0 0 14px;letter-spacing:-.5px}.feed-body{white-space:pre-wrap;line-height:1.75;font-size:15px}.feed-cover{width:100%;max-height:360px;object-fit:cover;border-radius:10px;margin:18px 0}.feed-state{padding:40px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);line-height:1.7}.feed-state strong{display:block;color:var(--text);font-size:20px;margin-bottom:8px}.feed-read{margin-top:18px;display:inline-block;color:var(--accent)}
@media(max-width:1100px){.subscription-hero{gap:10px;grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr);padding:30px}.subscription-hero h1{font-size:32px}}
@media(max-width:650px){.subscription-hero{grid-template-columns:1fr;padding:25px}.subscription-art{max-width:260px;justify-self:center;grid-row:2}.subscription-hero h1{font-size:30px}.codex-feed-post{padding:20px}.codex-feed-post h3{font-size:21px}.codex-feed-window{max-height:650px}}

/* Official Codex download, immediately before the reader account. */
.codex-download-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:5px 12px 5px 6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0;box-shadow:0 2px 6px #00000006;transition:background-color .2s,border-color .2s,box-shadow .2s}
.codex-download-mark{display:grid;place-items:center;width:28px;height:28px;background:var(--text);color:var(--surface);border-radius:8px;flex-shrink:0}
.codex-download-mark svg{width:21px;height:21px}.codex-download-arrow{width:17px;height:17px;color:var(--accent)}
.codex-download-link:hover{background:var(--wash);border-color:var(--accent);box-shadow:0 3px 12px #245bd612}
@media(max-width:1100px){.header-actions:has(.codex-download-link) .header-edition{display:none}.header-actions:has(.codex-download-link){gap:8px}}
@media(max-width:650px){.codex-download-label,.codex-download-arrow{display:none}.codex-download-link{width:40px;min-width:40px;padding:5px}.header-actions:has(.codex-download-link){gap:6px}.encyclopedia-header .global-search{min-width:0;flex:1}}
/* Compact global search replaces the character and chat panel. */
.bible-header-search{flex:1;min-width:120px;max-width:470px!important;width:470px!important;margin-right:8px;display:flex}.bible-header-search input{width:100%;min-width:0;outline:none;border:0;background:transparent}.bible-header-search>span{font-size:24px}.search-ai-chip{border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--accent);font-size:11px;font-weight:700;line-height:1;padding:6px;flex-shrink:0}.header-actions{flex-shrink:0}.header-edition{display:none}
.bible-search-dialog{position:fixed;inset:8vh 0 auto;margin:0 auto;width:min(720px,calc(100% - 32px));max-height:82vh;padding:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-modal);overflow:hidden}.bible-search-dialog::backdrop{background:#10172680;backdrop-filter:blur(4px)}.search-dialog-top{display:flex;align-items:center;gap:8px;padding:16px;border-bottom:1px solid var(--border)}.search-dialog-form{display:flex;align-items:center;flex:1;gap:12px;min-width:0}.search-dialog-form>span{font-size:24px;color:var(--text-muted)}.search-dialog-form input{flex:1;min-width:0;border:0;background:transparent;font:inherit;padding:8px 0;outline:none}.search-dialog-form button{background:var(--accent);color:var(--bg);border:0;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:600}.search-dialog-close{width:34px;height:34px;border:0;background:transparent;color:var(--text-muted);font-size:23px}.search-dialog-status{font-size:12px;color:var(--text-muted);margin:12px 20px}.search-dialog-results{overflow:auto;max-height:calc(82vh - 165px);padding:0 12px 12px}.search-result-card{display:block;text-decoration:none;color:var(--text);padding:14px 12px;border-radius:10px;border:1px solid transparent}.search-result-card:hover,.search-result-card:focus-visible{background:var(--wash);border-color:var(--border)}.search-result-card small{display:block;color:var(--accent);font-size:11px;margin-bottom:4px}.search-result-card strong{display:block;font-size:16px}.search-result-card p{margin:6px 0 0;color:var(--text-muted);font-size:13px;line-height:1.5}.search-no-results{padding:16px;color:var(--text-muted)}.search-dialog-footer{border-top:1px solid var(--border);padding:10px 20px;font-size:11px;color:var(--text-muted);display:flex;justify-content:space-between}.bible-search-dialog[aria-busy=true] .search-dialog-status:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;animation:search-pulse 1s ease-in-out infinite}@keyframes search-pulse{50%{opacity:.3}}
@media(max-width:1100px){.encyclopedia-header{gap:12px;padding-left:20px;padding-right:20px}.bible-header-search{max-width:none!important;min-width:100px}.header-actions:has(.bible-header-search){gap:8px}}
@media(max-width:650px){.encyclopedia-header{padding:0 12px;gap:8px}.bible-header-search{height:40px;margin:0;min-width:80px;padding:0 8px!important}.bible-header-search input{font-size:12px}.bible-header-search>span{display:none}.search-ai-chip{padding:5px;font-size:10px}.header-actions{gap:6px}.bible-search-dialog{inset:12px 0 auto;width:calc(100% - 20px);max-height:90vh}.search-dialog-results{max-height:calc(90vh - 160px)}.search-dialog-form input{font-size:14px}.search-dialog-footer span{display:none}}
@media(prefers-reduced-motion:reduce){.bible-search-dialog[aria-busy=true] .search-dialog-status:before{animation:none}}
