/* Portal polish: readable type, compact consent bar, calmer card details and motion. Loaded after portal.css. */
:root{--polish-muted:#a7aebb;--polish-ease:cubic-bezier(.2,.8,.2,1)}

/* One type family: the hero headline uses Manrope like the rest of the portal. */
.hero-copy .hero-title{font-family:'Manrope','Segoe UI',Arial,sans-serif;font-weight:800;letter-spacing:-.055em}
.hero-copy .hero-title em{letter-spacing:-.06em}

/* Sidebar and top line */
.side-link{font-size:14px}
.side-link small{font-size:12px;opacity:.75}
.side-caption{font-size:11px}
.sidebar-progress strong{font-size:13px}
.sidebar-progress>span:not(.progress-icon),.sidebar-progress small,.sidebar-bottom{font-size:12px}
.welcome-line{font-size:12px}

/* Category tiles */
.category-tile strong{font-size:14px}
.category-tile small{font-size:12px;color:var(--polish-muted)}

/* Game cards */
.game-card{transition:transform .25s var(--polish-ease)}
.card-art{transition:border-color .25s,box-shadow .25s}
@media(hover:hover){.game-card:hover{transform:translateY(-3px)}.game-card:hover .card-art{border-color:#d2f87566;box-shadow:0 14px 34px #0008}}
.card-title{font-size:17px}
.card-body p{font-size:13px;color:var(--polish-muted)}
.card-type{font-size:11px;padding:4px 8px}
.card-meta{font-size:12px;color:var(--polish-muted);padding:10px 2px 0}
.card-meta .icon{width:13px;height:13px}
.card-meta>span{white-space:nowrap}
.card-meta>span:first-child{overflow:hidden;text-overflow:ellipsis;display:block}
.card-meta>span:first-child>.icon{margin-right:4px;vertical-align:-2px}
.card-meta>span:last-child{flex:none}
.card-progress{padding:8px 2px 0;font-size:12px}
.card-progress progress[value="0"]{display:none}

/* Consent: a compact bar instead of a large panel over the games */
.consent-banner{max-width:760px;padding:14px 16px;gap:16px;align-items:center}
.consent-copy strong{font-size:14px}
.consent-copy p{font-size:13px;line-height:1.5;margin-top:2px}
.consent-actions{flex-direction:row;gap:8px;flex:none}
.consent-choice{font-size:13px;min-width:0;padding:10px 14px;min-height:44px}

@media(min-width:1800px){.card-title{font-size:19px}.card-body p{font-size:14px}.card-meta{font-size:13px}}
@media(max-width:1250px){.side-link{font-size:13px}.category-tile strong{font-size:13px}.card-title{font-size:16px}.card-meta{font-size:12px}}
@media(max-width:980px){.category-tile strong{font-size:13px}.category-tile small{font-size:12px}}
@media(max-width:720px){
  .sidebar.open .side-link{font-size:14px}
  .category-tile strong{font-size:13px}
  .card-title{font-size:15px}
  .card-body p{font-size:12px}
  .card-meta{font-size:12px;padding-top:6px}
  .card-type{font-size:10px}
  .consent-banner{flex-direction:column;align-items:stretch;padding:12px 14px;gap:10px}
  .consent-copy strong{font-size:13px}
  .consent-copy p{font-size:12px}
  .consent-actions{width:100%}
  .consent-choice{flex:1;font-size:13px;padding:8px}
}
@media(max-width:380px){.card-title{font-size:14px}.card-body p{font-size:12px}.card-meta{font-size:11px}}

/* Cards rise in gently on load; skipped when reduced motion is requested. */
@media(prefers-reduced-motion:no-preference){
  @keyframes polish-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .catalog-section .game-card{animation:polish-rise .45s var(--polish-ease) backwards}
  .catalog-section .game-card:nth-child(2){animation-delay:.04s}
  .catalog-section .game-card:nth-child(3){animation-delay:.08s}
  .catalog-section .game-card:nth-child(4){animation-delay:.12s}
  .catalog-section .game-card:nth-child(5){animation-delay:.16s}
  .catalog-section .game-card:nth-child(6){animation-delay:.2s}
  .catalog-section .game-card:nth-child(7){animation-delay:.24s}
  .catalog-section .game-card:nth-child(8){animation-delay:.28s}
}
@media(prefers-reduced-motion:reduce){.game-card,.game-card:hover{transition:none;transform:none}}
