:root{--tl-color-bg: #f7f6f2;--tl-color-surface: #ffffff;--tl-color-surface-alt: #f1efe8;--tl-color-axis: #1f2937;--tl-color-major-tick: #374151;--tl-color-minor-tick: #9ca3af;--tl-color-label: #111827;--tl-color-label-muted: #6b7280;--tl-color-border: #d1d5db;--tl-color-range: #dbeafe;--tl-color-range-edge: #2563eb;--tl-color-cluster-bg: #111827;--tl-color-cluster-text: #ffffff;--tl-color-focus: #0f766e;--tl-color-shadow: rgba(17, 24, 39, .08);--tl-color-event-card-bg: #ffffff;--tl-color-event-card-text: #111827;--tl-color-event-card-border: #d1d5db;--tl-color-event-card-hover-bg: #f8fafc;--tl-color-event-card-active-border: #94a3b8;--tl-color-minimap-bg: rgba(255, 255, 255, .72);--tl-color-minimap-border: #d1d5db;--tl-color-minimap-track: #1f2937;--tl-color-minimap-viewport-border: #0f766e;--tl-color-minimap-viewport-bg: rgba(15, 118, 110, .1);--tl-color-minimap-density-low: #dbeafe;--tl-color-minimap-density-high: #1d4ed8;--tl-font-ui: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--tl-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--tl-font-size-xs: 12px;--tl-font-size-sm: 13px;--tl-font-size-md: 15px;--tl-font-size-lg: 18px;--tl-line-height-tight: 1.2;--tl-line-height-normal: 1.45;--tl-space-1: 4px;--tl-space-2: 8px;--tl-space-3: 12px;--tl-space-4: 16px;--tl-space-5: 20px;--tl-space-6: 24px;--tl-space-8: 32px;--tl-space-10: 40px;--tl-radius-sm: 6px;--tl-radius-md: 10px;--tl-radius-lg: 14px;--tl-axis-width: 88px;--tl-lane-gap: 12px;--tl-card-width: 280px;--tl-card-max-width: 320px;--tl-marker-size: 10px;--tl-range-width: 6px;--tl-shadow-sm: 0 1px 2px var(--tl-color-shadow);--tl-shadow-md: 0 6px 18px var(--tl-color-shadow);--tl-category-kits-bundles: #7c3aed;--tl-category-motion: #2563eb;--tl-category-electronics: #0891b2;--tl-category-game-elements-fields: #dc2626;--tl-category-hardware: #b45309;--tl-category-structure: #4b5563;--tl-category-tools: #0f766e;--tl-category-pneumatics: #0284c7;--tl-category-classroom-organization: #65a30d;--tl-category-misc: #6b7280}.tl-root{position:relative;overflow:hidden;background:var(--tl-color-bg);color:var(--tl-color-label);font-family:var(--tl-font-ui);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-lg);--tl-axis-width: 128px;--tl-card-offset: 10px;--tl-card-stack-offset: calc(var(--tl-card-width) + var(--tl-space-3));--tl-leader-length: 12px;--tl-axis-offset: -70px;--tl-label-shift: 50px;--tl-minimap-width: 136px;--tl-label-pill-bg: #111827;--tl-label-pill-text: #f8fafc}.tl-controls{position:absolute;top:var(--tl-space-4);right:calc(var(--tl-minimap-width) + var(--tl-space-6) + var(--tl-space-4));z-index:20;display:flex;align-items:center;gap:var(--tl-space-2);padding:var(--tl-space-2);background:#ffffffeb;border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-md);box-shadow:var(--tl-shadow-sm)}@media(max-width:767px){.tl-controls{right:var(--tl-space-4)}}.tl-control-button{width:34px;height:34px;border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-sm);background:var(--tl-color-surface);color:var(--tl-color-label);font-size:var(--tl-font-size-md);cursor:pointer}.tl-zoom-readout{display:flex;flex-direction:column;min-width:110px}.tl-zoom-unit{font-size:var(--tl-font-size-sm);font-weight:600;text-transform:capitalize}.tl-bounds{color:var(--tl-color-label-muted);font-size:var(--tl-font-size-xs)}.tl-surface{position:relative;display:grid;grid-template-columns:var(--tl-axis-width) minmax(0,1fr) var(--tl-minimap-width);align-items:stretch;gap:var(--tl-space-6);height:100%;min-height:0;padding:var(--tl-space-6) var(--tl-space-6) var(--tl-space-6) var(--tl-space-2);touch-action:none}.tl-axis{position:relative;height:100%;min-height:0;z-index:1}.tl-axis-line{position:absolute;top:0;bottom:0;left:calc(var(--tl-axis-width) - 18px + var(--tl-axis-offset));width:2px;background:var(--tl-color-axis)}.tl-tick{position:absolute;left:0;right:0;transform:translateY(-50%)}.tl-tick-mark{position:absolute;left:calc(var(--tl-axis-width) - 24px + var(--tl-axis-offset));width:14px;height:2px;background:var(--tl-color-minor-tick)}.tl-tick-major .tl-tick-mark{background:var(--tl-color-major-tick);height:3px}.tl-tick-label{display:flex;align-items:center;justify-content:flex-end;width:calc(var(--tl-axis-width) - 20px);min-height:20px;text-align:right;padding-right:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translate(calc(-1 * var(--tl-label-shift)),-8px)}.tl-tick-label-major{display:inline-flex;align-items:center;max-width:100%;margin-left:auto;padding:3px 8px;border-radius:999px;background:var(--tl-label-pill-bg);color:var(--tl-label-pill-text);font-size:11px;font-weight:600;line-height:1.1;box-shadow:0 1px #ffffff14,0 6px 16px #0f172a2e}.tl-tick-label-minor{font-size:10px;color:var(--tl-color-label-muted)}.tl-event-layer{position:relative;left:var(--tl-axis-offset);width:calc(100% - var(--tl-axis-offset));height:100%;min-height:0;padding-left:var(--tl-space-5);padding-right:var(--tl-space-3);z-index:10;isolation:isolate}.tl-group-lanes{position:absolute;inset:0;pointer-events:none;z-index:0}.tl-group-lane{position:absolute;top:0;bottom:0;border-left:1px solid rgba(17,24,39,.08)}.tl-group-lane:last-child{border-right:1px solid rgba(17,24,39,.08)}.tl-group-lane-label{position:absolute;top:var(--tl-space-2);left:var(--tl-space-2);padding:3px 8px;border:1px solid rgba(17,24,39,.08);border-radius:999px;background:#ffffffc7;color:var(--tl-color-label-muted);font-size:var(--tl-font-size-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tl-cluster{position:absolute;transform:translateY(-50%);z-index:2;pointer-events:none}.tl-cluster-anchor{position:absolute;top:0;left:0}.tl-cluster-item{position:absolute;width:fit-content;max-width:calc(100% - var(--tl-card-offset) - var(--tl-space-5));pointer-events:auto}.tl-cluster-item-right,.tl-cluster-item-left{left:0}.tl-point-marker{position:absolute;left:-18px;top:14px;width:var(--tl-marker-size);height:var(--tl-marker-size);border-radius:999px;background:var(--tl-event-accent, var(--tl-color-range-edge));box-shadow:0 0 0 3px var(--tl-color-bg)}.tl-range-bar{position:absolute;left:-16px;width:var(--tl-range-width);border-radius:999px;background:var(--tl-event-accent, var(--tl-color-range-edge));opacity:.85;pointer-events:none}.tl-leader-line{position:absolute;top:18px;width:var(--tl-leader-length);height:2px;background:var(--tl-color-border)}.tl-cluster-anchor .tl-leader-line{left:-8px}.tl-cluster-item .tl-event-card{transform:translate(var(--tl-card-offset))}.tl-cluster-item-left .tl-event-card{text-align:left}.tl-event-card{display:flex;align-items:center;width:fit-content;max-width:min(var(--tl-card-max-width),calc(100% - var(--tl-card-offset) - var(--tl-space-5)));min-height:44px;padding:10px var(--tl-space-4);border:1px solid var(--tl-color-event-card-border);border-left:4px solid var(--tl-event-accent, var(--tl-color-range-edge));border-radius:var(--tl-radius-md);background:var(--tl-color-event-card-bg);color:var(--tl-color-event-card-text);box-shadow:var(--tl-shadow-sm);text-align:left;cursor:pointer}.tl-cluster-item-left .tl-event-card{border-left:4px solid var(--tl-event-accent, var(--tl-color-range-edge))}.tl-event-card:hover{background:var(--tl-color-event-card-hover-bg);box-shadow:var(--tl-shadow-md)}.tl-event-card-active{border-color:var(--tl-color-event-card-active-border);box-shadow:0 10px 24px #1118272e}.tl-event-card:focus-visible,.tl-control-button:focus-visible{outline:2px solid var(--tl-color-focus);outline-offset:2px}.tl-event-title{display:-webkit-box;font-size:var(--tl-font-size-md);font-weight:600;line-height:var(--tl-line-height-tight);-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;white-space:normal}.tl-event-date,.tl-event-description,.tl-event-meta{font-size:var(--tl-font-size-sm);line-height:var(--tl-line-height-normal)}.tl-event-date,.tl-event-meta{color:var(--tl-color-label-muted)}.tl-event-meta{display:flex;gap:var(--tl-space-3);flex-wrap:wrap}.tl-cluster-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--tl-space-1) var(--tl-space-2);border-radius:999px;background:var(--tl-color-cluster-bg);color:var(--tl-color-cluster-text);font-size:var(--tl-font-size-xs);font-weight:600;white-space:nowrap;border:0;cursor:pointer}.tl-cluster-badge-right,.tl-cluster-badge-left{transform:translate(var(--tl-card-offset))}.tl-cluster-overlay{position:absolute;z-index:30;pointer-events:auto}.tl-cluster-popover{position:absolute;top:calc(100% + var(--tl-space-2));left:0;width:min(340px,calc(100vw - 240px));max-height:320px;overflow:auto;padding:var(--tl-space-3);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-md);background:#fffffffa;box-shadow:var(--tl-shadow-md);z-index:12}.tl-cluster-popover-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tl-space-3);margin-bottom:var(--tl-space-3)}.tl-cluster-popover-title{font-size:var(--tl-font-size-sm);font-weight:700;color:var(--tl-color-label)}.tl-cluster-popover-count{font-size:var(--tl-font-size-xs);color:var(--tl-color-label-muted)}.tl-cluster-popover-list{display:flex;flex-direction:column;gap:var(--tl-space-2)}.tl-cluster-popover-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--tl-space-2) var(--tl-space-3);border:1px solid var(--tl-color-border);border-radius:var(--tl-radius-sm);background:var(--tl-color-surface);color:var(--tl-color-label);text-align:left;cursor:pointer}.tl-cluster-popover-item:hover{background:var(--tl-color-surface-alt)}.tl-cluster-popover-item-title{font-size:var(--tl-font-size-sm);font-weight:600;line-height:var(--tl-line-height-tight)}.tl-cluster-popover-item-date{font-size:var(--tl-font-size-xs);color:var(--tl-color-label-muted)}.tl-minimap{display:flex;flex-direction:column;gap:var(--tl-space-3);min-height:0;padding:var(--tl-space-5) var(--tl-space-3) var(--tl-space-4);border:1px solid var(--tl-color-minimap-border);border-radius:var(--tl-radius-md);background:var(--tl-color-minimap-bg);box-shadow:var(--tl-shadow-sm);z-index:1}.tl-minimap-nano{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;align-items:center}.tl-hide-minimap .tl-controls{right:var(--tl-space-4)}.tl-hide-minimap .tl-surface{grid-template-columns:var(--tl-axis-width) minmax(0,1fr)}.tl-mode-tablet .tl-group-lane-label{font-size:11px;padding:2px 6px}.tl-mode-desktop .tl-cluster-item{max-width:calc(100% - var(--tl-card-offset) - var(--tl-space-6))}.tl-mode-desktop .tl-event-card{max-width:min(var(--tl-card-max-width),calc(100% - var(--tl-card-offset) - var(--tl-space-6)))}.tl-mode-mobile.tl-mobile-collapsed-groups .tl-group-lanes,.tl-mode-mobile.tl-mobile-collapsed-groups .tl-group-lane-label{display:none}.tl-mode-mobile .tl-surface{gap:var(--tl-space-3);padding:72px var(--tl-space-3) var(--tl-space-3) var(--tl-space-2)}.tl-mode-mobile .tl-surface{grid-template-columns:var(--tl-axis-width) minmax(0,1fr) 18px}.tl-mode-mobile .tl-axis-line{left:calc(var(--tl-axis-width) - 14px + var(--tl-axis-offset))}.tl-mode-mobile .tl-tick-mark{left:calc(var(--tl-axis-width) - 20px + var(--tl-axis-offset));width:10px}.tl-mode-mobile .tl-tick-label{width:calc(var(--tl-axis-width) - 14px);min-height:18px;padding-right:4px;transform:translate(calc(-1 * var(--tl-label-shift)),-7px)}.tl-mode-mobile .tl-tick-label-major{padding:2px 6px;font-size:10px}.tl-mode-mobile .tl-event-layer{left:var(--tl-axis-offset);width:calc(100% - var(--tl-axis-offset));padding-left:var(--tl-space-2);padding-right:0;--tl-card-stack-offset: 0px}.tl-mode-mobile.tl-mobile-collapsed-groups .tl-cluster{width:100%!important;left:0!important}.tl-mode-mobile .tl-cluster-item{max-width:calc(100% - var(--tl-card-offset) - var(--tl-space-2))}.tl-mode-mobile .tl-event-card{min-height:40px;padding:8px var(--tl-space-3);max-width:min(var(--tl-card-max-width),calc(100% - var(--tl-card-offset) - var(--tl-space-2)))}.tl-mode-mobile .tl-event-title{font-size:14px}.tl-mode-mobile .tl-cluster-popover{position:fixed;inset:auto 12px 12px;width:auto;max-height:min(56dvh,420px);z-index:60}.tl-mode-mobile .tl-cluster-badge-right,.tl-mode-mobile .tl-cluster-badge-left{transform:translate(18px)}.tl-mode-mobile .tl-controls{top:var(--tl-space-2);right:var(--tl-space-2);gap:6px;padding:6px}.tl-mode-mobile .tl-control-button{width:40px;height:40px}.tl-mode-mobile .tl-zoom-readout{min-width:96px}.tl-mode-mobile .tl-zoom-unit{font-size:12px}.tl-mode-mobile .tl-bounds{font-size:11px}.tl-minimap-header{display:flex;flex-direction:column;gap:2px;font-size:var(--tl-font-size-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tl-color-label)}.tl-minimap-range{font-weight:500;letter-spacing:0;text-transform:none;color:var(--tl-color-label-muted)}.tl-minimap-body{position:relative;flex:1;min-height:0}.tl-minimap-nano .tl-minimap-body{width:18px}.tl-minimap-track{position:absolute;top:0;bottom:0;left:52px;width:2px;background:var(--tl-color-minimap-track)}.tl-minimap-nano .tl-minimap-track{left:50%;width:1px;transform:translate(-50%);background:#0f172a29}.tl-minimap-density{position:absolute;inset:0}.tl-minimap-density-bin{position:absolute;left:44px;min-height:3px;border-radius:999px}.tl-minimap-nano .tl-minimap-density-bin{left:50%;transform:translate(-50%);min-height:2px}.tl-minimap-viewport{position:absolute;left:26px;right:18px;border:2px solid var(--tl-color-minimap-viewport-border);border-radius:12px;background:var(--tl-color-minimap-viewport-bg);box-shadow:inset 0 0 0 1px #fff9;cursor:grab;touch-action:none}.tl-minimap-nano .tl-minimap-viewport{left:50%;right:auto;width:11px;transform:translate(-50%);border-width:1.5px;border-radius:999px;background:#0f766e14;box-shadow:inset 0 0 0 1px #ffffff8c}.tl-minimap-viewport:active{cursor:grabbing}.tl-minimap-label{position:absolute;left:0;width:36px;transform:translateY(-50%);font-size:var(--tl-font-size-xs);color:var(--tl-color-label-muted);text-align:right}.tl-detail-backdrop{position:absolute;inset:0;z-index:34;background:#0f172a24;opacity:0;transition:opacity .22s ease}.tl-detail-backdrop-visible{background:#0f172a33}.tl-detail-backdrop-soft{background:#0f172a14}.tl-detail-backdrop-open{opacity:1}.tl-detail-surface{position:absolute;z-index:40;display:flex;flex-direction:column;gap:var(--tl-space-4);padding:var(--tl-space-5);border:1px solid rgba(15,23,42,.12);border-radius:var(--tl-radius-lg);background:#fffffff5;box-shadow:0 24px 54px #0f172a2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:auto;opacity:0;transition:opacity .22s ease,transform .22s ease}.tl-detail-surface-slide{top:12px;right:12px;bottom:12px;width:min(360px,calc(100% - 24px));transform:translate(calc(100% + 20px))}.tl-detail-surface-modal{top:50%;left:50%;width:min(560px,calc(100% - 32px));max-height:min(78%,720px);transform:translate(-50%,calc(-50% + 12px)) scale(.98)}.tl-detail-surface-open{opacity:1}.tl-detail-surface-slide.tl-detail-surface-open{transform:translate(0)}.tl-detail-surface-modal.tl-detail-surface-open{transform:translate(-50%,-50%) scale(1)}.tl-detail-header{display:flex;align-items:start;justify-content:space-between;gap:var(--tl-space-3)}.tl-detail-eyebrow{margin:0 0 6px;color:var(--tl-color-label-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tl-detail-title{margin:0;color:var(--tl-color-label);font-size:24px;line-height:1.15}.tl-detail-close{width:34px;height:34px;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#fffffffa;color:var(--tl-color-label);font-size:22px;line-height:1;cursor:pointer}.tl-detail-body{display:flex;flex-direction:column;gap:var(--tl-space-4)}.tl-detail-date{margin:0;color:var(--tl-color-label-muted);line-height:1.5}.tl-detail-section{display:flex;flex-direction:column;gap:var(--tl-space-2)}.tl-detail-section-title{margin:0;color:var(--tl-color-label);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tl-detail-copy{margin:0;color:var(--tl-color-label);line-height:1.6}.tl-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}.tl-detail-grid div{display:flex;flex-direction:column;gap:2px}.tl-detail-grid dt{color:var(--tl-color-label-muted);font-size:12px;font-weight:600}.tl-detail-grid dd{margin:0;color:var(--tl-color-label);line-height:1.4}.tl-detail-list{margin:0;padding-left:18px;color:var(--tl-color-label)}.tl-detail-list li+li{margin-top:6px}.tl-detail-list a{color:var(--tl-color-focus);text-decoration:none}.tl-detail-list a:hover{text-decoration:underline}@media(max-width:767px){.tl-surface{padding:var(--tl-space-5) var(--tl-space-4)}.tl-detail-surface-slide,.tl-detail-surface-modal{inset:auto 8px 8px;width:auto;max-height:min(52dvh,420px);padding:14px;gap:12px;border-radius:12px;transform:translateY(calc(100% + 20px))}.tl-detail-surface-slide.tl-detail-surface-open,.tl-detail-surface-modal.tl-detail-surface-open{transform:translateY(0)}.tl-detail-header{gap:10px}.tl-detail-title{font-size:20px}.tl-detail-close{width:30px;height:30px;font-size:18px}.tl-detail-body{gap:12px}.tl-detail-copy,.tl-detail-date,.tl-detail-grid dd,.tl-detail-list{font-size:14px;line-height:1.45}.tl-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}}:root{--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Roboto", sans-serif;--font-scripture: var(--font-sans);--font-commentary: var(--font-sans);--color-bg: #020617;--color-surface: #0f172a;--color-surface-muted: rgba(15, 23, 42, .8);--color-border: rgba(148, 163, 184, .2);--color-border-strong: rgba(148, 163, 184, .4);--color-card-border: rgba(148, 163, 184, .15);--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-text-hover: #f8fafc;--color-app-background: #0b1220;--color-heading: #f8fafc;--color-accent: #60a5fa;--color-accent-strong: #2563eb;--color-accent-soft: rgba(59, 130, 246, .15);--color-danger: #f87171;--color-panel: rgba(15, 23, 42, .35);--color-panel-strong: rgba(15, 23, 42, .4);--color-panel-soft: rgba(15, 23, 42, .2);--color-verse-focus-bg: rgba(252, 211, 77, .2);--color-topbar: #0b1220;--space-1: .2rem;--space-2: .4rem;--space-3: .6rem;--space-4: .8rem;--space-5: .8rem;--space-6: 1.6rem;--space-7: 2.4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-button: 4px;--shadow-card: 0 15px 40px rgba(2, 6, 23, .6);--shadow-card-light: 0 8px 24px rgba(15, 23, 42, .15);--layout-sidebar-width: 280px}[data-theme=light]{--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-muted: #ffffff;--color-border: rgba(15, 23, 42, .1);--color-border-strong: rgba(15, 23, 42, .25);--color-card-border: rgba(15, 23, 42, .08);--color-text: #0f172a;--color-text-muted: #475569;--color-text-hover: #e9eef5;--color-app-background: #eef2f6;--color-heading: #0f172a;--color-accent: #1d4ed8;--color-accent-strong: #1e3a8a;--color-accent-soft: rgba(37, 99, 235, .1);--color-danger: #dc2626;--color-panel: #ffffff;--color-panel-strong: #ffffff;--color-panel-soft: #ffffff;--color-verse-focus-bg: rgba(253, 224, 71, .4);--color-topbar: #f1f5f9;--shadow-card: var(--shadow-card-light)}:root{font-family:var(--font-sans);--timeline-font-family: var(--font-sans);line-height:1.5;font-weight:400;color:var(--color-text);--background-color: var(--color-text-muted);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--color-app-background);color:var(--color-text);font-family:var(--font-sans)}#root{min-height:100vh;background-color:var(--color-app-background)}button,input,textarea,select{font:inherit;border:none}input[type=number]{appearance:auto;-moz-appearance:auto}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:auto;margin:0}.input-control--number{appearance:auto;-moz-appearance:auto}.map-field input[type=number]::-webkit-outer-spin-button,.map-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:auto;margin:0}button{cursor:pointer;border-radius:var(--radius-button);padding:var(--space-2) var(--space-2);background:var(--color-accent);color:#fff;font-weight:600;transition:background .2s ease,transform .1s ease}button:disabled{opacity:.5;cursor:not-allowed}button:not(:disabled):hover{background:var(--color-accent-strong);color:#fff}button:not(:disabled):active{transform:translateY(1px)}[hidden]{display:none!important}.app-shell{display:grid;grid-template-columns:minmax(220px,var(--layout-sidebar-width)) 1fr;grid-template-areas:"sidebar main";min-height:100vh;background:var(--color-app-background)}[data-theme=light] .app-shell{background:var(--color-app-background)}.app-shell--sidebar-collapsed{grid-template-columns:1fr;grid-template-areas:"main"}.app-shell__sidebar{grid-area:sidebar;background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);position:relative;z-index:1}.app-shell__sidebar--hidden{display:none}.app-shell__logo h1{margin:0;font-size:1.4rem;color:var(--color-heading)}.app-shell__logo p{margin:0;color:var(--color-text-muted);font-size:.9rem}.app-shell__nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.app-shell__nav a{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;background:transparent;border:1px solid transparent;transition:background .2s ease,color .2s ease,border .2s ease}.app-shell__nav a.active,.app-shell__nav a:hover{background:var(--color-accent-soft);color:var(--color-heading);border-color:var(--color-border)}.app-shell__nav-badge{font-size:.7rem;font-weight:600;color:var(--color-accent)}.app-shell__meta{margin-top:auto;font-size:.85rem;color:var(--color-text-muted);display:flex;flex-direction:column;gap:var(--space-2)}.app-shell__meta div{display:flex;flex-direction:column;gap:var(--space-1)}.app-shell__meta small{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.app-shell__meta strong{color:var(--color-heading)}.app-shell__meta .connection-status{margin:0;color:var(--color-text-muted)}.app-shell__workspace{grid-area:main;display:flex;flex-direction:column}.app-shell__overlay{position:fixed;inset:0;background:var(--color-app-background);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:900}.app-shell__overlay--visible{opacity:1;pointer-events:auto}@media(max-width:900px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"sidebar" "main"}.app-shell__sidebar{position:fixed;top:0;left:0;height:100vh;width:min(320px,82vw);max-width:420px;transform:translate(0);transition:transform .25s ease;border-right:1px solid var(--color-border);border-bottom:none;padding:var(--space-4);z-index:1000;box-shadow:0 10px 30px #00000040;overflow-y:auto;background:var(--color-surface)}.app-shell__sidebar--hidden{display:block;transform:translate(-105%)}.app-shell__workspace{min-height:0}}@media(min-width:901px){.app-shell__overlay{display:none}.app-shell__sidebar--hidden{display:none;transform:none}}.app-shell__topbar{padding:var(--space-2) var(--space-6);border-bottom:1px solid var(--color-border);background-color:var(--color-topbar);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.app-shell__topbar-left{display:inline-flex;align-items:center;gap:var(--space-2)}.app-shell__quick-nav{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:var(--space-3)}.app-shell__quick-label{margin-left:var(--space-1);font-size:.85rem;color:var(--color-heading)}.app-shell__quick-nav .icon-button{display:inline-flex;align-items:center;gap:var(--space-1)}.app-shell__quick-nav .icon-button:hover .app-shell__quick-label{color:var(--color-text-hover)}.app-shell__topbar h2{margin:0;font-size:1.1rem;color:var(--color-heading)}.app-shell__topbar-actions{display:flex;gap:var(--space-3);align-items:center;margin-left:auto;justify-content:flex-end}.app-shell__topbar-buttons{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.app-shell__user{display:inline-flex;align-items:center;justify-content:center;color:var(--color-heading)}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;color:var(--color-text);border:1px solid var(--color-border);padding:var(--space-2) var(--space-3)}.theme-toggle svg{width:1rem;height:1rem}.theme-toggle:hover{background:var(--color-accent-soft)}.app-shell__content{padding:var(--space-4);flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.app-shell__content>*{min-height:0}.card{background:var(--color-surface-muted);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.canon-card{border:none;background:transparent;padding:0}.card h2{margin-top:0;color:var(--color-heading)}.card ul{padding-left:var(--space-4);color:var(--color-text-muted);line-height:1.6}.grid{display:grid;gap:var(--space-4)}.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.map-page{position:relative;min-height:calc(100vh - 7rem)}.map-panel{position:absolute;top:var(--space-4);right:var(--space-4);left:auto;width:min(360px,calc(100% - var(--space-6)));max-height:calc(100% - var(--space-6));overflow:auto;z-index:1001;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-3)}.map-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.map-header__actions{display:flex;align-items:center;gap:var(--space-2)}.map-header p{margin-bottom:0;color:var(--color-text-muted)}.map-status{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap}.map-toggle{width:32px;height:32px}.map-panel--collapsed .map-header{align-items:center}.map-panel--collapsed h2{margin-bottom:0}.map-panel--collapsed p{display:none}.map-form{display:grid;gap:var(--space-3)}.map-field{display:grid;gap:var(--space-2);font-size:.9rem;color:var(--color-text-muted)}.map-field input,.map-field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);background:var(--color-surface);color:var(--color-text)}.map-number-input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-1);align-items:center}.map-number-input__step{width:2rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0;font-weight:700;line-height:1}.map-number-input .input-control--number{min-width:0}.map-submit{justify-self:start}.map-error{margin:0}.map-canvas{padding:0;overflow:hidden;display:flex;min-height:calc(100vh - 7rem)}.map-canvas__container{width:100%;height:100%;min-height:calc(100vh - 7rem);border-radius:var(--radius-lg)}.geo-feature-marker{background:transparent;border:0}.geo-feature-marker__emoji{font-size:20px;line-height:1;display:inline-block;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.leaflet-tooltip.geo-feature-label{border:0;border-radius:999px;background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-card-light);padding:.2rem .5rem;font-size:.78rem;font-weight:400;white-space:nowrap;pointer-events:auto;cursor:pointer}.leaflet-tooltip.geo-feature-label:before{border-top-color:var(--color-surface)}.leaflet-container .leaflet-popup-content-wrapper{background:var(--color-surface)!important;color:var(--color-text)!important;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.leaflet-container .leaflet-popup-tip{background:var(--color-surface)!important;box-shadow:none}.leaflet-container .leaflet-popup-content{margin:.75rem .9rem;color:var(--color-text)!important}.geo-feature-popup{display:flex;flex-direction:column;gap:.6rem;color:var(--color-text);font-size:.9rem;line-height:1.5}.geo-feature-popup__primary{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:nowrap}.geo-feature-popup__name{font-weight:600;color:var(--color-heading)}.geo-feature-popup__image-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0;line-height:0}.geo-feature-popup__image-link:hover{opacity:.9}.geo-feature-popup__thumb{width:1.75rem;height:1.75rem;display:block;object-fit:cover;border-radius:0;border:1px solid var(--color-border);box-shadow:0 1px 4px #0f172a1f}.geo-feature-popup__values{display:flex;flex-direction:column;gap:.35rem}.geo-feature-popup__field{display:flex;gap:.35rem;align-items:baseline}.geo-feature-popup__field-label{flex-shrink:0;font-weight:600;color:var(--color-heading)}.geo-feature-popup__field-value{min-width:0;word-break:break-word}.map-canvas__container--mini{min-height:100%;height:100%}.mini-map-panel{display:flex;width:100%;height:100%;min-height:0;min-height:18rem}.mini-map-panel__map-wrap{position:relative;flex:1;min-height:0}.mini-map-panel__jump{position:absolute;top:var(--space-2);right:var(--space-2);z-index:2000}.mini-map-panel__status{position:absolute;bottom:var(--space-2);left:var(--space-2);z-index:2000;background:color-mix(in oklab,var(--color-panel) 82%,transparent);padding:.2rem .45rem;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.875rem}.mini-map-panel__error{position:absolute;left:var(--space-2);right:calc(var(--space-2) + 2.5rem);bottom:var(--space-2);z-index:2000;margin:0;padding:.2rem .45rem;border-radius:var(--radius-sm);background:color-mix(in oklab,var(--color-panel) 82%,transparent)}@media(max-width:900px){.map-canvas__container{min-height:calc(100vh - 9rem)}.map-panel{position:static;width:100%;max-height:none}}.reader-page{display:flex;flex-direction:column;gap:var(--space-3);flex:1;min-height:0;height:calc(100vh - 7rem);max-height:calc(100vh - 7rem);overflow:hidden}.reader-page[data-bible-lang=ENG]{--font-scripture: "Inter", "Segoe UI", "Roboto", system-ui, sans-serif;--font-commentary: "Inter", "Segoe UI", "Roboto", system-ui, sans-serif}.reader-page[data-bible-lang=CHT]{--font-scripture: "PingFang TC", "Microsoft JhengHei", "Heiti TC", "Noto Sans TC", "Hiragino Sans GB", "SimHei", sans-serif;--font-commentary: "PingFang TC", "Microsoft JhengHei", "Heiti TC", "Noto Sans TC", "Hiragino Sans GB", "SimHei", sans-serif;font-size:1.05rem}.reader-page[data-bible-lang=CHS]{--font-scripture: "PingFang SC", "Microsoft YaHei", "Heiti SC", "Noto Sans SC", "Hiragino Sans GB", "SimHei", sans-serif;--font-commentary: "PingFang SC", "Microsoft YaHei", "Heiti SC", "Noto Sans SC", "Hiragino Sans GB", "SimHei", sans-serif}.reader-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);min-height:0;height:100%}.reader-layout--split{grid-template-columns:minmax(0,var(--reader-pane-width, 60%)) var(--reader-splitter-width, var(--space-3)) minmax(0,var(--context-pane-width, 40%));column-gap:0;row-gap:var(--space-4);align-items:stretch;min-height:0;height:100%}.reader-layout--split>.card{height:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden}.reader-mobile-tabs{display:none;gap:var(--space-2);padding:var(--space-1);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-panel);margin-bottom:0}.reader-mobile-tab{flex:1;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-radius:0;font-weight:600;transition:background .2s ease,color .2s ease,border-color .2s ease}.reader-mobile-tab:hover,.reader-mobile-tab:focus-visible{background:transparent;color:var(--color-text)}.reader-mobile-tab--active{background:transparent;color:var(--color-text);border-bottom-color:var(--color-accent)}.reader-pane-stack{display:flex;flex-direction:column;gap:var(--space-4);height:100%;min-height:0}.reader-pane-stack>.reader-card{flex:1;display:flex;flex-direction:column;min-height:0}.reader-pane-stack--split{flex-direction:row}.reader-pane-stack--split>.reader-card{flex:1}.reader-splitter{width:var(--reader-splitter-width, var(--space-3));display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none}.reader-splitter__grip{width:4px;height:70%;border-radius:999px;background:var(--color-border);transition:background .2s ease}.reader-splitter:hover .reader-splitter__grip,.reader-splitter--active .reader-splitter__grip{background:var(--color-accent)}@media(max-width:720px){.reader-mobile-tabs{display:flex;flex-direction:row}.reader-mobile-tabs+.reader-layout{margin-top:calc(-1 * var(--space-4))}.reader-card__header{flex-wrap:wrap}.reader-card__chips--right{flex-basis:100%;justify-content:flex-end}.reader-layout,.reader-layout--split{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.reader-splitter,.context-card__toggle{display:none}}.reader-card{position:relative}.reader-card__overlay{position:absolute;inset:0;pointer-events:none;z-index:3;display:flex;align-items:flex-end}.reader-card__nav{position:relative;width:100%;margin:0 var(--space-6) var(--space-3);transform:none;display:flex;justify-content:space-between;pointer-events:none}.reader-card__header{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-3);flex-shrink:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.reader-panel__title{font-size:1rem;margin:0;color:var(--color-heading)}.reader-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-2);flex-shrink:0}.reader-card__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);font-size:calc(1rem * var(--reader-font-scale, 1));position:relative}.reader-text-scale-wrap{position:relative;display:inline-flex;align-items:center}.reader-text-scale-group{display:inline-flex;align-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-panel)}.reader-text-scale-button{min-width:2.5rem;padding:0;gap:.15rem;border:0;border-radius:0;background:transparent}.reader-text-scale-button+.reader-text-scale-button{border-left:1px solid var(--color-border)}.reader-text-scale-button:disabled{opacity:.55}.reader-text-scale-button:hover:not(:disabled){background:#94a3b81f}.reader-text-scale-button svg{flex-shrink:0}.reader-text-scale-notice{position:absolute;left:50%;top:calc(100% + var(--space-2));transform:translate(-50%);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-heading);border:1px solid var(--color-border);box-shadow:var(--shadow-card);font-size:.8rem;font-weight:600;line-height:1;pointer-events:none;white-space:nowrap;z-index:2;animation:reader-text-scale-notice-fade .18s ease}@keyframes reader-text-scale-notice-fade{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.button-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text);padding:calc(var(--space-2) - 2px) var(--space-2);border-radius:var(--radius-button);height:2rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);text-decoration:none;font:inherit}.button-secondary--active{border-color:var(--color-accent);color:var(--color-accent);background:#22d3ee26}.reader-toast{position:fixed;bottom:var(--space-4);left:var(--space-4);max-width:320px;padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-heading);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);z-index:30;pointer-events:none;animation:reader-toast-fade .2s ease}@keyframes reader-toast-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.eyebrow{margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--color-text-muted)}.reader-card__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);min-width:0;justify-content:flex-start}.reader-lang-select{border:1px solid var(--color-border);border-radius:999px;background:var(--color-panel);color:var(--color-heading);font-weight:600;font-size:.85rem;height:2rem;padding:0 var(--space-3);cursor:pointer}.reader-version-select{max-width:100px;min-width:0;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-book-select,.reader-chapter-select{width:auto}.reader-lang-select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.reader-chip{display:inline-flex;align-items:center;height:2rem;padding:0 var(--space-3);border-radius:999px;background:var(--color-accent-soft);color:var(--color-heading);font-weight:600;font-size:.85rem}.reader-chip--muted{background:#94a3b826;color:var(--color-text-muted)}.reader-chip--surface{background:var(--color-panel);color:var(--color-text)}.reader-chapter-nav{gap:var(--space-1)}.reader-summary{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);background:var(--color-panel-strong);margin-bottom:var(--space-2);display:flex;flex-direction:column;gap:var(--space-3);flex-shrink:0}.reader-summary__meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.reader-summary__title{margin:0 0 var(--space-2);color:var(--color-heading);font-size:1rem}.reader-summary__body{color:var(--color-text);line-height:1.6}.reader-summary__status{margin:0;color:var(--color-text-muted);font-size:.9rem}.reader-summary__status--error{color:var(--color-danger)}.reader-summary--empty{align-items:center;text-align:center;background:var(--color-panel-soft)}.reader-status{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:.9rem}.reader-status--inline{margin-left:var(--space-2)}.reader-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:.9rem;color:var(--color-text-muted)}.link-button{background:none;border:none;padding:0;color:var(--color-accent);font-size:.9rem;font-weight:600;cursor:pointer}.link-button:hover{text-decoration:underline;background:none}.reader-pane{display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}.reader-pane--split{flex-direction:row;gap:var(--space-3)}.reader-pane__column{border:none;border-radius:0;padding:var(--space-2) 0 var(--space-4);background:transparent;min-height:200px}.reader-chapter-spacer{height:var(--space-7)}.reader-pane--split .reader-pane__column{flex:1}.reader-pane__nav{z-index:4;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--color-surface);color:var(--color-heading);border-color:var(--color-border);box-shadow:none;pointer-events:auto}.reader-pane__nav:active{transform:none}.reader-pane__nav:disabled{transform:none}.reader-card__nav .reader-pane__nav{pointer-events:auto}.reader-chapter-title{font-family:var(--font-scripture);font-weight:600;margin:0 0 var(--space-2);font-size:1rem;color:var(--color-heading)}.commentary-panel{font-family:var(--font-commentary);font-weight:400;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-panel);padding:var(--space-2);height:100%}.commentary-panel__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.commentary-panel__header h3{margin:0;color:var(--color-heading)}.commentary-panel__header small{color:var(--color-text-muted)}.commentary-panel__body{flex:1;overflow-y:auto;padding-right:var(--space-2)}.crossref-panel .commentary-panel__body{display:flex;flex-direction:column;overflow:hidden}.commentary-panel__status{color:var(--color-text-muted)}.commentary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.commentary-entry{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-panel-strong)}.commentary-entry header{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-2)}.commentary-entry p{margin:0;line-height:1.6;font-family:var(--font-commentary);font-weight:400}.commentary-entry--active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-soft)}.context-tabs{display:inline-flex;gap:var(--space-2);margin-top:var(--space-3);margin-bottom:var(--space-3)}.context-tab{border:1px solid var(--color-border);background:transparent;color:var(--color-text);border-radius:var(--radius-button);padding:var(--space-2) var(--space-2)}.context-tab--active{border-color:var(--color-accent);color:var(--color-accent)}.crossref-list{display:flex;flex-direction:column;gap:var(--space-3)}.crossref-group{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:linear-gradient(180deg,#94a3b814,#94a3b805),var(--color-panel-strong)}.crossref-group__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.crossref-group__header h4{margin:0}.crossref-group__badge{background:var(--color-accent-soft);color:var(--color-accent);font-size:.75rem;border-radius:999px;padding:0 var(--space-2)}.crossref-group ul{list-style:none;padding:0;margin:0}.crossref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.crossref-grid li{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2)}.crossref-group small{color:var(--color-text-muted)}.crossref-actions{display:flex;gap:var(--space-2)}.context-accordion{display:flex;flex-direction:column;gap:var(--space-2);flex:1;height:100%;min-height:0;padding-right:var(--space-1)}.context-accordion__section{display:flex;flex-direction:column;gap:0;--context-panel-bg-start: var(--color-panel);--context-panel-bg-end: var(--color-panel);--context-panel-strong-bg: var(--color-panel-strong);--context-panel-accent: var(--color-border);--context-panel-active-bg-start: var(--context-panel-bg-start);--context-panel-active-bg-end: var(--context-panel-bg-end)}.context-accordion__section:nth-child(1){--context-panel-bg-start: color-mix(in srgb, var(--color-accent) 8%, var(--color-panel) 92%);--context-panel-bg-end: color-mix(in srgb, var(--color-accent) 14%, var(--color-panel) 86%);--context-panel-strong-bg: color-mix( in srgb, var(--color-accent) 18%, var(--color-panel-strong) 82% );--context-panel-accent: color-mix(in srgb, var(--color-accent) 40%, var(--color-border) 60%);--context-panel-active-bg-start: color-mix( in srgb, var(--color-accent) 12%, var(--color-panel) 88% );--context-panel-active-bg-end: color-mix( in srgb, var(--color-accent) 18%, var(--color-panel) 82% )}.context-accordion__section:nth-child(2){--context-panel-bg-start: color-mix(in srgb, var(--color-danger) 8%, var(--color-panel) 92%);--context-panel-bg-end: color-mix(in srgb, var(--color-danger) 12%, var(--color-panel) 88%);--context-panel-strong-bg: color-mix( in srgb, var(--color-danger) 16%, var(--color-panel-strong) 84% );--context-panel-accent: color-mix(in srgb, var(--color-danger) 32%, var(--color-border) 68%)}.context-accordion__section:nth-child(3){--context-panel-bg-start: color-mix( in srgb, var(--color-verse-focus-bg) 68%, var(--color-panel) 32% );--context-panel-bg-end: color-mix( in srgb, var(--color-verse-focus-bg) 76%, var(--color-panel) 24% );--context-panel-strong-bg: color-mix( in srgb, var(--color-verse-focus-bg) 84%, var(--color-panel-strong) 16% );--context-panel-accent: color-mix(in srgb, rgb(202, 138, 4) 28%, var(--color-border) 72%)}.context-accordion__section:nth-child(4){--context-panel-bg-start: color-mix( in srgb, var(--color-border-strong) 24%, var(--color-panel) 76% );--context-panel-bg-end: color-mix( in srgb, var(--color-border-strong) 32%, var(--color-panel) 68% );--context-panel-strong-bg: color-mix( in srgb, var(--color-border-strong) 40%, var(--color-panel-strong) 60% );--context-panel-accent: color-mix( in srgb, var(--color-border-strong) 70%, var(--color-border) 30% )}.context-accordion__section:nth-child(5){--context-panel-bg-start: color-mix( in srgb, var(--color-accent-strong) 8%, var(--color-panel) 92% );--context-panel-bg-end: color-mix( in srgb, var(--color-accent-strong) 12%, var(--color-panel) 88% );--context-panel-strong-bg: color-mix( in srgb, var(--color-accent-strong) 18%, var(--color-panel-strong) 82% );--context-panel-accent: color-mix( in srgb, var(--color-accent-strong) 40%, var(--color-border) 60% );--context-panel-active-bg-start: color-mix( in srgb, var(--color-accent-strong) 12%, var(--color-panel) 88% );--context-panel-active-bg-end: color-mix( in srgb, var(--color-accent-strong) 18%, var(--color-panel) 82% )}.context-accordion__section[data-expanded]{flex:1 1 auto;min-height:0}.context-accordion__summary{display:flex}.context-accordion__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);padding:var(--space-1_5, .375rem) var(--space-2);border:1px solid var(--context-panel-accent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(180deg,var(--context-panel-strong-bg),var(--context-panel-bg-start),var(--context-panel-bg-end));color:var(--color-heading);font-size:.9375rem;font-weight:600}.context-accordion__section[data-expanded] .context-accordion__trigger{background:linear-gradient(180deg,var(--context-panel-active-bg-start),var(--context-panel-active-bg-end));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--context-panel-accent) 50%,white 50%)}.context-accordion__section[data-expanded] .context-accordion__trigger:hover{background:linear-gradient(180deg,var(--context-panel-active-bg-start),var(--context-panel-active-bg-end));color:var(--color-heading)}.context-accordion__title{flex:1;min-width:0;text-align:left}.context-accordion__icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;flex-shrink:0}.context-accordion__icon-up,.context-accordion__section[data-expanded] .context-accordion__icon-down{display:none}.context-accordion__section[data-expanded] .context-accordion__icon-up{display:block}.context-accordion__panel{flex:1 1 auto;min-height:0;overflow-y:auto;margin-top:0;padding:var(--space-1);padding-right:calc(var(--space-1) + 2px);scroll-padding-top:var(--space-1);border:1px solid var(--context-panel-accent);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:0;background:linear-gradient(180deg,color-mix(in srgb,var(--context-panel-bg-start) 88%,white 12%),color-mix(in srgb,var(--context-panel-bg-end) 88%,white 12%))}.context-tree__group-body{display:flex;flex-direction:column;gap:var(--space-1)}.context-accordion__section[data-hovered] .context-accordion__trigger,.context-accordion__section[data-hovered] .context-tree__item,.context-accordion__section[data-hovered] .context-tree__event{border-color:var(--color-accent)}.context-accordion__section[data-focus-visible] .context-accordion__trigger,.context-accordion__section[data-focus-visible] .context-tree__item,.context-accordion__section[data-focus-visible] .context-tree__event{box-shadow:0 0 0 2px var(--color-accent-soft)}.context-accordion__section[data-disabled] .context-accordion__trigger,.context-accordion__section[data-disabled] .context-tree__item,.context-accordion__section[data-disabled] .context-tree__event{opacity:.6;cursor:not-allowed}.context-tree__item,.context-tree__event,.context-tree__loading,.context-tree__empty,.context-tree__error{width:100%;padding:var(--space-1_5, .375rem) var(--space-2);background:transparent}.context-tree__group-body>*+*{margin-top:var(--space-1)}.context-tree__count{background:var(--color-accent-soft);color:var(--color-accent);font-size:.7rem;border-radius:999px;padding:0 var(--space-2)}.context-tree__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent}.context-tree__item-copy{min-width:0;display:flex;flex:1;align-items:baseline;flex-wrap:wrap;gap:.25rem}.context-tree__item-label{min-width:0;color:var(--color-text);font-size:.9375rem;font-weight:400;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.context-tree__item-meta{color:var(--color-text-muted);font-size:.6875rem;white-space:nowrap}.context-tree__actions{display:flex;gap:var(--space-1)}.context-tree__event{display:block}.context-tree__event .timeline-event{margin:0}.context-tree__loading,.context-tree__empty,.context-tree__error{border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-text-muted);font-size:.875rem}.context-tree__error{display:flex;flex-direction:column;gap:var(--space-1)}.context-tree__empty--message{margin:0;padding-left:var(--space-2)}.crossref-selected,.context-selected{display:flex;gap:var(--space-2);align-items:baseline;margin-bottom:var(--space-3);color:var(--color-text-muted)}.crossref-selected{gap:var(--space-1);font-size:.875rem;line-height:1.25}.crossref-selected-shell{flex:0 0 auto}.crossref-accordion-shell{flex:1 1 auto;min-height:0;display:flex;overflow-y:auto;padding-right:var(--space-1)}.crossref-accordion-shell>*{flex:1 1 auto;min-height:0}.history-panel{display:flex;flex-direction:column;gap:var(--space-2)}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.history-entry__button{width:100%;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-button);padding:var(--space-2);background:var(--color-panel-strong);display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-heading)}.history-entry__button:hover{border-color:var(--color-accent)}.history-entry__label{font-weight:600}.history-entry__meta{color:var(--color-text-muted);font-size:.85rem}.modal-overlay{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:var(--space-2);z-index:10}.modal-overlay--blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal{width:min(420px,100%);max-height:min(82vh,900px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.modal--detail{width:min(760px,100%)}.modal__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.modal__header h4{margin:0}.modal__body{color:var(--color-text);line-height:1.6;overflow-y:auto;padding-right:var(--space-2)}.modal--detail .modal__body{font-family:var(--font-commentary);font-weight:400}.modal__close{border:1px solid transparent;background:#94a3b833;border-radius:var(--radius-sm);padding:var(--space-1);color:var(--color-heading)}.verse-preview--text{white-space:pre-wrap;word-break:break-word}.landing{min-height:calc(100vh - 80px);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);align-items:center;justify-content:center}.landing__hero{background:var(--color-panel-strong);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card);max-width:720px;width:100%}.landing__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--color-text-muted);margin:0 0 var(--space-2)}.landing__hero h1{margin:0 0 var(--space-2)}.landing__lede{margin:0 0 var(--space-3);color:var(--color-text-muted)}.landing__skip{display:inline-flex;align-items:center;gap:var(--space-1)}.landing__login-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);background:var(--color-surface);display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0;box-shadow:var(--shadow-card)}.route-loading{height:220px;border-radius:var(--radius-lg);background:linear-gradient(90deg,#94a3b814,#94a3b833,#94a3b814);background-size:200% 100%;animation:shimmer 1.5s infinite}.route-error{min-height:100vh;display:grid;align-content:center;justify-items:start;gap:var(--space-4);max-width:36rem;margin:0 auto;padding:var(--space-6)}.route-error h1,.route-error p{margin:0}.route-error__detail{color:var(--color-text-muted)}.changelog-list{display:flex;flex-direction:column;gap:var(--space-6)}.changelog-day{display:flex;flex-direction:column;gap:var(--space-3)}.changelog-day__header{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-muted)}.changelog-day__header h3{margin:0}.changelog-day__entries{display:flex;flex-direction:column;gap:var(--space-4)}.changelog-entry__meta{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.changelog-entry__meta h3{margin:0}.changelog-entry__date{font-size:.85rem;color:var(--color-text-muted);font-weight:600}.changelog-entry ul{margin:0;padding-left:var(--space-6)}.landing__login-header{display:flex;align-items:center;gap:var(--space-2)}.landing__login-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.landing__login-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.landing__login-row .button-primary,.landing__login-row .button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);height:2.25rem}.landing__login-row .button-primary{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.landing__login-label{font-weight:600;color:var(--color-heading)}.landing__login input:not([type=checkbox]),.landing__login-form input:not([type=checkbox]){padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:200px;background:var(--color-surface);color:var(--color-text);caret-color:var(--color-text)}.landing__login input:not([type=checkbox])::placeholder,.landing__login-form input:not([type=checkbox])::placeholder{color:var(--color-text-muted)}.landing__login input:not([type=checkbox]):-webkit-autofill,.landing__login input:not([type=checkbox]):-webkit-autofill:hover,.landing__login input:not([type=checkbox]):-webkit-autofill:focus,.landing__login-form input:not([type=checkbox]):-webkit-autofill,.landing__login-form input:not([type=checkbox]):-webkit-autofill:hover,.landing__login-form input:not([type=checkbox]):-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 1000px var(--color-surface) inset;transition:background-color 5000s ease-in-out 0s}.landing__login-form,.landing__login-checkbox-group{display:grid;gap:var(--space-2)}.landing__login-checkbox-row{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.landing__login-checkbox{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-heading);font-weight:600}.landing__login-checkbox input{width:1rem;height:1rem;margin:0;accent-color:var(--color-accent)}.landing__login-info-trigger{display:inline-flex;align-items:center;justify-content:center;color:var(--color-accent);cursor:pointer}.landing__login-info-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:999px}.info-modal__message{margin:0}.landing__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);width:100%;max-width:960px}@media(min-width:720px){.landing__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.landing__skip-floating{position:fixed;right:var(--space-3);bottom:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-heading);box-shadow:var(--shadow-card);z-index:30}.landing__tile{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-panel-strong);color:var(--color-heading);text-decoration:none;transition:border-color .12s ease,transform .12s ease}.landing__tile:hover{border-color:var(--color-accent);transform:translateY(-2px)}.landing__icon{width:42px;height:42px;border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center}.landing__body h3{margin:0 0 var(--space-1)}.landing__body p{margin:0;color:var(--color-text-muted)}@media(max-width:720px){.landing{min-height:auto;justify-content:flex-start;align-items:stretch;padding:var(--space-3)}.landing__hero{max-width:100%}.landing__grid{grid-template-columns:1fr}.landing__skip-floating{position:static;margin-top:var(--space-2);align-self:flex-end}}.cookie-banner{position:fixed;bottom:var(--space-3);right:var(--space-3);left:auto;max-width:360px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);z-index:20}.cookie-banner p{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.cookie-banner__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.timeline-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.timeline-event{border-left:2px solid color-mix(in srgb,var(--color-accent) 65%,var(--color-border) 35%);padding-left:var(--space-3)}.timeline-full{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;gap:var(--space-4);position:relative;padding-left:var(--space-3)}.timeline-full:before{content:"";position:absolute;top:var(--space-1);bottom:var(--space-1);left:0;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--color-accent),color-mix(in srgb,var(--color-accent) 55%,var(--color-danger) 45%));opacity:.85}.timeline-full__header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 40%),linear-gradient(180deg,color-mix(in srgb,var(--color-panel) 92%,var(--color-accent) 8%),color-mix(in srgb,var(--color-panel) 82%,var(--color-accent) 18%))}.timeline-full__eyebrow{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.timeline-full__title{margin:0}.timeline-full__subtitle{margin:0;color:var(--color-text-muted)}.timeline-full__body{flex:1;display:flex;min-height:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--color-panel) 94%,var(--color-accent) 6%),color-mix(in srgb,var(--color-panel-strong) 92%,var(--color-accent) 8%));box-shadow:var(--shadow-card);overflow:hidden}.timeline-full__body>.tl-root{flex:1;min-height:0;--timeline-accent: var(--color-accent)}[data-theme=dark] .timeline-full__body>.tl-root{--tl-color-bg: var(--color-surface);--tl-color-surface: color-mix(in srgb, var(--color-surface) 92%, var(--color-accent) 8%);--tl-color-surface-alt: color-mix(in srgb, var(--color-surface) 84%, var(--color-accent) 16%);--tl-color-axis: color-mix(in srgb, var(--color-border-strong) 70%, var(--color-text) 30%);--tl-color-major-tick: var(--color-text);--tl-color-minor-tick: color-mix(in srgb, var(--color-text-muted) 72%, transparent 28%);--tl-color-label: var(--color-heading);--tl-color-label-muted: var(--color-text-muted);--tl-color-border: color-mix(in srgb, var(--color-border) 88%, var(--color-text) 12%);--tl-color-range: rgba(96, 165, 250, .18);--tl-color-range-edge: var(--color-accent);--tl-color-cluster-bg: color-mix( in srgb, var(--color-accent-strong) 22%, var(--color-surface) 78% );--tl-color-cluster-text: var(--color-heading);--tl-color-focus: var(--color-accent);--tl-color-shadow: rgba(2, 6, 23, .4);--tl-color-event-card-bg: color-mix(in srgb, var(--color-surface) 90%, var(--color-accent) 10%);--tl-color-event-card-text: var(--color-text);--tl-color-event-card-border: color-mix( in srgb, var(--color-border) 86%, var(--color-accent) 14% );--tl-color-event-card-hover-bg: color-mix( in srgb, var(--color-surface) 82%, var(--color-accent) 18% );--tl-color-event-card-active-border: var(--color-accent);--tl-color-minimap-bg: color-mix(in srgb, var(--color-surface) 76%, var(--color-accent) 24%);--tl-color-minimap-border: var(--color-border);--tl-color-minimap-track: var(--color-text-muted);--tl-color-minimap-viewport-border: var(--color-accent);--tl-color-minimap-viewport-bg: color-mix(in srgb, var(--color-accent) 18%, transparent);--tl-color-minimap-density-low: color-mix( in srgb, var(--color-accent) 16%, var(--color-surface) 84% );--tl-color-minimap-density-high: color-mix( in srgb, var(--color-accent) 72%, var(--color-danger) 28% );--tl-label-pill-bg: color-mix(in srgb, var(--color-accent-strong) 24%, var(--color-surface) 76%);--tl-label-pill-text: var(--color-heading)}[data-theme=dark] .timeline-full__body>.tl-root .tl-controls{background:color-mix(in srgb,var(--color-surface) 88%,var(--color-accent) 12%);border-color:var(--color-border);box-shadow:0 8px 24px #02061773}[data-theme=dark] .timeline-full__body>.tl-root .tl-control-button{background:var(--color-surface);color:var(--color-heading)}[data-theme=dark] .timeline-full__body>.tl-root .tl-group-lane{border-color:color-mix(in srgb,var(--color-border) 86%,transparent 14%)}[data-theme=dark] .timeline-full__body>.tl-root .tl-group-lane-label{background:color-mix(in srgb,var(--color-surface) 82%,var(--color-accent) 18%);border-color:var(--color-border);color:var(--color-text-muted)}[data-theme=dark] .timeline-full__body>.tl-root .tl-cluster-popover{background:color-mix(in srgb,var(--color-surface) 90%,var(--color-accent) 10%);border-color:var(--color-border)}[data-theme=dark] .timeline-full__body>.tl-root .tl-cluster-popover-item{background:var(--color-surface);color:var(--color-text)}[data-theme=dark] .timeline-full__body>.tl-root .tl-cluster-popover-item:hover{background:color-mix(in srgb,var(--color-surface) 78%,var(--color-accent) 22%)}[data-theme=dark] .timeline-full__body>.tl-root .tl-detail-backdrop{background:#02061766}[data-theme=dark] .timeline-full__body>.tl-root .tl-detail-backdrop-visible{background:#0206178c}[data-theme=dark] .timeline-full__body>.tl-root .tl-detail-backdrop-soft{background:#02061747}[data-theme=dark] .timeline-full__body>.tl-root .tl-detail-surface{border-color:var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-accent) 8%);box-shadow:0 24px 54px #0206178c}[data-theme=dark] .timeline-full__body>.tl-root .tl-detail-close{border-color:var(--color-border);background:var(--color-surface);color:var(--color-heading)}[data-theme=dark] .timeline-full__body{background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-accent) 16%,transparent) 0%,transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 96%,var(--color-accent) 4%),color-mix(in srgb,var(--color-surface) 88%,var(--color-accent) 12%))}.timeline-full__loading,.timeline-full__error{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start;width:100%}.timeline-full__loading{justify-content:flex-start}.timeline-full__error{justify-content:center}.timeline-full__loading .timeline-list{width:100%}.crossref-grid--full{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.canon-tree{display:flex;flex-direction:column;gap:var(--space-2)}.canon-tree--panel{border:none;padding:0;background:transparent}.canon-tree__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3)}.canon-tree__header h2{margin:0}.canon-tree__status{margin:0;color:var(--color-text-muted)}.canon-tree__controls{display:flex;flex-wrap:wrap;gap:var(--space-3)}.canon-tree__select{min-width:200px}.canon-dropdown{display:flex;flex-direction:column;gap:var(--space-2)}.canon-dropdown__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.canon-dropdown__trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:transparent;border:none;color:var(--color-text);text-align:left}.canon-dropdown__trigger small{color:var(--color-text-muted);margin-left:var(--space-2)}.canon-dropdown__trigger:hover{background:var(--color-accent-soft)}.canon-tree__book-actions{display:flex;align-items:center;gap:var(--space-2)}.canon-tree__toggle{display:inline-flex;align-items:center;gap:var(--space-1)}.canon-tree__progress{font-size:.8rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent)}.canon-tree__progress[data-complete=true]{background:#22c55e26;color:#22c55e}.canon-tree__chevron{transition:transform .2s ease}.canon-tree__chevron--open{transform:rotate(180deg)}.canon-chapters{padding:0 var(--space-3) var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2)}.canon-chapters__button{width:30px;height:30px;border-radius:var(--radius-button);border:1px solid var(--color-border);background:var(--color-panel-strong);color:var(--color-text);font-size:.75rem}.canon-chapters__button--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.context-card{display:flex;flex-direction:column;min-height:100%;height:fit-content;max-height:100%;align-self:flex-start}.context-card__tabs{display:flex;flex-wrap:nowrap;gap:var(--space-1);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border);align-items:flex-end}.context-card__tabs--stacked{flex-direction:column;align-items:stretch;gap:var(--space-2)}.context-card__tabs--stacked .context-tab{width:100%;justify-content:center}.context-card__tabs .context-tab{border:none;background:transparent;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);border-bottom:2px solid transparent;border-radius:0;display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500}.context-card__tabs .context-tab--active{color:var(--color-text);border-bottom-color:var(--color-accent);font-weight:600}.context-card__toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2)}.context-card__content{flex:0 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.context-card--collapsed{width:auto;padding:var(--space-2)}.reader-layout--context-collapsed{grid-template-columns:minmax(0,1fr) var(--reader-splitter-width, var(--space-3)) max-content}.reader-layout--context-collapsed .context-card{width:auto}.context-card--collapsed .context-card__tabs{flex-direction:column;align-items:center;justify-content:flex-start;border-bottom:none;gap:var(--space-2)}.context-card--collapsed .context-tab{display:inline-flex;writing-mode:vertical-rl;text-orientation:mixed;padding:var(--space-1);border:1px solid transparent}.context-card--collapsed .context-tab--active{border-color:var(--color-accent);background:var(--color-panel);border-radius:6px}.context-card--collapsed .context-card__toggle,.context-card--collapsed .context-card__content{display:none}.context-card__content>*{width:100%;height:auto;max-height:100%}.context-card__loading,.context-card__empty{width:100%;border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);text-align:center;color:var(--color-text-muted)}.context-card .commentary-panel,.context-card .crossref-list,.context-card .topic-detail,.context-card .place-detail{height:auto;display:flex;flex-direction:column;max-height:100%}.error{color:var(--color-danger);font-weight:600}.verse-entry{margin-bottom:var(--space-3);display:block}.reader-page[data-inline-commentary=false] .verse-entry{display:inline;margin-bottom:0}.verse-entry--focused{background:var(--color-verse-focus-bg)}.verse-line{gap:var(--space-2);line-height:1.45;display:flex;align-items:baseline}.reader-page[data-inline-commentary=false] .verse-line{display:inline;line-height:1.6}.verse-text{flex:1;font-family:var(--font-scripture);font-weight:600}.reader-page[data-inline-commentary=false] .verse-text{display:inline;font-weight:500}.reader-page[data-inline-commentary=false] .verse-heading{margin-top:var(--space-3)}.verse-marker-button{padding:4px 3px;display:inline-flex;align-items:baseline;border-radius:var(--radius-button);box-shadow:none;transition:none;min-width:2ch;justify-content:center;background:transparent;line-height:1;position:relative;top:-.35em}.verse-marker-button:hover,.verse-marker-button:active,.verse-marker-button:focus-visible{text-decoration:none;background:transparent;box-shadow:var(--shadow-card)}.verse-marker{color:var(--color-accent);font-weight:600}.verse-marker sup{font-size:.8em;line-height:1;vertical-align:super}.reader-page[data-inline-commentary=false] .verse-marker{margin-right:var(--space-1)}.verse-commentary{margin-top:var(--space-2);margin-left:calc(var(--space-4) + var(--space-2));display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-commentary);font-weight:400}.verse-commentary__entry{background:transparent;border:none;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:1em;line-height:1.4;color:var(--color-text-muted)}.verse-actions{margin-top:var(--space-2);display:flex;gap:var(--space-2);flex-wrap:wrap}.icon-button{background:#94a3b833;color:var(--color-heading);border:1px solid transparent;padding:calc(var(--space-2) - 1px) var(--space-3);font-size:.85rem;border-radius:var(--radius-button);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1)}.icon-button--square{padding:var(--space-2);width:2.25rem;height:2.25rem}.icon-button:hover{border-color:var(--color-border)}.skeleton-line{height:1rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,#94a3b81a,#94a3b84d,#94a3b81a);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:var(--space-2)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.verse-heading{font-family:var(--font-scripture);font-weight:600;margin:0;padding-top:var(--space-2);font-size:1rem;color:var(--color-heading)}.connection-status{font-size:.8rem}.settings-form{display:flex;flex-direction:column;gap:var(--space-4)}.settings-group{display:flex;flex-direction:column;gap:var(--space-3)}.settings-group__title{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.settings-group__actions{display:flex;justify-content:flex-end}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-field label{font-weight:600;color:var(--color-heading)}.form-field small{color:var(--color-text-muted);font-size:.85rem}.input-control{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);color:var(--color-text);resize:vertical}.input-control:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:transparent}.settings-form__actions{display:flex;justify-content:flex-end}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:var(--space-1) var(--space-3);background:var(--color-border);font-weight:600;color:var(--color-text)}.status-pill--success{background:var(--color-accent-soft);color:var(--color-accent)}.feedback-page{align-content:start}.feedback-page__hero{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.feedback-page__hero p{margin-bottom:0;color:var(--color-text-muted)}.feedback-page__hero-meta{min-width:200px;display:flex;flex-direction:column;gap:var(--space-1)}.feedback-page__composer-trigger{margin-top:var(--space-2);align-self:flex-start}.feedback-page__hero-meta small{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.feedback-page__success{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:#10b9811f;color:#047857}.feedback-page__section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.feedback-page__section-header h3{margin:0 0 var(--space-1)}.feedback-page__section-header p{margin:0;color:var(--color-text-muted)}.feedback-page__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.feedback-page__list li{margin:0}.feedback-page__list-item{padding:var(--space-4)}.feedback-page__detail{display:flex;flex-direction:column;gap:var(--space-4)}.feedback-page__detail-headline{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.feedback-page__detail-headline h4,.feedback-page__notes h5{margin:0}.feedback-page__badges{display:inline-flex;gap:var(--space-2);flex-wrap:wrap}.feedback-page__flag{display:inline-flex;align-items:center;border-radius:0;padding:.18rem .45rem;font-size:.74rem;line-height:1;font-weight:600;letter-spacing:.02em;border:none;background:#94a3b80f;color:var(--color-text-muted)}.feedback-page__flag--type{background:#0ea5e90f;color:#0e7490e0}.feedback-page__detail-body,.feedback-page__notes p{margin:0}.feedback-page__detail-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0}.feedback-page__detail-grid div{min-width:120px}.feedback-page__detail-grid dt{margin:0 0 .15rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.feedback-page__detail-grid dd{margin:0;color:var(--color-text-muted);font-size:.82rem}.feedback-page__notes{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid rgba(148,163,184,.12)}.feedback-page__notes h5{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.feedback-page__textarea{min-height:9rem}.feedback-page__form-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.feedback-page__submit-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1)}.feedback-page__spinner{animation:spin 1s linear infinite}.feedback-page__modal{width:min(42rem,calc(100vw - 2rem))}.feedback-page__modal-content{display:flex;flex-direction:column;gap:var(--space-4)}.feedback-page__modal-intro{margin:0;color:var(--color-text-muted)}.feedback-dialog{width:min(42rem,calc(100vw - 2rem))}.feedback-dialog__content{display:flex;flex-direction:column;gap:var(--space-4)}.feedback-dialog__intro{margin:0;color:var(--color-text-muted)}.feedback-dialog__identity{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:#94a3b81f}.feedback-dialog__auth-callout{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:#94a3b814}.feedback-dialog__auth-callout p{margin:0;color:var(--color-text-muted)}.feedback-dialog__auth-callout .button-secondary{align-self:flex-start}.feedback-dialog__notice{padding:var(--space-3);border-radius:var(--radius-md);font-size:.95rem}.feedback-dialog__notice--success{background:#10b9811f;color:#047857}.feedback-dialog__notice--error{background:#ef44441f;color:#b91c1c}.feedback-dialog__form{gap:var(--space-3)}.feedback-dialog__textarea{min-height:8.5rem}.feedback-dialog__actions{display:flex;justify-content:flex-end}.feedback-dialog__spinner{animation:spin 1s linear infinite}.feedback-dialog__history{display:flex;flex-direction:column;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-4)}.feedback-dialog__history-header h5{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.feedback-dialog__history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.feedback-dialog__history-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffff05}.feedback-dialog__history-item p{margin:0}.feedback-dialog__history-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.feedback-dialog__history-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--color-text-muted);font-size:.85rem}.feedback-dialog__empty{margin:0;color:var(--color-text-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"sidebar" "main"}.app-shell__sidebar{border-right:none;border-bottom:1px solid var(--color-border);flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.app-shell__meta{flex-direction:row;flex-wrap:wrap;gap:var(--space-3)}.reader-grid{grid-template-columns:1fr}}@media(max-width:720px){.app-shell__sidebar{flex-direction:column}.app-shell__quick-label{display:none}.app-shell__topbar{flex-direction:row;align-items:center}.app-shell__topbar-actions{width:auto;flex-wrap:nowrap;justify-content:flex-end;align-self:center}.canon-tree__chapters{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.feedback-dialog{width:min(100vw - 1rem,42rem)}.feedback-page__hero,.feedback-page__detail-headline,.feedback-page__section-header,.feedback-page__form-actions{flex-direction:column;align-items:flex-start}.feedback-page__modal{width:min(100vw - 1rem,42rem)}.feedback-dialog__history-title-row{flex-direction:column;align-items:flex-start}.feedback-dialog__history-meta{flex-direction:column;gap:var(--space-1)}}.topic-detail,.place-detail{display:flex;flex-direction:column;gap:4px}.topic-detail--nested{margin-left:6px;padding-left:8px;border-left:1px solid var(--color-border)}.topic-context-group{display:flex;flex-direction:column;gap:2px;padding:2px 0;min-width:0}.topic-context-group--root{padding-top:0}.topic-context-group:not(.topic-context-group--root){padding-top:2px}.topic-context-group__header{display:flex;align-items:flex-start;gap:6px}.topic-context-group__copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:2px}.topic-context-group__title{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0}.topic-context-group__header h4,.topic-context-group__header h5{margin:0}.topic-context-group__meta{color:var(--color-text-muted)}.topic-context-group__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .4rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:.78rem;font-weight:700;line-height:1;flex-shrink:0}.topic-context-group__badge--verse{background:#a855f729;color:#9333ea}.topic-context-group__toggle{width:20px;height:20px;min-width:20px;padding:0;margin-top:1px}.topic-context-group__toggle-spacer{width:20px;min-width:20px;display:inline-flex}.topic-context-group__body{display:flex;flex-direction:column;gap:2px}.topic-context-refs{display:flex;flex-wrap:wrap;gap:0;line-height:1.7}.topic-context-ref{display:inline}.topic-context-ref:not(:last-child):after{content:" | ";color:var(--color-text-muted)}.topic-context-ref__link{white-space:normal;text-align:left;padding:0 2px;border-radius:4px;background-color:transparent}.topic-context-ref__link:hover{background:none;background-color:transparent}.topic-context-ref__link:focus-visible,.topic-context-ref__link:active{background-color:transparent}.topic-picker{display:flex;flex-direction:column;gap:var(--space-3)}.topic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.topic-list--nested{padding-left:var(--space-2);margin-top:var(--space-2)}.button-secondary--muted{opacity:.8}.topic-detail ul,.place-detail dl{margin:0;padding-left:0}.place-form{display:flex;flex-direction:column;gap:var(--space-3)}.about-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 60px);padding:var(--space-4);background-color:var(--color-app-background)}.about-page__container{max-width:900px;width:100%}.about-page__header{text-align:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border)}.about-page__title{font-size:3rem;font-weight:700;margin:0 0 var(--space-2) 0;color:var(--color-accent)}.about-page__subtitle{font-size:1.25rem;color:var(--color-text-muted);margin:0}.about-page__section{margin-bottom:var(--space-6)}.about-page__section-title{font-size:1.5rem;font-weight:600;margin:0 0 var(--space-3) 0;color:var(--color-text)}.about-page__text{font-size:1rem;line-height:1.6;color:var(--color-text);margin:0 0 var(--space-2) 0}.about-page__features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin-top:var(--space-3)}.about-page__feature{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-card-background, rgba(255, 255, 255, .05));border:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;text-align:center}.about-page__feature-icon{color:var(--color-accent);margin-bottom:var(--space-2)}.about-page__feature h3{font-size:1.1rem;font-weight:600;margin:0 0 var(--space-2) 0;color:var(--color-text)}.about-page__feature p{font-size:.95rem;color:var(--color-text-muted);margin:0;line-height:1.5}.about-page__tech-stack{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-card-background, rgba(255, 255, 255, .05));border:1px solid var(--color-border)}.about-page__tech-item{font-size:.95rem;color:var(--color-text)}.about-page__tech-item strong{color:var(--color-accent)}.about-page__footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-4);border-top:2px solid var(--color-border);color:var(--color-text-muted);font-size:.9rem}.about-page__footer p{margin:0}.about-page__copyright-notice{background:var(--color-card-background, rgba(255, 255, 255, .05));border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.about-page__attribution-content{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-app-background);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);font-size:.9rem;line-height:1.6}.about-page__attribution-intro{margin:0 0 var(--space-3) 0;color:var(--color-text);font-style:italic}.about-page__attribution-subtitle{font-size:1rem;font-weight:600;margin:var(--space-3) 0 var(--space-2) 0;color:var(--color-accent)}.about-page__attribution-list{list-style:none;margin:0 0 var(--space-3) 0;padding:0}.about-page__attribution-list li{margin-bottom:var(--space-2);padding-left:var(--space-2);color:var(--color-text);line-height:1.6}.about-page__attribution-list li strong{color:var(--color-text);font-weight:600}.about-page__attribution-disclaimer{margin:0;color:var(--color-text-muted);font-size:.85rem;font-style:italic}.about-page__license-content{background:var(--color-card-background, rgba(255, 255, 255, .05));border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.about-page__license-heading{font-size:1rem;font-weight:600;margin:var(--space-3) 0 var(--space-2) 0;color:var(--color-accent);text-transform:uppercase;letter-spacing:.5px}.about-page__license-heading:first-child{margin-top:0}.about-page__license-text{font-size:.85rem;line-height:1.7;color:var(--color-text);background:var(--color-app-background);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.about-page__license-text p{margin:0 0 var(--space-2) 0}.about-page__license-text p:last-child{margin-bottom:0}.about-page__license-text strong{color:var(--color-accent);font-weight:600}.roadmap-page{min-height:calc(100vh - 60px);padding:var(--space-4);background:radial-gradient(circle at top left,rgba(115,153,255,.16),transparent 34%),radial-gradient(circle at top right,rgba(88,200,255,.12),transparent 28%),var(--color-app-background)}.roadmap-page__shell{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.roadmap-page__hero{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.roadmap-page__hero-copy{flex:1 1 auto}.roadmap-page__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.roadmap-page__hero h1{margin:var(--space-2) 0 var(--space-2);font-size:clamp(2rem,4vw,3.2rem);color:var(--color-heading)}.roadmap-page__hero p{margin:0;max-width:70ch;color:var(--color-text-muted)}.roadmap-page__hero-stats{display:grid;grid-template-columns:repeat(2,minmax(96px,1fr));gap:var(--space-3);flex:0 0 auto}.roadmap-page__stat{min-width:110px;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-card-background, rgba(255, 255, 255, .05));display:flex;flex-direction:column;gap:var(--space-1);text-align:center}.roadmap-page__stat strong{font-size:1.8rem;line-height:1;color:var(--color-heading)}.roadmap-page__stat span{font-size:.78rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.roadmap-page__summary,.roadmap-page__phase{background:var(--color-card-background, rgba(255, 255, 255, .05));border:1px solid var(--color-border)}.roadmap-page__section-heading{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start}.roadmap-page__section-heading h2{margin:0;color:var(--color-heading)}.roadmap-page__section-heading p{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.roadmap-page__timeline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.roadmap-page__timeline-item{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#ffffff08;display:flex;flex-direction:column;gap:var(--space-2)}.roadmap-page__timeline-head{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center}.roadmap-page__timeline-period{display:inline-flex;align-self:flex-start;padding:.2rem .6rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:.78rem;font-weight:700}.roadmap-page__timeline-item h3{margin:0;font-size:1.05rem;color:var(--color-heading)}.roadmap-page__timeline-item p{margin:0;color:var(--color-text-muted);line-height:1.55}.roadmap-page__summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.roadmap-page__summary-card{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#ffffff08}.roadmap-page__summary-card h3{margin:0 0 var(--space-2);font-size:1rem;color:var(--color-heading)}.roadmap-page__summary-card p{margin:0;color:var(--color-text-muted);line-height:1.55}.roadmap-page__phases{display:grid;gap:var(--space-4)}.roadmap-page__phase-title{display:flex;gap:var(--space-3);align-items:center}.roadmap-page__reference{display:flex;gap:var(--space-2);align-items:baseline;margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:.92rem}.roadmap-page__reference a{color:var(--color-accent);text-decoration:none;font-weight:600}.roadmap-page__reference a:hover{text-decoration:underline}.roadmap-page__phase-icon{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-accent-soft);color:var(--color-accent);flex:0 0 auto}.roadmap-page__issue-list{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-3)}.roadmap-page__feature-list{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-2)}.roadmap-page__feature-item{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#ffffff08;color:var(--color-text);line-height:1.5}.roadmap-page__issue-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.roadmap-page__issue-number{color:var(--color-text-muted);font-size:.85rem}.roadmap-page__issue-body{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.roadmap-page__issue-body h3{margin:0;font-size:1.05rem;color:var(--color-heading)}.roadmap-page__issue-body a{display:inline-flex;align-items:center;gap:var(--space-1);text-decoration:none;color:var(--color-accent);font-weight:600;white-space:nowrap}.roadmap-page__issue-body a:hover{text-decoration:underline}@media(max-width:900px){.roadmap-page__hero,.roadmap-page__issue-body{flex-direction:column}.roadmap-page__timeline-grid,.roadmap-page__hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.roadmap-page__summary-grid{grid-template-columns:1fr}}@media(max-width:640px){.roadmap-page__timeline-grid{grid-template-columns:1fr}}
