/* Localized styles: the history page does not resize the site navigation. */
#view-kabbalah-history { --ks-accent:#dbad83; --ks-muted:#9ca8b8; --ks-line:#35404e; --ks-panel:#191f28; --ks-foundation:#9bc6b8; --ks-spread:#c4b0db; }
body.light-mode #view-kabbalah-history { --ks-accent:#945c30; --ks-muted:#566579; --ks-line:#d1dae4; --ks-panel:#fff; --ks-foundation:#356a59; --ks-spread:#795992; }
.ks-page { font-family:var(--font-b); font-weight:400; color:var(--text); padding:0 24px; }
.ks-page :is(h1,h2,h3,h4,p) { margin:0; }
.ks-page :is(h1,h2,h3,h4,button,input) { font-family:inherit; }
.ks-page h1 { font-weight:400; }
.ks-page :is(h2,h3,h4,b) { font-weight:600; }
.ks-page strong { font-weight:700; color:var(--text); }
.ks-intro h1 strong { color:var(--ks-accent); font-weight:600; }
.ks-page button { cursor:pointer; font-size:inherit; }
.ks-page button:disabled { opacity:.3; cursor:default; }
.ks-page :is(a,button,input,summary,[tabindex]):focus-visible { outline:2px solid var(--ks-accent); outline-offset:4px; }
.ks-intro { max-width:1540px; margin:auto; padding:25px 0 28px; }
.ks-intro-meta { display:flex; justify-content:space-between; color:var(--ks-muted); font-size:11px; margin-bottom:25px; }
.ks-intro-meta a { color:var(--ks-muted); }
.ks-kicker { font-size:11px; color:var(--ks-accent); letter-spacing:.025em; }
.ks-intro h1 { font-size:44px; line-height:1.4; letter-spacing:-.02em; margin:7px 0 10px; }
.ks-intro h1 em { font-style:normal; color:var(--ks-accent); }
.ks-intro-text { max-width:900px; font-size:16px; color:var(--text2); line-height:1.9; }
.ks-intro-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; }
.ks-intro-bottom > span { color:var(--ks-muted); font-size:12px; }
.ks-intro-bottom i { padding:0 8px; font-style:normal; }
.ks-start { display:flex; align-items:center; gap:10px; color:var(--text2); background:none; border:0; font-size:12px !important; }
.ks-scroll-icon { display:grid; place-items:center; width:28px; height:33px; border:1px solid var(--ks-line); border-radius:16px; color:var(--ks-accent); animation:ks-breathe 3s ease-in-out infinite; }
.ks-intro-line { display:none; }
.ks-story { position:relative; max-width:1600px; margin:auto; }
.ks-pin { position:sticky; top:calc(var(--hdr-h,66px) + 12px); height:calc(100svh - var(--hdr-h,66px) - 24px); min-height:470px; display:flex; flex-direction:column; background:var(--bg2); border:1px solid var(--ks-line); border-radius:12px; }
.ks-story-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px 28px; flex-shrink:0; border-bottom:1px solid var(--ks-line); }
.ks-story-label { font-size:13px; color:var(--text2); white-space:nowrap; }
.ks-story-label small { display:block; font-size:8px; letter-spacing:.2em; color:var(--ks-muted); margin-top:2px; }
.ks-phases { display:flex; gap:8px; }
.ks-phases button { font-size:11px; border:1px solid transparent; padding:5px 11px; color:var(--ks-muted); background:none; border-radius:20px; }
.ks-phases button::before { content:''; display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--ks-accent); margin-inline-end:7px; vertical-align:middle; }
.ks-phases button[data-phase="0"]::before { background:var(--ks-foundation); }
.ks-phases button[data-phase="2"]::before { background:var(--ks-spread); }
.ks-phases button[aria-current="step"] { color:var(--text); border-color:var(--ks-line); background:var(--surface-soft); }
.ks-counter { display:flex; direction:ltr; align-items:baseline; gap:7px; color:var(--ks-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.ks-counter b { font-size:20px; color:var(--ks-accent); }
.ks-window { --scene-width:332px; --scene-gap:28px; --axis-y:50%; flex:1; position:relative; overflow:hidden; min-height:0; background:linear-gradient(to bottom,transparent calc(50% - 40px),var(--surface-soft) calc(50% - 40px),var(--surface-soft) calc(50% + 40px),transparent calc(50% + 40px)); }
.ks-window::before,.ks-window::after { content:''; position:absolute; top:0; bottom:0; width:18px; z-index:2; pointer-events:none; }
.ks-window::before { right:0; background:linear-gradient(to left,var(--bg2),transparent); }
.ks-window::after { left:0; background:linear-gradient(to right,var(--bg2),transparent); }
.ks-track { position:absolute; right:0; top:0; height:100%; display:flex; gap:var(--scene-gap); width:max-content; padding-inline:28px; }
.ks-axis { position:absolute; top:var(--axis-y); right:calc(28px + var(--scene-width)/2); left:calc(28px + var(--scene-width)/2); height:2px; background:var(--ks-line); }
.ks-axis::before { content:''; position:absolute; top:-6px; left:0; right:0; height:14px; background:repeating-linear-gradient(to left,transparent 0,transparent 31px,var(--ks-line) 31px,var(--ks-line) 32px); opacity:.65; }
.ks-axis-arrow { position:absolute; left:-28px; top:-17px; font-size:25px; color:var(--ks-accent); }
.ks-axis-fill { position:absolute; inset:0; background:var(--ks-accent); transform:scaleX(0); transform-origin:right; }
.ks-scene { position:relative; width:var(--scene-width); flex:0 0 var(--scene-width); --reveal:0; --chapter-color:var(--ks-accent); }
.ks-scene[data-phase="0"] { --chapter-color:var(--ks-foundation); }
.ks-scene[data-phase="2"] { --chapter-color:var(--ks-spread); }
.ks-scene-top { position:absolute; top:16px; bottom:calc(100% - var(--axis-y) + 38px); left:0; right:0; padding:13px 15px 0; border-top:2px solid var(--chapter-color); transition:background-color .3s; overflow:auto; scrollbar-width:thin; }
.ks-scene[data-side="below"] .ks-scene-top { top:calc(var(--axis-y) + 38px); bottom:16px; }
.ks-scene.is-current .ks-scene-top { background:linear-gradient(to bottom,var(--surface-soft),transparent); }
.ks-date { display:flex; align-items:center; gap:9px; font-size:11px; color:var(--ks-muted); margin-bottom:10px !important; }
.ks-event-number { color:var(--chapter-color); font-size:10px; font-variant-numeric:tabular-nums; }
.ks-scene h2 { font-size:24px; line-height:1.4; letter-spacing:-.015em; margin-bottom:11px; }
.ks-narrative { color:var(--text); font-size:15px; line-height:1.8; }
.ks-connector { position:absolute; top:calc(var(--axis-y) - 38px); right:50%; height:38px; width:1px; background:var(--chapter-color); opacity:calc(.25 + var(--reveal)*.75); }
.ks-scene[data-side="below"] .ks-connector { top:var(--axis-y); }
.ks-stop { position:absolute; top:var(--axis-y); right:50%; transform:translate(50%,-50%); width:14px; height:14px; }
.ks-stop > i { display:block; position:absolute; inset:1px; border:2px solid var(--chapter-color); border-radius:50%; background:var(--bg2); }
.ks-scene.is-passed .ks-stop > i { background:var(--chapter-color); }
.ks-scene.is-current .ks-stop > i { box-shadow:0 0 0 5px var(--bg2),0 0 0 6px var(--chapter-color); }
.ks-scene-bottom { position:absolute; top:calc(var(--axis-y) + 26px); right:9px; left:9px; text-align:center; }
.ks-scene[data-side="below"] .ks-scene-bottom { top:auto; bottom:calc(100% - var(--axis-y) + 26px); }
.ks-time { display:block; color:var(--chapter-color); font-size:46px; line-height:1.15; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.ks-scene[data-index="7"] .ks-time,.ks-scene[data-index="8"] .ks-time,.ks-scene[data-index="9"] .ks-time,.ks-scene[data-index="10"] .ks-time { font-size:29px; }
.ks-time-caption { display:block; font-size:11px; color:var(--ks-muted); margin-top:7px; }
.ks-years { display:block; color:var(--text2); font-size:12px; line-height:1.4; margin-top:4px; font-variant-numeric:tabular-nums; }
.ks-years small { font-size:10px; }
.ks-transition-label { position:absolute; top:calc(var(--axis-y) + 17px); right:-87px; color:var(--ks-accent); font-size:8px; width:120px; text-align:center; padding:3px 5px; background:var(--bg2); border:1px dashed var(--ks-line); border-radius:3px; }
.ks-evidence-button { display:flex; align-items:center; justify-content:center; gap:9px; font-size:12px !important; color:var(--chapter-color); background:transparent; border:0; border-bottom:1px solid var(--ks-line); padding:5px 0; margin:10px 0 0; transition:border-color .2s; }
.ks-evidence-button:hover { border-color:var(--chapter-color); }
.ks-evidence-button > span:first-child { color:var(--ks-muted); }
.ks-story-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:11px 27px; flex-shrink:0; border-top:1px solid var(--ks-line); }
.ks-step-controls { display:flex; gap:6px; }
.ks-step-controls button { width:32px; height:32px; background:var(--ks-panel); border:1px solid var(--ks-line); border-radius:6px; color:var(--text2); font-size:18px; }
.ks-progress-nav { display:flex; gap:5px; flex-wrap:wrap; max-width:65%; }
.ks-progress-nav button { width:24px; padding:3px 0; border:0; background:none; color:var(--ks-muted); font-size:9px; }
.ks-progress-nav i { display:block; width:100%; height:2px; background:var(--ks-line); margin-top:4px; }
.ks-progress-nav .is-passed i { background:var(--ks-accent); opacity:.4; }
.ks-progress-nav [aria-current="step"] { color:var(--ks-accent); }
.ks-progress-nav [aria-current="step"] i { background:var(--ks-accent); opacity:1; }
.ks-scroll-hint { color:var(--ks-muted); font-size:11px; }
.ks-scroll-hint span { margin-inline-start:7px; color:var(--ks-accent); }
.ks-end { max-width:770px; margin:auto; padding:65px 25px; text-align:center; }
.ks-end h2 { font-size:29px; line-height:1.6; margin:13px 0 17px; }
.ks-end h2 span { color:var(--ks-accent); }
.ks-end > p { font-size:14px; line-height:1.9; color:var(--text2); }
.ks-restart { color:var(--ks-accent); border:0; border-bottom:1px solid var(--ks-line); padding:7px 0; background:none; font-size:12px !important; margin-top:22px; }
.ks-restart span { padding-inline-start:9px; }
.ks-library { max-width:1180px; margin:auto; padding:0 20px 40px; }
.ks-library-head { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:25px 0; border-top:1px solid var(--ks-line); }
.ks-library-head h2 { font-size:24px; margin-top:7px; }
.ks-search input { background:var(--ks-panel); color:var(--text); padding:10px 13px; border:1px solid var(--ks-line); border-radius:7px; font-size:12px; width:220px; }
.ks-search input::placeholder { color:var(--ks-muted); }
.ks-source-list { display:grid; grid-template-columns:1fr 1fr; gap:0 35px; }
.ks-source-list a { display:flex; gap:14px; padding:17px 0; align-items:center; font-size:12px; color:var(--text2); border-bottom:1px solid var(--ks-line); }
.ks-source-list a > span:first-child { color:var(--ks-muted); font-size:10px; }
.ks-source-list a > span:last-child { margin-inline-start:auto; color:var(--ks-accent); }
.ks-source-list a:hover { color:var(--ks-accent); }
.ks-empty { color:var(--ks-muted); font-size:13px; }
.ks-method { max-width:1140px; margin:0 auto 25px; border-block:1px solid var(--ks-line); }
.ks-method summary { display:flex; justify-content:space-between; cursor:pointer; color:var(--ks-muted); font-size:12px; padding:18px 0; list-style:none; }
.ks-method summary::-webkit-details-marker { display:none; }
.ks-method p { font-size:13px; color:var(--text2); line-height:1.9; margin-bottom:15px; }
.ks-method[open] summary > span { transform:rotate(45deg); }
.ks-page-footer { max-width:1140px; margin:auto; padding:0 0 25px; color:var(--ks-muted); font-size:10px; display:flex; justify-content:space-between; gap:20px; }

.ks-dialog { position: fixed; margin: 0; inset: 0 0 0 auto; height: 100dvh; max-height: 100dvh; width: min(640px,100%); max-width: 100%; background: var(--ks-panel); color: var(--text); border: 0; border-inline-end: 1px solid var(--ks-line); padding: 0; overflow-y: auto; overscroll-behavior: contain; }
.ks-dialog[open] { animation: ks-dialog-in .3s ease-out; }
.ks-dialog::backdrop { background: rgba(5,8,12,.68); backdrop-filter: blur(5px); }
.ks-dialog-bar { display: flex; align-items: center; justify-content: space-between; padding: 17px 30px; border-bottom: 1px solid var(--ks-line); background: var(--ks-panel); position: sticky; top: 0; z-index: 1; }
.ks-dialog-bar > span { color: var(--ks-muted); font-size: 12px; }
.ks-dialog-bar button { background: none; border: 1px solid var(--ks-line); border-radius: 50%; width: 36px; height: 36px; color: var(--text); font-size: 13px; }
.ks-dialog-content { padding: 32px; }
.ks-dialog h2 { font-size: 28px; line-height: 1.5; margin: 10px 0 17px; }
.ks-dialog-claim { font-size: 16px; color: var(--text2); line-height: 1.9; }
.ks-dialog-takeaway { color:var(--ks-accent); font-size:14px; line-height:1.8; margin-bottom:17px !important; }
.ks-admin-tools[hidden] { display:none; }
.ks-admin-tools { display:flex; gap:14px; align-items:center; margin-top:14px; }
.ks-admin-tools button,.ks-editor button { border:1px solid var(--ks-line); background:var(--ks-panel); color:var(--text); border-radius:6px; padding:8px 12px; font-size:12px; }
.ks-save-status { color:var(--ks-foundation); font-size:12px; }
.ks-inline-edit { border:1px solid var(--ks-line); background:var(--ks-panel); color:var(--ks-accent); padding:5px 9px; border-radius:5px; font-size:11px !important; }
.ks-inline-edit[hidden] { display:none; }
.ks-editor { width:min(740px,100%); }
.ks-editor h2 { font-size:20px; margin:0; }
.ks-editor-content { padding:24px; }
.ks-editor label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--text); margin-bottom:16px; }
.ks-editor :is(input,textarea,select) { font:inherit; font-size:14px; color:var(--text); background:var(--bg2); border:1px solid var(--ks-line); border-radius:6px; padding:10px; width:100%; box-sizing:border-box; }
.ks-editor textarea { resize:vertical; min-height:85px; line-height:1.7; }
.ks-editor fieldset { border:1px solid var(--ks-line); border-radius:8px; padding:16px; margin:20px 0; min-width:0; }
.ks-editor legend { font-size:13px; color:var(--ks-accent); padding:0 8px; }
.ks-editor-fields h3 { font-size:18px; margin-top:22px; }
.ks-editor-hint { color:var(--ks-muted); font-size:12px; line-height:1.8; margin-bottom:20px !important; }
.ks-editor-order { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.ks-editor-error { color:#ef9898; font-size:13px; margin-top:16px !important; }
.ks-editor-actions { position:sticky; bottom:0; padding:15px 24px; display:flex; flex-wrap:wrap; gap:10px; background:var(--ks-panel); border-top:1px solid var(--ks-line); }
.ks-editor-actions button[type="submit"] { background:var(--ks-accent); color:var(--bg); border-color:var(--ks-accent); font-weight:600; }
.ks-editor-actions > span { width:100%; color:var(--ks-muted); font-size:11px; }
.ks-evidence { padding: 25px 0; border-top: 1px solid var(--ks-line); }
.ks-evidence-list { margin-top: 30px; }
.ks-evidence-type { color: var(--ks-accent); font-size: 11px; }
.ks-evidence-type[data-kind="text"] { color: var(--green); }
.ks-evidence h3 { font-size: 19px; line-height: 1.5; margin: 8px 0 12px; }
.ks-evidence p { color: var(--text2); font-size: 14px; line-height: 1.9; }
.ks-evidence blockquote { background: transparent; color: var(--ks-accent); border: 0; font-style: normal; margin: 10px 0; padding: 0; font-size: 20px; }
.ks-evidence .ks-reference { color: var(--ks-muted); font-size: 12px; margin: 14px 0; }
.ks-evidence a { display: block; color: var(--ks-accent); font-size: 13px; line-height: 1.8; }
.ks-evidence a:hover { text-decoration: underline; }
.ks-evidence small { display: block; color: var(--ks-muted); font-size: 11px; margin-top: 7px; }
.ks-evidence-note { border-top: 1px solid var(--ks-line); padding-top: 16px; }
.ks-evidence-note summary { color: var(--ks-muted); font-size: 12px; cursor: pointer; }
.ks-evidence-note p { font-size: 13px; line-height: 1.85; color: var(--text2); margin-top: 12px; }
.ks-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@keyframes ks-breathe { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
@keyframes ks-dialog-in { from { transform: translateX(45px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }


@media (max-width:760px) {
  .ks-page { padding-inline:12px; }
  .ks-intro { padding:20px 7px; }
  .ks-intro-meta { font-size:10px; margin-bottom:20px; }
  .ks-intro h1 { font-size:34px; }
  .ks-intro-text { font-size:14px; }
  .ks-intro-bottom { align-items:flex-start; flex-direction:column; gap:11px; margin-top:18px; }
  .ks-intro-bottom > span { font-size:10px; }
  .ks-pin { border-radius:10px; }
  .ks-story-heading { flex-wrap:wrap; padding:13px 15px 10px; gap:7px; }
  .ks-phases { order:3; width:100%; justify-content:space-between; gap:3px; }
  .ks-phases button { font-size:9px; padding:4px 6px; }
  .ks-phases button::before { margin-inline-end:4px; }
  .ks-story-label { font-size:11px; }
  .ks-counter { font-size:10px; }
  .ks-counter b { font-size:16px; }
  .ks-window { --scene-width:calc(var(--window-width,90vw) - 46px); --scene-gap:24px; --axis-y:138px; background:linear-gradient(to bottom,transparent calc(var(--axis-y) - 38px),var(--surface-soft) calc(var(--axis-y) - 38px),var(--surface-soft) calc(var(--axis-y) + 38px),transparent calc(var(--axis-y) + 38px)); }
  .ks-track { padding-inline:15px; }
  .ks-axis { right:calc(15px + var(--scene-width)/2); left:calc(15px + var(--scene-width)/2); }
  .ks-scene .ks-scene-top,.ks-scene[data-side="below"] .ks-scene-top { padding:15px 10px 0; top:calc(var(--axis-y) + 33px); bottom:14px; }
  .ks-scene .ks-scene-bottom,.ks-scene[data-side="below"] .ks-scene-bottom { top:auto; bottom:calc(100% - var(--axis-y) + 22px); }
  .ks-scene .ks-connector { top:var(--axis-y); height:33px; }
  .ks-date { font-size:9px; margin-bottom:10px !important; }
  .ks-scene h2 { font-size:23px; margin-bottom:10px; }
  .ks-narrative { font-size:14px; line-height:1.85; }
  .ks-transition-label { display:none; }
  .ks-story-footer { gap:9px; padding:10px 13px; }
  .ks-step-controls { gap:4px; }
  .ks-step-controls button { width:28px; height:28px; font-size:15px; }
  .ks-progress-nav { gap:3px; flex:1; }
  .ks-progress-nav button { width:auto; flex:1; font-size:8px; }
  .ks-scroll-hint { display:none; }
  .ks-end { padding:45px 12px; }
  .ks-end h2 { font-size:25px; }
  .ks-library { padding-inline:8px; }
  .ks-library-head { flex-direction:column; align-items:stretch; gap:17px; }
  .ks-library-head h2 { font-size:22px; }
  .ks-search input { width:100%; }
  .ks-source-list { grid-template-columns:1fr; }
  .ks-method { margin-inline:8px; }
  .ks-page-footer { padding-inline:8px; flex-direction:column; gap:6px; }
  .ks-dialog-content { padding:24px; }
  .ks-dialog-bar { padding-inline:24px; }
}
@media (min-width:761px) and (max-height:840px), (max-height:740px) {
  .ks-story-heading { padding-block:10px; }
  .ks-scene-top { top:10px; padding:10px 12px 0; bottom:calc(100% - var(--axis-y) + 25px); }
  .ks-scene[data-side="below"] .ks-scene-top { top:calc(var(--axis-y) + 25px); bottom:10px; }
  .ks-connector { top:calc(var(--axis-y) - 25px); height:25px; }
  .ks-date { font-size:9px; margin-bottom:7px !important; }
  .ks-scene h2 { font-size:21px; margin-bottom:7px; line-height:1.4; }
  .ks-narrative { font-size:13px; line-height:1.7; }
  .ks-evidence-button { padding:4px 0; margin-top:5px; }
}
@media (max-width:760px) and (max-height:740px) {
  .ks-window { --axis-y:122px; }
  .ks-scene .ks-scene-top { top:calc(var(--axis-y) + 27px); padding:11px 8px 0; bottom:10px; }
  .ks-scene .ks-connector { height:27px; }
  .ks-scene .ks-scene-bottom { bottom:calc(100% - var(--axis-y) + 20px); }
}
@media (prefers-reduced-motion:reduce) { .ks-page *, .ks-page *::before, .ks-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
