/* GTA series catalog: /gta and /gta/{game}. Each game sets its own --game color. */
.gta-main{--game:var(--accent)}
.gta-hero{position:relative;overflow:hidden;margin:18px 0 22px;padding:clamp(26px,5vw,56px);border:1px solid var(--line);border-radius:18px;background:radial-gradient(ellipse at 88% 0,rgba(244,197,66,.2),transparent 55%),radial-gradient(ellipse at 0 100%,rgba(224,64,143,.2),transparent 55%),#0d1320;color:#f7fbff}
.gta-game-hero{background:radial-gradient(ellipse at 90% 0,color-mix(in srgb,var(--game) 62%,transparent),transparent 62%),linear-gradient(120deg,#0b1018,#141c29);border-left:6px solid var(--game)}
.gta-hero h1{max-width:18em;margin:4px 0 10px;font-size:clamp(30px,5vw,52px);line-height:1.08;color:#f7fbff}
.gta-hero p:not(.eyebrow){max-width:44em;margin:0 0 14px;font-size:18px;color:#d5deea}
.gta-hero .eyebrow{color:#f4c542}
.gta-crumbs{margin-top:14px;font-size:14px;color:var(--muted)}
.gta-crumbs a{color:var(--muted)}
.gta-tablist{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.gta-tablist[hidden]{display:none}
.gta-tablist button{min-height:44px;padding:9px 16px;border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:none;box-shadow:none;color:var(--muted);font-weight:800;cursor:pointer}
.gta-tablist button[aria-selected="true"]{border-bottom-color:var(--accent);background:var(--soft);color:var(--text)}
.gta-tabs [role="tabpanel"]:focus-visible,.gta-tablist button:focus-visible,.gta-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.gta-era{margin:0 0 26px}
.gta-era .section-head p{margin:4px 0 0;color:var(--muted)}
.gta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.gta-card{position:relative;display:flex;flex-direction:column;gap:6px;min-height:150px;padding:16px;border:1px solid var(--line);border-top:4px solid var(--game);border-radius:12px;background:var(--panel);color:var(--text);text-decoration:none;transition:transform .15s,border-color .15s}
.gta-card:hover{transform:translateY(-3px);border-color:var(--game);border-top-color:var(--game)}
.gta-cover{display:block;width:100%;height:auto;aspect-ratio:640/790;border-radius:8px;object-fit:cover}
.gta-cover-empty{display:flex;align-items:center;justify-content:center;padding:14px;background:linear-gradient(150deg,var(--game),#0b1018);color:#fff;font-size:24px;font-weight:800;line-height:1.15;text-align:center}
.gta-game-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,220px);gap:24px;align-items:center}
.gta-game-hero .gta-cover{box-shadow:0 14px 34px rgba(0,0,0,.5)}
.gta-card small{color:var(--muted);font-weight:700}
.gta-card strong{font-size:20px;line-height:1.2}
.gta-card span{color:var(--muted);font-size:15px}
.gta-timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line)}
.gta-timeline li{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 12px;padding:10px 0 10px 12px}
.gta-timeline li:before{content:"";position:absolute;left:-21px;top:17px;width:12px;height:12px;border-radius:50%;background:var(--game)}
.gta-timeline b{grid-row:span 2;font-size:20px}
.gta-timeline a{font-weight:800}
.gta-timeline span{color:var(--muted);font-size:15px}
.gta-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:22px;align-items:start}
.gta-overview h2:first-child{margin-top:0}
.gta-facts{margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.gta-facts div{padding:8px 0;border-bottom:1px solid var(--line)}
.gta-facts div:last-child{border-bottom:0}
.gta-facts dt{color:var(--muted);font-size:13px;font-weight:700}
.gta-facts dd{margin:2px 0 0}
.gta-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px;padding:0;list-style:none}
.gta-chips li{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}
.gta-disclaimer{margin:8px 0 20px;color:var(--muted);font-size:13px}
@media(max-width:760px){.gta-overview{grid-template-columns:1fr}.gta-game-hero{grid-template-columns:minmax(0,1fr) 110px;gap:14px}.gta-tablist button{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.gta-card{transition:none}.gta-card:hover{transform:none}}
