/* =========================================================
   まんぷくうさハム神社 CSS分割版 2026-06-29
   方針：スマホファースト / 高齢者にも読みやすい / 和紙・金・鳥獣戯画風 / アプリ化前提
========================================================= */

/* ===================== [KOMAINU] ===================== */
.koma-mini {
  display: inline-flex;
  gap: 10px;
  margin-left: 0.35rem;
  vertical-align: middle;
}
.koma-mini .fi {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
  filter: contrast(115%) brightness(105%);
}
.koma-mini .fi.is-empty {
  opacity: 0.38;
  filter: grayscale(95%) brightness(0.9);
}
@media (min-width: 768px) {
  .koma-mini .fi {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 1025px) {
  .koma-mini .fi {
    width: 48px;
    height: 48px;
  }
}
.koma-rank {
  --size: var(--koma-size);
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: var(--koma-gap);
  vertical-align: middle;
  margin-left: 0.35rem;
  position: relative;
  isolation: isolate;
}
.koma-rank img {
  width: auto;
  height: var(--size);
  filter: grayscale(100%) contrast(120%) brightness(105%);
  user-select: none;
  pointer-events: none;
}
.koma-rank img.off {
  opacity: 0.38;
  filter: grayscale(100%) brightness(0.35) contrast(130%);
}
.koma-rank:focus-within {
  outline: 3px solid #c7a85a;
  outline-offset: 4px;
  border-radius: 10px;
}
.koma-rank .koma-num {
  display: none;
}
.koma-rank:active {
  transform: translateY(1px);
}
.koma-rank.is-lg {
  --size: 64px;
}
.koma-mini.is-lg .fi {
  width: 56px;
  height: 56px;
}
/* =========================================================
   まんぷくうさハム神社 CSS分割版 2026-06-29
   方針：スマホファースト / 高齢者にも読みやすい / 和紙・金・鳥獣戯画風 / アプリ化前提
========================================================= */

/* 狛犬様 専用 */

.page-komainu {
  --page-accent: #9b7a2e;
  --page-soft: #fff8e8;
}

.page-komainu main,
.page-komainu .page-wrap {
  background: radial-gradient(
    900px 420px at 50% -240px,
    color-mix(in srgb, var(--page-accent) 16%, transparent),
    transparent 62%
  );
}

.page-komainu .container,
.page-komainu .page-container,
.page-komainu .content,
.page-komainu article {
  color: var(--ink);
}

.page-komainu .page-card,
.page-komainu .content-card,
.page-komainu .card:not(.ema-card) {
  border: 1px solid color-mix(in srgb, var(--page-accent) 32%, #e6dec5);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), #fff8e8);
  box-shadow: var(--shadow-s);
}

.page-komainu h1,
.page-komainu h2,
.page-komainu h3 {
  color: var(--ink-strong);
  font-weight: 900;
}

.page-komainu .btn,
.page-komainu button[type="submit"] {
  min-height: 46px;
}

@media (max-width: 600px) {
  .page-komainu .container,
  .page-komainu .page-container,
  .page-komainu .content {
    width: min(100vw - 20px, 1000px);
    padding-inline: 0;
  }
}
