/* Games catalogue and administration share the 16pt minimum text floor. */
.games-catalogue,.games-admin { --games-font: max(16pt,1rem); font: var(--games-font)/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color: #12343b; }
.games-catalogue *, .games-admin * { box-sizing: border-box; }
.games-catalogue :where(p,span,small,strong,b,em,label,input,select,textarea,button,a,td,th,li,summary,div),.games-admin :where(p,span,small,strong,b,em,label,input,select,textarea,button,a,td,th,li,summary,div) { font-size: inherit; }
.games-catalogue { max-width: 1800px; margin: auto; padding: 40px 28px 70px; }
.games-catalogue__eyebrow { color: #76572b; font-weight: 700; letter-spacing: .08em; margin: 0 0 18px; }
.games-catalogue__title { color: #12343b; font: 500 clamp(32pt,5vw,48pt)/1.1 Georgia,"Times New Roman",serif; margin: 0 0 22px; letter-spacing: -.035em; }
.games-catalogue__intro { color: #3a5960; max-width: 1000px; line-height: 1.7; margin: 0 0 34px; }
.games-catalogue__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,620px),1fr)); gap: 32px; align-items: start; }
.games-card { border: 1px solid #aac3be; border-radius: 22px; overflow: hidden; background: #fff; box-shadow: 0 14px 45px #092c3512; min-width: 0; }
.games-card__art { position: relative; display: block; height: 380px; background: #07343b; overflow: hidden; border-bottom: 1px solid #b3c9c2; }
.games-card__art svg { display: block; width: 100%; height: 100%; }
.games-card__art::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 -24px 50px #092c354a; pointer-events: none; }
.games-card__badge { position: absolute; left: 24px; top: 22px; z-index: 1; padding: 12px 18px; border: 1px solid #d9c58b; border-radius: 32px; background: #072e37ed; color: #fff0c8; font-weight: 700; line-height: 1.35; }
.games-card__body { padding: 30px; }
.games-card__title { font: 500 max(26pt,2rem)/1.2 Georgia,"Times New Roman",serif; color: #10343a; margin: 0 0 18px; letter-spacing: -.02em; }
.games-card__description { color: #3e5c61; line-height: 1.75; margin: 0 0 26px; }
.games-card__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 26px; }
.games-card__play { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 62px; padding: 15px 24px; border-radius: 10px; background: #0c4b50; color: #fff !important; font-weight: 700; text-decoration: none !important; box-shadow: 0 4px 14px #07343b20; }
.games-card__play:hover { background: #12666a; }
.games-card__help { display: inline-flex; align-items: center; min-height: 56px; color: #31585f; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.games-card__note { color: #425f62; line-height: 1.6; margin: 23px 0 0; }
.games-card__board { border-top: 1px solid #b8cdc5; margin-top: 28px; padding-top: 20px; }
.games-card__board summary { display: flex; align-items: center; justify-content: space-between; min-height: 58px; gap: 18px; color: #1e4b50; cursor: pointer; list-style: none; font-weight: 700; }
.games-card__board summary::after { content: "＋"; color: #725327; font-size: var(--games-font); }
.games-card__board[open] summary::after { content: "−"; }
.games-card__board table { border-collapse: collapse; width: 100%; margin-top: 22px; }
.games-card__board th { color: #385a5f; font-weight: 600; padding: 14px 8px; text-align: left; border-bottom: 1px solid #afc6bd; overflow-wrap: anywhere; }
.games-card__board td { padding: 16px 8px; border-bottom: 1px solid #d1dfd8; color: #20474d; overflow-wrap: anywhere; }
.games-card__board td:nth-child(3) { font-variant-numeric: tabular-nums; font-weight: 700; }
.games-card__board-label { color: #3b5a5f; line-height: 1.6; margin: 20px 0 0; }
.games-catalogue__quiet { border: 1px solid #b5cbc2; border-radius: 18px; padding: 30px; background: #f7faf9; color: #38565d; line-height: 1.8; max-width: 1100px; }
.games-catalogue__foot { color: #3c5b60; line-height: 1.7; margin-top: 32px; }
.games-catalogue :is(a,button,summary):focus-visible,.games-admin :is(a,button,input,select,textarea,summary):focus-visible { outline: 4px solid #987138; outline-offset: 4px; }
.games-admin { padding: 30px; }
.games-admin :is(h1,h2,h3) { color: #12343b; line-height: 1.25; }
.games-admin h1 { font-size: max(29pt,2.25rem); }
.games-admin h2 { font-size: max(24pt,1.75rem); }
.games-admin h3 { font-size: max(20pt,1.5rem); }
.games-admin :is(input,select,textarea,button,.btn) { font: inherit; min-height: 56px; }
.games-admin input[type=checkbox] { width: 30px; height: 30px; min-height: 30px; margin: 12px; }
.games-admin svg { min-width: 28px; min-height: 28px; }
@media (max-width: 700px) {
  .games-catalogue { padding: 30px 16px 50px; }
  .games-card__art { height: 290px; }
  .games-card__body { padding: 24px 20px; }
  .games-card__badge { left: 17px; top: 17px; max-width: calc(100% - 34px); }
  .games-card__actions { flex-direction: column; align-items: stretch; gap: 16px; }
  .games-card__board table,.games-card__board tbody { display: block; }
  .games-card__board thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .games-card__board tr { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 8px 12px; padding: 17px 0; border-bottom: 1px solid #b8cec4; }
  .games-card__board td { padding: 3px 0; border: 0; }
  .games-card__board td:first-child { grid-row: 1/4; }
  .games-card__board td:nth-child(3)::before { content: "Score: "; color: #3b5d5f; font-size: var(--games-font); }
  .games-card__board td:nth-child(4)::before { content: "Achieved: "; color: #3b5d5f; font-size: var(--games-font); }
  .games-admin { padding: 20px 15px; }
  .games-admin table { display: block; overflow: visible; }
}
@media (prefers-reduced-motion: reduce) { .games-catalogue *,.games-admin * { transition: none !important; } }
