main.shell{padding:var(--space-6) 0 var(--section-y)}h1{margin:0;font-size:var(--text-display);font-weight:var(--weight-bold);line-height:var(--leading-display)}.button{--btn-bg: var(--accent);--btn-fg: var(--on-accent);--btn-bd: var(--accent);--btn-fill: var(--accent-hover);--btn-fill-fg: var(--on-accent);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);max-width:100%;min-height:var(--target-min);padding:0 var(--space-4);overflow:hidden;border:1.5px solid var(--btn-bd);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.2;text-align:center;cursor:pointer;transition:color var(--motion-slow) var(--ease-out),border-color var(--motion-slow) var(--ease-out),box-shadow var(--motion-slow) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.button:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--btn-fill);transform:translateY(101%);transition:transform var(--motion-slow) var(--ease-out)}.button:hover,.featured:hover .button{border-color:var(--btn-fill);color:var(--btn-fill-fg);box-shadow:var(--elev-2)}.button:hover:before,.featured:hover .button:before{transform:none}.button:active{transform:translateY(1px) scale(.99)}.button.ghost{--btn-bg: var(--surface);--btn-fg: var(--text);--btn-bd: var(--border-strong);--btn-fill: var(--text);--btn-fill-fg: var(--bg)}.button[hidden]{display:none}.button svg,.more-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--motion) var(--ease)}.button:hover svg,.featured:hover .button svg,.more-link:hover svg{transform:translate(4px)}.intro{margin-bottom:var(--space-5)}.lede{max-width:620px;margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-lg);line-height:var(--leading);text-wrap:pretty}.eyebrow{margin:0 0 var(--space-3);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase}.hero-actions[hidden],.row[hidden],#browse[hidden],.empty[hidden]{display:none}.search{position:relative}.search-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1)}.search-label{font-size:var(--text-sm);font-weight:var(--weight-medium)}.surprise-button{min-height:var(--target-min);padding:0 0 0 var(--space-3);border:0;background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.surprise-button:hover{text-decoration:underline;text-underline-offset:3px}.search-row{display:flex;align-items:center;gap:var(--space-2)}.search-field{position:relative;flex:1;min-width:0}.search svg{position:absolute;top:50%;left:var(--space-3);width:18px;height:18px;fill:none;stroke:var(--text-muted);stroke-width:2.2;stroke-linecap:round;transform:translateY(-50%);pointer-events:none}.search input{width:100%;min-height:52px;padding:0 44px 0 40px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--text-md);transition:border-color var(--motion) var(--ease),box-shadow var(--motion) var(--ease)}.search input::placeholder{color:var(--text-muted)}.search input:placeholder-shown{padding-right:var(--space-3)}.search input::-webkit-search-cancel-button{display:none}.search input:focus-visible{border-color:var(--accent);outline-offset:1px}.search-row .button{min-height:52px;padding-inline:var(--space-5)}.search-clear{position:absolute;top:50%;right:2px;display:grid;place-items:center;width:40px;height:var(--target-min);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:var(--text-2xl);transform:translateY(-50%);cursor:pointer}.search-clear[hidden]{display:none}.search-clear:hover{background:var(--surface-2)}.search-clear:focus-visible{outline-offset:-3px}.search-unavailable{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-sm)}:where(.landing) button:disabled,.landing input:disabled{cursor:default}.hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-5)}.count{flex:0 0 auto;padding:var(--space-1) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em}.row{margin-top:var(--space-7)}#browse,main{counter-reset:section}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.section-head h2{display:flex;align-items:baseline;gap:var(--space-3);margin:0;font-size:var(--text-2xl);font-weight:var(--weight-bold)}#browse .section-head h2:before{counter-increment:section;content:counter(section,decimal-leading-zero);content:counter(section,decimal-leading-zero) / "";color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label)}.section-head .n{margin-left:var(--space-1);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular)}#results-count{min-height:1.5em;margin:0;color:var(--text-muted);font-size:var(--text-sm)}.more-link{display:inline-flex;align-items:center;gap:var(--space-1);flex:0 0 auto;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium)}.more-link:hover{text-decoration:underline;text-underline-offset:3px}.empty{margin:0;color:var(--text-muted)}.featured{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;transition:border-color var(--motion) var(--ease),box-shadow var(--motion-slow) var(--ease-out)}.game-card{position:relative;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);transition:background-color var(--motion) var(--ease)}.game-card:hover{background:var(--surface-2)}.game-card:focus-visible{z-index:1;outline-offset:-3px}.game-card[hidden]{display:none}.thumb-wrap{position:relative;background:var(--board);overflow:hidden}.game-card .thumb-wrap{border-radius:var(--radius-md)}.game-thumb{width:100%;height:100%;object-fit:cover;transition:transform var(--motion-max) var(--ease)}.game-card:hover .game-thumb{transform:scale(1.04)}.game-title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);overflow-wrap:anywhere}.game-copy{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading)}.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));counter-reset:game;border-top:1px solid var(--border);border-left:1px solid var(--border)}.game-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);counter-increment:game}.game-card .thumb-wrap{aspect-ratio:16 / 10}.game-card .thumb-wrap:after{content:"";position:absolute;right:10px;bottom:10px;width:36px;height:36px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23086a80' d='M9 6.2v11.6a.6.6 0 0 0 .92.5l9-5.8a.6.6 0 0 0 0-1l-9-5.8a.6.6 0 0 0-.92.5z'/%3E%3C/svg%3E") center / 18px no-repeat;box-shadow:0 4px 12px #00000040;opacity:0;transform:translateY(4px);transition:opacity var(--motion) var(--ease),transform var(--motion) var(--ease)}.game-card:hover .thumb-wrap:after,.game-card:focus-visible .thumb-wrap:after{opacity:1;transform:none}.badge{position:absolute;top:var(--space-2);left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--signal);color:var(--ink-950);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.04em;line-height:1.5}.game-body{flex:1;display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-1) var(--space-1)}.game-meta{margin:auto 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.game-meta b{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase}.game-meta b:before{content:"G/" counter(game,decimal-leading-zero) " · ";content:"G/" counter(game,decimal-leading-zero) " · " / "";color:var(--text-muted)}.game-players{display:inline-block;white-space:nowrap}.game-mode{display:block;font-size:var(--text-xs)}.game-card[data-modes=solo] .game-mode{display:none}.featured{--text: var(--text-on-inverse);--text-muted: var(--text-on-inverse-muted);--accent: var(--accent-on-inverse);--accent-hover: var(--paper-0);--on-accent: var(--ink-950);--focus-color: var(--accent-on-inverse);position:relative;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);border:1px dashed var(--signal-edge);background:linear-gradient(var(--grid-on-inverse) 1px,transparent 1px) -1px -1px / 22px 22px,linear-gradient(90deg,var(--grid-on-inverse) 1px,transparent 1px) -1px -1px / 22px 22px,linear-gradient(135deg,var(--surface-inverse-2),var(--surface-inverse));color:var(--text);color-scheme:dark}.featured:hover{border-color:var(--accent);box-shadow:var(--elev-3)}.featured .thumb-wrap{margin:var(--space-3);border-radius:var(--radius-md)}.featured .thumb-wrap{aspect-ratio:16 / 10}.featured .game-thumb{object-fit:contain;object-position:center}.featured .thumb-wrap:after{display:none}.featured-body{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4) var(--space-6);padding:var(--space-5)}.featured-text{display:flex;flex-direction:column;gap:var(--space-1)}.featured .eyebrow{margin:0;color:var(--accent)}.featured .game-title{font-size:var(--text-3xl);letter-spacing:var(--tracking-display)}.featured .game-copy{max-width:440px;font-size:var(--text-md)}.landing main.shell{padding-top:0}.landing .intro{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:var(--space-5);margin-bottom:var(--space-6);padding:var(--space-7) 0 var(--space-6)}.landing .intro:before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background-image:linear-gradient(var(--grid-strong) 1px,transparent 1px),linear-gradient(90deg,var(--grid-strong) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);background-position:center -1px;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 30% 20%,black 30%,transparent 100%);mask-image:radial-gradient(ellipse 70% 90% at 30% 20%,black 30%,transparent 100%);pointer-events:none}.landing .intro h1{max-width:12ch;font-size:clamp(2.75rem,1.5rem + 5.2vw,5.5rem);letter-spacing:-.045em;line-height:.98}.landing .intro .lede{margin-top:var(--space-4)}@media(prefers-reduced-motion:no-preference){.landing .intro-copy>*{animation:hero-in .7s var(--ease-out) both}.landing .intro-copy>:nth-child(2){animation-delay:60ms}}@keyframes hero-in{0%{transform:translateY(18px)}}.landing .hero-actions{display:block;margin:0}.landing .row{margin-top:var(--space-7)}.recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.recent-link,.recent-placeholder{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-sm);font-weight:var(--weight-medium)}.recent-link{transition:border-color var(--motion) var(--ease),background-color var(--motion) var(--ease)}.recent-link:hover{border-color:var(--accent);background:var(--surface-2)}.recent-link img{flex:0 0 auto;width:64px;height:40px;border-radius:var(--radius-sm);background:var(--board);object-fit:cover}.recent-link span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}.recent-link .resume-label{flex:0 0 auto;color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-bold)}html[data-recent-count] #recent[hidden]{display:block}html[data-recent-count="0"] #recent[hidden]{display:none}html[data-recent-count="1"] .recent-placeholder:nth-child(n+2),html[data-recent-count="2"] .recent-placeholder:nth-child(n+3),html[data-recent-count="3"] .recent-placeholder:nth-child(n+4){display:none}html[data-query-mode] #browse{display:none}html[data-query-mode] #results[hidden]{display:block}html[data-query-mode] .landing .catalog-about,html[data-query-mode] .landing .site-footer{visibility:hidden}.landing .footer-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}.catalog-about{max-width:65ch;margin-top:var(--space-7)}.catalog-about+.catalog-about{margin-top:var(--space-5)}.catalog-about h2{margin:var(--space-6) 0 var(--space-2);font-size:var(--text-xl)}.catalog-about h2:first-child{margin-top:0}.catalog-about h3{margin:var(--space-5) 0 var(--space-1);font-size:var(--text-md)}.catalog-about p{margin:0 0 var(--space-3);color:var(--text-muted);line-height:1.6}.catalog-about p a{color:var(--accent);font-weight:var(--weight-medium);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}.catalog-about p a:hover{text-decoration-color:currentColor}.cat-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.cat-links a{display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-sm);font-weight:var(--weight-medium)}.cat-links a{transition:border-color var(--motion) var(--ease),color var(--motion) var(--ease)}.cat-links a:hover{border-color:var(--accent);color:var(--accent)}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.crumbs a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.crumbs [aria-current]{color:var(--text);font-weight:var(--weight-medium)}.catalog-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-3)}.catalog-tools[hidden]{display:none}@media(scripting:enabled){.catalog-tools[hidden]{display:flex;visibility:hidden}}.catalog-tools label,.category-search{display:grid;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium)}.category-search{flex:1 1 250px;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-2)}.category-search label{grid-column:1 / -1}.catalog-tools input,.catalog-tools select{min-width:0;min-height:var(--target-min);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background-color:var(--surface);color:var(--text);font-size:var(--text-md);font-weight:var(--weight-regular)}.catalog-tools select{-webkit-appearance:none;appearance:none;padding-right:40px;background-image:var(--icon-chevron);background-position:right 14px center;background-size:12px 12px;background-repeat:no-repeat}.catalog-tools input:focus-visible,.catalog-tools select:focus-visible{outline-offset:2px}.catalog-count{min-height:1lh;margin:var(--space-3) 0;color:var(--text-muted);font-size:var(--text-sm)}@media(forced-colors:active){.catalog-tools select{-webkit-appearance:auto;appearance:auto;padding-right:var(--space-3);background-image:none}}@media(min-width:768px){.games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recent-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.landing .intro{padding:var(--space-8) 0 var(--space-7)}}@media(min-width:1024px){.games-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.landing .intro{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-7)}.catalog-tools{position:sticky;top:var(--header-h);z-index:2;margin-inline:calc(-1 * var(--space-3));padding:var(--space-3);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@media(min-width:1280px){.games-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1023.98px){.featured{grid-template-columns:minmax(0,240px) minmax(0,1fr)}.featured-body{flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-5)}}@media(max-width:767.98px){main.shell{padding:var(--space-5) 0 var(--space-6)}.landing main.shell{padding-top:0}.landing .intro{gap:var(--space-4);padding:var(--space-6) 0 var(--space-5)}.lede{font-size:var(--text-md)}.row,.landing .row{margin-top:var(--space-6)}.game-card{gap:var(--space-2);padding:var(--space-2)}.featured{grid-template-columns:minmax(0,clamp(90px,28vw,116px)) minmax(0,1fr)}.featured .thumb-wrap{align-self:center}.featured-body{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.featured .game-title{font-size:var(--text-xl)}.featured .game-copy{font-size:var(--text-sm)}.category-search{flex-basis:100%}.catalog-tools{gap:var(--space-3)}.landing .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing .footer-brand{grid-column:1 / -1}}@media(max-width:479.98px){.game-card .game-copy{display:none}.search-row .button{padding-inline:var(--space-4)}.recent-link img{width:48px;height:30px}}@media(hover:none){.game-card .thumb-wrap:after{display:none}}@media(prefers-reduced-motion:reduce){.button,.game-card,.featured,.game-thumb,.recent-link,.game-card .thumb-wrap:after,.button:before,.button svg,.more-link svg,.search input{transition:none}.button:active,.game-card:hover .game-thumb{transform:none}}
