[hidden]{display:none!important}body{padding-top:4.75rem}
.site-header{position:fixed;inset:0 0 auto}
.brand__mascot{width:2.8rem;height:2.8rem;filter:drop-shadow(0 .2rem 0 color-mix(in srgb,var(--primary) 22%,transparent))}
.button--hero{min-height:3.4rem;margin-top:var(--space-3);padding-inline:1.65rem;font-size:var(--text-lg)}
.catalog-tools{display:none;margin-bottom:var(--space-6);gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:var(--space-5)}
.js .catalog-tools{display:grid;grid-template-columns:minmax(14rem,.7fr) minmax(18rem,1.3fr);align-items:end}
.search-field{display:grid;gap:var(--space-2)}
.filter-label{display:block;margin-bottom:var(--space-2);font-weight:850}
.catalog-count{grid-column:1/-1;margin:0;color:var(--text-muted);font-size:var(--text-sm)}
.empty-state{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-7);text-align:center}
.game-card__content{display:flex;min-width:0;align-items:flex-start;flex-direction:column}
.game-card__content .button{margin-top:auto}
.game-card--upcoming{border-style:dashed}
.game-card--upcoming img{filter:saturate(.72)}
.game-card .badge{margin-bottom:var(--space-2)}
.game-card .eyebrow{margin-top:0}
.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4);padding:0;list-style:none}
.tag-list .chip{padding:.2rem .55rem;font-size:var(--text-xs)}
.button:disabled{opacity:.62;cursor:not-allowed;transform:none;box-shadow:none}
.why-section{background:color-mix(in srgb,var(--primary-soft) 58%,var(--background));border-block:1px solid var(--border)}
.benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.benefit-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:var(--space-5)}
.benefit-card>.icon,.benefit-card__icon{display:grid;width:3rem;height:3rem;margin-bottom:var(--space-4);place-items:center;border-radius:var(--radius-md);background:var(--accent-1);color:var(--on-accent-1);font-family:var(--font-display);font-size:.8rem;font-weight:700}
.benefit-card>.icon{padding:.7rem}
.benefit-card:nth-child(2)>.icon{background:var(--secondary);color:var(--on-secondary)}
.benefit-card:nth-child(3)>.icon{background:var(--accent-2);color:var(--on-accent-2)}
.benefit-card:nth-child(4)>.icon{background:var(--primary);color:var(--on-primary)}
.footer-content{align-items:flex-start}.footer-content p{margin-block:var(--space-2);color:var(--text-muted)}
.brand--footer{font-size:var(--text-lg)}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(7rem,1fr));gap:var(--space-3) var(--space-6)}
.footer-links a{font-weight:800}
.legal-page .lead{color:var(--text-muted);font-size:var(--text-xl)}
.legal-page section{padding-block:var(--space-5);border-bottom:1px solid var(--border)}
.legal-page li+li{margin-top:var(--space-2)}
.policy-date{margin-top:var(--space-6);color:var(--text-muted);font-size:var(--text-sm)}
.form-error{border-left:.35rem solid var(--danger);border-radius:var(--radius-md);background:color-mix(in srgb,var(--danger) 10%,var(--surface));padding:var(--space-4)}
.error-mascot{width:9rem;height:9rem;margin:0 auto var(--space-5)}
.error-page .error-code{font-size:clamp(4rem,18vw,9rem)}
.debug-details{width:min(100%,70rem);margin:var(--space-5) auto;padding:var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left}
.debug-details summary{cursor:pointer;font-weight:800}.debug-details code,.debug-details pre{overflow-wrap:anywhere;white-space:pre-wrap}.debug-details pre{max-height:24rem;overflow:auto}
@media(max-width:56rem){.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.js .catalog-tools{grid-template-columns:1fr}}
@media(max-width:48rem){html:not(.js) .nav{flex-wrap:wrap;height:auto;padding-block:var(--space-2)}html:not(.js) .nav-links{position:static;display:flex;order:3;width:100%;box-shadow:none}html:not(.js) .menu-toggle{display:none}}
@media(max-width:38rem){body{padding-top:4.5rem}.brand__mascot{width:2.35rem;height:2.35rem}.brand{font-size:1.15rem}.benefit-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr}.game-card__content{display:block}.game-card__content .button{margin-top:var(--space-2)}}
