/* Chronology (કાળક્રમ) tab: a study-reference look. Everything is scoped under .kl */
.kl{--kl-ind:#33448a;--kl-blue:#2a78d6;--kl-orange:#eb6834;--kl-aqua:#1baf7a;--kl-yellow:#eda100;--kl-surface:var(--panel);--kl-seq-max:100;--kl-on-hi:#fff;
  --kl-track:color-mix(in srgb,var(--ink) 7%,var(--bg));--kl-rule:color-mix(in srgb,var(--ink) 80%,var(--bg));--kl-top:0px;--kl-stick:0px;--kl-off:20px;
  --kl-serif:'Noto Serif Gujarati','Nirmala UI','Noto Serif',Georgia,serif;font-variant-numeric:lining-nums tabular-nums}
html[data-lang="en"] .kl{--kl-serif:'Source Serif 4','Noto Serif',Georgia,'Times New Roman',serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kl{--kl-ind:#8da2ee;--kl-blue:#3987e5;--kl-orange:#d95926;--kl-aqua:#199e70;--kl-yellow:#c98500;--kl-seq-max:85;--kl-on-hi:var(--ink)}}
:root[data-theme="dark"] .kl{--kl-ind:#8da2ee;--kl-blue:#3987e5;--kl-orange:#d95926;--kl-aqua:#199e70;--kl-yellow:#c98500;--kl-seq-max:85;--kl-on-hi:var(--ink)}
.kl [hidden],.kl[hidden]{display:none!important}
.kl,.kl *{box-sizing:border-box}
#v-kalkram{max-width:1180px;margin:0 auto;padding:0 2px 48px;font-size:clamp(15.5px,.4vw + 14px,17px);line-height:1.6;overflow-wrap:anywhere}
.kl button{font-family:inherit;color:inherit}
.kl .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kl .meta{color:var(--mut);font-size:.86em}
.kl button:focus-visible,.kl a:focus-visible,.kl [role=button]:focus-visible,.kl summary:focus-visible,.kl select:focus-visible,.kl input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* layout: contents + main */
.kl-wrap{display:block}
.kl-main{min-width:0}
@media (min-width:900px){#v-kalkram{padding:0 24px 56px}.kl-wrap{display:grid;grid-template-columns:210px minmax(0,1fr);gap:44px;align-items:start}}
.kl-head{padding:6px 0 4px;max-width:70ch}
.kl-h1{font:700 clamp(24px,2vw + 16px,34px)/1.25 var(--kl-serif);margin:0}
.kl-sub-t{margin:4px 0 0;color:var(--mut)}

/* contents */
.kl-toc{background:var(--bg);font-size:.92em}
.kl-toc summary{cursor:pointer;list-style:none;display:flex;gap:10px;align-items:baseline;min-height:44px;padding:8px 0;border-bottom:1px solid var(--line);align-items:center}
.kl-toc summary::-webkit-details-marker{display:none}
.kl-toc summary .k{font:700 .78em var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.kl-toc summary .cur{font-weight:600;flex:1;min-width:0}
.kl-toc summary::after{content:"+";font-weight:700;color:var(--mut);padding-left:8px}
.kl-toc[open] summary::after{content:"−"}
.kl-toc ol{list-style:none;margin:0;padding:6px 0 10px;display:flex;flex-wrap:wrap;gap:0 18px}
.kl-toc li{margin:0}
.kl-toc li button{display:flex;gap:8px;align-items:baseline;border:0;border-left:2px solid transparent;background:none;text-align:left;padding:6px 8px;min-height:40px;cursor:pointer;font:inherit;color:var(--mut);line-height:1.35}
.kl-toc li button:hover{color:var(--ink)}
.kl-toc li button.on{border-left-color:var(--accent);color:var(--ink);font-weight:600}
.kl-toc .n{min-width:1.4em;color:var(--mut);font-weight:400}
@media (max-width:899px){.kl-toc{position:sticky;top:calc(var(--kl-top) - 1px);z-index:15;max-height:calc(100dvh - var(--kl-top));overflow-y:auto;overflow-x:hidden}}
@media (min-width:900px){
  .kl-toc{position:sticky;top:6px;padding-top:0}
  .kl-toc summary{pointer-events:none;border-bottom:1px solid var(--line)}
  .kl-toc summary .cur,.kl-toc summary::after{display:none}
  .kl-toc ol{display:block;padding-top:4px}
  .kl-toc li button{padding:4px 8px;min-height:0;font-size:.95em;width:100%}
}
/* the menu always stays in view; on shorter screens it is compacted to fit (inner scroll only as a last resort) */
@media (min-width:900px){.kl-toc{max-height:calc(100dvh - 36px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}}
@media (min-width:900px) and (max-height:820px){.kl-toc{padding-top:0;top:4px}.kl-toc summary{min-height:30px;padding:2px 0}.kl-toc ol{padding-top:2px;padding-bottom:4px}.kl-toc li button{padding:2px 8px;line-height:1.2;font-size:.88em}}
@media (min-width:900px) and (max-height:600px){.kl-toc li button{font-size:.8em;padding:1px 8px}}

/* sections */
.kl-sec{scroll-margin-top:var(--kl-off);margin-top:38px;padding-top:14px;border-top:1px solid var(--kl-rule);max-width:880px}
.kl-sec h2{margin:0 0 6px;font:700 clamp(20px,1vw + 17px,26px)/1.3 var(--kl-serif);display:flex;gap:14px;align-items:baseline}
.kl-n{color:var(--mut);font-weight:400;min-width:1.2em}
.kl-intro{margin:0;max-width:70ch}
.kl-hint{margin:4px 0 0;color:var(--mut);font-size:.88em;font-style:italic}
.kl-p{margin:10px 0 0;max-width:70ch}
.kl-gloss{color:var(--mut);font-size:.92em}
.kl-h3{margin:22px 0 4px;font:700 1.02em var(--kl-serif);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kl-grid2{display:grid;gap:0 36px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1060px){.kl-grid2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kl-fig{margin:22px 0 0;min-width:0}
.kl-fig.narrow{max-width:520px}
.kl-fig figcaption{font:400 .95em/1.4 var(--kl-serif);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.kl-fig figcaption b{font-weight:700}
.kl-src{margin:8px 0 0;color:var(--mut);font-size:.8em;line-height:1.4}
.kl-ul{margin:8px 0 0;padding-left:1.2em;max-width:70ch}
.kl-ul li{margin:.3em 0}
.kl-links a{color:var(--accent)}
.kl-bq{margin:10px 0;padding:2px 0 2px 16px;border-left:2px solid var(--line);font:400 1.02em/1.9 var(--kl-serif);max-width:70ch}
.kl-btn{border:1px solid var(--ink);background:none;color:var(--ink);border-radius:3px;min-height:44px;padding:0 16px;font:600 .9em var(--f-ui);cursor:pointer;margin-top:12px}
.kl-btn:hover{background:var(--ink);color:var(--bg)}
.kl-btn.ghost{border-color:var(--line)}
.kl-lnk{border:0;background:none;padding:6px 0;min-height:40px;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.kl-lnk span{color:var(--mut);text-decoration:none;margin-left:4px}
.kl-lnks{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:10px}

/* key figures */
.kl-kf{display:flex;flex-wrap:wrap;margin:18px 0 0;border-top:2px solid var(--kl-rule);border-bottom:1px solid var(--kl-rule)}
.kl-k{flex:1 1 130px;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:0;border-left:1px solid var(--line);background:none;text-align:left;min-width:0}
.kl-k:first-child{border-left:0;padding-left:0}
.kl-k b{font:700 clamp(24px,1.6vw + 16px,32px)/1.1 var(--kl-serif);color:var(--kl-ind)}
.kl-k span{font-size:.82em;color:var(--mut);line-height:1.35}
button.kl-k{cursor:pointer}button.kl-k:hover b{text-decoration:underline}
.kl-dl2{margin:14px 0 0}
.kl-dl2>div{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 0;border-bottom:1px solid var(--line)}
.kl-dl2>div:first-child{border-top:1px solid var(--kl-rule)}
.kl-dl2 dt{font-size:.82em;color:var(--mut);font-weight:600}
.kl-dl2 dd{margin:0;min-width:0}
.kl-dl2 dd .kl-p{margin:0}
@media (min-width:760px){.kl-dl2>div{grid-template-columns:200px minmax(0,1fr);gap:20px}.kl-dl2 dt{padding-top:2px}}
.kl-big{margin:0;font:700 1.5em/1.2 var(--kl-serif);color:var(--kl-ind)}.kl-big span{font:400 .6em var(--f-ui);color:var(--mut)}
.kl-pair{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.kl-yp{margin-top:22px;padding-left:16px;border-left:2px solid var(--accent)}
.kl-yp h3{margin:0;font:700 1.15em var(--kl-serif)}.kl-yp h3 span{font:400 .75em var(--f-ui);color:var(--mut);margin-left:8px}
.kl-rg{white-space:nowrap}

/* discourse rows (index style) */
.kl-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:9px 4px;color:var(--ink);cursor:pointer;min-height:48px;font:inherit}
.kl-row:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.kl-row:hover .kl-rt{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.kl-rt{line-height:1.4}.kl-rt b{font-weight:700}
.kl-rs{grid-column:1/-1;color:var(--mut);font-size:.84em;line-height:1.4;display:flex;align-items:center;gap:7px}
.kl-rx{display:flex;gap:8px;align-items:baseline;color:var(--mut)}
.kl-fl{color:var(--ink);font-size:.95em}.kl-fl.m{font-size:.75em;border:1px solid var(--line);padding:0 4px;border-radius:2px;color:var(--mut)}
.kl-rn{color:var(--mut);font-size:.85em}
.kl-mk{display:inline-block;width:9px;height:9px;background:var(--c);flex:0 0 9px;border-radius:1px}
.kl-chips{display:flex;flex-wrap:wrap;gap:6px 8px;margin:6px 0}
.kl-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border:1px solid var(--line);background:none;border-radius:3px;font:500 .9em var(--f-ui);cursor:pointer;white-space:nowrap;color:var(--accent)}
.kl-chip:hover{border-color:var(--accent)}.kl-chip small{color:var(--mut);font-size:.85em}.kl-chip.off{color:var(--mut);cursor:default}

/* bars */
.kl-hbs{display:flex;flex-direction:column}
.kl-hb{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;width:100%;text-align:left;border:0;border-radius:0;background:none;padding:6px 2px;color:var(--ink);font:inherit;min-width:0}
button.kl-hb{cursor:pointer;min-height:44px;align-content:center}
button.kl-hb:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.kl-hl{display:flex;align-items:center;gap:7px;font-size:.9em;line-height:1.3;min-width:0}
.kl-ht{display:flex;align-items:center;gap:8px;height:12px;border-left:1px solid var(--kl-rule)}
.kl-ht i{display:block;height:8px;background:var(--kl-ind);border-radius:0 3px 3px 0;flex:none}
.kl-hv{font-size:.82em;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
@media (min-width:560px){.kl-hb{grid-template-columns:minmax(110px,36%) minmax(0,1fr);gap:12px;align-items:center}.kl-hl{justify-content:flex-start}}
.kl-sw{display:inline-block;width:11px;height:11px;border-radius:1px;flex:0 0 11px;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}
.kl-sw.sud{background:var(--panel)}.kl-sw.vad{background:color-mix(in srgb,var(--ink) 70%,var(--panel))}
@media (prefers-reduced-motion:no-preference){.kl-ht i{animation:klgrow .5s ease-out both}@keyframes klgrow{from{width:0}}.kl-cb i{animation:klup .5s ease-out both}@keyframes klup{from{height:0}}}
.kl-lg{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.86em}
.kl-lg li{display:flex;align-items:center;gap:6px}
.kl-lg.col{flex-direction:column;gap:3px}
.kl-scs{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.kl-sc{display:grid;gap:2px;padding:4px 2px}
.kl-sc .kl-ht{height:10px}.kl-sc .kl-ht i{height:6px}

/* columns */
.kl-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px;height:240px;border-bottom:1px solid var(--kl-rule)}
.kl-col{display:flex;flex-direction:column;align-items:stretch;gap:3px;border:0;border-radius:0;background:none;padding:2px 0 0;cursor:pointer;min-width:0;min-height:0}
.kl-col:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.kl-col b{font-size:.78em;text-align:center;font-weight:600}
.kl-cb{flex:1 1 auto;display:flex;align-items:flex-end;justify-content:center;min-height:0}
.kl-cb i{display:block;width:min(56%,26px);background:var(--kl-ind);border-radius:3px 3px 0 0}
.kl-col.sel .kl-cb i{background:var(--accent)}
.kl-col em{font-style:normal;font-size:.72em;text-align:center;color:var(--mut);padding:4px 0}
.kl-col.sel em,.kl-col.sel b{color:var(--ink);font-weight:700}

/* stacked bars + legend table */
.kl-stack{display:flex;gap:2px;height:36px;margin:6px 0}
.kl-seg{border:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85em;min-width:4px;border-radius:0;padding:0;cursor:default;color:#10162b}
.kl-seg.c-w,.kl-seg.c-x{color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kl-seg.c-w,:root:not([data-theme="light"]) .kl-seg.c-x{color:#0b1220}}
:root[data-theme="dark"] .kl-seg.c-w,:root[data-theme="dark"] .kl-seg.c-x{color:#0b1220}
button.kl-seg{cursor:pointer}button.kl-seg:hover{outline:2px solid var(--ink);outline-offset:-2px}
.kl-seg.pak-sud{background:var(--panel);box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink)}
.kl-seg.pak-vad{background:color-mix(in srgb,var(--ink) 72%,var(--panel));color:var(--panel)}
.kl-lt{border-collapse:collapse;margin-top:10px;font-size:.92em;width:100%;max-width:440px}
.kl-lt th,.kl-lt td{padding:5px 8px 5px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.kl-lt td.num{text-align:right;font-variant-numeric:tabular-nums}
.kl-fold{border-bottom:1px solid var(--line)}
.kl-fold:first-of-type{border-top:1px solid var(--kl-rule)}
.kl-fold summary{cursor:pointer;min-height:46px;display:flex;align-items:center;gap:10px;font-weight:600;list-style:none}
.kl-fold summary::-webkit-details-marker{display:none}
.kl-fold summary span{font-weight:400;color:var(--mut);font-size:.88em}
.kl-fold summary::after{content:"+";margin-left:auto;color:var(--mut);font-weight:700}
.kl-fold[open] summary::after{content:"−"}
.kl-fold[open]{padding-bottom:10px}
.kl-it+.kl-it{border-top:1px dotted var(--line);margin-top:8px;padding-top:8px}

/* heat-map table */
.kl-hmw{overflow-x:auto;border-top:2px solid var(--kl-rule);border-bottom:2px solid var(--kl-rule)}
.kl-hm{border-collapse:collapse;width:100%;min-width:600px;font-variant-numeric:tabular-nums}
.kl-hm thead th{font-weight:600;font-size:.78em;color:var(--mut);padding:6px 0;border-bottom:1px solid var(--kl-rule)}
.kl-hm th,.kl-hm td{text-align:center;padding:0;font-size:.85em;font-weight:400}
.kl-hm th.kl-hc0{text-align:left;position:sticky;left:0;background:var(--bg);z-index:2;padding:0 10px 0 0;white-space:nowrap;min-width:92px;font-weight:600;color:var(--ink)}
.kl-hm th.kl-hc0 .kl-sw{margin-right:6px;vertical-align:-1px;width:9px;height:9px}
.kl-hm td.z{color:color-mix(in srgb,var(--ink) 35%,transparent)}
.kl-hm td.tot,.kl-hm th.tot{color:var(--mut);font-weight:600;border-left:1px solid var(--line)}
.kl-hm tbody td,.kl-hm tbody th{height:40px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.kl-hm tfoot td,.kl-hm tfoot th{border-top:1px solid var(--kl-rule);height:34px;font-weight:600}
.kl-hmc{width:100%;height:100%;min-height:40px;border:0;border-radius:0;background:color-mix(in srgb,var(--kl-ind) calc(var(--t) * var(--kl-seq-max) * 1%),var(--kl-surface));color:var(--ink);font:600 .95em var(--f-ui);cursor:pointer}
.kl-hmc.hi{color:var(--kl-on-hi)}
.kl-hmc:hover{outline:2px solid var(--ink);outline-offset:-2px}

/* map + treemap */
.kl-map{width:100%;height:auto;display:block;border:1px solid var(--line)}
.kl-out{fill:none;stroke:color-mix(in srgb,var(--ink) 40%,transparent);stroke-width:1;stroke-linejoin:round}
.kl-sch{font-size:8.5px;fill:var(--mut);font-style:italic}
.kl-pb{cursor:pointer;outline:none}
.kl-bub{fill:color-mix(in srgb,var(--kl-ind) 30%,transparent);stroke:var(--kl-ind);stroke-width:1.2}
.kl-pb:hover .kl-bub,.kl-pb:focus-visible .kl-bub{fill:color-mix(in srgb,var(--accent) 45%,transparent);stroke:var(--accent)}
.kl-pb:focus-visible .kl-bub{stroke-width:2.5}
.kl-ld{stroke:color-mix(in srgb,var(--ink) 40%,transparent);stroke-width:.6}
.kl-pl{font-size:9.5px;fill:var(--ink);font-weight:500;paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}
.kl-pl .n{font-weight:700}
.kl-tm{position:relative;width:100%;aspect-ratio:100/56}
@media (max-width:560px){.kl-tm{aspect-ratio:100/115}}
.kl-tw{position:absolute;padding:1px;container-type:size}
.kl-tl{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;height:100%;border:0;border-radius:0;padding:8px 10px;text-align:left;cursor:pointer;overflow:hidden;color:var(--ink);background:color-mix(in srgb,var(--kl-ind) calc(var(--t) * var(--kl-seq-max) * 1%),var(--kl-surface));font:inherit;line-height:1.2}
.kl-tl.hi{color:var(--kl-on-hi)}
.kl-tl .nm{font-weight:600;font-size:.9em}.kl-tl b{font:700 1.3em var(--kl-serif);line-height:1}
.kl-tl:hover{outline:2px solid var(--ink);outline-offset:-2px}
@container (max-width:84px){.kl-tl .nm{display:none}.kl-tl{padding:4px}}
@container (max-height:46px){.kl-tl .nm{display:none}.kl-tl{padding:3px 6px}.kl-tl b{font-size:1.05em}}
@container (max-width:34px){.kl-tl b{display:none}}
@container (max-height:22px){.kl-tl b{display:none}}

/* festivals */
.kl-frs{border-top:2px solid var(--kl-rule);border-bottom:2px solid var(--kl-rule)}
.kl-fr{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:9px 4px;min-height:48px;cursor:pointer;font:inherit;color:var(--ink)}
.kl-fr:last-child{border-bottom:0}.kl-fr:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.kl-fr span{color:var(--mut);font-size:.88em}
@media (min-width:760px){.kl-fr{grid-template-columns:200px minmax(0,1fr) 220px;align-items:baseline}}

/* filter + list */
.kl-filter{margin-top:16px;padding:12px 0;border-top:2px solid var(--kl-rule);border-bottom:1px solid var(--line)}
.kl-filter input[type=search]{width:100%;min-height:44px;font:inherit;border-radius:3px;padding:0 12px;background:var(--panel);color:var(--ink);border:1px solid var(--line)}
.kl-sels{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kl-sels select{flex:1 1 150px;min-width:0;min-height:44px;border-radius:3px;font:inherit;font-size:.92em;padding:0 8px;background:var(--panel);color:var(--ink);border:1px solid var(--line)}
.kl-togs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kl-tg{border:1px solid var(--line);background:none;border-radius:3px;padding:0 14px;font:500 .9em var(--f-ui);cursor:pointer;min-height:44px}
.kl-tg[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);font-weight:700}
.kl-fres{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-top:8px}
#kl-count{font-weight:700;font-size:.92em}
.kl-dlg{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.82em;color:var(--mut);margin-top:4px}
.kl-dlg span{display:flex;align-items:center;gap:6px}
.kl-yg{margin-top:20px}
.kl-gy{margin:0;padding:6px 0 2px;font:700 1.35em var(--kl-serif)}
.kl-gy span,.kl-gm span{font:400 .6em var(--f-ui);color:var(--mut);margin-left:8px}
.kl-gm{position:sticky;top:var(--kl-stick);z-index:5;margin:0;padding:7px 0 5px;font:700 .95em var(--f-ui);background:var(--bg);border-bottom:1px solid var(--kl-rule);color:var(--mut)}
.kl-mg{margin-bottom:8px}
.kl-empty{color:var(--mut)}.kl-empty.big{padding:30px 0}.kl-empty.big p{font-size:1.05em;color:var(--ink)}

/* reference panel (drawer) and tooltip, appended to body */
.kl-drw{position:fixed;inset:0;z-index:60}
.kl-bd{position:absolute;inset:0;background:rgba(10,16,35,.45)}
.kl-dr{position:absolute;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);overscroll-behavior:contain;left:0;right:0;bottom:0;height:86dvh;border-top:2px solid var(--ink);transform:translateY(100%)}
.kl-drw.open .kl-dr{transform:none}
@media (prefers-reduced-motion:no-preference){.kl-dr{transition:transform .22s ease-out}.kl-bd{animation:klfade .2s both}@keyframes klfade{from{opacity:0}}}
@media (min-width:860px){.kl-dr{left:auto;top:0;bottom:0;right:0;width:min(520px,92vw);height:auto;border-top:0;border-left:2px solid var(--ink);transform:translateX(100%)}}
.kl-drh{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--kl-rule)}
.kl-dr h2{margin:0;font:700 1.2em/1.3 var(--kl-serif)}
.kl-dr-s{margin:2px 0 0;color:var(--mut);font-size:.84em}
.kl-x{flex:0 0 auto;min-height:44px;min-width:64px;padding:0 12px;border:1px solid var(--ink);background:none;color:var(--ink);border-radius:3px;font:600 .88em var(--f-ui);cursor:pointer}
.kl-x:hover{background:var(--ink);color:var(--bg)}
.kl-dr-b{flex:1 1 auto;overflow-y:auto;padding:0 16px;overscroll-behavior:contain}
.kl-dr-f{padding:0 16px 14px}.kl-dr-f:empty{display:none}.kl-dr-f .kl-btn{width:100%;margin-top:10px}
.kl-tip{position:fixed;z-index:80;pointer-events:none;background:var(--ink);color:var(--bg);font:500 12.5px/1.35 var(--f-ui);padding:5px 9px;border-radius:2px;max-width:260px}
.kl-drw .kl-row{padding-left:0;padding-right:0}

/* keep the sticky contents menu in place right to the end of the page: the last section is given room to scroll */
@media (min-width:900px){.kl-sec:last-of-type{min-height:calc(100dvh - 120px)}}

/* detail rows: every long note / quotation opens the same side panel */
.kl-dts{border-top:1px solid var(--kl-rule);margin:8px 0 14px;max-width:880px}
.kl-dtr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:2px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 4px;cursor:pointer;color:var(--ink);font:inherit;min-height:48px}
.kl-dtr:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}
.kl-dtr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.kl-dtt{grid-column:1;font-weight:600;line-height:1.4}
.kl-dtx{grid-column:1;color:var(--mut);font-size:.9em;line-height:1.55}
.kl-dtg{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--accent);font-size:.88em;white-space:nowrap}
.kl-dt{padding-bottom:6px}
.kl-dt .kl-it+.kl-it{margin-top:14px}

/* explicit themes: paper and contrast use the light chart colours even when the device is in dark mode */
:root[data-theme="paper"] .kl,:root[data-theme="contrast"] .kl{--kl-ind:#33448a;--kl-blue:#2a78d6;--kl-orange:#eb6834;--kl-aqua:#1baf7a;--kl-yellow:#eda100;--kl-seq-max:100;--kl-on-hi:#fff}
:root[data-theme="paper"] .kl-seg.c-w,:root[data-theme="paper"] .kl-seg.c-x,:root[data-theme="contrast"] .kl-seg.c-w,:root[data-theme="contrast"] .kl-seg.c-x{color:inherit}
