:root{--violet-400: oklch(72% .19 293);--violet-500: oklch(64% .21 293);--violet-600: oklch(56% .22 293);--violet-700: oklch(47% .19 293);--orange-400: oklch(78% .16 48);--orange-500: oklch(72% .18 45);--orange-600: oklch(63% .19 42);--slate-50: oklch(98% .004 260);--slate-100: oklch(94% .008 260);--slate-200: oklch(88% .012 260);--slate-300: oklch(78% .014 260);--slate-400: oklch(66% .016 260);--slate-500: oklch(54% .016 260);--slate-600: oklch(42% .018 260);--slate-700: oklch(32% .018 258);--slate-800: oklch(24% .018 258);--slate-850: oklch(20% .017 258);--slate-900: oklch(16% .015 258);--slate-950: oklch(12% .012 258);--green-500: oklch(68% .17 145);--amber-500: oklch(78% .16 75);--red-500: oklch(62% .21 25);--blue-500: oklch(65% .15 235);--color-primary: var(--violet-600);--color-primary-hover: var(--violet-500);--color-primary-active: var(--violet-700);--color-secondary: var(--slate-700);--color-secondary-hover: var(--slate-600);--color-accent: var(--orange-500);--color-accent-hover: var(--orange-400);--color-accent-active: var(--orange-600);--color-on-primary: var(--slate-50);--color-on-accent: var(--slate-950);--color-background: oklch(24% .1 268);--color-surface: oklch(28% .1 270 / .92);--color-surface-elevated: oklch(31% .1 272);--color-surface-hover: oklch(36% .11 275);--color-text-primary: var(--slate-50);--color-text-secondary: oklch(88% .03 270);--color-text-muted: oklch(74% .05 270);--color-border: oklch(44% .11 275);--color-divider: oklch(34% .1 272);--page-gradient: linear-gradient(165deg, oklch(34% .15 262) 0%, oklch(26% .13 285) 45%, oklch(22% .11 310) 100%);--header-bg: oklch(26% .11 268 / .94);--color-success: var(--green-500);--color-warning: var(--amber-500);--color-error: var(--red-500);--color-info: var(--blue-500);--color-focus-ring: var(--violet-400);--color-canvas: oklch(6% .008 258);--font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--text-display: 3.5rem;--text-h1: 2.75rem;--text-h2: 2.25rem;--text-h3: 1.75rem;--text-h4: 1.375rem;--text-body-lg: 1.125rem;--text-body: 1rem;--text-body-sm: .875rem;--text-caption: .75rem;--text-label: .8125rem;--text-button: .9375rem;--text-hud-label: .75rem;--text-score: 1.75rem;--text-timer: 1.25rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-tight: 1.08;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-wider: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-2xl: 36px;--radius-pill: 999px;--shadow-sm: 0 1px 2px oklch(0% 0 0 / .35);--shadow-md: 0 4px 14px oklch(0% 0 0 / .38);--shadow-lg: 0 14px 32px oklch(0% 0 0 / .42);--shadow-xl: 0 26px 56px oklch(0% 0 0 / .48);--shadow-game: 0 0 0 1px var(--color-border), 0 24px 56px oklch(0% 0 0 / .55);--shadow-modal: 0 32px 64px oklch(0% 0 0 / .6);--shadow-glow-primary: 0 0 0 1px oklch(64% .21 293 / .5), 0 0 24px oklch(64% .21 293 / .35);--shadow-glow-accent: 0 0 0 1px oklch(72% .18 45 / .5), 0 0 24px oklch(72% .18 45 / .35);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .32s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--z-header: 100;--z-dropdown: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--bp-xs: 320px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-2xl: 1440px;--bp-3xl: 1920px;--container-max: 1440px;--container-wide: 1720px}[data-theme=light]{--color-background: oklch(97.5% .014 272);--page-gradient: linear-gradient(165deg, oklch(96.5% .025 262) 0%, oklch(98.5% .01 285) 45%, oklch(96.5% .028 305) 100%);--header-bg: oklch(100% 0 0 / .92);--color-surface: oklch(100% 0 0);--color-surface-elevated: oklch(100% 0 0);--color-surface-hover: oklch(95.5% .022 274);--color-text-primary: oklch(25% .09 268);--color-text-secondary: oklch(43% .07 268);--color-text-muted: oklch(53% .06 270);--color-border: oklch(89% .035 274);--color-divider: oklch(94% .02 274);--color-primary: oklch(47% .2 276);--color-primary-hover: oklch(41% .2 278);--color-primary-active: oklch(37% .19 278);--color-focus-ring: oklch(47% .2 276);--shadow-sm: 0 1px 2px oklch(30% .1 270 / .08);--shadow-md: 0 4px 14px oklch(30% .1 270 / .1);--shadow-lg: 0 14px 32px oklch(30% .1 270 / .12);--shadow-xl: 0 26px 56px oklch(30% .1 270 / .14);--shadow-game: 0 0 0 1px var(--color-border), 0 24px 56px oklch(30% .1 270 / .18);--shadow-modal: 0 32px 64px oklch(30% .1 270 / .2)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--page-gradient);pointer-events:none}h1,h2,h3,h4,p,figure{margin:0}img,svg,canvas{display:block;max-width:100%}button,input,select,textarea{font-family:inherit}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--color-primary-hover);text-decoration:none}a:hover{color:var(--color-accent);text-decoration:underline}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--color-primary);color:var(--color-on-primary)}.skip-link{position:absolute;left:-9999px;top:0;z-index:var(--z-toast);padding:10px 16px;background:var(--color-primary);color:var(--color-on-primary);border-radius:0 0 var(--radius-sm) 0;font-weight:var(--weight-bold)}.skip-link:focus{left:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.noscript{max-width:60ch;margin:64px auto;padding:0 24px;color:var(--color-text-secondary)}.noscript h1{color:var(--color-text-primary);margin-bottom:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}@media(max-width:600px){.container{padding:0 var(--space-4)}}.page{flex:1;padding:var(--space-7) 0 var(--space-10)}.section{margin-bottom:var(--space-8)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.section-head h2{font-size:var(--text-h3);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tight)}.section-note{color:var(--color-text-muted);font-size:var(--text-caption)}.page-title{font-size:var(--text-h1);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tight);margin:var(--space-3) 0 var(--space-1)}.page-sub{color:var(--color-text-muted);font-size:var(--text-body-sm);margin-bottom:var(--space-5)}@media(max-width:600px){.page-title{font-size:var(--text-h2)}}.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.header-inner{display:flex;align-items:center;gap:var(--space-4);height:68px;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}@media(max-width:600px){.header-inner{padding:0 var(--space-4);gap:var(--space-3)}}.brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-weight:var(--weight-extrabold);font-size:var(--text-h4);flex-shrink:0;text-decoration:none}.brand:hover{color:var(--color-text-primary);text-decoration:none}.brand svg{color:var(--color-primary-hover)}.site-nav{display:flex;gap:var(--space-1);min-width:0}.site-nav a{padding:8px 10px;border-radius:var(--radius-pill);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.site-nav a:hover{background:var(--color-surface-hover);color:var(--color-text-primary);text-decoration:none}.site-nav a[aria-current=page]{color:var(--color-text-primary);background:var(--color-surface-hover)}.header-search{flex:1;max-width:360px;min-width:0;margin-left:auto}.header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.header-inner .nav-toggle{display:none}@media(min-width:561px){#search-toggle{display:none}}@media(max-width:900px){.site-nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;padding:var(--space-2);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.site-nav.is-open{display:flex}.site-nav a{padding:12px 14px;border-radius:var(--radius-sm)}.header-inner .nav-toggle{display:inline-flex}.header-search{max-width:none}}@media(max-width:560px){.header-search{display:none}.header-search.is-open{display:block;position:absolute;top:68px;left:0;right:0;padding:var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:var(--z-dropdown)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);white-space:nowrap;border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:var(--weight-semibold);padding:11px 20px;font-size:var(--text-button);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--sm{padding:8px 14px;font-size:var(--text-body-sm)}.btn--lg{padding:14px 26px;font-size:var(--text-body-lg)}.btn--block{width:100%}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.btn--accent{background:var(--color-accent);color:var(--color-on-accent)}.btn--accent:hover{background:var(--color-accent-hover);color:var(--color-on-accent)}.btn--secondary{background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border)}.btn--secondary:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.btn--ghost{background:transparent;color:var(--color-text-primary)}.btn--ghost:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.btn--danger{background:var(--color-error);color:var(--slate-50)}.btn--danger:hover{background:#d4212d;color:var(--slate-50)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;color:var(--color-text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.icon-btn:hover{background:var(--color-surface-hover)}.icon-btn--sm{width:30px;height:30px}.icon-btn--solid{background:var(--color-surface-elevated)}.icon-btn[aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary-hover)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:3px 9px;border-radius:var(--radius-pill);line-height:1.4;background:var(--color-surface-elevated);color:var(--color-text-secondary)}.badge--new{background:var(--color-info);color:var(--slate-50)}.badge--popular{background:var(--color-accent);color:var(--color-on-accent)}.badge--trending{background:var(--violet-500);color:var(--slate-50)}.badge--featured{background:var(--color-primary);color:var(--color-on-primary)}.badge--updated{background:var(--color-success);color:var(--slate-950)}.field{width:100%;padding:9px 14px;background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--text-body-sm);font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.field::placeholder{color:var(--color-text-muted)}.field:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-glow-primary)}select.field{cursor:pointer;padding-right:34px;width:auto;min-width:150px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 16px center,right 11px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.search-field{position:relative}.search-field .field{padding-left:38px}.search-field svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-5)}.filter-bar .search-field{flex:1;min-width:200px;max-width:380px}.category-nav{display:flex;gap:var(--space-3);overflow-x:auto;padding:var(--space-1) 2px var(--space-2);scrollbar-width:none;-ms-overflow-style:none}.category-nav::-webkit-scrollbar{width:0;height:0}.chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.chip:hover{background:var(--color-surface-hover);color:var(--color-text-primary);text-decoration:none}.chip[aria-current=page],.chip.is-active{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent}.chip[aria-current=page]:hover,.chip.is-active:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--text-body-sm);color:var(--color-text-muted)}.breadcrumb a{color:var(--color-text-secondary)}.breadcrumb a:hover{color:var(--color-primary-hover)}.breadcrumb svg{color:var(--color-text-muted);flex-shrink:0}.breadcrumb [aria-current=page]{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.game-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1279px){.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1023px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}}@media(max-width:359px){.game-grid{grid-template-columns:minmax(0,1fr)}}.game-card{position:relative;display:block;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface-elevated);color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}.game-card:hover,.game-card:focus-within{transform:translateY(-4px);box-shadow:0 0 0 2px var(--color-accent),var(--shadow-lg);text-decoration:none;color:inherit}.game-card__media{position:relative;height:100%;aspect-ratio:16 / 9;background:var(--color-surface-hover);overflow:hidden}.game-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-standard)}.game-card:hover .game-card__media img,.game-card:focus-within .game-card__media img{transform:scale(1.06)}.game-card__preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-standard)}.game-card__preview.is-playing{opacity:1}.game-card--featured .game-card__preview{object-position:top}.game-card__scrim{position:absolute;inset:0;background:linear-gradient(to top,oklch(8% .012 258 / .9),oklch(8% .012 258 / .25) 38%,transparent 58%)}.game-card__badge{margin-bottom:6px}.game-card__fav{position:absolute;right:10px;bottom:10px;background:#00000073;color:var(--slate-50)}.game-card--hero .game-card__fav{right:16px;bottom:16px}.game-card__fav:hover{background:#000000a6}.game-card__fav[aria-pressed=true]{color:var(--color-accent);border-color:transparent}.game-card__caption{position:absolute;left:0;right:84px;bottom:0;padding:var(--space-3)}@media(hover:none){.game-card__caption{right:48px}}@media(max-width:600px){.game-card:not(.game-card--hero) .game-card__caption{padding:8px 10px}.game-card:not(.game-card--hero) .game-card__meta{display:none}.game-card:not(.game-card--hero) .game-card__badge{margin-bottom:3px}.game-card:not(.game-card--hero) .game-card__badge .badge{padding:1px 7px;font-size:10px}.game-card:not(.game-card--hero) .game-card__fav{right:6px;bottom:6px}}.stretched{color:inherit;text-decoration:none}.stretched:after{content:"";position:absolute;inset:-100vmax;z-index:1}.stretched:hover{color:inherit;text-decoration:none}.game-card__fav,.game-card__play,.game-card__playnow{z-index:2}.game-card__playnow{position:relative}.game-card__title{color:var(--slate-50);font-size:var(--text-body-sm);font-weight:var(--weight-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px oklch(0% 0 0 / .6)}.game-card__meta{display:flex;align-items:center;gap:6px;color:var(--slate-300);font-size:var(--text-caption);max-height:0;opacity:0;overflow:hidden;transition:max-height var(--duration-normal) var(--ease-standard),opacity var(--duration-normal) var(--ease-standard)}.game-card:hover .game-card__meta,.game-card:focus-within .game-card__meta{max-height:20px;opacity:1;margin-top:3px}@media(hover:none){.game-card__meta{max-height:20px;opacity:1;margin-top:3px}}.game-card__meta svg{color:var(--color-warning);flex-shrink:0}.game-card--hero{grid-column:span 2;grid-row:span 2}.game-card--hero .game-card__media{aspect-ratio:auto;min-height:100%}.game-card--hero .game-card__title{font-size:var(--text-h3);font-weight:var(--weight-extrabold)}.game-card--hero .game-card__meta{max-height:20px;opacity:1;margin-top:4px;font-size:var(--text-body-sm)}.game-card--hero .game-card__caption{padding:var(--space-5)}@media(max-width:1279px){.game-grid--hero>:nth-child(n+6){display:none}}@media(max-width:1023px){.game-grid--hero>:nth-child(n+4){display:none}}@media(max-width:767px){.game-card--hero{grid-row:span 1}.game-card--hero .game-card__media{aspect-ratio:16 / 9}.game-grid--hero>:nth-child(n+4){display:block}.game-grid--hero>:nth-child(n+6){display:none}}@media(max-width:359px){.game-card--hero{grid-column:auto}}@media(prefers-reduced-motion:reduce){.game-card,.game-card__media img,.game-card__meta{transition:none}.game-card:hover .game-card__media img{transform:none}}.game-card--featured .game-card__media{aspect-ratio:21 / 9}.game-card--featured .game-card__media img{object-position:top}.game-card--featured .game-card__overlay{position:absolute;left:20px;right:20px;bottom:16px}.game-card--featured .game-card__overlay h2{color:var(--slate-50);font-size:var(--text-h2);font-weight:var(--weight-extrabold);margin-bottom:var(--space-1)}@media(max-width:600px){.game-card--featured .game-card__overlay h2{font-size:var(--text-h3)}}.game-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);background:transparent;color:inherit;text-decoration:none;transition:background var(--duration-fast) var(--ease-standard)}.game-row:hover{background:var(--color-surface-hover);text-decoration:none;color:inherit}.game-row img{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.game-row__title{color:var(--color-text-primary);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-row__meta{color:var(--color-text-muted);font-size:var(--text-caption)}.rail-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-2)}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-7);align-items:center;margin-bottom:var(--space-8)}.hero__copy{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start;min-width:0}.hero__badges{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.hero h1{font-size:var(--text-display);font-weight:var(--weight-extrabold);line-height:1.05;letter-spacing:var(--tracking-tight);text-wrap:pretty}@media(max-width:900px){.hero h1{font-size:var(--text-h1)}}@media(max-width:480px){.hero h1{font-size:var(--text-h2)}}.hero p{color:var(--color-text-secondary);font-size:var(--text-body-lg);max-width:46ch;text-wrap:pretty}.hero__facts{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;color:var(--color-text-muted);font-size:var(--text-body-sm)}.hero__facts span{display:inline-flex;align-items:center;gap:5px}.hero__cta{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-1)}.game-shell{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-game);background:var(--color-surface);margin-bottom:var(--space-5)}.game-shell:fullscreen{border-radius:0;margin:0;display:flex;flex-direction:column;justify-content:center;background:var(--color-canvas)}.game-shell:fullscreen .game-viewport{max-height:calc(100vh - 130px);margin:0 auto}.game-bar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);min-height:60px;background:var(--color-surface-elevated);border-top:1px solid var(--color-divider)}.game-bar__icon{width:64px;height:36px;flex:none;border-radius:var(--radius-sm);object-fit:cover}.game-bar__title{min-width:0;margin-right:auto}.game-bar__title h1{font-size:var(--text-h4);font-weight:var(--weight-extrabold);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-bar__title p{display:flex;align-items:center;gap:6px;color:var(--color-text-muted);font-size:var(--text-caption)}.game-bar__tools{display:flex;align-items:center;gap:2px}@media(max-width:600px){.game-bar__icon{display:none}.game-bar__tools{width:100%;justify-content:space-between}}.game-top{display:flex;align-items:flex-start;min-height:54px;background:var(--color-surface);border-bottom:1px solid var(--color-divider)}.game-corner{display:flex;gap:2px;flex:none;margin-left:auto;padding:8px var(--space-3) 8px 0}.game-hud{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap;flex:1;min-width:0;padding:var(--space-2) var(--space-4);min-height:54px;font-family:var(--font-mono)}.game-hud[hidden]{display:none}.hud-item{display:flex;flex-direction:column;gap:2px}.hud-label{font-family:var(--font-sans);font-size:var(--text-hud-label);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);color:var(--color-text-muted)}.hud-value{font-size:var(--text-timer);font-weight:var(--weight-bold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.hud-value--score{font-size:var(--text-score)}.hud-lives{display:flex;gap:3px;align-items:center;height:26px}.hud-lives svg{color:var(--color-error)}.hud-lives svg.is-empty{color:var(--color-surface-hover)}.hud-spacer{margin-left:auto}.game-viewport{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--color-canvas);overflow:hidden}.game-mount{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.game-viewport canvas{display:block;touch-action:none;max-width:100%;max-height:100%}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;padding:var(--space-6);background:radial-gradient(ellipse at center,#04060ad1,#04060a80);color:var(--slate-50)}.game-overlay--solid{background:var(--color-canvas)}.game-overlay--loading{overflow:hidden}.game-overlay--loading>*{position:relative}.game-overlay--loading>.game-overlay__bg{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(18px) brightness(.45) saturate(1.2)}.game-overlay__art{width:min(320px,46%);height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.game-overlay h2{font-size:var(--text-h1);font-weight:var(--weight-extrabold)}.game-overlay p{color:var(--slate-300);font-size:var(--text-body-sm);max-width:44ch}@media(max-width:600px){.game-overlay h2{font-size:var(--text-h3)}.game-overlay{padding:var(--space-4);gap:var(--space-2)}}.game-overlay__stat{font-family:var(--font-mono);font-size:var(--text-body-sm);color:var(--slate-400);letter-spacing:var(--tracking-wide)}.game-overlay__score{font-family:var(--font-mono);font-size:var(--text-display);font-weight:var(--weight-bold);line-height:1}@media(max-width:600px){.game-overlay__score{font-size:var(--text-h2)}}.game-overlay__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.game-overlay__label{font-size:var(--text-label);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);color:var(--slate-400)}.progress{width:min(320px,70%);height:8px;border-radius:var(--radius-pill);background:var(--color-surface-hover);overflow:hidden}.progress__bar{height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--duration-normal) var(--ease-standard)}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--color-surface-hover);border-top-color:var(--color-accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress--busy .progress__bar{width:40%;animation:busy 1.1s var(--ease-standard) infinite}@keyframes busy{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.progress--busy .progress__bar{animation:none;width:100%;opacity:.6}}.page--play{padding-top:var(--space-4)}.container--play{max-width:1680px;--play-w: max(560px, calc((100svh - 220px) * 16 / 9));--rail-w: 320px}.play{display:grid;grid-template-columns:minmax(0,var(--play-w)) var(--rail-w);gap:var(--space-5);justify-content:center;align-items:start;margin-bottom:var(--space-6)}.play__main{width:100%}.play-below{max-width:calc(var(--play-w) + var(--rail-w) + var(--space-5));margin:0 auto}.play .game-shell{margin-bottom:0;scroll-margin-top:calc(68px + var(--space-3))}.play__side{display:flex;flex-direction:column;gap:var(--space-3)}.play__side-title{font-size:var(--text-h4);font-weight:var(--weight-extrabold)}.play__side .tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play.is-theater{grid-template-columns:minmax(0,max(560px,calc((100svh - 190px) * 16 / 9)))}.play.is-theater .play__side .tile-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media(max-width:1100px){.play,.play.is-theater{grid-template-columns:minmax(0,1fr)}.play-below{max-width:none}.play__side .tile-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.tile-grid{display:grid;gap:var(--space-2)}.tile{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}.tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-standard)}.tile__title{position:absolute;inset:auto 0 0;padding:var(--space-5) var(--space-2) 6px;font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--slate-50);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(transparent,#020306e0);opacity:0;transform:translateY(4px);transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.tile:hover,.tile:focus-visible{transform:translateY(-2px);box-shadow:0 0 0 2px var(--color-accent),var(--shadow-lg)}.tile:hover img,.tile:focus-visible img{transform:scale(1.06)}.tile:hover .tile__title,.tile:focus-visible .tile__title{opacity:1;transform:none}@media(hover:none){.tile__title{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tile,.tile img,.tile__title{transition:none}.tile:hover img{transform:none}}.touch-pad{position:absolute;inset:auto 0 0;display:none;justify-content:space-between;padding:var(--space-3);gap:var(--space-3);pointer-events:none}.touch-pad.is-on{display:flex}.touch-pad__group{display:flex;gap:var(--space-3);pointer-events:auto}.touch-btn{width:62px;height:62px;border-radius:var(--radius-pill);border:1px solid oklch(100% 0 0 / .25);background:#ffffff1f;color:var(--slate-50);display:flex;align-items:center;justify-content:center;font-size:var(--text-h4);font-weight:var(--weight-bold);touch-action:none;user-select:none;-webkit-user-select:none}.touch-btn:active,.touch-btn.is-down{background:#ffffff47}.game-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin:var(--space-3) 0 var(--space-4)}.game-head h1{font-size:var(--text-h1);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tight)}@media(max-width:600px){.game-head h1{font-size:var(--text-h2)}}.game-head__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.game-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-7);margin-bottom:var(--space-8)}.game-info h2{font-size:var(--text-h3);font-weight:var(--weight-extrabold);margin-bottom:var(--space-3)}.game-info h3{font-size:var(--text-h4);font-weight:var(--weight-bold);margin:var(--space-5) 0 var(--space-2)}.game-info p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-3);text-wrap:pretty}.features{display:flex;flex-direction:column;gap:6px}.features li{position:relative;padding-left:20px;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.features li:before{content:"";position:absolute;left:4px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.controls-legend{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-4)}.controls-legend h3{font-size:var(--text-label);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 var(--space-3)}.controls-legend+.controls-legend{margin-top:var(--space-3)}.control-row{display:flex;align-items:center;gap:var(--space-3);padding:5px 0;font-size:var(--text-body-sm);color:var(--color-text-secondary)}.control-row__keys{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;border:1px solid var(--color-border);border-bottom-width:2px;border-radius:var(--radius-xs);background:var(--color-surface-elevated);font-family:var(--font-mono);font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3);margin-top:var(--space-5)}.fact{padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.fact__label{color:var(--color-text-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);margin-bottom:4px}.fact__value{color:var(--color-text-primary);font-size:var(--text-body-sm);font-weight:var(--weight-semibold)}.ad-slot{display:flex;align-items:center;justify-content:center;min-height:100px;margin-bottom:var(--space-7);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.ad-slot--home{min-height:120px}.ad-slot--live{display:none;flex-direction:column;align-items:stretch;gap:var(--space-2);min-height:0;border:0;text-transform:none}.ads-on .ad-slot--live.is-filled{display:flex}.ad-slot__label{color:var(--color-text-muted);font-size:var(--text-caption);letter-spacing:var(--tracking-wider);text-transform:uppercase;text-align:center}.ad-slot--live .adsbygoogle{display:block;width:100%;min-height:90px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-11) var(--space-6);text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.empty-state svg{color:var(--color-text-muted)}.empty-state__title{font-size:var(--text-h4);font-weight:var(--weight-bold)}.empty-state p{color:var(--color-text-muted);font-size:var(--text-body-sm);max-width:40ch}.toast-region{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);align-items:center;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);padding:10px 16px;border-radius:var(--radius-pill);background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in var(--duration-normal) var(--ease-standard)}.toast--success{border-color:var(--color-success)}.toast--warning{border-color:var(--color-warning)}.toast--error{border-color:var(--color-error)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}dialog.modal{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text-primary);padding:0;max-width:min(520px,calc(100vw - 32px));width:100%;box-shadow:var(--shadow-modal)}dialog.modal::backdrop{background:#0009}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-3)}.modal__head h2{font-size:var(--text-h4);font-weight:var(--weight-bold)}.modal__body{padding:0 var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.modal__body p{color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:var(--leading-relaxed)}.site-footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-9) 0 var(--space-6);color:var(--color-text-secondary);margin-top:auto}.footer-cols{display:flex;gap:var(--space-9);flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-weight:var(--weight-extrabold);font-size:var(--text-h4)}.footer-brand svg{color:var(--color-primary-hover)}.footer-col{display:flex;flex-direction:column;gap:var(--space-3)}.footer-col h2{color:var(--color-text-primary);font-weight:var(--weight-bold);font-size:var(--text-body-sm)}.footer-col a{color:var(--color-text-secondary);font-size:var(--text-body-sm)}.footer-note{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--color-divider);font-size:var(--text-caption);color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.consent-banner{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:var(--z-overlay);max-width:760px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-4) var(--space-5);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:fade-in var(--duration-normal) var(--ease-standard)}.consent-banner__text{flex:1 1 320px;color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:var(--leading-relaxed)}.consent-banner__text a{text-decoration:underline}.consent-banner__title{color:var(--color-text-primary);font-weight:var(--weight-bold)}.consent-banner__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.game-info .policy-heading{font-size:var(--text-h3);font-weight:var(--weight-bold);margin:var(--space-8) 0 var(--space-3)}.consent-panel{display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-4) 0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.consent-row{display:flex;align-items:flex-start;gap:var(--space-5)}.consent-row+.consent-row{padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.consent-row__text{flex:1 1 auto;min-width:0}.game-info .consent-row__text h3{margin:0 0 var(--space-1)}.game-info .consent-row__text p{margin:0;font-size:var(--text-body-sm)}.switch{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-1);border:0;border-radius:var(--radius-pill);background:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-body-sm);font-weight:var(--weight-semibold)}.switch__track{position:relative;width:44px;height:24px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--color-surface-hover);border:1px solid var(--color-border);transition:background var(--duration-fast) var(--ease-standard)}.switch__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-standard)}.switch[aria-checked=true] .switch__track{background:var(--color-accent);border-color:var(--color-accent)}.switch[aria-checked=true] .switch__thumb{transform:translate(20px);background:var(--color-on-primary)}.switch[aria-checked=true]{color:var(--color-text-primary)}.switch:disabled{cursor:default;opacity:.7}.switch:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.switch__text{min-width:4.5em}@media(max-width:520px){.consent-row{flex-direction:column;gap:var(--space-2)}}.table-scroll{overflow-x:auto;margin:var(--space-2) 0 var(--space-4)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-body-sm)}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--color-divider);color:var(--color-text-secondary)}.data-table th{color:var(--color-text-primary);font-weight:var(--weight-bold);white-space:nowrap}.data-table td:first-child{white-space:nowrap}@media(max-width:600px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{padding:var(--space-2) 0;border-bottom:1px solid var(--color-divider)}.data-table td{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:var(--space-2);padding:2px 0;border:0}.data-table td:first-child{white-space:normal}.data-table td:before{content:attr(data-label);color:var(--color-text-muted);font-weight:var(--weight-bold)}}.fade-in{animation:fade-in var(--duration-normal) var(--ease-standard)}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.container--game{max-width:1200px}.container--narrow{max-width:820px}.game-info--single{grid-template-columns:minmax(0,1fr)}.category-nav--wrap{flex-wrap:wrap;overflow-x:visible}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}@media(max-width:600px){.header-install span{display:none}}.game-card__play{position:absolute;right:48px;bottom:10px;display:flex;align-items:center;justify-content:center;padding:0;border:0;cursor:pointer;width:30px;height:30px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-md);z-index:2;opacity:0;transform:scale(.8);transition:opacity var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.game-card:hover .game-card__play,.game-card:focus-within .game-card__play{opacity:1;transform:none}@media(hover:none){.game-card__play{display:none}}.game-card--hero .game-card__play{right:56px;bottom:16px}.ad-slot--slim{min-height:60px;margin-bottom:var(--space-4)}.planned{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--space-7);align-items:start;padding:var(--space-6);margin-bottom:var(--space-7);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}@media(max-width:760px){.planned{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}}.planned__cover{width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.planned__body{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.planned__body h2{font-size:var(--text-h3);font-weight:var(--weight-extrabold)}.planned__body p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);text-wrap:pretty}.pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-7)}.pager__pages{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.pager__page,.pager__step{display:inline-flex;align-items:center;gap:6px;min-width:40px;height:40px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);justify-content:center;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.pager__page:hover:not(.is-current),.pager__step:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.pager__page.is-current{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent;cursor:default}.pager__step:disabled{opacity:.4;cursor:not-allowed}.pager__gap{color:var(--color-text-muted);padding:0 4px}@media(max-width:480px){.pager__step span{display:none}}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-3)}.cat-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:inherit;text-decoration:none;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.cat-card:hover{background:var(--color-surface-hover);transform:translateY(-2px);text-decoration:none;color:inherit}.cat-card__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-primary-hover)}.cat-card__body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.cat-card__name{color:var(--color-text-primary);font-weight:var(--weight-bold);font-size:var(--text-body)}.cat-card__desc{color:var(--color-text-muted);font-size:var(--text-caption);line-height:var(--leading-snug)}.cat-card__counts{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.cat-card__playable{color:var(--color-accent);font-size:var(--text-caption);font-weight:var(--weight-bold);white-space:nowrap}.cat-card__total{color:var(--color-text-muted);font-size:var(--text-caption);white-space:nowrap}.cat-card__playable.is-empty{color:var(--color-text-muted);font-weight:var(--weight-medium)}
