.kamishiro-readable-tabs {
  --kamishiro-tabs-accent: #1d4f91;
  --kamishiro-tabs-border: #d8dde1;
  --kamishiro-tabs-surface: #edf4fb;
}
.kamishiro-readable-tab-panel { scroll-margin-block-start: 2rem; }
.kamishiro-readable-tab-panel + .kamishiro-readable-tab-panel {
  border-block-start: 1px solid var(--kamishiro-tabs-border);
  margin-block-start: 2rem;
  padding-block-start: 2rem;
}
.is-kamishiro-tabs-enhanced > .kamishiro-readable-tabs__controls,
.is-kamishiro-tabs-enhanced > .kamishiro-readable-tab-panel {
  box-sizing: border-box;
  max-width: none !important;
  width: 100%;
  margin-inline: 0 !important;
}
.kamishiro-readable-tabs__controls {
  font-family: var(--wp--preset--font-family--system-sans, sans-serif);
  margin-block-end: 0;
  min-width: 0;
  scroll-margin-block-start: calc(1rem + var(--wp-admin--admin-bar--height, 0px));
}
.kamishiro-readable-tabs__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .25rem 1rem;
  padding-block-end: .5rem;
}
.kamishiro-readable-tabs__hint,
.kamishiro-readable-tabs__status { margin: 0; font-size: .875rem; }
.kamishiro-readable-tabs__status:empty { display: none; }
.kamishiro-readable-tabs__status { order: -1; }
.kamishiro-readable-tabs__rail { position: relative; }
.kamishiro-readable-tabs__chapter {
  grid-column: 1 / -1;
  color: #17343e;
  border-inline-start: 3px solid var(--kamishiro-tabs-accent);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  padding: .125rem .5rem;
  align-self: center;
  overflow-wrap: anywhere;
  cursor: default;
}
.kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__tablist {
  display: grid;
  grid-template-columns: var(--kb-track, ) repeat(min(var(--kamishiro-tab-count, 2), var(--kamishiro-tab-columns, 2)), minmax(0, 1fr));
  align-items: stretch;
  gap: var(--kb-gap, .5rem) .5rem;
  background: #fff;
  border: 2px solid var(--kamishiro-tabs-accent);
  border-bottom: 0;
  border-radius: .75rem .75rem 0 0;
  padding: .5rem .5rem 0;
}
@media(min-width:1000px) {
  .kamishiro-tabs-chapters { --kb-track: 7rem; --kb-gap: .75rem; }
  .kamishiro-tabs-chapters > .kamishiro-readable-tabs__chapter { grid-column: 1; }
  .kamishiro-tabs-chapters > .kamishiro-readable-tabs__tab { grid-column-start: var(--kb-col) !important; }
}
.kamishiro-chapters-top { --kb-gap: .35rem; }
.kamishiro-chapters-top > .kamishiro-readable-tabs__chapter {
  background: var(--kamishiro-tabs-surface);
  color: var(--kamishiro-tabs-accent);
  border-inline-start-width: 4px;
  border-radius: .25rem;
  line-height: 1.3;
}
.kamishiro-readable-tabs__tab,
.kamishiro-readable-tabs__toggle,
.kamishiro-readable-tabs__back {
  appearance: none;
  cursor: pointer;
  font: inherit;
  line-height: 1.5;
  min-height: 2.75rem;
}
/* Override page button styles. */
.kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__tab {
  background: var(--kamishiro-tabs-surface);
  border: 2px solid var(--kamishiro-tabs-accent);
  border-radius: .6rem .6rem 0 0;
  color: var(--kamishiro-tabs-accent);
  min-width: 0;
  font-size: 1rem;
  font-weight: 700;
  margin: .35rem 0 0;
  padding: .6rem .65rem;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__tab:is([aria-selected="true"],[aria-current="true"]),
.kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__tab:is([aria-selected="true"],[aria-current="true"]):hover {
  background: #fff;
  color: var(--kamishiro-tabs-accent);
  border-top-width: 5px;
  border-bottom-color: #fff;
  box-shadow: none;
  margin-top: 0;
  padding-top: calc(.95rem - 3px);
}
.kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__tab:hover:not(:is([aria-selected="true"],[aria-current="true"])) {
  background: #dce9f7;
}
.kamishiro-readable-tabs__tab:focus-visible { outline: 3px dashed currentColor; outline-offset: -7px; }
.kamishiro-readable-tabs__toggle:focus-visible,
.kamishiro-readable-tabs__back:focus-visible,
.kamishiro-readable-tab-panel:focus-visible { outline: 3px solid currentColor; outline-offset: -4px; }
.kamishiro-readable-tabs__toggle,
.kamishiro-readable-tabs__back {
  background: #fff;
  border: 1px solid currentColor;
  border-radius: .25rem;
  color: var(--kamishiro-tabs-accent);
  font-size: .875rem;
  padding: .35rem .65rem;
}
.kamishiro-readable-tabs__back {
  display: block;
  max-width: 100%;
  margin-block-start: 2rem;
  padding: .65rem 1rem;
  white-space: normal;
}
.kamishiro-readable-tabs__back[hidden] { display: none !important; }
@media (min-width: 600px) {
  .kamishiro-readable-tabs__tablist { --kamishiro-tab-columns: 3; }
}
@media (min-width: 900px) {
  .kamishiro-readable-tabs__tablist { --kamishiro-tab-columns: 4; }
}
.is-kamishiro-tabs-enhanced > .kamishiro-readable-tab-panel {
  border: 2px solid var(--kamishiro-tabs-accent);
  border-top: 0;
  margin-block: 0 !important;
  padding: var(--kamishiro-tabs-panel-padding, clamp(1rem, 3vw, 2rem)) !important;
}
.is-kamishiro-tabs-enhanced > .kamishiro-readable-tab-panel:not(.has-background) { background-color: #fff; }
/* until-found keeps find-in-page, but its empty box must not leave a frame. */
.is-kamishiro-tabs-enhanced > .kamishiro-readable-tab-panel[hidden="until-found"] {
  border: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.is-kamishiro-tabs-showing-all > .kamishiro-readable-tab-panel {
  border-top: 2px solid var(--kamishiro-tabs-accent);
  margin-block-start: 1rem !important;
}
.kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__tab.kamishiro-tab-cta:is(button,:hover) {
  background: #f2c94c;
  color: #17191c;
  border-color: #17191c;
}
.kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__tab.kamishiro-tab-cta:is([aria-selected="true"],[aria-current="true"]):is(button,:hover) {
  background: #e7b928;
  border-bottom-color: #e7b928;
}
@media (forced-colors: active) {
  .kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__tab:is([aria-selected="true"],[aria-current="true"]) {
    border-top: 5px double;
    border-bottom-color: Canvas;
    background: Canvas;
  }
}
@media print {
  .kamishiro-readable-tabs__controls,
  .kamishiro-readable-tabs__back { display: none !important; }
  .kamishiro-readable-tabs .kamishiro-readable-tab-panel[hidden] {
    content-visibility: visible !important;
    display: block !important;
  }
  .kamishiro-readable-tabs .kamishiro-readable-tab-panel {
    border: 1px solid var(--kamishiro-tabs-border) !important;
    margin-block-start: 1.5rem !important;
    padding: 1.5rem !important;
  }
}

.kamishiro-readable-tab-panel.has-text-color :where(h2,h3,h4,h5,h6):not(.has-text-color) { color: inherit; }

.kamishiro-readable-tabs__bottom { margin-block-start:2rem; max-width:none!important; width:100%; }
.kamishiro-readable-tabs__bottom > .kamishiro-readable-tabs__hint { margin-block-end:.5rem; }
.kamishiro-readable-tabs.is-kamishiro-tabs-enhanced .kamishiro-readable-tabs__bottom > .kamishiro-readable-tabs__tablist { border:0; padding:0; }
