.games-page [hidden]{display:none!important}
.games-page .landing{padding-top:26px}
.games-page .logo{width:200px;margin-bottom:18px}
.games-page .intro{margin-bottom:24px}
.games-page h1{font-size:clamp(30px,4vw,42px);letter-spacing:-1px;margin-bottom:12px}
.games-page .lead{font-size:16px}
.catalogue-filters{padding:16px;background:#e7f1ec;border:1px solid #d6e2db;border-radius:12px}
.filter-label{font-size:13px;font-weight:700;color:#365b4f;margin:0 0 10px}
.topic-filters{display:flex;gap:8px;flex-wrap:wrap}
.topic-filters button,.catalogue-empty button{font:700 13px Arial,Helvetica,sans-serif;min-height:44px;border:1px solid #d6e2db;border-radius:8px;padding:10px 13px;background:white;color:#365b4f;cursor:pointer;touch-action:manipulation}
.topic-filters button:hover{border-color:#115e59;background:#f5f7f4}
.topic-filters button[aria-pressed="true"],.catalogue-empty button{background:#115e59;border-color:#115e59;color:white}
.topic-filters button:focus-visible,.catalogue-empty button:focus-visible{outline:3px solid #134e4a;outline-offset:3px}
.topic-count{display:inline-block;margin-left:7px;font-size:11px;opacity:.8}
.catalogue-status{font-size:13px;color:#586d64;margin:16px 0 12px}
.games-page .destinations{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.games-page .destination{padding:18px;border-radius:13px;border-top-width:3px}
.games-page .card-top{margin-bottom:14px;gap:8px}
.games-page .icon{width:36px;height:36px;border-radius:10px;flex-shrink:0}
.games-page .tag{font-size:9px;letter-spacing:1px}
.games-page .destination h2{font-size:22px;letter-spacing:-.5px;margin-bottom:10px}
.games-page .destination p{font-size:14px;line-height:1.55;margin-bottom:16px}
.games-page .subjects{gap:5px;margin-bottom:16px}
.games-page .subjects>span{font-size:10px;padding:5px 7px}
.games-page .card-action{padding-top:12px}
.games-page .play-game-label{font-size:13px;padding:12px 14px;min-height:44px;display:inline-flex;align-items:center}
.catalogue-empty{text-align:center;padding:36px 20px;background:white;border:1px dashed #d6e2db;border-radius:13px}
.catalogue-empty h2{font-size:23px;margin-bottom:10px}.catalogue-empty p{color:#586d64;line-height:1.6;font-size:14px;margin-bottom:20px}
@media(max-width:950px){.games-page .destinations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.games-page .destinations{grid-template-columns:1fr}.games-page .landing{padding:24px 16px}.games-page .logo{width:180px}.games-page .destination{padding:16px}.games-page .intro{margin-bottom:20px}.topic-filters{gap:6px}.topic-filters button{padding:10px;font-size:12px}}
