﻿.game-library{max-width:960px;margin:0 auto}
.game-library>.heading h1{font-size:clamp(24px,3.4vw,32px);line-height:1.3}
.game-filters{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 24px}
.game-filters button{min-height:38px;min-width:60px;padding:8px 16px;border:1px solid var(--theme-border,#dfc6d7);border-radius:22px;background:transparent;color:var(--theme-ink,#653d55);font-family:inherit;font-size:12px;cursor:pointer}
.game-filters button[aria-pressed=true]{background:var(--theme-accent,#b9427b);border-color:var(--theme-accent,#b9427b);color:var(--theme-on-accent,#fff9ef)}
.game-library .play-new-games,.game-library .classic-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;align-items:start;margin:0;padding:0}
.game-library .game-list-entry:not(.game-open),.game-library .game-list-hide:not([open]){margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;transform:none;min-width:0}
.game-library .game-list-row{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding:4px 0;min-height:120px;max-width:none;text-align:center;cursor:pointer;background:transparent;color:var(--theme-ink,#653d55);list-style:none}
.game-library .game-list-row::-webkit-details-marker{display:none}
.game-library .game-list-row:after{display:none}
.game-library .game-list-icon{flex:none;display:grid;place-items:center;width:clamp(64px,20vw,88px);height:clamp(64px,20vw,88px);border-radius:17px;background:color-mix(in srgb,var(--theme-accent,#ac587f) 9%,transparent);color:var(--theme-accent,#ac587f);overflow:hidden;transition:transform .15s}
.game-list-icon svg{width:100%;height:100%;display:block}
.game-list-icon svg[viewBox="0 0 24 24"]{width:48%;height:48%}
.game-library .game-list-icon[data-icon=shadow],.game-library .game-list-icon[data-icon=seconds]{background:var(--card-lilac,#e8def3)}
.game-library .game-list-icon[data-icon=memory],.game-library .game-list-icon[data-icon=fighter]{background:var(--card-rose,#f3d7e3)}
.game-library .game-list-icon[data-icon=chess],.game-library .game-list-icon[data-icon=hide],.game-library .game-list-icon[data-icon=word]{background:var(--card-sage,#dfe9d5)}
.game-library .game-list-icon[data-icon=afloat],.game-library .game-list-icon[data-icon=wave]{background:var(--card-blue,#dce9ee)}
.game-library .game-list-icon[data-icon=sudoku]{background:var(--card-honey,#f3e3bc)}
.game-list-copy{width:100%;min-width:0;max-width:140px}
.game-library .game-list-copy h3{font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;font-style:normal;color:var(--theme-ink,#653d55);margin:0;overflow-wrap:anywhere}
.game-library .game-list-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:8px;background:transparent;color:transparent;cursor:pointer}
.game-library .game-list-open:active{transform:none}
.game-library .game-list-open:focus-visible,.game-list-hide>summary:focus-visible,.game-filters button:focus-visible{outline:2px solid var(--theme-accent,#ac587f);outline-offset:3px}
.game-library .game-list-row:hover .game-list-icon{transform:translateY(-3px)}
.game-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 18px;color:var(--theme-ink,#653d55)}
.game-list-heading h2{font:italic 22px/1.3 Georgia,serif;margin:0}
.game-list-heading>span{font-size:10px;color:var(--theme-muted,#927587)}
@media(min-width:700px){.game-library .play-new-games,.game-library .classic-games{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px}.game-library .game-list-copy h3{font-size:13px}}
@media(min-width:1100px){.game-library .play-new-games,.game-library .classic-games{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:360px){.game-library .game-list-copy h3{font-size:11px}.game-library .game-list-row{min-height:112px}.game-filters{gap:6px}.game-filters button{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.game-library .game-list-icon{transition:none}.game-library .game-list-row:hover .game-list-icon{transform:none}}
