.ks-sutta-app,
.ks-sutta-app-portal {
  /* 6.8.688 — contrato visual canónico de Sutta App.
     Los componentes consumen estos tokens; Salient sigue siendo la fuente
     pública del acento y la tipografía editorial. */
  --ks-color-accent: var(--accent-color, #8c8630);
  --ks-color-gold: var(--extra-color-1, #daa520);
  --ks-color-surface: #fff;
  --ks-color-canvas: #fbfaf7;
  --ks-color-ink: #3f3933;
  --ks-color-text: #4f4942;
  --ks-color-muted: #7d715f;
  --ks-color-line: rgba(109,91,56,.18);
  --ks-color-line-subtle: rgba(109,91,56,.14);
  --ks-color-line-soft: rgba(109,91,56,.10);
  --ks-color-shadow: rgba(42,33,12,.08);
  --ks-font-ui: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ks-font-content: var(--ks-salient-content-family, inherit);
  --ks-font-heading: var(--ks-theme-heading-font-family, inherit);
  --ks-radius-control: 8px;
  --ks-radius-panel: 12px;
  --ks-radius-pill: 999px;
  --ks-edge-handle-width: 21px;
  --ks-edge-handle-height: 72px;
  --ks-control-size-compact: 32px;
  /* Las capas globales viven en frontend.css. Este scope solo consume el
     contrato; no mantiene una segunda escala numérica. */

  /* Puente visual canónico con WordPress/Salient.
     Los colores consumen las variables públicas del tema; los valores literales
     son únicamente fallbacks de la configuración KarunaPura vigente. */
  --ks-theme-accent: var(--ks-color-accent);
  --ks-theme-extra-1: var(--ks-color-gold);
  --ks-theme-extra-2: var(--extra-color-2, #fff176);
  --ks-theme-extra-3: var(--extra-color-3, #f5f2ea);
  --ks-theme-gradient-start: #c8b89a;
  --ks-theme-gradient-end: var(--accent-color, #8c8630);
  --ks-theme-content-font-family: inherit;
  --ks-theme-ui-font-family: var(--ks-font-ui);
  --ks-theme-button-font-size: 14px;
  --ks-theme-button-line-height: 20px;
  --ks-theme-button-font-weight: 500;
  --ks-theme-blockquote-font-size: 1.2222em;
  --ks-theme-blockquote-line-height: 1.8182;
  --ks-theme-blockquote-font-weight: 300;

  --ks-app-border: var(--ks-color-line);
  --ks-app-bg: var(--ks-color-canvas);
  --ks-app-card: var(--ks-color-surface);
  --ks-app-text: #2f2a22;
  --ks-app-muted: var(--ks-color-muted);
  --ks-app-soft: rgba(138,109,59,.075);
  --ks-app-accent: #8a6d3b;

}

.ks-sutta-app {
  position: relative;
  isolation: isolate;
  z-index: var(--ks-layer-app-root, 1000000);
  margin: 0 auto;
  padding: clamp(22px,4vw,48px);
  background: var(--ks-app-bg);
  color: var(--ks-app-text);
  border: 1px solid var(--ks-app-border);
  border-radius: 24px;
}

/* 6.8.394 — control del mapa: ayuda lateral,
ajustes compactos y biblioteca densa. */


.ks-sutta-map-help-panel {

  flex-direction: column;




  background: var(--ks-color-surface);

  color: #4b4640;
}
.ks-sutta-map-help-back {
  align-self: flex-start;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--ks-color-line);
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);
  color: var(--ks-color-accent);
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  font-weight: 700;
}
.ks-sutta-map-help-panel header p,
.ks-sutta-map-help-panel h4 {
  margin: 0;
  color: #8a837b;
  font-size: calc(10px + var(--ks-mobile-type-step, 0px));
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ks-sutta-map-help-panel h3 {
  margin: 2px 0 0;
  color: #36312d;
  font-size: 22px;
  line-height: 1.1;
}
.ks-sutta-map-help-panel section {
  display: grid;



}
.ks-sutta-map-help-panel p {

  color: #5f5750;


}
.ks-sutta-map-help-panel section div {
  display: grid;


  align-items: baseline;

  border: 1px solid var(--ks-color-line-soft);

  background: rgba(250,248,243,.72);
}
.ks-sutta-map-help-panel strong {
  color: var(--ks-color-accent);

}
.ks-sutta-map-help-panel span {
  color: #615a52;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  line-height: 1.35;
}





.ks-sutta-app-library-panel {





  padding-right: 2px;
}


.ks-sutta-app-library-list::before,
.ks-sutta-app-library-list::after {
  content: none !important;
}
.ks-sutta-app-library-list a {



  align-items: center !important;


  text-decoration: none !important;
}



/* 6.8.395 final — autoridad visual del panel lateral del mapa. */















/* 6.8.395 — panel lateral único del mapa y selección translúcida. */


.ks-sutta-app-map-popover-body .ks-sutta-app-map-options button.is-current,
.ks-sutta-app-map-popover-body .ks-sutta-app-map-options button[aria-pressed="true"],
.ks-sutta-map-sidebar-panel .ks-sutta-app-map-options button.is-current,
.ks-sutta-map-sidebar-panel .ks-sutta-app-map-options button[aria-pressed="true"],
.ks-sutta-map-sidebar-panel .ks-sutta-app-library-filter-row button.is-current,
.ks-sutta-map-sidebar-panel .ks-sutta-app-library-filter-row button[aria-pressed="true"] {
  border-color: var(--ks-color-accent) !important;

  background: color-mix(in srgb, var(--ks-color-accent) 15%, var(--ks-color-surface)) !important;
  color: var(--ks-color-accent) !important;
}
.ks-sutta-map-sidebar-panel {








  color: #4b4640;
}
.ks-sutta-map-sidebar-panel > header {
  display: flex;
  flex-direction: column;
  gap: 1px;


}
.ks-sutta-map-sidebar-panel > header p,
.ks-sutta-map-sidebar-panel h4 {

  color: #8a837b;

  font-weight: 700;


}
.ks-sutta-map-sidebar-panel > header h3 {

  color: #36312d;


}
.ks-sutta-map-sidebar-panel .ks-sutta-map-help-back {
  min-height: 30px;
  padding: 5px 10px;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px));
}




.ks-sutta-map-help-panel strong {
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
}





.ks-sutta-app * { box-sizing: border-box; }
.ks-sutta-app-head { display:flex; justify-content:space-between; gap:20px;  margin-bottom:22px; }
.ks-sutta-app-kicker { margin:0 0 6px; font-size: calc(12px + var(--ks-mobile-type-step, 0px)); letter-spacing:.12em; text-transform:uppercase; color:var(--ks-app-muted); }
.ks-sutta-app-title { margin:0; font-size: clamp(30px,4vw,52px); line-height:1.05; }
.ks-sutta-app-meta {  border:1px solid var(--ks-app-border); border-radius:var(--ks-radius-pill); background:var(--ks-app-card);   white-space:nowrap; }
.ks-sutta-app-search { position:relative;  }
.ks-sutta-app-search input {        font:inherit; }
.ks-sutta-app-search-status {    color:var(--ks-app-muted); }







.ks-sutta-app-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:22px; align-items:start; }
.ks-sutta-app-tree,
.ks-sutta-app-panel { background:var(--ks-app-card); border:1px solid var(--ks-app-border); border-radius:18px; padding:14px; }

.ks-sutta-app-panel {  top:24px; }
.ks-sutta-app-panel h2 { margin:0 0 8px;  }
.ks-sutta-app-panel p { margin:0 0 10px; color:var(--ks-app-muted); }
.ks-sutta-app-small { font-size: calc(13px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-app-tree ul,
.ks-sutta-app-tree li,
.ks-sutta-app-tree-list { list-style:none !important; margin:0; padding:0; }
.ks-sutta-app-tree li::before,
.ks-sutta-app-tree li::marker { content:none !important; display:none !important; }




















.ks-sutta-app-preview-card { margin:0; }
.ks-sutta-app-preview-kicker { margin:0 0 8px !important; font-size: calc(12px + var(--ks-mobile-type-step, 0px)); letter-spacing:.1em; text-transform:uppercase; color:var(--ks-app-accent) !important; }
.ks-sutta-app-preview h3,
.ks-sutta-app-preview-card h3 { margin:0 0 6px; }
.ks-sutta-app-preview p { margin:0 0 9px; color:var(--ks-app-muted); }
.ks-sutta-app-preview-sub { font-style:italic; }
.ks-sutta-app-preview-summary { margin-top:12px !important; font-size: calc(14px + var(--ks-mobile-type-step, 0px)); line-height:1.55; color:var(--ks-app-text) !important; }
.ks-sutta-app-preview-data { display:grid;   padding:0; }
.ks-sutta-app-preview-data div { display:grid;   border-top:1px solid rgba(138,109,59,.10); }
.ks-sutta-app-preview-data dt { margin:0; color:var(--ks-app-muted);  text-transform:uppercase; letter-spacing:.08em; }
.ks-sutta-app-preview-data dd { margin:0; color:var(--ks-app-text);   }
.ks-sutta-app-preview-tags {  flex-wrap:wrap; gap:6px; margin-top:12px; }
.ks-sutta-app-preview-tags span { padding:4px 7px; border-radius:var(--ks-radius-pill); background:var(--ks-color-surface); border:1px solid rgba(138,109,59,.16); color:var(--ks-app-muted); font-size: calc(11px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-app-preview-loading { margin-top:10px !important; font-size: calc(12px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-app-preview-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:14px; }
.ks-sutta-app-preview-link { text-decoration:none; }
.ks-sutta-app-ghost { display:inline-block; padding:8px 10px; border:1px solid var(--ks-app-border); border-radius:var(--ks-radius-pill); background:var(--ks-color-surface); color:var(--ks-app-muted); font:inherit; font-size: calc(12px + var(--ks-mobile-type-step, 0px)); cursor:pointer; }
.ks-sutta-app-loading,
.ks-sutta-app-empty,
.ks-sutta-app-error,
.ks-sutta-app-unavailable { color:var(--ks-app-muted); }
.ks-sutta-app-error,
.ks-sutta-app-unavailable { padding:14px; border:1px solid rgba(160,60,40,.25); border-radius:var(--ks-radius-panel); background:rgba(160,60,40,.06); }
.ks-sutta-app-diagnostics { margin-top:14px; font-size: calc(12px + var(--ks-mobile-type-step, 0px)); color:var(--ks-app-muted); }
.ks-sutta-app-diagnostics summary { cursor:pointer; }
.ks-sutta-app-diagnostics pre { max-height:220px; overflow:auto; margin:8px 0 0; padding:10px; border-radius:10px; background:rgba(0,0,0,.035); white-space:pre-wrap; font-size: calc(11px + var(--ks-mobile-type-step, 0px)); line-height:1.4; }
.ks-sutta-app-auto-note { margin:0 0 16px; color:var(--ks-app-muted); font-size: calc(13px + var(--ks-mobile-type-step, 0px)); }

@media (max-width:880px) {
  .ks-sutta-app { padding:18px; border-radius:18px; }
  .ks-sutta-app-head { display:block; }
  .ks-sutta-app-meta { display:inline-flex; margin-top:12px; }
  .ks-sutta-app-layout { grid-template-columns:1fr; }
  .ks-sutta-app-panel { position:static; display:block; }

}

.ks-sutta-app-preview-card .ks-hub-card-footer { margin-top:12px; }
.ks-sutta-app-preview-card .ks-hub-card-link { white-space:nowrap; }

/* 6.8.291 — ficha: icono contextual y campo combinado “Grandes ámbitos y temas”. */
.ks-sutta-app-preview-data dt { white-space:normal; }


/* 6.8.292 — explorer surface and tree-line authority.
   Keep this scoped to the new Sutta App; do not alter legacy hub/cards/D3 CSS. */
.ks-sutta-app {
  max-width: none;
  width: 100%;
}





.ks-sutta-app-preview-tags {
  display: none !important;
}

@media (min-width: 1180px) {
  .ks-sutta-app-layout {
    grid-template-columns: minmax(0,1fr) minmax(320px,360px);
  }
}

/* 6.8.293 — workspace mode: break out of the narrow WP content column without touching Salient or legacy CSS. */
body.ks-sutta-app-page .ks-sutta-app-parent,
body.ks-sutta-app-page .ks-sutta-app-ancestor {
  max-width: none !important;
}
.ks-sutta-app.is-fullbleed {
  width: var(--ks-app-fullbleed-width, 100%) !important;
  max-width: var(--ks-app-fullbleed-width, none) !important;
  margin-left: var(--ks-app-fullbleed-offset, 0) !important;
  margin-right: 0 !important;
}
.ks-sutta-app-toolbar {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin:-10px 0 18px;
}
.ks-sutta-app-toolbar button {
  min-height:32px;
  padding:6px 11px;
  border:1px solid var(--ks-app-border);
  border-radius:var(--ks-radius-pill);
  background:var(--ks-color-surface);
  color:var(--ks-app-muted);
  font:inherit;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  cursor:pointer;
}
.ks-sutta-app-toolbar button:hover,
.ks-sutta-app-toolbar button:focus {
  background:var(--ks-app-soft);
  color:var(--ks-app-text);
  outline:none;
}
.ks-sutta-app.is-panel-collapsed .ks-sutta-app-layout {
  grid-template-columns:1fr;
}
.ks-sutta-app.is-panel-collapsed .ks-sutta-app-panel {
  display:none;
}
.ks-sutta-app[data-ks-sutta-app-debug="0"] .ks-sutta-app-diagnostics {
  display:none;
}

@media (min-width: 1280px) {
  .ks-sutta-app.is-fullbleed .ks-sutta-app-layout {
    grid-template-columns: minmax(0,1fr) minmax(360px,420px);
    gap:26px;
  }
  .ks-sutta-app.is-fullbleed .ks-sutta-app-tree {
    min-height:520px;
  }
}

@media (min-width: 1540px) {
  .ks-sutta-app.is-fullbleed .ks-sutta-app-layout {
    grid-template-columns: minmax(0,1fr) minmax(400px,460px);
    gap:30px;
  }
}

@media (max-width: 959px) {
  .ks-sutta-app.is-fullbleed {
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
  }
  .ks-sutta-app-toolbar {
    justify-content:flex-start;
  }
}

/* 6.8.294 — inline reader inside Sutta App. Static release JSON only; no WordPress query per read gesture. */

.ks-sutta-app-reader {
  background: var(--ks-app-card);
  border: 1px solid var(--ks-app-border);
  border-radius: 18px;


  max-height: min(78vh, 920px);
  overflow: auto;
}
.ks-sutta-app-reader[hidden] { display: none !important; }
.ks-sutta-app-reader-empty,
.ks-sutta-app-reader-loading { color: var(--ks-app-muted); }
.ks-sutta-app-reader-head {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(138,109,59,.12);
}
.ks-sutta-app-reader-kicker {
  margin:0 0 5px !important;
  color:var(--ks-app-muted) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px));
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ks-sutta-app-reader-head h2 {
  margin:0;
  font-size: clamp(24px,2.4vw,36px);
  line-height:1.08;
}
.ks-sutta-app-reader-meta,
.ks-sutta-app-reader-version {
  margin:7px 0 0 !important;
  color:var(--ks-app-muted) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px));
}
.ks-sutta-app-reader-actions {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ks-sutta-app-reader-actions a,
.ks-sutta-app-reader-actions button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:6px 11px;
  border:1px solid var(--ks-app-border);
  border-radius:var(--ks-radius-pill);
  background:var(--ks-color-surface);
  color:var(--ks-app-muted);
  font:inherit;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  text-decoration:none;
  cursor:pointer;
}
.ks-sutta-app-reader-actions a:hover,
.ks-sutta-app-reader-actions button:hover,
.ks-sutta-app-reader-actions a:focus,
.ks-sutta-app-reader-actions button:focus {
  background:var(--ks-app-soft);
  color:var(--ks-app-text);
  outline:none;
}
.ks-sutta-app-reader-blurb {
  margin:0 0 16px !important;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(138,109,59,.055);
  color:var(--ks-app-muted) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px));
  line-height:1.55;
}
.ks-sutta-app-reader-body {
  font-size: calc(17px + var(--ks-mobile-type-step, 0px));
  line-height:1.72;
  color:var(--ks-app-text);
}
.ks-sutta-app-reader-body p {
  margin:0 0 .86em;
  color:var(--ks-app-text) !important;
}
.ks-sutta-app-reader-seg.ks-sutta-app-reader-lede {
  color:var(--ks-app-muted) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px));
  line-height:1.45;
  margin-bottom:.45em;
}
.ks-sutta-app-reader-html article,
.ks-sutta-app-reader-html section {
  margin:0;
}
.ks-sutta-app-reader-html header ul,
.ks-sutta-app-reader-html header li {
  list-style:none !important;
  margin:0;
  padding:0;
}
.ks-sutta-app-reader-html h1,
.ks-sutta-app-reader-html h2,
.ks-sutta-app-reader-html h3 {
  margin-top:0;
}

@media (max-width: 1320px) {
  .ks-sutta-app.has-reader-open .ks-sutta-app-layout {
    grid-template-columns:minmax(0,1fr) minmax(320px,380px);
  }
  .ks-sutta-app.has-reader-open .ks-sutta-app-reader {
    grid-column:1 / -1;
    grid-row:2;
    max-height:none;
  }
}

@media (max-width: 880px) {
  .ks-sutta-app.has-reader-open .ks-sutta-app-layout { grid-template-columns:1fr; }
  .ks-sutta-app-reader-head { display:block; }
  .ks-sutta-app-reader-actions { justify-content:flex-start; margin-top:12px; }
  .ks-sutta-app-reader { max-height:none; }
}

/* 6.8.295 — ficha/reader: gzip release JSON,
card interaction,
legacy-card link animation. */
.ks-sutta-app-preview-card {
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .18s ease;
}
.ks-sutta-app-preview-card:hover,
.ks-sutta-app-preview-card:focus-visible {
  border-color: rgba(0,0,0,.18) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.04) !important;
  outline: none;
}
.ks-sutta-app-preview-card:active {
  transform: translateY(1px);
}
.ks-sutta-app-card-footer.ks-hub-card-footer {


  gap: 12px;
}
.ks-sutta-app-preview-card .ks-hub-card-link,
.ks-sutta-app-preview-card .ks-hub-card-link:visited {






  border-bottom: 0 !important;








}

.ks-sutta-app-preview-card:hover .ks-hub-card-link::after,
.ks-sutta-app-preview-card:focus-visible .ks-hub-card-link::after,
.ks-sutta-app-preview-card .ks-hub-card-link:hover::after,
.ks-sutta-app-preview-card .ks-hub-card-link:focus-visible::after {
  width: 100%;
}
.ks-sutta-app-preview-card .ks-hub-card-link:hover,
.ks-sutta-app-preview-card .ks-hub-card-link:focus-visible {
  color: #c69218 !important;
  outline: none;
}
.ks-sutta-app-preview-data dd .ks-sutta-app-areas {
  display: grid;
  gap: 5px;
}
.ks-sutta-app-area-main {
  display: block;


  line-height: 1.35;
}
.ks-sutta-app-area-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 9px;

  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px));
  line-height: 1.35;
}
.ks-sutta-app-area-topics span {
  position: relative;
  display: inline-flex;
}
.ks-sutta-app-area-topics span + span::before {
  content: "·";
  margin-right: 9px;
  color: rgba(53,53,53,.35);
}
.ks-sutta-app-reader:focus {
  outline: 1px solid rgba(218,165,32,.35);
  outline-offset: 3px;
}
.ks-sutta-app-reader .ks-sutta-app-reader-full,
.ks-sutta-app-reader .ks-sutta-app-reader-full:visited {
  color: var(--ks-color-gold) !important;
  border-color: rgba(218,165,32,.35) !important;
  font-weight: 600;
}
.ks-sutta-app-reader .ks-sutta-app-reader-full:hover,
.ks-sutta-app-reader .ks-sutta-app-reader-full:focus-visible {
  color: #c69218 !important;
  border-color: #c69218 !important;
}

/* 6.8.296 — lector exacto y ficha como tarjeta legacy real.
   El lector interno deja de reinterpretar JSON: carga la plantilla pública canónica en modo embed. */

.ks-sutta-app-reader-shell {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: min(82vh, 1040px);
}
.ks-sutta-app-reader-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(138,109,59,.12);
  background: rgba(250,248,244,.72);
  color: var(--ks-app-muted);
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  line-height: 1.25;
}
.ks-sutta-app-reader-current {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ks-sutta-app-reader-toolbar-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}
.ks-sutta-app-reader-toolbar .ks-sutta-app-reader-full,
.ks-sutta-app-reader-toolbar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(138,109,59,.18);
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);
  color: var(--ks-app-muted) !important;
  font: inherit;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  text-decoration: none !important;
  cursor: pointer;
}
.ks-sutta-app-reader-toolbar .ks-sutta-app-reader-full:hover,
.ks-sutta-app-reader-toolbar button:hover,
.ks-sutta-app-reader-toolbar .ks-sutta-app-reader-full:focus-visible,
.ks-sutta-app-reader-toolbar button:focus-visible {
  border-color: var(--ks-color-gold);
  color: var(--ks-app-text) !important;
  outline: none;
}
.ks-sutta-app-reader-frame {
  display: block;
  width: 100%;
  height: min(82vh, 1040px);
  min-height: 680px;
  border: 0;
  background: var(--ks-color-surface);
}

.ks-sutta-app-preview-card.ks-hub-card:hover,
.ks-sutta-app-preview-card.ks-hub-card:focus-visible {
  text-decoration: none !important;
  color: inherit !important;
}
.ks-sutta-app-card-footer.ks-hub-card-footer {
  justify-content: space-between !important;
  align-items: flex-end !important;

}
.ks-sutta-app-card-footer-spacer {
  display: block;
  min-width: 1px;
  flex: 1 1 auto;
}
.ks-sutta-app-preview-card .ks-hub-card-link,
.ks-sutta-app-preview-card .ks-hub-card-link:visited {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  padding: 0 0 7px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  font-size: calc(var(--ks-hub-card-link-size, 12px) + var(--ks-mobile-type-step, 0px)) !important;

  letter-spacing: .3px !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.ks-sutta-app-preview-card .ks-hub-card-link::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  display: block !important;
  width: 38px !important;
  height: 2px !important;

  transition: width .22s ease !important;
}
.ks-sutta-app-preview-card:hover .ks-hub-card-link::after,
.ks-sutta-app-preview-card:focus-visible .ks-hub-card-link::after {
  width: 100% !important;
}



@media (max-width: 880px) {
  .ks-sutta-app-reader-toolbar { align-items: flex-start; flex-direction: column; }
  .ks-sutta-app-reader-frame { min-height: 620px; height: 78vh; }
}

/* 6.8.297 — migración correcta: datos app/ ligeros,
contrato visual del lector público.
   No iframe,
no página WordPress embebida. */
.ks-sutta-app.has-reader-open .ks-sutta-app-layout {
  grid-template-columns: minmax(300px, 390px) minmax(0, 1fr) !important;
  gap: clamp(18px, 2vw, 30px) !important;
}
.ks-sutta-app.has-reader-open .ks-sutta-app-panel {
  display: none !important;
}

.ks-sutta-app-native-reader {

  background: var(--ks-color-surface);



}
.ks-sutta-app-reader .kp-sutta-page {
  --kp-accent: var(--ks-color-gold);
  --kp-control-accent: var(--ks-color-gold);
  --kp-hero-line: var(--ks-color-accent);
  --kp-hero-bg: var(--extra-color-3, #f5f2ea);
  --kp-text: var(--primary-text-color, #353535);
  --kp-muted: #77716a;
  --kp-tooltip-text: #5f584f;


  --kp-reading-pad: 20px;
  --kp-sutta-hero-title-size: 50px;
  --kp-sutta-hero-title-color: var(--ks-color-text);
  --kp-sutta-hero-title-weight: 300;
  --kp-sutta-hero-title-style: normal;
  --kp-sutta-h2-size: 25px;
  --kp-sutta-h2-color: var(--kp-text);
  --kp-sutta-h2-weight: 400;
  --kp-sutta-h2-style: normal;
  --kp-sutta-h3-size: 20px;
  --kp-sutta-h3-color: var(--kp-text);
  --kp-sutta-h3-weight: 400;
  --kp-sutta-h3-style: normal;
  --kp-sutta-h4-size: 17px;
  --kp-sutta-h4-color: var(--kp-text);
  --kp-sutta-h4-weight: 400;
  --kp-sutta-h4-style: normal;



  padding: 0 0 60px;
  color: var(--kp-text);
  font-family: "Noto Sans", "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: calc(16px + var(--ks-mobile-type-step, 0px));
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.ks-sutta-app-reader .kp-sutta-page i,
.ks-sutta-app-reader .kp-sutta-page em,
.ks-sutta-app-reader .kp-sutta-page [lang="pi"],
.ks-sutta-app-reader .kp-sutta-page [translate="no"] {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  font-style: italic !important;
}
.ks-sutta-app-reader .kp-sutta-page *,
.ks-sutta-app-reader .kp-sutta-page *::before,
.ks-sutta-app-reader .kp-sutta-page *::after {
  box-sizing: border-box;
}
.ks-sutta-app-reader .kp-controls-back-link {
  cursor: default;
  pointer-events: none;
}
.ks-sutta-app-reader .ks-sutta-app-fullpage-link {
  text-decoration: none !important;
}
.ks-sutta-app-reader .kp-note-marker.kp-note-variant {
  color: var(--extra-color-2, #fff176) !important;
}
.ks-sutta-app-reader .kp-sutta-page.kp-notes-hidden .kp-note-marker {
  display: inline-block !important;
  width: .44em;
  min-width: .44em;
  margin-inline-start: 0;
  margin-inline-end: .3em;
  visibility: hidden !important;
  pointer-events: none !important;
}
.ks-sutta-app-reader .kp-sutta-page:not(.kp-notes-hidden) .kp-note-marker { display: inline-block; }
/* Referencias del lector: una sola vía interactiva, `a.kp-segment-ref`.
   La presentación canónica vive en `reader-interaction-v2.css`; no pintar
   `[data-ref]` con pseudo-elementos porque duplicaría la numeración generada
   por el renderer. */
.ks-sutta-app-reader .kp-sutta-page .kp-note-tooltip {
  max-width: min(520px, 86vw);
}
.ks-sutta-app-preview-card.ks-hub-card,
.ks-sutta-app-preview-card.ks-hub-card:visited {
  color: inherit !important;
  text-decoration: none !important;
}
.ks-sutta-app-preview-card .ks-hub-card-link,
.ks-sutta-app-preview-card .ks-hub-card-link:visited {
  color: var(--ks-color-gold) !important;
  font-weight: 500 !important;
}
.ks-sutta-app-preview-card .ks-hub-card-link::after {
  background: var(--ks-color-gold) !important;
}
.ks-sutta-app-area-main {
  color: var(--ks-color-accent) !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}
.ks-sutta-app-area-topics {
  margin-top: 4px;
  color: rgba(53,53,53,.68) !important;
}

@media (max-width: 1180px) {
  .ks-sutta-app.has-reader-open .ks-sutta-app-layout {
    grid-template-columns: 1fr !important;
  }

}


/* 6.8.298 — CTA exacto: reutiliza el patrón global Nectar CTA kp-underline. */
.ks-sutta-app-preview-card .nectar-cta.kp-underline .link_text {
  box-shadow:none !important;
  text-decoration:none !important;
}
.ks-sutta-app-preview-card .nectar-cta.kp-underline .link_text .text {
  display:inline-block;
  box-shadow:inset 0 -2px 0 var(--extra-color-1);
  transition:box-shadow .28s ease;
}
.ks-sutta-app-preview-card:hover .nectar-cta.kp-underline .link_text .text,
.ks-sutta-app-preview-card:focus-visible .nectar-cta.kp-underline .link_text .text,
.ks-sutta-app-preview-card .nectar-cta.kp-underline .link_text:hover .text {
  box-shadow:inset 0 -1.4em 0 color-mix(in srgb,var(--extra-color-1) 35%,transparent);
}
.ks-sutta-app-preview-cta {
  display:inline-flex;
  align-items:center;
  color:var(--ks-color-gold) !important;

  font-weight:500;
  letter-spacing:.3px;
  line-height:1.1;
}
.ks-sutta-app-reader .kp-sutta-page.kp-accent-green {
  --kp-control-accent: var(--ks-color-accent);
}
.ks-sutta-app-reader .kp-sutta-page .kp-gloss-toggle.is-active,
.ks-sutta-app-reader .kp-sutta-page .kp-gloss-toggle[aria-pressed="true"] {
  background: var(--kp-control-accent);
  border-color: var(--kp-control-accent);
  color:var(--ks-color-surface);
}
.ks-sutta-app-reader .kp-version-menu,
.ks-sutta-app-reader .kp-publication-panel {
  position:absolute;
}
.ks-sutta-app-reader [data-kp-app-reader-map-host] {
  margin-bottom: 24px;
}

/* 6.8.299 — /sutta/* como app: sidebar izquierda + lector público fragmentado a la derecha. */
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  border-radius: 0;
  border-left: 0;
  border-right: 0;

}



.ks-sutta-app.has-reader-open .ks-sutta-app-panel,
.ks-sutta-app.is-panel-collapsed .ks-sutta-app-panel {
  display: block !important;
}
.ks-sutta-app.has-reader-open .ks-sutta-app-tree {
  min-height: 420px;
}
.ks-sutta-app-reader {
  min-width: 0;
}
.ks-sutta-app.has-reader-open .ks-sutta-app-reader {
  display: block;
  grid-column: auto !important;
  grid-row: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  max-height: none !important;
  min-height: 70vh;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.ks-sutta-app-native-reader.kp-reader-scope {
  border: 0;
  border-radius: 0;
  background: var(--ks-color-surface);
  overflow: visible;
}
.ks-sutta-app-reader .kp-controls-back-link {
  display: none !important;
}
.ks-sutta-app-reader .kp-sutta-bottom-nav a,
.ks-sutta-app-reader .kp-sutta-nav-home,
.ks-sutta-app-reader .kp-sutta-nav-card {
  cursor: pointer;
}
.ks-sutta-app-reader .kp-sutta-page {
  margin: 0 !important;
}

@media (max-width: 1180px) {

  
  .ks-sutta-app.has-reader-open .ks-sutta-app-tree {
    max-height: 420px;
  }
}

/* 6.8.300 — transición sin sensación de refresco: mantener el lector visible mientras llega el siguiente fragmento. */

.ks-sutta-app-reader.is-reader-loading .ks-sutta-app-native-reader {
  pointer-events: none;
}
.ks-sutta-app-reader.is-reader-loading .kp-sutta-page {
  opacity: 1;
}
.ks-sutta-app-reader-loading-badge {
  position: sticky;
  top: 16px;
  z-index: var(--ks-layer-controls, 1000100);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  float: right;
  margin: 14px 18px 0 0;
  padding: 8px 12px;
  border-radius: var(--ks-radius-pill);
  background: color-mix(in srgb, var(--extra-color-3, #f5f2ea) 90%, var(--ks-color-surface) 10%);
  border: 1px solid rgba(140,134,48,.18);
  box-shadow: 0 10px 28px rgba(53,53,53,.08);
  color: #77716a;
  font-family: "Fira Sans", var(--ks-font-ui);
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ks-sutta-app-reader-loading-mark {
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid color-mix(in srgb, var(--ks-color-accent) 48%, transparent);
  border-radius: 50%;
  color: var(--ks-color-accent);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .06em;
  animation: ks-reader-pulse 1.15s ease-in-out infinite;
}

@keyframes ks-reader-pulse {
  0%,
  100% { transform: scale(.94); opacity: .62; }
  50% { transform: scale(1.04); opacity: 1; }
}

/* 6.8.303 — shell más limpio: ficha fija/compacta,
árbol prioritario y app sin menú WordPress pesado.
   No toca D3,
frontend.css ni el contrato visual del lector público. */
body.ks-sutta-app-immersive #header-outer,
body.ks-sutta-app-immersive #header-secondary-outer,
body.ks-sutta-app-immersive .nectar-header,
body.ks-sutta-app-immersive #slide-out-widget-area-bg,
body.ks-sutta-app-immersive #slide-out-widget-area,
body.ks-sutta-app-immersive .ocm-effect-wrap > .slide_out_area_close {
  display: none !important;
}
body.ks-sutta-app-immersive .container-wrap,
body.ks-sutta-app-immersive #ajax-content-wrap,
body.ks-sutta-app-immersive .main-content,
body.ks-sutta-app-immersive .row,
body.ks-sutta-app-immersive .wpb_wrapper {
  max-width: none !important;
}
body.ks-sutta-app-immersive .container-wrap {
  padding-top: 0 !important;
}
.ks-sutta-app-head {
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(138,109,59,.10);
}
.ks-sutta-app-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.ks-sutta-app-home-link,
.ks-sutta-app-home-link:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;


  border: 1px solid rgba(138,109,59,.18);
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);

  font: inherit;


  line-height: 1;
  text-decoration: none !important;
  text-transform: uppercase;
  white-space: nowrap;
}
.ks-sutta-app-home-link:hover,
.ks-sutta-app-home-link:focus-visible {
  border-color: var(--ks-color-gold);
  color: var(--ks-color-gold) !important;
  outline: none;
}



.ks-sutta-app-panel h2 {
  margin-bottom: 6px !important;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.2;
}

.ks-sutta-app-preview-card.ks-hub-card {
  display: flex !important;
  flex-direction: column;
  min-height: 220px;
  height: 238px;
  padding: 14px !important;
  overflow: hidden;
}
.ks-sutta-app-preview-card .ks-hub-card-title {
  margin-bottom: 4px !important;
  font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.15 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ks-sutta-app-preview-card .ks-hub-card-meta {
  margin-bottom: 7px !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.25 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ks-sutta-app-preview-card .ks-hub-card-summary {
  margin-bottom: 7px !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.42 !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ks-sutta-app-preview-data {
  gap: 4px !important;
  margin: 6px 0 8px !important;
}
.ks-sutta-app-preview-data div {
  gap: 1px !important;
  padding-top: 5px !important;
}
.ks-sutta-app-preview-data dt {
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-preview-data dd {
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;

}
.ks-sutta-app-card-footer.ks-hub-card-footer {
  margin-top: auto !important;
  min-height: 24px !important;
}
.ks-sutta-app-preview-cta {
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
}












@media (max-width: 1180px) {



  .ks-sutta-app-tree {
    min-height: 380px !important;

  }
}

@media (max-width: 680px) {
  .ks-sutta-app-head-actions {
    justify-content: flex-start;
  }
  .ks-sutta-app-preview-card.ks-hub-card {
    height: auto;
    min-height: 0;
  }
}

/* 6.8.304 — shell estructural tipo app: sidebar full-height,
buscador dentro del menú,
ficha espejo unificada y rail fino de controles. Mantiene intactos lector PHP y D3. */
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {

  margin-top: 0 !important;
  padding: 0 !important;
  border: 0 !important;

}
.ks-sutta-app-head,
.ks-sutta-app-toolbar {
  display: none !important;
}
.ks-sutta-app-layout,
.ks-sutta-app.has-reader-open .ks-sutta-app-layout,
.ks-sutta-app.is-panel-collapsed .ks-sutta-app-layout {
  display: grid;

  gap: 0 !important;
  align-items: stretch !important;

}


.ks-sutta-app-home-link,
.ks-sutta-app-home-link:visited {
  min-height: 32px !important;
  padding: 8px 12px !important;
  border-color: rgba(138,109,59,.18) !important;
  color: #5f584f !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .12em !important;
}
.ks-sutta-app-meta {
  max-width: 190px;
  min-height: 30px;
  padding: 7px 10px !important;
  overflow: hidden;
  border-color: rgba(138,109,59,.12) !important;
  color: rgba(53,53,53,.58) !important;
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .05em;
  text-overflow: ellipsis;
  text-transform: uppercase;
}
.ks-sutta-app-search {

  z-index: 25;
}
.ks-sutta-app-search input {




  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-search-status {


  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
}

.ks-sutta-app-panel {
  display: block !important;






}
.ks-sutta-app-preview {
  margin: 0 !important;
}
.ks-sutta-app-mirror-card {
  display: block;
  min-height: 0;
  padding: 24px 22px 18px;
  border: 1px solid var(--ks-color-line-subtle);
  border-radius: 18px;
  background: var(--ks-color-surface);
  color: #6a635b;
  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(53,53,53,.055);
}
.ks-sutta-app-mirror-card.is-empty {
  padding: 18px;
  background: rgba(250,248,244,.72);
  box-shadow: none;
}
.ks-sutta-app-mirror-card[data-ks-preview-open] {
  cursor: pointer;
}
.ks-sutta-app-mirror-card[data-ks-preview-open]:hover,
.ks-sutta-app-mirror-card[data-ks-preview-open]:focus-visible {
  border-color: rgba(218,165,32,.46);
  outline: none;
}
.ks-sutta-app-mirror-kicker {
  margin: 0 0 14px !important;
  color: rgba(95,88,79,.52) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}
.ks-sutta-app-mirror-title,
.ks-sutta-app-mirror-card h3 {
  margin: 0 0 8px !important;
  color: #3f3a35 !important;
  font-size: clamp(21px, 2vw, 29px) !important;
  font-weight: 600 !important;
  font-style: italic;
  line-height: 1.16 !important;
}
.ks-sutta-app-mirror-meta {
  margin: 0 0 15px !important;
  color: rgba(95,88,79,.58) !important;
  font-size: calc(18px + var(--ks-mobile-type-step, 0px));
  line-height: 1.35;
}
.ks-sutta-app-mirror-pali {
  font-style: italic;
}
.ks-sutta-app-mirror-ref {
  color: var(--ks-color-accent);
  font-weight: 700;
  font-style: normal;
}
.ks-sutta-app-mirror-summary {
  margin: 0 0 18px !important;
  color: rgba(95,88,79,.76) !important;
  font-size: calc(16px + var(--ks-mobile-type-step, 0px));
  line-height: 1.56;
}
.ks-sutta-app-mirror-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 20px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(109,91,56,.12);
}
.ks-sutta-app-mirror-grid div {
  min-width: 0;
}
.ks-sutta-app-mirror-grid span {
  display: block;
  margin-bottom: 5px;
  color: rgba(95,88,79,.46);
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.ks-sutta-app-mirror-grid strong {
  display: block;
  color: #6b645c;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px));
  font-weight: 700;
  line-height: 1.35;
}
.ks-sutta-app-mirror-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(109,91,56,.12);
}
.ks-sutta-app-mirror-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid rgba(109,91,56,.2);
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);
  color: #6a635b;
  font: inherit;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px));
  line-height: 1;
  cursor: pointer;
}
.ks-sutta-app-mirror-actions button[aria-pressed="true"] {
  border-color: var(--ks-color-accent);
  background: var(--ks-color-accent);
  color: var(--ks-color-surface);
}
.ks-sutta-app-mirror-actions button:hover,
.ks-sutta-app-mirror-actions button:focus-visible {
  border-color: var(--ks-color-gold);
  outline: none;
}
.ks-sutta-app-mirror-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

.ks-sutta-app-rail {
  position: sticky;
  top: 0;
  z-index: 11;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  height: 100vh;



}
.ks-sutta-app-rail button {
  display: inline-flex;
  align-items: center;
  justify-content: center;


  border: 1px solid rgba(109,91,56,.2);
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);
  color: #6a635b;
  font: inherit;

  line-height: 1;
  cursor: pointer;
}
.ks-sutta-app-rail button:hover,
.ks-sutta-app-rail button:focus-visible {
  border-color: var(--ks-color-gold);
  color: var(--ks-color-gold);
  outline: none;
}
.ks-sutta-app-reader {
  min-height: 100vh !important;
  padding: 0 !important;
}
.ks-sutta-app.has-reader-open .ks-sutta-app-reader,
.ks-sutta-app-reader {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.ks-sutta-mode-home-page.ks-reader-map-mode > .ks-sutta-app-reader-empty {
  display: none !important;
}

.ks-sutta-app-reader-empty {
  min-height: 100vh;
  padding: clamp(54px, 7vw, 110px);
  background: #fbfaf7;
}
.ks-sutta-app-reader-empty h1 {
  margin: 0 0 16px;
  color: var(--ks-color-text);
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 300;
  line-height: 1.05;
}
.ks-sutta-app-reader-empty p {
  max-width: 620px;
  color: rgba(95,88,79,.72);
  font-size: calc(18px + var(--ks-mobile-type-step, 0px));
  line-height: 1.65;
}
body.ks-sutta-app-immersive .container-wrap,
body.ks-sutta-app-immersive #ajax-content-wrap,
body.ks-sutta-app-immersive .main-content,
body.ks-sutta-app-immersive .row,
body.ks-sutta-app-immersive .wpb_wrapper,
body.ks-sutta-app-immersive .wpb_content_element {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 1180px) {
  .ks-sutta-app-layout,
.ks-sutta-app.has-reader-open .ks-sutta-app-layout,
.ks-sutta-app.is-panel-collapsed .ks-sutta-app-layout {
    grid-template-columns: 1fr !important;
  }
  
.ks-sutta-app-rail {
    position: static !important;
    height: auto !important;
    max-height: none !important;
  }

  .ks-sutta-app-rail {
    flex-direction: row;
    justify-content: flex-start;
    padding: 10px 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(109,91,56,.08);
  }

}

@media (max-width: 680px) {
  
  
  .ks-sutta-app-meta {
    max-width: 100%;
  }
  .ks-sutta-app-mirror-card {
    padding: 18px 16px;
  }
  .ks-sutta-app-mirror-grid {
    grid-template-columns: 1fr;
  }
}

/* 6.8.305 — corrección profesional de shell: WordPress queda como contenedor,
la app toma /sutta/*,
fondo blanco,
scroll único y ficha EXACTA basada en la tarjeta D3. */
html body.ks-sutta-app-immersive,
body.ks-sutta-app-immersive .container-wrap,
body.ks-sutta-app-immersive #ajax-content-wrap,
body.ks-sutta-app-immersive .main-content,
body.ks-sutta-app-immersive .row,
body.ks-sutta-app-immersive .wpb_wrapper,
body.ks-sutta-app-immersive .wpb_content_element,
body.ks-sutta-app-immersive .ks-sutta-app,
body.ks-sutta-app-immersive .ks-sutta-app-reader-empty,
body.ks-sutta-app-immersive .ks-sutta-app-reader,
body.ks-sutta-app-immersive .ks-sutta-app-native-reader,
body.ks-sutta-app-immersive .kp-sutta-page {
  background: var(--ks-color-surface) !important;
}
body.ks-sutta-app-immersive .container-wrap,
body.ks-sutta-app-immersive .main-content,
body.ks-sutta-app-immersive .row,
body.ks-sutta-app-immersive .wpb_wrapper,
body.ks-sutta-app-immersive .wpb_content_element {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.ks-sutta-app-immersive .vc_row,
body.ks-sutta-app-immersive .wpb_row,
body.ks-sutta-app-immersive .vc_column_container,
body.ks-sutta-app-immersive .vc_column-inner {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  width: 100% !important;
  min-height: 100dvh !important;
  background: var(--ks-color-surface) !important;
}
.ks-sutta-app-layout,
.ks-sutta-app.has-reader-open .ks-sutta-app-layout,
.ks-sutta-app.is-panel-collapsed .ks-sutta-app-layout {

  min-height: 100dvh !important;
  background: var(--ks-color-surface) !important;
}




.ks-sutta-app .ks-sutta-app-progress-actions {






  border-top: 1px solid rgba(0,0,0,.065) !important;
}
.ks-sutta-app .ks-sutta-app-progress-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;


  border: 1px solid rgba(120,114,106,.28) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #686158 !important;
  box-shadow: none !important;
  font: inherit !important;

  line-height: 1 !important;
}

.ks-sutta-app-tree {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: var(--ks-color-surface) !important;
  border: 1px solid rgba(109,91,56,.09) !important;


  -webkit-overflow-scrolling: touch !important;

  scrollbar-gutter: stable !important;
}







.ks-sutta-app-rail {

  padding: 0 !important;



  border-right: 0 !important;
  background: var(--ks-color-surface) !important;
}
body.ks-reader-map-open .ks-sutta-app-rail {




  border-right: 1px solid rgba(109,91,56,.08) !important;
}

@media (max-width: 1180px) {

  
  .ks-sutta-app-panel { max-height: none !important; }
  .ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app-rail {
    width: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    overflow: visible !important;
    flex-direction: row !important;
    padding: 10px 18px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(109,91,56,.08) !important;
  }
  body:not(.ks-reader-map-open) .ks-sutta-app-rail { display: none !important; }
  .ks-sutta-app-tree { max-height: 54dvh !important; }
}


/* 6.8.306 — ajuste profesional de shell visual: sidebar 80px más estrecha,
scroll jerárquico compacto,
lector ocupando todo el panel disponible y rail del mapa
   como pestaña contextual,
no como barra de arriba a abajo. */

.ks-sutta-app-layout,
.ks-sutta-app.has-reader-open .ks-sutta-app-layout,
.ks-sutta-app.is-panel-collapsed .ks-sutta-app-layout {
  grid-template-columns: var(--ks-app-sidebar-width) 0 minmax(0, 1fr) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  overflow: hidden !important;
}
body.ks-reader-map-open .ks-sutta-app-layout,
body.ks-reader-map-open .ks-sutta-app.has-reader-open .ks-sutta-app-layout {
  grid-template-columns: var(--ks-app-sidebar-width) var(--ks-app-rail-width) minmax(0, 1fr) !important;
}


.ks-sutta-app-search,
.ks-sutta-app-panel,
.ks-sutta-app-tree {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ks-sutta-app-search-status { min-height: 16px !important; margin-top: 5px !important; }

.ks-sutta-app-tree {
  padding: 6px 6px 8px !important;
}

.ks-sutta-app-branch { padding: 1px 0 3px 5px !important; }







.ks-sutta-app-reader,
.ks-sutta-app.has-reader-open .ks-sutta-app-reader {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: auto !important;
  background: var(--ks-color-surface) !important;
}
.ks-sutta-app-native-reader {
  width: 100% !important;
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.ks-sutta-app-reader .kp-sutta-page {
  width: 100% !important;
  max-width: none !important;
  --kp-reading-width: 1040px;
  --kp-wide-width: calc(100vw - var(--ks-app-sidebar-width) - var(--ks-app-rail-width) - 48px);
}
.ks-sutta-app-reader .kp-sutta-hero { margin-top: 0 !important; }
.ks-sutta-app-reader .kp-hero-inner {
  width: min(calc(100% - 72px), 1280px) !important;
  max-width: none !important;
}
.ks-sutta-app-reader .kp-sutta-inner,
.ks-sutta-app-reader .kp-sutta-credits {
  width: min(calc(100% - 72px), var(--kp-reading-width)) !important;
  max-width: var(--kp-reading-width) !important;
}
.ks-sutta-app-reader .kp-sutta-page.kp-active-sidebyside .kp-sutta-inner,
.ks-sutta-app-reader .kp-sutta-page.kp-active-sidebyside .kp-hero-inner,
.ks-sutta-app-reader .kp-sutta-page.kp-active-linebyline .kp-hero-inner {
  width: min(calc(100% - 56px), var(--kp-wide-width)) !important;
  max-width: var(--kp-wide-width) !important;
}
.ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app-rail {
  position: sticky !important;
  top: 50dvh !important;
  align-self: start !important;
  justify-self: start !important;
  transform: translateY(-50%) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 9px 5px !important;

  border-left: 0 !important;
  border-radius: 0 18px 18px 0 !important;


}
.ks-sutta-app-rail { width: 0 !important; opacity: 0 !important; pointer-events: none !important; overflow: hidden !important; }
body.ks-reader-map-open .ks-sutta-app-rail { width: var(--ks-app-rail-width) !important; opacity: 1 !important; pointer-events: auto !important; overflow: visible !important; }
.ks-sutta-app-rail button { width: 31px !important; height: 31px !important; font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important; }

@media (max-width: 1180px) {
  .ks-sutta-app-layout,
.ks-sutta-app.has-reader-open .ks-sutta-app-layout,
.ks-sutta-app.is-panel-collapsed .ks-sutta-app-layout,
body.ks-reader-map-open .ks-sutta-app-layout,
body.ks-reader-map-open .ks-sutta-app.has-reader-open .ks-sutta-app-layout {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }
  /* 6.8.962 — Autoridad única del ancho útil responsive del lector.
   * En <=1180 px todos los modos comparten exactamente el mismo gutter y
   * máximo de contenido. Side-by-side conserva solo su grid interno 50/50;
   * no conserva la geometría wide de desktop. */
  .ks-sutta-app-reader .kp-sutta-page {
    --kp-responsive-content-gutter: 32px;
    --kp-responsive-content-max: 920px;
  }
  .ks-sutta-app-reader .kp-hero-inner,
  .ks-sutta-app-reader .kp-sutta-inner,
  .ks-sutta-app-reader .kp-sutta-credits,
  .ks-sutta-app-reader .kp-sutta-page.kp-active-sidebyside .kp-sutta-inner,
  .ks-sutta-app-reader .kp-sutta-page.kp-active-sidebyside .kp-hero-inner,
  .ks-sutta-app-reader .kp-sutta-page.kp-active-linebyline .kp-hero-inner {
    width: min(
      calc(100% - var(--kp-responsive-content-gutter)),
      var(--kp-responsive-content-max)
    ) !important;
    max-width: var(--kp-responsive-content-max) !important;
  }
  .ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app-rail {
    position: static !important;
    transform: none !important;
    border-left: 1px solid rgba(109,91,56,.13) !important;
    border-radius: 18px !important;
  }
}

/* 6.8.309 — lista pendiente estabilizada tras rollback 6.8.308.
   Solo ajustes aislados de shell: sin viewport global nuevo,
sin tocar lector PHP ni D3 visual. */
body.ks-sutta-app-immersive .ks-sutta-app.is-fullbleed {
  margin-left: 0 !important;
}
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  --ks-app-sidebar-width: 420px;
  --ks-app-rail-width: 42px;
  --ks-app-sidebar-pad-x: 10px;
}


.ks-sutta-app-search {
  margin-bottom: 6px !important;
}
.ks-sutta-app-search-status {
  display: none !important;
}
.ks-sutta-app-panel {



  margin-bottom: 8px !important;

}
.ks-sutta-app-preview {
  height: 100% !important;
  max-height: 100% !important;

}



.ks-sutta-app-tree {
  touch-action: pan-y !important;
  overscroll-behavior: contain !important;
  overscroll-behavior-y: contain !important;
}
.ks-sutta-app-tree-list .ks-sutta-app-tree-list { margin-left: 2px !important; }
.ks-sutta-app-branch { padding-left: 4px !important; }

.ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app-rail {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.ks-reader-map-open .ks-sutta-app-rail {
  padding: 0 0 0 0 !important;
}
body.ks-reader-map-open .ks-sutta-app-rail::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 42px;
  height: 228px;
  transform: translateY(-50%);
  border: 1px solid rgba(109,91,56,.13);
  border-left: 0;
  border-radius: 0 18px 18px 0;
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 38px var(--ks-color-shadow);
  pointer-events: none;
}
.ks-sutta-app-rail button {
  position: relative !important;
  z-index: 1 !important;
}

/* 6.8.310 — corrección conservadora: app realmente pegada al borde izquierdo.
   No cambia lector PHP ni D3. Evita que el shell quede centrado dentro del contenedor WP/Salient. */
body.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-fullbleed {
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  --ks-app-sidebar-width: 408px;
  --ks-app-sidebar-pad-x: 10px;
  background: var(--ks-color-surface) !important;
}
body.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout,
body.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-panel-collapsed .ks-sutta-app-layout {
  width: 100vw !important;
  max-width: 100vw !important;
  grid-template-columns: var(--ks-app-sidebar-width) 0 minmax(0, calc(100vw - var(--ks-app-sidebar-width))) !important;
}
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout {
  grid-template-columns: var(--ks-app-sidebar-width) var(--ks-app-rail-width) minmax(0, calc(100vw - var(--ks-app-sidebar-width) - var(--ks-app-rail-width))) !important;
}


body.ks-sutta-app-immersive .ks-sutta-app-search,
body.ks-sutta-app-immersive .ks-sutta-app-panel,
body.ks-sutta-app-immersive .ks-sutta-app-tree {
  width: 100% !important;
  max-width: 100% !important;
}
body.ks-sutta-app-immersive .ks-sutta-app-reader,
body.ks-sutta-app-immersive .ks-sutta-app-native-reader {
  min-width: 0 !important;
}


/* 6.8.311 — documento autónomo /sutta/*.
   El template ya no hereda header/footer de Salient; estos resets garantizan
   que ningún margen del body/html genere columna fantasma izquierda. */
html:has(body.ks-sutta-app-standalone),
body.ks-sutta-app-standalone {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  background: var(--ks-color-surface) !important;
}
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"],
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-fullbleed {


  left: 0 !important;




  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ks-color-surface) !important;
}





/* 6.8.312 — auditoría/fix: la columna fantasma no era padding del menú; era el
   template single de kp_sutta reinyectando Salient. Además blindamos la shell
   autónoma para que el contenido del sidebar empiece en el borde real. */
body.ks-sutta-app-standalone,
body.ks-sutta-app-standalone * {
  box-sizing: border-box;
}
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"],
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-fullbleed {
  display: block !important;
  position: fixed !important;
  inset: 0 auto auto 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 !important;
  overflow: hidden !important;
}
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout,
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-panel-collapsed .ks-sutta-app-layout {
  display: grid !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: var(--ks-app-sidebar-width) 0 minmax(0, calc(100vw - var(--ks-app-sidebar-width))) !important;
}
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout {
  grid-template-columns: var(--ks-app-sidebar-width) var(--ks-app-rail-width) minmax(0, calc(100vw - var(--ks-app-sidebar-width) - var(--ks-app-rail-width))) !important;
}


body.ks-sutta-app-standalone .ks-sutta-app-search,
body.ks-sutta-app-standalone .ks-sutta-app-panel,
body.ks-sutta-app-standalone .ks-sutta-app-tree {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-self: stretch !important;
}
body.ks-sutta-app-standalone .ks-sutta-app-tree {

  overscroll-behavior: contain !important;
}
body.ks-sutta-app-standalone .ks-sutta-app-reader {
  width: 100% !important;


  min-width: 0 !important;

}/* 6.8.313 — regresión visual de tarjeta: conservar la tarjeta de sutta al abrir ramas
   del árbol y compactar tarjeta de sección sin tocar lector {
  contain: layout paint !important;
}


/* 6.8.315 — correcciones aisladas: tarjeta completa,
paneles reales de mapa
   desde la rail izquierda y ventanas flotantes visibles. No cambia D3 interno. */
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  --ks-app-preview-height: 332px;
}
body.ks-sutta-app-standalone .ks-sutta-app-panel,
body.ks-sutta-app-immersive .ks-sutta-app-panel,
.ks-sutta-app-panel {
  height: var(--ks-app-preview-height) !important;
  min-height: var(--ks-app-preview-height) !important;
  max-height: var(--ks-app-preview-height) !important;
  overflow: hidden !important;
}
.ks-sutta-app .ks-sutta-app-progress-actions {






  overflow: visible !important;
}
.ks-sutta-app .ks-sutta-app-progress-actions button {
  min-height: 28px !important;
  padding: 5px 8px !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  white-space: nowrap !important;
}
/* En la Sutta App los botones visibles viven en la rail izquierda {
  visibility: visible !important;
}


/* 6.8.317 — migración real de paneles del mapa al rail lateral de la Sutta App.
   Los botones Ayuda/Opciones/Biblioteca abren un popover propio de la app que
   reutiliza el contenido/controles nativos del viewer y proxifica sus acciones. */
body.ks-reader-map-open .ks-sutta-app-map-popover {
  position: fixed !important;
  left: calc(var(--ks-app-sidebar-width) + var(--ks-app-rail-width) + 12px) !important;
  top: 68px !important;
  z-index: var(--ks-layer-popover, 1000300) !important;
  width: min(410px, calc(100vw - var(--ks-app-sidebar-width) - var(--ks-app-rail-width) - 36px)) !important;
  max-height: calc(100vh - 96px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(109,91,56,.16) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.992) !important;
  box-shadow: 0 22px 58px rgba(42,33,12,.14) !important;
  color: #3f3a35 !important;
}
.ks-sutta-app-map-popover[hidden] {
  display: none !important;
}
.ks-sutta-app-map-popover-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid rgba(109,91,56,.11) !important;
  background: rgba(250,248,244,.78) !important;
}
.ks-sutta-app-map-popover-head strong {
  color: #3f3a35 !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.ks-sutta-app-map-popover-head button {
  width: 28px !important;
  height: 28px !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #6a635b !important;
  cursor: pointer !important;
  line-height: 1 !important;
}
.ks-sutta-app-map-popover-body {
  max-height: calc(100vh - 150px) !important;
  overflow: auto !important;
  padding: 14px !important;
}
.ks-sutta-app-map-popover-body button {
  min-height: 30px !important;
  margin: 0 5px 6px 0 !important;
  padding: 6px 10px !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #625b53 !important;
  font: inherit !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  cursor: pointer !important;
}
.ks-sutta-app-map-popover-body button:hover,
.ks-sutta-app-map-popover-body button:focus-visible {
  border-color: var(--ks-color-gold) !important;
  outline: none !important;
}
.ks-sutta-app-map-popover-fallback li {
  margin: 0 0 7px !important;
  color: #625b53 !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.45 !important;
}

body.ks-reader-map-open .ks-sutta-app-rail button.is-active {
  border-color: var(--ks-color-gold) !important;
  background: rgba(218,165,32,.12) !important;
  color: #3f3a35 !important;
}

/* 6.8.319 — Ayuda y Ajustes/Opciones pasan a paneles propios de la Sutta App.
   El dock flotante D3 queda como fallback interno,
pero el contenido visible del
   rail lateral ya no depende de copiar paneles nativos ocultos. */
.ks-sutta-app-map-help,
.ks-sutta-app-map-options {
  display: grid !important;
  gap: 13px !important;
  color: #4b443b !important;
}
.ks-sutta-app-map-help p {
  margin: 0 !important;
  color: #625b53 !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.45 !important;
}
.ks-sutta-app-map-help-grid {
  display: grid !important;
  gap: 8px !important;
}
.ks-sutta-app-map-help-grid div {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: baseline !important;
  padding: 8px 9px !important;
  border: 1px solid var(--ks-color-line-soft) !important;
  border-radius: var(--ks-radius-panel) !important;
  background: rgba(250,248,244,.64) !important;
}
.ks-sutta-app-map-help-grid strong {
  color: #8a6d3b !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.ks-sutta-app-map-help-grid span {
  color: #5f584f !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.35 !important;
}
.ks-sutta-app-map-options section {
  padding: 0 0 14px !important;
  border-bottom: 0 !important;
}
.ks-sutta-app-map-options section:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}
.ks-sutta-app-map-options h4 {
  margin: 0 0 8px !important;
  color: rgba(95,88,79,.70) !important;
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}
.ks-sutta-app-map-option-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.ks-sutta-app-map-popover-body .ks-sutta-app-map-option-row button,
.ks-sutta-app-map-popover-body .ks-sutta-app-map-options button {
  min-height: 30px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(109,91,56,.16) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #625b53 !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-map-popover-body .ks-sutta-app-map-options button.is-current,
.ks-sutta-app-map-popover-body .ks-sutta-app-map-options button[aria-pressed="true"] {
  border-color: var(--ks-color-gold) !important;
  background: rgba(218,165,32,.12) !important;
  color: #3f3a35 !important;
}

.ks-sutta-app-map-rotation-readout {
  display: inline-flex !important;
  min-width: 56px !important;
  padding: 7px 11px !important;
  border-radius: var(--ks-radius-pill) !important;
  background: rgba(138,109,59,.08) !important;
  color: #4b443b !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 700 !important;
}

/* 6.8.320 — bloqueo: recuperar scroll del lector y hacer que los paneles
   Biblioteca/Ayuda/Ajustes del rail sean propios de la Sutta App. No toca el
   render PHP del lector ni el core visual D3. */
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout {
  grid-template-rows: minmax(0, 1fr) !important;

}
body.ks-sutta-app-standalone .ks-sutta-app-reader,
body.ks-sutta-app-standalone .ks-sutta-app.has-reader-open .ks-sutta-app-reader {
  align-self: stretch !important;
  min-height: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}
body.ks-sutta-app-standalone .ks-sutta-app-reader .ks-sutta-app-native-reader,
body.ks-sutta-app-standalone .ks-sutta-app-reader .kp-sutta-page {
  min-height: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app-reader {
  overflow-y: auto !important;
}

.ks-sutta-app-map-popover:not([hidden]) {
  position: fixed !important;


  z-index: var(--ks-layer-popover, 1000300) !important;
  display: block !important;

  max-height: calc(100vh - 96px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(109,91,56,.16) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.992) !important;
  box-shadow: 0 22px 58px rgba(42,33,12,.14) !important;
  color: #3f3a35 !important;
}

/* 6.8.322 — reader-view experimental guard. Only active with ?reader=new / ?reader=diff for admins. */
.kp-reader-view-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  margin: 10px 0 0;
  padding: 5px 9px;
  border: 1px solid rgba(166, 127, 58, .28);
  border-radius: var(--ks-radius-pill);
  background: rgba(166, 127, 58, .08);
  font-size: calc(11px + var(--ks-mobile-type-step, 0px));
  letter-spacing: .02em;
  color: rgba(58, 43, 25, .78);
}
.ks-reader-view-diff {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  width: 100%;
}
.ks-reader-view-diff-panel {
  min-width: 0;
  border: 1px solid rgba(58, 43, 25, .12);
  background: var(--ks-color-surface);
}
.ks-reader-view-diff-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(58, 43, 25, .12);
  background: var(--ks-color-surface);
  font-size: calc(11px + var(--ks-mobile-type-step, 0px));
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(58, 43, 25, .68);
}
.ks-reader-view-diff-panel .kp-sutta-page {
  min-height: auto;
}

@media (max-width: 1180px) {
  .ks-reader-view-diff { grid-template-columns: 1fr; }
}

/* 6.8.326 — bloqueo: el lector integrado debe poder desplazarse con rueda.
   Mantiene el body/shell fijo,
pero el panel de lectura queda como el único
   contenedor vertical scrollable cuando el cursor está sobre el sutta. */
body.ks-sutta-app-standalone .ks-sutta-app-reader,
body.ks-sutta-app-standalone .ks-sutta-app.has-reader-open .ks-sutta-app-reader {
  touch-action: pan-y !important;
  overscroll-behavior-y: contain !important;
  scroll-behavior: auto !important;
}
body.ks-sutta-app-standalone .ks-sutta-app-reader * {
  overscroll-behavior: auto;
}

/* 6.8.328 — contrato de scroll separado: menú y lector son dos contenedores
   independientes dentro de la shell /sutta/*. No cambia el visual del lector;
   solo fija el ownership del desplazamiento en la app pública. */
html body.ks-sutta-app-standalone,
body.ks-sutta-app-standalone {
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  overflow: hidden !important;
}
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  overflow: hidden !important;
}
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout {
  min-height: 0 !important;
  overflow: hidden !important;
}


body.ks-sutta-app-standalone .ks-sutta-app-search,
body.ks-sutta-app-standalone .ks-sutta-app-panel {
  flex: 0 0 auto !important;
}
body.ks-sutta-app-standalone .ks-sutta-app-tree {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  -webkit-overflow-scrolling: touch !important;
}
body.ks-sutta-app-standalone .ks-sutta-app-reader {
  display: block !important;
  min-height: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-gutter: stable !important;
}
body.ks-sutta-app-standalone .ks-sutta-app-reader > .ks-sutta-app-native-reader,
body.ks-sutta-app-standalone .ks-sutta-app-reader .kp-sutta-page,
body.ks-sutta-app-standalone .ks-sutta-app-reader .ks-reader-view-diff {
  min-height: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}


/* 6.8.341 — tarjeta lateral completa: no recortar contenido de ficha; si excede,
el panel lateral conserva scroll propio. No toca datos ni mapa. */
.ks-sutta-app-panel {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}


/* 6.8.342 — tarjeta lateral completa y scroll de sidebar sin recorte.
   No cambia el contrato del lector; sólo elimina el clipping acumulado de la
   ficha/preview dentro de la Sutta App. */



/* 6.8.343 — ficha completa y por encima del árbol: el panel debe contener
   toda la tarjeta; si excede,
el scroll pertenece al sidebar,
no al árbol. */



.ks-sutta-app-preview-card .ks-hub-card-title,
.ks-sutta-app-preview-card .ks-hub-card-meta,
.ks-sutta-app-preview-card .ks-hub-card-summary {
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}
.ks-sutta-app-preview-data dd {
  white-space: normal !important;
  line-height: 1.2 !important;
}
.ks-sutta-app-tree {
  position: relative !important;
  z-index: 0 !important;
}
.ks-sutta-app-panel {
  position: relative !important;
  z-index: 1 !important;
}
.ks-sutta-app-reader .kp-view-controls,
.ks-sutta-app-reader .kp-version-control,
.ks-sutta-app-reader .kp-publication-control {
  position: relative !important;
  z-index: var(--ks-layer-controls, 1000100) !important;
}
.ks-sutta-app-reader .kp-view-controls {
  box-sizing: border-box !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(calc(100vw - 40px), 1000px) !important;
  max-width: 1000px !important;
  min-width: 0 !important;
}


/* 6.8.344 — ajuste de capa UI app: ficha,
buscador y controles sin tocar datos. */
.ks-sutta-app-meta {
  display: none !important;
}

.ks-sutta-app-panel + .ks-sutta-app-search {
  margin: 14px 0 16px !important;
  padding: 0 2px !important;
}
.ks-sutta-app-card-field-area { grid-area: area !important; }
.ks-sutta-app-card-field-topics { grid-area: topics !important; }
.ks-sutta-app-card-field-languages { grid-area: languages !important; }
.ks-sutta-app-reader .kp-view-controls {
  --kp-control-accent: var(--ks-color-accent) !important;
}
.ks-sutta-app-reader .kp-view-controls .kp-mode-btn.active,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle.is-active,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle[aria-pressed="true"],
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle[aria-expanded="true"] {
  background: var(--kp-control-accent) !important;
  border-color: var(--kp-control-accent) !important;
  color: var(--ks-color-surface) !important;
}
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle:hover,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle:focus-visible,
.ks-sutta-app-reader .kp-view-controls .kp-mode-btn:hover,
.ks-sutta-app-reader .kp-view-controls .kp-mode-btn:focus-visible {
  border-color: var(--kp-control-accent) !important;
  color: var(--kp-control-accent) !important;
}
.ks-sutta-app-reader .kp-view-controls .kp-mode-btn.active:hover,
.ks-sutta-app-reader .kp-view-controls .kp-mode-btn.active:focus-visible,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle.is-active:hover,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle.is-active:focus-visible,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle[aria-pressed="true"]:hover,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle[aria-pressed="true"]:focus-visible,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle[aria-expanded="true"]:hover,
.ks-sutta-app-reader .kp-view-controls .kp-icon-toggle[aria-expanded="true"]:focus-visible {
  color: var(--ks-color-surface) !important;
}
.ks-sutta-app-reader .kp-reader-floating-panel.kp-version-menu,
.ks-sutta-app-reader .kp-reader-floating-panel.kp-publication-panel {
  position: fixed !important;
  left: var(--kp-panel-left, 16px) !important;
  top: var(--kp-panel-top, 64px) !important;
  right: auto !important;
  bottom: auto !important;

}


/* 6.8.345 — contrato limpio de sidebar/app.
   Mantiene datos y lector intactos: sólo fija capas,
scroll único del menú y
   estados visuales de árbol/ficha. El árbol deja de tener scroll propio; el
   scroll pertenece al sidebar completo para que ficha,
buscador y árbol formen
   una columna única. */


.ks-sutta-app-preview,
.ks-sutta-app-preview-card.ks-hub-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.ks-sutta-app-panel + .ks-sutta-app-search,
.ks-sutta-app-search {
  position: relative !important;
  z-index: 4 !important;
  margin: 18px 0 18px !important;
  padding: 16px 0 18px !important;
  border-top: 1px solid rgba(109,91,56,.12) !important;
  border-bottom: 1px solid rgba(109,91,56,.12) !important;
  background: transparent !important;
}
.ks-sutta-app-search input {


  border-color: var(--ks-color-line-soft) !important;



}
.ks-sutta-app-tree,
body.ks-sutta-app-standalone .ks-sutta-app-tree {
  position: relative !important;
  z-index: 1 !important;




  overscroll-behavior: auto !important;

}







.ks-sutta-app-reader .kp-reader-floating-panel.kp-version-menu,
.ks-sutta-app-reader .kp-reader-floating-panel.kp-publication-panel {
  max-height: min(var(--kp-panel-max-height, calc(100dvh - var(--kp-panel-top, 72px) - 16px)), var(--kp-panel-height-cap, calc(100dvh - 24px))) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  z-index: var(--ks-layer-popover, 1000300) !important;
}

/* 6.8.346 — cierre UI sidebar: ficha estable,
buscador integrado y árbol con estados limpios.
   Scope cerrado: no toca lector,
builder,
mapa ni normalización semántica. */

.ks-sutta-app-panel {
  margin: 0 0 14px !important;
  height: auto !important;
  min-height: var(--ks-sidebar-card-min) !important;
  max-height: none !important;
  overflow: visible !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.ks-sutta-app-preview {
  min-height: var(--ks-sidebar-card-min) !important;
  overflow: visible !important;
}
.ks-sutta-app .ks-sutta-app-progress-actions {
  flex: 0 0 auto !important;


}



.ks-sutta-app-search input {
  width: 100% !important;





  color: var(--ks-app-text) !important;

}
.ks-sutta-app-search input:focus {
  border-color: rgba(138,109,59,.34) !important;
  box-shadow: 0 12px 32px rgba(42,33,12,.055), 0 0 0 3px rgba(138,109,59,.075) !important;
  outline: none !important;
}
.ks-sutta-app-filter-toggle {







  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font: inherit !important;
  font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1 !important;
  cursor: default !important;

}

.ks-sutta-app-search-status {
  grid-column: 1 / -1 !important;
}
.ks-sutta-app-tree {
  font-size: calc(var(--ks-tree-text-size) + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.35 !important;
  border-radius: 18px !important;
  overflow: visible !important;
}













/* 6.8.347 — corrección limpia del cierre de sidebar 6.8.346.
   Scope: sólo menú izquierdo. Restaura scroll único real,
compacta la ficha,
deja el buscador legible con icono de filtro reconocible y normaliza el árbol
   a una sola escala tipográfica. No toca lector,
mapa,
builder ni datos. */


body.ks-sutta-app-standalone .ks-sutta-app-panel,
body.ks-sutta-app-standalone .ks-sutta-app-search,
body.ks-sutta-app-standalone .ks-sutta-app-tree,
.ks-sutta-app-panel,
.ks-sutta-app-search,
.ks-sutta-app-tree {
  flex: none !important;
  width: 100% !important;
  max-width: none !important;
}
.ks-sutta-app-panel,
.ks-sutta-app-preview {
  margin: 0 0 14px !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.ks-sutta-app .ks-sutta-app-progress-actions {
  margin-top: 12px !important;
  padding-top: 12px !important;
  gap: 7px !important;

}

.ks-sutta-app-search {
  margin: 14px 0 14px !important;
  padding: 12px 0 14px !important;
  border-top: 1px solid var(--ks-color-line-soft) !important;
  border-bottom: 1px solid var(--ks-color-line-soft) !important;
  background: transparent !important;
}
.ks-sutta-app-search-row {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 46px !important;
  gap: 9px !important;
  align-items: center !important;
}
.ks-sutta-app-search input {
  min-height: 46px !important;
  padding: 9px 15px !important;
  border: 1px solid rgba(109,91,56,.20) !important;
  border-radius: 17px !important;
  background: var(--ks-color-surface) !important;
  box-shadow: 0 8px 22px rgba(42,33,12,.035), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.ks-sutta-app-filter-toggle {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border: 1px solid rgba(109,91,56,.22) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: rgba(68,61,53,.66) !important;
  box-shadow: 0 8px 22px rgba(42,33,12,.035) !important;
}
.ks-sutta-app-filter-icon {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
}
.ks-sutta-app-filter-toggle[aria-pressed="true"],
.ks-sutta-app-filter-toggle.is-active {
  background: var(--ks-color-accent) !important;
  border-color: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
}
.ks-sutta-app-tree,
body.ks-sutta-app-standalone .ks-sutta-app-tree {
  height: auto !important;
  min-height: 260px !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 80px !important;


}













/* 6.8.348 — estabilización sin parches semánticos.
   Scope: pestaña del navegador,
paneles del lector,
tarjeta/sidebar y pesos del árbol.
   No toca builder,
mapa,
lector ni normalización de datos. */
.ks-sutta-app-reader .kp-version-control,
.ks-sutta-app-reader .kp-publication-control {
  position: relative !important;
}
.ks-sutta-app-reader .kp-version-menu:not(.kp-reader-floating-panel):not([hidden]),
.ks-sutta-app-reader .kp-publication-panel:not(.kp-reader-floating-panel):not([hidden]) {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  z-index: var(--ks-layer-popover, 1000300) !important;
}
.ks-sutta-app-reader .kp-reader-floating-panel.kp-version-menu,
.ks-sutta-app-reader .kp-reader-floating-panel.kp-publication-panel {
  box-sizing: border-box !important;
  position: fixed !important;
  left: var(--kp-panel-left, 16px) !important;
  top: var(--kp-panel-top, 64px) !important;
  right: auto !important;
  bottom: auto !important;
  max-width: var(--kp-panel-max-width, calc(100dvw - 24px)) !important;
  max-height: min(var(--kp-panel-max-height, calc(100dvh - 24px)), var(--kp-panel-height-cap, calc(100dvh - 24px))) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  z-index: var(--ks-layer-popover, 1000300) !important;
}
.ks-sutta-app-reader .kp-version-menu:not([hidden]),
.ks-sutta-app-reader .kp-reader-floating-panel.kp-version-menu {
  width: max-content !important;
  min-width: 220px !important;
  max-width: min(330px, calc(100vw - 32px)) !important;
}
.ks-sutta-app-reader .kp-publication-panel:not([hidden]),
.ks-sutta-app-reader .kp-reader-floating-panel.kp-publication-panel {
  --kp-panel-height-cap: min(68dvh, 560px);
  width: min(560px, calc(100vw - 32px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  pointer-events: auto !important;
  scroll-behavior: auto !important;
  overflow-anchor: none;
}
.ks-sutta-app-reader .kp-version-menu-title {
  padding: 4px 8px 9px !important;
  color: #746b61 !important;
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 500 !important;
}
.ks-sutta-app-reader .kp-version-option {
  min-height: 38px !important;
  gap: 9px !important;
  padding: 8px 9px !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-reader .kp-version-option > .kp-version-label {
  letter-spacing: .005em !important;
}
.ks-sutta-app-reader .kp-version-dot {
  flex: 0 0 14px !important;
  width: 14px !important;
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
}

.ks-sutta-app-panel,
.ks-sutta-app-preview,
.ks-sutta-app-preview-card,
.ks-sutta-app .ks-sutta-app-progress-actions {
  max-height: none !important;
  overflow: visible !important;
  clip-path: none !important;
  contain: none !important;
}
.ks-sutta-app-preview {
  flex: 0 0 auto !important;
}
.ks-sutta-app .ks-sutta-app-progress-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

.ks-sutta-app-tree,
body.ks-sutta-app-standalone .ks-sutta-app-tree {
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.36 !important;
}










/* 6.8.359 — Sutta App Sidebar v2 limpio.
   Autoridad única para sidebar/card/search/tree. Esta sección sustituye las reglas
   acumuladas 6.8.357/6.8.358 que mezclaban ficha,
D3/HUB y preview antiguo.
   Alcance: solo menú izquierdo. No normaliza datos ni modifica lector/mapa. */
.ks-sutta-app {
  --ks-sidebar-surface: var(--ks-color-surface);
  --ks-sidebar-ink: var(--ks-color-text);
  --ks-sidebar-muted: rgba(79,73,66,.62);
  --ks-sidebar-soft: rgba(138,109,59,.065);
  --ks-sidebar-preview: rgba(138,109,59,.105);
  --ks-sidebar-active: rgba(214,162,20,.18);
  --ks-sidebar-border: rgba(109,91,56,.15);
  --ks-sidebar-border-soft: var(--ks-color-line-soft);
  --ks-sidebar-olive: var(--kp-control-accent, var(--ks-color-accent));
  --ks-sidebar-tree-text: var(--ks-color-text);
  --ks-sidebar-tree-size: 14px;
  --ks-sidebar-card-search-gap: 14px;
}

/* SIDEBAR: una sola columna y un solo scroll. */
body.ks-sutta-app-standalone .ks-sutta-sidebar,
.ks-sutta-app .ks-sutta-sidebar {
  box-sizing: border-box !important;
  /* Canonical layer host: this is the real sidebar class emitted by PHP.
     A positioned context here prevents child popovers from competing from a
     lower search-region context with reader controls outside the sidebar. */
  position: relative !important;
  z-index: var(--ks-layer-sidebar, 1000175) !important;
  isolation: isolate !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: var(--ks-app-sidebar-width, 408px) !important;
  min-width: 0 !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--ks-sidebar-surface) !important;
  border-right: 1px solid var(--ks-sidebar-border-soft) !important;
  box-shadow: 10px 0 34px rgba(53,53,53,.035) !important;
}
body.ks-sutta-app-standalone .ks-sutta-sidebar-scroll,
.ks-sutta-app .ks-sutta-sidebar-scroll {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px 12px 72px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-gutter: auto !important;
}
.ks-sutta-sidebar-brand {
  flex: 0 0 auto !important;




  min-width: 0 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}
.ks-sutta-sidebar-home-link,
.ks-sutta-sidebar-home-link:visited {
  display: inline-flex !important;
  align-items: center !important;

  padding: 8px 12px !important;
  border: 1px solid rgba(138,109,59,.18) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;




  text-decoration: none !important;
  text-transform: uppercase !important;
}
.ks-sutta-sidebar-meta {
  min-width: 0 !important;
  color: rgba(53,53,53,.52) !important;
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .05em !important;
  line-height: 1.25 !important;
  text-align: right !important;
  text-transform: uppercase !important;
}

/* CARD: componente propio,
sin D3/HUB,
crece por contenido y empuja el buscador. */
.ks-sutta-sidebar-card-slot,
.ks-sutta-sidebar-card-preview {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  position: static !important;
  z-index: auto !important;
  contain: none !important;
  clip-path: none !important;
  transform: none !important;
}
.ks-sutta-sidebar-card-slot {
  flex: 0 0 auto !important;
  margin-bottom: var(--ks-sidebar-card-search-gap, 14px) !important;
}
.ks-sutta-card,
.ks-sutta-sidebar-card {
  box-sizing: border-box !important;
}
.ks-sutta-sidebar-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 352px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  overflow: visible !important;
  position: static !important;
  z-index: auto !important;
  contain: none !important;
  clip-path: none !important;
  transform: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #4f4941 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: default !important;
}
.ks-sutta-sidebar-card:hover,
.ks-sutta-sidebar-card:focus-visible {
  background: transparent !important;
  outline: none !important;
}
.ks-sutta-card-header {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ks-sutta-card-kicker {
  margin: 0 0 9px !important;
  color: rgba(95,88,79,.52) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .11em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
.ks-sutta-sidebar-card .ks-sutta-card-title {
  display: block !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #333 !important;
  font-size: calc(17px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: italic !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
}
.ks-sutta-sidebar-card.ks-sutta-card--section .ks-sutta-card-title,
.ks-sutta-sidebar-card.ks-sutta-card--empty .ks-sutta-card-title {
  font-style: normal !important;
}
.ks-sutta-card-title-type {
  display: inline-block !important;
  margin-left: .46em !important;
  color: rgba(57,57,57,.34) !important;
  font-size: calc(.82em + 1px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
  vertical-align: baseline !important;
}
.ks-sutta-card-root-title {
  display: flex !important;
  align-items: baseline !important;
  min-width: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: rgba(75,75,75,.50) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: italic !important;
  line-height: 1.34 !important;
}
.ks-sutta-card-root-title-text {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
.ks-sutta-card-meta-sep {
  color: rgba(75,75,75,.28) !important;
}
.ks-sutta-card-ref {
  color: var(--ks-sidebar-olive) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
.ks-sutta-card-blurb {
  flex: 0 0 auto !important;
  display: block !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  color: #4d4d4d !important;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.54 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: initial !important;
  line-clamp: initial !important;
}
.ks-sutta-card-spacer {
  flex: 1 1 auto !important;
  min-height: 14px !important;
}
.ks-sutta-sidebar-card.has-summary .ks-sutta-card-spacer {
  min-height: 4px !important;
}
.ks-sutta-card-divider {
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  border-top: 1px solid var(--ks-sidebar-border-soft) !important;
}
.ks-sutta-card-meta {
  flex: 0 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 6px 0 0 !important;
  overflow: visible !important;
}
.ks-sutta-card-meta-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-areas: "area topics" "languages languages" !important;
  gap: 5px 14px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ks-sutta-card-meta-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  min-width: 0 !important;
}
.ks-sutta-card-meta-item--area { grid-area: area !important; }
.ks-sutta-card-meta-item--topics { grid-area: topics !important; }
.ks-sutta-card-meta-item--languages { grid-area: languages !important; }
.ks-sutta-card-meta-label {
  display: block !important;
  margin: 0 !important;
  color: rgba(75,75,75,.42) !important;
  font-size: calc(9.5px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .06em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
.ks-sutta-card-meta-value {
  display: block !important;
  margin: 0 !important;
  color: #6a6258 !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 520 !important;
  line-height: 1.16 !important;
  overflow-wrap: anywhere !important;
}
.ks-sutta-card-actions,
.ks-sutta-card-section-actions,
.ks-sutta-card-personal-actions {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 8px 0 0 !important;
  padding: 8px 0 0 !important;
  overflow: visible !important;
  position: static !important;
  z-index: auto !important;
  border-top: 1px solid var(--ks-sidebar-border-soft) !important;
}
.ks-sutta-card-actions button,
.ks-sutta-card-section-actions button,
.ks-sutta-card-personal-actions button {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 32px !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(120,114,106,.28) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #686158 !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.ks-sutta-card-actions button:hover,
.ks-sutta-card-actions button:focus-visible,
.ks-sutta-card-section-actions button:hover,
.ks-sutta-card-section-actions button:focus-visible,
.ks-sutta-card-personal-actions button:hover,
.ks-sutta-card-personal-actions button:focus-visible {
  border-color: var(--ks-sidebar-olive) !important;
  color: var(--ks-sidebar-olive) !important;
  outline: none !important;
}
.ks-sutta-card-actions button[aria-pressed="true"],
.ks-sutta-card-section-actions button[aria-pressed="true"],
.ks-sutta-card-personal-actions button[aria-pressed="true"] {
  border-color: rgba(120,114,106,.28) !important;
  background: var(--ks-color-surface) !important;
  color: #686158 !important;
}
.ks-sutta-card-link,
.ks-sutta-card-link:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 6px 11px !important;
  border: 1px solid rgba(140,134,48,.22) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: rgba(140,134,48,.07) !important;
  color: var(--ks-sidebar-olive) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.ks-sutta-card-children-title,
.ks-sutta-card-complete-badge {
  color: var(--ks-sidebar-muted) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.35 !important;
}

/* SEARCH: bajo la ficha,
sin solape,
con resultados propios. */
.ks-sutta-sidebar-search {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 15px !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: var(--ks-layer-sticky, 1000010) !important;
  contain: none !important;
  clip-path: none !important;
  transform: none !important;
  border: 0 !important;
  background: transparent !important;
}
.ks-sutta-sidebar-search-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 8px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}
.ks-sutta-sidebar-search input[type="search"][data-ks-sutta-app-search] {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: calc(40px + var(--ks-mobile-control-step, 0px)) !important;
  margin: 0 !important;
  padding: 9px 13px !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: 14px !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-sidebar-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 18px rgba(42,33,12,.035) !important;
  font: inherit !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.2 !important;
  outline: none !important;
}
.ks-sutta-sidebar-search input[type="search"][data-ks-sutta-app-search]:focus {
  border-color: rgba(140,134,48,.42) !important;
  box-shadow: 0 0 0 3px rgba(140,134,48,.10), inset 0 1px 0 rgba(255,255,255,.85) !important;
}
.ks-sutta-sidebar-filter-toggle,
.ks-sutta-sidebar-library-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ks-color-accent) !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--ks-color-accent) 5%, var(--ks-color-surface)) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
/* Filter and library share one toggle-state contract. */
.ks-sutta-sidebar-filter-toggle:hover,
.ks-sutta-sidebar-filter-toggle:focus-visible,
.ks-sutta-sidebar-library-toggle:hover,
.ks-sutta-sidebar-library-toggle:focus-visible,
.ks-sutta-sidebar-filter-toggle[aria-pressed="true"],
.ks-sutta-sidebar-library-toggle[aria-pressed="true"],
.ks-sutta-sidebar-filter-toggle[aria-expanded="true"],
.ks-sutta-sidebar-library-toggle[aria-expanded="true"],
.ks-sutta-sidebar-filter-toggle.is-active,
.ks-sutta-sidebar-library-toggle.is-active {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  outline: none !important;
}
.ks-sutta-sidebar-filter-icon {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
}
.ks-sutta-sidebar-library-toggle .ks-library-book-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 17px !important;
  height: 17px !important;
}
.ks-sutta-sidebar-library-toggle .ks-library-book-icon svg {
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
/* 6.8.466 — panel de filtros lateral persistente,
fuera del árbol. */
.ks-sutta-sidebar-filter-popover {
  box-sizing: border-box !important;
  position: fixed !important;
  left: var(--ks-filter-panel-left, calc(var(--ks-app-sidebar-width, 458px) + 12px)) !important;
  top: var(--ks-filter-panel-top, 96px) !important;
  right: auto !important;
  z-index: var(--ks-layer-popover, 1000300) !important;

  max-width: calc(100vw - 20px) !important;
  max-height: var(--ks-filter-panel-max-height, calc(100dvh - 108px)) !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  border: 1px solid var(--ks-color-line-subtle) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.99) !important;
  box-shadow: 0 18px 38px rgba(54,45,30,.13) !important;
}
.ks-sutta-sidebar-filter-popover.is-filter-docked {
  border-left-color: rgba(140,134,48,.32) !important;
}
@media (max-width: 859px) {
  .ks-sutta-sidebar-filter-popover {
    border-radius: var(--ks-radius-panel) !important;
    box-shadow: 0 18px 38px rgba(54,45,30,.16) !important;
  }
}
.ks-sutta-sidebar-filter-popover[hidden] {
  display: none !important;
}
/* 6.8.465 — filtros activos visibles fuera del popover. */
.ks-sutta-active-filter-chips {
  display: block !important;
  margin: 7px 0 0 !important;
}
.ks-sutta-active-filter-chips[hidden] {
  display: none !important;
}
.ks-sutta-active-filter-chip-list {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}
.ks-sutta-active-filter-chip-list > button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 24px !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(140,134,48,.34) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: rgba(140,134,48,.075) !important;
  color: #5d5828 !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.1 !important;
  cursor: pointer !important;
}
.ks-sutta-active-filter-chip-list > button span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ks-sutta-active-filter-chip-list > button b {
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}
.ks-sutta-active-filter-chip-list > button:hover,
.ks-sutta-active-filter-chip-list > button:focus-visible {
  border-color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  background: rgba(140,134,48,.12) !important;
  outline: none !important;
}
/* Acción textual canónica de los paneles. Filtros y selectores transitorios
   comparten la misma autoridad visual; cada componente define solo geometría. */
.ks-sutta-panel-text-action,
.ks-sutta-app-list-picker-create [data-ks-list-picker-create],
.ks-sutta-filter-clear-action {
  border: 0 !important;
  background: transparent !important;
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  font: inherit !important;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color .16s ease, color .16s ease, opacity .16s ease !important;
}
.ks-sutta-filter-clear-action {
  opacity: .82 !important;
}
.ks-sutta-panel-text-action:hover,
.ks-sutta-panel-text-action:focus-visible,
.ks-sutta-app-list-picker-create [data-ks-list-picker-create]:hover,
.ks-sutta-app-list-picker-create [data-ks-list-picker-create]:focus-visible,
.ks-sutta-filter-clear-action:hover,
.ks-sutta-filter-clear-action:focus-visible {
  border: 0 !important;
  background: rgba(140,134,48,.065) !important;
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  opacity: 1 !important;
  outline: none !important;
}
.ks-sutta-active-filter-chip-list > .ks-sutta-active-filter-clear {
  min-height: 25px !important;
  padding: 4px 7px !important;
}
.ks-sutta-sidebar-filter-toggle.has-filters::after {
  content: attr(data-ks-active-filter-count) !important;
  position: absolute !important;
  top: auto !important;
  right: -5px !important;
  bottom: -9px !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border: 2px solid var(--ks-color-surface) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  color: var(--ks-color-surface) !important;
  font-size: calc(9.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
.ks-sutta-sidebar-filter-toggle {
  position: relative !important;
}
.ks-sutta-filter-loading {
  padding: 18px !important;
  color: var(--ks-sidebar-muted, #99938d) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-panel {
  display: grid !important;
  gap: 0 !important;

  color: var(--ks-color-text) !important;
  font-family: "Noto Sans", sans-serif !important;
}
.ks-sutta-filter-panel > header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 0 14px !important;
  border-bottom: 0 !important;
}
.ks-sutta-filter-panel-heading {
  display: flex !important;
  align-items: baseline !important;
  gap: 9px !important;
  min-width: 0 !important;
}
.ks-sutta-filter-panel h4,
.ks-sutta-filter-panel fieldset,
.ks-sutta-filter-panel legend {
  margin: 0 !important;
}
.ks-sutta-filter-panel h4 {
  color: var(--ks-color-ink) !important;

  font-weight: 680 !important;
  line-height: 1.2 !important;
}
.ks-sutta-filter-panel > header span {
  color: var(--ks-sidebar-muted, #99938d) !important;

}
.ks-sutta-filter-panel > header span strong {
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  font-weight: 700 !important;
}
.ks-sutta-filter-panel-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  flex: 0 0 auto !important;
}
.ks-sutta-filter-panel-actions > button,
.ks-sutta-tree-filter-summary button,
.ks-sutta-tree-filter-empty button {
  padding: 0 !important;
  border: 0 !important;
  font: inherit !important;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  cursor: pointer !important;
}
.ks-sutta-filter-panel-heading > .ks-sutta-filter-clear-action,
.ks-sutta-tree-filter-summary .ks-sutta-filter-clear-action,
.ks-sutta-tree-filter-empty .ks-sutta-filter-clear-action {
  padding: 3px 5px !important;
}
.ks-sutta-filter-panel-heading > .ks-sutta-filter-clear-action {
  flex: 0 0 auto !important;
  margin-inline-start: 1px !important;
  border-radius: 6px !important;
  line-height: 1.2 !important;
}
.ks-sutta-filter-panel-heading > .ks-sutta-filter-clear-action[hidden] {
  display: none !important;
}
/* Cierre canónico compartido por Filtros y Mi Biblioteca. */
.ks-sutta-app .ks-sutta-panel-close {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ks-color-line-subtle) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #8b8580 !important;
  font: inherit !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ks-sutta-app .ks-sutta-panel-close:hover,
.ks-sutta-app .ks-sutta-panel-close:focus-visible {
  border-color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  outline: none !important;
}

.ks-sutta-filter-panel fieldset,
.ks-sutta-filter-facet {
  margin: 0 0 8px !important;

  border: 1px solid rgba(109,91,56,.08) !important;

  background: rgba(255,255,255,.58) !important;
}
.ks-sutta-filter-panel fieldset:last-of-type,
.ks-sutta-filter-facet:last-of-type { margin-bottom: 0 !important; }
.ks-sutta-filter-panel legend,
.ks-sutta-filter-facet > summary {
  color: #6a635b !important;

  font-weight: 700 !important;
  letter-spacing: .055em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
.ks-sutta-filter-facet > summary {
  display: grid !important;
  grid-template-columns: auto auto minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
  margin: -6px -7px !important;


  cursor: pointer !important;
  list-style: none !important;
  transition: color .16s ease, background-color .16s ease !important;
}
.ks-sutta-filter-facet > summary:hover,
.ks-sutta-filter-facet > summary:focus-visible {
  background: rgba(140,134,48,.08) !important;
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  outline: none !important;
}
.ks-sutta-filter-facet > summary::-webkit-details-marker { display: none !important; }
.ks-sutta-filter-facet > summary::after {
  content: "›" !important;
  grid-column: 4 !important;
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;

  font-weight: 400 !important;
  transform: rotate(90deg) !important;
  transition: transform .16s ease !important;
}
.ks-sutta-filter-facet[open] > summary::after { transform: rotate(-90deg) !important; }
.ks-sutta-filter-facet > summary small {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;


  padding: 0 4px !important;
  border-radius: var(--ks-radius-pill) !important;
  background: rgba(140,134,48,.10) !important;
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;

}
.ks-sutta-filter-facet > summary > span { grid-column: 1 !important; }
.ks-sutta-filter-facet > summary > small { grid-column: 2 !important; }
.ks-sutta-filter-facet > summary > em {
  grid-column: 3 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: rgba(98,91,84,.68) !important;

  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.ks-sutta-filter-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding-top: 9px !important;
}
.ks-sutta-filter-options button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;

  max-width: 100% !important;

  border: 1px solid rgba(109,91,56,.15) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #625b54 !important;
  box-shadow: none !important;
  font: inherit !important;

  line-height: 1.1 !important;
  cursor: pointer !important;
}
.ks-sutta-filter-options button span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ks-sutta-filter-options button small {
  color: rgba(98,91,84,.52) !important;

}
.ks-sutta-filter-options button:hover,
.ks-sutta-filter-options button:focus-visible,
.ks-sutta-filter-options button.is-current,
.ks-sutta-filter-options button[aria-pressed="true"] {
  border-color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  outline: none !important;
}
.ks-sutta-filter-options button.is-current,
.ks-sutta-filter-options button[aria-pressed="true"] {
  background: rgba(140,134,48,.105) !important;
  color: #4a461f !important;
}
.ks-sutta-filter-options button.is-current small,
.ks-sutta-filter-options button[aria-pressed="true"] small {
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
}
.ks-sutta-filter-options button:disabled {
  border-color: rgba(109,91,56,.08) !important;
  background: rgba(109,91,56,.025) !important;
  color: rgba(98,91,84,.38) !important;
  cursor: default !important;
}
.ks-sutta-filter-options button:disabled small {
  color: rgba(98,91,84,.28) !important;
}
.ks-sutta-filter-options.is-facets {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 3px !important;
  padding-top: 8px !important;
}
.ks-sutta-filter-options.is-facets button {
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 32px !important;
  border-radius: 6px !important;
  text-align: left !important;
}
.ks-sutta-filter-options.is-facets button:not(:disabled):hover,
.ks-sutta-filter-options.is-facets button:not(:disabled):focus-visible,
.ks-sutta-filter-options.is-facets button.is-current,
.ks-sutta-filter-options.is-facets button[aria-pressed="true"] {
  border-color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  background: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  color: var(--ks-color-surface) !important;
  outline: none !important;
}
.ks-sutta-filter-options.is-facets button:not(:disabled):hover small,
.ks-sutta-filter-options.is-facets button:not(:disabled):focus-visible small,
.ks-sutta-filter-options.is-facets button.is-current small,
.ks-sutta-filter-options.is-facets button[aria-pressed="true"] small {
  color: rgba(255,255,255,.78) !important;
}
























/* TREE: después del buscador. Mismo tamaño,
color y peso; solo activo enfatiza. */























@media (max-width: 1180px) {






}


/* 6.8.360 — Sutta App Sidebar tree typography hard reset.
   Cierre de cascada: dentro del árbol del sidebar todos los labels comparten
   tamaño/color/peso base. Solo el sutta activo de URL/lector recibe énfasis. */







/* 6.8.361 — Sutta App Sidebar tree isolated typography authority.
   El árbol mantiene las clases históricas para JS,
pero la presentación queda
   gobernada por la clase limpia ks-sutta-sidebar-tree-clean. */















.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn:hover,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row:hover,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row:hover .ks-sutta-tree-clean-link,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn:hover,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row:hover,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row:hover .ks-sutta-tree-clean-link {
  background: rgba(138, 109, 59, .055) !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-preview-selected:not(.is-current-reader),
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-preview-selected:not(.is-current-reader) .ks-sutta-tree-clean-link,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-preview-selected:not(.is-current-reader),
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-preview-selected:not(.is-current-reader) .ks-sutta-tree-clean-link {
  background: rgba(138, 109, 59, .085) !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-link,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-link {
  background: rgba(214, 163, 19, .20) !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-link,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-title,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-link,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-title {
  font-weight: 600 !important;
}














/* 6.8.377 — Búsqueda migrada desde ks_sutta_cards y ficha lateral fija.
   La Sutta App hereda reglas funcionales del hub antiguo,
pero mantiene DOM propio. */





/* 6.8.380 — Inicio de unificación mapa ↔ menú lateral.
   La ficha del sidebar pasa a ser la superficie canónica para sutta/sección
   cuando el mapa está abierto; el dock derecho D3 queda como fallback temporal. */















@media (max-width: 1180px) {

}

/* 6.8.381 — Corrección del primer corte de unificación mapa ↔ menú lateral.
   Menú +10px. La ocultación contextual de tarjeta D3 vive en radial-v2.css para preservar el aislamiento D3. */



/* 6.8.382 — Nikāyas integrados en el rail vertical del mapa.
   Estos botones solo están disponibles cuando el mapa está activo; el rail completo
   permanece oculto fuera de body.ks-reader-map-open / .is-map-open. */






@media (max-height: 760px) and (min-width: 1181px) {




}

/* 6.8.383 — Correcciones modo mapa: popovers anclados al rail,
ruta en ficha,
tarjeta de sección sin scroll interno y botón Salir. */









/* 6.8.384 — Corrección mapa/rail/sección tras validación en vivo.
   Hover de sección sin descendientes se corrige en D3 JS; aquí se estabiliza
   la superficie lateral de sección y el rail completo. */






@media (max-height: 760px) and (min-width: 1181px) {



}

/* 6.8.390 — Rail del mapa transparente y fijo fuera del layout.
   Auditoría: la solución estable no es una columna de grid,
ni una pestaña
   dentro del layout con overflow. El rail debe ser una capa fija de viewport,
transparente salvo los botones,
para no reservar espacio ni tapar el mapa con
   una franja blanca. El mapa ocupa todo el ancho disponible tras el menú. */












@media (max-height: 760px) and (min-width: 1181px) {



}
@media (max-width: 1180px) {




}

@media (min-width: 1181px) {
  /* 6.8.391 — Merge final del rail del mapa sobre la arquitectura real.
     Diagnóstico: 6.8.390 declaraba dos columnas,
pero reglas anteriores más
     específicas para standalone/immersive seguían ganando y reservaban la
     columna técnica del rail. Esta autoridad final iguala esa especificidad:
     el layout del mapa es solo menú + mapa,
y el rail fijo flota dentro del
     plano visual del mapa sin crear corredor entre ambos. */



}

@media (min-width: 1181px) {
  /* 6.8.392 — acabado visual del rail aprobado.
     Mantiene la arquitectura de 6.8.391 y solo cambia la piel de botones:
     blanco opaco,
más aire interno y presencia más redondeada. */





}

@media (min-width: 1181px) {
  /* 6.8.393 — barra profesional y paneles compactos del mapa.
     Mantiene el tamaño de botón de 6.8.392; viste el contenedor completo,
ancla los popovers al botón y cambia los estados de gold a accent. */
































}
/* 6.8.394 final — prioridad sobre los overrides históricos del mapa. */










/* 6.8.395 final-final — gana al bloque 6.8.394 heredado. */
















/* 6.8.396 final — buscador visible,
árbol fuera y controles normalizados. */














/* 6.8.398 — Regiones declarativas del sidebar.
   El árbol de datos puede seguir cargado aunque el navegador visual no participe
   en el layout del modo mapa. */



/* 6.8.470 — Pantalla completa global y aislada de la cuadrícula.
   La app completa entra en fullscreen sin alterar las columnas existentes.
   El mapa conserva su contrato específico; el lector conserva el suyo. */















@media (max-width: 760px) {





}

/* 6.8.403 — Componentes declarativos del sidebar y estilo editorial único. */




















@media (max-width: 390px) {



}
















/* Mi Biblioteca y listas personales — autoridad visual única 6.8.462. */






/* 6.8.569 — retirada la autoridad antigua de gestión de listas; la autoridad única vive al final del archivo. */


















@media (max-width: 680px) {

}

/* 6.8.458 — estados personales estampados y CTAs dorados de la ficha. */












@media (min-width: 1181px) {
  /* 6.8.411 — Autoridad final compacta del rail del mapa.
     Se mantiene centrado y ajustado a su contenido. La corrección consiste en
     anular explícitamente bottom para evitar que top + bottom lo estiren a
     todo el viewport,
y conservar el cálculo responsivo de los 13 controles. */






}

@media (max-width: 1180px) {


}


/* 6.8.418 — autoridad tipográfica única del árbol limpio.
   Todos los niveles conservan 14 px; la jerarquía se expresa solo mediante
   peso,
color y estructura semántica. No existe un reset universal de peso. */









/* 6.8.414 — cierre UI del sidebar: estado de búsqueda estable y acción Mapa. */




/* 6.8.416 — acción primaria Mapa/Leer coherente en ambos modos.
   La ficha usa siempre el CTA tipográfico oliva/dorado,
sin píldora. */



/* 6.8.418 — geometría estable de la ficha y visibilidad garantizada de Idiomas.
   El grid de metadatos reserva dos filas explícitas; Ámbito y Temas se limitan
   a dos líneas y la fila Idiomas nunca puede quedar recortada por overflow. */







/* Autoridad canónica: árbol,
controles de Nikāya y enlaces de tarjetas de sección. */

















/* 6.8.422 — menú general de la app,
ajustes compactos y limpieza visual. */




/* Contrato visual canónico del menú,
manual y ajustes.
 * Una sola autoridad: Noto Sans,
densidad legible y oliva KarunaPura (#8c8630).
 */




















































@media (max-width: 680px) {





}


/* 6.8.455 — Contrato único de selección,
lectura y acciones de ficha.
   Árbol/buscador/mapa seleccionan; solo Leer cambia URL y lector. */









/* 6.8.495 — Biblioteca navegable: búsqueda,
orden {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 6px !important;
  align-items: end !important;
  margin: 6px 0 12px !important;
}
@media (max-width: 520px) {
}


/* 6.8.513 — selectores flotantes compartidos para Ámbitos,
Temas y Listas. */
.ks-sutta-filter-facet {
  position: relative !important;
  overflow: visible !important;
}
.ks-sutta-filter-facet > summary {


  border: 1px solid var(--ks-color-line-subtle) !important;
  border-radius: 9px !important;
  background: var(--ks-color-surface) !important;
  box-shadow: 0 3px 12px rgba(54,45,30,.025) !important;
}
.ks-sutta-filter-facet > summary:hover,
.ks-sutta-filter-facet > summary:focus-visible,
.ks-sutta-filter-facet[open] > summary {
  border-color: rgba(140,134,48,.42) !important;
  background: rgba(140,134,48,.045) !important;
}
.ks-sutta-filter-facet > summary::after {
  right: 13px !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets {
  box-sizing: border-box !important;
  position: fixed !important;
  left: var(--ks-filter-dropdown-left, 20px) !important;
  top: var(--ks-filter-dropdown-top, 120px) !important;
  z-index: var(--ks-layer-dropdown, 1000200) !important;
  display: none !important;
  width: var(--ks-filter-dropdown-width, 320px) !important;
  max-width: calc(100vw - 20px) !important;
  max-height: var(--ks-filter-dropdown-max-height, 280px) !important;
  margin: 0 !important;
  padding: 6px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: 9px !important;


}
.ks-sutta-filter-facet[open] > .ks-sutta-filter-options.is-facets {
  display: grid !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button {
  min-height: 31px !important;
  padding: 8px 10px !important;
  border-radius: 6px !important;

}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button span {
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  line-height: 1.25 !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button small {
  flex: 0 0 auto !important;
  min-width: 3.25ch !important;
  padding-top: 1px !important;
  text-align: right !important;
}
/* Progreso: la semántica cromática coincide con mapa y biblioteca. */
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="favorite"]:not(:disabled):hover,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="favorite"]:focus-visible,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="favorite"].is-current,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="favorite"][aria-pressed="true"] {
  border-color: #8e4f61 !important;
  background: rgba(142,79,97,.11) !important;
  color: #713b4b !important;
}
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="favorite"] small {
  color: #8e4f61 !important;
}
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="read"]:not(:disabled):hover,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="read"]:focus-visible,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="read"].is-current,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="read"][aria-pressed="true"] {
  border-color: #668e84 !important;
  background: rgba(102,142,132,.12) !important;
  color: #3f6e64 !important;
}
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="read"] small {
  color: #668e84 !important;
}
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="unread"]:not(:disabled):hover,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="unread"]:focus-visible,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="unread"].is-current,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="unread"][aria-pressed="true"] {
  border-color: var(--ks-color-accent) !important;
  background: rgba(140,134,48,.10) !important;
  color: #625d20 !important;
}
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="unread"] small {
  color: var(--ks-color-accent) !important;
}
.ks-sutta-filter-options.is-lists button:not(:disabled):hover,
.ks-sutta-filter-options.is-lists button:focus-visible,
.ks-sutta-filter-options.is-lists button.is-current,
.ks-sutta-filter-options.is-lists button[aria-pressed="true"] {
  border-color: #555a82 !important;
  background: rgba(85,90,130,.11) !important;
  color: #454a73 !important;
}
.ks-sutta-filter-options.is-lists button small {
  color: #555a82 !important;
}

.ks-sutta-filter-languages {
  margin-top: 12px !important;
}
.ks-sutta-filter-progress > .ks-sutta-filter-options.is-progress {
  padding-top: 8px !important;
}
.ks-sutta-filter-options.is-lists {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 3px !important;
  padding-top: 8px !important;
}
.ks-sutta-filter-options.is-lists button {
  justify-content: space-between !important;
  width: 100% !important;
  border-radius: 7px !important;
  text-align: left !important;
}
.ks-sutta-filter-options.is-lists button.is-current,
.ks-sutta-filter-options.is-lists button[aria-pressed="true"] {
  background: rgba(140,134,48,.10) !important;
  border-color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  color: #4a461f !important;
}
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="all"] {
  background: rgba(109,91,56,.025) !important;
}
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="all"].is-current,
.ks-sutta-filter-options.is-progress button[data-ks-filter-progress="all"][aria-pressed="true"] {
  background: var(--ks-color-surface) !important;
  border-color: rgba(109,91,56,.24) !important;
  color: #625b54 !important;
}
.ks-sutta-progress-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px 12px !important;
  margin: 8px 0 0 !important;
  color: #706962 !important;

  line-height: 1.2 !important;
}
.ks-sutta-progress-legend > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.ks-sutta-progress-legend i {
  box-sizing: border-box !important;
  display: inline-block !important;


  border-radius: 50% !important;
  background: var(--ks-color-surface) !important;
}
.ks-sutta-progress-legend i.is-read {
  border: 1px solid #4f756d !important;
  background: #668e84 !important;
}
.ks-sutta-progress-legend i.is-favorite {
  border: 2px solid transparent !important;
  border-top-color: #8e4f61 !important;
}
.ks-sutta-progress-legend i.is-list {
  border: 2px solid transparent !important;
  border-bottom-color: #555a82 !important;
}
.ks-sutta-filter-note {
  margin: 9px 2px 0 !important;
  color: var(--ks-sidebar-muted, #99938d) !important;
  font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.4 !important;
}
/* 6.8.564 — autoridad única consolidada de feedback de filtros del árbol. */
.ks-sutta-tree-filter-summary {
  display: flex !important;
  align-items: baseline !important;
  gap: 5px !important;
  margin: 0 0 8px !important;
  padding: 7px 8px !important;
  border-left: 2px solid var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  background: rgba(140,134,48,.045) !important;
  color: var(--ks-sidebar-muted, #99938d) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-tree-filter-summary strong {
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-tree-filter-summary button { margin-left: auto !important; font-weight: 600 !important; }
.ks-sutta-tree-filter-empty {
  display: grid !important;
  gap: 7px !important;
  margin: 8px 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(109,91,56,.11) !important;
  border-radius: var(--ks-radius-control) !important;
  background: rgba(140,134,48,.035) !important;
}
.ks-sutta-tree-filter-empty strong {
  color: var(--ks-color-text) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-tree-filter-empty span {
  color: var(--ks-sidebar-muted, #99938d) !important;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.4 !important;
}
.ks-sutta-sidebar-search-status {
  min-height: 0 !important;
  margin: 6px 0 0 !important;
  color: var(--ks-sidebar-muted) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.3 !important;
}
.ks-sutta-sidebar-search-status:empty { display: block !important; }









/* TREE: después del buscador. Mismo tamaño,
color y peso; solo activo enfatiza. */
.ks-sutta-sidebar-tree {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 260px !important;
  margin: 0 !important;
  padding: 0 0 92px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;

}
.ks-sutta-sidebar-tree ul,
.ks-sutta-sidebar-tree li,
.ks-sutta-sidebar-tree .ks-sutta-app-tree-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.ks-sutta-sidebar-tree li::before,
.ks-sutta-sidebar-tree li::marker {
  content: none !important;
  display: none !important;
}
.ks-sutta-sidebar-tree .ks-sutta-app-tree-list .ks-sutta-app-tree-list {
  margin-left: 8px !important;
}
.ks-sutta-sidebar-tree .ks-sutta-app-branch {
  padding: 1px 0 4px 10px !important;
}
.ks-sutta-sidebar-tree {
  color: var(--ks-sidebar-tree-text) !important;
  font-size: calc(var(--ks-sidebar-tree-size) + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.34 !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-family: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}













.ks-sutta-sidebar-diagnostics {
  margin-top: 12px !important;
  color: var(--ks-sidebar-muted) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-sidebar-diagnostics summary { cursor: pointer !important; }
.ks-sutta-sidebar-diagnostics pre {
  max-height: 220px !important;
  margin: 8px 0 0 !important;
  padding: 10px !important;
  overflow: auto !important;
  border-radius: 10px !important;
  background: rgba(0,0,0,.035) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.4 !important;
  white-space: pre-wrap !important;
}

@media (max-width: 1180px) {
  body.ks-sutta-app-standalone .ks-sutta-sidebar,
.ks-sutta-app .ks-sutta-sidebar {
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--ks-sidebar-border-soft) !important;
  }
  body.ks-sutta-app-standalone .ks-sutta-sidebar-scroll,
.ks-sutta-app .ks-sutta-sidebar-scroll {
    height: auto !important;
    overflow: visible !important;
    padding: 16px 14px 24px !important;
  }
  .ks-sutta-sidebar-card {
    min-height: 0 !important;
  }
  .ks-sutta-card-spacer {
    min-height: 8px !important;
  }
  .ks-sutta-card-meta-grid {
    grid-template-columns: 1fr !important;
    grid-template-areas: "area" "topics" "languages" !important;
  }
  .ks-sutta-sidebar-tree {
    min-height: 220px !important;
    padding-bottom: 28px !important;
  }
}


/* 6.8.360 — Sutta App Sidebar tree typography hard reset.
   Cierre de cascada: dentro del árbol del sidebar todos los labels comparten
   tamaño/color/peso base. Solo el sutta activo de URL/lector recibe énfasis. */
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-sidebar-tree,
.ks-sutta-app .ks-sutta-sidebar-tree {
  color: var(--ks-sidebar-tree-text, var(--ks-color-text)) !important;
  font-family: inherit !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.32 !important;
  text-decoration: none !important;
  text-transform: none !important;
}






/* 6.8.361 — Sutta App Sidebar tree isolated typography authority.
   El árbol mantiene las clases históricas para JS,
pero la presentación queda
   gobernada por la clase limpia ks-sutta-sidebar-tree-clean. */
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-sidebar-tree-clean,
/* Árbol limpio: la autoridad visual comienza en el bloque canónico 6.8.418.
   Se eliminan los resets duplicados 6.8.361/6.8.362 que imponían peso 300
   a todos los descendientes y anulaban la jerarquía semántica. */
/* 6.8.363 — Sutta App Sidebar tree fully isolated markup authority.
   El árbol visible ya no emite las clases históricas de nodo/sutta; esta sección
   gobierna únicamente el árbol limpio generado con ks-sutta-tree-clean-*.
   Las clases antiguas quedan fuera del DOM visible del árbol para evitar contaminación. */
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  overflow: visible !important;
  color: var(--ks-sidebar-tree-text, var(--ks-color-text)) !important;
  font-family: inherit !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean *,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean * {
  box-sizing: border-box !important;
  font-family: inherit !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean ul,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean li,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-list,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-suttas,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean ul,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean li,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-list,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-suttas {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean li::before,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean li::after,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean li::marker,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean li::before,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean li::after,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean li::marker {
  content: none !important;
  display: none !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-list .ks-sutta-tree-clean-list,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-branch,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-list .ks-sutta-tree-clean-list,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-branch {
  margin-left: 12px !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-suttas,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-suttas {
  padding: 2px 0 6px 10px !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-node,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-node,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row {
  margin: 1px 0 !important;
  padding: 0 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-link,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-link {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 24px !important;
  padding: 3px 6px !important;
  gap: 5px !important;
  border: 0 !important;
  border-radius: var(--ks-radius-control) !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-align: left !important;
  color: var(--ks-sidebar-tree-text, var(--ks-color-text)) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
  line-height: 1.32 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn:disabled,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn:disabled {
  cursor: default !important;
  opacity: .78 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-label,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-title,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-label,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-title {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  color: var(--ks-sidebar-tree-text, var(--ks-color-text)) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 6px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-count,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-count {
  flex: 0 0 auto !important;
  min-width: 24px !important;
  padding: 2px 7px !important;
  border-radius: var(--ks-radius-pill) !important;
  background: rgba(138, 109, 59, .08) !important;
  text-align: center !important;
  color: var(--ks-sidebar-tree-text, var(--ks-color-text)) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-caret,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-caret {
  flex: 0 0 14px !important;
  width: 14px !important;
  color: rgba(79, 73, 66, .52) !important;
  text-align: center !important;
  line-height: 1 !important;
  font-size: calc(16px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
  transition: transform .15s ease !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn[aria-expanded="true"] .ks-sutta-tree-clean-caret,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn[aria-expanded="true"] .ks-sutta-tree-clean-caret {
  transform: rotate(90deg) !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .has-current-reader-child > .ks-sutta-tree-clean-btn .ks-sutta-tree-clean-caret,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .has-current-reader-child > .ks-sutta-tree-clean-btn .ks-sutta-tree-clean-caret {
  color: var(--extra-color-1, #d6a313) !important;
}
/* Estado visual del árbol: autoridad única definida en el bloque canónico anterior. */



body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-sidebar-search,
.ks-sutta-app .ks-sutta-sidebar-search {
  --ks-sidebar-search-height: 40px !important;
  overflow: visible !important;
  position: relative !important;
  z-index: var(--ks-layer-sticky, 1000010) !important;
}









/* 6.8.377 — Búsqueda migrada desde ks_sutta_cards y ficha lateral fija.
   La Sutta App hereda reglas funcionales del hub antiguo,
pero mantiene DOM propio. */



body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-sidebar-card.ks-sutta-card--sutta .ks-sutta-card-blurb,
.ks-sutta-app .ks-sutta-sidebar-card.ks-sutta-card--sutta .ks-sutta-card-blurb {
  display: -webkit-box !important;
  max-height: calc(15px * 1.48 * 5) !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 5 !important;
  line-clamp: 5 !important;
  text-overflow: ellipsis !important;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.48 !important;
}

/* 6.8.380 — Inicio de unificación mapa ↔ menú lateral.
   La ficha del sidebar pasa a ser la superficie canónica para sutta/sección
   cuando el mapa está abierto; el dock derecho D3 queda como fallback temporal. */



body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-root-title[data-ks-sutta-card-root-ref],
.ks-sutta-app .ks-sutta-card-root-title[data-ks-sutta-card-root-ref] {
  gap: 4px !important;
  white-space: normal !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-root-title[data-ks-sutta-card-root-ref] .ks-sutta-card-meta-sep,
.ks-sutta-app .ks-sutta-card-root-title[data-ks-sutta-card-root-ref] .ks-sutta-card-meta-sep {
  display: inline-block !important;
  padding: 0 1px !important;
  color: rgba(75,75,75,.34) !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-root-title[data-ks-sutta-card-root-ref] .ks-sutta-card-ref,
.ks-sutta-app .ks-sutta-card-root-title[data-ks-sutta-card-root-ref] .ks-sutta-card-ref {
  white-space: nowrap !important;
  font-weight: 700 !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-action-star,
.ks-sutta-app .ks-sutta-card-action-star {
  width: 32px !important;
  min-width: 32px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  gap: 0 !important;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
}

body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list,
.ks-sutta-app .ks-sutta-card-section-list {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid var(--ks-sidebar-border-soft, var(--ks-color-line-subtle)) !important;
  overflow: hidden !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list ol,
.ks-sutta-app .ks-sutta-card-section-list ol {

  margin: 6px 0 0 !important;
  padding: 0 !important;
  max-height: 158px !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list li,
.ks-sutta-app .ks-sutta-card-section-list li {
  margin: 0 !important;
  padding: 0 !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list a,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list button,
.ks-sutta-app .ks-sutta-card-section-list a,
.ks-sutta-app .ks-sutta-card-section-list button {
  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 4px 2px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ks-sidebar-tree-text, var(--ks-color-text)) !important;
  font: inherit !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list a:hover,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list button:hover,
.ks-sutta-app .ks-sutta-card-section-list a:hover,
.ks-sutta-app .ks-sutta-card-section-list button:hover {
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list small,
.ks-sutta-app .ks-sutta-card-section-list small {
  flex: 0 0 auto !important;
  color: rgba(79,73,66,.48) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-children-more,
.ks-sutta-app .ks-sutta-card-children-more {
  margin: 5px 0 0 !important;
  color: rgba(79,73,66,.50) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
}
@media (max-width: 1180px) {
  body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card--map-section,
.ks-sutta-app .ks-sutta-card--map-section {
    height: auto !important;
    min-height: 320px !important;
    max-height: none !important;
  }
}

/* 6.8.381 — Corrección del primer corte de unificación mapa ↔ menú lateral.
   Menú +10px. La ocultación contextual de tarjeta D3 vive en radial-v2.css para preservar el aislamiento D3. */
body.ks-sutta-app-standalone .ks-sutta-app,
.ks-sutta-app {
  --ks-app-sidebar-width: 458px !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-sidebar,
.ks-sutta-app .ks-sutta-sidebar {
  width: var(--ks-app-sidebar-width, 458px) !important;
  min-width: var(--ks-app-sidebar-width, 458px) !important;
  max-width: var(--ks-app-sidebar-width, 458px) !important;
}

/* 6.8.382 — Nikāyas integrados en el rail vertical del mapa.
   Estos botones solo están disponibles cuando el mapa está activo; el rail completo
   permanece oculto fuera de body.ks-reader-map-open / .is-map-open. */
.ks-sutta-app-rail-map-views,
.ks-sutta-app-rail-actions {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-auto-flow: row !important;
  place-items: center !important;
  gap: 6px !important;
}
.ks-sutta-app-rail-map-views {
  padding-bottom: 8px !important;
  margin-bottom: 3px !important;
  border-bottom: 1px solid rgba(109,91,56,.13) !important;
}


.ks-sutta-app-rail [data-ks-map-view] {
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
  letter-spacing: .015em !important;
  line-height: 1 !important;
  color: #6b6259 !important;
}
body:not(.ks-reader-map-open) .ks-sutta-app-rail [data-ks-map-view] {
  pointer-events: none !important;
}
@media (max-height: 760px) and (min-width: 1181px) {

  body.ks-reader-map-open .ks-sutta-app-rail::before,
.ks-sutta-app.is-map-open .ks-sutta-app-rail::before {
    height: 424px !important;
  }
  .ks-sutta-app-rail button { width: 28px !important; height: 28px !important; }
  .ks-sutta-app-rail-map-views,
.ks-sutta-app-rail-actions { gap: 4px !important; }
}

/* 6.8.383 — Correcciones modo mapa: popovers anclados al rail,
ruta en ficha,
tarjeta de sección sin scroll interno y botón Salir. */
.ks-sutta-app-map-popover:not([hidden]) {
  left: var(--ks-map-popover-left, calc(var(--ks-app-sidebar-width) + var(--ks-app-rail-width) + 10px)) !important;
  top: var(--ks-map-popover-top, 68px) !important;
  transform: none !important;
  width: min(410px, calc(100vw - var(--ks-map-popover-left, calc(var(--ks-app-sidebar-width) + var(--ks-app-rail-width) + 10px)) - 14px)) !important;
}
.ks-sutta-app-map-popover:not([hidden])::before {
  content: "" !important;
  position: absolute !important;
  left: -7px !important;
  top: 18px !important;
  width: 12px !important;
  height: 12px !important;
  background: rgba(255,255,255,.992) !important;
  border-left: 1px solid rgba(109,91,56,.16) !important;
  border-bottom: 1px solid rgba(109,91,56,.16) !important;
  transform: rotate(45deg) !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card--map-section,
.ks-sutta-app .ks-sutta-card--map-section {
  height: auto !important;
  min-height: 430px !important;
  max-height: none !important;
  overflow: visible !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card--map-section .ks-sutta-card-section-list,
.ks-sutta-app .ks-sutta-card--map-section .ks-sutta-card-section-list {
  overflow: visible !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card--map-section .ks-sutta-card-section-list ol,
.ks-sutta-app .ks-sutta-card--map-section .ks-sutta-card-section-list ol {
  max-height: none !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 1px !important;
}
.ks-sutta-app .ks-sutta-tree-clean-node.is-map-section-selected > .ks-sutta-tree-clean-btn,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-tree-clean-node.is-map-section-selected > .ks-sutta-tree-clean-btn {
  color: var(--ks-sidebar-olive, var(--ks-color-accent)) !important;
  font-weight: 500 !important;
}
.ks-sutta-app .ks-sutta-tree-clean-node.has-map-section-parent > .ks-sutta-tree-clean-btn,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-tree-clean-node.has-map-section-parent > .ks-sutta-tree-clean-btn {
  color: rgba(140,134,48,.82) !important;
}
.ks-sutta-app-rail [data-ks-map-rail-action="close-map"] {
  font-size: calc(17px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1 !important;
}

/* 6.8.384 — Corrección mapa/rail/sección tras validación en vivo.
   Hover de sección sin descendientes se corrige en D3 JS; aquí se estabiliza
   la superficie lateral de sección y el rail completo. */
body.ks-reader-map-open .ks-sutta-app-rail,
.ks-sutta-app.is-map-open .ks-sutta-app-rail {



  padding-top: 22px !important;
  padding-bottom: 22px !important;

  overflow: visible !important;
}
body.ks-reader-map-open .ks-sutta-app-rail::before,
.ks-sutta-app.is-map-open .ks-sutta-app-rail::before {
  top: 8px !important;
  bottom: 8px !important;
  height: auto !important;
  transform: none !important;
  width: 44px !important;
  border-radius: 0 22px 22px 0 !important;
}
.ks-sutta-app-rail-map-views,
.ks-sutta-app-rail-actions,
.ks-sutta-app-rail-exit {
  position: relative !important;
  z-index: 1 !important;
}
.ks-sutta-app-rail-exit {
  display: grid !important;
  place-items: center !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(109,91,56,.16) !important;
}
.ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"] {
  width: 38px !important;
  height: 31px !important;
  border-radius: var(--ks-radius-pill) !important;
  border-color: rgba(170,132,22,.38) !important;
  background: rgba(218,165,32,.10) !important;
  color: #8f7418 !important;
  font-size: calc(9px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
}
.ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"]:hover,
.ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"]:focus-visible {
  border-color: var(--ks-color-gold) !important;
  background: var(--ks-color-gold) !important;
  color: var(--ks-color-surface) !important;
}
@media (max-height: 760px) and (min-width: 1181px) {
  body.ks-reader-map-open .ks-sutta-app-rail,
.ks-sutta-app.is-map-open .ks-sutta-app-rail {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .ks-sutta-app-rail-exit {
    margin-top: 7px !important;
    padding-top: 7px !important;
  }
  .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"] {
    width: 34px !important;
    height: 28px !important;
    font-size: calc(8.5px + var(--ks-mobile-type-step, 0px)) !important;
  }
}

/* 6.8.390 — Rail del mapa transparente y fijo fuera del layout.
   Auditoría: la solución estable no es una columna de grid,
ni una pestaña
   dentro del layout con overflow. El rail debe ser una capa fija de viewport,
transparente salvo los botones,
para no reservar espacio ni tapar el mapa con
   una franja blanca. El mapa ocupa todo el ancho disponible tras el menú. */
body.ks-reader-map-open .ks-sutta-app-layout,
body.ks-reader-map-open .ks-sutta-app.has-reader-open .ks-sutta-app-layout,
.ks-sutta-app.is-map-open .ks-sutta-app-layout,
.ks-sutta-app.is-map-open.has-reader-open .ks-sutta-app-layout {
  position: relative !important;
  grid-template-columns: var(--ks-app-sidebar-width) minmax(0, calc(100vw - var(--ks-app-sidebar-width))) !important;
  overflow: hidden !important;
}
body.ks-reader-map-open .ks-sutta-app-reader,
.ks-sutta-app.is-map-open .ks-sutta-app-reader {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  z-index: 0 !important;
}
body.ks-reader-map-open .ks-sutta-app-reader .kp-sutta-page,
.ks-sutta-app.is-map-open .ks-sutta-app-reader .kp-sutta-page {
  --kp-wide-width: calc(100vw - var(--ks-app-sidebar-width) - 48px) !important;
}
body.ks-reader-map-open .ks-sutta-app-rail,
.ks-sutta-app.is-map-open .ks-sutta-app-rail {
  position: fixed !important;
  left: calc(var(--ks-app-sidebar-width) + 8px) !important;
  top: 50dvh !important;
  transform: translateY(-50%) !important;
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: auto !important;
  justify-self: auto !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 24px) !important;
  padding: 0 !important;
  gap: 8px !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  overflow-x: visible !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  z-index: var(--ks-layer-controls, 1000100) !important;
  clip-path: none !important;
  contain: none !important;
}
body.ks-reader-map-open .ks-sutta-app-rail::-webkit-scrollbar,
.ks-sutta-app.is-map-open .ks-sutta-app-rail::-webkit-scrollbar {
  display: none !important;
}
body.ks-reader-map-open .ks-sutta-app-rail::before,
.ks-sutta-app.is-map-open .ks-sutta-app-rail::before {
  content: none !important;
}
body.ks-reader-map-open .ks-sutta-app-rail-map-views,
body.ks-reader-map-open .ks-sutta-app-rail-actions,
body.ks-reader-map-open .ks-sutta-app-rail-exit,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-actions,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-auto-flow: row !important;
  place-items: center !important;
  width: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 6px !important;
  background: transparent !important;
}
body.ks-reader-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views,
body.ks-reader-map-open .ks-sutta-app-rail-exit,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit {
  padding-top: 9px !important;
  border-top: 1px solid rgba(109,91,56,.16) !important;
}
body.ks-reader-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views {
  padding-top: 0 !important;
  padding-bottom: 9px !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(109,91,56,.16) !important;
}
body.ks-reader-map-open .ks-sutta-app-rail button,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: rgba(255,255,255,.965) !important;
  box-shadow: 0 10px 24px var(--ks-color-shadow) !important;
  backdrop-filter: blur(5px) !important;
}
body.ks-reader-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"],
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"] {
  width: 42px !important;
  height: 32px !important;
  min-width: 42px !important;
  min-height: 32px !important;
  border-color: rgba(170,132,22,.38) !important;
  background: rgba(255,255,255,.97) !important;
  color: #8f7418 !important;
  font-size: calc(9px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
}
body.ks-reader-map-open .ks-sutta-app-map-popover:not([hidden]),
.ks-sutta-app.is-map-open .ks-sutta-app-map-popover:not([hidden]) {
  position: fixed !important;
  z-index: var(--ks-layer-popover, 1000300) !important;
}
@media (max-height: 760px) and (min-width: 1181px) {
  body.ks-reader-map-open .ks-sutta-app-rail,
.ks-sutta-app.is-map-open .ks-sutta-app-rail {
    max-height: calc(100dvh - 16px) !important;
    gap: 5px !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail button,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"],
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"] {
    width: 38px !important;
    height: 28px !important;
    min-width: 38px !important;
    min-height: 28px !important;
  }
}
@media (max-width: 1180px) {
  body.ks-reader-map-open .ks-sutta-app-layout,
body.ks-reader-map-open .ks-sutta-app.has-reader-open .ks-sutta-app-layout,
.ks-sutta-app.is-map-open .ks-sutta-app-layout,
.ks-sutta-app.is-map-open.has-reader-open .ks-sutta-app-layout {
    grid-template-columns: 1fr !important;
    overflow: visible !important;
  }
  body.ks-reader-map-open .ks-sutta-app-reader,
.ks-sutta-app.is-map-open .ks-sutta-app-reader {
    grid-column: auto !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail,
.ks-sutta-app.is-map-open .ks-sutta-app-rail {
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: 12px !important;
    transform: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: none !important;
    flex-direction: row !important;
    justify-content: center !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-map-views,
body.ks-reader-map-open .ks-sutta-app-rail-actions,
body.ks-reader-map-open .ks-sutta-app-rail-exit,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-actions,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit {
    grid-auto-flow: column !important;
    width: auto !important;
  }
}

@media (min-width: 1181px) {
  /* 6.8.391 — Merge final del rail del mapa sobre la arquitectura real.
     Diagnóstico: 6.8.390 declaraba dos columnas,
pero reglas anteriores más
     específicas para standalone/immersive seguían ganando y reservaban la
     columna técnica del rail. Esta autoridad final iguala esa especificidad:
     el layout del mapa es solo menú + mapa,
y el rail fijo flota dentro del
     plano visual del mapa sin crear corredor entre ambos. */
  body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-panel-collapsed .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-panel-collapsed .ks-sutta-app-layout,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-layout,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open.has-reader-open .ks-sutta-app-layout {
    grid-template-columns: var(--ks-app-sidebar-width) minmax(0, calc(100vw - var(--ks-app-sidebar-width))) !important;
  }
  body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-reader {
    grid-column: 2 !important;
  }
  body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-rail {




    grid-column: auto !important;
    grid-row: auto !important;






  }
}

@media (min-width: 1181px) {
  /* 6.8.392 — acabado visual del rail aprobado.
     Mantiene la arquitectura de 6.8.391 y solo cambia la piel de botones:
     blanco opaco,
más aire interno y presencia más redondeada. */


  body.ks-reader-map-open .ks-sutta-app-rail button,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button {





    border-color: rgba(109,91,56,.22) !important;
    border-radius: var(--ks-radius-pill) !important;

    box-shadow: 0 12px 28px rgba(42,33,12,.10) !important;
    backdrop-filter: none !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail [data-ks-map-view],
.ks-sutta-app.is-map-open .ks-sutta-app-rail [data-ks-map-view] {
    font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"],
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"] {





    border-radius: var(--ks-radius-pill) !important;

    box-shadow: 0 12px 28px rgba(42,33,12,.10) !important;
  }
}

@media (min-width: 1181px) {
  /* 6.8.393 — barra profesional y paneles compactos del mapa.
     Mantiene el tamaño de botón de 6.8.392; viste el contenedor completo,
ancla los popovers al botón y cambia los estados de gold a accent. */
  body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-rail {





    border: 1px solid rgba(109,91,56,.16) !important;
    border-radius: 34px !important;
    background: var(--ks-color-surface) !important;
    box-shadow: 0 18px 46px rgba(42,33,12,.16) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-map-views,
body.ks-reader-map-open .ks-sutta-app-rail-actions,
body.ks-reader-map-open .ks-sutta-app-rail-exit,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-actions,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit {
    width: 44px !important;

  }
  body.ks-reader-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views {

    border-bottom-color: var(--ks-color-line-subtle) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-exit,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit {

    border-top-color: var(--ks-color-line-subtle) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail button,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button {




    background: var(--ks-color-surface) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail button:hover,
body.ks-reader-map-open .ks-sutta-app-rail button:focus-visible,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button:hover,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button:focus-visible,
body.ks-reader-map-open .ks-sutta-app-rail button.is-active,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button.is-active {
    border-color: var(--ks-color-accent) !important;
    color: var(--ks-color-accent) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"],
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"] {
    border-color: rgba(140,134,48,.38) !important;
    color: var(--ks-color-accent) !important;
    background: var(--ks-color-surface) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-map-popover:not([hidden]),
.ks-sutta-app.is-map-open .ks-sutta-app-map-popover:not([hidden]) {
    left: var(--ks-map-popover-left, calc(var(--ks-app-sidebar-width) + 82px)) !important;
    top: var(--ks-map-popover-top, 50dvh) !important;
    transform: translateY(-50%) !important;
    width: min(360px, calc(100vw - var(--ks-map-popover-left, calc(var(--ks-app-sidebar-width) + 82px)) - 18px)) !important;
    max-height: min(520px, calc(100dvh - 32px)) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.99) !important;
    box-shadow: 0 18px 48px rgba(42,33,12,.18) !important;
  }
  .ks-sutta-app-map-popover:not([hidden])::before {
    top: var(--ks-map-popover-arrow-top, 48%) !important;
    background: rgba(255,255,255,.99) !important;
  }
  .ks-sutta-app-map-popover-head {
    min-height: 48px !important;
    padding: 10px 12px 10px 14px !important;
  }
  .ks-sutta-app-map-popover-head button {
    width: 34px !important;
    height: 34px !important;
    border-color: rgba(109,91,56,.20) !important;
    color: #6a635b !important;
  }
  .ks-sutta-app-map-popover-head button:hover,
.ks-sutta-app-map-popover-head button:focus-visible {
    border-color: var(--ks-color-accent) !important;
    color: var(--ks-color-accent) !important;
    outline: none !important;
  }
  .ks-sutta-app-map-popover-body {
    max-height: min(456px, calc(100dvh - 96px)) !important;
    padding: 12px 14px 14px !important;
  }
  .ks-sutta-app-map-help,
.ks-sutta-app-map-options,
.ks-sutta-app-library-panel {
    gap: 9px !important;
  }
  .ks-sutta-app-map-help p,
.ks-sutta-app-library-intro {
    font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
    line-height: 1.38 !important;
  }
  .ks-sutta-app-map-help-grid {
    gap: 6px !important;
  }
  .ks-sutta-app-map-help-grid div {
    grid-template-columns: 94px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 7px 8px !important;
    border-radius: 10px !important;
  }
  .ks-sutta-app-map-options section {
    padding-bottom: 9px !important;
  }
  .ks-sutta-app-map-options h4,
.ks-sutta-app-library-section h4 {
    margin-bottom: 6px !important;
    font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
    letter-spacing: .12em !important;
  }
  .ks-sutta-app-map-option-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .ks-sutta-app-map-popover-body .ks-sutta-app-map-option-row button,
.ks-sutta-app-map-popover-body .ks-sutta-app-map-options button,
.ks-sutta-app-map-popover-body button {
    justify-content: center !important;
    width: 100% !important;
    min-height: 34px !important;
    padding: 7px 8px !important;
    border-color: var(--ks-color-line) !important;
    color: #625b53 !important;
    font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
    white-space: nowrap !important;
  }
  .ks-sutta-app-map-popover-body button:hover,
.ks-sutta-app-map-popover-body button:focus-visible {
    border-color: var(--ks-color-accent) !important;
    color: var(--ks-color-accent) !important;
  }
  .ks-sutta-app-map-popover-body .ks-sutta-app-map-options button.is-current,
.ks-sutta-app-map-popover-body .ks-sutta-app-map-options button[aria-pressed="true"] {
    border-color: var(--ks-color-accent) !important;
    background: var(--ks-color-accent) !important;
    color: var(--ks-color-surface) !important;
  }
  .ks-sutta-app-library-stats {
    gap: 6px !important;
  }
  .ks-sutta-app-library-stats div {
    padding: 8px 6px !important;
    border-radius: var(--ks-radius-panel) !important;
  }
  .ks-sutta-app-library-stats strong {
    color: var(--ks-color-accent) !important;
    font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important;
  }
  .ks-sutta-app-library-section {
    padding-top: 8px !important;
  }
  .ks-sutta-app-library-list {
    gap: 5px !important;
  }
  .ks-sutta-app-library-list a {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
  }
  .ks-sutta-app-library-list a:hover,
.ks-sutta-app-library-list a:focus-visible {
    border-color: var(--ks-color-accent) !important;
    background: rgba(140,134,48,.07) !important;
  }
  .ks-sutta-app-library-list strong {
    color: var(--ks-color-accent) !important;
  }
  .ks-sutta-app-map-rotation-readout {
    min-width: 0 !important;
    padding: 7px 10px !important;
    background: rgba(140,134,48,.09) !important;
    color: var(--ks-color-accent) !important;
  }
}
/* 6.8.394 final — prioridad sobre los overrides históricos del mapa. */
body.ks-reader-map-open .ks-sutta-app-rail button.is-active,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button.is-active {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  box-shadow: 0 10px 24px rgba(42,33,12,.12) !important;
}
body.ks-reader-map-open .ks-sutta-app-map-popover:not([hidden]),
.ks-sutta-app.is-map-open .ks-sutta-app-map-popover:not([hidden]) {
  width: min(332px, calc(100vw - var(--ks-map-popover-left, calc(var(--ks-app-sidebar-width) + 82px)) - 18px)) !important;
  max-height: min(474px, calc(100dvh - 32px)) !important;
}
.ks-sutta-app-map-option-row--single {
  grid-template-columns: 1fr !important;
}
.ks-sutta-app-library-panel {
  max-height: min(402px, calc(100dvh - 128px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}
.ks-sutta-app-library-filter-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.ks-sutta-app-library-list {
  display: grid !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 4px !important;
  counter-reset: none !important;
}
.ks-sutta-app-library-list li,
.ks-sutta-app-library-list li::marker,
.ks-sutta-app-library-list::before,
.ks-sutta-app-library-list::after {
  content: none !important;
  list-style: none !important;
}
.ks-sutta-app-library-list a {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 8px !important;
  min-height: 32px !important;
  padding: 6px 10px !important;
}
.ks-sutta-app-library-list strong {
  color: var(--ks-color-accent) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.1 !important;
}
.ks-sutta-app-library-list span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.2 !important;
}
/* 6.8.951 — navegación lateral estable entre Lectura y Mapa.
   Buscador, filtros, biblioteca y árbol pertenecen al sidebar de la aplicación,
   no a una vista central concreta. El mapa no los oculta ni redefine. */
body.ks-reader-map-open .ks-sutta-app-map-popover:not([hidden]),
.ks-sutta-app.is-map-open .ks-sutta-app-map-popover:not([hidden]) {
  display: none !important;
}
.ks-sutta-map-sidebar-panel {
  display: flex !important;
  flex-direction: column !important;


  border: 1px solid var(--ks-color-line-subtle) !important;
  border-radius: 16px !important;
  background: var(--ks-color-surface) !important;
  box-shadow: 0 14px 34px var(--ks-color-shadow) !important;
}
.ks-sutta-map-sidebar-panel > header {

  border-bottom: 1px solid var(--ks-color-line-soft) !important;
}
.ks-sutta-map-sidebar-panel > header h3 {
  margin: 0 !important;
  font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.12 !important;
}
.ks-sutta-map-sidebar-panel > header p,
.ks-sutta-map-sidebar-panel h4 {
  margin: 0 !important;
  font-size: calc(9.5px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.ks-sutta-map-help-panel {

  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ks-sutta-map-help-panel p,
.ks-sutta-map-help-panel span {
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.28 !important;
}

.ks-sutta-map-sidebar-panel .ks-sutta-app-map-options,
.ks-sutta-map-sidebar-panel .ks-sutta-app-library-panel {
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
}
.ks-sutta-map-sidebar-panel .ks-sutta-app-map-option-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
}
.ks-sutta-map-sidebar-panel .ks-sutta-app-library-filter-row {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.ks-sutta-map-sidebar-panel button {
  min-height: 32px !important;
  padding: 6px 8px !important;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
}

/* Controles laterales del mapa. La navegación común del sidebar queda fuera
   de este contrato y conserva exactamente la misma visibilidad que en lectura. */
.ks-sutta-map-sidebar-panel {
  gap: 8px !important;
  padding: 14px !important;
}
.ks-sutta-map-sidebar-panel > header {
  padding-bottom: 7px !important;
  margin-bottom: 0 !important;
}
.ks-sutta-map-sidebar-panel .ks-sutta-map-help-back,
.ks-sutta-map-sidebar-panel button,
.ks-sutta-map-sidebar-panel .ks-sutta-app-map-options button,
.ks-sutta-map-sidebar-panel .ks-sutta-app-library-filter-row button {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 13px !important;
  border: 1px solid rgba(109,91,56,.22) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #625b53 !important;
  box-shadow: none !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.15 !important;
}
.ks-sutta-map-sidebar-panel .ks-sutta-map-help-back,
.ks-sutta-map-sidebar-panel button:hover,
.ks-sutta-map-sidebar-panel button:focus-visible {
  border-color: var(--ks-color-accent) !important;
  color: var(--ks-color-accent) !important;
  outline: none !important;
}
body.ks-reader-map-open .ks-sutta-app-rail button.is-active,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button.is-active,
.ks-sutta-map-sidebar-panel .ks-sutta-app-map-options button.is-current,
.ks-sutta-map-sidebar-panel .ks-sutta-app-map-options button[aria-pressed="true"],
.ks-sutta-map-sidebar-panel .ks-sutta-app-library-filter-row button.is-current,
.ks-sutta-map-sidebar-panel .ks-sutta-app-library-filter-row button[aria-pressed="true"] {
  border-color: var(--ks-color-accent) !important;

  background: color-mix(in srgb, var(--ks-color-accent) 15%, var(--ks-color-surface)) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: 0 8px 22px rgba(42,33,12,.06) !important;
}
.ks-sutta-map-help-panel {
  display: grid !important;
  gap: 6px !important;
}
.ks-sutta-map-help-panel section {
  gap: 4px !important;
  padding-top: 6px !important;
  border-top: 1px solid var(--ks-color-line-soft) !important;
}
.ks-sutta-map-help-panel p {
  margin: 0 !important;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.25 !important;
}
.ks-sutta-map-help-panel section div {
  grid-template-columns: 78px minmax(0, 1fr) !important;
  gap: 7px !important;
  padding: 4px 6px !important;
  border-radius: var(--ks-radius-control) !important;
}
.ks-sutta-map-help-panel strong,
.ks-sutta-map-help-panel span {
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.22 !important;
}
.ks-sutta-map-sidebar-panel .ks-sutta-app-map-options section,
.ks-sutta-map-sidebar-panel .ks-sutta-app-library-section {
  padding: 7px 0 !important;
}

/* 6.8.951 — Regiones declarativas del sidebar independientes de la vista.
   Lectura y Mapa comparten inspector, búsqueda y árbol. Mi Biblioteca es un
   panel alternativo del sidebar y sustituye al árbol en ambos modos. */
.ks-sutta-app [data-ks-sidebar-region] {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.ks-sutta-app.is-sidebar-library-open [data-ks-sidebar-region="tree"] {
  display: none !important;
}
/* 6.8.470 — Pantalla completa global y aislada de la cuadrícula.
   La app completa entra en fullscreen sin alterar las columnas existentes.
   El mapa conserva su contrato específico; el lector conserva el suyo. */
body.ks-sutta-app-fullscreen-open,
body.ks-sutta-app-expanded-map-open {
  overflow: hidden !important;
}
.ks-sutta-app[data-display-mode="expanded"],
.ks-sutta-app[data-display-mode="expanded"]:fullscreen,
.ks-sutta-app[data-display-mode="expanded"]:-webkit-full-screen {
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--ks-layer-fullscreen, 1001000) !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ks-color-surface) !important;
  overflow: hidden !important;
}
.ks-sutta-app[data-display-mode="expanded"] .ks-sutta-app-layout {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}
.ks-sutta-app[data-display-mode="expanded"]:not(.is-map-open) .ks-sutta-sidebar,
.ks-sutta-app[data-display-mode="expanded"]:not(.is-map-open) .ks-sutta-sidebar-scroll,
.ks-sutta-app[data-display-mode="expanded"]:not(.is-map-open) .ks-sutta-app-reader {
  height: 100% !important;
  max-height: 100% !important;
}
.ks-sutta-app[data-display-mode="expanded"]:not(.is-map-open) .ks-sutta-app-reader {
  overflow-y: auto !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open,
.ks-sutta-app[data-display-mode="expanded"].is-map-open:fullscreen,
.ks-sutta-app[data-display-mode="expanded"].is-map-open:-webkit-full-screen {
  --ks-app-sidebar-width: clamp(320px, 28vw, 440px) !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--ks-layer-fullscreen, 1001000) !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: var(--ks-color-surface) !important;
  overflow: hidden !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open:fullscreen,
.ks-sutta-app[data-display-mode="expanded"].is-map-open:-webkit-full-screen {
  background: var(--ks-color-surface) !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-app-layout,
.ks-sutta-app[data-display-mode="expanded"].is-map-open.has-reader-open .ks-sutta-app-layout {
  display: grid !important;
  grid-template-columns: var(--ks-app-sidebar-width) minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-sidebar {
  grid-column: 1 !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  border-right: 1px solid var(--ks-color-line-subtle) !important;
  overflow: hidden !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-sidebar-scroll {
  height: 100% !important;
  max-height: 100% !important;
  overflow: auto !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-app-reader {
  grid-column: 2 !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-sutta-page,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-sutta-inner,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-reader-map-host {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-sutta-body,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-view-controls,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-sutta-hero {
  display: none !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-d3-v2-canvas-viewer,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-d3-v2-canvas-stage,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-d3-v2-canvas {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-app-rail {
  position: fixed !important;
  left: calc(var(--ks-app-sidebar-width) + 14px) !important;
  top: 50dvh !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: var(--ks-layer-controls, 1000100) !important;
}
@media (max-width: 760px) {
  .ks-sutta-app[data-display-mode="expanded"].is-map-open {
    --ks-app-sidebar-width: 100vw !important;
    overflow: auto !important;
  }
  .ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-app-layout,
.ks-sutta-app[data-display-mode="expanded"].is-map-open.has-reader-open .ks-sutta-app-layout {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(58dvh, 1fr) !important;
    overflow: auto !important;
  }
  .ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-sidebar,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-app-reader {
    grid-column: 1 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-app-reader,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-reader-map-host {
    height: 64dvh !important;
    min-height: 64dvh !important;
  }
  .ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-sutta-app-rail {
    left: 12px !important;
    right: 12px !important;
    top: auto !important;
    bottom: 12px !important;
    transform: none !important;
  }
}

/* 6.8.403 — Componentes declarativos del sidebar y estilo editorial único. */
.ks-sutta-app {
  --ks-map-sidebar-gold: var(--ks-color-gold) !important;
}
.ks-sutta-app.is-map-open .ks-sutta-app-reader,
.ks-sutta-app.is-map-open .kp-sutta-page,
.ks-sutta-app.is-map-open .kp-sutta-inner,
.ks-sutta-app.is-map-open .ks-reader-map-host,
.ks-sutta-app.is-map-open .ks-reader-map-host > *,
.ks-sutta-app.is-map-open .kp-d3-v2-canvas-viewer,
.ks-sutta-app.is-map-open .kp-d3-v2-canvas-stage,
.ks-sutta-app.is-map-open .kp-d3-v2-canvas {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.ks-sutta-app.is-map-open .ks-sutta-app-layout,
.ks-sutta-app.is-map-open.has-reader-open .ks-sutta-app-layout {
  align-items: stretch !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
}
.ks-sutta-app.is-map-open .ks-sutta-app-reader,
.ks-sutta-app.is-map-open .ks-reader-map-host {
  min-height: 100dvh !important;
}
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-reader-map-host,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .ks-reader-map-host > *,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-d3-v2-canvas-viewer,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-d3-v2-canvas-stage,
.ks-sutta-app[data-display-mode="expanded"].is-map-open .kp-d3-v2-canvas {
  height: 100dvh !important;
  min-height: 100dvh !important;
}
.ks-sutta-app [data-ks-sidebar-card] {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
}
.ks-sutta-app .ks-sutta-editorial-card {
  position: relative !important;
  padding: 20px 20px 20px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-radius: var(--ks-radius-control) !important;
  background: var(--ks-color-surface) !important;
  box-shadow: 0 2px 0 color-mix(in srgb, var(--ks-color-gold) 68%, transparent), 0 12px 30px rgba(42,33,12,.06) !important;
  transition: none !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta,
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta {
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
  padding-bottom: 9px !important;
  overflow: hidden !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section {
  min-height: 430px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-meta {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-section-actions {
  display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) auto !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 9px !important;
  margin-top: auto !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-section-actions > button:nth-of-type(1) {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-section-actions > button:nth-of-type(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-children-title {
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-complete-badge {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 4px 7px !important;
  border-radius: var(--ks-radius-pill) !important;
  color: var(--ks-sidebar-muted) !important;
  background: transparent !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-section-actions.is-complete {
  grid-template-rows: auto auto !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-complete-badge.is-complete {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  justify-self: center !important;
  border: 1px solid color-mix(in srgb, var(--ks-color-gold) 46%, transparent) !important;
  background: color-mix(in srgb, var(--ks-color-gold) 11%, var(--ks-color-surface)) !important;
  color: color-mix(in srgb, var(--ks-color-accent) 88%, #51491f) !important;
  box-shadow: 0 5px 16px rgba(119,100,28,.08) !important;
  font-weight: 620 !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-complete-mark {
  color: var(--ks-color-gold) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-section-map-link {
  grid-column: 4 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  min-height: 32px !important;
  padding-inline: 12px !important;
}
@media (max-width: 390px) {
  .ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-section-actions {
    column-gap: 5px !important;
  }
  .ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-complete-badge:not(.is-complete) {
    gap: 4px !important;
    padding-inline: 3px !important;
    font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  }
  .ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--section .ks-sutta-card-section-map-link {
    padding-inline: 8px !important;
  }
}
.ks-sutta-app .ks-sutta-editorial-card::after {
  content: none !important;
  display: none !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-title {
  margin-bottom: 8px !important;
  font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: 0 !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-title {
  display: -webkit-box !important;
  min-height: 40px !important;
  max-height: 44px !important;
  margin-bottom: 4px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-root-title {
  min-height: 21px !important;
  margin-bottom: 7px !important;
  font-size: calc(16px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: 0 !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-root-title {
  overflow: hidden !important;
  white-space: nowrap !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-ref {
  font-size: calc(1.071em + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: 0 !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-blurb {
  flex: 0 0 calc(15px * 1.46 * 5) !important;
  height: calc(15px * 1.46 * 5) !important;
  min-height: calc(15px * 1.46 * 5) !important;
  max-height: calc(15px * 1.46 * 5) !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
  line-height: 1.46 !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-spacer {
  display: block !important;
  flex: 0 0 8px !important;
  height: 8px !important;
  min-height: 8px !important;
  max-height: 8px !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-meta {
  padding-top: 9px !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-meta-grid {
  height: 65px !important;
  min-height: 65px !important;
  max-height: 65px !important;
  gap: 8px 16px !important;
  overflow: hidden !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-meta-label {
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: 0 !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-meta-value {
  min-height: 16px !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-actions,
.ks-sutta-app .ks-sutta-editorial-card .ks-sutta-card-personal-actions {
  gap: 8px !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
}
.ks-sutta-app.is-map-open .ks-sutta-card-link,
.ks-sutta-app.is-map-open .ks-sutta-card-link:visited {
  display: inline-flex !important;
  margin-left: auto !important;
  min-height: 0 !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ks-map-sidebar-gold) !important;
  box-shadow: none !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  transition: opacity .18s ease, transform .18s ease !important;
}
.ks-sutta-app[data-sidebar-mode="reader"] .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-link {
  display: inline-flex !important;
  margin-left: auto !important;
}
.ks-sutta-app.is-map-open .ks-sutta-card-link:hover,
.ks-sutta-app.is-map-open .ks-sutta-card-link:focus-visible {
  opacity: .68 !important;
  transform: translateX(2px) !important;
  outline: none !important;
}
/* Mi Biblioteca y listas personales — autoridad visual única 6.8.462. */
.ks-sutta-app [data-ks-sidebar-region="library"][hidden] {
  display: none !important;
}
.ks-sutta-app.is-sidebar-library-open [data-ks-sidebar-region="library"] {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 0 14px !important;
}
.ks-sutta-sidebar-library {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;

  border: 1px solid rgba(109,91,56,.12) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 12px 26px rgba(54,45,30,.05) !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-acronym {
  grid-column: 1 !important;
  grid-row: 1 !important;



  line-height: 1.3 !important;
  white-space: nowrap !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-sep {
  grid-column: 2 !important;
  grid-row: 1 !important;

  font-size: calc(12.25px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.3 !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-title-es {
  grid-column: 3 !important;
  grid-row: 1 !important;


  color: rgba(63,57,51,.74) !important;





  overflow-wrap: anywhere !important;
}
.ks-sutta-app-list-manager {
  display: grid !important;
  gap: 20px !important;
}
.ks-sutta-app-list-manager-head,
.ks-sutta-app-list-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.ks-sutta-app-list-manager-head h4,
.ks-sutta-app-list-toolbar strong {
  margin: 0 !important;
  color: var(--ks-color-ink) !important;
  font-size: calc(17px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
}
.ks-sutta-app-list-action,
.ks-sutta-app-list-nav > .ks-sutta-app-list-tab {
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(140,134,48,.30) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}
.ks-sutta-app-list-action:hover,
.ks-sutta-app-list-action:focus-visible,
.ks-sutta-app-list-nav > .ks-sutta-app-list-tab:hover,
.ks-sutta-app-list-nav > .ks-sutta-app-list-tab:focus-visible {
  border-color: var(--ks-color-accent) !important;
  background: rgba(140,134,48,.08) !important;
  outline: none !important;
}
.ks-sutta-app-list-nav {
  display: flex !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 2px 0 5px !important;
  overflow-x: auto !important;
  scrollbar-width: thin !important;
}
.ks-sutta-app-list-nav > .ks-sutta-app-list-tab {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 0 0 auto !important;
  max-width: 170px !important;
}
.ks-sutta-app-list-nav > .ks-sutta-app-list-tab span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ks-sutta-app-list-nav > .ks-sutta-app-list-tab small {
  color: rgba(63,57,51,.55) !important;
  font-size: calc(9.5px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-list-nav > .ks-sutta-app-list-tab.is-current,
.ks-sutta-app-list-nav > .ks-sutta-app-list-tab[aria-selected="true"] {
  border-color: var(--ks-color-accent) !important;
  background: rgba(140,134,48,.11) !important;
  color: var(--ks-color-ink) !important;
}
.ks-sutta-app-list-toolbar {
  padding: 14px 0 12px !important;
  border-bottom: 1px solid rgba(109,91,56,.09) !important;
}
.ks-sutta-app-list-toolbar > span {
  display: inline-flex !important;
  gap: 5px !important;
}
.ks-sutta-app-list-editor,
.ks-sutta-app-list-delete-confirm {
  display: grid !important;
  gap: 7px !important;
  padding: 9px !important;
  border-radius: 10px !important;
  background: rgba(140,134,48,.055) !important;
}
.ks-sutta-app-list-editor label {
  display: grid !important;
  gap: 4px !important;
  color: var(--ks-color-ink) !important;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
}
.ks-sutta-app-list-editor input {
  width: 100% !important;
  min-height: 34px !important;
  box-sizing: border-box !important;
  padding: 6px 9px !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: 10px !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-color-ink) !important;
  font: inherit !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-list-editor > div,
.ks-sutta-app-list-delete-confirm {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
.ks-sutta-app-list-delete-confirm span {
  flex: 1 1 100% !important;
  color: rgba(63,57,51,.70) !important;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.35 !important;
}


.ks-sutta-app-list-picker-root {
  position: fixed !important;
  inset: 0 !important;
  z-index: var(--ks-layer-dialog, 1000500) !important;
  isolation: isolate !important;
  pointer-events: none !important;
}
.ks-sutta-app-list-picker-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(38, 34, 29, .18) !important;
  pointer-events: auto !important;
}
.ks-sutta-app-list-picker {
  position: fixed !important;
  display: grid !important;
  gap: 10px !important;
  max-height: min(420px, calc(100vh - 24px)) !important;
  box-sizing: border-box !important;
  padding: 13px !important;
  overflow: auto !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: var(--ks-radius-panel) !important;
  background: #fff !important;
  opacity: 1 !important;
  box-shadow: 0 18px 48px rgba(54,45,30,.18) !important;
  color: var(--ks-color-ink) !important;
  font-family: "Noto Sans", sans-serif !important;
  pointer-events: auto !important;
}
.ks-sutta-app-list-picker header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.ks-sutta-app-list-picker h3 {
  margin: 0 !important;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}
/* 6.8.563 — autoridad única consolidada de estados auxiliares del selector de listas. */
.ks-sutta-app-list-picker header button {
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(63,57,51,.58) !important;
  font: inherit !important;
  font-size: 22px !important;
  cursor: pointer !important;
}
.ks-sutta-app-list-picker-options {
  display: grid !important;
  gap: 3px !important;
}
.ks-sutta-app-list-picker-options > button {
  display: grid !important;
  grid-template-columns: 20px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 38px !important;
  padding: 6px 7px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--ks-color-ink) !important;
  font: inherit !important;
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
  text-align: left !important;
  cursor: pointer !important;
}
.ks-sutta-app-list-picker-options > button:hover,
.ks-sutta-app-list-picker-options > button:focus-visible,
.ks-sutta-app-list-picker-options > button[aria-checked="true"] {
  background: rgba(140,134,48,.09) !important;
  outline: none !important;
}
.ks-sutta-app-list-picker-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border: 1px solid rgba(140,134,48,.45) !important;
  border-radius: 4px !important;
  color: var(--ks-color-accent) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 700 !important;
}
.ks-sutta-app-list-picker-options small {
  color: rgba(63,57,51,.52) !important;
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-list-picker-empty {
  margin: 0 !important;
  color: rgba(63,57,51,.66) !important;
  font-size: calc(11.75px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.45 !important;
}
.ks-sutta-app-list-picker-create {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: end !important;
  gap: 7px !important;
  padding-top: 9px !important;
  border-top: 1px solid var(--ks-color-line-soft) !important;
}
.ks-sutta-app-list-picker-create label {
  display: grid !important;
  gap: 4px !important;
  color: rgba(63,57,51,.70) !important;
  font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
}
/* Campo textual canónico de paneles y menús. El selector de listas lo usa
   dentro del portal, con los mismos tokens de borde/foco que la búsqueda. */
.ks-sutta-panel-text-field,
.ks-sutta-app-list-picker-create [data-ks-list-picker-name] {
  min-width: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: 10px !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-color-ink) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78) !important;
  font: inherit !important;
  outline: none !important;
}
.ks-sutta-panel-text-field:hover,
.ks-sutta-app-list-picker-create [data-ks-list-picker-name]:hover {
  border-color: color-mix(in srgb, var(--ks-color-accent) 42%, var(--ks-color-line)) !important;
}
.ks-sutta-panel-text-field:focus,
.ks-sutta-panel-text-field:focus-visible,
.ks-sutta-app-list-picker-create [data-ks-list-picker-name]:focus,
.ks-sutta-app-list-picker-create [data-ks-list-picker-name]:focus-visible {
  border-color: var(--ks-color-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ks-color-accent) 10%, transparent), inset 0 1px 0 rgba(255,255,255,.78) !important;
  outline: none !important;
}
.ks-sutta-app-list-picker-create :is(.ks-sutta-panel-text-field, [data-ks-list-picker-name]) {
  min-height: 35px !important;
  padding: 6px 9px !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-list-picker-create :is(.ks-sutta-panel-text-action, [data-ks-list-picker-create]) {
  min-height: 35px !important;
  padding: 6px 8px !important;
  border-radius: 6px !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 650 !important;
}
@media (max-width: 680px) {
  .ks-sutta-app-list-picker {
    /* La geometría se calcula desde el botón que abrió el selector. El panel
       conserva posición fija y queda inmediatamente encima del ancla, también
       cuando visualViewport cambia al abrir el teclado. */
    right: auto !important;
    bottom: auto !important;
  }
}

/* 6.8.458 — estados personales estampados y CTAs dorados de la ficha. */
.ks-sutta-app .ks-sutta-card-personal-actions [data-ks-progress-toggle="read"][aria-pressed="true"] {
  border-color: transparent !important;
  background: transparent !important;
  color: #0a6f73 !important;
  box-shadow: none !important;
}
.ks-sutta-app .ks-sutta-card-personal-actions [data-ks-progress-toggle="list"][aria-pressed="true"] {
  border-color: rgba(95,99,182,.38) !important;
  background: rgba(95,99,182,.10) !important;
  color: #4f53a4 !important;
}
.ks-sutta-app .ks-sutta-card-personal-actions .ks-sutta-card-action-star[aria-pressed="true"] {
  border-color: transparent !important;
  background: transparent !important;
  color: var(--ks-color-gold) !important;
  box-shadow: none !important;
}
.ks-sutta-app .ks-sutta-card-personal-actions .ks-sutta-card-action-star[aria-pressed="true"] > span {
  color: var(--ks-color-gold) !important;
  font-weight: 700 !important;
}
.ks-sutta-app .ks-sutta-card-personal-actions [data-ks-progress-toggle="read"][aria-pressed="true"]:focus-visible,
.ks-sutta-app .ks-sutta-card-personal-actions .ks-sutta-card-action-star[aria-pressed="true"]:focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 2px !important;
}
.ks-sutta-app .ks-sutta-card-personal-actions button {
  transition: border-color .18s ease, background-color .18s ease, color .18s ease !important;
}

html:has(body.ks-reader-map-open.ks-sutta-app-standalone),
body.ks-reader-map-open.ks-sutta-app-standalone,
html:has(body.ks-reader-map-open.ks-sutta-app-immersive),
body.ks-reader-map-open.ks-sutta-app-immersive {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"],
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-reader-map-host,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-reader-map-host {
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}
.ks-sutta-app.is-map-open .kp-d3-v2-canvas,
.ks-sutta-app.is-map-open canvas {
  display: block !important;
}

@media (min-width: 1181px) {
  /* 6.8.411 — Autoridad final compacta del rail del mapa.
     Se mantiene centrado y ajustado a su contenido. La corrección consiste en
     anular explícitamente bottom para evitar que top + bottom lo estiren a
     todo el viewport,
y conservar el cálculo responsivo de los 13 controles. */
  body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-rail {





    padding: 10px 9px !important;
    gap: 6px !important;

    justify-content: center !important;

  }
  body.ks-reader-map-open .ks-sutta-app-rail-map-views,
body.ks-reader-map-open .ks-sutta-app-rail-actions,
body.ks-reader-map-open .ks-sutta-app-rail-exit,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-actions,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit {
    gap: 6px !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views {
    padding-bottom: 7px !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-exit,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit {
    padding-top: 7px !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail button,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button {




    padding: 5px !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"],
.ks-sutta-app.is-map-open .ks-sutta-app-rail-exit [data-ks-map-rail-action="close-map"] {
    width: 44px !important;
    min-width: 44px !important;
    height: min(32px, var(--ks-map-rail-control)) !important;
    min-height: min(32px, var(--ks-map-rail-control)) !important;
    padding: 5px 7px !important;
  }
}

@media (max-width: 1180px) {
  body.ks-sutta-app-standalone .ks-sutta-app,
.ks-sutta-app {
    --ks-app-sidebar-width: 100% !important;
  }
  body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-sidebar,
.ks-sutta-app .ks-sutta-sidebar,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-sidebar-scroll,
.ks-sutta-app .ks-sutta-sidebar-scroll {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* 6.8.418 — autoridad tipográfica única del árbol limpio.
   Todos los niveles conservan 14 px; la jerarquía se expresa solo mediante
   peso,
color y estructura semántica. No existe un reset universal de peso. */
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-btn {
  color: #4a453f !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 430 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean > .ks-sutta-tree-clean-list > .ks-sutta-tree-clean-node > .ks-sutta-tree-clean-btn,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean > .ks-sutta-tree-clean-list > .ks-sutta-tree-clean-node > .ks-sutta-tree-clean-btn {
  color: #403b35 !important;
  font-weight: 520 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-label,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-label {
  color: inherit !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: inherit !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-title,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-title {
  display: flex !important;
  align-items: baseline !important;
  gap: 0 !important;
  color: #514b44 !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 340 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-acronym,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-acronym {
  flex: 0 0 auto !important;
  color: var(--ks-sidebar-olive, #8a8220) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 650 !important;
  letter-spacing: .01em !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-separator,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-separator {
  flex: 0 0 auto !important;
  color: rgba(79, 73, 66, .52) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 350 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-name,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-name {
  min-width: 0 !important;
  color: #514b44 !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 340 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-acronym,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-acronym {
  color: #756d12 !important;
  font-weight: 700 !important;
}

/* 6.8.414 — cierre UI del sidebar: estado de búsqueda estable y acción Mapa. */
.ks-sutta-app .ks-sutta-sidebar-search-status {
  display: block !important;
  min-height: 20px !important;
  margin-top: 6px !important;
}
.ks-sutta-app .ks-sutta-card-map-link {
  font-family: inherit !important;
  cursor: pointer !important;
}


/* 6.8.416 — acción primaria Mapa/Leer coherente en ambos modos.
   La ficha usa siempre el CTA tipográfico oliva/dorado,
sin píldora. */
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-link,
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-link:visited {
  display: inline-flex !important;
  margin-left: auto !important;
  min-height: 0 !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ks-map-sidebar-gold) !important;
  box-shadow: none !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-link:hover,
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-link:focus-visible {
  opacity: .68 !important;
  transform: translateX(2px) !important;
  outline: none !important;
}

/* Geometría interna y visibilidad garantizada de Idiomas. */
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-divider {
  margin-top: auto !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-meta-grid {
  grid-template-rows: auto auto !important;
  height: auto !important;
  min-height: 82px !important;
  max-height: none !important;
  overflow: visible !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-meta-item--area .ks-sutta-card-meta-value,
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-meta-item--topics .ks-sutta-card-meta-value {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: initial !important;
  line-clamp: initial !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-meta-item--languages {
  min-height: 31px !important;
  overflow: visible !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-meta-item--languages .ks-sutta-card-meta-value {
  min-height: 16px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Autoridad canónica: árbol,
controles de Nikāya y enlaces de tarjetas de sección. */
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-title,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-title {
  column-gap: .28em !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-separator,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-separator {
  margin: 0 !important;
}
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-acronym,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-acronym,
.ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-acronym,
body.ks-sutta-app-standalone .ks-sutta-app [data-ks-sutta-app-tree].ks-sutta-sidebar-tree-clean .ks-sutta-tree-clean-row.is-current-reader .ks-sutta-tree-clean-acronym {
  font-weight: 340 !important;
}

body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list ol,
.ks-sutta-app .ks-sutta-card-section-list ol {
  list-style: none !important;
  padding-left: 0 !important;
}
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-card-section-list li::marker,
.ks-sutta-app .ks-sutta-card-section-list li::marker {
  content: "" !important;
}
.ks-sutta-app .ks-sutta-card-section-list .ks-sutta-card-section-item-label {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.ks-sutta-app .ks-sutta-card-section-list .ks-sutta-card-section-editorial-link {
  display: inline !important;
  padding-bottom: 2px !important;
  background: none !important;
  box-shadow: inset 0 -2px 0 var(--ks-color-gold) !important;
  -webkit-box-decoration-break: clone !important;
  box-decoration-break: clone !important;
  text-decoration: none !important;
  transition: box-shadow .28s ease !important;
}
.ks-sutta-app .ks-sutta-card-section-list a:hover .ks-sutta-card-section-editorial-link,
.ks-sutta-app .ks-sutta-card-section-list a:focus-visible .ks-sutta-card-section-editorial-link,
.ks-sutta-app .ks-sutta-card-section-list button:hover .ks-sutta-card-section-editorial-link,
.ks-sutta-app .ks-sutta-card-section-list button:focus-visible .ks-sutta-card-section-editorial-link {
  box-shadow: inset 0 -0.6em 0 color-mix(in srgb, var(--ks-color-gold) 35%, transparent) !important;
}
.ks-sutta-app .ks-sutta-card-section-list .ks-sutta-card-section-acronym,
.ks-sutta-app .ks-sutta-card-section-list .ks-sutta-card-section-range {
  color: var(--ks-color-accent) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
.ks-sutta-app .ks-sutta-card-section-list .ks-sutta-card-section-range {
  margin-left: .28em !important;
  white-space: nowrap !important;
}
.ks-sutta-app .ks-sutta-card-section-list .ks-sutta-card-section-number {
  margin-right: .28em !important;
}
.ks-sutta-app .ks-sutta-card-section-list .ks-sutta-card-section-separator {
  margin: 0 .28em !important;
  color: rgba(79,73,66,.52) !important;
}
.ks-sutta-app .ks-sutta-card-section-list .ks-sutta-card-section-name {
  color: var(--ks-sidebar-tree-text, var(--ks-color-text)) !important;
}

body.ks-reader-map-open .ks-sutta-app-rail [data-ks-map-view].is-current,
body.ks-reader-map-open .ks-sutta-app-rail [data-ks-map-view][aria-pressed="true"],
.ks-sutta-app.is-map-open .ks-sutta-app-rail [data-ks-map-view].is-current,
.ks-sutta-app.is-map-open .ks-sutta-app-rail [data-ks-map-view][aria-pressed="true"],
body.ks-reader-map-open .ks-sutta-app-rail [data-ks-map-view]:hover,
body.ks-reader-map-open .ks-sutta-app-rail [data-ks-map-view]:focus-visible,
.ks-sutta-app.is-map-open .ks-sutta-app-rail [data-ks-map-view]:hover,
.ks-sutta-app.is-map-open .ks-sutta-app-rail [data-ks-map-view]:focus-visible {
  border-color: var(--ks-color-gold) !important;
  background: var(--ks-color-gold) !important;
  color: var(--ks-color-surface) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  outline: none !important;
}

/* 6.8.619 — ajuste final de escala de marca y alineación estable de cabecera.
   Se conserva la semántica de 6.8.618: el hamburger permanece en todos los
   anchos,
la marca conduce a la web y el producto conduce a /sutta/. */
.ks-sutta-sidebar-brand {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 7px !important;
}
.ks-sutta-sidebar-identity {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.ks-sutta-sidebar-home-link,
.ks-sutta-sidebar-home-link:visited,
.ks-sutta-sidebar-app-home-link,
.ks-sutta-sidebar-app-home-link:visited {
  min-width: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
}
.ks-sutta-sidebar-home-link,
.ks-sutta-sidebar-home-link:visited {
  flex: 0 1 auto !important;
  min-height: 32px !important;
  color: #747b76 !important;
  font-size: calc(20px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 400 !important;
  letter-spacing: .08em !important;
  line-height: 32px !important;
}
.ks-sutta-sidebar-identity-separator {
  flex: 0 0 1px !important;
  width: 1px !important;
  height: 22px !important;
  background: rgba(116,123,118,.34) !important;
}
.ks-sutta-sidebar-app-home-link,
.ks-sutta-sidebar-app-home-link:visited {
  flex: 0 1 auto !important;
  color: rgba(116,123,118,.62) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  line-height: 1.2 !important;
}
.ks-sutta-sidebar-home-link:hover,
.ks-sutta-sidebar-home-link:focus-visible,
.ks-sutta-sidebar-app-home-link:hover,
.ks-sutta-sidebar-app-home-link:focus-visible {
  color: var(--ks-color-accent) !important;
  outline: none !important;
}
.ks-sutta-sidebar-menu-toggle {
  display: inline-grid !important;
  place-items: center !important;
  width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ks-color-accent) !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--ks-color-accent) 5%, var(--ks-color-surface)) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: none !important;
}
.ks-sutta-sidebar-menu-toggle svg { width: 17px !important; height: 17px !important; }
.ks-sutta-sidebar-quick-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  margin-left: auto !important;
}
.ks-sutta-sidebar-quick-action,
.ks-sutta-sidebar-quick-action:visited {
  position: relative !important;
  display: inline-grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(140,134,48,.38) !important;
  border-radius: 50% !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.ks-sutta-sidebar-quick-action svg {
  width: 15px !important;
  height: 15px !important;
}
.ks-sutta-sidebar-quick-language {
  font-family: var(--ks-font-ui) !important;
  font-size: calc(9px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  line-height: 1 !important;
}
.ks-sutta-sidebar-utility-control { position: relative !important; }
.ks-sutta-quick-popover {
  position: absolute !important;
  z-index: var(--ks-layer-dropdown, 1000200) !important;
  top: calc(100% + 7px) !important;
  right: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid var(--ks-color-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--ks-color-ink) !important;
  box-shadow: 0 10px 28px rgba(54,45,30,.16) !important;
}
.ks-sutta-quick-popover[hidden] { display: none !important; }
.ks-sutta-quick-language-menu {
  display: grid !important;
  grid-template-columns: repeat(3, 42px) !important;
  min-width: 0 !important;
  padding: 4px !important;
}
.ks-sutta-quick-account-menu {
  width: min(310px, calc(100vw - 28px)) !important;
  padding: 8px !important;
}
.ks-sutta-quick-help-menu {
  width: min(270px, calc(100vw - 28px)) !important;
  padding: 7px !important;
}
.ks-sutta-quick-popover-row,
.ks-sutta-quick-popover-row:visited {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--ks-color-ink) !important;
  font: 600 calc(12px + var(--ks-mobile-type-step, 0px))/1.25 var(--ks-font-ui) !important;
  text-align: left !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}
.ks-sutta-quick-popover-row:hover,
.ks-sutta-quick-popover-row:focus-visible {
  background: rgba(140,134,48,.10) !important;
  color: var(--ks-color-ink) !important;
  outline: none !important;
}
.ks-sutta-quick-popover-row--secondary { color: var(--ks-color-muted, #746b62) !important; font-weight: 500 !important; }
.ks-sutta-quick-popover-row--danger { color: #8b3932 !important; }
.ks-sutta-quick-popover-divider { display: block !important; height: 1px !important; margin: 6px 4px !important; background: var(--ks-color-line) !important; }
.ks-sutta-quick-language-menu button {
  min-height: 32px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--ks-color-ink) !important;
  font: 700 calc(11px + var(--ks-mobile-type-step, 0px))/1 var(--ks-font-ui) !important;
  cursor: pointer !important;
}
.ks-sutta-quick-language-menu button:hover,
.ks-sutta-quick-language-menu button:focus-visible { background: rgba(140,134,48,.10) !important; outline: none !important; }
.ks-sutta-quick-language-menu button.is-current,
.ks-sutta-quick-language-menu button[aria-checked="true"] {
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
}
.ks-sutta-quick-language-menu button:disabled {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  background: #f0f0f1 !important;
  color: #8c8f94 !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}
.ks-sutta-quick-language-menu button:disabled small {
  font-size: 7px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}
.ks-sutta-sidebar-quick-action:hover,
.ks-sutta-sidebar-quick-action:focus-visible {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  outline: none !important;
}
@media (max-width: 520px) {
  .ks-sutta-sidebar-identity-separator,
.ks-sutta-sidebar-app-home-link {
    display: none !important;
  }
}
@media (max-width: 390px) {
  .ks-sutta-sidebar-brand {
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
    gap: 5px !important;
  }
  .ks-sutta-sidebar-identity { gap: 0 !important; }
  .ks-sutta-sidebar-quick-actions { gap: 3px !important; }
  .ks-sutta-sidebar-quick-action,
.ks-sutta-sidebar-quick-action:visited {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
  }
  .ks-sutta-sidebar-home-link,
.ks-sutta-sidebar-home-link:visited {
    padding: 0 !important;
    font-size: calc(17px + var(--ks-mobile-type-step, 0px)) !important;
    font-weight: 400 !important;
    letter-spacing: .06em !important;
  }
}

.ks-sutta-sidebar-view-mode-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-left: auto !important;
}
.ks-sutta-sidebar-view-mode {
  display: inline-grid !important;
  place-items: center !important;
  width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(140,134,48,.38) !important;
  border-radius: 50% !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ks-sutta-sidebar-view-mode svg {
  width: 17px !important;
  height: 17px !important;
}
.ks-sutta-sidebar-view-mode:hover,
.ks-sutta-sidebar-view-mode:focus-visible,
.ks-sutta-sidebar-view-mode.is-current,
.ks-sutta-sidebar-view-mode[aria-pressed="true"] {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  outline: none !important;
}
/* 6.8.562 — autoridad única consolidada de controles de estado del sidebar. */
.ks-sutta-sidebar-fullscreen-toggle {
  display: inline-grid !important;
  place-items: center !important;
  width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  font: 500 calc(16px + var(--ks-mobile-type-step, 0px))/1 var(--ks-font-ui) !important;
}
.ks-sutta-state-toggle {
  border: 1px solid rgba(140,134,48,.38) !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-color-accent) !important;
  outline: none !important;
}
.ks-sutta-state-toggle:not([aria-pressed="true"]):hover,
.ks-sutta-state-toggle:not([aria-pressed="true"]):focus-visible {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
}
.ks-sutta-state-toggle.is-active,
.ks-sutta-state-toggle[aria-pressed="true"] {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
}
.ks-sutta-state-toggle.is-active:hover,
.ks-sutta-state-toggle.is-active:focus-visible,
.ks-sutta-state-toggle[aria-pressed="true"]:hover,
.ks-sutta-state-toggle[aria-pressed="true"]:focus-visible {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-color-accent) !important;
}
.ks-sutta-sidebar-menu-toggle:hover,
.ks-sutta-sidebar-menu-toggle:focus-visible,
.ks-sutta-sidebar-menu-toggle[aria-expanded="true"] {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  outline: none !important;
}
/* Cuando el menú general está abierto,
es la única superficie visible del sidebar. */
.ks-sutta-app-main-menu[hidden] { display: none !important; }
.ks-sutta-app.is-main-menu-open .ks-sutta-sidebar-region { display: none !important; }

/* Contrato visual canónico del menú,
manual y ajustes.
 * Una sola autoridad: Noto Sans,
densidad legible y oliva KarunaPura (#8c8630).
 */
.ks-sutta-app-main-menu,
.ks-sutta-app-main-menu button,
.ks-sutta-app-main-menu a,
.ks-sutta-app-main-menu input,
.ks-sutta-app-main-menu select {
  font-family: var(--ks-font-ui) !important;
}
.ks-sutta-app-main-menu {
  --ks-menu-olive: var(--ks-color-accent);
  --ks-menu-text: var(--ks-color-ink);
  --ks-menu-muted: rgba(63,57,51,.62);
  --ks-menu-line: rgba(63,57,51,.11);
  --ks-action-primary-bg: var(--ks-menu-olive);
  --ks-action-primary-hover-bg: color-mix(in srgb, var(--ks-menu-olive) 90%, var(--ks-color-surface));
  --ks-action-primary-text: var(--ks-color-surface);
  --ks-action-primary-focus: color-mix(in srgb, var(--ks-menu-olive) 38%, transparent);
  box-sizing: border-box !important;
  display: flex !important;
  flex: 1 0 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  margin: -4px -10px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ks-color-surface) !important;
  box-shadow: none !important;
  /* El único scroll pertenece a .ks-sutta-sidebar-scroll. */
  overflow: visible !important;
}
.ks-sutta-app.is-main-menu-open .ks-sutta-sidebar-scroll {
  padding-bottom: 18px !important;
  scrollbar-gutter: auto !important;
}
.ks-sutta-app-main-menu[hidden],
.ks-sutta-app-menu-nav[hidden],
.ks-sutta-app-menu-detail[hidden] { display: none !important; }
.ks-sutta-app-main-menu-head {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 18px 20px 16px !important;
  border-bottom: 1px solid var(--ks-menu-line) !important;
}
.ks-sutta-app-menu-product {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.ks-sutta-app-menu-product .ks-sutta-app-menu-eyebrow {
  color: rgba(63,57,51,.55) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}
.ks-sutta-app-menu-product strong {
  color: var(--ks-menu-text) !important;
  font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
.ks-sutta-app-main-menu-head button {
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: rgba(63,57,51,.55) !important;
  font-size: 25px !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
.ks-sutta-app-main-menu-head button:hover,
.ks-sutta-app-main-menu-head button:focus-visible {
  background: color-mix(in srgb, var(--ks-menu-olive) 9%, var(--ks-color-surface)) !important;
  color: var(--ks-menu-olive) !important;
  outline: none !important;
}
.ks-sutta-app-main-menu-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  /* Evita una segunda barra dentro del menú. */
  overflow: visible !important;
}
.ks-sutta-app-menu-nav {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-height: 0 !important;
  padding: 18px 18px 16px !important;
}
.ks-sutta-app-menu-group {
  display: grid !important;
  gap: 2px !important;
  padding: 0 0 14px !important;
}
.ks-sutta-app-menu-group + .ks-sutta-app-menu-group {
  margin-top: 2px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--ks-menu-line) !important;
}
.ks-sutta-app-menu-nav h4 {
  margin: 0 !important;
  padding: 0 12px 7px !important;
  color: var(--ks-menu-olive) !important;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}
.ks-sutta-app-menu-row,
.ks-sutta-app-menu-nav button,
.ks-sutta-app-menu-link {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 20px !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 10px 11px 10px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ks-menu-text) !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: inset 0 0 0 transparent !important;
}
.ks-sutta-app-menu-row:hover,
.ks-sutta-app-menu-row:focus-visible,
.ks-sutta-app-menu-nav button:hover,
.ks-sutta-app-menu-nav button:focus-visible {
  background: color-mix(in srgb, var(--ks-menu-olive) 8%, var(--ks-color-surface)) !important;
  color: var(--ks-menu-text) !important;
  box-shadow: inset 3px 0 0 var(--ks-menu-olive) !important;
  outline: none !important;
}
.ks-sutta-app-menu-row.is-current,
.ks-sutta-app-menu-row[aria-current="page"] {
  background: color-mix(in srgb, var(--ks-menu-olive) 10%, var(--ks-color-surface)) !important;
  color: var(--ks-menu-text) !important;
  box-shadow: inset 3px 0 0 var(--ks-menu-olive) !important;
}
.ks-sutta-app-menu-row.is-current .ks-sutta-app-menu-chevron,
.ks-sutta-app-menu-row[aria-current="page"] .ks-sutta-app-menu-chevron {
  color: var(--ks-menu-olive) !important;
}
.ks-sutta-app-menu-copy { display: block !important; min-width: 0 !important; }
.ks-sutta-app-menu-copy strong,
.ks-sutta-app-menu-nav strong {
  color: inherit !important;
  font-size: calc(14.25px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
.ks-sutta-app-menu-copy small,
.ks-sutta-app-menu-nav small { display: none !important; }
.ks-sutta-app-menu-chevron {
  justify-self: end !important;
  color: rgba(63,57,51,.34) !important;
  font-size: calc(20px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
.ks-sutta-app-menu-home-link,
.ks-sutta-app-menu-home-link:visited {
  align-self: flex-start !important;
  flex: 0 0 auto !important;
  margin: 10px 12px 0 !important;
  padding: 2px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ks-menu-olive) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  box-shadow: inset 0 -2px 0 var(--extra-color-1) !important;
}
.ks-sutta-app-menu-home-link:hover,
.ks-sutta-app-menu-home-link:focus-visible {
  background: transparent !important;
  color: var(--ks-menu-olive) !important;
  box-shadow: inset 0 -0.6em 0 color-mix(in srgb, var(--extra-color-1) 35%, transparent) !important;
  outline: none !important;
}
.ks-sutta-app-menu-detail {
  flex: 1 1 auto !important;
  display: block !important;
  padding: 18px 22px 28px !important;
  /* El detalle fluye dentro del scroll único del sidebar. */
  overflow: visible !important;
  color: var(--ks-menu-text) !important;
}
.ks-sutta-app-menu-detail-head {
  display: grid !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
}
.ks-sutta-app-menu-detail-head h3,
.ks-sutta-app-menu-detail > h3 {
  margin: 0 !important;
  color: var(--ks-menu-text) !important;
  font-family: var(--ks-font-ui) !important;
  font-size: 21px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
.ks-sutta-app-menu-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-self: start !important;
  gap: 7px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 3px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(63,57,51,.68) !important;
  font-size: calc(14.25px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}
.ks-sutta-app-menu-back:hover,
.ks-sutta-app-menu-back:focus-visible {
  color: var(--ks-menu-olive) !important;
  outline: none !important;
}
.ks-sutta-app-help-intro {
  margin: 0 0 18px !important;
  color: rgba(63,57,51,.76) !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.62 !important;
}
.ks-sutta-app-manual,
.ks-sutta-app-about,
.ks-sutta-map-help-panel {
  display: grid !important;
  gap: 0 !important;
}
.ks-sutta-app-manual section,
.ks-sutta-app-about section,
.ks-sutta-app-main-menu .ks-sutta-map-help-panel section {
  margin: 0 !important;
  padding: 15px 0 !important;
  border-top: 1px solid var(--ks-menu-line) !important;
}
.ks-sutta-app-manual section:first-of-type,
.ks-sutta-app-about section:first-of-type,
.ks-sutta-app-main-menu .ks-sutta-map-help-panel section:first-of-type {
  border-top: 0 !important;
  padding-top: 0 !important;
}
.ks-sutta-app-manual h4,
.ks-sutta-app-about h4,
.ks-sutta-app-main-menu .ks-sutta-map-help-panel h4 {
  margin: 0 0 6px !important;
  color: var(--ks-menu-olive) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .045em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}
.ks-sutta-app-manual p,
.ks-sutta-app-about p,
.ks-sutta-app-main-menu .ks-sutta-map-help-panel p {
  margin: 0 !important;
  color: rgba(63,57,51,.68) !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.58 !important;
}
.ks-sutta-app-manual strong,
.ks-sutta-app-about strong,
.ks-sutta-app-main-menu .ks-sutta-map-help-panel strong {
  color: var(--ks-menu-text) !important;
  font-weight: 700 !important;
}
.ks-sutta-app-main-menu .ks-sutta-map-help-panel section > div {
  display: grid !important;
  grid-template-columns: 118px minmax(0,1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 6px 0 !important;
}
.ks-sutta-app-main-menu .ks-sutta-map-help-panel section > div strong,
.ks-sutta-app-main-menu .ks-sutta-map-help-panel section > div span {
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.48 !important;
}
.ks-sutta-app-main-menu .ks-sutta-map-help-panel section > div span {
  color: rgba(63,57,51,.66) !important;
}
.ks-sutta-app-settings { display: grid !important; gap: 22px !important; }
.ks-sutta-app-settings-group { display: grid !important; gap: 0 !important; }
.ks-sutta-app-settings-group > h4 {
  margin: 0 !important;
  padding: 0 0 8px !important;
  color: var(--ks-menu-olive) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}
.ks-sutta-app-setting-row,
.ks-sutta-app-main-menu .ks-sutta-app-map-options section {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 13px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ks-menu-line) !important;
}
.ks-sutta-app-setting-copy { display: grid !important; gap: 3px !important; min-width: 0 !important; }
.ks-sutta-app-setting-copy strong,
.ks-sutta-app-main-menu .ks-sutta-app-map-options h4 {
  margin: 0 !important;
  color: var(--ks-menu-text) !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}
.ks-sutta-app-setting-copy > span {
  color: rgba(63,57,51,.57) !important;
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.4 !important;
}
.ks-sutta-app-setting-control,
.ks-sutta-app-main-menu .ks-sutta-app-map-option-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 6px !important;
}
.ks-sutta-app-setting-control button,
.ks-sutta-app-main-menu .ks-sutta-app-map-options button {
  min-height: 34px !important;
  margin: 0 !important;
  padding: 7px 11px !important;
  border: 1px solid rgba(63,57,51,.18) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: var(--ks-color-surface) !important;
  color: #5a534c !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
.ks-sutta-app-setting-control button:hover:not(:disabled),
.ks-sutta-app-setting-control button:focus-visible:not(:disabled),
.ks-sutta-app-main-menu .ks-sutta-app-map-options button:hover,
.ks-sutta-app-main-menu .ks-sutta-app-map-options button:focus-visible {
  border-color: var(--ks-menu-olive) !important;
  color: var(--ks-menu-olive) !important;
  outline: none !important;
}
.ks-sutta-app-setting-control button.is-current,
.ks-sutta-app-setting-control button[aria-pressed="true"],
.ks-sutta-app-main-menu .ks-sutta-app-map-options button.is-current,
.ks-sutta-app-main-menu .ks-sutta-app-map-options button[aria-pressed="true"] {
  border-color: var(--ks-menu-olive) !important;
  background: color-mix(in srgb, var(--ks-menu-olive) 10%, var(--ks-color-surface)) !important;
  color: var(--ks-menu-olive) !important;
}
.ks-sutta-app-setting-control button:disabled {
  cursor: not-allowed !important;
  opacity: .42 !important;
}
.ks-sutta-app-settings-empty {
  margin: 0 !important;
  padding: 13px 0 !important;
  border-top: 1px solid var(--ks-menu-line) !important;
  color: rgba(63,57,51,.60) !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.55 !important;
}
.ks-sutta-app-info {
  display: inline-grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  margin-left: 4px !important;
  border: 1px solid color-mix(in srgb, var(--ks-menu-olive) 55%, transparent) !important;
  border-radius: 50% !important;
  color: var(--ks-menu-olive) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  vertical-align: text-bottom !important;
}
/* 6.8.566 — autoridad única consolidada de ayudas contextuales del menú general. */
.ks-sutta-app-main-menu [data-ks-tooltip] { position: relative !important; }
.ks-sutta-app-main-menu [data-ks-tooltip]::after {
  content: attr(data-ks-tooltip);
  position: absolute !important;
  z-index: var(--ks-layer-controls, 1000100) !important;
  left: 50% !important;
  bottom: calc(100% + 8px) !important;
  width: max-content !important;
  max-width: 230px !important;
  padding: 8px 10px !important;
  border-radius: 5px !important;
  background: var(--ks-color-ink) !important;
  color: var(--ks-color-surface) !important;
  font-family: var(--ks-font-ui) !important;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  white-space: normal !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate(-50%, 4px) !important;
  transition: opacity .14s ease, transform .14s ease !important;
}
.ks-sutta-app-main-menu [data-ks-tooltip]:hover::after,
.ks-sutta-app-main-menu [data-ks-tooltip]:focus-visible::after {
  opacity: 1 !important;
  transform: translate(-50%, 0) !important;
}
@media (max-width: 680px) {
  .ks-sutta-app-main-menu { min-height: 0 !important; }
  .ks-sutta-app-main-menu-head { padding: 16px 18px 14px !important; }
  .ks-sutta-app-menu-detail { padding: 16px 18px 24px !important; }
  .ks-sutta-app-setting-row,
.ks-sutta-app-main-menu .ks-sutta-app-map-options section,
.ks-sutta-app-main-menu .ks-sutta-map-help-panel section > div {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .ks-sutta-app-setting-control,
.ks-sutta-app-main-menu .ks-sutta-app-map-option-row { justify-content: flex-start !important; }
}


/* 6.8.455 — Contrato único de selección,
lectura y acciones de ficha.
   Árbol/buscador/mapa seleccionan; solo Leer cambia URL y lector. */







.ks-sutta-app .ks-sutta-card-primary-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}
/* Autoridad canónica del CTA primario en las dos superficies reales.
   La ficha lateral y el inspector app-bridge comparten exactamente estas
   declaraciones. Los hosts forman parte del selector para que las reglas
   globales de enlaces del tema no puedan convertir el CTA en texto negro
   según el orden de combinación/optimización de CSS. */
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-primary-actions > .ks-sutta-card-link,
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-primary-actions > .ks-sutta-card-link:visited,
.ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .ks-sutta-card-primary-actions > .ks-sutta-card-link,
.ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .ks-sutta-card-primary-actions > .ks-sutta-card-link:visited {
  margin-left: 0 !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ks-color-gold, var(--extra-color-1, #daa520)) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-primary-actions > .ks-sutta-card-link + .ks-sutta-card-link,
.ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .ks-sutta-card-primary-actions > .ks-sutta-card-link + .ks-sutta-card-link {
  padding-left: 10px !important;
  border-left: 1px solid rgba(218,165,32,.28) !important;
}
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-primary-actions > .ks-sutta-card-link:hover,
.ks-sutta-app .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-primary-actions > .ks-sutta-card-link:focus-visible,
.ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .ks-sutta-card-primary-actions > .ks-sutta-card-link:hover,
.ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .ks-sutta-card-primary-actions > .ks-sutta-card-link:focus-visible {
  color: #b68400 !important;
  opacity: 1 !important;
  transform: none !important;
  outline: none !important;
}

/* 6.8.495 — Biblioteca navegable: búsqueda,
orden {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(116px, .46fr) minmax(104px, .4fr) !important;
  gap: 12px !important;
  align-items: end !important;
  margin: 10px 0 18px !important;
}
@media (max-width: 520px) {
}

/* 6.8.730 — contrato responsive del filtro lateral.
   En escritorio el panel conserva la geometría flotante medida. En el drawer
   responsive forma parte del flujo y del scroll del propio menú; ni el panel
   ni sus desplegables facetados pueden salir de esa superficie. */
@media (min-width: 1181px) {
  .ks-sutta-sidebar-filter-popover {
    width: var(--ks-filter-panel-width, 430px) !important;
  }
}
@media (max-width: 1180px) {
  .ks-sutta-sidebar-filter-popover,
  .ks-sutta-sidebar-filter-popover.is-filter-contained {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 10px 0 0 !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    touch-action: pan-y !important;
    border-radius: var(--ks-radius-panel) !important;
    box-shadow: 0 12px 28px rgba(54,45,30,.12) !important;
    transform: none !important;
  }
  .ks-sutta-sidebar-filter-popover[hidden] {
    display: none !important;
  }
  .ks-sutta-sidebar-filter-popover .ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 6px 0 0 !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: auto !important;
    transform: none !important;
  }
}
.ks-sutta-filter-panel {
  padding: 17px 18px 18px !important;
}
.ks-sutta-filter-panel > header {
  padding-bottom: 18px !important;
}
.ks-sutta-filter-panel h4 {
  font-size: calc(17px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-panel > header span {
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-panel-actions > button,
.ks-sutta-filter-panel .ks-sutta-filter-clear-action {
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-panel fieldset,
.ks-sutta-filter-facet {
  margin-bottom: 11px !important;
  padding: 14px 15px !important;
  border-radius: var(--ks-radius-panel) !important;
}
.ks-sutta-filter-panel legend,
.ks-sutta-filter-facet > summary {
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-facet > summary {
  min-height: 48px !important;
  padding: 11px 42px 11px 14px !important;
}
.ks-sutta-filter-facet > summary::after {
  font-size: calc(19px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-facet > summary small {
  min-width: 20px !important;
  height: 20px !important;
  font-size: calc(11.25px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-facet > summary > em {
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-options button {
  min-height: 36px !important;
  padding: 8px 11px !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-options button small {
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-filter-options.is-facets button,
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button {
  min-height: 38px !important;
  padding: 8px 10px !important;
}
.ks-sutta-progress-legend {
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-progress-legend i {
  width: 13px !important;
  height: 13px !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets {
  scrollbar-width: auto !important;
  scrollbar-color: rgba(109,91,56,.38) rgba(109,91,56,.05) !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets::-webkit-scrollbar {
  width: 12px !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets::-webkit-scrollbar-track {
  background: rgba(109,91,56,.05) !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets::-webkit-scrollbar-thumb {
  border: 3px solid transparent !important;
  border-radius: var(--ks-radius-pill) !important;
  background: rgba(109,91,56,.38) !important;
  background-clip: padding-box !important;
}


/* 6.8.515 — retorno al sidebar 6.8.495 y ajuste de desplegables. */
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets {
  padding-right: 16px !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(4.5ch, max-content) !important;
  align-items: center !important;
  column-gap: 14px !important;
  width: 100% !important;
  padding-right: 15px !important;
  font-weight: 480 !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button > span {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button > small {
  min-width: 4.5ch !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* 6.8.518 — inspector compacto como reducción fiel de la tarjeta.
 * El título no incorpora el acrónimo; puede ocupar hasta dos líneas. La
 * referencia queda en la línea pali y las acciones conservan la fila inferior. */
.ks-sutta-app .ks-sutta-compact-inspector[hidden],
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-compact-inspector[hidden] {
  display: none !important;
}
.ks-sutta-app .ks-sutta-compact-inspector,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-compact-inspector {
  position: sticky !important;
  top: 0 !important;
  z-index: var(--ks-layer-sticky, 1000010) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  isolation: isolate !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-card,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-compact-inspector-card {
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 11px !important;
  box-sizing: border-box !important;
  min-width: 0 !important;

  padding: 15px 20px 13px !important;
  border: 1px solid rgba(118, 108, 94, .17) !important;
  border-bottom: 2px solid var(--extra-color-1, #d4a017) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .99) !important;
  box-shadow: 0 10px 24px rgba(49, 45, 39, .08) !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-copy {
  display: grid !important;

  min-width: 0 !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-kicker {
  color: var(--ks-color-accent) !important;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 700 !important;
  letter-spacing: .11em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-title {
  display: -webkit-box !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #333 !important;
  font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: italic !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-card[data-compact-kind="section"] .ks-sutta-compact-inspector-title {
  font-style: normal !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-root {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: rgba(75,75,75,.50) !important;

  font-style: italic !important;
  line-height: 1.34 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-ref {
  color: var(--ks-color-accent) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-blurb {
  margin: 7px 0 0 !important;
  color: var(--ks-color-muted, #6f675d) !important;
  font-family: var(--ks-font-ui) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-card > .ks-sutta-card-personal-actions {
  flex-wrap: nowrap !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--ks-sidebar-border-soft, rgba(109,91,56,.12)) !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-card > .ks-sutta-card-personal-actions > button {
  min-height: 32px !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  width: auto !important;
  margin-left: auto !important;
  white-space: nowrap !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-actions .ks-sutta-card-link,
.ks-sutta-app .ks-sutta-compact-inspector-actions .ks-sutta-card-link:visited {
  margin: 0 !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--extra-color-1, #d4a017) !important;
  box-shadow: none !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 620 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-actions .ks-sutta-card-link + .ks-sutta-card-link {
  padding-left: 10px !important;
  border-left: 1px solid rgba(218,165,32,.28) !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-actions .ks-sutta-card-link:hover,
.ks-sutta-app .ks-sutta-compact-inspector-actions .ks-sutta-card-link:focus-visible {
  color: #b68400 !important;
  opacity: 1 !important;
  outline: none !important;
}
@media (max-width: 520px) {
  .ks-sutta-app .ks-sutta-compact-inspector-card {
    gap: 9px !important;

    padding: 13px 14px 12px !important;
  }
  .ks-sutta-app .ks-sutta-compact-inspector-title {
    font-size: calc(17px + var(--ks-mobile-type-step, 0px)) !important;
  }
  .ks-sutta-app .ks-sutta-compact-inspector-root {
    font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  }
  .ks-sutta-app .ks-sutta-compact-inspector-card > .ks-sutta-card-personal-actions {
    gap: 6px !important;
  }
  .ks-sutta-app .ks-sutta-compact-inspector-card > .ks-sutta-card-personal-actions > button {
    padding: 6px 8px !important;
    font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
  }
  .ks-sutta-app .ks-sutta-compact-inspector-actions .ks-sutta-card-link {
    font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  }
}

/* 6.8.525 — autoridad consolidada de Mi Biblioteca: iconografía semántica,
acción destructiva y búsqueda exacta visible. */

.ks-sutta-app-library-filter-wrap {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
.ks-sutta-app-library-filter-toggle {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ks-color-accent) !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--ks-color-accent) 5%, var(--ks-color-surface)) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ks-sutta-app-library-filter-toggle svg {
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
}
.ks-sutta-app-library-filter-toggle:hover,
.ks-sutta-app-library-filter-toggle:focus-visible,
.ks-sutta-app-library-filter-toggle[aria-expanded="true"] {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  outline: none !important;
}

@media (max-width: 760px) {
  .ks-sutta-sidebar-library {
    padding: 22px 20px 26px !important;
  }
}


/* Ajustes integrados 6.8.525: iconos semánticos {
  --ks-library-tab-color: #5d638f;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tab-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 auto 7px !important;
  border: 1px solid color-mix(in srgb, var(--ks-library-tab-color) 32%, transparent) !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--ks-library-tab-color) 6%, #fff) !important;
  color: var(--ks-library-tab-color) !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tab-icon svg {
  width: 23px !important;
  height: 23px !important;
  overflow: visible !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tab-icon svg circle {
  fill: none !important;
}


/* 6.8.526 — Biblioteca: contrato visual idéntico a hamburguesa/filtro e iconografía semántica. */
.ks-sutta-sidebar-library-toggle {
  display: inline-grid !important;
  place-items: center !important;
  width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-width: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  min-height: calc(var(--ks-control-size-compact) + var(--ks-mobile-control-step, 0px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ks-color-accent) !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--ks-color-accent) 5%, var(--ks-color-surface)) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ks-sutta-sidebar-library-toggle:hover,
.ks-sutta-sidebar-library-toggle:focus-visible,
.ks-sutta-sidebar-library-toggle[aria-expanded="true"],
.ks-sutta-sidebar-library-toggle[aria-pressed="true"],
.ks-sutta-sidebar-library-toggle.is-active {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  outline: none !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tab-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  color: var(--ks-library-tab-color) !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tab-icon svg {
  width: 24px !important;
  height: 24px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}


/* 6.8.535 — autoridad canónica aislada del buscador-filtro.
   Se eliminan las autoridades históricas superpuestas de resultados y se
   gobierna el desplegable mediante la clase exclusiva ks-sutta-search-dropdown. */
.ks-sutta-app .ks-sutta-sidebar-search {
  position: relative !important;
  z-index: var(--ks-layer-sticky, 1000010) !important;
  overflow: visible !important;
}
.ks-sutta-app .ks-sutta-sidebar-search-field {
  position: relative !important;
  min-width: 0 !important;
}
.ks-sutta-app .ks-sutta-sidebar-search-field input[data-ks-sutta-app-search] {
  width: 100% !important;
  padding-right: 44px !important;
  color: var(--ks-sidebar-ink, #2f2a24) !important;
}
/* 6.8.565 — autoridad visual del buscador: hover suave y foco accent. */
.ks-sutta-app .ks-sutta-sidebar-search input[type="search"][data-ks-sutta-app-search]:hover {
  border-color: rgba(140,134,48,.42) !important;
  box-shadow: 0 0 0 3px rgba(140,134,48,.10), inset 0 1px 0 rgba(255,255,255,.85) !important;
}
.ks-sutta-app .ks-sutta-sidebar-search input[type="search"][data-ks-sutta-app-search]:focus,
.ks-sutta-app .ks-sutta-sidebar-search input[type="search"][data-ks-sutta-app-search]:focus-visible {
  border-color: var(--ks-color-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ks-color-accent) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.85) !important;
  outline: none !important;
}
.ks-sutta-app .ks-sutta-sidebar-search-field input[data-ks-sutta-app-search]::-webkit-search-cancel-button,
.ks-sutta-app .ks-sutta-sidebar-search-field input[data-ks-sutta-app-search]::-webkit-search-decoration {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
}
.ks-sutta-app .ks-sutta-sidebar-search-clear {
  box-sizing: border-box !important;
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  z-index: 2 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--ks-color-accent) !important;
  font: inherit !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ks-sutta-app .ks-sutta-sidebar-search-clear[hidden] {
  display: none !important;
}
.ks-sutta-app .ks-sutta-sidebar-search-clear:hover,
.ks-sutta-app .ks-sutta-sidebar-search-clear:focus-visible {
  background: color-mix(in srgb, var(--ks-color-accent) 10%, transparent) !important;
  color: var(--ks-color-accent) !important;
  outline: none !important;
}
.ks-sutta-app .ks-sutta-sidebar-search-status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.ks-sutta-app .ks-sutta-search-dropdown[hidden] {
  display: none !important;
}
.ks-sutta-app .ks-sutta-search-dropdown {
  box-sizing: border-box !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: calc(100% + 8px) !important;
  z-index: var(--ks-layer-dropdown, 1000200) !important;
  width: 100% !important;
  max-height: min(640px, calc(100dvh - 170px)) !important;
  margin: 0 !important;
  padding: 6px !important;
  border: 1px solid rgba(109,91,56,.16) !important;
  border-radius: 16px !important;
  background: var(--ks-color-surface) !important;
  box-shadow: 0 18px 36px rgba(42,33,12,.14), 0 1px 0 rgba(255,255,255,.95) inset !important;
  color: #26221e !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-gutter: stable !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-results-count {
  padding: 7px 12px 8px !important;
  color: rgba(38,34,30,.58) !important;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-empty {
  margin: 0 !important;
  padding: 10px 12px !important;
  color: rgba(38,34,30,.58) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 300 !important;
  line-height: 1.3 !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--ks-radius-panel) !important;
  background: transparent !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row:hover,
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row:focus-within {
  background: var(--ks-tree-hover-bg, rgba(138,109,59,.045)) !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  border: 0 !important;
  border-radius: var(--ks-radius-panel) !important;
  background: transparent !important;
  color: #26221e !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #26221e !important;
  font-family: inherit !important;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-subtitle {
  display: block !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: rgba(38,34,30,.56) !important;
  font-family: inherit !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row.is-primary-reference-match {
  background: var(--ks-tree-preview-bg, rgba(138,109,59,.095)) !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row.is-primary-reference-match:hover,
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row.is-primary-reference-match:focus-within {
  background: rgba(138,109,59,.125) !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row.is-current-reader {
  background: var(--ks-tree-current-bg, rgba(214,163,19,.20)) !important;
}
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row.is-primary-reference-match .ks-sutta-app-result,
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row.is-primary-reference-match .ks-sutta-app-result-title,
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row.is-current-reader .ks-sutta-app-result,
.ks-sutta-app .ks-sutta-search-dropdown .ks-sutta-app-result-row.is-current-reader .ks-sutta-app-result-title {
  color: #26221e !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* 6.8.569 — los controles compartidos de Biblioteca conservan idéntica geometría en Favoritos {
  align-self: center !important;
}

/* 6.8.594 — autoridad única de posición y acabado de la lengüeta de vistas.
   La coordenada vertical es deliberadamente fija en todos los breakpoints: el
   dock no salta al cambiar el ancho de la ventana. El mismo acabado accent
   atenuado se aplica a la lengüeta en escritorio y en el drawer compacto. */
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  --ks-view-rail-top: 222px;



}

/* 6.8.578 — autoridad única de tarjeta KarunaPura y rail global de aplicación.
   Base funcional 6.8.576: el rail global controla Lectura/Mapa/Pantalla completa;
   el rail técnico conserva exclusivamente los controles propios del mapa. */
.ks-sutta-app .ks-sutta-app-menu-external,
.ks-sutta-app .ks-sutta-app-menu-external:visited {
  flex: 0 0 auto !important;
  min-height: 46px !important;
  margin-top: 12px !important;
  padding: 11px 13px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--ks-action-primary-bg) !important;
  color: var(--ks-action-primary-text) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
.ks-sutta-app .ks-sutta-app-menu-external .ks-sutta-app-menu-copy strong,
.ks-sutta-app .ks-sutta-app-menu-external .ks-sutta-app-menu-chevron {
  color: var(--ks-action-primary-text) !important;
  opacity: 1 !important;
}
.ks-sutta-app .ks-sutta-app-menu-external:hover,
.ks-sutta-app .ks-sutta-app-menu-external:focus-visible {
  background: var(--ks-action-primary-hover-bg) !important;
  color: var(--ks-action-primary-text) !important;
  box-shadow: none !important;
  outline: none !important;
}

.ks-sutta-app-view-rail {
  box-sizing: border-box !important;
  position: fixed !important;
  left: calc(var(--ks-app-sidebar-width, 458px) + 10px) !important;
  top: 50dvh !important;
  z-index: var(--ks-layer-edge-navigation, 1000150) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 9px !important;
  gap: 8px !important;
  transform: translateY(-50%) !important;
  border: 1px solid rgba(109,91,56,.16) !important;
  border-radius: var(--ks-radius-pill) !important;
  background: rgba(255,255,255,.985) !important;
  box-shadow: 0 14px 34px rgba(42,33,12,.10) !important;
  overflow: visible !important;
  pointer-events: auto !important;
  isolation: isolate !important;
}
.ks-sutta-app-view-rail > [role="group"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  gap: 8px !important;
}
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button {
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ks-color-accent) !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--ks-color-accent) 5%, var(--ks-color-surface)) !important;
  color: var(--ks-color-accent) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  cursor: pointer !important;
}
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button svg {
  width: 19px !important;
  height: 19px !important;
}
/* Estado canónico del dock: solo los controles inactivos responden al hover. */
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button:not(.is-current):not(.is-active):not([aria-pressed="true"]):hover,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button:not(.is-current):not(.is-active):not([aria-pressed="true"]):focus-visible {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  outline: none !important;
}
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button.is-current,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button.is-current:hover,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button.is-current:focus-visible,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button.is-active,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button.is-active:hover,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button.is-active:focus-visible,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button[aria-pressed="true"],
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button[aria-pressed="true"]:hover,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button[aria-pressed="true"]:focus-visible {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  opacity: 1 !important;
  outline: none !important;
}

@media (min-width: 1181px) {

}

/* 6.8.585 — ajuste fino del dock lateral sobre la base válida 6.8.584.
   La apertura conserva el recorte progresivo junto al menú,
pero amplía el área
   de clip hacia el exterior para que la sombra pueda desvanecerse sin cortes.
   El cierre explícito desde la pestaña prevalece temporalmente sobre hover/foco
   hasta abandonar el componente. */
.ks-sutta-app-view-rail-panel,
.ks-sutta-app-view-rail-panel > [role="group"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.ks-sutta-app-view-rail-panel {
  gap: 8px !important;
}
.ks-sutta-app-view-rail-panel > [role="group"] {
  gap: 8px !important;
}
/* El grupo reutiliza una clase del encabezado del sidebar que allí se empuja
   con margin-left:auto. Dentro del rail esa geometría no aplica: las tres
   acciones comparten un eje central único. */
.ks-sutta-app-view-rail-panel > .ks-sutta-sidebar-view-mode-actions {
  width: 100% !important;
  margin-left: 0 !important;
}
.ks-sutta-app-view-rail-panel > .ks-sutta-sidebar-view-mode-actions > .ks-sutta-app-view-rail-button,
.ks-sutta-app-view-rail-panel > .ks-sutta-app-view-rail-button {
  align-self: center !important;
  justify-self: center !important;
}
.ks-sutta-app-view-rail-handle {
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-items: center !important;



  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--ks-view-rail-handle-border) !important;
  border-left: 0 !important;
  border-radius: 0 999px 999px 0 !important;



  cursor: pointer !important;
}
.ks-sutta-app-view-rail-handle svg {


  transition: transform .22s ease !important;
}
.ks-sutta-app-view-rail-handle:hover,
.ks-sutta-app-view-rail-handle:focus-visible {


  outline: none !important;
}

@media (min-width: 1181px) {
  .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
    --ks-view-rail-panel-width: 62px;

  }
  .ks-sutta-app-layout > .ks-sutta-app-reader {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }
  .ks-sutta-app-view-rail {
    position: fixed !important;
    left: var(--ks-app-sidebar-width, 458px) !important;
    right: auto !important;
    top: var(--ks-view-rail-top) !important;
    bottom: auto !important;
    z-index: var(--ks-layer-edge-navigation, 1000150) !important;
    display: grid !important;
    grid-template-columns: var(--ks-view-rail-panel-width) var(--ks-view-rail-handle-width) !important;
    align-items: center !important;
    justify-content: stretch !important;
    width: calc(var(--ks-view-rail-panel-width) + var(--ks-view-rail-handle-width)) !important;
    min-width: calc(var(--ks-view-rail-panel-width) + var(--ks-view-rail-handle-width)) !important;
    max-width: calc(var(--ks-view-rail-panel-width) + var(--ks-view-rail-handle-width)) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    transform: translateX(calc(-1 * var(--ks-view-rail-panel-width))) !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    isolation: isolate !important;
    transition: transform .22s ease, clip-path .22s ease !important;
  }
  .ks-sutta-app-view-rail:not([data-click-collapsed="true"]):hover,
.ks-sutta-app-view-rail:not([data-click-collapsed="true"]):focus-within,
.ks-sutta-app-view-rail[data-expanded="true"] {
    transform: translateX(0) !important;

  }
  .ks-sutta-app-view-rail:not([data-click-collapsed="true"]):hover .ks-sutta-app-view-rail-handle svg,
.ks-sutta-app-view-rail:not([data-click-collapsed="true"]):focus-within .ks-sutta-app-view-rail-handle svg,
.ks-sutta-app-view-rail[data-expanded="true"] .ks-sutta-app-view-rail-handle svg {
    transform: rotate(180deg) !important;
  }
  .ks-sutta-app-view-rail-panel {
    grid-column: 1 !important;
    width: var(--ks-view-rail-panel-width) !important;
    min-width: var(--ks-view-rail-panel-width) !important;
    box-sizing: border-box !important;
    padding: 9px !important;
    border: 1px solid rgba(109,91,56,.16) !important;
    border-left: 0 !important;
    border-radius: 0 22px 22px 0 !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 14px 34px rgba(42,33,12,.12) !important;
  }
  .ks-sutta-app-view-rail-handle {
    grid-column: 2 !important;
    align-self: center !important;
    margin-left: -1px !important;
    box-shadow: 8px 8px 20px var(--ks-color-shadow) !important;
  }
  body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-rail {
    --ks-map-rail-control: clamp(28px, calc((100dvh - var(--ks-view-rail-top) - 258px) / 8), 42px);
    position: fixed !important;
    left: var(--ks-app-sidebar-width, 458px) !important;
    right: auto !important;
    top: calc(var(--ks-view-rail-top) + 182px) !important;
    bottom: auto !important;
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    height: auto !important;
    max-height: calc(100dvh - var(--ks-view-rail-top) - 196px) !important;
    transform: none !important;
    overflow: visible !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail button,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button {
    width: var(--ks-map-rail-control) !important;
    height: var(--ks-map-rail-control) !important;
    min-width: var(--ks-map-rail-control) !important;
    min-height: var(--ks-map-rail-control) !important;
  }
}

@media (max-width: 1180px) {
  .ks-sutta-app-layout > .ks-sutta-app-reader {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  /* En pantallas estrechas el dock conserva el borde izquierdo. La misma
     lengüeta accent atenuada se despliega hacia el contenido sin cambiar de altura. */
  .ks-sutta-app-view-rail {
    position: fixed !important;
    left: 0 !important;
    right: auto !important;
    top: var(--ks-view-rail-top) !important;
    bottom: auto !important;
    z-index: var(--ks-layer-edge-navigation, 1000150) !important;
    display: grid !important;
    grid-template-columns: var(--ks-view-rail-panel-width, 62px) var(--ks-view-rail-handle-width, 18px) !important;
    align-items: center !important;
    width: calc(var(--ks-view-rail-panel-width, 62px) + var(--ks-view-rail-handle-width, 18px)) !important;
    min-width: calc(var(--ks-view-rail-panel-width, 62px) + var(--ks-view-rail-handle-width, 18px)) !important;
    max-width: calc(var(--ks-view-rail-panel-width, 62px) + var(--ks-view-rail-handle-width, 18px)) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    transform: translateX(calc(-1 * var(--ks-view-rail-panel-width, 62px))) !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    transition: transform .22s ease, clip-path .22s ease !important;
  }
  .ks-sutta-app-view-rail:not([data-click-collapsed="true"]):hover,
.ks-sutta-app-view-rail:not([data-click-collapsed="true"]):focus-within,
.ks-sutta-app-view-rail[data-expanded="true"] {
    transform: translateX(0) !important;

  }
  .ks-sutta-app-view-rail-panel {
    grid-column: 1 !important;
    width: var(--ks-view-rail-panel-width, 62px) !important;
    min-width: var(--ks-view-rail-panel-width, 62px) !important;
    box-sizing: border-box !important;
    padding: 9px !important;
    gap: 8px !important;
    border: 1px solid rgba(109,91,56,.16) !important;
    border-left: 0 !important;
    border-radius: 0 22px 22px 0 !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 14px 34px rgba(42,33,12,.12) !important;
  }
  .ks-sutta-app-view-rail-handle {
    position: relative !important;
    display: inline-grid !important;
    grid-column: 2 !important;
    align-self: center !important;
    margin-left: -1px !important;
    box-shadow: 8px 8px 20px var(--ks-color-shadow) !important;
  }
  /* 6.8.622 — conserva la lengüeta exactamente en el borde,
pero amplía su
     superficie táctil invisible hacia el contenido hasta 44 px. */
  .ks-sutta-app-view-rail-handle::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    height: 100%;
    background: transparent;
  }
  .ks-sutta-app-view-rail-handle svg {
    transform: none !important;
  }
  .ks-sutta-app-view-rail:not([data-click-collapsed="true"]):hover .ks-sutta-app-view-rail-handle svg,
.ks-sutta-app-view-rail:not([data-click-collapsed="true"]):focus-within .ks-sutta-app-view-rail-handle svg,
.ks-sutta-app-view-rail[data-expanded="true"] .ks-sutta-app-view-rail-handle svg {
    transform: rotate(180deg) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ks-sutta-app-view-rail,
.ks-sutta-app-view-rail-handle svg {
    transition: none !important;
  }
}

/* 6.8.586 — ayudas completas del dock.
   El clip-path sigue siendo la autoridad de la animación y su margen de pintura
   exterior deja espacio suficiente para las ayudas laterales completas. */
@media (min-width: 1181px) {
  .ks-sutta-app-view-rail {
    clip-path: inset(-48px -320px -48px var(--ks-view-rail-panel-width)) !important;
  }
  .ks-sutta-app-view-rail:not([data-click-collapsed="true"]):hover,
  .ks-sutta-app-view-rail:not([data-click-collapsed="true"]):focus-within,
  .ks-sutta-app-view-rail[data-expanded="true"] {
    clip-path: inset(-48px -320px -48px 0) !important;
  }
}

@media (max-width: 1180px) {
  .ks-sutta-app-view-rail {
    clip-path: inset(-48px -320px -48px var(--ks-view-rail-panel-width, 62px)) !important;
  }
  .ks-sutta-app-view-rail:not([data-click-collapsed="true"]):hover,
.ks-sutta-app-view-rail:not([data-click-collapsed="true"]):focus-within,
.ks-sutta-app-view-rail[data-expanded="true"] {
    clip-path: inset(-48px -320px -48px 0) !important;
  }
  .ks-sutta-app-view-rail .kp-control-tooltip--side-right {
    left: calc(100% + 8px) !important;
    right: auto !important;
  }
}

/* 6.8.593 — autoridad responsive canónica sobre la base válida 6.8.592.
   Sustituye el apilado histórico <=1180px que convertía el sidebar en una fila
   de ancho completo y expulsaba el lector fuera del viewport fijo. En anchos
   compactos el lector/mapa conserva toda la superficie; la biblioteca sigue
   completa en un drawer lateral independiente,
accesible por una pestaña. */
.ks-sutta-responsive-sidebar-toggle,
.ks-sutta-responsive-sidebar-backdrop {
  display: none;
}

@media (max-width: 1180px) {
  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"],
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
    --ks-responsive-sidebar-width: min(458px, calc(100vw - 48px));
    /* El drawer dispone de anchura propia y no resta espacio al lector/mapa. */
    --ks-app-sidebar-width: 0px !important;
  }

  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout,
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-panel-collapsed .ks-sutta-app-layout,
body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-layout,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open.has-reader-open .ks-sutta-app-layout {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-reader,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-reader,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-reader {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  /* En mapa compacto toda la cadena de superficie ocupa el viewport real.
     Ningún ancho heredado del sidebar puede recortar el canvas. */
  body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-reader,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .kp-sutta-page,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .kp-sutta-page,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .kp-sutta-inner,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .kp-sutta-inner,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-reader-map-host,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-reader-map-host,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .kp-d3-v2-canvas-viewer,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .kp-d3-v2-canvas-viewer,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .kp-d3-v2-canvas-stage,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .kp-d3-v2-canvas-stage,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .kp-d3-v2-canvas,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .kp-d3-v2-canvas {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
  }
  body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-reader,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-reader-map-host,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-reader-map-host,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .kp-d3-v2-canvas-viewer,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .kp-d3-v2-canvas-viewer,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .kp-d3-v2-canvas-stage,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .kp-d3-v2-canvas-stage {
    position: absolute !important;
    inset: 0 !important;
    overflow: hidden !important;
  }

  /* Rail técnico compacto: crece mientras los ocho controles caben y se
     contrae de forma continua en viewports pequeños,
sin saltos de breakpoint. */
  body.ks-reader-map-open.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
body.ks-reader-map-open .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-rail,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-map-open .ks-sutta-app-rail {
    --ks-compact-map-control: clamp(30px, calc((100vw - 84px) / 8), 50px);
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    max-height: none !important;
    padding: clamp(6px, 1vw, 9px) clamp(7px, 1.3vw, 11px) !important;
    gap: clamp(5px, .9vw, 8px) !important;
    transform: translateX(-50%) !important;
    overflow: visible !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail-map-views,
body.ks-reader-map-open .ks-sutta-app-rail-actions,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-map-views,
.ks-sutta-app.is-map-open .ks-sutta-app-rail-actions {
    grid-auto-flow: column !important;
    width: auto !important;
    gap: clamp(4px, .75vw, 7px) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail button,
.ks-sutta-app.is-map-open .ks-sutta-app-rail button {
    width: var(--ks-compact-map-control) !important;
    height: var(--ks-compact-map-control) !important;
    min-width: var(--ks-compact-map-control) !important;
    min-height: var(--ks-compact-map-control) !important;
    padding: clamp(4px, .7vw, 7px) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail [data-ks-map-view],
.ks-sutta-app.is-map-open .ks-sutta-app-rail [data-ks-map-view] {
    font-size: calc(clamp(10px, 1.25vw, 12px) + var(--ks-mobile-type-step, 0px)) !important;
  }
  body.ks-reader-map-open .ks-sutta-app-rail [data-ks-map-rail-action],
.ks-sutta-app.is-map-open .ks-sutta-app-rail [data-ks-map-rail-action] {
    font-size: calc(clamp(16px, 2vw, 20px) + var(--ks-mobile-type-step, 0px)) !important;
  }

  /* La ficha del drawer conserva la densidad editorial de escritorio, pero
     puede crecer cuando las acciones se envuelven. Los 420 px son un mínimo,
     no una máscara: en 390 px Leer/Ver mapa necesitan una segunda fila. */
  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar-card-slot,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar-card-slot,
body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar-card-preview,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar-card-preview {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar .ks-sutta-editorial-card.ks-sutta-card--sutta,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar .ks-sutta-editorial-card.ks-sutta-card--sutta {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;
    padding: 20px 20px 9px !important;
    overflow: hidden !important;
  }
  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-meta-grid,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar .ks-sutta-editorial-card.ks-sutta-card--sutta .ks-sutta-card-meta-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas: "area topics" "languages languages" !important;
    grid-template-rows: auto auto !important;
    height: auto !important;
    min-height: 82px !important;
    max-height: none !important;
    gap: 8px 16px !important;
    overflow: visible !important;
  }

  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar {
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    z-index: var(--ks-layer-drawer, 1000800) !important;
    display: block !important;
    width: var(--ks-responsive-sidebar-width) !important;
    min-width: var(--ks-responsive-sidebar-width) !important;
    max-width: var(--ks-responsive-sidebar-width) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-right: 1px solid rgba(109,91,56,.16) !important;
    border-bottom: 0 !important;
    background: var(--ks-color-surface) !important;
    box-shadow: 18px 0 46px rgba(42,33,12,.16) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(calc(-100% - 26px), 0, 0) !important;
    transition: transform .28s cubic-bezier(.22,.7,.2,1), opacity .18s ease, visibility 0s linear .28s !important;
    will-change: transform !important;
  }

  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar-scroll,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar-scroll {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: auto !important;
  }

  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-responsive-sidebar-open .ks-sutta-sidebar,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-responsive-sidebar-open .ks-sutta-sidebar {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 0s !important;
  }

  .ks-sutta-responsive-sidebar-backdrop {
    position: absolute !important;
    inset: 0 !important;
    z-index: var(--ks-layer-drawer-backdrop, 1000700) !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    background: rgba(39,34,24,.16) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .2s ease, visibility 0s linear .2s !important;
  }

  .ks-sutta-app.is-responsive-sidebar-open .ks-sutta-responsive-sidebar-backdrop {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  .ks-sutta-responsive-sidebar-toggle {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    z-index: var(--ks-layer-drawer-toggle, 1000810) !important;
    display: inline-grid !important;
    place-items: center !important;


    width: var(--ks-edge-handle-width) !important;
    min-width: var(--ks-edge-handle-width) !important;
    height: var(--ks-edge-handle-height) !important;
    min-height: var(--ks-edge-handle-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid color-mix(in srgb, var(--ks-color-accent) 78%, var(--ks-color-surface)) !important;
    border-left: 0 !important;
    border-radius: 0 18px 18px 0 !important;
    background: var(--ks-color-accent) !important;
    box-shadow: 8px 10px 24px rgba(42,33,12,.16) !important;
    color: var(--ks-color-surface) !important;
    line-height: 1 !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
    transition: left .28s cubic-bezier(.22,.7,.2,1), filter .18s ease !important;
  }

  .ks-sutta-responsive-sidebar-toggle:hover,
.ks-sutta-responsive-sidebar-toggle:focus-visible {
    background: var(--ks-color-accent) !important;
    color: var(--ks-color-surface) !important;
    filter: brightness(.92) !important;
    outline: 0 !important;
  }

  .ks-sutta-responsive-sidebar-toggle svg {
    width: 20px !important;
    height: 20px !important;
    transition: none !important;
  }

  .ks-sutta-app.is-responsive-sidebar-open .ks-sutta-responsive-sidebar-toggle {
    left: calc(var(--ks-responsive-sidebar-width) - 1px) !important;
  }

}

@media (max-width: 520px) {
  body.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"],
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
    --ks-responsive-sidebar-width: calc(100vw - 38px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ks-sutta-sidebar,
.ks-sutta-responsive-sidebar-toggle,
.ks-sutta-responsive-sidebar-toggle svg,
.ks-sutta-responsive-sidebar-backdrop {
    transition: none !important;
  }
}


/* 6.8.729 — inspector compacto del mapa móvil. Usa el mismo HTML y estado que
   la mini-tarjeta del sidebar; sólo cambia el host y su geometría. */
.ks-sutta-map-mobile-inspector[hidden] { display: none !important; }
.ks-sutta-map-mobile-inspector {
  box-sizing: border-box;
  position: fixed;
  z-index: var(--ks-layer-popover, 1000300);
  left: 50%;
  top: var(--ks-mobile-map-inspector-top, 74px);
  width: min(430px, calc(100% - 28px));
  max-height: var(--ks-mobile-map-inspector-max-height, calc(100dvh - var(--ks-mobile-map-inspector-top, 74px) - 14px));
  overflow: auto;
  overscroll-behavior: contain;
  transform: translateX(-50%);
  pointer-events: auto;
}
@media (min-width: 1181px) {
  .ks-sutta-map-mobile-inspector { display: none !important; }
}
@media (max-width: 1180px) {
  .ks-sutta-map-mobile-inspector .ks-sutta-compact-inspector-card {
    min-height: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid var(--ks-color-line) !important;
    border-radius: var(--ks-radius-panel) !important;
    background: color-mix(in srgb, var(--ks-color-surface) 96%, transparent) !important;
    box-shadow: 0 14px 36px rgba(42,33,12,.16) !important;
    backdrop-filter: blur(10px);
  }
}

/* 6.8.609 — autoridad visual de los desplegables facetados. El popover de
   Mi Biblioteca conserva su superficie clara; solo sus selectores comparten
   la gramática oscura de las listas facetadas. */
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets {
  --ks-dropdown-dark: #625f5a;
  --ks-dropdown-text: var(--ks-color-surface);
  --ks-dropdown-muted: rgba(255,255,255,.58);
  --ks-dropdown-hover: color-mix(in srgb, var(--ks-color-accent) 38%, transparent);
  --ks-dropdown-selected: color-mix(in srgb, var(--ks-color-accent) 58%, transparent);
  border-color: rgba(255,255,255,.16) !important;
  background: var(--ks-dropdown-dark) !important;
  color: var(--ks-dropdown-text) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.24) !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button {
  border-color: transparent !important;
  background: transparent !important;
  color: var(--ks-dropdown-text) !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button small {
  color: var(--ks-dropdown-muted) !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button:not(:disabled):not(.is-current):hover,
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button:not(:disabled):not(.is-current):focus-visible {
  border-color: transparent !important;
  background: var(--ks-dropdown-hover) !important;
  color: var(--ks-color-surface) !important;
  outline: none !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button.is-current,
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button[aria-pressed="true"] {
  border-color: transparent !important;
  background: var(--ks-dropdown-selected) !important;
  color: var(--ks-color-surface) !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button:disabled {
  color: rgba(255,255,255,.30) !important;
  opacity: 1 !important;
}
.ks-sutta-filter-facet > .ks-sutta-filter-options.is-facets button:disabled small {
  color: rgba(255,255,255,.22) !important;
}

/* 6.8.625 — guía contextual desde las entradas de la portada. */
@keyframes ks-sutta-landing-guide-pulse {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ks-color-gold) 0%, transparent); }
  45% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--ks-color-gold) 30%, transparent), 0 0 0 2px var(--ks-color-gold); }
}

.ks-sutta-app .ks-sutta-landing-guide-target {
  position: relative !important;
  z-index: var(--ks-layer-controls, 1000100) !important;
  border-color: var(--ks-color-gold) !important;
  outline: 3px solid color-mix(in srgb, var(--ks-color-gold) 44%, transparent) !important;
  outline-offset: 4px !important;
  animation: ks-sutta-landing-guide-pulse 1s ease-in-out 3;
}

.ks-sutta-app .ks-sutta-sidebar-library.ks-sutta-landing-guide-target,
.ks-sutta-app .ks-sutta-sidebar-filter-popover.ks-sutta-landing-guide-target {
  border-radius: 14px !important;
}

.ks-sutta-app .ks-sutta-filter-facet > summary.ks-sutta-landing-guide-target {
  border-radius: 10px !important;
  background: #fffdf7 !important;
}

.ks-sutta-landing-guide-toast {
  box-sizing: border-box;
  position: fixed;
  z-index: var(--ks-layer-notice, 1000900);
  width: max-content;
  max-width: min(290px, calc(100vw - 28px));
  padding: 11px 14px;
  border: 1px solid color-mix(in srgb, var(--ks-color-accent) 46%, transparent);
  border-radius: 9px;
  background: #fffdf7;
  color: #353535;
  font-family: var(--ks-theme-ui-font-family, "Noto Sans", sans-serif);
  font-size: calc(13px + var(--ks-mobile-type-step, 0px));
  font-weight: 500;
  line-height: 1.4;
  box-shadow: 0 12px 30px rgba(53,53,53,.18);
  pointer-events: none;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.ks-sutta-landing-guide-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .ks-sutta-app .ks-sutta-landing-guide-target { animation: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ks-color-gold) 28%, transparent) !important; }
  .ks-sutta-landing-guide-toast { transition: none; }
}




@media screen and (max-width: 767px), screen and (pointer: coarse) and (max-width: 1180px) {
  .ks-sutta-app-reader .kp-view-controls {
    --kp-mode-language-width: 58px;
    --kp-mode-bilingual-width: 84px;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: calc(100vw - 4px) !important;
    max-width: calc(100vw - 4px) !important;
    grid-template-columns: max-content max-content !important;
    justify-content: center !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
  .ks-sutta-app-reader .kp-reader-primary-actions {
    justify-content: center !important;
    justify-self: center !important;
  }
  .ks-sutta-app-reader .kp-view-modes {
    justify-content: center !important;
    justify-self: center !important;
    flex: 0 0 auto !important;
    width: max-content !important;
  }
  .ks-sutta-app-reader .kp-mode-btn {
    box-sizing: border-box !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    text-align: center !important;
  }
  .ks-sutta-app-reader .kp-mode-btn[data-mode="plain"],
  .ks-sutta-app-reader .kp-mode-btn[data-mode="pali"] {
    flex: 0 0 var(--kp-mode-language-width) !important;
    inline-size: var(--kp-mode-language-width) !important;
    width: var(--kp-mode-language-width) !important;
    min-width: var(--kp-mode-language-width) !important;
    max-width: var(--kp-mode-language-width) !important;
  }
  .ks-sutta-app-reader .kp-mode-btn[data-mode="sidebyside"],
  .ks-sutta-app-reader .kp-mode-btn[data-mode="linebyline"] {
    flex: 0 0 var(--kp-mode-bilingual-width) !important;
    inline-size: var(--kp-mode-bilingual-width) !important;
    width: var(--kp-mode-bilingual-width) !important;
    min-width: var(--kp-mode-bilingual-width) !important;
    max-width: var(--kp-mode-bilingual-width) !important;
  }
  .ks-sutta-app-reader .kp-icon-toggle {
    width: calc(30px + var(--ks-mobile-control-step, 0px)) !important;
    height: calc(30px + var(--ks-mobile-control-step, 0px)) !important;
    flex-basis: calc(30px + var(--ks-mobile-control-step, 0px)) !important;
  }
  .ks-sutta-app-reader .kp-mode-btn,
  .ks-sutta-app-reader .kp-reader-action,
  .ks-sutta-app .ks-sutta-card-link,
  .ks-sutta-app .ks-sutta-app-map-options button,
  .ks-sutta-app .ks-sutta-app-library-filter-row button,
  .ks-sutta-app .ks-sutta-sidebar-filter-toggle,
  .ks-sutta-app .ks-sutta-sidebar-library-toggle,
  .ks-sutta-app .ks-sutta-sidebar-menu-toggle,
  .ks-sutta-app .ks-sutta-sidebar-view-mode,
  .ks-sutta-app .ks-sutta-state-toggle,
  .ks-sutta-app .ks-sutta-app-library-filter-toggle,
  .ks-sutta-app .ks-sutta-app-setting-control button,
  .ks-sutta-app .ks-sutta-app-menu-nav button {
    min-height: calc(32px + var(--ks-mobile-control-step, 0px)) !important;
  }
  .ks-sutta-sidebar-quick-action,
  .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button {
    width: calc(34px + var(--ks-mobile-control-step, 0px)) !important;
    height: calc(34px + var(--ks-mobile-control-step, 0px)) !important;
    min-width: calc(34px + var(--ks-mobile-control-step, 0px)) !important;
    min-height: calc(34px + var(--ks-mobile-control-step, 0px)) !important;
  }
}

@media screen and (max-width: 340px) {
  .ks-sutta-app-reader .kp-view-controls {
    --kp-mode-language-width: 52px;
    --kp-mode-bilingual-width: 76px;
  }
  .ks-sutta-app-reader .kp-mode-btn {
    font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important;
  }
}

/* 6.8.729 — exclusión visual entre superficies transitorias. Los tooltips
   propios de una ventana siguen disponibles; sólo se silencian los controles
   de fondo. La jerarquía global mantiene cualquier tooltip por debajo del
   popover o diálogo activo. */
.ks-sutta-app[data-ks-active-surface] .ks-sutta-app-view-rail .kp-control-tooltip,
.ks-sutta-app[data-ks-active-surface] .ks-sutta-app-rail .kp-control-tooltip,
.ks-sutta-app[data-ks-active-surface] .kp-view-controls .kp-control-tooltip,
.ks-sutta-app-reader .kp-sutta-page.kp-reader-disclosure-open .kp-control-tooltip {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 6.8.755 — contrato único del chrome con estado.
 *
 * Alcance deliberadamente acotado al chrome global: Menú, Filtros,
 * Biblioteca, selector Lectura/Mapa, pantalla completa y accesos rápidos.
 * No redefine botones internos del lector, ajustes, filtros de contenido ni
 * controles propios del mapa.
 */
.ks-sutta-app {
  --ks-control-hover-soft: color-mix(in srgb, var(--ks-color-accent) 12%, var(--ks-color-surface));
  --ks-control-focus-ring: color-mix(in srgb, var(--ks-color-accent) 22%, transparent);
}

.ks-sutta-sidebar-filter-toggle,
.ks-sutta-sidebar-library-toggle,
.ks-sutta-sidebar-menu-toggle,
.ks-sutta-sidebar-view-mode,
.ks-sutta-state-toggle,
.ks-sutta-sidebar-quick-action,
.ks-sutta-app-view-rail .ks-sutta-app-view-rail-button {
  transition: background-color .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease !important;
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}

/* Un control ON conserva exactamente el estado seleccionado bajo hover/foco. */
.ks-sutta-app .ks-sutta-sidebar-filter-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]),
.ks-sutta-app .ks-sutta-sidebar-filter-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):hover,
.ks-sutta-app .ks-sutta-sidebar-filter-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):focus-visible,
.ks-sutta-app .ks-sutta-sidebar-library-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]),
.ks-sutta-app .ks-sutta-sidebar-library-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):hover,
.ks-sutta-app .ks-sutta-sidebar-library-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):focus-visible,
.ks-sutta-app .ks-sutta-sidebar-menu-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]),
.ks-sutta-app .ks-sutta-sidebar-menu-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):hover,
.ks-sutta-app .ks-sutta-sidebar-menu-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):focus-visible,
.ks-sutta-app .ks-sutta-sidebar-view-mode:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]),
.ks-sutta-app .ks-sutta-sidebar-view-mode:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):hover,
.ks-sutta-app .ks-sutta-sidebar-view-mode:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):focus-visible,
.ks-sutta-app .ks-sutta-state-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]),
.ks-sutta-app .ks-sutta-state-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):hover,
.ks-sutta-app .ks-sutta-state-toggle:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):focus-visible,
.ks-sutta-app .ks-sutta-sidebar-quick-action:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]),
.ks-sutta-app .ks-sutta-sidebar-quick-action:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):hover,
.ks-sutta-app .ks-sutta-sidebar-quick-action:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):focus-visible,
.ks-sutta-app .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]),
.ks-sutta-app .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):hover,
.ks-sutta-app .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button:is(.is-active,.is-current,.active,[aria-pressed="true"],[aria-expanded="true"]):focus-visible {
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* La previsualización hover solo existe cuando el dispositivo tiene puntero. */
@media (hover: hover) and (pointer: fine) {
  .ks-sutta-app .ks-sutta-sidebar-filter-toggle:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-sidebar-library-toggle:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-sidebar-menu-toggle:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-sidebar-view-mode:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-state-toggle:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-sidebar-quick-action:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover {
    border-color: var(--ks-color-accent) !important;
    background: var(--ks-control-hover-soft) !important;
    color: var(--ks-color-accent) !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
  }
}

/* En táctil, Chrome/Safari pueden retener :hover después del tap. El estado
 * OFF vuelve a su piel real inmediatamente, sin esperar otro toque fuera. */
@media (hover: none), (pointer: coarse) {
  .ks-sutta-app .ks-sutta-sidebar-filter-toggle:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-sidebar-library-toggle:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-sidebar-menu-toggle:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover {
    border-color: var(--ks-color-accent) !important;
    background: color-mix(in srgb, var(--ks-color-accent) 5%, var(--ks-color-surface)) !important;
    color: var(--ks-color-accent) !important;
    box-shadow: none !important;
  }
  .ks-sutta-app .ks-sutta-sidebar-view-mode:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-state-toggle:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover,
  .ks-sutta-app .ks-sutta-sidebar-quick-action:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover {
    border-color: rgba(140,134,48,.38) !important;
    background: var(--ks-color-surface) !important;
    color: var(--ks-color-accent) !important;
    box-shadow: none !important;
  }
  .ks-sutta-app .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button:not(.is-active):not(.is-current):not(.active):not([aria-pressed="true"]):not([aria-expanded="true"]):hover {
    border-color: var(--ks-color-accent) !important;
    background: color-mix(in srgb, var(--ks-color-accent) 5%, var(--ks-color-surface)) !important;
    color: var(--ks-color-accent) !important;
    box-shadow: none !important;
  }
}

/* Lectura y Mapa son opciones exclusivas, no toggles reejecutables. */
.ks-sutta-app .ks-sutta-sidebar-view-mode:is(.is-current,[aria-pressed="true"]),
.ks-sutta-app .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button[data-ks-view-mode]:is(.is-current,[aria-pressed="true"]) {
  cursor: default !important;
}

.ks-sutta-app .ks-sutta-sidebar-filter-toggle:focus-visible,
.ks-sutta-app .ks-sutta-sidebar-library-toggle:focus-visible,
.ks-sutta-app .ks-sutta-sidebar-menu-toggle:focus-visible,
.ks-sutta-app .ks-sutta-sidebar-view-mode:focus-visible,
.ks-sutta-app .ks-sutta-state-toggle:focus-visible,
.ks-sutta-app .ks-sutta-sidebar-quick-action:focus-visible,
.ks-sutta-app .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px var(--ks-control-focus-ring) !important;
}

@media (prefers-reduced-motion: reduce) {
  .ks-sutta-sidebar-filter-toggle,
  .ks-sutta-sidebar-library-toggle,
  .ks-sutta-sidebar-menu-toggle,
  .ks-sutta-sidebar-view-mode,
  .ks-sutta-state-toggle,
  .ks-sutta-sidebar-quick-action,
  .ks-sutta-app-view-rail .ks-sutta-app-view-rail-button {
    transition: none !important;
  }
}

/* 6.8.629 — contexto de lectura claro,
integrado y ligeramente más legible.
 * Aumenta entre 0,
5 y 0,
75 px la línea de estado y contexto en tarjetas
 * completas,
compactas y mobile,
sin recuperar cajas,
fondos o píldoras.
 *
 * 6.8.628 — contexto de lectura claro,
pero integrado en la tarjeta.
 * Se retira la banda dentro de otra banda: los estados quedan como una línea
 * tipográfica discreta,
compartida por la ficha completa y el inspector
 * compacto. La lectura activa sigue visible sin competir con el título. */
.ks-sutta-app .ks-sutta-card-context {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 3px 6px !important;
  min-height: 0 !important;
  margin: 7px 0 0 !important;
  padding: 7px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(53, 53, 53, .105) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #353535 !important;
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
.ks-sutta-app .ks-sutta-card-context-state,
.ks-sutta-app .ks-sutta-card-context.is-current > span:first-child,
.ks-sutta-app .ks-sutta-card-context.is-preview > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 680 !important;
  line-height: 1.3 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}
.ks-sutta-app .ks-sutta-card-context.is-current .ks-sutta-card-context-state,
.ks-sutta-app .ks-sutta-card-context.is-current > span:first-child {
  color: var(--ks-color-accent) !important;
}
.ks-sutta-app .ks-sutta-card-context.is-current .ks-sutta-card-context-state::before,
.ks-sutta-app .ks-sutta-card-context.is-current > span:first-child::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: .8;
}
.ks-sutta-app .ks-sutta-card-context.is-preview .ks-sutta-card-context-state,
.ks-sutta-app .ks-sutta-card-context.is-preview > span:first-child {
  color: rgba(53, 53, 53, .62) !important;
}
.ks-sutta-app .ks-sutta-current-context {
  min-height: 34px;
  margin: 0 0 7px;
  border: 1px solid var(--ks-color-line-soft);
  border-radius: 9px;
  background: var(--ks-color-surface);
}
.ks-sutta-app .ks-sutta-current-context[hidden] { display: none !important; }
.ks-sutta-app .ks-sutta-current-context-button {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  gap: 5px;
  padding: 6px 9px;
  border: 0;
  background: transparent;
  color: #353535;
  text-align: left;
  cursor: pointer;
}
.ks-sutta-app .ks-sutta-current-context-button:hover,
.ks-sutta-app .ks-sutta-current-context-button:focus-visible {
  background: rgba(140, 134, 48, .09);
}
.ks-sutta-app .ks-sutta-current-context-button:focus-visible {
  outline: 2px solid var(--ks-color-accent);
  outline-offset: 2px;
}
.ks-sutta-app .ks-sutta-current-context-label {
  flex: 0 0 auto;
  color: var(--ks-color-accent);
  font-size: calc(10px + var(--ks-mobile-type-step, 0px));
  font-weight: 720;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.ks-sutta-app .ks-sutta-current-context-ref { flex: 0 0 auto; }
.ks-sutta-app .ks-sutta-current-context-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ks-sutta-app .ks-sutta-current-context-button.is-current { justify-content: center; cursor: default; }

.ks-sutta-app .ks-sutta-compact-inspector-card,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-compact-inspector-card {
  min-height: 178px !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-copy {
  gap: 4px !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-card .ks-sutta-card-context {
  min-width: 0 !important;
  margin: 0 0 1px !important;
  padding: 5px 0 0 !important;
  gap: 3px 5px !important;
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app .ks-sutta-compact-inspector-card .ks-sutta-card-context-state {
  font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important;
}
@media (max-width: 520px) {
  .ks-sutta-app .ks-sutta-compact-inspector-card {
    min-height: 174px !important;
  }
  .ks-sutta-app .ks-sutta-card-context {
    padding-top: 6px !important;
    font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
  }
  .ks-sutta-app .ks-sutta-card-context-state,
.ks-sutta-app .ks-sutta-card-context.is-current > span:first-child,
.ks-sutta-app .ks-sutta-card-context.is-preview > span:first-child {
    font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important;
  }
}
/* 6.8.630 — escala del inspector y lengüeta de vistas. */
.ks-sutta-app .ks-sutta-compact-inspector-root {
  font-size: calc(16px + var(--ks-mobile-type-step, 0px)) !important;
}

.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
  --ks-view-rail-handle-bg: var(--ks-color-accent);
  --ks-view-rail-handle-bg-hover: color-mix(in srgb, var(--ks-color-accent) 88%, #353535);
  --ks-view-rail-handle-border: var(--ks-color-accent);
}
.ks-sutta-app-view-rail-handle {
  width: var(--ks-edge-handle-width) !important;
  min-width: var(--ks-edge-handle-width) !important;
  height: var(--ks-edge-handle-height) !important;
  border-color: var(--ks-color-accent) !important;
  background: var(--ks-color-accent) !important;
  color: var(--ks-color-surface) !important;
  box-shadow: 7px 8px 20px rgba(42,33,12,.14) !important;
}
.ks-sutta-app-view-rail-handle:hover,
.ks-sutta-app-view-rail-handle:focus-visible {
  background: color-mix(in srgb, var(--ks-color-accent) 88%, #353535) !important;
  color: var(--ks-color-surface) !important;
}
.ks-sutta-app-view-rail-handle svg {
  width: 15px !important;
  height: 34px !important;
}
@media (min-width: 1181px) {
  .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
    --ks-view-rail-handle-width: var(--ks-edge-handle-width);
  }
}
@media (max-width: 1180px) {
  .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
    --ks-view-rail-handle-width: var(--ks-edge-handle-width);
  }
}


/* 6.8.649 — P0 de estabilidad funcional de /sutta/.
 * Las lengüetas siguen exactamente en el borde izquierdo,
pero aceptan un tap
 * limpio sin obligar a arrastrar desde el gesto Atrás. El lector nunca queda
 * visualmente vacío cuando fallan las dos rutas de carga. */
@media (max-width: 1180px) {
  .ks-sutta-app-view-rail-handle,
  .ks-sutta-responsive-sidebar-toggle {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    -webkit-user-select: none !important;
    user-select: none !important;
  }
  .ks-sutta-app-view-rail-handle::after {
    width: 48px !important;
  }
  .ks-sutta-responsive-sidebar-toggle {
    width: var(--ks-edge-handle-width) !important;
    min-width: var(--ks-edge-handle-width) !important;
  }
}
.ks-sutta-app-reader-error {
  box-sizing: border-box;
  display: grid;
  gap: 10px;
  width: min(620px, calc(100% - 32px));
  margin: 32px auto;
  padding: 22px;
  border: 1px solid rgba(126, 53, 35, .2);
  border-radius: var(--ks-radius-panel);
  background: #fffaf7;
  color: #3d2b26;
}
.ks-sutta-app-reader-error > span,
.ks-sutta-app-reader-error > small {
  display: block;
}
.ks-sutta-app-reader-error > small {
  color: rgba(61, 43, 38, .7);
  overflow-wrap: anywhere;
}
.ks-sutta-app-reader-error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ks-sutta-app-reader-error-actions button,
.ks-sutta-app-reader-error-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--ks-color-accent);
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);
  color: var(--ks-color-accent);
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}
.ks-sutta-app-reader-error-actions button:hover,
.ks-sutta-app-reader-error-actions button:focus-visible,
.ks-sutta-app-reader-error-actions a:hover,
.ks-sutta-app-reader-error-actions a:focus-visible {
  background: var(--ks-color-accent);
  color: var(--ks-color-surface);
}
.ks-sutta-sidebar-library .ks-sutta-app-library-progress-label {
  color: var(--ks-color-accent) !important;
  font-weight: 650 !important;
}
@media (max-width: 390px) {
}

/* 6.8.652 — Mi biblioteca completa dentro del shell de /sutta/. */
.ks-sutta-app.is-library-surface [data-ks-sutta-app-reader] {
  background: var(--ks-app-bg, #fbfaf7);
}
.ks-sutta-app.is-library-surface .ks-sutta-library-page {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  min-height: 100%;
  margin: 0 !important;
  padding: clamp(22px, 4vw, 56px) clamp(18px, 4vw, 64px) 72px !important;
  background: var(--ks-app-bg, #fbfaf7);
  color: var(--ks-app-text, #2f2a22);
}
.ks-sutta-library-shell {

  margin: 0 auto;
}
.ks-sutta-library-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: clamp(24px, 4vw, 54px);
  align-items: end;
  padding: 0 0 clamp(26px, 4vw, 44px);
  border-bottom: 1px solid var(--ks-app-border, var(--ks-color-line));
}
.ks-sutta-library-eyebrow {
  margin: 0 0 8px !important;
  color: var(--ks-app-accent, #8a6d3b) !important;
  font-family: var(--ks-theme-ui-font-family, inherit);

  font-weight: 700;

  text-transform: uppercase;
}
.ks-sutta-library-hero h1 {
  margin: 0 0 12px !important;
  color: var(--ks-app-text, #2f2a22) !important;
  font-size: clamp(38px, 6vw, 68px) !important;
  line-height: 1 !important;
  letter-spacing: -.035em;
}
.ks-sutta-library-hero > div > p:last-child {
  max-width: 700px;
  margin: 0 !important;
  color: var(--ks-app-muted, var(--ks-color-muted)) !important;
  font-size: calc(clamp(16px, 2vw, 20px) + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.55 !important;
}
.ks-sutta-library-sync {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  box-sizing: border-box;
  min-height: 76px;
  padding: 14px 16px;
  border: 1px solid var(--ks-app-border, var(--ks-color-line));
  border-radius: 16px;
  background: var(--ks-app-card, var(--ks-color-surface));
}
.ks-sutta-library-sync-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ks-app-muted, var(--ks-color-muted));
}
.ks-sutta-library-sync.is-synced .ks-sutta-library-sync-dot { background: #527348; }
.ks-sutta-library-sync.is-syncing .ks-sutta-library-sync-dot,
.ks-sutta-library-sync.is-loading .ks-sutta-library-sync-dot,
.ks-sutta-library-sync.is-pending .ks-sutta-library-sync-dot { background: var(--ks-theme-extra-1, var(--ks-color-gold)); }
.ks-sutta-library-sync.is-error .ks-sutta-library-sync-dot,
.ks-sutta-library-sync.is-offline .ks-sutta-library-sync-dot { background: #9a513d; }
.ks-sutta-library-sync strong,
.ks-sutta-library-sync small { display: block; }
.ks-sutta-library-sync strong { margin-bottom: 3px;  line-height: 1.3; }
.ks-sutta-library-sync small { color: var(--ks-app-muted, var(--ks-color-muted));  line-height: 1.35; }
.ks-sutta-library-sync button,
.ks-sutta-library-sync a {
  border: 0;
  background: transparent;
  color: var(--ks-app-accent, #8a6d3b);
  font: inherit;

  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.ks-sutta-library-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: clamp(22px, 4vw, 38px) 0;
}
.ks-sutta-library-metric {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 120px;
  padding: 18px;
  border: 1px solid var(--ks-app-border, var(--ks-color-line));
  border-radius: 16px;

  color: var(--ks-app-text, #2f2a22);
  text-align: left;
  font: inherit;
}
button.ks-sutta-library-metric { cursor: pointer; }
button.ks-sutta-library-metric:hover,
button.ks-sutta-library-metric:focus-visible { border-color: var(--ks-app-accent, #8a6d3b); background: var(--ks-app-soft, rgba(138,109,59,.075)); }
.ks-sutta-library-metric > strong {  line-height: 1;  }
.ks-sutta-library-metric > span {  font-weight: 700; }

.ks-sutta-library-block {
  margin-top: clamp(20px, 3vw, 34px);
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--ks-app-border, var(--ks-color-line));

  background: var(--ks-app-card, var(--ks-color-surface));
}
.ks-sutta-library-block > header {
  display: flex;
  justify-content: space-between;
  gap: 20px;

  margin-bottom: 20px;
}
.ks-sutta-library-block > header h2 { margin: 0 !important; color: var(--ks-app-text, #2f2a22) !important;  line-height: 1.15 !important; }
.ks-sutta-library-block > header > span { color: var(--ks-app-muted, var(--ks-color-muted)); font-size: calc(13px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-library-block > header button {
  border: 0;
  background: transparent;
  color: var(--ks-app-accent, #8a6d3b);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.ks-sutta-library-empty-state {
  display: grid;
  gap: 5px;
  padding: 22px;
  border-radius: 14px;
  background: var(--ks-app-soft, rgba(138,109,59,.075));
}
.ks-sutta-library-empty-state span { color: var(--ks-app-muted, var(--ks-color-muted)); }
.ks-sutta-library-progress-track { overflow: hidden; height: 10px; border-radius: var(--ks-radius-pill); background: rgba(109,91,56,.12); }
.ks-sutta-library-progress-track > span { display: block; height: 100%; border-radius: inherit; background: var(--ks-theme-extra-1, var(--ks-color-gold)); }
.ks-sutta-library-two-column { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; }
.ks-sutta-library-two-column .ks-sutta-library-block { min-width: 0; }
.ks-sutta-library-activity-scroll {
  max-height: min(520px, 58vh);
  padding-right: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.ks-sutta-library-activity-scroll:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 45%, transparent);
  outline-offset: 4px;
}
.ks-sutta-library-activity ol { display: grid; gap: 3px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ks-sutta-library-activity li { content-visibility: auto; contain-intrinsic-size: 58px; }
.ks-sutta-library-activity li a,
.ks-sutta-library-activity li > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;

  border-bottom: 1px solid var(--ks-app-border, var(--ks-color-line));
  color: inherit;
  text-decoration: none;
}
.ks-sutta-library-activity li:last-child a,
.ks-sutta-library-activity li:last-child > div { border-bottom: 0; }
.ks-sutta-library-activity-mark {   border-radius: 50%; background: var(--ks-app-muted, var(--ks-color-muted)); }



.ks-sutta-library-activity li span small,
.ks-sutta-library-activity li span strong { display: block; }
.ks-sutta-library-activity li span small { margin-bottom: 2px; color: var(--ks-app-muted, var(--ks-color-muted));  text-transform: uppercase; letter-spacing: .06em; }
.ks-sutta-library-activity li span strong { overflow: hidden; text-overflow: ellipsis;  white-space: nowrap; }
.ks-sutta-library-activity time { color: var(--ks-app-muted, var(--ks-color-muted));  white-space: nowrap; }
.ks-sutta-library-activity-note,
.ks-sutta-library-denominator { margin: 16px 0 0 !important; color: var(--ks-app-muted, var(--ks-color-muted)) !important;   }
.ks-sutta-library-nikaya-list { display: grid; gap: 14px; }
.ks-sutta-library-nikaya-row { display: grid; grid-template-columns: minmax(130px, .9fr) minmax(120px, 1.6fr) minmax(100px, .7fr); gap: 12px; align-items: center; }
.ks-sutta-library-nikaya-row > div:first-child { display: flex; gap: 9px; align-items: baseline; min-width: 0; }
.ks-sutta-library-nikaya-row > div:first-child strong { color: var(--ks-app-accent, #8a6d3b); }
.ks-sutta-library-nikaya-row > div:first-child span { overflow: hidden; color: var(--ks-app-muted, var(--ks-color-muted)); font-size: calc(12px + var(--ks-mobile-type-step, 0px)); text-overflow: ellipsis; white-space: nowrap; }
.ks-sutta-library-nikaya-row > p { display: flex; justify-content: flex-end; gap: 4px; margin: 0 !important; font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important; white-space: nowrap; }
.ks-sutta-library-nikaya-row > p span { min-width: 44px; color: var(--ks-app-muted, var(--ks-color-muted)); text-align: right; }
.ks-sutta-library-workspace { padding-bottom: 14px; }
.ks-sutta-library-data > p { color: var(--ks-app-muted, var(--ks-color-muted)); }
.ks-sutta-library-data-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ks-sutta-library-data-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--ks-app-border, var(--ks-color-line));
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);
  color: var(--ks-app-text, #2f2a22);
  font: inherit;
  font-size: calc(13px + var(--ks-mobile-type-step, 0px));
  font-weight: 650;
  cursor: pointer;
}
.ks-sutta-library-data-actions button:hover,
.ks-sutta-library-data-actions button:focus-visible { border-color: var(--ks-app-accent, #8a6d3b); }
.ks-sutta-library-data-actions .is-danger { color: #844533; }
.ks-sutta-library-data-actions [data-ks-library-import-file] { display: none !important; }
.ks-sutta-library-data-warning { display: grid; gap: 4px; margin-top: 14px; padding: 14px; border: 1px solid rgba(132,69,51,.25); border-radius: var(--ks-radius-panel); background: #fff8f4; color: #633a2f; }
.ks-sutta-library-data-warning span { font-size: calc(12px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-library-data-message { min-height: 20px; margin: 12px 0 0 !important; color: var(--ks-app-accent, #8a6d3b) !important; font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important; }
@media (max-width: 900px) {
  .ks-sutta-library-hero { grid-template-columns: 1fr; align-items: start; }
  .ks-sutta-library-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-sutta-library-two-column { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .ks-sutta-app.is-library-surface .ks-sutta-library-page { padding: 22px 14px 54px !important; }
  .ks-sutta-library-sync { grid-template-columns: auto minmax(0, 1fr); }
  .ks-sutta-library-sync button,
.ks-sutta-library-sync a { grid-column: 2; justify-self: start; }
  .ks-sutta-library-summary { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ks-sutta-library-metric { min-height: 105px; padding: 14px; }
  .ks-sutta-library-block { padding: 16px; border-radius: 16px; }
  .ks-sutta-library-nikaya-row { grid-template-columns: minmax(0, 1fr) auto; }
  .ks-sutta-library-nikaya-row .ks-sutta-library-progress-track { grid-column: 1 / -1; grid-row: 2; }
}

/* 6.8.652 — primera salida de impresión: el diálogo del navegador permite PDF. */
@media print {
  @page { size: auto; margin: 16mm 14mm 18mm; }
  body.ks-sutta-app-page * { visibility: hidden !important; }
  body.ks-sutta-app-page .ks-sutta-app-reader,
  body.ks-sutta-app-page .ks-sutta-app-reader * { visibility: visible !important; }
  body.ks-sutta-app-page .ks-sutta-app-reader {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    background: var(--ks-color-surface) !important;
  }
  body.ks-sutta-app-page .ks-sutta-app,
  body.ks-sutta-app-page .ks-sutta-app-layout,
  body.ks-sutta-app-page .ks-sutta-app-native-reader,
  body.ks-sutta-app-page .kp-sutta-page,
  body.ks-sutta-app-page .kp-sutta-inner {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
    background: var(--ks-color-surface) !important;
  }
  body.ks-sutta-app-page .ks-sutta-sidebar,
  body.ks-sutta-app-page .ks-sutta-responsive-sidebar-toggle,
  body.ks-sutta-app-page .ks-sutta-responsive-sidebar-backdrop,
  body.ks-sutta-app-page .ks-sutta-app-view-rail,
  body.ks-sutta-app-page .ks-sutta-app-rail,
  body.ks-sutta-app-page .ks-sutta-app-map-popover,
  body.ks-sutta-app-page .kp-view-controls,
  body.ks-sutta-app-page .kp-reader-actionbar,
  body.ks-sutta-app-page .kp-reader-reference-actionbar,
  body.ks-sutta-app-page .ks-reader-map-host,
  body.ks-sutta-app-page .kp-control-tooltip,
  body.ks-sutta-app-page .kp-segment-reference-button { display: none !important; }
  body.ks-sutta-app-page .kp-sutta-hero { break-after: avoid-page; background: var(--ks-color-surface) !important; }
  body.ks-sutta-app-page .kp-sutta-body { color: #111 !important; font-size: 10.5pt !important; line-height: 1.55 !important; }
  body.ks-sutta-app-page .kp-segment,
  body.ks-sutta-app-page .kp-segment-row,
  body.ks-sutta-app-page blockquote,
  body.ks-sutta-app-page table { break-inside: avoid-page; }
  body.ks-sutta-app-page a { color: inherit !important; text-decoration: none !important; }
}

/* 6.8.654 — Mi biblioteca significativa: punto de retorno explícito y workspace editorial. */
.kp-resume-toggle .kp-resume-bookmark-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linejoin: round;
}
.kp-resume-toggle.is-active .kp-resume-bookmark-icon svg {
  fill: color-mix(in srgb, currentColor 18%, transparent);
}
.ks-sutta-library-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr);
  gap: 18px;
  align-items: stretch;
  margin: clamp(24px, 4vw, 40px) 0 0;
}
.ks-sutta-library-overview > .ks-sutta-library-block,
.ks-sutta-library-overview > .ks-sutta-library-summary {
  margin: 0;
}
.ks-sutta-library-overview .ks-sutta-library-continue {
  display: flex;
  flex-direction: column;
  min-height: 310px;
  border-color: color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 28%, transparent);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 6%, var(--ks-color-surface)), var(--ks-color-surface) 60%);
}
.ks-sutta-library-section-intro {

  margin: 7px 0 0 !important;
  color: var(--ks-app-muted, var(--ks-color-muted)) !important;


}
.ks-sutta-library-overview .ks-sutta-library-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ks-sutta-library-overview .ks-sutta-library-metric {
  min-height: 0;
  padding: 18px 16px;
  border-radius: 18px;
}
.ks-sutta-library-overview .ks-sutta-library-metric > strong {
  font-size: clamp(30px, 4vw, 46px);
}
.ks-sutta-library-overview .ks-sutta-library-metric > span {
  font-size: calc(13px + var(--ks-mobile-type-step, 0px));
}
.ks-sutta-library-overview .ks-sutta-library-metric > small {
  max-width: 18ch;
}
.ks-sutta-library-empty-state.is-resume-empty {




  border: 1px dashed color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 32%, transparent);
  background: color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 4%, var(--ks-color-surface));
}
.ks-sutta-library-empty-state.is-resume-empty > strong {
  font-family: var(--ks-theme-heading-font-family, inherit);
  font-size: clamp(20px, 2.5vw, 27px);
  font-weight: 500;
}
.ks-sutta-library-empty-state.is-resume-empty > div {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}
.ks-sutta-library-empty-state.is-resume-empty a,
.ks-sutta-library-empty-state.is-resume-empty button {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 38%, transparent);
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);
  color: var(--ks-app-accent, #8a6d3b);
  font: inherit;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.ks-sutta-library-activity-mark.is-opened {
  border: 1px solid var(--ks-app-accent, #8a6d3b);

}

/* La vista completa deja de heredar el aspecto técnico del panel lateral. */
.ks-sutta-library-workspace {
  padding: clamp(22px, 3vw, 34px);
}
.ks-sutta-library-workspace .ks-sutta-app-library-tab-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid color-mix(in srgb, var(--ks-library-tab-color) 30%, transparent);
  border-radius: 50%;
  color: var(--ks-library-tab-color);
}
.ks-sutta-library-workspace .ks-sutta-app-library-tab-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ks-sutta-library-workspace .ks-sutta-app-library-tab-copy strong,
.ks-sutta-library-workspace .ks-sutta-app-library-tab-copy span {
  display: block;
}
.ks-sutta-library-workspace .ks-sutta-app-library-tab-copy strong {
  color: var(--ks-library-tab-color);

  line-height: 1;
}
.ks-sutta-library-workspace .ks-sutta-app-library-tab-copy span {
  margin-top: 4px;

  font-weight: 700;

  text-transform: uppercase;
}
.ks-sutta-library-data {
  padding-block: 22px;
  background: color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 2%, var(--ks-color-surface));
}

@media (max-width: 980px) {
  .ks-sutta-library-overview { grid-template-columns: 1fr; }
  .ks-sutta-library-overview .ks-sutta-library-continue { min-height: 0; }
  .ks-sutta-library-overview .ks-sutta-library-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .ks-sutta-library-overview .ks-sutta-library-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Paleta semántica compartida por lector,
menú y página completa. */
:root {
  --ks-library-favorite: #82691f;
  --ks-library-resume: #76536f;
  --ks-library-segment: #a45136;
  --ks-library-read: #4f746b;
  --ks-library-list: #59628a;
}
/* 6.8.655 — Jerarquía visual y código cromático coherente de Mi biblioteca. */
.ks-sutta-library-shell {
  --ks-library-opened: #8a6d3b;
  width: min(1240px, 100%);
}
.ks-sutta-app.is-library-surface .ks-sutta-library-page {
  font-size: calc(16px + var(--ks-mobile-type-step, 0px));
  line-height: 1.55;
}
.ks-sutta-library-eyebrow {
  font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important;
  letter-spacing: .13em;
}
.ks-sutta-library-sync strong { font-size: calc(14px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-library-sync small { font-size: calc(12px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-library-sync button,
.ks-sutta-library-sync a { font-size: calc(13px + var(--ks-mobile-type-step, 0px)); }

/* Las secciones dejan de competir entre sí: cabecera,
regla y acento propio. */
.ks-sutta-library-block {
  border-radius: 22px;
  box-shadow: 0 1px 0 rgba(72,58,35,.025);
}
.ks-sutta-library-block > header {
  align-items: start;
  padding-bottom: 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--ks-app-border, var(--ks-color-line)) 78%, transparent);
}
.ks-sutta-library-block > header h2 {
  font-size: clamp(27px, 3vw, 37px) !important;
}
.ks-sutta-library-section-intro {
  max-width: 760px;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.6 !important;
}
.ks-sutta-library-continue { border-top: 4px solid var(--ks-library-resume); }
.ks-sutta-library-activity { border-top: 4px solid var(--ks-library-opened); }
.ks-sutta-library-nikayas { border-top: 4px solid var(--ks-library-read); }
.ks-sutta-library-workspace { border-top: 4px solid var(--ks-app-accent, #8a6d3b); }
.ks-sutta-library-data { border-top: 3px solid color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 55%, transparent); }

/* El resumen superior funciona como navegación visual,
no como cuatro cajas neutras. */
.ks-sutta-library-overview .ks-sutta-library-summary {
  align-content: start;
  padding: 18px;
  border: 1px solid var(--ks-app-border, var(--ks-color-line));
  border-radius: 22px;
  background: color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 2.4%, var(--ks-color-surface));
}
.ks-sutta-library-summary-head {
  grid-column: 1 / -1;
  padding: 2px 2px 10px;
}
.ks-sutta-library-summary-head h2 {
  margin: 0 !important;
  color: var(--ks-app-text, #2f2a22) !important;
  font-size: clamp(23px, 2.6vw, 31px) !important;
  line-height: 1.12 !important;
}
.ks-sutta-library-summary-head > p:last-child {
  margin: 7px 0 0 !important;
  color: var(--ks-app-muted, var(--ks-color-muted)) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.5 !important;
}
.ks-sutta-library-metric {
  --ks-library-status-color: var(--ks-app-accent, #8a6d3b);
  position: relative;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  column-gap: 12px;
  row-gap: 4px;
  align-content: start;
  overflow: hidden;
  border-top: 4px solid var(--ks-library-status-color);
  background: color-mix(in srgb, var(--ks-library-status-color) 4.5%, var(--ks-color-surface));
}
.ks-sutta-library-metric.is-in_progress { --ks-library-status-color: var(--ks-library-resume); }
.ks-sutta-library-metric.is-passage { --ks-library-status-color: var(--ks-library-segment); }
.ks-sutta-library-metric.is-read { --ks-library-status-color: var(--ks-library-read); }
.ks-sutta-library-metric.is-favorite { --ks-library-status-color: var(--ks-library-favorite); }
.ks-sutta-library-metric.is-list { --ks-library-status-color: var(--ks-library-list); }
.ks-sutta-library-metric-icon {
  display: inline-grid;
  grid-column: 1;
  grid-row: 1;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--ks-library-status-color) 35%, transparent);
  border-radius: 50%;
  background: color-mix(in srgb, var(--ks-library-status-color) 10%, var(--ks-color-surface));
  color: var(--ks-library-status-color);
}
.ks-sutta-library-metric-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ks-sutta-library-metric > strong {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  color: var(--ks-library-status-color);
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 520;
}
.ks-sutta-library-metric > span,
.ks-sutta-library-metric > small,
.ks-sutta-library-metric-action { grid-column: 1 / -1; }
.ks-sutta-library-metric > span {
  margin-top: 7px;
  font-size: calc(16px + var(--ks-mobile-type-step, 0px));
  line-height: 1.25;
}
.ks-sutta-library-metric > small {
  max-width: none !important;
  color: var(--ks-app-muted, var(--ks-color-muted));
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px));
  line-height: 1.45;
}
.ks-sutta-library-metric-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  color: var(--ks-library-status-color);
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
button.ks-sutta-library-metric:hover,
button.ks-sutta-library-metric:focus-visible,
button.ks-sutta-library-metric.is-current {
  border-color: color-mix(in srgb, var(--ks-library-status-color) 48%, transparent);

  background: color-mix(in srgb, var(--ks-library-status-color) 10%, var(--ks-color-surface));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--ks-library-status-color) 12%, transparent);
  outline: none;
}
button.ks-sutta-library-metric.is-current .ks-sutta-library-metric-icon {
  background: var(--ks-library-status-color);
  color: var(--ks-color-surface);
}

/* El mismo código de color se repite en actividad y gestión. */
.ks-sutta-library-activity-mark {
  width: 10px;
  height: 10px;
}
.ks-sutta-library-activity-mark.is-completed { background: var(--ks-library-read); }
.ks-sutta-library-activity-mark.is-reading { background: var(--ks-library-resume); }
.ks-sutta-library-activity-mark.is-passage { background: var(--ks-library-segment); }
.ks-sutta-library-activity-mark.is-favorite { background: var(--ks-library-favorite); }
.ks-sutta-library-activity-mark.is-list { background: var(--ks-library-list); }
.ks-sutta-library-activity-mark.is-opened {
  border-color: var(--ks-library-opened);
  background: transparent;
}
.ks-sutta-library-activity li a,
.ks-sutta-library-activity li > div { padding: 13px 5px; }
.ks-sutta-library-activity li span small { font-size: calc(11px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-library-activity li span strong { font-size: calc(14.5px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-library-activity time { font-size: calc(12px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-library-activity-note,
.ks-sutta-library-denominator {
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.55 !important;
}
.ks-sutta-library-nikaya-row > div:first-child span,
.ks-sutta-library-nikaya-row > p { font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-library-nikaya-row > div:first-child strong { font-size: calc(14px + var(--ks-mobile-type-step, 0px)); }
.ks-sutta-library-workspace .ks-sutta-app-library-tab-copy strong { font-size: 24px; }
.ks-sutta-library-workspace .ks-sutta-app-library-tab-copy span {
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px));
  letter-spacing: .045em;
}
.ks-sutta-library-empty-state { font-size: calc(15px + var(--ks-mobile-type-step, 0px)); }

@media (max-width: 980px) {
  .ks-sutta-library-overview .ks-sutta-library-summary { padding: 16px; }
  .ks-sutta-library-summary-head { grid-column: 1 / -1; }
  .ks-sutta-library-metric > strong { font-size: 36px; }
}
@media (max-width: 700px) {
  .ks-sutta-library-metric { min-height: 156px; }
  .ks-sutta-library-summary-head > p:last-child { font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important; }
}
@media (max-width: 430px) {
  .ks-sutta-library-overview .ks-sutta-library-summary { grid-template-columns: 1fr; }
  .ks-sutta-library-metric { min-height: 0; }
}

/* 6.8.656 — coherencia editorial,
retomar reconocible,
gutter estable y PDF paginado. */
:root {
  --ks-library-line-size: 4px;
}

/* KarunaPura sitúa el acento editorial debajo del contenedor,
no encima. */
.ks-sutta-library-continue,
.ks-sutta-library-activity,
.ks-sutta-library-nikayas,
.ks-sutta-library-workspace,
.ks-sutta-library-data {
  border-top-width: 1px !important;
  border-top-color: var(--ks-app-border, var(--ks-color-line)) !important;
}
.ks-sutta-library-continue { border-bottom: var(--ks-library-line-size) solid var(--ks-library-resume) !important; }
.ks-sutta-library-activity { border-bottom: var(--ks-library-line-size) solid var(--ks-library-opened) !important; }
.ks-sutta-library-nikayas { border-bottom: var(--ks-library-line-size) solid var(--ks-library-read) !important; }
.ks-sutta-library-workspace { border-bottom: var(--ks-library-line-size) solid var(--ks-app-accent, #8a6d3b) !important; }
.ks-sutta-library-data { border-bottom: 3px solid color-mix(in srgb, var(--ks-app-accent, #8a6d3b) 55%, transparent) !important; }

.ks-sutta-library-metric {
  border-top-width: 1px !important;
  border-top-color: color-mix(in srgb, var(--ks-library-status-color) 22%, var(--ks-app-border, var(--ks-color-line))) !important;
  border-bottom: var(--ks-library-line-size) solid var(--ks-library-status-color) !important;
}
button.ks-sutta-library-metric:hover,
button.ks-sutta-library-metric:focus-visible,
button.ks-sutta-library-metric.is-current {
  border-top-color: color-mix(in srgb, var(--ks-library-status-color) 42%, transparent) !important;
  border-bottom-color: var(--ks-library-status-color) !important;
}

/* El scrollbar del menú lateral tiene su espacio reservado desde el inicio. */
.ks-sutta-app .ks-sutta-sidebar-scroll,
body.ks-sutta-app-standalone .ks-sutta-app .ks-sutta-sidebar-scroll,
.ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-sidebar-scroll {
  scrollbar-gutter: stable !important;
}

.ks-sutta-app-library-load-more {
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, #9a642f 28%, transparent);

  background: var(--ks-color-surface);
  color: #6f4926;
  font: inherit;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  font-weight: 650;
  cursor: pointer;
}
.ks-sutta-app-library-load-more {
  display: flex;
  justify-content: center;
  gap: 9px;
  width: calc(100% - 20px);
  margin: 12px auto;
  border-radius: 9px;
}
.ks-sutta-app-library-load-more small { color: var(--ks-app-muted, var(--ks-color-muted)); }
.ks-sutta-app-library-group.is-passage-group .ks-sutta-app-library-group-toggle strong { text-transform: none; }

/* Confirmación visible al guardar o retirar un punto de retorno. */
.ks-sutta-app-feedback {
  box-sizing: border-box;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: var(--ks-layer-notice, 1000900);
  width: min(390px, calc(100vw - 32px));
  padding: 12px 15px;
  border: 1px solid color-mix(in srgb, var(--ks-color-accent) 38%, transparent);
  border-radius: var(--ks-radius-panel);
  background: rgba(255,255,255,.98);
  box-shadow: 0 16px 36px rgba(42,33,12,.16);
  color: #353535;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px));
  font-weight: 560;
  line-height: 1.4;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .18s ease, transform .18s ease;
}
.ks-sutta-app-feedback.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 520px) {
  .ks-sutta-app-feedback {
    right: 16px;
    bottom: max(16px, env(safe-area-inset-bottom, 0px));
    left: 16px;
    width: auto;
  }
}

/* 6.8.663 — overlay contextual fuera del contenedor desplazable del lector.
   Al vivir directamente bajo body no hereda recortes,
transforms ni sistemas
   de coordenadas de WordPress,
Salient o la shell de Sutta App. */
body > .kp-reader-reference-overlay {
  box-sizing: border-box;
  position: fixed !important;
  z-index: var(--ks-layer-dialog, 1000500) !important;
  display: inline-flex !important;
  align-items: center;
  flex-wrap: wrap !important;
  gap: 2px;
  width: max-content;
  max-width: calc(100vw - 24px);
  margin: 0 !important;
  padding: 4px !important;
  overflow: visible !important;
  border: 1px solid color-mix(in srgb, var(--ks-color-accent) 24%, #d8d3ca);
  border-radius: 9px !important;
  background: rgba(255,255,255,.99) !important;
  box-shadow: 0 8px 24px rgba(48,40,28,.16);
  color: #4a463f;
  font-family: "Noto Sans", "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  line-height: 1.2;
  pointer-events: auto;
}
body > .kp-reader-reference-overlay[hidden] {
  display: none !important;
}
body > .kp-reader-reference-overlay .kp-reader-action {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 30px;
  margin: 0;
  padding: 4px 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px));
  font-weight: 620;
  text-align: center;
  overflow-wrap: normal;
  white-space: nowrap;
  cursor: pointer;
}
body > .kp-reader-reference-overlay .kp-reader-action > span:last-child {
  min-width: 0;
}
body > .kp-reader-reference-overlay .kp-reader-action:hover,
body > .kp-reader-reference-overlay .kp-reader-action:focus-visible {
  background: color-mix(in srgb, var(--ks-color-accent) 9%, var(--ks-color-surface));
  color: var(--ks-color-accent);
  outline: none;
}
body > .kp-reader-reference-overlay .kp-reader-action:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--ks-color-accent) 34%, transparent);
}
body > .kp-reader-reference-overlay .kp-reader-action.is-saved {
  color: #865044;
}
body > .kp-reader-reference-overlay .kp-reader-action-icon {
  display: inline-grid;
  place-items: center;
  width: 14px;
  height: 14px;
}
body > .kp-reader-reference-overlay .kp-reader-action-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body > .kp-reader-reference-overlay::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: var(--kp-reference-arrow-left, 20px);
  width: 9px;
  height: 9px;
  border-right: 1px solid color-mix(in srgb, var(--ks-color-accent) 24%, #d8d3ca);
  border-bottom: 1px solid color-mix(in srgb, var(--ks-color-accent) 24%, #d8d3ca);
  background: var(--ks-color-surface);
  transform: translateX(-50%) rotate(45deg);
}
body > .kp-reader-reference-overlay.is-below-reference::after {
  top: -5px;
  bottom: auto;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--ks-color-accent) 24%, #d8d3ca);
  border-left: 1px solid color-mix(in srgb, var(--ks-color-accent) 24%, #d8d3ca);
}
@media (max-width: 520px) {
  body > .kp-reader-reference-overlay {
    justify-content: flex-start;
    width: max-content;
    max-width: calc(100vw - 20px);
  }
  body > .kp-reader-reference-overlay .kp-reader-action {
    flex: 0 1 auto;
    min-height: 34px;
    padding-inline: 9px;
    white-space: normal;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ks-sutta-app-feedback { transition: none; }
}

/* Impresión: la clase la añade el propio botón,
por lo que no depende de las
   clases que WordPress o Salient hayan colocado en body. Toda la cadena del
   lector se libera del viewport fijo y del scroll interno antes de paginar. */
@media print {
  @page { size: auto; margin: 15mm 14mm 17mm; }

  html,
  body,
  body.ks-sutta-printing {
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
    background: var(--ks-color-surface) !important;
  }

  body.ks-sutta-printing * {
    visibility: hidden !important;
  }
  body.ks-sutta-printing .ks-sutta-app-reader,
  body.ks-sutta-printing .ks-sutta-app-reader * {
    visibility: visible !important;
  }

  body.ks-sutta-printing .ks-sutta-app,
  body.ks-sutta-printing .ks-sutta-app-layout,
  body.ks-sutta-printing .ks-sutta-app-reader,
  body.ks-sutta-printing .ks-sutta-app-native-reader,
  body.ks-sutta-printing .kp-reader-scope,
  body.ks-sutta-printing .kp-sutta-page,
  body.ks-sutta-printing .kp-sutta-inner,
  body.ks-sutta-printing .kp-sutta-body,
  body.ks-sutta-printing .kp-continuous-translation {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
    scrollbar-gutter: auto !important;
    transform: none !important;
    contain: none !important;
    clip: auto !important;
    clip-path: none !important;
  }

  body.ks-sutta-printing .ks-sutta-app-reader {
    padding: 0 !important;
    border: 0 !important;
    background: var(--ks-color-surface) !important;
    box-shadow: none !important;
  }
  body.ks-sutta-printing .ks-sutta-app-reader::-webkit-scrollbar,
  body.ks-sutta-printing .ks-sutta-app-native-reader::-webkit-scrollbar,
  body.ks-sutta-printing .kp-sutta-page::-webkit-scrollbar {
    display: none !important;
  }

  body.ks-sutta-printing .ks-sutta-sidebar,
  body.ks-sutta-printing .ks-sutta-responsive-sidebar-toggle,
  body.ks-sutta-printing .ks-sutta-responsive-sidebar-backdrop,
  body.ks-sutta-printing .ks-sutta-app-view-rail,
  body.ks-sutta-printing .ks-sutta-app-rail,
  body.ks-sutta-printing .ks-sutta-app-map-popover,
  body.ks-sutta-printing .kp-view-controls,
  body.ks-sutta-printing .kp-version-control,
  body.ks-sutta-printing .kp-publication-control,
  body.ks-sutta-printing .kp-reader-floating-panel,
  body.ks-sutta-printing .kp-reader-reference-actionbar,
  body.ks-sutta-printing .kp-note-marker,
  body.ks-sutta-printing .kp-note-tooltip,
  body.ks-sutta-printing .kp-gloss-tooltip,
  body.ks-sutta-printing .ks-reader-map-host,
  body.ks-sutta-printing .kp-control-tooltip,
  body.ks-sutta-printing .kp-segment-reference-button,
  body.ks-sutta-printing .kp-sutta-bottom-nav {
    display: none !important;
  }

  body.ks-sutta-printing .kp-sutta-hero {
    break-after: avoid-page;
    background: var(--ks-color-surface) !important;
  }
  body.ks-sutta-printing .kp-hero-inner,
  body.ks-sutta-printing .kp-sutta-inner,
  body.ks-sutta-printing .kp-sutta-credits {
    width: 100% !important;
    max-width: none !important;
  }
  body.ks-sutta-printing .kp-sutta-body {
    color: #111 !important;
    font-size: 10.5pt !important;
    line-height: 1.55 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  body.ks-sutta-printing .kp-structural-heading,
  body.ks-sutta-printing h1,
  body.ks-sutta-printing h2,
  body.ks-sutta-printing h3,
  body.ks-sutta-printing h4 {
    break-after: avoid-page;
  }
  body.ks-sutta-printing .kp-segment,
  body.ks-sutta-printing .kp-segment-row,
  body.ks-sutta-printing .kp-paragraph {
    break-inside: auto !important;
  }
  body.ks-sutta-printing blockquote,
  body.ks-sutta-printing table,
  body.ks-sutta-printing .kp-side-pair {
    break-inside: avoid-page;
  }
  body.ks-sutta-printing a {
    color: inherit !important;
    text-decoration: none !important;
  }
}

/* Refuerzo de especificidad para la shell autónoma,
que en pantalla está fijada
   al viewport mediante selectores deliberadamente fuertes. */
@media print {
  html body.ks-sutta-printing,
  html body.ks-sutta-printing.ks-sutta-app-standalone,
  html body.ks-sutta-printing.ks-sutta-app-immersive {
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html body.ks-sutta-printing.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"],
  html body.ks-sutta-printing.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-fullbleed,
  html body.ks-sutta-printing.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html body.ks-sutta-printing.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout,
  html body.ks-sutta-printing.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-layout,
  html body.ks-sutta-printing.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].is-panel-collapsed .ks-sutta-app-layout,
  html body.ks-sutta-printing.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-layout {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html body.ks-sutta-printing.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader,
  html body.ks-sutta-printing.ks-sutta-app-standalone .ks-sutta-app[data-ks-sutta-app-fullbleed="1"].has-reader-open .ks-sutta-app-reader,
  html body.ks-sutta-printing.ks-sutta-app-immersive .ks-sutta-app[data-ks-sutta-app-fullbleed="1"] .ks-sutta-app-reader {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    -webkit-overflow-scrolling: auto !important;
    scrollbar-gutter: auto !important;
  }
}

/* 6.8.657 — cierre editorial: lectura significativa del recorrido. */
#ks-library-overview,
#ks-library-activity,
#ks-library-nikayas,
#ks-library-workspace,
#ks-library-data {
  scroll-margin-top: 22px;
}

/* El vacío de Retomar explica la acción sin ocupar media pantalla. */
.ks-sutta-library-overview .ks-sutta-library-continue.is-empty {
  min-height: 0;
}
.ks-sutta-library-empty-state.is-resume-empty {
  flex: 0 0 auto;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: normal;
  align-items: start;
  min-height: 0;
  padding: clamp(20px, 3vw, 30px);
}
.ks-sutta-library-resume-empty-icon {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 1px solid color-mix(in srgb, var(--ks-library-resume, #8f7428) 34%, transparent);
  border-radius: 50%;
  background: color-mix(in srgb, var(--ks-library-resume, #8f7428) 10%, var(--ks-color-surface));
  color: var(--ks-library-resume, #8f7428);
}
.ks-sutta-library-resume-empty-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ks-sutta-library-resume-empty-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.ks-sutta-library-empty-state.is-resume-empty .ks-sutta-library-resume-empty-copy > strong {
  font-family: var(--ks-theme-heading-font-family, inherit);
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 500;
  line-height: 1.25;
}
.ks-sutta-library-resume-empty-copy > span {
  max-width: 68ch;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px));
  line-height: 1.55;
}
.ks-sutta-library-resume-empty-copy ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 9px 0 3px !important;
  padding: 0 !important;
  list-style: none !important;
}
.ks-sutta-library-resume-empty-copy li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--ks-library-resume, #8f7428) 17%, transparent);
  border-radius: 11px;
  background: rgba(255,255,255,.74);
}
.ks-sutta-library-resume-empty-copy li b {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--ks-library-resume, #8f7428);
  color: var(--ks-color-surface);
  font-size: calc(11px + var(--ks-mobile-type-step, 0px));
}
.ks-sutta-library-resume-empty-copy li span {
  color: var(--ks-app-text, #2f2a22);
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
  line-height: 1.35;
}
.ks-sutta-library-empty-state.is-resume-empty .ks-sutta-library-resume-empty-copy > div {
  margin-top: 7px;
}

/* Los porcentajes se acompañan de una lectura humana del recorrido. */
.ks-sutta-library-journey-summary {
  display: grid;
  gap: 4px;
  margin: 0 0 18px;
  padding: 14px 16px 15px;
  border: 1px solid color-mix(in srgb, var(--ks-library-read, #4f746b) 22%, transparent);
  border-radius: 14px;
  border-bottom: 3px solid var(--ks-library-read, #4f746b);
  background: color-mix(in srgb, var(--ks-library-read, #4f746b) 5%, var(--ks-color-surface));
}
.ks-sutta-library-journey-summary strong {
  color: var(--ks-library-read, #4f746b);
  font-size: calc(15px + var(--ks-mobile-type-step, 0px));
  line-height: 1.35;
}
.ks-sutta-library-journey-summary span {
  color: var(--ks-app-muted, var(--ks-color-muted));
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px));
  line-height: 1.5;
}
.ks-sutta-library-journey-summary.is-empty {
  border-bottom-color: color-mix(in srgb, var(--ks-library-read, #4f746b) 55%, transparent);
}

@media (max-width: 700px) {
  .ks-sutta-library-resume-empty-copy ol { grid-template-columns: 1fr; }
}
@media (max-width: 470px) {
  .ks-sutta-library-empty-state.is-resume-empty { grid-template-columns: 1fr; }
  .ks-sutta-library-resume-empty-icon { width: 50px; height: 50px; }
}
.ks-sutta-library-empty-state.is-resume-empty > .ks-sutta-library-resume-empty-copy {
  display: grid;
  flex-wrap: initial;
  gap: 7px;
  margin-top: 0;
}

/* 6.8.659 — gramática del lector: los conmutadores cambian la vista; esta
   barra agrupa acciones persistentes y la selección de un segmento. */
.ks-sutta-app-reader .kp-reader-actionbar {
  position: relative;
  z-index: var(--ks-layer-sticky, 1000010);



  border-top: 1px solid color-mix(in srgb, var(--ks-color-accent) 20%, transparent);
  font-family: "Noto Sans", "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.ks-sutta-app-reader .kp-reader-actionbar-main,
.ks-sutta-app-reader .kp-reader-reference-actionbar,
.ks-sutta-app-reader .kp-reader-share-options {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.ks-sutta-app-reader .kp-reader-reference-actionbar[hidden],
.ks-sutta-app-reader .kp-reader-share-panel[hidden],
.ks-sutta-app-reader .kp-reader-action[hidden] { display: none !important; }
.ks-sutta-app-reader .kp-reader-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid color-mix(in srgb, var(--ks-color-accent) 32%, #d8d3ca);
  border-radius: var(--ks-radius-pill);
  background: var(--ks-color-surface);
  color: #413f39;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.ks-sutta-app-reader .kp-reader-action:hover,
.ks-sutta-app-reader .kp-reader-action:focus-visible {
  border-color: var(--ks-color-accent);
  color: var(--ks-color-accent);
}
.ks-sutta-app-reader .kp-reader-action.is-primary,
.ks-sutta-app-reader .kp-reader-action.is-saved {
  border-color: var(--ks-color-accent);
  background: var(--ks-color-accent);
  color: var(--ks-color-surface);
}
.ks-sutta-app-reader .kp-reader-action.is-subtle {
  border-color: transparent;
  background: transparent;
  font-weight: 500;
}
.ks-sutta-app-reader .kp-reader-reference-actionbar {
  margin-top: 12px;



}
.ks-sutta-app-reader .kp-reader-reference-actionbar > strong { margin-right: auto; }
.ks-sutta-app-reader .kp-reader-share-panel {
  position: fixed;
  z-index: var(--ks-layer-dialog, 1000500) !important;
  left: 50%;
  top: 50%;

  max-height: calc(100vh - 32px);
  overflow: auto;
  transform: translate(-50%, -50%);

  border: 1px solid rgba(120, 103, 82, .24);

  background: var(--ks-color-surface);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .24);
}
.ks-sutta-app-reader .kp-reader-share-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.ks-sutta-app-reader .kp-reader-share-head > button {


  border: 0;
  border-radius: 50%;


  cursor: pointer;
}
.ks-sutta-app-reader .kp-reader-share-options button {





  cursor: pointer;
}

/* Capas coherentes: el contenido flotante nunca queda debajo de los controles. */
.ks-sutta-app-reader .kp-view-controls { z-index: var(--ks-layer-controls, 1000100) !important; }
.ks-sutta-app-reader .kp-version-menu:not([hidden]),
.ks-sutta-app-reader .kp-publication-panel:not([hidden]) { z-index: var(--ks-layer-popover, 1000300) !important; }
.ks-sutta-app-reader .kp-gloss-tooltip,
.ks-sutta-app-reader .kp-note-tooltip { z-index: var(--ks-layer-tooltip, 1000350) !important; }

@media (max-width: 767px) {
  .ks-sutta-app-reader .kp-reader-actionbar {
    width: min(calc(100vw - 24px), 1000px);
    margin-top: -24px;
  }

  .ks-sutta-app-reader .kp-reader-reference-actionbar > strong { width: 100%; }
}

/* 6.8.661 — compartir anclado,
segmentos unidos al texto e impresión sobria. */
.ks-sutta-app-reader .kp-reader-actionbar-main {
  position: relative !important;
}
.ks-sutta-app-reader .kp-reader-actionbar-main .kp-reader-share-panel {
  box-sizing: border-box;
  position: absolute !important;
  z-index: var(--ks-layer-dialog, 1000500) !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: min(380px, calc(100vw - 28px)) !important;
  max-height: min(72dvh, calc(100dvh - 100px));
  margin: 0 !important;
  padding: 14px !important;
  overflow: visible;
  transform: none !important;
  border: 1px solid color-mix(in srgb, var(--ks-color-accent) 24%, #d8d3ca) !important;
  border-radius: var(--ks-radius-panel) !important;
  background: rgba(255,255,255,.99) !important;
  box-shadow: 0 14px 38px rgba(48,40,28,.17) !important;
  color: #403b35;
  font-family: "Noto Sans", "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.ks-sutta-app-reader .kp-reader-share-panel::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 47px;
  width: 10px;
  height: 10px;
  border-top: 1px solid color-mix(in srgb, var(--ks-color-accent) 24%, #d8d3ca);
  border-left: 1px solid color-mix(in srgb, var(--ks-color-accent) 24%, #d8d3ca);
  background: var(--ks-color-surface);
  transform: rotate(45deg);
}
.ks-sutta-app-reader .kp-reader-share-head {
  margin-bottom: 8px;
}
.ks-sutta-app-reader .kp-reader-share-head > strong {
  color: #75632e;
  font-size: calc(11px + var(--ks-mobile-type-step, 0px));
  font-weight: 700;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.ks-sutta-app-reader .kp-reader-share-head > button {
  width: 28px !important;
  height: 28px !important;
  min-height: 0 !important;
  background: transparent !important;
  color: #6d675d;
  font-size: calc(19px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app-reader .kp-reader-share-sutta {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 0 0 12px !important;
  padding: 0 1px 11px;
  border-bottom: 1px solid rgba(109,91,56,.11);
  font-size: calc(14px + var(--ks-mobile-type-step, 0px));
  line-height: 1.35;
}
.ks-sutta-app-reader .kp-reader-share-sutta b {
  color: var(--ks-color-accent);
  font-size: calc(13px + var(--ks-mobile-type-step, 0px));
  font-weight: 750;
  letter-spacing: .02em;
}
.ks-sutta-app-reader .kp-reader-share-sutta > span:last-child {
  color: #403b35;
  font-weight: 500;
}
.ks-sutta-app-reader .kp-reader-share-url {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
}
.ks-sutta-app-reader .kp-reader-share-url input {
  box-sizing: border-box;
  width: 100%;
  height: 34px;
  min-width: 0;
  padding: 6px 9px;
  overflow: hidden;
  border: 1px solid rgba(109,91,56,.17);
  border-radius: 7px;
  background: #f8f7f3;
  color: #686157;
  font: 500 calc(11px + var(--ks-mobile-type-step, 0px))/1.2 "Noto Sans", sans-serif;
  text-overflow: ellipsis;
}
.ks-sutta-app-reader .kp-reader-share-url button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--ks-color-accent) 32%, transparent);
  border-radius: 50%;
  background: color-mix(in srgb, var(--ks-color-accent) 7%, var(--ks-color-surface));
  color: #675a28;
  cursor: pointer;
}
.ks-sutta-app-reader .kp-reader-share-options {
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: flex-end;
  gap: 7px !important;
  margin-top: 11px;
}
.ks-sutta-app-reader .kp-reader-share-options button {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  min-height: 36px !important;
  padding: 0 !important;
  border: 1px solid rgba(109,91,56,.16) !important;
  border-radius: 50% !important;
  background: var(--ks-color-surface) !important;
  color: #6c6530;
}
.ks-sutta-app-reader .kp-reader-share-options button:hover,
.ks-sutta-app-reader .kp-reader-share-options button:focus-visible {
  border-color: var(--ks-color-accent) !important;
  background: color-mix(in srgb, var(--ks-color-accent) 8%, var(--ks-color-surface)) !important;
  color: var(--ks-color-accent);
}
.ks-sutta-app-reader .kp-reader-share-icon,
.ks-sutta-app-reader .kp-reader-share-icon svg {
  width: 17px;
  height: 17px;
}
.ks-sutta-app-reader .kp-reader-share-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ks-sutta-app-reader [data-ks-share-channel="facebook"] .kp-reader-share-icon svg {
  fill: currentColor;
  stroke: none;
}

.ks-sutta-app-reader {
  position: relative !important;
}
.ks-sutta-app-reader > .kp-reader-reference-actionbar {
  position: absolute !important;
  z-index: var(--ks-layer-popover, 1000300) !important;
}
.ks-sutta-app-reader > .kp-reader-reference-actionbar::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: var(--kp-reference-arrow-left, 20px);
  width: 9px;
  height: 9px;
  border-right: 1px solid color-mix(in srgb, var(--ks-color-accent) 22%, var(--ks-color-line));
  border-bottom: 1px solid color-mix(in srgb, var(--ks-color-accent) 22%, var(--ks-color-line));
  background: var(--ks-color-surface);
  transform: translateX(-50%) rotate(45deg);
}
.ks-sutta-app-reader > .kp-reader-reference-actionbar.is-below-reference::after {
  top: -5px;
  bottom: auto;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--ks-color-accent) 22%, var(--ks-color-line));
  border-left: 1px solid color-mix(in srgb, var(--ks-color-accent) 22%, var(--ks-color-line));
}

.ks-sutta-app-feedback.is-success {
  border-color: #6f8c79;
  background: #4f746b;
  box-shadow: 0 16px 36px rgba(35,68,60,.25);
  color: var(--ks-color-surface);
}
.ks-sutta-app-feedback.is-error {
  border-color: #b86f63;
  background: #8f5148;
  color: var(--ks-color-surface);
}

@media (max-width: 560px) {
  .ks-sutta-app-reader .kp-reader-actionbar-main .kp-reader-share-panel {
    right: -37px !important;
    width: min(350px, calc(100vw - 20px)) !important;
  }
  .ks-sutta-app-reader .kp-reader-share-panel::before { right: 84px; }
  .ks-sutta-app-reader .kp-reader-share-url { grid-template-columns: 1fr; }
  .ks-sutta-app-reader .kp-reader-share-url button { justify-self: start; }
}

@media print {


  body.ks-sutta-printing .kp-sutta-body,
body.ks-sutta-printing .kp-sutta-body * {
    font-size: 10pt !important;
    line-height: 1.45 !important;
  }
  body.ks-sutta-printing .kp-sutta-hero {
    margin-bottom: 7mm !important;
    padding-top: 0 !important;
    padding-bottom: 5mm !important;
  }
  body.ks-sutta-printing .kp-hero-title,
body.ks-sutta-printing .kp-sutta-hero h1 {
    font-size: 24pt !important;
    line-height: 1.1 !important;
  }
  body.ks-sutta-printing .kp-hero-nikaya,
body.ks-sutta-printing .kp-hero-ref,
body.ks-sutta-printing .kp-pali-route,
body.ks-sutta-printing .kp-blurb {
    font-size: 10pt !important;
    line-height: 1.4 !important;
  }
  body.ks-sutta-printing a[href] {
    color: inherit !important;
    text-decoration: none !important;
  }
}

/* 6.8.660 — acciones discretas dentro de la barra existente y menú contextual
   mínimo junto a la referencia. No se añade una segunda franja al lector. */
.ks-sutta-app-reader .kp-reader-actionbar {
  display: contents !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.ks-sutta-app-reader .kp-reader-actionbar-main {

  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
  flex-wrap: nowrap !important;
  gap: 3px !important;
  margin-left: 5px;
  padding-left: 8px;
  border-left: 1px solid color-mix(in srgb, var(--ks-color-accent) 22%, transparent);
}
.ks-sutta-app-reader .kp-reader-resume-control,
.ks-sutta-app-reader .kp-reader-reference-resume-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
.ks-sutta-app-reader .kp-reader-actionbar-main .kp-reader-action {
  display: inline-grid !important;
  place-items: center;
  width: 31px !important;
  height: 31px !important;
  min-height: 31px !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: color-mix(in srgb, var(--ks-color-accent) 78%, #3f3b35) !important;
  box-shadow: none !important;
}
.ks-sutta-app-reader .kp-reader-actionbar-main .kp-reader-action:hover,
.ks-sutta-app-reader .kp-reader-actionbar-main .kp-reader-action:focus-visible {
  border-color: color-mix(in srgb, var(--ks-color-accent) 26%, transparent) !important;
  background: color-mix(in srgb, var(--ks-color-accent) 8%, var(--ks-color-surface)) !important;
  outline: none;
}
.ks-sutta-app-reader .kp-reader-actionbar-main .kp-reader-action.is-saved {
  border-color: transparent !important;
  background: transparent !important;
  color: var(--ks-library-resume) !important;
}
.ks-sutta-app-reader [data-ks-reader-resume-point].is-saved .kp-reader-action-icon svg { fill: var(--ks-library-resume) !important; stroke: var(--ks-library-resume) !important; }
.ks-sutta-app-reader .kp-reader-action-icon {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
}
.ks-sutta-app-reader .kp-reader-action-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ks-sutta-app-reader .kp-reader-resume-clear,
.kp-reader-reference-resume-clear {
  position: absolute;
  z-index: 3;
  top: -5px;
  right: -5px;
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--ks-library-resume) 32%, transparent);
  border-radius: 50%;
  background: var(--ks-color-surface);
  box-shadow: none;
  appearance: none;
  color: var(--ks-library-resume);
  font-size: 14px;
  font-weight: 620;
  line-height: 1;
  cursor: pointer;
}
.ks-sutta-app-reader .kp-reader-resume-clear:hover,
.ks-sutta-app-reader .kp-reader-resume-clear:focus-visible,
.kp-reader-reference-resume-clear:hover,
.kp-reader-reference-resume-clear:focus-visible {
  background: color-mix(in srgb, var(--ks-library-resume) 9%, var(--ks-color-surface));
  color: color-mix(in srgb, var(--ks-library-resume) 78%, #000);
  outline: none;
}
.ks-sutta-app-reader .kp-reader-resume-clear[hidden],
.kp-reader-reference-resume-clear[hidden] { display: none !important; }

.ks-sutta-app-reader .kp-reader-reference-actionbar {
  box-sizing: border-box;
  position: absolute !important;
  z-index: var(--ks-layer-popover, 1000300) !important;
  display: flex !important;
  align-items: center;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  width: min(760px, calc(100vw - 24px));
  max-width: min(760px, calc(100vw - 24px));
  margin: 0 !important;
  padding: 4px !important;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ks-color-accent) 22%, var(--ks-color-line));
  border-radius: 9px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 8px 24px rgba(48,40,28,.14);
  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
}
body.ks-sutta-app-page .kp-reader-reference-actionbar[hidden] { display: none !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 210px;
  gap: 5px;
  width: auto;
  min-width: 0;
  min-height: 30px;
  padding: 4px 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #4a463f;
  font-size: calc(11.5px + var(--ks-mobile-type-step, 0px));
  font-weight: 620;
  line-height: 1.25;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action:hover,
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action:focus-visible {
  background: color-mix(in srgb, var(--ks-color-accent) 9%, var(--ks-color-surface));
  color: var(--ks-color-accent);
  outline: none;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action--segment { border-color: color-mix(in srgb, var(--ks-library-segment) 26%, transparent) !important; background: color-mix(in srgb, var(--ks-library-segment) 5%, var(--ks-color-surface)) !important; color: var(--ks-library-segment) !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action--list { border-color: color-mix(in srgb, var(--ks-library-list) 26%, transparent) !important; background: color-mix(in srgb, var(--ks-library-list) 5%, var(--ks-color-surface)) !important; color: var(--ks-library-list) !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action--segment svg,
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action--list svg { fill: none !important; stroke: currentColor !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar [data-ks-reader-save-passage]:hover,
body.ks-sutta-app-page .kp-reader-reference-actionbar [data-ks-reader-save-passage]:focus-visible { background: color-mix(in srgb, var(--ks-library-segment) 10%, var(--ks-color-surface)) !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar [data-ks-reader-passage-list]:hover,
body.ks-sutta-app-page .kp-reader-reference-actionbar [data-ks-reader-passage-list]:focus-visible { background: color-mix(in srgb, var(--ks-library-list) 10%, var(--ks-color-surface)) !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action--segment.is-saved {
  border-color: color-mix(in srgb, var(--ks-library-segment) 38%, transparent) !important;
  background: color-mix(in srgb, var(--ks-library-segment) 10%, var(--ks-color-surface)) !important;
  color: var(--ks-library-segment) !important;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action-icon {
  width: 14px;
  height: 14px;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-reference-resume-control {
  flex: 0 0 auto;
  min-width: 0;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-reference-resume-control .kp-reader-action--resume {
  flex: 0 0 auto;
  width: auto;
}

.ks-sutta-app-reader .kp-reader-share-panel {
  width: min(390px, calc(100vw - 28px));
  padding: 15px;
  border-radius: 13px;
}

.ks-sutta-app-reader .kp-reader-share-options button {


  font-size: calc(12px + var(--ks-mobile-type-step, 0px));
}

/* La tarjeta lateral es un índice,
no una colección de botones grandes. */
.ks-sutta-sidebar-library {
  padding: 20px 18px 18px !important;
}

@media (max-width: 767px) {
  .ks-sutta-app-reader .kp-reader-actionbar-main {
    margin-left: 2px;
    padding-left: 5px;
  }
  .ks-sutta-app-reader .kp-reader-actionbar-main .kp-reader-action {
    flex: none !important;
    width: 30px !important;
    height: 30px !important;
  }
  .ks-sutta-app-reader .kp-reader-reference-actionbar {
    width: min(520px, calc(100vw - 24px));
    max-width: min(520px, calc(100vw - 24px));
  }
}

@media (max-width: 520px) {
  body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action {
    flex-basis: 100%;
  }
}

/* 6.8.662 — la selección contextual se calcula contra su offsetParent real.
   En impresión no hay acciones flotantes ni pie propio; la orientación queda
   en manos del diálogo del navegador y todo el cuerpo se normaliza a 10 pt. */
@media print {
  @page { size: auto; margin: 14mm 13mm 16mm; }

  html body.ks-sutta-printing .kp-reader-reference-actionbar,
  html body.ks-sutta-printing [data-ks-reader-reference-actionbar] {
    display: none !important;
    visibility: hidden !important;
  }

  html body.ks-sutta-printing .ks-sutta-app-reader .kp-sutta-body,
  html body.ks-sutta-printing .ks-sutta-app-reader .kp-sutta-body * {
    font-size: 10pt !important;
    line-height: 1.45 !important;
  }

  html body.ks-sutta-printing .ks-sutta-app-reader .kp-blurb,
  html body.ks-sutta-printing .ks-sutta-app-reader .kp-pali-route,
  html body.ks-sutta-printing .ks-sutta-app-reader .kp-hero-ref,
  html body.ks-sutta-printing .ks-sutta-app-reader .kp-hero-nikaya {
    font-size: 10pt !important;
    line-height: 1.4 !important;
  }
}

/* 6.8.664 — Biblioteca legible,
marca WhatsApp auténtica y enlaces de
   referencia imprimibles sin introducir ruido visual en el texto. */
.ks-sutta-app-reader [data-ks-share-channel="whatsapp"] .kp-reader-share-icon svg {
  fill: currentColor;
  stroke: none;
}
@media print {
  html body.ks-sutta-printing .ks-sutta-app-reader .kp-segment-ref[data-ks-print-reference-link="1"] {
    color: inherit !important;
    text-decoration: none !important;
  }
}

/* 6.8.667 — Autoridad única de pestañas de Mi biblioteca. */
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 0 1px !important;
  border-bottom: 1px solid rgba(109,91,56,.12) !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab] {
  display: grid !important;
  place-items: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  min-height: 58px !important;
  padding: 6px 1px 7px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(63,57,51,.68) !important;
  box-shadow: none !important;
  font: inherit !important;
  cursor: pointer !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab="favorite"] { --ks-library-tab-color: var(--ks-library-favorite); }
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab="in_progress"] { --ks-library-tab-color: var(--ks-library-resume); }
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab="passage"] { --ks-library-tab-color: var(--ks-library-segment); }
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab="read"] { --ks-library-tab-color: var(--ks-library-read); }
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab="list"] { --ks-library-tab-color: var(--ks-library-list); }
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab]:hover,
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab]:focus-visible,
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs > button[data-ks-library-tab][aria-selected="true"] {
  border-bottom-color: var(--ks-library-tab-color) !important;
  background: color-mix(in srgb, var(--ks-library-tab-color) 6%, transparent) !important;
  color: #403b34 !important;
  outline: none !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs .ks-sutta-app-library-tab-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ks-library-tab-color) !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs .ks-sutta-app-library-tab-icon svg { width: 14px !important; height: 14px !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs .ks-sutta-app-library-tab-copy strong {
  display: block !important;
  overflow: hidden !important;
  color: var(--ks-library-tab-color) !important;
  font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tabs .ks-sutta-app-library-tab-copy > span {
  display: block !important;
  min-height: 0 !important;
  overflow: hidden !important;
  color: rgba(63,57,51,.68) !important;
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.12 !important;
  letter-spacing: .015em !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.ks-sutta-library-workspace .ks-sutta-app-library-tabs {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 8px !important;
  border: 1px solid var(--ks-app-border, var(--ks-color-line)) !important;
  border-radius: 18px !important;
  background: var(--ks-color-surface) !important;
}
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab] {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 11px !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 78px !important;
  padding: 12px 14px !important;
  border: 1px solid color-mix(in srgb, var(--ks-library-tab-color) 18%, transparent) !important;
  border-radius: 13px !important;
  background: color-mix(in srgb, var(--ks-library-tab-color) 3.5%, var(--ks-color-surface)) !important;
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--ks-library-tab-color) 72%, transparent) !important;
  color: var(--ks-library-tab-color) !important;
  font: inherit !important;
  text-align: left !important;
  cursor: pointer !important;
}
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab="favorite"] { --ks-library-tab-color: var(--ks-library-favorite); }
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab="in_progress"] { --ks-library-tab-color: var(--ks-library-resume); }
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab="passage"] { --ks-library-tab-color: var(--ks-library-segment); }
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab="read"] { --ks-library-tab-color: var(--ks-library-read); }
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab="list"] { --ks-library-tab-color: var(--ks-library-list); }
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab]:hover,
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab]:focus-visible,
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab][aria-selected="true"] {
  border-color: color-mix(in srgb, var(--ks-library-tab-color) 52%, transparent) !important;
  background: color-mix(in srgb, var(--ks-library-tab-color) 12%, var(--ks-color-surface)) !important;
  box-shadow: inset 0 -4px 0 var(--ks-library-tab-color), 0 0 0 2px color-mix(in srgb, var(--ks-library-tab-color) 10%, transparent) !important;
  outline: none !important;
}
.ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[aria-selected="true"] .ks-sutta-app-library-tab-icon {
  border-color: var(--ks-library-tab-color) !important;
  background: var(--ks-library-tab-color) !important;
  color: var(--ks-color-surface) !important;
}
@media (max-width: 980px) {
  .ks-sutta-library-workspace .ks-sutta-app-library-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 430px) {
  .ks-sutta-library-workspace .ks-sutta-app-library-tabs { grid-template-columns: 1fr !important; }
  .ks-sutta-library-workspace .ks-sutta-app-library-tabs > button[data-ks-library-tab] { min-height: 68px !important; }
}

/* 6.8.670 — Autoridad única de la cabecera de Mi biblioteca. */
.ks-sutta-app-library-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-width: 0 !important;
}
.ks-sutta-app-library-open-full {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ks-color-ink) !important;
  font-size: calc(19px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: color .16s ease !important;
}
.ks-sutta-app-library-open-full span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ks-sutta-app-library-open-full svg {
  flex: 0 0 auto !important;
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transition: transform .16s ease !important;
}
.ks-sutta-app-library-open-full:hover,
.ks-sutta-app-library-open-full:focus-visible {
  background: transparent !important;
  color: var(--ks-color-accent) !important;
  outline: none !important;
}
.ks-sutta-app-library-open-full:hover svg,
.ks-sutta-app-library-open-full:focus-visible svg {
  transform: translateX(2px) !important;
}
.ks-sutta-app-library-open-full:focus-visible {
  box-shadow: 0 2px 0 var(--ks-color-accent) !important;
}
@media (prefers-reduced-motion: reduce) {
  .ks-sutta-app-library-open-full,
.ks-sutta-app-library-open-full svg { transition: none !important; }
}


/* Código cromático estable: Favoritos,
Retomar,
Segmentos {
  --ks-library-mode-color: var(--ks-library-favorite);
  --ks-library-mode-soft: color-mix(in srgb, var(--ks-library-favorite) 8%, transparent);
}
.ks-sutta-sidebar-library .ks-sutta-app-library-acronym { color: var(--ks-library-mode-color) !important; font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 750 !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-sep { color: rgba(63,57,51,.35) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-title-es { min-width: 0 !important; overflow: hidden !important; font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 580 !important; line-height: 1.25 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-app-library-passage-remove { width: 22px !important; font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1 !important; }
.ks-sutta-app-library-passage-confirm { display: inline-flex !important; align-items: center !important; gap: 7px !important; padding-left: 7px !important; border-left: 1px solid rgba(109,91,56,.13) !important; }
.ks-sutta-app-library-passage-confirm .is-danger { color: #92514a !important; }
.ks-sutta-app-library-subgroups { display: grid !important; margin-left: 9px !important; padding-left: 10px !important; border-left: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 20%, rgba(109,91,56,.1)) !important; }

/* Página completa: las mismas listas { display: grid !important; gap: 18px !important; max-height: none !important; overflow: visible !important; }

/* Retomar: tarjetas pequeñas { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }

@media (max-width: 980px) {
}
@media (max-width: 640px) {
}
@media (prefers-reduced-motion: reduce) {
}


/* Código cromático estable: Favoritos,
Retomar,
Segmentos {
  --ks-library-mode-color: var(--ks-library-favorite);
  --ks-library-mode-soft: color-mix(in srgb, var(--ks-library-favorite) 8%, transparent);
}
.ks-sutta-sidebar-library .ks-sutta-app-library-acronym { color: var(--ks-library-mode-color) !important; font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 750 !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-sep { color: rgba(63,57,51,.35) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-title-es { min-width: 0 !important; overflow: hidden !important; font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 580 !important; line-height: 1.25 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-excerpt { display: block !important; margin: 2px 0 0 !important; overflow: hidden !important; color: rgba(63,57,51,.72) !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.35 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-action { display: inline-flex !important; align-items: center !important; gap: 3px !important; min-height: 26px !important; padding: 3px 5px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; text-decoration: none !important; cursor: pointer !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-action:hover,
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-action:focus-visible { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-app-library-passage-remove { width: 22px !important; font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1 !important; }
.ks-sutta-app-library-passage-confirm { display: inline-flex !important; align-items: center !important; gap: 7px !important; padding-left: 7px !important; border-left: 1px solid rgba(109,91,56,.13) !important; }
.ks-sutta-app-library-passage-confirm .is-danger { color: #92514a !important; }
.ks-sutta-app-library-subgroups { display: grid !important; margin-left: 9px !important; padding-left: 10px !important; border-left: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 20%, rgba(109,91,56,.1)) !important; }

/* Página completa: las mismas listas { display: grid !important; gap: 18px !important; max-height: none !important; overflow: visible !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-excerpt { display: -webkit-box !important; margin: 2px 0 0 !important; overflow: hidden !important; color: rgba(63,57,51,.72) !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.35 !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 2 !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-action { display: inline-flex !important; align-items: center !important; gap: 4px !important; min-height: 29px !important; padding: 4px 7px !important; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; text-decoration: none !important; cursor: pointer !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-action:hover,
.ks-sutta-library-workspace .ks-sutta-app-library-passage-action:focus-visible { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-app-library-passage-action svg { width: 13px !important; height: 13px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.7 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.ks-sutta-app-library-passage-remove { display: grid !important; place-items: center !important; width: 26px !important; height: 26px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font: 500 calc(18px + var(--ks-mobile-type-step, 0px))/1 sans-serif !important; cursor: pointer !important; }
.ks-sutta-app-library-passage-remove:hover,
.ks-sutta-app-library-passage-remove:focus-visible { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-app-library-passage-confirm button { min-height: 26px !important; padding: 3px 6px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important; cursor: pointer !important; }
.ks-sutta-app-library-passage-confirm button:hover,
.ks-sutta-app-library-passage-confirm button:focus-visible { background: var(--ks-library-mode-soft) !important; outline: none !important; }

/* Retomar: tarjetas pequeñas { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }

@media (max-width: 980px) {
}
@media (max-width: 640px) {
}
@media (prefers-reduced-motion: reduce) {
}

/* 6.8.676 — Autoridad única del contenido de Mi biblioteca. */
/* Código cromático estable: Favoritos, Retomar, Segmentos, Leídos y Listas. */
.ks-sutta-sidebar-library .ks-sutta-app-library-panel,
.ks-sutta-library-workspace .ks-sutta-app-library-panel {
  --ks-library-mode-color: var(--ks-library-favorite);
  --ks-library-mode-soft: color-mix(in srgb, var(--ks-library-favorite) 8%, transparent);
}
.ks-sutta-sidebar-library .ks-sutta-app-library-panel.is-mode-in_progress,
.ks-sutta-library-workspace .ks-sutta-app-library-panel.is-mode-in_progress { --ks-library-mode-color: var(--ks-library-resume); --ks-library-mode-soft: color-mix(in srgb, var(--ks-library-resume) 8%, transparent); }
.ks-sutta-sidebar-library .ks-sutta-app-library-panel.is-mode-passage,
.ks-sutta-library-workspace .ks-sutta-app-library-panel.is-mode-passage { --ks-library-mode-color: var(--ks-library-segment); --ks-library-mode-soft: color-mix(in srgb, var(--ks-library-segment) 8%, transparent); }
.ks-sutta-sidebar-library .ks-sutta-app-library-panel.is-mode-read,
.ks-sutta-library-workspace .ks-sutta-app-library-panel.is-mode-read { --ks-library-mode-color: var(--ks-library-read); --ks-library-mode-soft: color-mix(in srgb, var(--ks-library-read) 8%, transparent); }
.ks-sutta-sidebar-library .ks-sutta-app-library-panel.is-mode-list,
.ks-sutta-library-workspace .ks-sutta-app-library-panel.is-mode-list { --ks-library-mode-color: var(--ks-library-list); --ks-library-mode-soft: color-mix(in srgb, var(--ks-library-list) 8%, transparent); }

/* Menú lateral: índice compacto conectado visualmente con la pestaña activa. */
.ks-sutta-sidebar-library .ks-sutta-app-library-panel {
  display: grid !important;
  gap: 12px !important;
  max-height: none !important;
  overflow: visible !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-section {
  display: grid !important;
  gap: 9px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 1px 0 0 !important;
  border: 0 !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-section > h4,
.ks-sutta-sidebar-library .ks-sutta-app-list-manager-head > h4 {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--ks-color-ink) !important;
  font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important;
  font-style: italic !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-section > h4::before,
.ks-sutta-sidebar-library .ks-sutta-app-list-manager-head > h4::before {
  content: "";
  width: 3px;
  height: 16px;
  border-radius: 2px;
  background: var(--ks-library-mode-color);
}
.ks-sutta-sidebar-library .ks-sutta-app-library-tools {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 32px !important;
  gap: 6px !important;
  align-items: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-search {
  display: grid !important;
  grid-template-columns: 17px minmax(0, 1fr) !important;
  gap: 7px !important;
  align-items: center !important;
  min-width: 0 !important;
  height: 33px !important;
  padding: 0 5px !important;
  border: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 32%, var(--ks-color-line-subtle)) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-search svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: var(--ks-library-mode-color) !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-search input[type="search"] {
  width: 100% !important;
  min-width: 0 !important;
  height: 31px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #474139 !important;
  font: 500 calc(12px + var(--ks-mobile-type-step, 0px))/1.2 "Noto Sans", sans-serif !important;
  outline: none !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-search:focus-within {
  border-bottom-color: var(--ks-library-mode-color) !important;
  box-shadow: 0 1px 0 var(--ks-library-mode-color) !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-filter-wrap { position: relative !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-filter-toggle {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: var(--ks-library-mode-soft) !important;
  color: var(--ks-library-mode-color) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-filter-toggle svg { width: 17px !important; height: 17px !important; overflow: visible !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.65 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-filter-count,
.ks-sutta-library-workspace .ks-sutta-app-library-filter-count { position: absolute !important; top: -6px !important; right: -6px !important; display: grid !important; place-items: center !important; min-width: 17px !important; height: 17px !important; padding: 0 4px !important; border: 2px solid var(--ks-color-surface) !important; border-radius: var(--ks-radius-pill) !important; background: var(--ks-library-mode-color) !important; color: var(--ks-color-surface) !important; font: 700 calc(9px + var(--ks-mobile-type-step, 0px))/1 "Noto Sans", sans-serif !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-filter-toggle:hover,
.ks-sutta-sidebar-library .ks-sutta-app-library-filter-toggle:focus-visible { background: color-mix(in srgb, var(--ks-library-mode-color) 14%, var(--ks-color-surface)) !important; outline: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 32%, transparent) !important; }
.ks-sutta-app-library-filter-popover {
  box-sizing: border-box !important;
  position: absolute !important;
  z-index: var(--ks-layer-popover, 1000300) !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  left: auto !important;
  display: block !important;
  width: min(226px, calc(100vw - 40px)) !important;
  margin: 0 !important;
  padding: 11px !important;
  overflow: visible !important;
  border: 1px solid rgba(109,91,56,.16) !important;
  border-radius: 10px !important;
  background: var(--ks-color-surface) !important;
  color: #454038 !important;
  box-shadow: 0 14px 32px rgba(48,40,28,.14) !important;
  isolation: isolate !important;
}
.ks-sutta-app-library-filter-popover[hidden] { display: none !important; }
.ks-sutta-app-library-filter-head { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; width: 100% !important; margin: 0 0 9px !important; padding: 0 0 8px !important; border-bottom: 1px solid rgba(109,91,56,.11) !important; }
.ks-sutta-app-library-filter-head strong { margin: 0 !important; color: #454038 !important; font: 650 calc(11px + var(--ks-mobile-type-step, 0px))/1.2 "Noto Sans", sans-serif !important; }
.ks-sutta-app-library-filter-head button { min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font: 650 calc(10px + var(--ks-mobile-type-step, 0px))/1.2 "Noto Sans", sans-serif !important; }
.ks-sutta-app-library-filter-fields { box-sizing: border-box !important; display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 9px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.ks-sutta-app-library-filter-popover label { box-sizing: border-box !important; display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 4px !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; color: #615b52 !important; font: 650 calc(10px + var(--ks-mobile-type-step, 0px))/1.2 "Noto Sans", sans-serif !important; }
.ks-sutta-app-library-filter-popover select[data-ks-library-sort],
.ks-sutta-app-library-filter-popover select[data-ks-library-type] { box-sizing: border-box !important; position: static !important; display: block !important; width: 100% !important; min-width: 0 !important; max-width: none !important; height: 34px !important; margin: 0 !important; padding: 4px 27px 4px 8px !important; border: 1px solid rgba(109,91,56,.17) !important; border-radius: 7px !important; background-color: var(--ks-color-surface) !important; color: #454038 !important; color-scheme: light !important; opacity: 1 !important; visibility: visible !important; font: 500 calc(12px + var(--ks-mobile-type-step, 0px))/1.2 "Noto Sans", sans-serif !important; text-indent: 0 !important; -webkit-text-fill-color: #454038 !important; }

.ks-sutta-sidebar-library .ks-sutta-app-library-groups {
  display: grid !important;
  gap: 0 !important;
  min-width: 0 !important;
  border-top: 1px solid rgba(109,91,56,.11) !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-group {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(109,91,56,.11) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-group-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 7px 3px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #454038 !important;
  font: inherit !important;
  text-align: left !important;
  cursor: pointer !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-group-toggle:hover,
.ks-sutta-sidebar-library .ks-sutta-app-library-group-toggle:focus-visible { background: var(--ks-library-mode-soft) !important; color: var(--ks-library-mode-color) !important; outline: none !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-group-copy { display: flex !important; align-items: center !important; gap: 6px !important; min-width: 0 !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-group-copy i { flex: 0 0 auto !important; color: var(--ks-library-mode-color) !important; font: 700 calc(18px + var(--ks-mobile-type-step, 0px))/1 sans-serif !important; transform: rotate(0deg) !important; transition: transform .14s ease !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-group.is-open .ks-sutta-app-library-group-copy i { transform: rotate(90deg) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-group-copy strong { overflow: hidden !important; color: inherit !important; font-size: calc(14.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 620 !important; line-height: 1.25 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-group-count { flex: 0 0 auto !important; color: rgba(63,57,51,.55) !important; font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 600 !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-list {
  display: grid !important;
  gap: 0 !important;
  min-width: 0 !important;
  margin: 0 0 5px 8px !important;
  padding: 0 0 0 12px !important;
  border: 0 !important;
  border-left: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 22%, rgba(109,91,56,.1)) !important;
  background: transparent !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-row-wrap { display: block !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid rgba(109,91,56,.075) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-row-wrap:last-child { border-bottom: 0 !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-entry,
.ks-sutta-sidebar-library .ks-sutta-app-library-entry:visited {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: auto auto minmax(0, 1fr) auto !important;
  gap: 2px 5px !important;
  align-items: baseline !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 7px 2px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #454038 !important;
  text-align: left !important;
  text-decoration: none !important;
}
.ks-sutta-sidebar-library .ks-sutta-app-library-entry:hover,
.ks-sutta-sidebar-library .ks-sutta-app-library-entry:focus-visible { background: var(--ks-library-mode-soft) !important; color: var(--ks-library-mode-color) !important; outline: none !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-acronym { color: var(--ks-library-mode-color) !important; font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 750 !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-sep { color: rgba(63,57,51,.35) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-title-es { min-width: 0 !important; overflow: hidden !important; font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 580 !important; line-height: 1.25 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-entry small { grid-column: 3 / span 2 !important; min-width: 0 !important; overflow: hidden !important; color: rgba(63,57,51,.54) !important; font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.25 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-kind,
.ks-sutta-library-workspace .ks-sutta-app-library-kind { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 2px 5px !important; border: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 28%, transparent) !important; border-radius: var(--ks-radius-pill) !important; background: var(--ks-library-mode-soft) !important; color: var(--ks-library-mode-color) !important; font-style: normal !important; font-weight: 720 !important; line-height: 1.1 !important; letter-spacing: .035em !important; text-transform: uppercase !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-kind { font-size: calc(9.5px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-kind { font-size: calc(8.5px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-entry.is-passage { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: 8px !important; align-items: center !important; padding: 7px 2px !important; overflow: hidden !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-main { display: block !important; width: 100% !important; min-width: 0 !important; padding: 3px 4px !important; overflow: hidden !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; color: inherit !important; text-align: left !important; text-decoration: none !important; cursor: pointer !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-main:hover,
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-main:focus-visible,
.ks-sutta-sidebar-library .ks-sutta-app-library-entry.is-passage.is-selected .ks-sutta-app-library-passage-main { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-head { display: flex !important; align-items: baseline !important; flex-wrap: wrap !important; gap: 3px 7px !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-head > strong { color: var(--ks-library-mode-color) !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-context { min-width: 0 !important; overflow: hidden !important; color: #454038 !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 620 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-entry.is-passage > small { display: none !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-excerpt { display: block !important; margin: 2px 0 0 !important; overflow: hidden !important; color: rgba(63,57,51,.72) !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.35 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-entry.is-passage > footer { display: inline-flex !important; align-items: center !important; justify-self: end !important; gap: 3px !important; margin: 0 !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-action { display: inline-flex !important; align-items: center !important; gap: 3px !important; min-height: 26px !important; padding: 3px 5px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; text-decoration: none !important; cursor: pointer !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-action:hover,
.ks-sutta-sidebar-library .ks-sutta-app-library-passage-action:focus-visible { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-app-library-passage-remove {  font-size: calc(18px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1 !important; }
.ks-sutta-app-library-passage-confirm { display: inline-flex !important; align-items: center !important; gap: 7px !important; padding-left: 7px !important; border-left: 1px solid rgba(109,91,56,.13) !important; }
.ks-sutta-app-library-passage-confirm .is-danger { color: #92514a !important; }
.ks-sutta-app-library-subgroups { display: grid !important; margin-left: 9px !important; padding-left: 10px !important; border-left: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 20%, rgba(109,91,56,.1)) !important; }

.ks-sutta-sidebar-library .ks-sutta-app-list-manager { display: grid !important; gap: 9px !important; min-width: 0 !important; }
.ks-sutta-sidebar-library .ks-sutta-app-list-manager-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; }
.ks-sutta-sidebar-library .ks-sutta-app-list-nav { display: grid !important; grid-template-columns: auto minmax(0, 1fr) !important; gap: 9px !important; align-items: center !important; margin: 0 !important; padding: 6px 0 !important; border: 0 !important; border-bottom: 1px solid rgba(109,91,56,.11) !important; color: rgba(63,57,51,.62) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-list-nav select { width: 100% !important; min-width: 0 !important; height: 33px !important; padding: 4px 27px 4px 9px !important; border: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 24%, rgba(109,91,56,.12)) !important; border-radius: 7px !important; background-color: var(--ks-color-surface) !important; color: #454038 !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-list-toolbar { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 9px !important; min-width: 0 !important; padding: 3px 0 !important; border: 0 !important; }
.ks-sutta-sidebar-library .ks-sutta-app-list-toolbar > strong { min-width: 0 !important; overflow: hidden !important; color: var(--ks-color-ink) !important; font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-sidebar-library .ks-sutta-app-list-toolbar > span { display: inline-flex !important; gap: 8px !important; }
.ks-sutta-sidebar-library .ks-sutta-app-list-action { min-height: 28px !important; padding: 3px 8px !important; border: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 25%, transparent) !important; border-radius: 7px !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; cursor: pointer !important; }
.ks-sutta-sidebar-library [data-ks-library-list-delete],
.ks-sutta-sidebar-library [data-ks-library-list-confirm-delete] { color: #92514a !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-empty { display: grid !important; gap: 3px !important; padding: 11px 4px !important; border: 0 !important; border-radius: 0 !important; background: var(--ks-library-mode-soft) !important; color: #454038 !important; font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-empty strong { font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-sidebar-library .ks-sutta-app-library-empty span { color: rgba(63,57,51,.62) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; }

/* Página completa: las mismas listas, con más aire pero sin mini tarjetas. */
.ks-sutta-library-workspace .ks-sutta-app-library-panel { display: grid !important; gap: 18px !important; max-height: none !important; overflow: visible !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-section { display: grid !important; gap: 14px !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; border: 0 !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-section > h4,
.ks-sutta-library-workspace .ks-sutta-app-list-manager-head > h4 { display: flex !important; align-items: center !important; gap: 9px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; color: var(--ks-color-ink) !important; font-size: calc(19px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-section > h4::before,
.ks-sutta-library-workspace .ks-sutta-app-list-manager-head > h4::before { content: ""; width: 4px; height: 19px; border-radius: 2px; background: var(--ks-library-mode-color); }
.ks-sutta-library-workspace .ks-sutta-app-library-tools { position: relative !important; display: grid !important; grid-template-columns: minmax(0, 1fr) 36px !important; gap: 8px !important; align-items: center !important; max-width: 620px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-search { display: grid !important; grid-template-columns: 18px minmax(0, 1fr) !important; gap: 8px !important; align-items: center !important; height: 36px !important; padding: 0 8px !important; border: 1px solid var(--ks-color-line-subtle) !important; border-radius: var(--ks-radius-control) !important; background: var(--ks-color-surface) !important; box-shadow: none !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-search svg { width: 16px !important; height: 16px !important; fill: none !important; stroke: var(--ks-library-mode-color) !important; stroke-width: 1.7 !important; stroke-linecap: round !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-search input[type="search"] { width: 100% !important; min-width: 0 !important; height: 34px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: #454038 !important; font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important; outline: none !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-search:focus-within { border-color: var(--ks-library-mode-color) !important; box-shadow: 0 0 0 2px var(--ks-library-mode-soft) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-filter-wrap { position: relative !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-filter-toggle { position: relative !important; display: grid !important; place-items: center !important; width: 36px !important; height: 36px !important; min-height: 0 !important; padding: 0 !important; border: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 25%, rgba(109,91,56,.12)) !important; border-radius: var(--ks-radius-control) !important; background: var(--ks-library-mode-soft) !important; color: var(--ks-library-mode-color) !important; cursor: pointer !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-filter-toggle svg { width: 18px !important; height: 18px !important; overflow: visible !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.65 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-filter-popover { width: min(238px, calc(100vw - 40px)) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-groups { display: grid !important; gap: 0 !important; max-height: none !important; overflow: visible !important; border-top: 1px solid rgba(109,91,56,.12) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-group { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid rgba(109,91,56,.12) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-group-toggle { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; width: 100% !important; min-height: 44px !important; padding: 8px 5px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #454038 !important; text-align: left !important; cursor: pointer !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-group-toggle:hover,
.ks-sutta-library-workspace .ks-sutta-app-library-group-toggle:focus-visible { background: var(--ks-library-mode-soft) !important; color: var(--ks-library-mode-color) !important; outline: none !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-group-copy { display: flex !important; align-items: center !important; gap: 8px !important; min-width: 0 !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-group-copy i { flex: 0 0 auto !important; color: var(--ks-library-mode-color) !important; font: 700 calc(20px + var(--ks-mobile-type-step, 0px))/1 sans-serif !important; transition: transform .14s ease !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-group.is-open .ks-sutta-app-library-group-copy i { transform: rotate(90deg) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-group-copy strong { overflow: hidden !important; color: inherit !important; font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-group-count { flex: 0 0 auto !important; color: rgba(63,57,51,.56) !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-list { display: grid !important; gap: 0 !important; margin: 0 0 7px 10px !important; padding: 0 0 0 16px !important; max-height: none !important; overflow: visible !important; border: 0 !important; border-left: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 24%, rgba(109,91,56,.1)) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-row-wrap { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: 8px !important; align-items: center !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid rgba(109,91,56,.08) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-row-wrap:last-child { border-bottom: 0 !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-entry,
.ks-sutta-library-workspace .ks-sutta-app-library-entry:visited { display: grid !important; grid-template-columns: auto auto minmax(0, 1fr) auto !important; gap: 3px 7px !important; align-items: baseline !important; min-width: 0 !important; padding: 9px 5px !important; overflow: hidden !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #454038 !important; text-align: left !important; text-decoration: none !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-entry:hover,
.ks-sutta-library-workspace .ks-sutta-app-library-entry:focus-visible { background: var(--ks-library-mode-soft) !important; color: var(--ks-library-mode-color) !important; outline: none !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-acronym { color: var(--ks-library-mode-color) !important; font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 760 !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-title-es { min-width: 0 !important; overflow: hidden !important; font-size: calc(14px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 600 !important; line-height: 1.3 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-entry small { grid-column: 3 / span 2 !important; min-width: 0 !important; overflow: hidden !important; color: rgba(63,57,51,.56) !important; font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.3 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-entry.is-passage { display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto !important; gap: 12px !important; align-items: center !important; padding: 8px 5px !important; overflow: hidden !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-main { display: block !important; width: 100% !important; min-width: 0 !important; padding: 5px 6px !important; overflow: hidden !important; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: inherit !important; text-align: left !important; text-decoration: none !important; cursor: pointer !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-main:hover,
.ks-sutta-library-workspace .ks-sutta-app-library-passage-main:focus-visible,
.ks-sutta-library-workspace .ks-sutta-app-library-entry.is-passage.is-selected .ks-sutta-app-library-passage-main { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-head { display: flex !important; align-items: baseline !important; flex-wrap: wrap !important; gap: 5px 9px !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-head > strong { color: var(--ks-library-mode-color) !important; font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-context { min-width: 0 !important; overflow: hidden !important; color: #454038 !important; font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 630 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-entry.is-passage > small { grid-column: auto !important; color: rgba(63,57,51,.5) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; white-space: nowrap !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-excerpt { display: -webkit-box !important; margin: 2px 0 0 !important; overflow: hidden !important; color: rgba(63,57,51,.72) !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.35 !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 2 !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-entry.is-passage > footer { display: inline-flex !important; align-items: center !important; justify-self: end !important; gap: 3px !important; white-space: nowrap !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-action { display: inline-flex !important; align-items: center !important; gap: 4px !important; min-height: 29px !important; padding: 4px 7px !important; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; text-decoration: none !important; cursor: pointer !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-passage-action:hover,
.ks-sutta-library-workspace .ks-sutta-app-library-passage-action:focus-visible { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-app-library-passage-action svg { width: 13px !important; height: 13px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.7 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.ks-sutta-app-library-passage-remove { display: grid !important; place-items: center !important; width: 26px !important; height: 26px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font: 500 calc(18px + var(--ks-mobile-type-step, 0px))/1 sans-serif !important; cursor: pointer !important; }
.ks-sutta-app-library-passage-remove:hover,
.ks-sutta-app-library-passage-remove:focus-visible { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-app-library-passage-confirm button { min-height: 26px !important; padding: 3px 6px !important; border: 0 !important; border-radius: 6px !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important; cursor: pointer !important; }
.ks-sutta-app-library-passage-confirm button:hover,
.ks-sutta-app-library-passage-confirm button:focus-visible { background: var(--ks-library-mode-soft) !important; outline: none !important; }
.ks-sutta-library-workspace .ks-sutta-app-list-manager { display: grid !important; gap: 13px !important; }
.ks-sutta-library-workspace .ks-sutta-app-list-manager-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; }
.ks-sutta-library-workspace .ks-sutta-app-list-nav { display: grid !important; grid-template-columns: auto minmax(0, 360px) !important; gap: 11px !important; align-items: center !important; width: min(100%, 480px) !important; padding: 7px 0 !important; border-bottom: 1px solid rgba(109,91,56,.12) !important; color: rgba(63,57,51,.64) !important; font-size: calc(12px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-library-workspace .ks-sutta-app-list-nav select { width: 100% !important; height: 36px !important; padding: 5px 30px 5px 10px !important; border: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 25%, rgba(109,91,56,.12)) !important; border-radius: var(--ks-radius-control) !important; background-color: var(--ks-color-surface) !important; color: #454038 !important; font-size: calc(13px + var(--ks-mobile-type-step, 0px)) !important; }
.ks-sutta-library-workspace .ks-sutta-app-list-toolbar { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; min-width: 0 !important; padding: 2px 0 !important; border: 0 !important; }
.ks-sutta-library-workspace .ks-sutta-app-list-toolbar > strong { min-width: 0 !important; overflow: hidden !important; font-size: calc(16px + var(--ks-mobile-type-step, 0px)) !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-library-workspace .ks-sutta-app-list-toolbar > span { display: inline-flex !important; gap: 8px !important; }
.ks-sutta-library-workspace .ks-sutta-app-list-action { min-height: 31px !important; padding: 4px 10px !important; border: 1px solid color-mix(in srgb, var(--ks-library-mode-color) 25%, transparent) !important; border-radius: 7px !important; background: transparent !important; color: var(--ks-library-mode-color) !important; font-size: calc(11.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; cursor: pointer !important; }
.ks-sutta-library-workspace .ks-sutta-app-library-empty { display: grid !important; gap: 4px !important; padding: 14px !important; border: 0 !important; border-radius: var(--ks-radius-control) !important; background: var(--ks-library-mode-soft) !important; color: #454038 !important; font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important; }

/* Retomar: tarjetas pequeñas, resistentes a títulos largos y limitadas a tres. */
.ks-sutta-library-continue-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }
.ks-sutta-library-continue-card { box-sizing: border-box !important; display: grid !important; grid-template-rows: minmax(0, 1fr) auto !important; gap: 10px !important; min-width: 0 !important; min-height: 0 !important; padding: 13px 13px 12px !important; overflow: hidden !important; border: 1px solid rgba(109,91,56,.13) !important; border-left: 3px solid var(--ks-library-resume, #76536f) !important; border-radius: 10px !important; background: var(--ks-color-surface) !important; box-shadow: none !important; }
.ks-sutta-library-continue-copy { min-width: 0 !important; overflow: hidden !important; }
.ks-sutta-library-continue-copy p { display: flex !important; justify-content: space-between !important; gap: 8px !important; margin: 0 0 6px !important; color: var(--ks-library-resume, #76536f) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.2 !important; }
.ks-sutta-library-continue-copy p > * { min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-library-continue-copy h3 { display: -webkit-box !important; min-width: 0 !important; max-width: 100% !important; margin: 0 0 3px !important; overflow: hidden !important; overflow-wrap: anywhere !important; color: #37322b !important; font-size: calc(15px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 650 !important; line-height: 1.25 !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 2 !important; }
.ks-sutta-library-continue-copy > small { display: block !important; min-width: 0 !important; overflow: hidden !important; color: rgba(63,57,51,.58) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.3 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-library-continue-card footer { display: grid !important; gap: 5px !important; min-width: 0 !important; }
.ks-sutta-library-continue-card footer > span { min-width: 0 !important; overflow: hidden !important; color: rgba(63,57,51,.58) !important; font-size: calc(9.5px + var(--ks-mobile-type-step, 0px)) !important; line-height: 1.25 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.ks-sutta-library-continue-action { display: inline-flex !important; align-items: center !important; justify-content: space-between !important; gap: 7px !important; min-width: 0 !important; min-height: 29px !important; padding: 4px 7px !important; border: 0 !important; border-top: 1px solid rgba(109,91,56,.1) !important; border-radius: 0 !important; background: transparent !important; color: var(--ks-library-resume, #76536f) !important; font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important; font-weight: 700 !important; text-decoration: none !important; }
.ks-sutta-library-continue-action:hover,
.ks-sutta-library-continue-action:focus-visible { background: color-mix(in srgb, var(--ks-library-resume) 8%, var(--ks-color-surface)) !important; outline: none !important; }

@media (max-width: 980px) {
  .ks-sutta-library-continue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .ks-sutta-library-continue-grid { grid-template-columns: 1fr !important; }
  .ks-sutta-library-workspace .ks-sutta-app-list-toolbar { align-items: flex-start !important; flex-direction: column !important; }
  .ks-sutta-library-workspace .ks-sutta-app-list-nav { grid-template-columns: 1fr !important; }
  .ks-sutta-library-workspace .ks-sutta-app-library-entry.is-passage { grid-template-columns: minmax(0, 1fr) auto !important; gap: 5px 9px !important; }
  .ks-sutta-library-workspace .ks-sutta-app-library-entry.is-passage > small { grid-column: 1 !important; grid-row: 2 !important; }
  .ks-sutta-library-workspace .ks-sutta-app-library-entry.is-passage > footer { grid-column: 2 !important; grid-row: 1 / span 2 !important; align-self: center !important; gap: 3px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ks-sutta-sidebar-library .ks-sutta-app-library-group-copy i,
  .ks-sutta-library-workspace .ks-sutta-app-library-group-copy i { transition: none !important; }
}

/* 6.8.729 — los paneles de versión y publicación se portalan al root de la
   app para escapar del transform de la barra de controles. Conservan exactamente
   la misma autoridad visual que cuando están dentro del lector. */
.ks-sutta-app > .kp-reader-floating-panel[data-ks-reader-disclosure-owner] {
  font-family: "Noto Sans", "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #5f584f;
  z-index: var(--ks-layer-popover, 1000300) !important;
}
.ks-sutta-app > .kp-reader-floating-panel.kp-version-menu[data-ks-reader-disclosure-owner] {
  width: max-content !important;
  min-width: min(220px, var(--kp-panel-max-width, calc(100dvw - 24px))) !important;
  max-width: min(330px, var(--kp-panel-max-width, calc(100dvw - 24px))) !important;
}
.ks-sutta-app > .kp-reader-floating-panel.kp-publication-panel[data-ks-reader-disclosure-owner] {
  width: min(560px, var(--kp-panel-max-width, calc(100dvw - 24px))) !important;
}
.ks-sutta-app > .kp-reader-floating-panel[data-ks-reader-disclosure-owner] .kp-version-menu-title {
  padding: 4px 8px 9px !important;
  font-size: calc(12.5px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app > .kp-reader-floating-panel[data-ks-reader-disclosure-owner] .kp-version-option {
  min-height: calc(38px + var(--ks-mobile-control-step, 0px)) !important;
  gap: 9px !important;
  padding: 8px 9px !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
}
.ks-sutta-app > .kp-reader-floating-panel[data-ks-reader-disclosure-owner] .kp-version-dot {
  flex: 0 0 14px !important;
  width: 14px !important;
  font-size: calc(10px + var(--ks-mobile-type-step, 0px)) !important;
}


/* 6.8.733 — el inspector móvil debe quedar por encima del renderer y no
   depender de la pila local del mapa. */
@media (max-width: 1180px) {
  .ks-sutta-map-mobile-inspector:not([hidden]) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: var(--ks-layer-dialog, 1000500) !important;
  }
}

/* 6.8.734 — retirada de la proyección duplicada: la tarjeta nativa D3 es la única autoridad móvil. */
.ks-sutta-map-mobile-inspector { display: none !important; }

/* 6.8.735 — inspector canónico del mapa integrado.
   El renderer D3 escribe directamente en esta superficie visible, hermana del
   bridge técnico oculto. No replica estado ni reconstruye la selección. */
.kp-d3-v2-app-inspector-surface {
  display: none;
}

@media (max-width: 1180px) {
  .ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface {
    position: fixed;
    top: var(--ks-mobile-map-inspector-top, 76px);
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    z-index: var(--ks-layer-popover, 1000300);
    max-height: var(--ks-mobile-map-inspector-max-height, calc(100dvh - 92px));
    pointer-events: none;
  }

  .ks-sutta-app.is-map-open .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"].is-card-open .kp-d3-v2-app-inspector-surface,
  body.ks-reader-map-open .ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"].is-card-open .kp-d3-v2-app-inspector-surface {
    display: block;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface > .kp-d3-v2-card:not([hidden]) {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 680px !important;
    max-height: var(--ks-mobile-map-inspector-max-height, calc(100dvh - 92px)) !important;
    margin: 0 auto !important;
    padding: 14px 42px 14px 16px !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    border-radius: var(--ks-radius-panel, 14px) !important;
    pointer-events: auto !important;
    transform: none !important;
  }



  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"]:not(.is-card-open) .kp-d3-v2-app-inspector-surface,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface > .kp-d3-v2-card[hidden] {
    display: none !important;
  }
}

@media (min-width: 1181px) {
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface {
    display: none !important;
  }
}

/* 6.8.736 — inspector móvil plegable del mapa integrado.
   La tarjeta canónica conserva su cabecera y acciones. La ruta y la información
   editorial se revelan dentro de la misma tarjeta, sin duplicar estado ni DOM. */
@media (max-width: 1180px) {
  /* En app-bridge la ruta vive dentro de la tarjeta desplegada. La barra pública
     superior deja de consumir altura de navegación. */
  .ks-sutta-app.is-map-open .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-route-bar,
  body.ks-reader-map-open .ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-route-bar {
    display: none !important;
  }

  .ks-sutta-app .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface {
    top: max(10px, env(safe-area-inset-top)) !important;
    max-height: calc(100dvh - max(20px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface > .kp-d3-v2-card:not([hidden]) {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 13px 42px 12px 15px !important;
    transition: box-shadow .16s ease, border-radius .16s ease !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-title {
    order: 1;
    margin-bottom: 2px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-subtitle {
    order: 2;
    margin-bottom: 9px !important;
  }

  /* Las acciones existentes forman parte de la zona persistente. En la ficha de
     sutta se reordenan antes de la cuadrícula editorial; no se duplican. */
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-sheet {
    order: 3;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-sheet[hidden] {
    display: none !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .ks-sutta-card-actions {
    order: 1;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-sheet-grid {
    order: 2;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-section-sheet {
    order: 3;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle {
    order: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-height: 38px;
    margin: 9px 0 0;
    padding: 7px 10px;
    border: 0;
    border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: var(--ks-text-ui, 14px);
    font-weight: 650;
    line-height: 1.2;
    cursor: pointer;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle:hover,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle:focus-visible {
    background: color-mix(in srgb, var(--accent-color, #8c8630) 9%, transparent);
    color: inherit;
    transform: none;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle-icon {
    font-size: 18px;
    line-height: 1;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-mobile-path {
    order: 5;
    margin-top: 10px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-body {
    order: 6;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-children {
    order: 7;
  }

  /* Estado compacto: títulos, subtítulo y acciones siguen siendo los mismos
     elementos de la tarjeta actual. Solo se ocultan los detalles secundarios. */
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card:not(.is-mobile-expanded) .kp-d3-v2-card-mobile-path,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card:not(.is-mobile-expanded) .kp-d3-v2-card-body,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card:not(.is-mobile-expanded) .kp-d3-v2-card-children,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card:not(.is-mobile-expanded) .kp-d3-v2-card-sheet-grid,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card:not(.is-mobile-expanded) .kp-d3-v2-section-complete-note,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card:not(.is-mobile-expanded) .kp-d3-v2-section-complete-badge {
    display: none !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded {
    max-height: min(60dvh, 520px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-mobile-path:not([hidden]),
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-body:not([hidden]),
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-children:not([hidden]) {
    display: block !important;
  }

}

@media (min-width: 1181px) {
  .kp-d3-v2-card-details-toggle {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface > .kp-d3-v2-card:not([hidden]) {
    transition: none !important;
  }
}

/* Ajuste estructural del orden interno: los contenedores de ficha no crean una
   caja adicional en app-bridge; sus hijos participan en el orden de la tarjeta. */
.kp-d3-v2-card-details-toggle {
  display: none;
}

@media (max-width: 1180px) {
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-sheet:not([hidden]),
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-section-sheet:not([hidden]) {
    display: contents !important;
  }

  /* La tarjeta móvil conserva la misma secuencia editorial que la ficha del
     menú: títulos, información, metadatos y, al final, acciones. En estado
     compacto los detalles se ocultan, por lo que las acciones siguen quedando
     inmediatamente debajo de los títulos sin duplicar ni mover nodos del DOM. */
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-mobile-path {
    order: 3;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-body {
    order: 4;
    margin-top: 10px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-children {
    order: 5;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-sheet-grid {
    order: 6;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-section-complete-badge,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-section-complete-note {
    order: 7;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .ks-sutta-card-actions,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .ks-sutta-card-section-actions {
    order: 8;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle {
    display: flex;
    order: 9;
  }
}

/* 6.8.743 — inspector móvil: contenido desplazable y pie integrado.
   La tarjeta mantiene su filete y lengüeta como una sola pieza. El scroll vive
   en el contenido interno, no en el article, para que la lengüeta nunca flote
   sobre las acciones ni se separe del borde inferior. */
@media (max-width: 1180px) {
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface > .kp-d3-v2-card:not([hidden]) {
    position: relative !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 3px solid var(--ks-color-gold, #daa520) !important;
    overflow: visible !important;
  }

  /* La cabecera del inspector gana un único paso tipográfico respecto a
     6.8.742. Se mantienen la misma familia, peso y jerarquía de la tarjeta. */
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-title {
    font-size: calc(var(--ks-hub-card-title-size, 17px) + var(--ks-mobile-type-step, 0px)) !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-subtitle,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-subtitle .kp-d3-v2-card-ref {
    font-size: calc(var(--ks-hub-card-meta-size, 14px) + var(--ks-mobile-type-step, 0px)) !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-content {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded {
    max-height: none !important;
    overflow: visible !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-content {
    max-height: min(60dvh, 520px) !important;
    padding-bottom: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle {
    position: absolute !important;
    z-index: 4 !important;
    left: 50% !important;
    bottom: -15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 15px !important;
    min-height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 0 9px 9px !important;
    background: var(--ks-color-gold, #daa520) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: translateX(-50%) !important;
    transition: filter .14s ease !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle:hover,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle:focus-visible {
    background: var(--ks-color-gold, #daa520) !important;
    filter: brightness(.94) !important;
    box-shadow: none !important;
    transform: translateX(-50%) !important;
    outline: 2px solid color-mix(in srgb, var(--ks-color-gold, #daa520) 35%, transparent) !important;
    outline-offset: 2px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle-icon {
    position: relative !important;
    display: block !important;
    width: 8px !important;
    height: 8px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: translateY(-2px) rotate(45deg) !important;
    transition: transform .16s ease !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-details-toggle-icon::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-right: 1.8px solid currentColor !important;
    border-bottom: 1.8px solid currentColor !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-details-toggle-icon {
    transform: translateY(2px) rotate(225deg) !important;
  }

  /* Etiquetas y valores aumentan ambos exactamente un paso respecto a la
     tarjeta normal móvil, conservando su jerarquía tipográfica. */
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-sheet-grid span {
    font-size: calc(11px + var(--ks-mobile-type-step, 0px)) !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-sheet-grid strong {
    font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  }
}



/* 6.8.745 — inspector móvil intrínseco, persistente y con ritmo vertical compacto.
   La altura procede exclusivamente del contenido real. No se trasladan las
   dimensiones fijas de la ficha lateral al inspector del mapa. */
@media (max-width: 1180px) {
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-app-inspector-surface > .kp-d3-v2-card:not([hidden]) {
    height: auto !important;
    min-height: 0 !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-content,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-sheet,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-section-sheet,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card-children {
    height: auto !important;
    min-height: 0 !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: min(60dvh, 520px) !important;
  }

  /* El blurb y la ficha editorial usan un único respiro corto. Se neutraliza
     el padding amplio de la tarjeta lateral solo dentro del inspector móvil. */
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-body {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-sheet:not([hidden]) {
    margin-top: 0 !important;
    padding-top: 8px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card.is-mobile-expanded .kp-d3-v2-card-sheet-grid {
    margin-top: 0 !important;
  }

  /* El nodo jerárquico no reserva el espaciado amplio pensado para el dock y
     la ficha lateral. Cada bloque aporta solo el ritmo editorial necesario. */
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-subtitle {
    margin-bottom: 2px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-body {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-children {
    margin-top: 3px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-children-title {
    margin-bottom: 4px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-section-sheet,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-children + .kp-d3-v2-card-section-sheet {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

}

/* 6.8.749 — las acciones personales de app-bridge son el componente canónico
   de la Sutta App. El mapa solo ordena la fila dentro del inspector; tamaños,
   hover, foco y estados activos proceden íntegramente de ks-sutta-card-actions. */
@media (max-width: 1180px) {
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-children {
    border-top: 0 !important;
    margin-top: 4px !important;
    padding-top: 0 !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-children-title {
    margin: 0 0 6px !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-section-sheet,
  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-card-children + .kp-d3-v2-card-section-sheet {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  .kp-d3-v2-canvas-viewer[data-control-profile="app-bridge"] .kp-d3-v2-card[data-card-kind="hierarchy"] .kp-d3-v2-section-actions {
    margin-top: 10px !important;
    padding-top: 8px !important;
    border-top: 1px solid var(--ks-sidebar-border-soft, rgba(0,0,0,.065)) !important;
  }
}

/* El diálogo de listas reserva el scroll para la colección, no para toda la
   ventana. Se abre en el lado del ancla con más espacio útil para evitar un
   panel diminuto que obligue a desplazar título, cierre y formulario. */
.ks-sutta-app-list-picker {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}
.ks-sutta-app-list-picker-options {
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding-right: 2px !important;
}
.ks-sutta-app-list-picker-empty {
  align-self: start !important;
}
@media (max-width: 680px) {
  .ks-sutta-app-list-picker {
    width: min(380px, calc(100dvw - 24px)) !important;
    max-height: min(560px, calc(100dvh - 24px)) !important;
  }
}

/* 6.8.773 — Contrato compacto y cromático de acciones del segmento.
   La barra contextual contiene exactamente tres acciones; cada estado se
   proyecta desde la misma autoridad funcional que los controles globales. */
body > .kp-reader-reference-overlay,
.ks-sutta-app-reader .kp-reader-reference-actionbar {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 2px !important;
  width: max-content !important;
  max-width: calc(100vw - 24px) !important;
  padding: 5px 6px !important;
  overflow: visible !important;
  border-radius: 10px !important;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action,
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-reference-resume-control {
  min-width: 0 !important;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action {
  flex: none !important;
  min-height: 34px !important;
  padding: 5px 9px !important;
  border: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action--segment { color: var(--ks-library-segment) !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action--resume { color: var(--ks-library-resume) !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action--list { color: var(--ks-library-list) !important; }
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action:hover,
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action:focus-visible {
  border: 0 !important;
  background: transparent !important;
  filter: saturate(1.2) brightness(.78);
  outline: none !important;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action.is-saved,
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action[data-has-resume-point="1"] {
  background: color-mix(in srgb, currentColor 9%, transparent) !important;
  font-weight: 720 !important;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action.is-saved:not([data-resume-action="remove"])::after,
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action[data-has-resume-point="1"]:not([data-resume-action="remove"])::after {
  content: "✓";
  margin-inline-start: 2px;
  font-size: .9em;
  line-height: 1;
}
.kp-reader-reference-resume-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto !important;
}
body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-reference-resume-control .kp-reader-action--resume {
  width: auto !important;
}
@media (max-width: 620px) {
  body > .kp-reader-reference-overlay,
  .ks-sutta-app-reader .kp-reader-reference-actionbar {
    width: max-content !important;
    max-width: calc(100vw - 20px) !important;
  }
  body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action {
    justify-content: center !important;
    min-height: 32px !important;
    padding: 4px 5px !important;
    gap: 3px !important;
    font-size: calc(9.5px + var(--ks-mobile-type-step, 0px)) !important;
    white-space: nowrap !important;
  }
  body.ks-sutta-app-page .kp-reader-reference-actionbar .kp-reader-action-icon {
    width: 12px;
    height: 12px;
  }
}

/* 6.8.773 — La cabecera del panel sigue siendo un único enlace, pero hace
   explícito de forma secundaria que conduce a la biblioteca completa. */
.ks-sutta-app-library-open-copy {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.ks-sutta-app-library-open-copy strong {
  overflow: hidden !important;
  font: inherit !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.ks-sutta-app-library-open-copy small {
  color: color-mix(in srgb, currentColor 68%, transparent) !important;
  font-size: calc(10.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 560 !important;
  letter-spacing: .015em !important;
  line-height: 1.2 !important;
}
.ks-sutta-app-library-open-full:hover .ks-sutta-app-library-open-copy small,
.ks-sutta-app-library-open-full:focus-visible .ks-sutta-app-library-open-copy small { color: currentColor !important; }

/* 6.8.842 — cierre explícito y circular del menú principal en desktop. */
.ks-sutta-app-main-menu-head .ks-sutta-app-menu-close {
  border: 1px solid var(--ks-color-line-subtle) !important;
  border-radius: 50% !important;
  background: var(--ks-color-surface) !important;
  color: #8b8580 !important;
}
.ks-sutta-app-main-menu-head .ks-sutta-app-menu-close:hover,
.ks-sutta-app-main-menu-head .ks-sutta-app-menu-close:focus-visible {
  border-color: var(--ks-menu-olive) !important;
  background: var(--ks-color-surface) !important;
  color: var(--ks-menu-olive) !important;
}

/* 6.8.869 — migración explícita y aislada de biblioteca anónima a cuenta. */
.ks-sutta-anonymous-migration-root{position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:20px!important;border:0!important;background:transparent!important;box-sizing:border-box!important}
.ks-sutta-anonymous-migration-root::backdrop{background:transparent!important}
.ks-sutta-anonymous-migration-backdrop{position:absolute!important;inset:0!important;background:rgba(35,31,27,.54)!important;backdrop-filter:blur(3px)!important}
.ks-sutta-anonymous-migration{position:relative!important;width:min(520px,100%)!important;padding:30px!important;border:1px solid rgba(109,91,56,.2)!important;border-radius:16px!important;background:#fffdf8!important;box-shadow:0 28px 80px rgba(31,27,23,.26)!important;color:var(--ks-color-ink,#403a34)!important}
.ks-sutta-anonymous-migration-kicker{margin:0 0 9px!important;color:var(--ks-color-accent,#a87921)!important;font-size:11px!important;font-weight:750!important;letter-spacing:.15em!important}
.ks-sutta-anonymous-migration h2{margin:0 0 13px!important;font-size:25px!important;line-height:1.2!important;font-weight:650!important}
.ks-sutta-anonymous-migration>p:not(.ks-sutta-anonymous-migration-kicker){margin:0!important;color:rgba(63,57,51,.76)!important;font-size:15px!important;line-height:1.55!important}
.ks-sutta-anonymous-migration-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:24px!important}
.ks-sutta-anonymous-migration-actions button{min-height:44px!important;padding:9px 13px!important;border:1px solid rgba(109,91,56,.24)!important;border-radius:9px!important;background:transparent!important;color:var(--ks-color-ink,#403a34)!important;font:650 13px/1.25 inherit!important;cursor:pointer!important}
.ks-sutta-anonymous-migration-actions button.is-primary{border-color:var(--ks-color-accent,#a87921)!important;background:var(--ks-color-accent,#a87921)!important;color:#fff!important}
.ks-sutta-anonymous-migration-actions button:focus-visible{outline:3px solid color-mix(in srgb,var(--ks-color-accent,#a87921) 25%,transparent)!important;outline-offset:2px!important}
@media(max-width:560px){.ks-sutta-anonymous-migration{padding:24px 19px!important}.ks-sutta-anonymous-migration-actions{grid-template-columns:1fr!important}}

/* 6.8.877 — los tres separadores del menú nacen del mismo contrato
   estructural (`.ks-sutta-app-menu-group + .ks-sutta-app-menu-group`).
   Ayuda conserva menor peso sin alterar tamaño ni color. */
.ks-sutta-app-menu-group--help .ks-sutta-app-menu-copy strong {
  font-weight: 550 !important;
}

.ks-sutta-app-exit-notice {
  display: grid !important;
  gap: 18px !important;
  margin: 2px 0 0 !important;
}
.ks-sutta-app-exit-notice > p {
  margin: 0 !important;
  color: rgba(63,57,51,.76) !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  line-height: 1.62 !important;
}
.ks-sutta-app-exit-actions {
  display: grid !important;
  gap: 9px !important;
}
.ks-sutta-app-exit-confirm,
.ks-sutta-app-exit-cancel {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border-radius: var(--ks-radius-control) !important;
  font-family: var(--ks-font-ui) !important;
  font-size: calc(13.5px + var(--ks-mobile-type-step, 0px)) !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.ks-sutta-app-exit-confirm,
.ks-sutta-app-exit-confirm:visited {
  border: 1px solid var(--ks-action-primary-bg) !important;
  background: var(--ks-action-primary-bg) !important;
  color: var(--ks-action-primary-text) !important;
}
.ks-sutta-app-exit-confirm:hover,
.ks-sutta-app-exit-confirm:focus-visible {
  border-color: var(--ks-action-primary-hover-bg) !important;
  background: var(--ks-action-primary-hover-bg) !important;
  color: var(--ks-action-primary-text) !important;
  outline: 2px solid var(--ks-action-primary-focus) !important;
  outline-offset: 2px !important;
}
.ks-sutta-app-exit-cancel {
  border: 1px solid color-mix(in srgb, var(--ks-menu-olive) 42%, transparent) !important;
  background: transparent !important;
  color: var(--ks-menu-olive) !important;
}
.ks-sutta-app-exit-cancel:hover,
.ks-sutta-app-exit-cancel:focus-visible {
  border-color: var(--ks-menu-olive) !important;
  background: color-mix(in srgb, var(--ks-menu-olive) 7%, transparent) !important;
  outline: none !important;
}


/* 6.8.955 — contrato canónico de capas transitorias sobre el sidebar V2 real.
   El z-index de un hijo no puede escapar del stacking context de su padre.
   En desktop `.ks-sutta-sidebar` eleva su contexto al nivel semántico de la
   superficie activa. Filtros/Resultados/menús rápidos quedan por encima de
   controles del lector; en responsive conserva la autoridad del drawer. */
@media (min-width: 1181px) {
  .ks-sutta-app[data-ks-active-surface="search-results"] > .ks-sutta-app-layout > .ks-sutta-sidebar,
  .ks-sutta-app[data-ks-active-surface="quick-language"] > .ks-sutta-app-layout > .ks-sutta-sidebar,
  .ks-sutta-app[data-ks-active-surface="quick-account"] > .ks-sutta-app-layout > .ks-sutta-sidebar,
  .ks-sutta-app[data-ks-active-surface="library-filter"] > .ks-sutta-app-layout > .ks-sutta-sidebar {
    z-index: var(--ks-layer-dropdown, 1000200) !important;
  }

  .ks-sutta-app[data-ks-active-surface="filters"] > .ks-sutta-app-layout > .ks-sutta-sidebar {
    z-index: var(--ks-layer-popover, 1000300) !important;
  }
}

/* Ayuda tiene la máxima prioridad visual de la UI de Sutta App, tanto si se
   abre desde el acceso rápido, el menú general, la ficha lateral del mapa o
   el popover del rail. No afecta a overlays de sistema/seguridad bajo body. */
.ks-sutta-app.is-help-surface-open {
  z-index: var(--ks-layer-help, 1001100) !important;
}
.ks-sutta-app.is-help-surface-open > .ks-sutta-app-layout > .ks-sutta-sidebar,
.ks-sutta-app.is-help-surface-open > .ks-sutta-app-map-popover {
  z-index: var(--ks-layer-help, 1001100) !important;
}
.ks-sutta-app.is-help-surface-open .ks-sutta-quick-help-menu {
  z-index: var(--ks-layer-help, 1001100) !important;
}
