















:root { --tap-ease: cubic-bezier(0.2, 0, 0, 1); }

.btn, a.card, .quiz-a, .page-poll-opt, .path-tile, .book8-banner-btn, .season-piece, .chooser-jump a,
.b9-card, .b9-go, .b9-wait a, .qd-quiz, .faq-q, .floor-jump-btn, .floor-brief-link, .page-jump {
  transition-property: background-color, border-color, color, box-shadow, filter, transform;
  transition-duration: 100ms;
  transition-timing-function: var(--tap-ease);
}




a.card:active, .quiz-a:active, .page-poll-opt:active, .path-tile:active, .book8-banner-btn:active,
.season-piece:active, .chooser-jump a:active, .b9-card:active, .b9-go:active, .b9-wait a:active,
.qd-quiz:active, .faq-q:active, .floor-jump-btn:active, .floor-brief-link:active, .page-jump:active,
.share-btn:active, .menu-card:active, .page-contents-more:active {
  transition-duration: 0s;
  box-shadow: inset 0 0 0 100vmax rgba(255, 255, 255, 0.12);
}
.season-cta:active, .book8-banner-btn--primary:active {
  box-shadow: inset 0 0 0 100vmax rgba(0, 0, 0, 0.16);
}


@media (max-width: 768px) { button.rank-up, button.rank-down { min-width: 44px; min-height: 44px; } }

@media (prefers-reduced-motion: reduce) {
  .btn, a.card, .path-tile, .season-piece, .floor-jump-btn, .b9-card { transition-property: background-color, border-color, color, box-shadow, filter; }
}





.btn {
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: 0.01em;
  background: rgba(220, 176, 90, 0.08);
  border: 1px solid rgba(220, 176, 90, 0.55);
  color: #f3e7cf;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.55);
}
.btn:not(.btn-sm) { padding-left: 1.1rem; padding-right: 1.1rem; }
.btn-accent {
  background: #dcb05a; border-color: #e6c27a; color: #1c140a; font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 3px 0 #7a5b22;
}
@media (hover: hover) {
  .btn:hover { background: rgba(220, 176, 90, 0.16); border-color: rgba(220, 176, 90, 0.9); color: #fff; }
  .btn-accent:hover { background: #e6c27a; border-color: #f0d39a; color: #1c140a; }
}
.btn:focus-visible { border-color: rgba(220, 176, 90, 0.9); }

.btn:active { transform: translateY(2px); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.55); transition-duration: 0s; }
.btn-accent:active { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #7a5b22; }


a.card { border-radius: 12px; }
.quiz-a, .page-poll-opt, .book8-banner-btn, .qd-quiz, .floor-brief-link { border-radius: 10px; }

@media (prefers-reduced-motion: reduce) { .btn:active { transform: none; } }
