@font-face { font-family: "JKS Junicode"; src: url("../fonts/junicode/Junicode-Regular.otf") format("opentype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "JKS Junicode"; src: url("../fonts/junicode/Junicode-Italic.otf") format("opentype"); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: "JKS Junicode"; src: url("../fonts/junicode/Junicode-Bold.otf") format("opentype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "JKS Junicode"; src: url("../fonts/junicode/Junicode-BoldItalic.otf") format("opentype"); font-style: italic; font-weight: 700; font-display: swap; }

:root {
  --jks-site-ink: #17231f;
  --jks-site-muted: #68746f;
  --jks-site-accent: #8b5d17;
  --jks-site-accent-strong: #69420a;
  --jks-site-line: #dce3df;
  --jks-site-paper: #fffef9;
  --jks-site-soft: #f3f6f3;
}

.jks-site {
  box-sizing: border-box;
  max-width: 1180px;
  margin: 0 auto;
  padding: 34px 20px 58px;
  color: var(--jks-site-ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.jks-site *, .jks-site *::before, .jks-site *::after { box-sizing: border-box; }
.jks-site [hidden] { display: none !important; }
.jks-site a { color: inherit; }

.jks-site-hero,
.jks-song-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  padding: clamp(30px, 5vw, 56px);
  border: 1px solid var(--jks-site-line);
  border-radius: 28px;
  margin-bottom: 22px;
  background:
    radial-gradient(circle at 88% 5%, rgba(180, 126, 35, .23), transparent 31%),
    linear-gradient(135deg, #fffef9, #eaf3ee);
  overflow: hidden;
}

.jks-site-hero > div { max-width: 760px; }
.jks-site-hero > div > span,
.jks-source-badge {
  display: block;
  margin-bottom: 8px;
  color: var(--jks-site-accent);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.jks-site-hero h1,
.jks-song-hero h1 {
  margin: .12em 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.35rem, 6vw, 5rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.04em;
}

.jks-site-hero p { max-width: 650px; margin: 16px 0 0; color: var(--jks-site-muted); font-size: 1.05rem; line-height: 1.6; }
.jks-primary-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  flex: none;
  padding: 14px 18px;
  border-radius: 999px;
  background: var(--jks-site-ink);
  color: #fff !important;
  font-weight: 750;
  text-decoration: none;
}
.jks-primary-link span { font-size: 1.4rem; }

.jks-catalog-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-end;
  gap: 12px 24px;
  padding: 20px 4px;
}
.jks-catalog-tools label { display: grid; gap: 7px; width: 100%; min-width: 0; color: var(--jks-site-muted); font-size: .78rem; font-weight: 700; }
.jks-catalog-tools input {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--jks-site-line);
  border-radius: 13px;
  background: #fff;
  color: var(--jks-site-ink);
  font: inherit;
  font-size: 1rem;
}
.jks-catalog-tools input:focus { outline: 3px solid rgba(139, 93, 23, .18); border-color: var(--jks-site-accent); }
.jks-catalog-tools p { margin: 0 0 12px; color: var(--jks-site-muted); white-space: nowrap; }
.jks-catalog-tools p strong { color: var(--jks-site-ink); }
.jks-catalog-search-modes{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px;margin-top:-3px}.jks-catalog-search-modes button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 13px;border:1px solid var(--jks-site-line);border-radius:12px;background:#fff;color:var(--jks-site-ink);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.jks-catalog-search-modes button:hover,.jks-catalog-search-modes button:focus-visible{transform:translateY(-2px);border-color:var(--jks-site-accent);box-shadow:0 8px 20px rgba(21,35,31,.1)}.jks-catalog-search-modes button>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--jks-site-accent);color:#fff;font-size:1rem}.jks-catalog-search-modes button>strong{font-size:.76rem}.jks-catalog-number-picker{bottom:max(12px,env(safe-area-inset-bottom));max-height:min(88vh,780px)}
.jks-catalog-tag-panel{grid-column:1/-1;border:1px solid var(--jks-site-line);border-radius:14px;background:var(--jks-site-paper);overflow:hidden}.jks-catalog-tag-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 14px;color:var(--jks-site-ink);font-size:.78rem;font-weight:800;cursor:pointer;list-style:none}.jks-catalog-tag-panel>summary::-webkit-details-marker{display:none}.jks-catalog-tag-panel>summary::after{content:'⌄';color:var(--jks-site-accent);font-size:1.1rem;transition:transform .18s ease}.jks-catalog-tag-panel[open]>summary::after{transform:rotate(180deg)}.jks-catalog-tag-panel>summary strong{margin-left:auto;color:var(--jks-site-accent);font-size:.72rem}.jks-catalog-tags{display:flex;flex-wrap:wrap;gap:7px;padding:4px 14px 14px;border-top:1px solid var(--jks-site-line)}.jks-catalog-tags button,.jks-song-card-tags i{border:1px solid var(--jks-tag-border,color-mix(in srgb,var(--jks-site-accent) 35%,var(--jks-site-line)));border-radius:999px;background:var(--jks-tag-bg,#fff);color:var(--jks-tag-ink,var(--jks-site-accent));font:700 .68rem/1.2 inherit}.jks-catalog-tags button{padding:8px 12px;cursor:pointer}.jks-catalog-tags button.is-active{border-color:var(--jks-tag-active-border,var(--jks-site-accent));background:var(--jks-tag-active-bg,var(--jks-site-accent));color:var(--jks-tag-active-ink,#fff)}.jks-song-card-tags{display:flex!important;flex-wrap:wrap;gap:5px;margin-top:7px}.jks-song-card-tags i{padding:4px 7px;font-style:normal}
:is([data-jks-catalog-tag="CAT-JKS1947-ADVENT"],[data-liturgical-code="CAT-JKS1947-ADVENT"],[data-jks-catalog-tag="CAT-JKS1947-POST"],[data-liturgical-code="CAT-JKS1947-POST"]){--jks-tag-bg:#f0e6f4;--jks-tag-ink:#522567;--jks-tag-border:#704084;--jks-tag-active-bg:#603477;--jks-tag-active-border:#522567;--jks-tag-active-ink:#fff}
:is([data-jks-catalog-tag="CAT-JKS1947-VIANOCE"],[data-liturgical-code="CAT-JKS1947-VIANOCE"],[data-jks-catalog-tag="CAT-JKS1947-POSLEDNY-DEN-ROKA"],[data-liturgical-code="CAT-JKS1947-POSLEDNY-DEN-ROKA"],[data-jks-catalog-tag="CAT-JKS1947-NOVY-ROK"],[data-liturgical-code="CAT-JKS1947-NOVY-ROK"],[data-jks-catalog-tag="CAT-JKS1947-TRI-KRALE"],[data-liturgical-code="CAT-JKS1947-TRI-KRALE"],[data-jks-catalog-tag="CAT-JKS1947-MENO-JEZIS"],[data-liturgical-code="CAT-JKS1947-MENO-JEZIS"],[data-jks-catalog-tag="CAT-JKS1947-ZELENY-STVRTOK"],[data-liturgical-code="CAT-JKS1947-ZELENY-STVRTOK"],[data-jks-catalog-tag="CAT-JKS1947-VELKA-NOC"],[data-liturgical-code="CAT-JKS1947-VELKA-NOC"]){--jks-tag-bg:#fffdf3;--jks-tag-ink:#6d5414;--jks-tag-border:#c8a84f;--jks-tag-active-bg:#fff8d8;--jks-tag-active-border:#9b771d;--jks-tag-active-ink:#4c390b}
:is([data-jks-catalog-tag="CAT-JKS1947-KVETNA-NEDELA"],[data-liturgical-code="CAT-JKS1947-KVETNA-NEDELA"]){--jks-tag-bg:linear-gradient(100deg,#f6e5e6 0 50%,#eee3f2 50%);--jks-tag-ink:#6e2028;--jks-tag-border:#8a3440;--jks-tag-active-bg:linear-gradient(100deg,#a62531 0 50%,#603477 50%);--jks-tag-active-border:#632b45;--jks-tag-active-ink:#fff}
:is([data-jks-catalog-tag="CAT-JKS1947-VELKY-PIATOK"],[data-liturgical-code="CAT-JKS1947-VELKY-PIATOK"]){--jks-tag-bg:#292929;--jks-tag-ink:#fff;--jks-tag-border:#111;--jks-tag-active-bg:#111;--jks-tag-active-border:#000;--jks-tag-active-ink:#fff}
:is([data-jks-catalog-tag="CAT-JKS1947-BIELA-SOBOTA"],[data-liturgical-code="CAT-JKS1947-BIELA-SOBOTA"]){--jks-tag-bg:linear-gradient(100deg,#eee3f2 0 50%,#fffdf3 50%);--jks-tag-ink:#522567;--jks-tag-border:#85669a;--jks-tag-active-bg:linear-gradient(100deg,#603477 0 50%,#fff8d8 50%);--jks-tag-active-border:#603477;--jks-tag-active-ink:#24132b}
.jks-catalog { display: grid; gap: 10px; }
.jks-song-card {
  position: relative;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  border: 1px solid var(--jks-site-line);
  border-radius: 16px;
  background: #fff;
  color: inherit;
  overflow: hidden;
  text-decoration: none !important;
  transition: transform .22s cubic-bezier(.2,.75,.25,1), box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
}
.jks-song-card:hover,.jks-song-card:focus-visible { transform: translateY(-4px) scale(1.008); border-color: var(--jks-site-accent); background:color-mix(in srgb,var(--jks-site-accent) 6%,#fff); color:inherit; text-decoration:none!important; box-shadow:0 18px 42px rgba(21,35,31,.16),0 0 0 2px color-mix(in srgb,var(--jks-site-accent) 14%,transparent); }
.jks-song-card:focus-visible{outline:3px solid color-mix(in srgb,var(--jks-site-accent) 30%,transparent);outline-offset:3px}
.jks-song-card > strong { color: var(--jks-site-accent); font-family: Georgia, serif; font-size: 1.85rem; font-weight: 500; transition:font-size .22s ease,color .22s ease; }
.jks-song-card h2 { margin: 0; font-family: Georgia, serif; font-size: 1.28rem; font-weight: 500; transition:font-size .22s ease,color .22s ease; }
.jks-song-card:hover>strong,.jks-song-card:focus-visible>strong{font-size:1.98rem;color:color-mix(in srgb,var(--jks-site-accent) 82%,#111)}
.jks-song-card:hover h2,.jks-song-card:focus-visible h2{font-size:1.36rem;color:var(--jks-site-accent)}
.jks-song-card div span { color: var(--jks-site-muted); font-size: .72rem; }
.jks-card-arrow { color: var(--jks-site-accent); font-size: 1.4rem; transition: transform .18s ease; }
.jks-song-card:hover .jks-card-arrow,.jks-song-card:focus-visible .jks-card-arrow { transform: translateX(7px) scale(1.12); }
.jks-song-card mark { border-radius: 3px; background: #ffe38a; color: #281f08; box-shadow: 0 0 0 2px #ffe38a; }
.jks-site-empty { padding: 60px 20px; text-align: center; color: var(--jks-site-muted); }
.jks-catalog-sentinel { display: grid; min-height: 96px; place-items: center; padding: 18px; color: var(--jks-site-muted); }
.jks-catalog-sentinel[hidden] { display: none; }
.jks-catalog-sentinel button { padding: 11px 18px; border: 1px solid var(--jks-site-accent); border-radius: 999px; background: #fff; color: var(--jks-site-accent); font: 750 .82rem/1.2 inherit; cursor: pointer; }
@media (prefers-reduced-motion:reduce){.jks-song-card,.jks-song-card>strong,.jks-song-card h2,.jks-card-arrow{transition:none}.jks-song-card:hover,.jks-song-card:focus-visible{transform:none}}
.jks-catalog-sentinel button:hover, .jks-catalog-sentinel button:focus-visible { background: var(--jks-site-accent); color: #fff; }
.jks-catalog-sentinel span { font-size: .82rem; font-weight: 700; }

.jks-song {
  --jks-reader-scale: 1;
  --jks-reader-bg: #fffef9;
  --jks-reader-card: #fff;
  --jks-reader-ink: #17231f;
  --jks-reader-muted: #68746f;
  --jks-reader-line: #dce3df;
  transition: background-color .2s ease, color .2s ease;
  padding-bottom: 150px;
}
.jks-song.is-dark {
  --jks-reader-bg: #0b0f0d;
  --jks-reader-card: #151b18;
  --jks-reader-ink: #f7f5ed;
  --jks-reader-muted: #c4cec7;
  --jks-reader-line: #526158;
  --jks-site-accent: #f1c56f;
  --jks-site-accent-strong: #ffe0a0;
  --jks-site-soft: #1d2722;
  margin-top: 20px;
  padding: 22px;
  border-radius: 28px;
  background: var(--jks-reader-bg);
  color: var(--jks-reader-ink);
}
.jks-song.is-dark .jks-song-hero { border-color:#526158;background: radial-gradient(circle at 86% 4%, rgba(241, 197, 111, .18), transparent 30%), linear-gradient(135deg, #1a2520, #0f1512); }
.jks-song.is-dark .jks-control-button,
.jks-song.is-dark .jks-stanza-toolbar select,
.jks-song.is-dark .jks-reader-dock,
.jks-song.is-dark .jks-stanza-map { background: #202b26; color: var(--jks-reader-ink); }
.jks-song.is-dark .jks-public-version,
.jks-song.is-dark .jks-song-navigation > * { background: var(--jks-reader-card); color: var(--jks-reader-ink); }
.jks-song.is-dark .jks-source-badge,
.jks-song.is-dark .jks-public-block h3 { color: #f1c56f; }
.jks-song.is-dark .jks-song-hero h1 b { color:#102c24; }
.jks-song.is-dark .jks-control-button[aria-pressed="true"],
.jks-song.is-dark .jks-dock-align button[aria-pressed="true"] { background:#f1c56f;color:#17110a; }
.jks-song.is-dark .jks-public-block p[data-jks-public-line]:hover { background:rgba(241,197,111,.12); }
.jks-song.is-dark .jks-public-block p[data-jks-public-line]:focus-visible,
.jks-song.is-dark .jks-public-block p[data-jks-public-line].is-current-verse { background:rgba(241,197,111,.18);box-shadow:inset 3px 0 #f1c56f; }

html.jks-reader-dark-page,
body.jks-reader-dark-page { min-height:100%;background:#080b09!important;color:#f7f5ed!important;color-scheme:dark; }
body.jks-reader-dark-page .site-grid,
body.jks-reader-dark-page .grid-child,
body.jks-reader-dark-page .container-component,
body.jks-reader-dark-page main { background-color:transparent!important; }
body.jks-reader-dark-page .container-header { border-bottom:1px solid #43544b;background:#0d1822!important; }
body.jks-reader-dark-page .mod-breadcrumbs,
body.jks-reader-dark-page .breadcrumb,
body.jks-reader-dark-page .breadcrumb a { color:#d8e0da!important; }

.jks-song-top-actions{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-height:38px;margin:0 0 8px;overflow:hidden}.jks-back-link{display:inline-grid;flex:0 0 38px;place-items:center;width:38px;height:38px;margin:0;border:1px solid var(--jks-site-line);border-radius:10px;background:var(--jks-reader-card);color:var(--jks-site-muted);font-size:1.15rem;font-weight:800;text-decoration:none}.jks-back-link:hover{border-color:var(--jks-site-accent);background:var(--jks-site-soft);text-decoration:none}
.jks-song-hero { align-items:center;width:100%;margin:0 0 18px;padding:clamp(24px,4.5vw,52px);border-color:#0d382e;border-radius:24px;background:radial-gradient(circle at 88% 8%,rgba(241,197,111,.24),transparent 34%),linear-gradient(135deg,#173d32,#0d2c25);color:#fff;box-shadow:0 18px 48px rgba(13,44,37,.2) }
.jks-song-hero > .jks-song-hero-main { flex:1 1 auto;min-width:0;width:auto; }
.jks-song-hero .jks-source-badge{color:#f1c56f}.jks-song-hero h1{color:#fff;font-size:clamp(2rem,5vw,4.25rem);line-height:1.08;letter-spacing:-.035em}
.jks-song-hero h1 b { display:inline-block;margin:0 .22em .08em 0;padding:.07em .22em .1em;border-radius:.2em;background:#f1c56f;color:#102c24;font-size:.82em;font-weight:700;line-height:.95;letter-spacing:-.025em;box-shadow:0 6px 20px rgba(0,0,0,.2);vertical-align:.06em }
.jks-song-position { margin: 18px 0 0; color: var(--jks-reader-muted); font-size: .76rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.jks-song-hero-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;width:100%;margin:12px 0 0;color:var(--jks-reader-muted)}.jks-song-hero-meta>div{display:flex;flex-direction:column;gap:8px;min-width:0}.jks-song-hero-meta .is-right{text-align:right}.jks-song-hero-meta article{display:flex;flex-direction:column;gap:3px}.jks-song-hero-meta em{font:italic .78rem/1.35 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}
.jks-song-authors{width:100%;margin:20px 0 0;border:1px solid var(--jks-reader-line);border-radius:15px;background:var(--jks-reader-card);color:var(--jks-reader-ink);overflow:hidden}.jks-song-authors>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:11px 16px;cursor:pointer;list-style:none}.jks-song-authors>summary::-webkit-details-marker{display:none}.jks-song-authors>summary span:first-child{display:grid;gap:2px}.jks-song-authors>summary small{color:var(--jks-reader-muted);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.jks-song-authors>summary strong{font:500 1rem Georgia,serif}.jks-details-chevron{color:var(--jks-site-accent);font-size:1.25rem;transition:transform .18s ease}.jks-song-authors[open] .jks-details-chevron{transform:rotate(180deg)}.jks-song-authors>.jks-song-hero-meta{margin:0;padding:14px 16px 17px;border-top:1px solid var(--jks-reader-line)}
.jks-printed-public{margin:0;padding:clamp(20px,4vw,30px);border:1px solid var(--jks-reader-line);border-radius:20px;background:var(--jks-reader-card);color:var(--jks-reader-ink)}.jks-song-info{--jks-reader-card:#fff;--jks-reader-ink:#17231f;--jks-reader-muted:#68746f;--jks-reader-line:#dce3df;position:fixed!important;z-index:10001;left:50%!important;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 72px);width:min(820px,calc(100vw - 24px));max-height:min(65vh,620px);overflow:auto;transform:translateX(-50%);box-shadow:0 18px 70px rgba(12,24,19,.27);backdrop-filter:blur(18px);isolation:isolate}.jks-song-info[hidden]{display:none!important}.jks-printed-public>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--jks-reader-line)}.jks-printed-public>header>div{min-width:0}.jks-printed-public>header button{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid var(--jks-reader-line);border-radius:50%;background:transparent;color:inherit;font-size:1.35rem;cursor:pointer}.jks-printed-public h2{margin:4px 0 0;font:500 clamp(1.35rem,3vw,1.8rem) Georgia,serif}.jks-printed-public>header p{margin:4px 0;color:var(--jks-reader-muted);font-size:.8rem}.jks-printed-raw{display:grid;grid-template-columns:minmax(130px,.3fr) 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--jks-reader-line)}.jks-printed-raw>div{display:flex;flex-direction:column;gap:5px;color:var(--jks-reader-muted);font-size:.72rem}.jks-printed-raw cite{font-style:normal}.jks-printed-raw p{margin:0;font:1.08rem/1.55 Georgia,serif;white-space:pre-wrap}.jks-printed-claims-public{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:12px 0}.jks-printed-claim-public{padding:11px;border:1px solid var(--jks-reader-line);border-radius:10px}.jks-printed-claim-public>span{display:block;margin-bottom:5px;color:var(--jks-reader-muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.jks-printed-claim-public.is-provisional{border-style:dashed}.jks-printed-claim-public.is-provisional>span{color:#9a6414}.jks-printed-claim-public strong{font-size:.7rem}.jks-printed-claim-public p{margin:5px 0 0;font-family:Georgia,serif}.jks-song-info.is-dark{--jks-reader-card:#202b26;--jks-reader-ink:#eef4ef;--jks-reader-muted:#a9b7b0;--jks-reader-line:#35433d;background:color-mix(in srgb,var(--jks-reader-card) 96%,transparent)}
@media(max-width:650px){.jks-printed-public>header{grid-template-columns:1fr}.jks-printed-raw{grid-template-columns:1fr;gap:8px}}

.jks-reader-toolbar,
.jks-stanza-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--jks-reader-line);
  border-radius: 16px;
  background: var(--jks-reader-card);
  color: var(--jks-reader-ink);
  box-shadow: 0 8px 26px rgba(23, 35, 31, .06);
}
.jks-reader-toolbar { position: sticky; z-index: 8; top: 10px; margin-bottom: 12px; }
.jks-toolbar-group { display: flex; align-items: center; gap: 6px; padding-right: 10px; border-right: 1px solid var(--jks-reader-line); }
.jks-toolbar-group > span { padding: 0 5px; color: var(--jks-reader-muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jks-control-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--jks-reader-line);
  border-radius: 10px;
  background: var(--jks-reader-card);
  color: var(--jks-reader-ink);
  font: inherit;
  font-size: .82rem;
  font-weight: 720;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.jks-control-button:hover { border-color: var(--jks-site-accent); }
.jks-control-button[aria-pressed="true"] { border-color: var(--jks-site-accent); background: var(--jks-site-accent); color: #fff; }
.jks-control-button:focus-visible,
.jks-stanza-toolbar select:focus-visible { outline: 3px solid rgba(139, 93, 23, .24); outline-offset: 2px; }
.jks-control-button:disabled { opacity: .35; cursor: default; }
.jks-font-small { font-size: .68rem; }
.jks-font-large { font-size: .95rem; }
.jks-theme-toggle { margin-left: auto; }

.jks-version-public-tabs { display: flex; gap: 8px; overflow-x: auto; margin: 14px 0 10px; padding-bottom: 3px; }
.jks-version-public-tabs button { min-width: 185px; padding: 12px 15px; border: 1px solid var(--jks-reader-line); border-radius: 12px; background: var(--jks-reader-card); color: var(--jks-reader-ink); text-align: left; cursor: pointer; }
.jks-version-public-tabs strong, .jks-version-public-tabs span { display: block; }
.jks-version-public-tabs span { margin-top: 3px; color: var(--jks-reader-muted); font-size: .72rem; }
.jks-version-public-tabs [aria-selected="true"] { border-color: var(--jks-site-accent); box-shadow: inset 0 -3px var(--jks-site-accent); }

.jks-stanza-toolbar { justify-content: center; margin-bottom: 12px; box-shadow: none; }
.jks-stanza-toolbar label { min-width: min(340px, 45vw); }
.jks-stanza-toolbar select { width: 100%; min-height: 38px; padding: 7px 36px 7px 12px; border: 1px solid var(--jks-reader-line); border-radius: 10px; background: var(--jks-reader-card); color: var(--jks-reader-ink); font: inherit; font-size: .84rem; }
.jks-stanza-arrow { width: 40px; padding-inline: 8px; }

.jks-reader-surface { color: var(--jks-reader-ink); }
.jks-public-version { padding: clamp(24px, 5vw, 48px); border: 1px solid var(--jks-reader-line); border-radius: 22px; background: var(--jks-reader-card); box-shadow: 0 18px 50px rgba(21, 35, 31, .07); }
.jks-public-version > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--jks-reader-line); }
.jks-public-version h2 { margin: .2em 0; font-family: Georgia, serif; font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 500; }
.jks-public-version dl { display: flex; gap: 24px; margin: 0; }
.jks-public-version dt { color: var(--jks-reader-muted); font-size: .62rem; text-transform: uppercase; }
.jks-public-version dd { margin: 4px 0; font-size: .85rem; }
.jks-witness-warning { padding: 11px 14px; border-left: 4px solid #b98223; background: #fff2d9; color: #4c370e; }
.jks-public-blocks, .jks-public-lines { display: flex; flex-direction: column; }
.jks-public-blocks { max-width: 790px; margin: 34px auto; }
.jks-stanza-carousel-shell{position:relative}.jks-carousel-edge{display:grid;place-items:center;position:absolute;z-index:4;top:50%;width:46px;height:62px;border:1px solid color-mix(in srgb,var(--jks-site-accent) 42%,var(--jks-reader-line));border-radius:14px;background:color-mix(in srgb,var(--jks-reader-card) 94%,transparent);color:var(--jks-site-accent);box-shadow:0 8px 26px rgba(21,35,31,.14);font:500 2rem/1 Georgia,serif;transform:translateY(-50%);cursor:pointer;backdrop-filter:blur(10px)}.jks-carousel-edge.is-previous{left:5px}.jks-carousel-edge.is-next{right:5px}.jks-carousel-edge:disabled{visibility:hidden}.jks-carousel-edge[hidden]{display:none}.jks-refrain-use.is-abbreviation-expansion{padding:8px 0 4px 18px}.jks-refrain-use.is-abbreviation-expansion .jks-public-lines{gap:0}
.jks-public-blocks.is-stanza-carousel{display:flex;flex-direction:row;gap:16px;max-width:920px;padding:4px clamp(30px,6vw,58px) 18px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(30px,6vw,58px);overscroll-behavior-x:contain;touch-action:pan-y;cursor:grab;scrollbar-width:none}.jks-public-blocks.is-stanza-carousel::-webkit-scrollbar{display:none}.jks-public-blocks.is-stanza-carousel.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;user-select:none}.jks-public-blocks.is-stanza-carousel>.jks-public-block{flex:0 0 calc(100% - clamp(62px,12vw,116px));min-width:0;padding:clamp(20px,4vw,34px);border:1px solid var(--jks-reader-line);border-radius:18px;background:color-mix(in srgb,var(--jks-reader-card) 96%,var(--jks-site-soft));opacity:.58;scroll-snap-align:center;transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease}.jks-public-blocks.is-stanza-carousel>.jks-public-block.is-carousel-current{border-color:color-mix(in srgb,var(--jks-site-accent) 45%,var(--jks-reader-line));opacity:1;box-shadow:0 10px 30px rgba(21,35,31,.09)}
.jks-song[data-text-align="left"] .jks-public-blocks{text-align:left}.jks-song[data-text-align="center"] .jks-public-blocks{text-align:center}.jks-song[data-text-align="right"] .jks-public-blocks{text-align:right}
.jks-public-block { padding: 22px 0; border-bottom: 1px solid color-mix(in srgb, var(--jks-reader-line) 65%, transparent); }
.jks-public-block:last-child { border-bottom: 0; }
.jks-public-block h3 { margin: 0 0 12px; color: var(--jks-site-accent); font-family: Georgia, serif; font-size: calc(1rem * var(--jks-reader-scale)); font-weight: 600; }
.jks-stanza-liturgical-tags{display:flex;flex-wrap:wrap;gap:6px;margin:-5px 0 15px}.jks-stanza-liturgical-tags span{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid color-mix(in srgb,var(--jks-custom-tag-color,var(--jks-site-accent)) 38%,var(--jks-reader-line));border-radius:999px;background:color-mix(in srgb,var(--jks-custom-tag-color,var(--jks-site-accent)) 8%,transparent);color:var(--jks-custom-tag-color,var(--jks-site-accent));font-size:calc(.68rem * var(--jks-reader-scale));font-weight:800;letter-spacing:.035em;text-transform:uppercase}.jks-song.hide-liturgical-markers .jks-stanza-liturgical-tags{display:none}
.jks-public-block p[data-jks-public-line] { margin: .22em 0; padding:.06em .18em;border-radius:6px;color: var(--jks-reader-ink); font-family: Georgia, "Times New Roman", serif; font-size: calc(1.28rem * var(--jks-reader-scale)); line-height: 1.62; white-space: pre-wrap;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease }
.jks-public-block p[data-jks-public-line]:hover{background:color-mix(in srgb,var(--jks-site-accent) 7%,transparent)}.jks-public-block p[data-jks-public-line]:focus-visible,.jks-public-block p[data-jks-public-line].is-current-verse{outline:none;background:color-mix(in srgb,var(--jks-site-accent) 11%,transparent);box-shadow:inset 3px 0 var(--jks-site-accent)}.jks-song[data-text-align="center"] .jks-public-block p[data-jks-public-line].is-current-verse{box-shadow:inset 0 -2px var(--jks-site-accent)}.jks-song[data-text-align="right"] .jks-public-block p[data-jks-public-line].is-current-verse{box-shadow:inset -3px 0 var(--jks-site-accent)}
.jks-public-block.is-rubric p[data-jks-public-line], .jks-repeat-instruction { color: var(--jks-reader-muted); font-style: italic; }
.jks-repeat-instruction { margin: 0 0 10px; font-family: Georgia, serif; font-size: calc(.92rem * var(--jks-reader-scale)); }
.jks-song-hero h1,.jks-song-hero-meta em,.jks-public-version h2,.jks-public-block h3,.jks-song .jks-public-block p[data-jks-public-line],.jks-song .jks-repeat-instruction,.jks-printed-raw p { font-family:"JKS Junicode",Georgia,"Times New Roman",serif; }

.jks-refrain-use { margin: 16px 0 4px; padding-left: 18px; border-left: 2px solid color-mix(in srgb, var(--jks-site-accent) 55%, transparent); }
.jks-refrain-word {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--jks-site-accent);
  font: 700 calc(1rem * var(--jks-reader-scale)) Georgia, serif;
  cursor: pointer;
}
.jks-refrain-word span { transition: transform .18s ease; }
.jks-refrain-word[aria-expanded="true"] span { transform: rotate(180deg); }
.jks-refrain-word:focus-visible { outline: 3px solid rgba(139, 93, 23, .24); outline-offset: 4px; border-radius: 4px; }
.jks-refrain-body { margin-top: 7px; padding-bottom: 2px; }
.jks-refrain-body p[data-jks-public-line] { font-size: calc(1.16rem * var(--jks-reader-scale)); }

.jks-reader-dock {
  --jks-reader-card:#fff;--jks-reader-ink:#17231f;--jks-reader-muted:#68746f;--jks-reader-line:#dce3df;
  position: fixed !important;
  z-index: 10000;
  left: 50% !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important;
  display: grid;
  grid-template-rows: auto auto;
  gap: 6px;
  width: min(880px, calc(100vw - 24px));
  min-height: 62px;
  padding: 8px;
  border: 1px solid var(--jks-reader-line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--jks-reader-card) 94%, transparent);
  color: var(--jks-reader-ink);
  box-shadow: 0 18px 60px rgba(12, 24, 19, .22);
  transform: translateX(-50%);
  backdrop-filter: blur(16px);
  isolation: isolate;
  will-change: transform;
}
.jks-dock-navigation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.jks-dock-settings{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;padding-top:5px;border-top:1px solid var(--jks-reader-line)}
.jks-song.is-dark { padding-bottom: 150px; }
.jks-reader-dock a, .jks-reader-dock button, .jks-reader-dock > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  padding: 8px 11px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: .78rem;
  font-weight: 760;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.jks-reader-dock a:hover, .jks-reader-dock button:hover { border-color: var(--jks-reader-line); background: color-mix(in srgb, var(--jks-site-accent) 8%, transparent); }
.jks-reader-dock [aria-pressed="true"] { background: var(--jks-site-accent); color: #fff; }
.jks-dock-main { min-width:0;border-color:var(--jks-site-accent)!important; }
.jks-dock-main > span:first-child { font-size: 1.2rem; }.jks-dock-main small{min-width:1.2em;font-size:.7rem}
.jks-dock-stanza-arrow{min-width:42px;font-size:1.25rem!important}.jks-reader-dock button:disabled{opacity:.28;cursor:default}.jks-dock-align{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--jks-reader-line);border-radius:11px}.jks-dock-align button{min-width:34px!important;min-height:36px!important;padding:6px!important}.jks-dock-align button[aria-pressed="true"]{background:var(--jks-site-accent);color:#fff}
.jks-dock-font{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--jks-reader-line);border-radius:11px}.jks-dock-font button{min-width:38px!important;min-height:36px!important;padding:6px!important}.jks-dock-settings>.jks-dock-control{min-width:42px;padding-inline:9px;font-size:.94rem}.jks-dock-song { min-width:0; font-family: Georgia, serif !important; font-size: 1.08rem !important; }
.jks-dock-song small { font-family: Inter, sans-serif; font-size: .68rem; }
.jks-dock-song.is-disabled { opacity: .28; cursor: default; }
.jks-dock-catalog { font-size: 1.05rem !important; }
.jks-reader-dock :focus-visible { outline: 3px solid rgba(139, 93, 23, .28); outline-offset: 2px; }

.jks-stanza-map {
  --jks-reader-card:#fff;--jks-reader-ink:#17231f;--jks-reader-muted:#68746f;--jks-reader-line:#dce3df;
  position: fixed !important;
  z-index: 10001;
  left: 50% !important;
  bottom: calc(max(12px, env(safe-area-inset-bottom)) + 72px);
  width: min(920px, calc(100vw - 24px));
  max-height: min(58vh, 520px);
  padding: 18px;
  border: 1px solid var(--jks-reader-line);
  border-radius: 20px;
  background: color-mix(in srgb, var(--jks-reader-card) 97%, transparent);
  color: var(--jks-reader-ink);
  box-shadow: 0 18px 70px rgba(12, 24, 19, .27);
  transform: translateX(-50%);
  backdrop-filter: blur(18px);
  isolation: isolate;
}
.jks-reader-dock.is-dark,.jks-stanza-map.is-dark,.jks-song-browser.is-dark,.jks-liturgical-panel.is-dark{--jks-reader-card:#202b26;--jks-reader-ink:#eef4ef;--jks-reader-muted:#a9b7b0;--jks-reader-line:#35433d;background:color-mix(in srgb,var(--jks-reader-card) 96%,transparent)}
.jks-reader-dock.is-dark,.jks-stanza-map.is-dark,.jks-song-browser.is-dark,.jks-liturgical-panel.is-dark,.jks-song-info.is-dark{--jks-reader-card:#151b18;--jks-reader-ink:#f7f5ed;--jks-reader-muted:#c4cec7;--jks-reader-line:#526158;--jks-site-accent:#f1c56f;--jks-site-accent-strong:#ffe0a0;background:color-mix(in srgb,var(--jks-reader-card) 97%,transparent);box-shadow:0 20px 68px rgba(0,0,0,.62)}
.jks-reader-dock.is-dark button[aria-pressed="true"],.jks-liturgical-panel.is-dark button[aria-pressed="true"]{background:#f1c56f!important;color:#17110a!important}
.jks-notation-actions{display:flex;flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-start;gap:5px;margin:0;overflow-x:auto;scrollbar-width:thin}.jks-notation-button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:2px;min-width:38px;height:38px;padding:0 7px;border:1px solid var(--jks-site-accent);border-radius:10px;background:#fff;color:var(--jks-site-accent);font-family:inherit;font-size:1rem;font-weight:800;cursor:pointer}.jks-notation-button small{font-size:.58rem;line-height:1}.jks-notation-button:hover{background:var(--jks-site-accent);color:#fff}.jks-pdf-dialog{box-sizing:border-box;width:min(99vw,100rem);max-width:100rem;height:96dvh;max-height:96dvh;margin:auto;padding:0;border:0;border-radius:18px;background:#f3eee4;color:#211a13;box-shadow:0 28px 100px rgba(0,0,0,.5);overflow:hidden}.jks-pdf-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.jks-pdf-dialog::backdrop{background:rgba(8,13,11,.78);backdrop-filter:blur(4px)}.jks-pdf-dialog *{box-sizing:border-box}.jks-pdf-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:8px 12px 8px 18px;background:#202722;color:#fff}.jks-pdf-toolbar{display:flex;align-items:center;gap:5px}.jks-pdf-dialog>header button{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.1);color:#fff;font:700 .85rem/1 inherit;cursor:pointer}.jks-pdf-dialog>header button:last-child{border-radius:50%;font-size:1.35rem}.jks-pdf-viewport{display:flex;align-items:flex-start;justify-content:center;min-height:0;padding:12px;overflow:auto;background:#aaa49b;cursor:grab;touch-action:none;overscroll-behavior:contain}.jks-pdf-viewport.is-panning{cursor:grabbing;user-select:none}.jks-pdf-viewport canvas{display:block;flex:0 0 auto;max-width:none;background:#fff;box-shadow:0 8px 32px rgba(0,0,0,.28)}.jks-pdf-dialog>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:48px;padding:8px 16px;background:#fffaf1;border-top:1px solid #d9cdbd;font-size:.75rem}.jks-pdf-dialog>footer span{color:#6e6255}.jks-pdf-dialog>footer strong.is-error{color:#a42a22}

.jks-song-browser{--jks-reader-card:#fff;--jks-reader-ink:#17231f;--jks-reader-muted:#68746f;--jks-reader-line:#dce3df;position:fixed!important;z-index:10001;left:50%!important;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 72px);width:min(980px,calc(100vw - 24px));max-height:min(72vh,680px);padding:18px;border:1px solid var(--jks-reader-line);border-radius:20px;background:color-mix(in srgb,var(--jks-reader-card) 97%,transparent);color:var(--jks-reader-ink);box-shadow:0 18px 70px rgba(12,24,19,.27);transform:translateX(-50%);backdrop-filter:blur(18px);isolation:isolate;overflow:hidden}.jks-song-browser>header{display:flex;align-items:center;justify-content:space-between;gap:18px}.jks-song-browser>header span{color:var(--jks-site-accent);font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.jks-song-browser h2{margin:2px 0 0;font:500 1.45rem Georgia,serif}.jks-song-browser>header>button{width:40px;height:40px;border:1px solid var(--jks-reader-line);border-radius:50%;background:transparent;color:inherit;font-size:1.35rem;cursor:pointer}.jks-song-browser-tabs{display:flex;gap:6px;margin:14px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--jks-reader-line);overflow-x:auto}.jks-song-browser-tabs button{min-height:40px;padding:8px 13px;border:1px solid var(--jks-reader-line);border-radius:10px;background:transparent;color:inherit;font:750 .78rem/1 inherit;white-space:nowrap;cursor:pointer}.jks-song-browser-tabs [aria-selected="true"]{border-color:var(--jks-site-accent);background:var(--jks-site-accent);color:#fff}.jks-song-browser-pane{max-height:min(54vh,510px);overflow:auto;overscroll-behavior:contain}.jks-song-browser-help{margin:3px 0 10px;color:var(--jks-reader-muted);font-size:.73rem}.jks-song-number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}.jks-song-number-grid>a,.jks-song-number-grid>button{display:grid;place-items:center;aspect-ratio:1;min-height:44px;border:1px solid var(--jks-reader-line);border-radius:10px;background:color-mix(in srgb,var(--jks-reader-line) 38%,transparent);color:var(--jks-reader-muted);font:750 .82rem/1 inherit;text-decoration:none}.jks-song-number-grid>a.is-available{border-color:color-mix(in srgb,var(--jks-site-accent) 55%,var(--jks-reader-line));background:color-mix(in srgb,var(--jks-site-accent) 10%,var(--jks-reader-card));color:var(--jks-reader-ink)}.jks-song-number-grid>a:hover,.jks-song-number-grid>a.is-current{background:var(--jks-site-accent);color:#fff}.jks-song-number-grid>button:disabled{opacity:.55}.jks-song-keypad-display,.jks-song-browser-search{display:grid;gap:7px;color:var(--jks-reader-muted);font-size:.74rem;font-weight:750}.jks-song-keypad-display input,.jks-song-browser-search input{width:100%;min-height:52px;padding:10px 14px;border:1px solid var(--jks-reader-line);border-radius:12px;background:var(--jks-reader-card);color:var(--jks-reader-ink);font:600 1.2rem/1 inherit}.jks-song-keypad{display:grid;grid-template-columns:repeat(3,minmax(70px,1fr));gap:8px;width:min(390px,100%);margin:14px auto}.jks-song-keypad button{min-height:60px;border:1px solid var(--jks-reader-line);border-radius:13px;background:color-mix(in srgb,var(--jks-reader-line) 25%,var(--jks-reader-card));color:inherit;font:700 1.25rem/1 inherit;cursor:pointer}.jks-song-keypad button:active{background:var(--jks-site-accent);color:#fff}.jks-song-keypad-go{display:block;width:min(390px,100%);min-height:48px;margin:auto;border:0;border-radius:12px;background:var(--jks-site-accent);color:#fff;font-weight:800;cursor:pointer}.jks-song-browser-pane [data-jks-song-keypad-status]{min-height:22px;text-align:center;color:var(--jks-reader-muted);font-size:.78rem}.jks-song-search-count{margin:9px 0;color:var(--jks-reader-muted);font-size:.74rem}.jks-song-search-results{display:grid;gap:6px}.jks-song-search-results>a{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--jks-reader-line);border-radius:11px;color:inherit;text-decoration:none}.jks-song-search-results>a:hover{border-color:var(--jks-site-accent);background:color-mix(in srgb,var(--jks-site-accent) 8%,transparent)}.jks-song-search-results>a strong{color:var(--jks-site-accent);font-family:Georgia,serif}.jks-song-search-results>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}
.jks-liturgical-panel{--jks-reader-card:#fff;--jks-reader-ink:#17231f;--jks-reader-muted:#68746f;--jks-reader-line:#dce3df;position:fixed!important;z-index:10001;left:50%!important;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 118px);width:min(620px,calc(100vw - 24px));max-height:min(62vh,560px);padding:18px;border:1px solid var(--jks-reader-line);border-radius:20px;background:color-mix(in srgb,var(--jks-reader-card) 97%,transparent);color:var(--jks-reader-ink);box-shadow:0 18px 70px rgba(12,24,19,.27);transform:translateX(-50%);backdrop-filter:blur(18px);isolation:isolate;overflow:auto}.jks-liturgical-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.jks-liturgical-panel>header span{color:var(--jks-site-accent);font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.jks-liturgical-panel h2{margin:2px 0 0;font:500 1.4rem Georgia,serif}.jks-liturgical-panel>header>button{width:40px;height:40px;border:1px solid var(--jks-reader-line);border-radius:50%;background:transparent;color:inherit;font-size:1.35rem;cursor:pointer}.jks-liturgical-marker-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:9px 12px;border:1px solid var(--jks-reader-line);border-radius:12px;background:transparent;color:inherit;font:750 .82rem/1.2 inherit;text-align:left;cursor:pointer}.jks-liturgical-marker-toggle[aria-pressed="true"]{border-color:var(--jks-site-accent);background:color-mix(in srgb,var(--jks-site-accent) 9%,transparent)}.jks-liturgical-marker-toggle>span:first-child{color:var(--jks-site-accent);font-size:1.15rem}.jks-liturgical-use-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;margin-top:12px}.jks-liturgical-use-grid button{min-height:42px;padding:8px 10px;border:1px solid var(--jks-reader-line);border-radius:10px;background:transparent;color:inherit;font:720 .75rem/1.15 inherit;cursor:pointer}.jks-liturgical-use-grid button.is-active{border-color:var(--jks-site-accent);background:var(--jks-site-accent);color:#fff}
.jks-song-season-tags{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 0;padding:18px 22px;border:1px solid var(--jks-reader-line);border-radius:16px;background:var(--jks-reader-card);color:var(--jks-reader-ink)}.jks-song-season-tags>span{color:var(--jks-reader-muted);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.jks-song-season-tags>div{display:flex;flex-wrap:wrap;gap:7px}.jks-song-season-tags a{padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--jks-custom-tag-color,var(--jks-site-accent)) 11%,transparent);color:var(--jks-custom-tag-color,var(--jks-site-accent));font-size:.75rem;font-weight:800;text-decoration:none}
.jks-stanza-map > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.jks-stanza-map > header span { color: var(--jks-site-accent); font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.jks-stanza-map h2 { margin: 2px 0 0; font: 500 1.45rem Georgia, serif; }
.jks-stanza-map > header button { width: 40px; height: 40px; border: 1px solid var(--jks-reader-line); border-radius: 50%; background: transparent; color: inherit; font-size: 1.35rem; cursor: pointer; }
.jks-stanza-map-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 9px; max-height: min(42vh, 380px); padding: 2px 4px 6px 2px; overflow-y: auto; overscroll-behavior: contain; }
.jks-stanza-map-card { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 72px; padding: 11px; border: 1px solid var(--jks-reader-line); border-radius: 13px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.jks-stanza-map-card:hover, .jks-stanza-map-card[aria-current="true"] { border-color: var(--jks-site-accent); background: color-mix(in srgb, var(--jks-site-accent) 9%, transparent); }
.jks-stanza-map-card > span:first-child { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: color-mix(in srgb, var(--jks-site-accent) 13%, transparent); color: var(--jks-site-accent); font: 600 1.25rem Georgia, serif; }
.jks-stanza-map-card > span:last-child { min-width: 0; }
.jks-stanza-map-card strong, .jks-stanza-map-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jks-stanza-map-card strong { font: 600 .9rem Georgia, serif; }
.jks-stanza-map-card small { margin-top: 5px; color: var(--jks-reader-muted); font-size: .7rem; }

.jks-song-navigation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 10px; margin-top: 18px; }
.jks-song-navigation > a, .jks-song-navigation > span { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 12px; min-height: 84px; padding: 14px 18px; border: 1px solid var(--jks-reader-line); border-radius: 15px; background: var(--jks-reader-card); color: var(--jks-reader-ink); text-decoration: none; }
.jks-song-navigation small, .jks-song-navigation strong { grid-column: 2; }
.jks-song-navigation small { color: var(--jks-reader-muted); font-size: .66rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.jks-song-navigation strong { overflow: hidden; font-family: Georgia, serif; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.jks-song-navigation .is-next { grid-template-columns: minmax(0, 1fr) auto; text-align: right; }
.jks-song-navigation .is-next small, .jks-song-navigation .is-next strong { grid-column: 1; }
.jks-song-navigation .is-disabled { opacity: .42; }
.jks-song-navigation .jks-catalog-link { display: flex; min-width: 100px; justify-content: center; font-weight: 750; }

.jks-compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.jks-compare-grid > article { padding: 28px; border: 1px solid var(--jks-site-line); border-radius: 18px; background: #fff; }
.jks-compare-grid h2, .jks-compare-grid h3, .jks-compare-grid p { font-family: Georgia, serif; }
.jks-compare-grid p { line-height: 1.5; }

@media (max-width: 820px) {
  .jks-site-hero, .jks-song-hero, .jks-public-version > header { align-items: flex-start; flex-direction: column; }
  .jks-song-top-actions{align-items:center;flex-direction:row}.jks-notation-actions{justify-content:flex-start}.jks-song-authors .jks-song-hero-meta{display:grid;grid-template-columns:1fr}.jks-song-authors .jks-song-hero-meta .is-right{text-align:left}
  .jks-reader-toolbar { position: static; flex-wrap: wrap; }
  .jks-theme-toggle { margin-left: 0; }
  .jks-song-navigation { grid-template-columns: 1fr 1fr; }
  .jks-song-navigation .jks-catalog-link { grid-column: 1 / -1; grid-row: 2; min-height: 48px; }
  .jks-reader-dock { overflow:visible; }
}

@media (max-width: 600px) {
  .jks-site { padding: 18px 12px 40px; }
  .jks-site-hero, .jks-song-hero { padding: 28px 22px; border-radius: 20px; }
  .jks-site-hero h1, .jks-song-hero h1 { font-size: clamp(2.25rem, 13vw, 3.4rem); }
  .jks-primary-link { width: 100%; justify-content: space-between; }
  .jks-catalog-tools { grid-template-columns: 1fr; align-items: stretch; gap: 8px; }
  .jks-catalog-tools p, .jks-catalog-tags { grid-column: 1; }
  .jks-catalog-tools p { margin: 0; }
  .jks-song-card { grid-template-columns: 78px minmax(0, 1fr) auto; gap: 12px; padding: 17px 15px; }
  .jks-song-card > strong { font-size: 1.4rem; }
  .jks-song-card h2 { font-size: 1.04rem; }
  .jks-song.is-dark { margin-top: 8px; padding: 10px; border-radius: 20px; }
  .jks-toolbar-group { width: 100%; padding: 0 0 10px; border-right: 0; border-bottom: 1px solid var(--jks-reader-line); }
  .jks-toolbar-group .jks-control-button { flex: 1; }
  .jks-theme-toggle { width: 100%; }
  .jks-stanza-toolbar { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; }
  .jks-stanza-toolbar [data-jks-stanza-all] { grid-column: 1 / -1; }
  .jks-stanza-toolbar label { min-width: 0; }
  .jks-public-version { padding: 23px 17px; border-radius: 18px; }
  .jks-public-version dl { flex-wrap: wrap; }
  .jks-public-blocks { margin-block: 20px; }
  .jks-public-block p[data-jks-public-line] { font-size: calc(1.14rem * var(--jks-reader-scale)); }
  .jks-song-navigation { grid-template-columns: 1fr; }
  .jks-song-navigation .jks-catalog-link { grid-column: auto; grid-row: auto; }
  .jks-compare-grid { grid-template-columns: 1fr; }
  .jks-song, .jks-song.is-dark { padding-bottom: 176px; }
  .jks-reader-dock { bottom: max(7px, env(safe-area-inset-bottom)); width: calc(100vw - 10px); min-height:0;padding:5px;border-radius:15px; }
  .jks-reader-dock a, .jks-reader-dock button, .jks-reader-dock > span { min-height:38px;padding:5px 7px; }
  .jks-dock-navigation{gap:3px}.jks-dock-navigation .jks-dock-song{font-size:.92rem!important}.jks-dock-navigation .jks-dock-song small{font-size:.6rem}.jks-dock-settings{gap:3px;padding-top:4px}.jks-dock-settings>.jks-dock-control{min-width:36px;padding-inline:6px}.jks-dock-align button{min-width:29px!important;min-height:32px!important;padding:4px!important}.jks-dock-font button{min-width:33px!important;min-height:32px!important;padding:4px!important}
  .jks-stanza-map,.jks-song-browser,.jks-liturgical-panel { width: calc(100vw - 10px); padding: 15px; border-radius: 17px; }
  .jks-stanza-map-list { grid-template-columns: 1fr; }
  .jks-public-version.is-carousel-view{padding-inline:0;border-color:transparent;border-radius:0;background:transparent;box-shadow:none}.jks-public-version.is-carousel-view .jks-stanza-carousel-shell{width:100vw;margin-left:calc(50% - 50vw)}.jks-public-blocks.is-stanza-carousel{box-sizing:border-box;width:100%;max-width:none;margin:8px 0;padding:3px 16px 14px;gap:7px;scroll-padding-inline:16px}.jks-public-blocks.is-stanza-carousel>.jks-public-block{flex-basis:calc(100% - 32px);padding:17px 13px;border-radius:15px}
  .jks-carousel-edge{width:32px;height:50px;border-radius:11px;font-size:1.65rem}.jks-carousel-edge.is-previous{left:0}.jks-carousel-edge.is-next{right:0}
  .jks-song-season-tags{align-items:flex-start;flex-direction:column;padding:15px 17px}
  .jks-pdf-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0}.jks-pdf-dialog>footer{grid-template-columns:1fr}.jks-pdf-dialog>footer strong{text-align:left}
}

.jks-pdf-viewport{display:block;align-items:initial;justify-content:initial}
.jks-pdf-viewport canvas{margin:0 auto}
.jks-song-search-results>a>span{display:grid;gap:3px;min-width:0;overflow:visible;white-space:normal}
.jks-song-search-results>a b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}
.jks-song-search-results>a small{display:block;color:var(--jks-reader-muted);font:400 .72rem/1.35 Georgia,serif}
.jks-song-search-results mark{border-radius:3px;background:#ffe38a;color:#281f08;box-shadow:0 0 0 2px #ffe38a}

/* Citácia používateľom vybraného rozsahu */
.jks-song.is-citation-selecting [data-jks-public-line]{cursor:crosshair;transition:background .15s ease,box-shadow .15s ease}
.jks-song.is-citation-selecting [data-jks-public-line]:hover,.jks-public-line.is-citation-selected{border-radius:7px;background:color-mix(in srgb,#b97816 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,#b97816 24%,transparent)}
.jks-public-line.is-citation-linked{scroll-margin-block:25vh}
.jks-citation-bar{--jks-reader-card:#fffef9;--jks-reader-ink:#17231f;--jks-reader-line:#dce3df;position:fixed;z-index:10002;left:50%;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 124px);display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(720px,calc(100vw - 20px));padding:10px 12px 10px 16px;border:1px solid var(--jks-reader-line);border-radius:15px;background:var(--jks-reader-ink);color:var(--jks-reader-card);box-shadow:0 16px 55px rgba(0,0,0,.32);transform:translateX(-50%);font:700 .8rem/1.25 Inter,system-ui,sans-serif}
.jks-citation-bar[hidden]{display:none}.jks-citation-bar p{margin:0}.jks-citation-bar>div{display:flex;gap:6px}
.jks-citation-bar button{min-height:38px;padding:7px 11px;border:0;border-radius:9px;background:var(--jks-reader-card);color:var(--jks-reader-ink);font:750 .75rem/1 inherit;cursor:pointer}.jks-citation-bar button:disabled{opacity:.42;cursor:default}
.jks-citation-bar.is-dark{--jks-reader-card:#f7f5ed;--jks-reader-ink:#101512;--jks-reader-line:#526158}
.jks-citation-dialog{--jks-reader-card:#fffef9;--jks-reader-ink:#17231f;--jks-reader-muted:#68746f;--jks-reader-line:#dce3df;box-sizing:border-box;width:min(760px,calc(100vw - 20px));max-height:min(92dvh,850px);padding:0;border:1px solid var(--jks-reader-line);border-radius:20px;background:var(--jks-reader-card);color:var(--jks-reader-ink);box-shadow:0 26px 90px rgba(0,0,0,.45);font-family:Inter,system-ui,sans-serif;overflow:hidden}
.jks-citation-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.jks-citation-dialog::backdrop{background:rgba(8,13,11,.76);backdrop-filter:blur(4px)}.jks-citation-dialog.is-dark{--jks-reader-card:#151b18;--jks-reader-ink:#f7f5ed;--jks-reader-muted:#c4cec7;--jks-reader-line:#526158}.jks-citation-dialog *{box-sizing:border-box}
.jks-citation-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid var(--jks-reader-line)}.jks-citation-dialog>header span{color:#b97816;font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.jks-citation-dialog h2{margin:2px 0 0;font:500 1.5rem Georgia,serif}.jks-citation-dialog>header>button{width:40px;height:40px;border:1px solid var(--jks-reader-line);border-radius:50%;background:transparent;color:inherit;font-size:1.35rem;cursor:pointer}
.jks-citation-dialog-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:13px;min-height:0;padding:16px 18px;overflow:auto}.jks-citation-reference{grid-column:1/-1;margin:0;color:#9b650f;font-weight:800}.jks-citation-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jks-citation-options label,.jks-citation-output{display:grid;gap:5px;color:var(--jks-reader-muted);font-size:.7rem;font-weight:750}.jks-citation-options select,.jks-citation-output textarea{width:100%;border:1px solid var(--jks-reader-line);border-radius:10px;background:color-mix(in srgb,var(--jks-reader-card) 94%,var(--jks-reader-line));color:var(--jks-reader-ink);font:inherit}.jks-citation-options select{min-height:42px;padding:7px 9px}.jks-citation-output{grid-column:1}.jks-citation-output textarea{min-height:230px;padding:11px;resize:vertical;font-family:"JKS Junicode",Georgia,serif;font-size:1rem;line-height:1.38}
.jks-citation-qr{grid-column:2;grid-row:2/4;display:grid;align-content:start;justify-items:center;gap:6px}.jks-citation-qr iframe{width:min(100%,280px);aspect-ratio:1;border:1px solid var(--jks-reader-line);border-radius:13px;background:#fff}.jks-citation-qr p{min-height:18px;margin:0;color:var(--jks-reader-muted);font-size:.7rem}.jks-citation-dialog>footer{position:relative;z-index:2;display:flex;justify-content:flex-end;gap:8px;padding:11px 18px;border-top:1px solid var(--jks-reader-line);background:var(--jks-reader-card)}.jks-citation-dialog>footer button,.jks-citation-dialog>footer a{display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:8px 13px;border:1px solid #9b650f;border-radius:10px;background:#9b650f;color:#fff;font:800 .76rem/1 inherit;text-decoration:none;cursor:pointer}.jks-citation-dialog>footer a{background:transparent;color:#9b650f}

@media (max-width:600px){.jks-citation-bar{bottom:calc(max(7px,env(safe-area-inset-bottom)) + 112px);align-items:stretch;flex-direction:column;gap:7px;padding:10px}.jks-citation-bar>div{display:grid;grid-template-columns:1fr auto}.jks-citation-dialog-body{grid-template-columns:1fr}.jks-citation-options{grid-template-columns:1fr}.jks-citation-output,.jks-citation-qr{grid-column:1;grid-row:auto}.jks-citation-qr iframe{width:min(78vw,300px)}.jks-citation-dialog>footer{display:grid;grid-template-columns:1fr 1fr}}

@media print {
  .jks-reader-toolbar, .jks-stanza-toolbar, .jks-version-public-tabs, .jks-song-navigation, .jks-reader-dock, .jks-stanza-map, .jks-song-browser, .jks-song-info, .jks-back-link, .jks-notation-actions, .jks-citation-bar, .jks-citation-dialog, .jks-pdf-dialog { display: none !important; }
  .jks-site, .jks-song.is-dark { max-width: none; padding: 0; background: #fff; color: #000; }
  .jks-public-version { border: 0; box-shadow: none; }
}
