.games-page,.game-page{--games-content-width: 88rem;--games-radius: clamp(1rem, 2vw, 1.5rem);width:min(100%,var(--games-content-width));margin-inline:auto;padding-inline:clamp(1rem,4vw,4rem);color:var(--text-primary)}.games-page,.games-page *,.games-page *::before,.games-page *::after,.game-page,.game-page *,.game-page *::before,.game-page *::after{box-sizing:border-box}.games-page a,.game-page a{color:inherit;text-decoration:none}.games-page button,.games-page a,.game-page button,.game-page a{-webkit-tap-highlight-color:rgba(0,0,0,0)}.games-page .eyebrow,.game-page .eyebrow{color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.15em;line-height:1.3;text-transform:uppercase}.games-page__header,.game-page__header{padding-block:clamp(1rem,4vw,3rem) clamp(1.5rem,4vw,3.5rem)}.games-page__breadcrumbs,.game-page__breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;color:var(--text-muted);font-size:.8rem;font-weight:700}.games-page__breadcrumbs a,.game-page__breadcrumbs a{color:var(--blue)}.games-page__heading,.game-page__heading{max-width:58rem;margin-top:clamp(2.5rem,6vw,5.5rem)}.games-page__heading h1,.game-page__heading h1{max-width:52rem;margin-top:.7rem;color:var(--text-title);font-size:clamp(2.45rem,7vw,5.8rem);font-weight:800;letter-spacing:-0.075em;line-height:.98}.games-page__heading p:last-child,.game-page__heading p:last-child{max-width:43rem;margin-top:1.2rem;color:var(--text-secondary);font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.65}.games-page__grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:1rem}.games-page__card{display:grid;align-content:start;gap:.8rem;min-height:18rem;padding:clamp(1.2rem,2.5vw,1.8rem);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--games-radius);box-shadow:0 1rem 2.5rem var(--shadow);transition:border-color 220ms ease,box-shadow 220ms ease,transform 220ms ease}.games-page__card h2{color:var(--text-title);font-size:clamp(1.25rem,2vw,1.65rem);font-weight:800;letter-spacing:-0.045em;line-height:1.05}.games-page__card p{color:var(--text-secondary);font-size:.94rem;line-height:1.6}.games-page__card--available{border-color:color-mix(in srgb, var(--blue) 60%, var(--border))}.games-page__card--available:hover,.games-page__card--available:focus-visible{border-color:var(--blue);box-shadow:0 1.25rem 3rem var(--shadow-blue);transform:translateY(-0.25rem)}.games-page__icon{display:grid;place-items:center;width:3.25rem;height:3.25rem;color:var(--text-inverse);background:var(--blue);border-radius:1rem;font-size:1.35rem;font-weight:800}.games-page__icon img{width:2.25rem;height:2.25rem;filter:brightness(0) invert(1)}.games-page__card-label{width:fit-content;padding:.3rem .6rem;color:var(--blue);background:color-mix(in srgb, var(--blue-soft) 55%, transparent);border-radius:999px;font-size:.7rem;font-weight:800;line-height:1.2}.games-page__link-label{align-self:end;margin-top:auto;color:var(--blue);font-size:.88rem;font-weight:800}.games-page__footer,.game-page__footer{padding-block:clamp(2rem,5vw,4rem) clamp(3rem,7vw,6rem)}.games-page__back-link,.game-page__back-link{display:inline-flex;align-items:center;gap:.55rem;color:var(--blue);font-size:.9rem;font-weight:800}.games-page__back-link:focus-visible,.game-page__back-link:focus-visible{outline:2px solid var(--blue);outline-offset:.3rem}@media(max-width: 68rem){.games-page__grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 42rem){.games-page,.game-page{padding-inline:1rem}.games-page__heading,.game-page__heading{margin-top:2.5rem}.games-page__heading h1,.game-page__heading h1{font-size:clamp(2.35rem,13vw,4rem)}.games-page__grid{grid-template-columns:1fr}.games-page__card{min-height:0}}@media(min-width: 42.01rem){.games-page__heading{width:100%;max-width:none}.games-page__heading h1{width:100%;max-width:none}}.memory{margin-bottom:clamp(2rem,5vw,4rem);padding:clamp(1rem,3vw,2rem);color:var(--text-primary);background:var(--bg-section);border:1px solid var(--border);border-radius:var(--games-radius);box-shadow:0 1.5rem 4rem var(--shadow)}.memory,.memory *,.memory *::before,.memory *::after{box-sizing:border-box}.memory button{font:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0)}.memory__header{max-width:50rem}.memory__header h2{margin-top:.7rem;color:var(--text-title);font-size:clamp(1.75rem,4vw,3.2rem);font-weight:800;letter-spacing:-0.06em;line-height:1}.memory__header p:last-child{margin-top:.9rem;color:var(--text-secondary);font-size:.98rem;line-height:1.6}.memory__layout{display:grid;grid-template-columns:minmax(0, 1fr) minmax(17rem, 22rem);gap:clamp(1rem,3vw,2rem);margin-top:clamp(1.5rem,3vw,2.5rem)}.memory__play-area,.memory__settings,.memory__records,.memory__help{padding:clamp(.85rem,2vw,1.35rem);background:var(--bg-card);border:1px solid var(--border);border-radius:1rem}.memory__play-area{min-width:0}.memory__status-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.65rem;background:var(--bg-input);border:1px solid var(--border);border-radius:.8rem}.memory__counter{display:grid;gap:.15rem;color:var(--text-muted);font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.memory__counter--right{justify-items:end;text-align:right}.memory__counter output{color:var(--text-title);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1.1rem,3vw,1.55rem);font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1}.memory__game-badge{display:grid;place-items:center;width:4.2rem;height:3.35rem;color:var(--text-inverse);background:var(--blue);border-radius:.75rem;font-size:.68rem;font-weight:900;letter-spacing:.08em}.memory__board-wrap{display:grid;place-items:center;margin-top:.9rem;padding:clamp(.45rem,1.5vw,.9rem);overflow:auto;background:var(--bg-input);border:1px solid var(--border);border-radius:.9rem;overscroll-behavior:contain}.memory__board{--memory-columns: 4;display:grid;grid-template-columns:repeat(var(--memory-columns), minmax(0, 1fr));gap:clamp(.35rem,1.2vw,.7rem);width:min(100%,42rem);margin-inline:auto}.memory__card{--memory-card-accent: var(--blue);position:relative;width:100%;aspect-ratio:1;padding:0;color:var(--text-title);background:rgba(0,0,0,0);border:0;border-radius:.85rem;cursor:pointer;perspective:900px}.memory__card:focus-visible{z-index:3;outline:3px solid var(--blue);outline-offset:3px}.memory__card:hover:not(:disabled) .memory__card-side--back{border-color:var(--blue);box-shadow:0 .5rem 1.2rem var(--shadow-blue);transform:translateY(-2px)}.memory__card:disabled{cursor:default}.memory__card.is-flipped .memory__card-inner{transform:rotateY(180deg)}.memory__card.is-matched .memory__card-side--front{box-shadow:inset 0 0 0 2px var(--memory-card-accent),0 .55rem 1.4rem color-mix(in srgb, var(--memory-card-accent) 28%, transparent)}.memory__card-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 420ms cubic-bezier(0.22, 1, 0.36, 1)}.memory__card-side{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;backface-visibility:hidden;border:1px solid var(--border);border-radius:.85rem;transition:border-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}.memory__card-side--back{color:var(--blue);background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--blue) 22%, transparent), transparent 42%),linear-gradient(145deg, color-mix(in srgb, var(--blue-soft) 72%, var(--bg-card)), var(--bg-card));border-color:color-mix(in srgb, var(--blue) 42%, var(--border))}.memory__card-side--back::before,.memory__card-side--back::after{content:"";position:absolute;width:55%;aspect-ratio:1;border:1px solid color-mix(in srgb, var(--blue) 28%, transparent);border-radius:50%}.memory__card-side--back::before{transform:translate(-18%, -18%)}.memory__card-side--back::after{transform:translate(18%, 18%)}.memory__card-mark{position:relative;z-index:1;display:grid;place-items:center;width:2.15rem;height:2.15rem;color:var(--blue);border:1px solid color-mix(in srgb, var(--blue) 48%, transparent);border-radius:50%;font-size:.72rem;font-weight:900;letter-spacing:.04em}.memory__card-side--front{transform:rotateY(180deg);color:var(--memory-card-accent);background:radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--memory-card-accent) 28%, transparent), transparent 58%),var(--bg-card);border-color:color-mix(in srgb, var(--memory-card-accent) 55%, var(--border))}.memory__symbol{display:grid;place-items:center;width:66%;height:66%;color:var(--memory-card-accent);background:color-mix(in srgb, var(--memory-card-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--memory-card-accent) 34%, transparent);border-radius:30%;font-family:"Segoe UI Symbol","Noto Sans Symbols 2",sans-serif;font-size:clamp(1.35rem,5vw,2.75rem);font-weight:700;line-height:1}.memory__status{min-height:1.5rem;margin:.85rem 0 0;color:var(--text-secondary);font-size:.9rem;line-height:1.5;text-align:center}.memory__status[data-state=success],.memory__status[data-state=won]{color:var(--success)}.memory__status[data-state=warning]{color:var(--warning)}.memory__status[data-state=error]{color:var(--error)}.memory__actions{display:flex;justify-content:center;margin-top:.9rem}.memory__button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:2.8rem;padding:.7rem 1rem .7rem 1.15rem;color:var(--text-inverse);background:var(--blue);border:1px solid rgba(0,0,0,0);border-radius:999px;cursor:pointer;font-size:.9rem;font-weight:800;line-height:1.2;transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}.memory__button:hover{background:var(--blue-hover);box-shadow:0 .7rem 1.5rem var(--shadow-blue);transform:translateY(-2px)}.memory__button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.memory__interaction-hint,.memory__settings-hint,.memory__record-note{color:var(--text-muted);font-size:.78rem;line-height:1.55}.memory__interaction-hint{max-width:38rem;margin:.9rem auto 0;text-align:center}.memory__sidebar{display:grid;align-content:start;gap:1rem;min-width:0}.memory__settings fieldset{min-width:0;margin:0;padding:0;border:0}.memory__settings legend{margin-bottom:.9rem;color:var(--text-title);font-size:1.05rem;font-weight:800}.memory__difficulty-list{display:grid;gap:.55rem}.memory__difficulty{display:grid;gap:.2rem;width:100%;padding:.75rem .85rem;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:.75rem;cursor:pointer;text-align:left;transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease}.memory__difficulty span{color:var(--text-title);font-size:.9rem;font-weight:800}.memory__difficulty small{color:var(--text-muted);font-size:.75rem}.memory__difficulty:hover,.memory__difficulty:focus-visible,.memory__difficulty.is-active{background:color-mix(in srgb, var(--blue-soft) 48%, var(--bg-input));border-color:var(--blue)}.memory__difficulty:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.memory__difficulty.is-active{transform:translateX(0.15rem)}.memory__settings-hint{margin:1rem 0 0}.memory__section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.memory__section-heading h3{margin-top:.35rem;color:var(--text-title);font-size:1.25rem;letter-spacing:-0.03em}.memory__clear-records{padding:.25rem 0;color:var(--text-muted);background:rgba(0,0,0,0);border:0;cursor:pointer;font-size:.72rem;font-weight:800}.memory__clear-records:hover,.memory__clear-records:focus-visible{color:var(--blue)}.memory__clear-records:focus-visible{outline:2px solid var(--blue);outline-offset:.25rem}.memory__record-list{display:grid;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none}.memory__record-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:.7rem}.memory__record-list li span{color:var(--text-secondary);font-size:.82rem}.memory__record-list li strong{color:var(--text-title);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;font-variant-numeric:tabular-nums;text-align:right}.memory__statistics{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0 0;color:var(--text-muted);font-size:.78rem;text-align:center}.memory__statistics strong{color:var(--blue)}.memory__record-note{margin:1rem 0 0}.memory__help{margin-top:1rem}.memory__help summary{color:var(--text-title);cursor:pointer;font-size:.9rem;font-weight:800}.memory__help ul{display:grid;gap:.5rem;margin:1rem 0 0;padding-left:1.2rem;color:var(--text-secondary);font-size:.88rem;line-height:1.55}@media(max-width: 68rem){.memory__layout{grid-template-columns:minmax(0, 1fr)}.memory__sidebar{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 42rem){.memory{padding:.75rem}.memory__sidebar{grid-template-columns:1fr}.memory__status-bar{gap:.4rem;padding:.5rem}.memory__game-badge{width:3.55rem;height:2.9rem;font-size:.56rem}.memory__board-wrap{padding:.45rem}.memory__board{gap:.35rem}.memory__card,.memory__card-side{border-radius:.55rem}.memory__card-mark{width:1.65rem;height:1.65rem;font-size:.58rem}.memory__symbol{font-size:clamp(1rem,7vw,2rem)}}@media(prefers-reduced-motion: reduce){.memory__card-inner,.memory__card-side,.memory__card,.memory__button,.memory__difficulty{transition:none}.memory__card:hover:not(:disabled) .memory__card-side--back,.memory__button:hover,.memory__difficulty.is-active{transform:none}}
