/* HitoYomi-owned presentation delta over the pinned mstk-visual-base v0.4.0 snapshot. */
:root {
  --site-content: 740px;
  --site-wide: 1240px;
  --site-ink: #292722;
  --site-paper: #f8f5ed;
  --site-line: color-mix(in srgb, var(--site-ink) 13%, transparent);
  --hy-paper-raised: #fffdf7;
  --hy-muted: #6f6a60;
  --hy-accent: #596654;

  /* v0.4.0 footer uses the prior shared-* token names. Keep the immutable
     vendor snapshot exact and bridge those names in the Product profile. */
  --shared-ink: var(--site-ink);
  --shared-paper: var(--site-paper);
  --shared-wide: var(--site-wide);
}

body.hitoyomi-site {
  background: var(--site-paper);
  color: var(--site-ink);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", Georgia, serif;
  font-size: clamp(1rem, .96rem + .15vw, 1.08rem);
  line-height: 1.85;
}

body.hitoyomi-site :where(button, input, select, textarea, .shared-site-header, .shared-site-footer) {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
}

body.hitoyomi-site .shared-site-header {
  background: color-mix(in srgb, var(--site-paper) 91%, transparent);
}

body.hitoyomi-site .shared-site-header__brand,
body.hitoyomi-site .shared-site-footer__brand {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", Georgia, serif;
  font-weight: 500;
  letter-spacing: .015em;
}

body.hitoyomi-site .shared-site-main {
  background: var(--site-paper);
}

body.hitoyomi-site .shared-site-document {
  padding-block: clamp(3rem, 7vw, 7rem);
}

body.hitoyomi-site .shared-site-document > :where(:not(.alignfull):not(.alignwide)) {
  width: min(calc(100% - 36px), var(--site-content));
}

body.hitoyomi-site :where(h1, h2, h3) {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", Georgia, serif;
  font-weight: 500;
  line-height: 1.35;
  text-wrap: balance;
}

body.hitoyomi-site h1 {
  font-size: clamp(2.3rem, 7vw, 5.4rem);
  letter-spacing: -.035em;
}

body.hitoyomi-site h2 {
  margin-top: clamp(3.5rem, 8vw, 7rem);
  font-size: clamp(1.75rem, 4vw, 3rem);
  letter-spacing: -.025em;
}

body.hitoyomi-site p,
body.hitoyomi-site li {
  hanging-punctuation: first allow-end last;
}

body.hitoyomi-site a {
  color: inherit;
  text-decoration-thickness: .06em;
  text-underline-offset: .22em;
}

body.hitoyomi-site :where(.wp-block-button__link, .hy-button) {
  min-height: 48px;
  border: 1px solid var(--site-ink);
  border-radius: 2px;
  background: var(--site-ink);
  color: var(--site-paper);
  padding: .8rem 1.15rem;
  font-weight: 600;
  text-decoration: none;
}

body.hitoyomi-site :where(.wp-block-button__link, .hy-button):hover {
  background: color-mix(in srgb, var(--site-ink) 88%, var(--site-paper));
}

body.hitoyomi-site :where(input, select, textarea) {
  min-height: 48px;
  border: 1px solid var(--site-line);
  border-radius: 2px;
  background: var(--hy-paper-raised);
  color: var(--site-ink);
  font-size: 1rem;
}

body.hitoyomi-site :where(input, select, textarea, button, a):focus-visible {
  outline: 2px solid var(--hy-accent);
  outline-offset: 3px;
}

body.hitoyomi-site :where(.hy-form, .hy-method-preview, .wp-block-group.is-style-hy-paper) {
  border: 1px solid var(--site-line);
  border-radius: 2px;
  background: var(--hy-paper-raised);
  box-shadow: none;
}

body.hitoyomi-site .hy-owner-note {
  border-inline-start: 2px solid var(--hy-accent);
  color: var(--hy-muted);
  padding-inline-start: 1rem;
}

body.hitoyomi-site .shared-visual-hero h1,
body.hitoyomi-site .shared-visual-scene__copy h2,
body.hitoyomi-site .shared-visual-feature h2 {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", Georgia, serif;
  font-weight: 500;
}

body.hitoyomi-site .shared-visual-scene__media,
body.hitoyomi-site .shared-visual-feature__media {
  border-radius: clamp(4px, .8vw, 10px);
}

body.hitoyomi-site .shared-site-footer {
  color: var(--site-ink);
}

@media (max-width: 760px) {
  body.hitoyomi-site .shared-site-header__inner {
    width: min(calc(100% - 28px), var(--site-wide));
  }
  body.hitoyomi-site .shared-site-header__menu {
    font-size: .88rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.hitoyomi-site *,
  body.hitoyomi-site *::before,
  body.hitoyomi-site *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
