/* Kurumi content pages (lore + changelog). Built on the Aurora tokens. */
.kc-page { position: relative; }
.kc-main { min-width: 0; }
.kc-disclaimer {
  margin: var(--ka-s-4, 1rem) 0 0; padding: .75rem 1rem; font-size: .875rem;
  color: var(--ka-ivory-dim); border-left: 2px solid var(--ka-crimson-600);
  background: rgba(0, 0, 0, .25); border-radius: 0 var(--ka-r-sm) var(--ka-r-sm) 0;
}
.kc-portrait img {
  display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover;
  border-radius: var(--ka-r-lg); border: 1px solid var(--ka-line-gold); box-shadow: var(--ka-shadow-lg), var(--ka-glow-crimson);
}
.kc-facts { display: grid; gap: var(--ka-s-4, 1rem); grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); margin: 0; }
.kc-fact { margin: 0; padding: 1.1rem 1.25rem; }
.kc-fact dt { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ka-gold-200); margin: 0 0 .35rem; }
.kc-fact dd { margin: 0; color: var(--ka-ivory); line-height: 1.5; }
.kc-prose { max-width: 62ch; color: var(--ka-ivory-dim); line-height: 1.75; font-size: 1.05rem; }
.kc-motifs { display: grid; gap: var(--ka-s-4, 1rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); margin-top: var(--ka-s-5, 1.5rem); }
.kc-glyph { font-size: 2.6rem; line-height: 56px; height: 56px; color: var(--ka-gold-300); }
.kc-glyph--moon { width: 48px; height: 48px; border-radius: 50%; background: var(--ka-grad-moon); box-shadow: var(--ka-glow-crimson); }
.kc-link { display: block; text-decoration: none; }
.kc-link:hover .ka-card__title { color: var(--ka-gold-200); }

/* Fixed side table of contents on wide screens, hidden on small ones. */
.kc-toc { display: none; }
@media (min-width: 1560px) {
  .kc-toc {
    display: block; position: fixed; top: 7.5rem; left: 1rem;
    width: 12.5rem; z-index: var(--ka-z-raised, 2);
  }
  .kc-toc__title { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ka-ivory-mute); margin: 0 0 .75rem; }
  .kc-toc ol { list-style: none; margin: 0; padding: 0 0 0 .9rem; border-left: 1px solid var(--ka-line-gold); }
  .kc-toc a {
    display: flex; gap: .6rem; align-items: baseline; padding: .4rem 0; font-size: .9rem; text-decoration: none;
    color: var(--ka-ivory-dim); transition: color var(--ka-dur-2, .2s) var(--ka-ease, ease);
  }
  .kc-toc a span { font-family: var(--ka-font-display); color: var(--ka-gold-300); min-width: 1.8rem; }
  .kc-toc a:hover, .kc-toc a.is-current { color: var(--ka-ivory); }
  .kc-toc a.is-current span { color: var(--ka-gold-100); text-shadow: var(--ka-glow-crimson); }
}
#portrait, #glance, #clockwork, #dashboard { scroll-margin-top: 6rem; }

/* Changelog */
.kc-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 var(--ka-s-6, 2rem); }
.kc-filter[hidden], .kc-none[hidden], [data-kc-day][hidden], [data-kc-entry][hidden] { display: none !important; }
.kc-chip.is-active { background: var(--ka-grad-crimson); color: var(--ka-ivory); border-color: var(--ka-crimson-500); box-shadow: var(--ka-glow-crimson); }
.kc-chip__n { opacity: .75; font-variant-numeric: tabular-nums; font-size: .8em; }
.kc-entries { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .6rem; }
.kc-entry { display: flex; gap: .75rem; align-items: baseline; line-height: 1.55; color: var(--ka-ivory); }
.kc-entry__text { min-width: 0; overflow-wrap: anywhere; }
.kc-tag { flex: 0 0 5.4rem; justify-content: center; text-align: center; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.kc-tag--new { color: var(--ka-gold-100); border-color: var(--ka-line-gold-strong); }
.kc-tag--improved { color: var(--ka-info); border-color: currentColor; }
.kc-tag--security { color: var(--ka-crimson-100); border-color: var(--ka-crimson-500); background: rgba(160, 20, 40, .25); }
.kc-tag--fix { color: var(--ka-ok); border-color: currentColor; }
.kc-latest { margin-left: .5rem; vertical-align: middle; }
.kc-none { margin: var(--ka-s-6, 2rem) 0; }
.kc-foot { margin-top: var(--ka-s-7, 3rem); text-align: center; }
@media (max-width: 480px) {
  .kc-entry { flex-direction: column; gap: .3rem; }
  .kc-tag { flex-basis: auto; }
}
.kc-main > .ka-quote { margin-top: var(--ka-s-6, 2rem); }

/* Local reduced-motion guard (the global Aurora rule also covers these):
   reveals show immediately and the decorative clock hand stays still. */
@media (prefers-reduced-motion: reduce) {
  .kc-page .ka-reveal, .kc-page .ka-stagger > *,
  html.ka-js .kc-page .ka-reveal:not(.is-in), html.ka-js .kc-page .ka-stagger:not(.is-in) > * {
    opacity: 1 !important; transform: none !important; transition: none !important; animation: none !important;
  }
  .kc-page .ka-clock::after, .kc-page .ka-clock::before, .kc-page .ka-gear, .kc-page [class*="gear"] { animation: none !important; }
  .kc-toc a, .kc-chip { transition: none !important; }
}
.kc-tag--removed { color: var(--ka-ivory-dim); border-color: var(--ka-line-gold); background: rgba(0, 0, 0, .3); }

/* Owner-published releases (kurumi_changelog_admin): optional heading + summary above the items. */
.kc-day--release { scroll-margin-top: 6rem; }
.kc-release { margin: .35rem 0 .5rem; }
.kc-release__title { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: 0; font-size: 1.25rem; line-height: 1.3; color: var(--ka-ivory); overflow-wrap: anywhere; }
.kc-release__ver { font-size: .75rem; letter-spacing: .06em; }
.kc-release__summary { margin: .35rem 0 0; color: var(--ka-ivory-dim); line-height: 1.55; overflow-wrap: anywhere; }
