@font-face{font-family:Barlow;src:url("/assets/barlow-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url("/assets/barlow-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url("/assets/barlow-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("/assets/barlow-condensed.woff2") format("woff2");font-weight:600;font-display:swap}
:root{--scheme:dark;--bg:#121411;--panel:#1a1e18;--stage:#10130f;--line:#50574a;--ink:#f6f3e9;--muted:#c4c9bc;--accent:#e6ef9e;--accent-hover:#f2f6c9;--on-accent:#1c2215;--focus:#e0eea2;--title-accent:#e6ef9e;--kicker:#c9db98;--body:Barlow,"Segoe UI",sans-serif;--display:"Barlow Condensed","Arial Narrow",sans-serif;--display-weight:600;--tracking:-.025em;--italic:normal;--radius:6px;--media-radius:10px;--card-ratio:1.5;--card-fit:contain;--hero-fit:cover}

/* AGVGS arcade */
.game {
  --bg: #121411;
  --panel: #1a1e18;
  --stage: #10130f;
  --line: #50574a;
  --ink: #f6f3e9;
  --muted: #c4c9bc;
  --focus: #e0eea2;
  --accent: #e6ef9e;
  --accent-hover: #f2f6c9;
  --title-accent: #e6ef9e;
  --kicker: #c9db98;
  --radius: 6px;
  --media-radius: 10px;
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
}
.game .site-header { background: #151813; }
.game .header-row nav { gap: clamp(6px, 2vw, 24px); }
.game .header-row nav a { justify-content: center; min-width: 44px; padding: 0 6px; font-size: .94rem; }
.game .header-row nav a[aria-current] { box-shadow: inset 0 -2px var(--accent); }
.game .brand { font-size: 1.1rem; letter-spacing: .12em; }
.studio-name { display: none; color: var(--muted); font-size: .78rem; letter-spacing: .035em; font-weight: 600; }
.game .button, .game .icon-control, .game summary { touch-action: manipulation; }
.game .button { font-size: .94rem; }
.game :is(.button.secondary, .icon-control, .filter-drawer summary, .filters input, .filters select) { border-color: #76816c; }
.game :is(.button.secondary, .icon-control, .filter-drawer summary):hover { border-color: var(--focus); }
.game .button:active, .game .icon-control:active { background-color: #30392c; color: #f6f3e9; }
.game .eyebrow { font-size: .73rem; color: var(--kicker); letter-spacing: .13em; }
.game .hero { gap: clamp(1.5rem, 5vw, 5rem); padding-block: clamp(1.75rem, 5.4vw, 5.2rem); }
.game .hero h1 { font-size: clamp(3.65rem, 6.05vw, 7rem); }
.game .hero-copy .eyebrow { margin-bottom: .85rem; }
.game .hero-intro { margin: 1rem 0 1.2rem; max-width: 34ch; font-size: clamp(1rem, 1.42vw, 1.17rem); }
.game .hero-feature {
  background: #1d241b;
  border-color: #5b6850;
  box-shadow: 0 16px 50px #090b085e;
}
.game .hero-image { height: auto; aspect-ratio: 1.5; position: relative; isolation: isolate; }
.game .hero-image img { display: block; width: 100%; height: 100%; object-position: center; object-fit: cover; }
.mirror-glow {
  position: absolute;
  inset: 6% 28% 22% 28%;
  pointer-events: none;
  background: radial-gradient(ellipse, #e6fff0b5 0%, #c6fada4d 26%, transparent 68%);
  mix-blend-mode: screen;
  will-change: opacity, transform;
  opacity: .2;
  animation: mirror-light 4.5s ease-in-out;
}
@keyframes mirror-light {
  0%, 100% { opacity: .2; transform: translateY(0) scale(1); }
  50% { opacity: .65; transform: translateY(2%) scale(1.09); }
}
.game .hero-caption strong { font: 600 clamp(1.25rem, 2.2vw, 1.9rem)/1.05 "Barlow Condensed", sans-serif; }
.game .hero-caption .eyebrow { font-size: .66rem; }
.game .home-shelf { padding-block: 1.75rem 2.15rem; }
.game .home-end { padding-block: 1.75rem; }
.game .section-head a { color: var(--kicker); font-size: .93rem; }
.game .page-heading { margin-bottom: clamp(.95rem, 3vw, 1.75rem); }
.game .page-heading h1 { font-size: clamp(3rem, 6.8vw, 6.4rem); }
.game .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.game .card a { background: #1b2119; border-color: #505d47; overflow: visible; }
.game .card-media { border-radius: var(--media-radius) var(--media-radius) 0 0; aspect-ratio: 1.5; background: #141a13; }
.game .card-media { overflow: hidden; position: relative; }
.game .card-media > img { object-fit: contain; position: relative; }
.game .card-backdrop { position: absolute; inset: 0; overflow: hidden; }
.game .card-backdrop img { object-fit: cover; filter: blur(18px) brightness(.55); transform: scale(1.2); }
.game .card-label { align-items: end; gap: .5rem; min-height: 69px; }
.game .card-label h2, .game .card-label h3 { font-size: clamp(1.21rem, 2.1vw, 1.9rem); line-height: 1.05; overflow-wrap: anywhere; }
.game .card-label .eyebrow { font-size: .7rem; letter-spacing: .08em; }
.game .card-label svg, .game .card-label > span { color: var(--kicker); }
.game .card a:hover .card-label, .game .card a:focus-visible .card-label { background: #283226; border-radius: 0 0 9px 9px; }
.game .filters { padding: .7rem; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: end; }
.game .filter-drawer { min-width: 0; }
.game .filter-drawer summary {
  display: flex; align-items: center; gap: .5rem; cursor: pointer; list-style: none;
  min-height: 48px; border: 1px solid var(--line); border-radius: var(--radius); padding: .45rem .65rem;
  font-size: .9rem; font-weight: 600; background: #20281f;
}
.game summary::-webkit-details-marker { display: none; }
.game .filter-drawer summary::after {
  content: ""; width: 7px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0;
  transform: rotate(45deg) translateY(-2px); margin-inline-start: auto; flex: none;
}
.game .filter-drawer[open] summary::after { transform: rotate(225deg); }
.filter-badge:not(:empty) { border-radius: 1em; padding-inline: .43em; background: var(--accent); color: var(--on-accent); }
.game .filter-drawer[open] { grid-column: 1 / -1; }
.game .filter-drawer[open] summary { width: max-content; }
.game .filter-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: .6rem; padding-top: .7rem; align-items: end; }
.game .filters input::placeholder { color: #b6c1b0; opacity: 1; }
.game .result-count { margin: .8rem 0; min-height: 1.65em; font-size: .96rem; }
.game .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.game [data-reset-search] { margin-bottom: 1rem; }
.game .discovery-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; border: 0; }
.game .discovery-row { border: 1px solid var(--line); border-radius: var(--radius); padding: .85rem; background: #1a2018; }
.game .discovery-row:hover { border-color: var(--focus); }
.game .discovery-row span { gap: .5rem; color: var(--kicker); white-space: nowrap; }
.game .discovery-row h2 { font-size: clamp(1.5rem, 3vw, 2.6rem); overflow-wrap: anywhere; }
.game .crumb { margin-bottom: .35rem; }
.game .detail { align-items: center; grid-template-columns: 1fr .75fr; gap: clamp(1rem, 3.5vw, 3.2rem); }
.game .detail h1 { font-size: clamp(2.9rem, 5.9vw, 6rem); overflow-wrap: anywhere; text-wrap: balance; }
.game .detail .tagline { color: var(--kicker); margin: .55rem 0 0; font-size: clamp(1.03rem, 1.6vw, 1.23rem); }
.game .detail .actions { margin-top: 1.1rem; }
.game .detail-media { height: clamp(155px, 29vw, 340px); overflow: hidden; }
.game .detail-media img { width: 100%; height: 100%; max-height: 100%; }
.game .detail-feature-art img { object-fit: cover; }
.game .game-guide { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.1rem, 3vw, 3rem); margin-top: 2rem; border-top: 1px solid var(--line); padding-top: 1.15rem; }
.game .game-guide h2 { font-size: clamp(1.8rem, 3.6vw, 3.2rem); }
.game .facts { font-size: .97rem; }
.game .player { border-color: var(--line); overflow: clip; }
.game .player-bar { background: #192118; }
.game .player-bar strong { min-width: 0; overflow-wrap: anywhere; }
.game .player-bar button { flex: none; }
.game .player-status { margin: 0; padding: .6rem .85rem; background: #202a1e; }
.game .player.expanded { grid-template-rows: auto auto minmax(0, 1fr); }
.game .player.expanded .frame { grid-row: 3; min-height: 0; }
.game .player.expanded .frame iframe { border: 0; }
.game :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.game .skip { left: max(.5rem, env(safe-area-inset-left)); top: max(.5rem, env(safe-area-inset-top)); }
.game .share-status { margin-top: .5rem; line-height: 1.55; }
.game .share-status input { padding: .45rem; border: 1px solid var(--line); width: 100%; color: var(--ink); background: var(--bg); }
@media (min-width: 1080px) {
  .studio-name { display: inline; }
}
@media (max-width: 760px) {
  .game .hero { gap: 1.1rem; }
  .game .hero h1 { font-size: clamp(3.35rem, 11.4vw, 5.35rem); }
  .game .hero-intro { margin: .85rem 0; }
  .game .hero-caption { padding: .65rem .75rem; }
  .game .hero .actions { gap: .5rem; }
  .game .hero .button { padding-inline: .55rem; gap: .45rem; }
  .game .hero .button svg { width: 16px; }
  .game .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game .card-label { min-height: 64px; }
  .game .card-label :is(h2, h3) { font-size: clamp(1.17rem, 4vw, 1.6rem); }
  .game .detail { grid-template-columns: minmax(0, 1fr); }
  .game .detail-media { height: clamp(140px, 43vw, 270px); }
  .game .game-guide { grid-template-columns: minmax(0, 1fr); }
  .game .filter-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .game .filters { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .game .filter-drawer summary { width: max-content; }
  .game .discovery-list { grid-template-columns: minmax(0, 1fr); }
  .game .home-end { flex-wrap: wrap; }
}
@media (orientation: landscape) and (max-height: 450px) {
  .game .header-row { grid-template-columns: 1fr auto 1fr; min-height: 49px; gap: .7rem; padding-top: 0; }
  .game .header-row nav { grid-row: 1; grid-column: 2; border: 0; }
  .game .header-row > .icon-control { grid-column: 3; }
  .game .hero, .game .detail { grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); align-items: center; gap: 1rem; }
  .game .hero { padding-block: .85rem; }
  .game .hero h1, .game .detail h1 { font-size: clamp(2.25rem, 6.6vw, 3.7rem); }
  .game .hero-copy .eyebrow, .game .detail .eyebrow { margin-bottom: .38rem; }
  .game .hero-intro { margin: .42rem 0 .62rem; line-height: 1.36; }
  .game .hero-image { aspect-ratio: 1.62; }
  .game .hero-feature { max-height: 215px; display: flex; flex-direction: column; }
  .game .hero-image { min-height: 0; }
  .game .hero-caption { padding-block: .35rem; }
  .game .hero-caption .eyebrow { display: none; }
  .game .detail .actions { margin-top: .53rem; }
  .game .detail h1 { font-size: clamp(2.2rem, 5.5vw, 3.1rem); }
  .game .detail .tagline { margin-top: .35rem; }
  .game .content { padding-top: .35rem; }
  .game .detail-media { height: min(44dvh, 200px); }
}
@media (prefers-reduced-motion: reduce) {
  .mirror-glow { animation: mirror-light-quiet 5s ease-in-out; }
}
@keyframes mirror-light-quiet {
  0%, 100% { opacity: .2; }
  55% { opacity: .34; }
}
