/* High-contrast, hue-independent controls. The reader's chosen highlight remains available. */
#kakomukun .kk-theme-group .kk-choice { position: relative; }
#kakomukun .kk-theme-group .kk-choice.is-selected::after {
  content: '✓';
  position: absolute;
  top: 2px;
  right: 4px;
  font-size: .85rem;
  font-weight: 900;
}
#kakomukun.kk-ui-ready.kk-high-contrast {
  --kk-ui-green: #000;
  --kk-ui-green-2: #000;
  --kk-ui-mint: #fff;
  --kk-ui-ink: #000;
  --kk-ui-line: #000;
  --kk-ui-red: #000;
  background: #fff;
  color: #000;
}
#kakomukun.kk-high-contrast .kk-reader-card,
#kakomukun.kk-high-contrast .kk-reader-hint,
#kakomukun.kk-high-contrast .kk-input-source-group,
#kakomukun.kk-high-contrast .kk-settings-drawer,
#kakomukun.kk-high-contrast .kk-setting-row,
#kakomukun.kk-high-contrast .kk-choice-group {
  background: #fff;
  color: #000;
  border-color: #000;
}
#kakomukun.kk-high-contrast .kk-reader-card .output-wrap,
#kakomukun.kk-high-contrast .kk-reader-card .kk-output {
  background: var(--kk-bg);
  color: var(--kk-text);
  border-color: #000;
}
#kakomukun.kk-high-contrast button:focus-visible,
#kakomukun.kk-high-contrast .kk-token:focus-visible {
  outline: 3px solid #000;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px #fff;
}
#kakomukun.kk-high-contrast .kk-output .kk-token:focus-visible {
  outline-color: var(--kk-text);
  box-shadow: 0 0 0 5px var(--kk-bg);
}
#kakomukun.kk-high-contrast .kk-segmented button,
#kakomukun.kk-high-contrast .kk-choice,
#kakomukun.kk-high-contrast .kk-icon-card,
#kakomukun.kk-high-contrast .kk-settings-tabs button,
#kakomukun.kk-high-contrast button.kk-primary-action {
  border: 2px solid #000;
  color: #000;
  background: #fff;
}
#kakomukun.kk-high-contrast .kk-segmented button[aria-pressed="true"],
#kakomukun.kk-high-contrast .kk-choice.is-selected,
#kakomukun.kk-high-contrast .kk-icon-card.is-selected,
#kakomukun.kk-high-contrast .kk-settings-tabs [aria-selected="true"],
#kakomukun.kk-high-contrast button.kk-primary-action[aria-pressed="true"] {
  position: relative;
  border: 3px solid #000;
  background: #000;
  color: #fff;
  box-shadow: none;
}
#kakomukun.kk-high-contrast .kk-segmented button[aria-pressed="true"]::after,
#kakomukun.kk-high-contrast .kk-icon-card.is-selected::after,
#kakomukun.kk-high-contrast button.kk-primary-action[aria-pressed="true"]::after {
  content: '✓';
  position: absolute;
  top: 1px;
  right: 3px;
  font-size: .75rem;
  font-weight: 900;
}
#kakomukun.kk-high-contrast .kk-settings-drawer .kk-highlight-group .kk-choice-row {
  flex-wrap: wrap;
}
#kakomukun.kk-high-contrast .kk-settings-drawer .kk-highlight-group .kk-choice {
  display: inline-flex;
  flex: 1 1 30%;
  width: auto;
  min-height: 44px;
  gap: 4px;
  border: 2px solid #000;
  border-radius: 8px;
  padding: 4px;
}
#kakomukun.kk-high-contrast .kk-settings-drawer .kk-highlight-group .kk-choice-text {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  font-size: .75rem;
  color: inherit;
}
#kakomukun.kk-high-contrast .kk-settings-drawer .kk-highlight-group .kk-choice.is-selected {
  outline: 3px solid #000;
  outline-offset: 1px;
}
#kakomukun.kk-high-contrast .kk-output .kk-token.is-current,
#kakomukun.kk-high-contrast .kk-output .kk-token.is-active,
#kakomukun.kk-high-contrast .kk-output .kk-token.kk-zoom-current {
  outline: 3px solid #000;
  outline-offset: 2px;
  border-radius: .2em;
  background: #fff;
  color: #000;
  text-decoration: underline 2px;
  box-shadow: none;
}
#kakomukun.kk-high-contrast .kk-zoom-panel .kk-zoom-current {
  border: 3px solid var(--kk-text);
  background: var(--kk-bg);
  color: var(--kk-text);
}
#kakomukun.kk-high-contrast .kk-reader-card .kk-zoom-panel {
  border: 2px solid var(--kk-text);
  background: var(--kk-bg);
  color: var(--kk-text);
}
@media (forced-colors: active) {
  #kakomukun.kk-high-contrast .kk-choice.is-selected,
  #kakomukun.kk-high-contrast .kk-segmented button[aria-pressed="true"] {
    border-color: Highlight;
    background: Highlight;
    color: HighlightText;
  }
}
