/* Gameradar storefront: one shared visual language, appended after route styles. */
:root { color-scheme: dark; }
body.gr-app {
  --bg: #0e1721; --bg-elevated: #132130; --panel: #142231; --panel-strong: #1b2f42;
  --panel-soft: #101d29; --line: #263a4d; --line-strong: #3b566e;
  --text: #edf3fa; --muted: #9bafc1; --muted-bright: #c4d2de;
  --accent: #67c8f5; --accent-strong: #9edfff; --accent-dark: #092337;
  --blue: #67c8f5; --green: #88dba9; --amber: #edc17b; --violet: #bfadf4;
  --radius-xs: 4px; --radius-sm: 6px; --radius: 8px; --radius-lg: 12px;
  --shadow: 0 16px 44px #0003; --max: 1440px;
  margin: 0; min-width: 0; min-height: 100vh; color: var(--text);
  background: radial-gradient(ellipse 1100px 500px at 38% 0%, #1b354d88, transparent 90%), var(--bg);
  font: 14px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.gr-app *, .gr-app *::before, .gr-app *::after { box-sizing: border-box; }
.gr-app [hidden] { display: none !important; }
.gr-app a { color: inherit; text-decoration: none; }
.gr-app button, .gr-app input, .gr-app select, .gr-app textarea { font: inherit; }
.gr-app button, .gr-app select { cursor: pointer; }
.gr-app button { color: inherit; }
.gr-app img, .gr-app video { max-width: 100%; }
.gr-app h1, .gr-app h2, .gr-app h3, .gr-app p { margin-top: 0; }
.gr-app button, .gr-app a, .gr-app input, .gr-app select { -webkit-tap-highlight-color: transparent; }
.gr-app :focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.gr-app ::selection { color: #fff; background: #267eaa; }
.gr-app .noise { display: none; }
.gr-app .gr-container, .gr-app .shell { width: min(calc(100% - 56px), var(--max)); margin-inline: auto; }
.gr-icon { display: inline-block; vertical-align: middle; width: 20px; height: 20px; flex: 0 0 auto; }
.gr-app .gr-sr, .gr-app .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap !important; }
.gr-app .skip-link { position: fixed; inset: 12px auto auto 12px; transform: translateY(-200%); z-index: 500; background: var(--accent); color: #061827; padding: 10px 14px; border-radius: 4px; }
.gr-app .skip-link:focus { transform: none; }
/* Familiar, two-level navigation. No fictional account UI. */
.gr-header { position: sticky; top: 0; z-index: 80; background: #0b141eF5; border-bottom: 1px solid #294056; backdrop-filter: blur(20px); }
.gr-header-top { min-height: 78px; display: flex; align-items: center; gap: 22px; }
.gr-brand { display: flex; align-items: center; gap: 10px; color: var(--text); flex-shrink: 0; }
.gr-brand > .gr-icon { width: 41px; height: 41px; color: var(--accent); stroke-width: 1.4; }
.gr-brand > span { font-size: 25px; font-weight: 730; letter-spacing: -.8px; line-height: 1.12; }
.gr-brand > span > span { color: var(--accent); }
.gr-brand small { display: block; margin-top: 5px; color: #a1b3c4; font-size: 10px; font-weight: 450; letter-spacing: .3px; }
.gr-search { flex: 1; display: flex; align-items: center; gap: 12px; max-width: 720px; height: 42px; border: 1px solid #314a61; background: #162738; border-radius: 5px; margin: 0 auto 0 25px; padding: 0 10px 0 14px; }
.gr-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px #67c8f519; }
.gr-search > .gr-icon { color: #93adc4; width: 18px; }
.gr-search input { min-width: 0; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; outline: 0; color: var(--text); font-size: 13px; box-shadow: none; }
.gr-search input::placeholder { color: #9eb1c1; opacity: 1; }
.gr-search button { display: grid; place-items: center; min-width: 32px; min-height: 32px; padding: 0; border: 0; border-radius: 3px; background: #263f55; color: #baddf0; }
.gr-language { display:flex; flex-shrink:0; align-items:center; gap:2px; }
.gr-language a { display:grid; place-items:center; min-width:30px; min-height:36px; padding:4px; border-radius:4px; color:var(--muted); font-size:11px; font-weight:600; }
.gr-language a[aria-current] { color:var(--accent); background:#213b52; }
.gr-language a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.gr-quick-search { display: flex; align-items: center; gap: 6px; border: 0; padding: 6px; background: none; color: var(--muted); }
.gr-quick-search > .gr-icon { display: none; }
.gr-quick-search kbd { padding: 4px 6px; border: 1px solid #2d455b; border-radius: 4px; color: #98adbf; font-size: 11px; white-space: nowrap; }
.gr-watch-open { display: flex; align-items: center; gap: 8px; padding: 10px 0 10px 8px; background: none; border: 0; font-size: 12px; white-space: nowrap; }
.gr-watch-open .gr-icon { color: var(--accent); width: 18px; }
.gr-watch-open b { background: #213b52; min-width: 22px; padding: 2px 5px; border-radius: 4px; color: #a9dfff; font-size: 11px; text-align: center; }
.gr-menu-toggle { display: none; border: 1px solid var(--line); border-radius: 4px; background: var(--panel); min-width: 38px; height: 38px; place-items: center; }
.gr-header-bottom { border-top: 1px solid #182b3b; }
.gr-navigation-wrap { display: flex; justify-content: space-between; align-items: stretch; gap: 24px; }
.gr-navigation, .gr-secondary-nav { display: flex; align-items: stretch; gap: 30px; }
.gr-navigation a, .gr-secondary-nav a { position: relative; display: flex; align-items: center; min-height: 48px; padding: 0 1px; color: #a9bdcf; font-size: 13px; font-weight: 500; white-space: nowrap; }
.gr-navigation a:hover, .gr-secondary-nav a:hover { color: white; }
.gr-navigation a[aria-current], .gr-secondary-nav a[aria-current] { color: #d6f1ff; }
.gr-navigation a[aria-current]::after, .gr-secondary-nav a[aria-current]::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 3px; background: var(--accent); box-shadow: 0 -4px 16px #67c8f544; }
.gr-secondary-nav { gap: 23px; }
.gr-secondary-nav a { color: #91a8bb; font-size: 12px; }
/* Home: discovery, not a dashboard of invented metrics. */
.gr-main { padding-block: 28px 32px; }
.gr-page-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 21px; }
.gr-page-heading h1 { font-size: 26px; line-height: 1.22; font-weight: 660; letter-spacing: -.7px; margin: 0 0 4px; }
.gr-page-heading p { color: var(--muted); font-size: 13px; margin: 0; }
.gr-status { display: inline-flex; align-items: center; gap: 7px; color: #a0b4c5 !important; font-size: 11px; white-space: nowrap; }
.gr-status i { width: 6px; height: 6px; background: #71889b; border-radius: 50%; }
.gr-status-recent i { background: var(--green); box-shadow: 0 0 0 4px #88dba912; }
.gr-status-delayed i { background: var(--amber); }
.gr-home-live { display: flex; align-items: center; gap: 12px; justify-content: flex-end; margin: -12px 0 14px; min-height: 12px; font-size: 10px; color: var(--muted); }
.gr-home-live:has([data-sd-refresh]:not([hidden])) { padding: 10px 12px; margin: 0 0 16px; border: 1px solid #326580; background: #183247; border-radius: 5px; justify-content: space-between; font-size: 12px; }
.gr-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 306px; gap: 24px; align-items: start; }
.gr-main-column, .gr-sidebar { min-width: 0; }
.gr-sidebar { display: grid; gap: 18px; }
.gr-hero { position: relative; overflow: hidden; background: #101e2c; border: 1px solid #324c63; border-radius: 7px; box-shadow: 0 12px 36px #0003; }
.gr-slide { position: relative; min-height: 354px; }
.gr-hero-art { position: absolute; inset: 0 0 0 19%; overflow: hidden; }
.gr-hero-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0d1b29 0%, #0d1b29e0 18%, #0d1b2975 55%, #0d1b2915 100%), linear-gradient(0deg, #0c192bd9 0%, transparent 65%); }
.gr-hero-art img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .82; }
.gr-hero-copy { position: relative; z-index: 1; padding: 30px 32px 46px; width: min(76%, 625px); }
.gr-eyebrow { display: inline-flex; align-items: center; gap: 6px; color: #a8ddf7; font-size: 10px; font-weight: 650; letter-spacing: 1.1px; text-transform: uppercase; margin-bottom: 13px; }
.gr-eyebrow .gr-icon { width: 15px; height: 15px; }
.gr-hero-copy h2 { font-size: clamp(30px, 3.2vw, 47px); font-weight: 720; line-height: 1.04; letter-spacing: -1.8px; margin: 0 0 14px; text-wrap: balance; overflow-wrap: anywhere; text-shadow: 0 2px 20px #0005; }
.gr-hero-copy > p { color: #c0d2e1; font-size: 14px; line-height: 1.45; margin-bottom: 15px; max-width: 450px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.gr-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.gr-tags span { padding: 3px 6px; color: #bdccda; border-radius: 3px; background: #294052aa; font-size: 10px; line-height: 1.2; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gr-hero .gr-tags span { border: 1px solid #36546a; background: #142b3caa; }
.gr-hero-meta { display: flex; align-items: center; gap: 7px; margin: 17px 0 15px; color: #b1cce0; font-size: 11px; }
.gr-hero-meta .gr-icon { width: 15px; height: 15px; color: var(--accent); }
.gr-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.gr-app .gr-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 40px; padding: 10px 15px; font-size: 12px; font-weight: 600; line-height: 1.2; border-radius: 4px; border: 1px solid transparent; }
.gr-app .gr-button-primary { color: #062033; background: linear-gradient(100deg, #76d1f9, #36a9e1); border-color: #63c2ee; box-shadow: 0 3px 18px #219bc822; }
.gr-app .gr-button-primary:hover { background: #9bdeff; }
.gr-app .gr-button-secondary { color: #cce6f6; background: #203b50; border-color: #365773; }
.gr-app .gr-button-secondary:hover { background: #2a4a63; }
.gr-button .gr-icon { width: 17px; height: 17px; }
.gr-carousel-controls { position: absolute; right: 18px; bottom: 14px; display: flex; gap: 12px; align-items: center; z-index: 2; }
.gr-carousel-controls > button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; background: #102235bb; border: 1px solid #36536a; border-radius: 4px; }
.gr-carousel-controls > button:first-child .gr-icon { transform: rotate(180deg); }
.gr-carousel-controls .gr-icon { width: 13px; height: 13px; }
.gr-carousel-dots { display: flex; gap: 6px; }
.gr-carousel-dots button { width: 23px; height: 24px; padding: 8px 1px; border: 0; background: none; position: relative; }
.gr-carousel-dots button::after { content: ''; display: block; width: 100%; height: 3px; border-radius: 3px; background: #738ca399; }
.gr-carousel-dots button[aria-pressed="true"]::after { background: #75d2ff; }
.gr-section { margin-top: 28px; }
.gr-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.gr-section-heading h2 { margin: 0; font-size: 19px; line-height: 1.3; font-weight: 650; letter-spacing: -.4px; }
.gr-section-heading p { color: var(--muted); font-size: 11px; margin: 3px 0 0; }
.gr-section-heading > a { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-size: 11px; white-space: nowrap; padding: 7px 0 7px 8px; }
.gr-section-heading .gr-icon { width: 15px; height: 15px; }
.gr-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.gr-card { position: relative; border: 1px solid #2a4053; background: #152432; border-radius: 5px; min-width: 0; overflow: hidden; transition: border-color 150ms, transform 150ms, background 150ms; }
.gr-card:hover { border-color: #557c98; background: #1b3041; transform: translateY(-2px); }
.gr-card-art { position: relative; aspect-ratio: 1.78; overflow: hidden; background: #1b3144; }
.gr-card-art > a { display: block; width: 100%; height: 100%; }
.gr-card-art img { width: 100%; height: 100%; display: block; object-fit: cover; }
.gr-card-rank { position: absolute; bottom: 6px; left: 8px; color: #fff; font-size: 21px; line-height: 1; font-weight: 700; text-shadow: 0 1px 6px #000; }
.gr-card-content { padding: 11px; }
.gr-card h3 { margin: 0 0 9px; color: #eff5fb; font-size: 13px; font-weight: 630; line-height: 1.3; min-height: 1.3em; overflow-wrap: anywhere; }
.gr-card-kicker { margin: -2px 0 7px; }
.gr-card-facts { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; margin-top: 12px; font-size: 11px; color: #b1c7d9; }
.gr-card-metric { display: inline-flex; align-items: center; gap: 3px; color: #b4dcaa; font-weight: 620; font-size: 11px; }
.gr-card-metric small { color: #91a8b8; font-size: 9px; font-weight: 450; }
.gr-card-metric .gr-icon { width: 12px; height: 12px; color: #a3d6f0; }
.gr-muted { color: var(--muted); font-size: 11px; }
.gr-no-art { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; height: 100%; width: 100%; padding: 12px; text-align: center; color: #9acde6; background: radial-gradient(circle at 75% 15%, #45749655, transparent 65%), linear-gradient(135deg, #233e53, #101f2e); }
.gr-no-art > .gr-icon { width: 38px; height: 38px; opacity: .65; }
.gr-no-art > span { font-size: 11px; }
.gr-hero-art .gr-no-art > span { display: none; }
.gr-hero-art .gr-no-art > .gr-icon { position: absolute; width: 240px; height: 240px; right: 3%; opacity: .24; }
/* Reuse Personal Radar's actions; no competing storage or click handlers. */
.gr-app .gr-card .game-quick-actions { position: absolute; inset: 7px 7px auto auto; display: flex; gap: 4px; opacity: 1; transform: none; pointer-events: auto; }
.gr-app .gr-card .game-action { width: 28px; height: 28px; min-width: 28px; min-height: 28px; padding: 0; display: grid; place-items: center; border: 1px solid #647f9566; border-radius: 4px; background: #0b1c2de8; color: #d7eeff; box-shadow: none; }
.gr-app .gr-card .game-action-label { display: none; }
.gr-app .gr-card .game-action-icon { font-size: 17px; line-height: 1; }
.gr-app .gr-hero .game-quick-actions, .gr-app .gr-signal .game-quick-actions, .gr-app .gr-update-card .game-quick-actions { position: static; display: inline-flex; gap: 5px; opacity: 1; transform: none; pointer-events: auto; margin: 0; }
.gr-app .gr-hero .game-action, .gr-app .gr-signal .game-action, .gr-app .gr-update-card .game-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 32px; min-height: 34px; padding: 7px 10px; border: 1px solid #35536b; background: #142b3cee; border-radius: 4px; color: #cde8f8; box-shadow: none; }
.gr-app .gr-hero .game-action { min-height: 40px; }
.gr-app .gr-hero .game-action-label, .gr-app .gr-signal .game-action-label { display: inline; font-size: 11px; }
.gr-app .gr-update-card .game-action-label { display: none; }
.gr-app .gr-update-card .game-quick-actions { margin-top: 9px; }
.gr-app .game-action.is-watched, .gr-app .game-action[aria-pressed="true"] { color: #a3dcfa; border-color: #5e9ac0; background: #204762; }
.gr-app .gr-card .game-action:hover, .gr-app .gr-signal .game-action:hover { border-color: #8ecff2; background: #2a4d64; }
.gr-update-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gr-update-card { border: 1px solid #2a4053; background: #152432; overflow: hidden; border-radius: 5px; min-width: 0; }
.gr-update-art { display: block; aspect-ratio: 2.2; background: #1b3144; }
.gr-update-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gr-update-card > div { padding: 12px; }
.gr-update-card h3 { margin: 9px 0 5px; font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; }
.gr-update-card p { color: #b1c5d5; font-size: 12px; margin-bottom: 8px; line-height: 1.4; }
.gr-update-card small { display: block; font-size: 10px; color: #95afc4; }
.gr-badge { display: inline-flex; align-items: center; min-height: 18px; padding: 2px 5px; border-radius: 3px; background: #23405a; color: #a9dfff; font-size: 9px; line-height: 1.35; font-weight: 650; letter-spacing: .25px; }
.gr-kind-release { background: #214c3b; color: #adf1c9; }
.gr-kind-dlc { background: #43335e; color: #ddc6ff; }
.gr-kind-major_update, .gr-kind-update { background: #51402a; color: #f3d19a; }
.gr-kind-schedule, .gr-kind-announcement { background: #36335b; color: #cfc6ff; }
.gr-kind-patch { background: #2e3943; color: #b7c2cc; }
/* Secondary column has real event/read-model data. */
.gr-panel { border: 1px solid #294052; background: linear-gradient(130deg, #152431, #101d29); border-radius: 6px; overflow: hidden; padding: 14px; }
.gr-panel-title { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid #25394a; margin-bottom: 3px; }
.gr-panel-title h2 { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 610; margin: 0; }
.gr-panel-title h2 .gr-icon { width: 16px; height: 16px; color: #8cbfdc; }
.gr-panel-title > a, .gr-panel-title > button { display: grid; place-items: center; width: 25px; height: 25px; color: var(--accent); border: 0; background: none; padding: 0; }
.gr-panel-title > a .gr-icon, .gr-panel-title > button .gr-icon { width: 16px; height: 16px; }
.gr-quick-event { display: grid; grid-template-columns: 65px minmax(0, 1fr); gap: 9px; padding: 12px 0; border-bottom: 1px solid #25394a; }
.gr-quick-event-art { align-self: start; height: 51px; border-radius: 3px; overflow: hidden; background: #21364a; }
.gr-quick-event-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gr-quick-event-art .gr-no-art { padding: 3px; }
.gr-quick-event-art .gr-no-art > span { display: none; }
.gr-quick-event-art .gr-icon { width: 23px; height: 23px; }
.gr-quick-event-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-bottom: 4px; }
.gr-quick-event-meta .gr-badge { font-size: 8px; padding: 1px 4px; min-height: 16px; }
.gr-quick-event-meta time { font-size: 9px; color: #8fa7bb; white-space: nowrap; }
.gr-quick-event-title { font-weight: 560; color: #e0eaf3 !important; font-size: 12px; line-height: 1.3; display: block; overflow-wrap: anywhere; }
.gr-quick-event p { color: #9bb3c7; font-size: 10px; line-height: 1.4; margin: 3px 0 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gr-panel-link { display: flex; justify-content: space-between; align-items: center; gap: 8px; width: 100%; padding: 11px 0 0; border: 0; background: none; color: var(--accent) !important; font-size: 11px; text-align: left; }
.gr-panel-link .gr-icon { width: 14px; height: 14px; }
.gr-panel-empty { color: var(--muted); font-size: 12px; padding-block: 17px 5px; margin: 0; }
.gr-date-row { display: grid; grid-template-columns: 33px 52px minmax(0, 1fr); align-items: center; gap: 9px; padding: 11px 0; border-bottom: 1px solid #24394b; }
.gr-date-row > time { display: flex; flex-direction: column; align-items: center; color: #cfdfeb; border: 1px solid #345168; border-radius: 3px; padding: 3px 2px; }
.gr-date-row > time b { font-size: 18px; line-height: 1; }
.gr-date-row > time span { font-size: 9px; }
.gr-date-art { height: 38px; overflow: hidden; border-radius: 3px; background: #21354a; }
.gr-date-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gr-date-art .gr-no-art > span { display: none; }
.gr-date-art .gr-no-art { padding: 2px; }
.gr-date-art .gr-icon { width: 18px; height: 18px; }
.gr-date-row strong { display: block; font-size: 11px; font-weight: 550; line-height: 1.3; overflow-wrap: anywhere; }
.gr-date-row small { display: block; margin-top: 3px; font-size: 9px; color: var(--muted); }
.gr-watch-empty { display: grid; justify-items: center; gap: 8px; text-align: center; padding: 18px 8px 9px; }
.gr-watch-empty > .gr-icon { width: 32px; height: 32px; color: #72aecf; margin: 5px 0; }
.gr-watch-empty strong { font-size: 12px; font-weight: 550; }
.gr-watch-empty p { color: #94aec1; font-size: 11px; margin: 0; max-width: 195px; }
.gr-local-note { display: block; font-size: 9px; color: #91a7b8; margin-top: 9px; }
.gr-watch-preview-row { display: grid; grid-template-columns: 61px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px 0; border-bottom: 1px solid #24394b; }
.gr-watch-preview-row img { display: block; width: 61px; height: 38px; object-fit: cover; border-radius: 3px; background: #21354a; }
.gr-watch-preview-row strong { display: block; font-size: 11px; font-weight: 550; overflow-wrap: anywhere; }
.gr-watch-preview-row small { display: block; color: #a5b9c9; font-size: 10px; margin-top: 2px; }
.gr-subscribe-card { display: flex; align-items: center; gap: 12px; padding: 17px 15px; border: 1px solid #345a74; border-radius: 5px; background: linear-gradient(110deg, #203f56, #132638); }
.gr-subscribe-card > .gr-icon:first-child { width: 32px; height: 32px; color: #72c4ed; }
.gr-subscribe-card > .gr-icon:last-child { width: 14px; height: 14px; color: #72c4ed; margin-left: auto; }
.gr-subscribe-card strong { color: #aadbf4; font-size: 12px; font-weight: 550; }
.gr-subscribe-card p { color: #a1bccf; font-size: 11px; margin: 4px 0 0; line-height: 1.4; }
.gr-all-events { display: flex; align-items: center; gap: 14px; padding: 17px 18px; margin-top: 24px; border: 1px solid #315069; background: linear-gradient(105deg, #1c3449, #152331); border-radius: 5px; }
.gr-all-events > .gr-icon { width: 28px; height: 28px; color: var(--accent); }
.gr-all-events > .gr-icon:last-child { width: 20px; height: 20px; margin-left: auto; }
.gr-all-events strong { display: block; font-size: 13px; font-weight: 600; color: #d1e9f7; }
.gr-all-events span { display: block; margin-top: 2px; font-size: 11px; color: #a4b9cb; }
.gr-data-note { margin-top: 28px; border-top: 1px solid #263b4d; padding-top: 18px; color: #9db2c3; font-size: 11px; }
.gr-data-note summary { cursor: pointer; width: fit-content; padding: 4px 0; }
.gr-data-note p { margin: 10px 0; max-width: 1000px; }
.gr-data-note a { color: var(--accent); }
/* Event list and URL-driven filters. They work without JavaScript. */
.gr-feed-section > .gr-section-heading { margin-bottom: 18px; }
.gr-tabs { display: flex; gap: 2px; overflow-x: auto; padding: 2px 2px 0; border-bottom: 1px solid #30495e; margin-bottom: 15px; scrollbar-width: thin; }
.gr-tabs a { display: flex; align-items: center; gap: 6px; padding: 10px 12px; font-size: 12px; white-space: nowrap; border-bottom: 2px solid transparent; color: #a8bdcf; }
.gr-tabs a[aria-current] { color: #d2eeff; background: #1c3a50; border-bottom-color: #68c7f4; }
.gr-tabs small { color: #90adc1; font-size: 10px; }
.gr-filter-bar { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; padding: 13px; background: #132332; border: 1px solid #2b4358; border-radius: 5px; margin-bottom: 15px; }
.gr-filter-bar label { display: grid; gap: 5px; color: #9fb8cb; font-size: 10px; min-width: 0; }
.gr-filter-bar select, .gr-filter-bar input[type="search"] { min-height: 38px; border: 1px solid #355269; border-radius: 4px; background: #1a3043; padding: 8px 10px; color: #e0edf7; font-size: 12px; max-width: 100%; }
.gr-filter-bar .gr-check { display: flex; align-items: center; gap: 7px; align-self: center; font-size: 11px; margin-top: 15px; }
.gr-check input, .gr-reader-tools input { accent-color: #6accfa; width: 14px; height: 14px; margin: 0; }
.gr-filter-bar .gr-button { min-height: 38px; }
.gr-filter-reset { color: #a9c8dc !important; font-size: 11px; padding: 10px 4px; }
.gr-filter-search { flex: 1 1 160px; }
.gr-reader-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: 11px; color: #a7bed0; padding: 5px 1px 14px; }
.gr-reader-tools label { display: flex; align-items: center; gap: 7px; }
.gr-reader-tools b { background: #294861; color: #c5eaff; padding: 2px 5px; border-radius: 3px; font-size: 10px; }
.gr-reader-tools button { padding: 5px 0; background: transparent; border: 0; color: #9ad6f5; font-size: 11px; text-align: left; }
.gr-live-status { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 10px; color: #9db2c3; margin-bottom: 14px; }
.gr-live-status.is-offline { color: var(--amber); }
.gr-signal-list { display: grid; gap: 12px; }
.gr-signal { display: grid; grid-template-columns: 175px minmax(0, 1fr); align-items: start; gap: 16px; padding: 15px; border: 1px solid #2b4356; border-radius: 5px; background: #142433; }
.gr-signal:hover { border-color: #446b86; }
.gr-signal-art { display: block; aspect-ratio: 1.75; border-radius: 3px; overflow: hidden; background: #1b3043; }
.gr-signal-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gr-signal-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 7px; }
.gr-unread { color: #85d4fa; font-size: 10px; display: inline-flex; align-items: center; gap: 4px; }
.gr-unread::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: #7dcffc; }
.gr-signal h3 { font-size: 17px; line-height: 1.25; margin: 0 0 7px; font-weight: 640; letter-spacing: -.2px; overflow-wrap: anywhere; }
.gr-signal-title { font-size: 12px; line-height: 1.45; color: #bed2e2; margin-bottom: 9px; }
.gr-signal-time { font-size: 10px; color: #95adc0; line-height: 1.5; margin-bottom: 7px; }
.gr-signal-time > span { display: block; }
.gr-signal-reasons { color: #a4bfd3; font-size: 11px; margin: 6px 0 9px; }
.gr-signal-reasons summary { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; color: #9bcfeb; font-size: 10px; }
.gr-signal-reasons summary .gr-icon { width: 12px; height: 12px; }
.gr-signal-reasons[open] summary .gr-icon { transform: rotate(90deg); }
.gr-signal-reasons p { margin: 9px 0; }
.gr-signal-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid #294254; padding-top: 9px; }
.gr-signal-actions > a { display: inline-flex; align-items: center; gap: 4px; color: #93cce9; font-size: 10px; }
.gr-signal-actions > a .gr-icon { width: 12px; height: 12px; }
.gr-coverage-note { font-size: 11px; color: #a0b7c8; line-height: 1.6; margin: 18px 0 0; }
.gr-empty { padding: 35px 20px; display: grid; justify-items: center; text-align: center; gap: 12px; border: 1px dashed #35536a; background: #14253477; border-radius: 5px; }
.gr-empty > .gr-icon { width: 40px; height: 40px; color: #82b6d3; }
.gr-empty h3 { font-size: 19px; font-weight: 580; margin: 0; }
.gr-empty p { font-size: 12px; max-width: 420px; color: #a1b9cb; margin: 0; }
.gr-hero-empty .gr-empty { min-height: 352px; border: 0; align-content: center; }
.gr-anticipated { margin-top: 20px; }
/* Shared skin for every retained surface: search, catalog, calendar, sources,
   subscriptions, admin and the complete game-detail page. */
.gr-app .section { padding-block: 32px; }
.gr-app .section-tight { padding-top: 18px; }
.gr-app .page-hero, .gr-app .discovery-hero, .gr-app .availability-hero { padding-block: 30px 24px; min-height: 0; }
.gr-app .page-hero h1, .gr-app .discovery-hero h1, .gr-app .availability-hero h1 { font-size: clamp(28px, 3vw, 42px); line-height: 1.12; letter-spacing: -1px; margin: 8px 0 12px; }
.gr-app .page-hero p, .gr-app .discovery-hero p, .gr-app .availability-hero p { color: var(--muted-bright); font-size: 14px; max-width: 760px; }
.gr-app .eyebrow { color: #87c5e7; font-size: 10px; letter-spacing: 1.2px; }
.gr-app .section-heading { margin-bottom: 17px; }
.gr-app .section-heading h2 { font-size: clamp(20px, 2.1vw, 29px); letter-spacing: -.65px; margin: 4px 0 0; line-height: 1.25; }
.gr-app .section-heading p { margin-top: 7px; color: var(--muted); font-size: 12px; }
.gr-app .section-heading > a { color: #85cff7; font-size: 12px; }
.gr-app .breadcrumbs { color: #94b0c5; font-size: 11px; }
.gr-app .filter-shell { background: #142534; border: 1px solid #2d485e; border-radius: 6px; }
.gr-app .filter-panel { border-color: #2d485e; }
.gr-app .filter-tabs a.active, .gr-app .filter-tabs a[aria-current], .gr-app .discovery-filter-pills a.active { color: #caf0ff; background: #234661; border-color: #4b86ad; }
.gr-app :is(.filter-panel, .discovery-filters, .page-search, .control-search, .subscription-form) :is(input, select) { background: #1a3043; border: 1px solid #3b566c; border-radius: 4px; color: #d8e6f0; }
.gr-app .primary-button, .gr-app .filter-submit, .gr-app .search-submit { background: linear-gradient(105deg, #76d1f9, #3caee4); border: 1px solid #68bee9; border-radius: 4px; color: #072033; box-shadow: none; font-size: 12px; font-weight: 650; }
.gr-app .secondary-button { background: #213c51; border: 1px solid #3b627c; border-radius: 4px; color: #c4e7f9; }
.gr-app :is(.game-card, .discovery-card, .availability-card, .search-result-card, .subscription-card) { border-color: #304a60; background: #162737; border-radius: 6px; box-shadow: 0 7px 20px #0002; overflow: hidden; }
.gr-app :is(.game-card, .discovery-card, .availability-card, .search-result-card):hover { border-color: #6594b7; background: #1d3448; box-shadow: 0 10px 24px #0003; }
.gr-app .game-card-body, .gr-app .discovery-card-body { padding: 15px; }
.gr-app .game-card h3, .gr-app .discovery-card h3 { font-size: 17px; line-height: 1.3; letter-spacing: -.25px; }
.gr-app .card-description { font-size: 12px; color: #a5bfd0; }
.gr-app .radar-score, .gr-app .discovery-facts b { color: #9bd5f6; }
.gr-app :is(.badge, .tag-chip, .discovery-tags a, .source-pill) { border-radius: 3px; font-size: 10px; }
.gr-app .event-row, .gr-app .release-row { border-color: #2b4357; background: #142332; border-radius: 5px; box-shadow: none; }
.gr-app .event-row:hover, .gr-app .release-row:hover { background: #1d3447; }
.gr-app .empty-state { border-color: #34516a; border-radius: 6px; background: #142434; }
.gr-app .empty-state h2 { font-size: 23px; }
.gr-app .empty-state p { color: #a9bfd0; }
.gr-app .game-detail-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0,1fr); align-items: center; gap: 30px; min-height: 0; margin-top: 28px; padding: 24px; border: 1px solid #33526b; border-radius: 7px; background: linear-gradient(110deg, #172b3d, #10202f); overflow: hidden; box-shadow: 0 12px 40px #0003; }
.gr-app .detail-cover { position: relative; inset: auto; width: 100%; min-width: 0; min-height: 0; height: auto; aspect-ratio: 1.7; border-radius: 5px; overflow: hidden; box-shadow: none; opacity: 1; }
.gr-app .detail-cover .game-cover, .gr-app .detail-cover img { width: 100%; height: 100%; display: block; object-fit: cover; }
.gr-app .detail-copy { min-width: 0; padding: 0; max-width: none; position: relative; }
.gr-app .detail-copy h1 { margin: 12px 0; font-size: clamp(29px, 3vw, 45px); line-height: 1.08; letter-spacing: -1.2px; }
.gr-app .detail-copy > p { color: #b9cddb; font-size: 13px; margin: 13px 0 18px; line-height: 1.6; }
.gr-app .detail-meta { gap: 14px; margin-block: 16px; }
.gr-app .detail-meta small { color: #91adc3; font-size: 10px; }
.gr-app .detail-meta strong { color: #d5e6f4; font-size: 12px; }
.gr-app .detail-score { bottom: 10px; right: 10px; padding: 8px 12px; background: #0c1e2fdd; border: 1px solid #4d7693; border-radius: 4px; }
.gr-app .detail-score strong { color: #a9dcf6; font-size: 24px; }
.gr-app .detail-score span { color: #a5b7c5; font-size: 8px; }
.gr-app .detail-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.gr-app .detail-actions .primary-button { min-height: 40px; padding: 11px 15px; }
.gr-app .detail-personal-actions .game-action { background: #1c3b51; border-color: #416881; border-radius: 4px; color: #bde6fb; box-shadow: none; }
.gr-app .relationship-card { border-color: #31516a; border-radius: 5px; background: #122a3c; }
.gr-app .gr-detail-nav { display: flex; flex-wrap: wrap; gap: 24px; border-bottom: 1px solid #365369; margin-top: 18px; margin-bottom: 24px; padding: 0 2px; }
.gr-detail-nav a { color: #b6cddf; padding: 12px 0; font-size: 12px; }
.gr-detail-nav a[aria-current="location"] { border-bottom: 2px solid var(--accent); color: #dcf4ff; }
.gr-app #gr-game-about, .gr-app #gr-game-media, .gr-app #gr-game-events, .gr-app #sources { scroll-margin-top: 145px; }
.gr-app #gr-game-guides { scroll-margin-top:145px; }
.gr-app .gr-topic-links { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0; }
.gr-app .gr-topic-links a { display:inline-flex; align-items:center; min-height:44px; padding:10px 15px; border:1px solid var(--gr-border); border-radius:5px; color:var(--text); background:var(--gr-surface); }
.gr-app .gr-topic-links a:hover { border-color:var(--accent); color:var(--accent); }
.gr-app .game-media { margin-block: 22px 30px; }
.gr-app .media-trailers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.gr-app .media-trailer { border: 1px solid #34516a; border-radius: 5px; background: #122333; overflow: hidden; margin: 0; }
.gr-app .media-video { background: #070f18; aspect-ratio: 16/9; }
.gr-app .media-video video { width: 100%; height: 100%; object-fit: contain; }
.gr-app .media-trailer figcaption { padding: 10px 12px; }
.gr-app .media-trailer figcaption span { color: #86bedd; font-size: 9px; }
.gr-app .media-trailer figcaption strong { display: block; font-size: 12px; font-weight: 550; margin-top: 3px; }
.gr-app .media-screenshots { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; margin-top: 14px; }
.gr-app .media-shot { display: block; aspect-ratio: 16/10; overflow: hidden; border-radius: 3px; border: 1px solid #3f617a; }
.gr-app .media-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gr-app .media-shot:hover { border-color: #a1dcfb; }
.gr-app :is(.radar-card, .source-card, .sources-block, .intelligence-card, .review-panel, .insight-card) { background: #142738; border-color: #345269; border-radius: 6px; box-shadow: none; }
.gr-app .big-score { color: #9bd8f8; }
.gr-app .score-bar i { background: linear-gradient(90deg, #31749e, #81d1f7); }
.gr-app .radar-dialog { border: 1px solid #416780; background: #102233; border-radius: 9px; color: #e4eff7; box-shadow: 0 30px 100px #0009; }
.gr-app .radar-dialog::backdrop { background: #020b13bb; backdrop-filter: blur(5px); }
.gr-app :is(.dialog-surface, .watchlist-surface, .peek-surface, .command-surface) { background: #112638; color: #e4eff7; }
.gr-app .dialog-close { border-color: #385d78; color: #cce8f8; background: #1b3c54; border-radius: 4px; }
.gr-app .radar-toast { background: #214663; color: #dcf3ff; border: 1px solid #609bbf; border-radius: 5px; }
.gr-footer { padding: 28px 0; background: #0c151f; border-top: 1px solid #243a4c; margin-top: 15px; }
.gr-footer > .gr-container { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px 25px; }
.gr-footer-brand { font-size: 19px; font-weight: 650; letter-spacing: -.6px; }
.gr-footer-brand span { color: #75c7ef; }
.gr-footer p { color: #96adbf; font-size: 11px; margin: 5px 0 0; }
.gr-footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
.gr-footer nav a { color: #afc5d5; font-size: 11px; }
.gr-footer > .gr-container > small { grid-column: 1/-1; color: #8da6ba; font-size: 10px; }
.gr-image-dialog { width: min(1100px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 12px; border: 1px solid #4a708d; border-radius: 6px; background: #0c1b29; color: #cfe8f9; }
.gr-image-dialog::backdrop { background: #010810df; }
.gr-image-dialog img { display: block; width: 100%; height: auto; max-height: calc(100dvh - 110px); object-fit: contain; }
.gr-image-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 10px; }
.gr-image-toolbar h2 { margin: 0; font-size: 13px; }
.gr-image-toolbar button { border: 1px solid #3d637f; background: #203e54; border-radius: 4px; color: #d7edf9; padding: 8px 12px; }
@media (max-width: 1200px) {
  .gr-workspace { grid-template-columns: minmax(0,1fr) 285px; gap: 20px; }
  .gr-header-top { gap: 15px; }
  .gr-search { margin-left: 12px; }
  .gr-navigation { gap: 23px; }
  .gr-card-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .gr-section:not(.gr-anticipated) .gr-card-grid > :nth-child(4) { display: none; }
  .gr-hero-copy { width: 88%; padding-inline: 25px; }
  .gr-update-grid { gap: 10px; }
  .gr-update-card > div { padding: 10px; }
  .gr-app .detail-copy h1 { font-size: 33px; }
}
@media (max-width: 1000px) {
  .gr-app .gr-container, .gr-app .shell { width: calc(100% - 36px); }
  .gr-workspace { grid-template-columns: minmax(0,1fr); }
  .gr-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gr-sidebar .gr-subscribe-card { align-self: start; }
  .gr-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .gr-section:not(.gr-anticipated) .gr-card-grid > :nth-child(4) { display: block; }
  .gr-secondary-nav { gap: 16px; }
  .gr-navigation { gap: 21px; }
  .gr-navigation a { font-size: 12px; }
  .gr-quick-search { display: none; }
  .gr-search { margin-left: auto; }
  .gr-hero-copy { width: 75%; }
  .gr-app .game-detail-hero { gap: 22px; padding: 22px; }
  .gr-app .detail-copy h1 { font-size: 30px; }
  .gr-app .media-screenshots { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .gr-header { position: relative; backdrop-filter: none; }
  .gr-header-top { flex-wrap: wrap; gap: 14px 10px; padding-block: 14px; }
  .gr-brand { flex: 1; }
  .gr-brand > span { font-size: 23px; }
  .gr-brand > .gr-icon { width: 35px; height: 35px; }
  .gr-watch-open { padding: 8px; }
  .gr-watch-open > span { display: none; }
  .gr-menu-toggle { display: grid; }
  .gr-search { order: 10; min-width: 100%; margin: 0; max-width: none; }
  .gr-header-bottom { display: none; }
  .gr-header.gr-menu-open .gr-header-bottom, .gr-header:not(.gr-js) .gr-header-bottom { display: block; }
  .gr-navigation-wrap { display: block; }
  .gr-navigation, .gr-secondary-nav { flex-wrap: wrap; gap: 0 24px; }
  .gr-navigation a, .gr-secondary-nav a { min-height: 42px; }
  .gr-secondary-nav { border-top: 1px solid #263c4f; }
  .gr-main { padding-top: 22px; }
  .gr-page-heading { align-items: start; margin-bottom: 18px; }
  .gr-page-heading h1 { font-size: 23px; }
  .gr-page-heading p { font-size: 12px; }
  .gr-status { display: none; }
  .gr-home-live { justify-content: flex-start; margin: -5px 0 12px; font-size: 9px; }
  .gr-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .gr-hero-copy { width: 86%; padding: 26px 24px 48px; }
  .gr-hero-copy h2 { font-size: 37px; }
  .gr-slide { min-height: 330px; }
  .gr-hero-copy > p { font-size: 13px; }
  .gr-update-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gr-update-grid > :nth-child(3) { grid-column: 1/-1; display: grid; grid-template-columns: 40% minmax(0,1fr); }
  .gr-update-grid > :nth-child(3) .gr-update-art { aspect-ratio: auto; height: 100%; }
  .gr-section-heading h2 { font-size: 18px; }
  .gr-section-heading > a { font-size: 10px; }
  .gr-section-heading p { font-size: 10px; }
  .gr-sidebar { gap: 15px; }
  .gr-footer > .gr-container { grid-template-columns: 1fr; }
  .gr-footer nav { gap: 14px 20px; }
  .gr-filter-bar { gap: 10px; }
  .gr-filter-bar > label { flex: 1; min-width: 120px; }
  .gr-filter-bar > .gr-check { flex-basis: 100%; margin-top: 0; }
  .gr-signal { grid-template-columns: 130px minmax(0,1fr); gap: 13px; padding: 12px; }
  .gr-signal h3 { font-size: 16px; }
  .gr-app .game-detail-hero { grid-template-columns: 1fr; padding: 16px; margin-top: 20px; gap: 20px; }
  .gr-app .detail-cover { aspect-ratio: 1.85; }
  .gr-app .detail-copy h1 { font-size: 32px; }
  .gr-app .gr-detail-nav { gap: 10px 22px; }
  .gr-app .gr-detail-nav a { font-size: 11px; }
  .gr-app .detail-grid { grid-template-columns: 1fr; }
  .gr-app #gr-game-about, .gr-app #gr-game-media, .gr-app #gr-game-events, .gr-app #sources { scroll-margin-top: 20px; }
}
@media (max-width: 480px) {
  .gr-app .gr-container, .gr-app .shell { width: calc(100% - 24px); }
  .gr-brand small { font-size: 9px; }
  .gr-header-top { gap: 12px 6px; }
  .gr-watch-open { gap: 5px; padding: 8px 6px; }
  .gr-menu-toggle { min-width: 35px; height: 35px; }
  .gr-navigation { gap: 0 20px; }
  .gr-main { padding-top: 18px; }
  .gr-page-heading h1 { font-size: 22px; }
  .gr-hero-art { inset: 0; opacity: .9; }
  .gr-hero-art::after { background: linear-gradient(90deg, #0c1a29e8, #0c1a2999), linear-gradient(0deg, #0c192cf5, transparent); }
  .gr-hero-copy { width: 100%; padding: 24px 20px 45px; }
  .gr-hero-copy h2 { font-size: 34px; letter-spacing: -1.2px; }
  .gr-slide { min-height: 337px; }
  .gr-hero-copy > p { font-size: 12px; }
  .gr-hero-meta { margin-block: 15px 12px; font-size: 10px; }
  .gr-hero-actions { gap: 8px; }
  .gr-hero-actions > .gr-button { padding: 10px 12px; font-size: 11px; }
  .gr-app .gr-hero .game-action-label { font-size: 10px; }
  .gr-app .gr-hero .game-action { padding-inline: 9px; }
  .gr-section { margin-top: 24px; }
  .gr-section-heading { align-items: start; gap: 8px; }
  .gr-section-heading h2 { font-size: 17px; }
  .gr-section-heading > a { padding-top: 3px; font-size: 9px; gap: 3px; }
  .gr-section-heading > a .gr-icon { width: 12px; }
  .gr-card-grid { gap: 10px; }
  .gr-card-content { padding: 10px; }
  .gr-card h3 { font-size: 12px; }
  .gr-tags { gap: 4px; }
  .gr-tags span { font-size: 9px; padding: 3px 5px; }
  .gr-card-facts { font-size: 10px; margin-top: 10px; }
  .gr-card-metric small { display: none; }
  .gr-app .gr-card .game-action { min-width: 32px; min-height: 32px; width: 32px; height: 32px; }
  .gr-update-card h3 { font-size: 13px; }
  .gr-update-card p { font-size: 11px; }
  .gr-sidebar { grid-template-columns: 1fr; }
  .gr-panel { padding: 16px; }
  .gr-panel-title h2 { font-size: 15px; }
  .gr-quick-event { grid-template-columns: 78px minmax(0,1fr); }
  .gr-quick-event-title { font-size: 13px; }
  .gr-quick-event p { font-size: 11px; }
  .gr-quick-event-meta time { font-size: 10px; }
  .gr-all-events { padding: 14px; gap: 12px; }
  .gr-all-events strong { font-size: 12px; }
  .gr-all-events span { font-size: 10px; }
  .gr-signal { grid-template-columns: 1fr; gap: 12px; padding: 13px; }
  .gr-signal-art { aspect-ratio: 2.25; }
  .gr-signal h3 { font-size: 18px; }
  .gr-signal-time { font-size: 10px; }
  .gr-app .gr-signal .game-action { padding: 8px; }
  .gr-app .gr-signal .game-action-label { font-size: 10px; }
  .gr-app .media-screenshots { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
  .gr-app .detail-copy h1 { font-size: 28px; }
  .gr-app .detail-meta { flex-wrap: wrap; }
  .gr-reader-tools { gap: 6px; }
  .gr-home-live:has([data-sd-refresh]:not([hidden])) { flex-direction: column; align-items: start; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .gr-app *, .gr-app *::before, .gr-app *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .gr-card:hover { transform: none; }
}
@media (forced-colors: active) {
  .gr-header, .gr-card, .gr-panel, .gr-signal, .gr-filter-bar { border: 1px solid CanvasText; }
  .gr-app .gr-button { border: 1px solid ButtonText; }
  .gr-navigation a[aria-current] { border-bottom: 3px solid Highlight; }
}

.gr-header:not(.gr-js) .gr-menu-toggle { display: none; }
.gr-noscript { padding-block: 10px; color: var(--muted-bright); font-size: 13px; }

/* Public search uses the same card/shell as the storefront, not the old control-plane hero. */
.gr-app .gr-search-page { padding-top:28px; }
.gr-app .gr-search-page h1 { margin:0 0 7px; font-size:30px; line-height:1.2; letter-spacing:-.5px; }
.gr-app .gr-search-page .gr-page-heading { align-items:center; margin-bottom:20px; }
.gr-app .gr-search-page .gr-page-heading > a { display:flex; align-items:center; gap:7px; font-size:12px; color:#90d4fa; }
.gr-app .gr-search-form { display:flex; align-items:center; gap:12px; padding:9px 10px 9px 16px; border:1px solid #39596f; border-radius:7px; background:#142637; }
.gr-app .gr-search-form > .gr-icon { color:#70caff; }
.gr-app .gr-search-form input[type="search"] { flex:1; min-width:0; padding:10px 0; background:transparent; border:0; color:#eef7ff; font:inherit; font-size:15px; outline-offset:3px; }
.gr-app .gr-search-form button { flex:none; min-height:42px; }
.gr-search-examples { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 22px; }
.gr-app .gr-search-examples a { display:block; padding:6px 9px; font-size:11px; color:#b1cbdc; background:#142736; border:1px solid #29485e; border-radius:5px; }
.gr-app .gr-search-examples a:hover { color:#e3f6ff; border-color:#68bade; }
.gr-search-conditions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0 0 19px; color:#a9c4d5; font-size:11px; }
.gr-search-conditions strong { margin-right:5px; font-weight:500; }
.gr-search-conditions span { background:#12352f; border:1px solid #2c5b4c; border-radius:5px; padding:6px 8px; color:#a9dfc6; overflow-wrap:anywhere; }
.gr-search-warning { padding:10px; border:1px solid #6b5634; border-radius:5px; color:#e8d2ab; font-size:12px; overflow-wrap:anywhere; }
.gr-search-workspace { display:grid; grid-template-columns:205px minmax(0,1fr); gap:24px; align-items:start; }
.gr-search-filters { min-width:0; padding:14px; border:1px solid #2c475c; border-radius:7px; background:#122330; }
.gr-search-filters summary { font-weight:600; color:#dfedf6; font-size:14px; cursor:pointer; }
.gr-search-filters form { display:grid; gap:14px; margin-top:18px; }
.gr-app .gr-search-filters label { display:grid; gap:6px; color:#afc4d4; font-size:11px; }
.gr-app .gr-search-filters :is(input,select),.gr-app .gr-search-results-head select { width:100%; min-width:0; padding:9px; border:1px solid #37536a; border-radius:4px; background:#0f1e2d; color:#e1eff8; font:inherit; }
.gr-search-filters p,.gr-search-filters form>a { margin:15px 0 0; color:#95acbf; font-size:11px; line-height:1.65; }
.gr-search-results { min-width:0; }
.gr-search-results-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.gr-app .gr-search-results-head h2 { margin:0; font-size:19px; font-weight:600; }
.gr-search-results-head form { display:flex; align-items:end; gap:8px; font-size:11px; }
.gr-search-results-head label { display:grid; gap:4px; color:#afc4d4; }
.gr-search-results-head .gr-button { min-height:36px; padding:8px 12px; font-size:11px; }
.gr-app .gr-search-list .gr-game-row { grid-template-columns:210px minmax(0,1fr); }
.gr-app .gr-search-list .gr-card-content { grid-template-columns:minmax(0,1fr) 168px; }
.gr-search-pages { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:20px; padding:24px 0 10px; color:#a6bfd0; font-size:12px; }
.gr-app .gr-search-pages a { border:1px solid #3d617b; background:#183247; border-radius:5px; padding:9px 14px; color:#c4e7fb; }
.gr-search-subscribe { display:flex; flex-wrap:wrap; gap:16px; border-top:1px solid #2e4558; margin-top:22px; padding-top:16px; color:#8fc5e5; font-size:11px; }
.gr-search-subscribe .gr-icon { width:14px; height:14px; }
.gr-app .gr-hero-no-highlight { min-height:0; background:#142633; padding:22px 25px; }
.gr-hero-intro strong { font-size:22px; font-weight:500; }
.gr-hero-intro p { font-size:13px; color:#a9c1d3; margin:7px 0 12px; }
.gr-hero-intro a { color:#84cefa; font-size:13px; }
.gr-app .gr-hero .gr-hero-copy p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.gr-footer [data-gr-ui-version] { white-space:nowrap; display:inline-block; margin-left:8px; color:#87a0b2; font-size:10px; }
@media(max-width:1100px) {
 .gr-search-workspace { grid-template-columns:180px minmax(0,1fr); gap:18px; }
 .gr-app .gr-search-list .gr-game-row { grid-template-columns:155px minmax(0,1fr); }
 .gr-app .gr-search-list .gr-card-content { display:flex; }
 .gr-app .gr-search-list .gr-card-bottom { padding:0; border:0; flex-direction:row; align-items:center; }
}
@media(max-width:760px) {
 .gr-search-workspace { grid-template-columns:minmax(0,1fr); }
 .gr-search-filters form { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gr-search-filters p { display:none; }
 .gr-app .gr-search-page h1 { font-size:25px; }
 .gr-app .gr-search-page .gr-page-heading > a { display:none; }
 .gr-app .gr-search-form { gap:8px; padding:7px 8px; }
 .gr-app .gr-search-form > .gr-icon { display:none; }
 .gr-app .gr-search-form input[type="search"] { font-size:13px; padding-left:5px; }
 .gr-app .gr-search-form button { padding:9px 12px; font-size:12px; }
 .gr-search-results-head { flex-wrap:wrap; }
 .gr-app .gr-search-list .gr-game-row { grid-template-columns:124px minmax(0,1fr); }
}
@media(max-width:420px) {
 .gr-app .gr-search-list .gr-game-row { grid-template-columns:96px minmax(0,1fr); }
 .gr-search-results-head form { width:100%; }
 .gr-search-results-head label { flex:1; }
 .gr-search-examples { gap:5px; }
 .gr-app .gr-search-examples a { font-size:10px; }
}

/* Empty homepage shelves remain navigable without repeated full-height panels. */
.gr-shelf-empty { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:14px 16px; border:1px dashed #35536a; border-radius:5px; background:#14253455; }
.gr-shelf-empty p { margin:0; color:#a1b9cb; font-size:12px; }
.gr-shelf-empty a { display:inline-flex; align-items:center; gap:6px; min-height:36px; color:#84cefa; font-size:12px; }
.gr-shelf-empty .gr-icon { width:15px; height:15px; }

/* Content-first browsing: shared chrome stays compact on every route. */
.gr-app { --max:1360px; }
.gr-app .gr-container, .gr-app .shell { margin-left:auto; margin-right:auto; }
.gr-app .gr-header-top { min-height:64px; gap:20px; }
.gr-app .gr-brand > .gr-icon { width:32px; height:32px; }
.gr-app .gr-brand > span { font-size:23px; }
.gr-app .gr-brand small { display:none; }
.gr-app .gr-navigation a, .gr-app .gr-secondary-nav a { min-height:42px; }
.gr-app .gr-search { height:40px; max-width:640px; }
.gr-app .gr-slide { min-height:280px; }
.gr-app .gr-hero-copy { padding:24px 28px 42px; }
.gr-app .gr-hero-copy h2 { font-size:clamp(28px,3vw,40px); }
.gr-app .gr-hero-meta { margin-block:12px; }
.gr-app .gr-page-heading { margin-bottom:18px; }
.gr-app .gr-browser { padding-block:28px 40px; }
.gr-browser-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.gr-app .gr-browser-heading h1 { margin:0 0 6px; font-size:32px; font-weight:680; line-height:1.2; letter-spacing:-.8px; }
.gr-browser-heading p { margin:0; color:var(--muted); font-size:14px; }
.gr-calendar-subscribe { display:inline-flex; align-items:center; gap:8px; color:var(--accent)!important; font-size:13px; min-height:40px; white-space:nowrap; }
.gr-calendar-subscribe .gr-icon { width:18px; height:18px; }
.gr-browser-form { margin:0; padding:16px 18px 0; border:1px solid var(--line); border-radius:10px; background:#12212e; }
.gr-browser-search { display:grid; grid-template-columns:minmax(180px,1fr) 170px 195px auto; align-items:end; gap:12px; }
.gr-browser-form label { display:grid; min-width:0; gap:7px; }
.gr-browser-form label > span { color:#aec0ce; font-size:12px; font-weight:500; }
.gr-browser-query > div { display:flex; align-items:center; gap:10px; border:1px solid #365065; border-radius:6px; background:#0d1a25; padding-left:12px; }
.gr-browser-query .gr-icon { color:#8caabd; width:18px; }
.gr-app .gr-browser-form :is(input:not([type=hidden]), select) { width:100%; min-width:0; min-height:42px; border:1px solid #365065; border-radius:6px; background:#0d1a25; color:var(--text); padding:9px 11px; font-size:14px; }
.gr-app .gr-browser-query input[type=search] { border:0; background:none; padding-left:0; }
.gr-browser-query > div:focus-within { outline:2px solid var(--accent); outline-offset:2px; }
.gr-app .gr-browser-query input:focus-visible { outline:0; }
.gr-browser-form .gr-button { min-height:42px; border-radius:6px; font-size:13px; }
.gr-browser-filters { border-top:1px solid var(--line); margin-top:16px; }
.gr-browser-filters > summary { display:flex; align-items:center; gap:7px; list-style:none; width:fit-content; min-height:44px; color:#b6ccdd; cursor:pointer; font-size:13px; }
.gr-browser-filters > summary::-webkit-details-marker { display:none; }
.gr-browser-filters > summary::after { content:'＋'; margin-left:6px; }
.gr-browser-filters[open] > summary::after { content:'−'; }
.gr-browser-filters > summary .gr-icon { width:16px; height:16px; }
.gr-browser-filters b { padding:1px 6px; background:#23445b; border-radius:4px; color:#d8f1ff; font-size:11px; }
.gr-browser-filter-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto auto; align-items:end; gap:12px; padding:0 0 18px; }
.gr-browser-condition { margin:0; color:#bad4e4; font-size:12px; }
.gr-date-tabs { display:flex; gap:22px; border-bottom:1px solid var(--line); margin:18px 0 24px; overflow:auto; scrollbar-width:thin; }
.gr-date-tabs a { display:inline-flex; align-items:center; min-height:46px; padding:8px 2px; color:#a5bccd; font-size:14px; white-space:nowrap; border-bottom:2px solid transparent; }
.gr-date-tabs a[aria-current] { border-color:var(--accent); color:#dbf3ff; }
.gr-date-tabs a:hover { color:#fff; }
.gr-browser-results, .gr-browser-lane { scroll-margin-top:125px; }
.gr-browser-results-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:0 0 16px; }
.gr-app .gr-browser-results-head h2 { margin:0; font-size:21px; font-weight:620; letter-spacing:-.3px; }
.gr-browser-results-head h2 span { display:inline-block; margin-left:7px; padding:2px 7px; background:#1d3548; border-radius:5px; font-size:13px; color:#b5d8ed; vertical-align:middle; }
.gr-browser-results-head p { color:#91aabc; font-size:12px; margin:4px 0 0; }
.gr-browser-results-head .gr-library-toolbar { margin:0; }
.gr-browser-results-head .gr-library-toolbar > span { display:none; }
.gr-app .gr-browser-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.gr-browser-lane { margin-top:30px; }
.gr-browser-pages { display:flex; justify-content:center; align-items:center; gap:20px; padding:26px 0 4px; color:#9cb5c7; font-size:13px; }
.gr-browser-pages a { padding:10px 15px; border:1px solid #3b596f; border-radius:6px; background:#1c3345; color:#d3eafa; }
@media (max-width:1100px) {
 .gr-browser-search { grid-template-columns:minmax(180px,1fr) 150px 175px auto; gap:10px; }
 .gr-browser-filter-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .gr-app .gr-browser-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
 .gr-app .gr-header-top { min-height:58px; padding-block:12px; gap:10px; }
 .gr-app .gr-browser { padding-top:22px; }
 .gr-browser-heading { align-items:flex-start; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
 .gr-app .gr-browser-heading h1 { font-size:27px; }
 .gr-browser-heading p { font-size:13px; }
 .gr-calendar-subscribe { font-size:12px; min-height:32px; }
 .gr-browser-form { padding:12px 12px 0; }
 .gr-browser-search { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .gr-browser-query { grid-column:1/-1; }
 .gr-browser-search > button { grid-column:1/-1; }
 .gr-browser-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gr-date-tabs { gap:18px; margin-block:14px 20px; }
 .gr-date-tabs a { font-size:13px; }
 .gr-app .gr-browser-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .gr-browser-results, .gr-browser-lane { scroll-margin-top:18px; }
}
@media (max-width:540px) { .gr-app .gr-browser-grid { grid-template-columns:minmax(0,1fr); } }

/* Empty comparison tray must not surface below the viewport in full-page layouts. */
body.gr-app { --max:1360px; }
.gr-app .gr-browser { padding-top:24px; }
.gr-browser-heading { margin-bottom:18px; }
.gr-browser-form { padding-top:12px; }
.gr-date-tabs { margin-block:12px 18px; }
.gr-browser-lane { margin-top:22px; }
@media (max-width:760px) {
 .gr-app:has(.gr-browser) .gr-header .gr-search { display:none; }
 .gr-app:has(.gr-browser) .gr-header .gr-quick-search { display:flex; min-height:40px; min-width:36px; justify-content:center; }
 .gr-app:has(.gr-browser) .gr-header .gr-quick-search > .gr-icon { display:block; }
 .gr-app:has(.gr-browser) .gr-header .gr-quick-search kbd { display:none; }
 .gr-browser-search { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .gr-browser-search > label:not(.gr-browser-query) { grid-column:span 2; }
 .gr-browser-search > .gr-browser-query { grid-column:1/4; grid-row:1; }
 .gr-browser-search > button { grid-column:4/5; grid-row:1; padding:9px 5px; }
 .gr-browser-search > button .gr-icon { display:none; }
}
@media (max-width:540px) {
 .gr-app .gr-browser-grid .gr-game-card h3 { min-height:0; }
 .gr-app .gr-browser-grid .gr-game-card .gr-card-content { gap:12px; }
}

/* Readable community rows, with source evidence available on demand. */
.gr-app .availability-row { display:grid; grid-template-columns:190px minmax(0,1fr) 110px; grid-template-rows:auto auto; align-items:start; gap:12px 20px; padding:16px; border:1px solid #2a4154; border-radius:9px; background:#132330; min-height:0; }
.gr-app .availability-row:hover { background:#172b3a; border-color:#527a96; box-shadow:none; transform:none; }
.gr-app .availability-row .availability-poster { position:relative; inset:auto; grid-column:1; grid-row:1/3; display:block; width:100%; min-height:0; height:auto; aspect-ratio:460/215; border-radius:6px; overflow:hidden; background:#1c3548; align-self:start; }
.gr-app .availability-row .availability-poster img { display:block; width:100%; height:100%; object-fit:contain; }
.gr-app .availability-row .availability-poster > i { position:absolute; inset:0; display:grid; place-items:center; z-index:-1; font-size:24px; }
.gr-app .availability-row .availability-main { grid-column:2; grid-row:1/3; min-width:0; }
.gr-app .availability-row .community-time { grid-column:3; grid-row:2; padding:0; border:0; text-align:right; }
.gr-app .availability-row .community-time strong { font-size:12px; font-weight:500; color:#bed0de; }
.gr-app .availability-row .community-time span { font-size:11px; color:#90aabd; }
.gr-app .availability-row > .game-quick-actions { grid-column:3; grid-row:1; position:static; display:flex; justify-content:flex-end; gap:6px; opacity:1; transform:none; pointer-events:auto; }
.gr-app .availability-row .game-action { width:40px; height:40px; min-width:40px; min-height:40px; padding:0; display:grid; place-items:center; background:#20394c; border:1px solid #3b5b72; border-radius:6px; color:#d0eafa; }
.gr-app .availability-row .game-action-label { display:none; }
.gr-app .availability-row .game-action-icon { font-size:21px; }
.gr-app .availability-row .community-heading { display:flex; align-items:baseline; justify-content:flex-start; gap:12px; flex-wrap:wrap; }
.gr-app .availability-row .community-heading > a { font-size:18px; font-weight:650; line-height:1.3; color:#eff7fc; overflow-wrap:anywhere; }
.gr-app .availability-row .community-heading > span { font-size:10px; font-weight:500; white-space:normal; }
.gr-app .availability-row .availability-main > p { font-size:13px; color:#afc5d6; margin:6px 0 9px; line-height:1.4; overflow-wrap:anywhere; }
.gr-app .availability-row .community-meta { gap:6px; }
.gr-app .availability-row .community-meta span { font-size:11px; padding:3px 6px; overflow-wrap:anywhere; }
.gr-app .availability-row .availability-evidence-heading { margin-top:10px; }
.gr-app .availability-row .availability-evidence-heading span { font-size:11px; letter-spacing:0; font-weight:500; text-transform:none; color:#aac2d3; }
.gr-app .availability-row .availability-evidence-heading small { display:none; }
.gr-app .availability-row .availability-source { min-width:0; max-width:100%; padding:6px 9px; border-radius:5px; grid-template-columns:minmax(0,1fr) auto; background:#172e3e; }
.gr-app .availability-row .availability-source-mark { display:none; }
.gr-app .availability-row .availability-source-copy strong { font-size:12px; font-weight:550; }
.gr-app .availability-row .availability-source-copy small { font-size:11px; white-space:normal; line-height:1.4; color:#96b0c3; }
.gr-app .availability-row .availability-source > i { font-size:13px; }
.gr-app .availability-row .availability-poster { isolation:isolate; }
.gr-app .availability-row .availability-poster img { position:relative; z-index:1; }
.gr-app .availability-row .availability-poster > i { z-index:0; }
.gr-app .availability-row .availability-main > p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gr-app .availability-row .availability-source-copy em { font-size:9px; }
@media (max-width:900px) {
 .gr-app .availability-row { grid-template-columns:145px minmax(0,1fr) 90px; gap:12px; }
 .gr-app .availability-row .community-heading > a { font-size:17px; }
}
@media (max-width:600px) {
 .gr-app .availability-row { grid-template-columns:100px minmax(0,1fr); padding:12px; gap:10px 12px; }
 .gr-app .availability-row .availability-poster { grid-column:1; grid-row:1; }
 .gr-app .availability-row .availability-main { grid-column:2; grid-row:1; }
 .gr-app .availability-row .community-time { grid-column:1; grid-row:2; text-align:left; }
 .gr-app .availability-row > .game-quick-actions { grid-column:2; grid-row:2; justify-content:flex-start; }
 .gr-app .availability-row .community-heading > a { font-size:16px; }
 .gr-app .availability-row .availability-main > p { font-size:12px; }
 .gr-app .availability-row .availability-source { width:100%; flex:none; }
 .gr-app .availability-row .game-action { min-width:44px; min-height:44px; }
}

.gr-community-list { display:grid; gap:12px; }
.gr-community-results { scroll-margin-top:120px; }
.gr-community-form .gr-browser-search { grid-template-columns:minmax(0,1fr) 220px auto; }
.gr-community-form .gr-browser-filter-fields { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gr-source-directory > div { display:flex; flex-wrap:wrap; gap:8px; margin-block:12px; }
.gr-source-directory > div > a { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid #3b5366; border-radius:6px; color:#bcd6e7; font-size:13px; }
.gr-source-directory > div > a span { color:#91adbf; font-size:12px; }
.gr-availability-evidence { margin-top:8px; }
.gr-availability-evidence > summary { display:flex; align-items:center; flex-wrap:wrap; gap:6px; list-style:none; cursor:pointer; min-height:32px; color:#b3d9ed; font-size:12px; }
.gr-availability-evidence > summary::-webkit-details-marker { display:none; }
.gr-availability-evidence > summary::after { content:'⌄'; margin-left:2px; }
.gr-availability-evidence[open] > summary::after { content:'⌃'; }
.gr-availability-evidence > summary > span { font-size:11px; color:#8daabc; margin-left:6px; }
.gr-app .gr-browser-grid .gr-game-card h3 { min-height:0; }
.gr-app .gr-browser-grid .gr-card-unknown { display:none; }
@media (max-width:760px) {
 .gr-community-form .gr-browser-search { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .gr-community-form .gr-browser-search > label:not(.gr-browser-query) { grid-column:1/-1; }
 .gr-community-form .gr-browser-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gr-community-results { scroll-margin-top:20px; }
}

/* Keep the collapsed filter control on the search row, not a separate panel row. */
.gr-browser-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; padding:14px 16px; }
.gr-browser-form > input[type=hidden] { display:none; }
.gr-browser-form > .gr-browser-search { min-width:0; }
.gr-browser-form > .gr-browser-filters { margin:0; border:0; }
.gr-browser-form > .gr-browser-filters > summary { min-height:42px; padding:7px 10px; border:1px solid #355168; border-radius:6px; background:#1b3040; }
.gr-browser-form:has(> .gr-browser-filters[open]) > .gr-browser-search { grid-column:1/-1; }
.gr-browser-form > .gr-browser-filters[open] { grid-column:1/-1; }
.gr-browser-form > .gr-browser-filters[open] > summary { width:fit-content; margin-bottom:14px; }
.gr-browser-form .gr-browser-filter-fields { padding-bottom:0; }
.gr-browser-results-head > div:first-child { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 14px; }
.gr-browser-results-head p { margin:0; }
.gr-app .gr-browser-heading h1 { font-size:30px; }
@media (max-width:1100px) {
 .gr-browser-form { display:block; }
 .gr-browser-form > .gr-browser-filters { margin-top:10px; }
 .gr-browser-form > .gr-browser-filters > summary { min-height:34px; padding:4px 8px; }
}
@media (max-width:760px) {
 .gr-app .gr-browser-heading h1 { font-size:25px; }
 .gr-browser-heading p { font-size:12px; }
 .gr-community-browser .gr-calendar-subscribe { display:none; }
 .gr-browser-query > span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
 .gr-browser-form { padding:12px; }
 .gr-app:has(.gr-browser) .gr-header:not(.gr-js) .gr-search { display:flex; }
 .gr-app:has(.gr-browser) .gr-header:not(.gr-js) .gr-quick-search { display:none; }
}

/* Unified game media: one large 16:9 stage plus a compact media rail. */
.gr-app .game-media[data-game-media-widget] { margin-block:14px 24px; padding-block:0; }
.gr-app .game-media[data-game-media-widget] .media-heading { margin-bottom:12px; }
.gr-app .game-media-screen { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid #34516a; border-radius:7px; background:#050b11; box-shadow:0 12px 30px #0004; }
.gr-app .game-media-stage-shell,.gr-app .game-media-stage { width:100%; height:100%; min-height:0; }
.gr-app .game-media-stage { position:relative; display:grid; place-items:center; overflow:hidden; background:#050b11; }
.gr-app .game-media-stage > video,.gr-app .game-media-stage > iframe,.gr-app .game-media-stage-image { display:block; width:100%; height:100%; border:0; background:#000; }
.gr-app .game-media-stage > video { object-fit:contain; }
.gr-app .game-media-stage-image img { display:block; width:100%; height:100%; object-fit:contain; background:#050b11; }
.gr-app .game-media-stage-source { position:absolute; z-index:2; top:12px; left:12px; max-width:calc(100% - 24px); padding:6px 9px; overflow:hidden; border:1px solid #ffffff24; border-radius:4px; background:#07131ed9; color:#dceefa; font-size:10px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; }
.gr-app .game-media-strip { display:flex; gap:8px; width:100%; margin-top:9px; padding:1px 0 5px; overflow-x:auto; scrollbar-width:thin; }
.gr-app .game-media-thumb { position:relative; flex:0 0 126px; aspect-ratio:16/9; padding:0; overflow:hidden; border:1px solid #35546c; border-radius:4px; background:#102232; color:#dceefa; }
.gr-app .game-media-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.gr-app .game-media-thumb.is-active { border-color:#79c9ee; box-shadow:0 0 0 1px #79c9ee55; }
.gr-app .game-media-thumb small { position:absolute; z-index:2; left:5px; bottom:4px; max-width:calc(100% - 10px); padding:3px 5px; overflow:hidden; border-radius:3px; background:#07131ed9; color:#dceefa; font-size:8px; line-height:1; text-overflow:ellipsis; white-space:nowrap; }
.gr-app .game-media-thumb-play { position:absolute; z-index:2; inset:0; display:grid; place-items:center; color:#fff; font-size:20px; text-shadow:0 2px 8px #000; }
.gr-app .game-media-thumb-placeholder { display:grid; width:100%; height:100%; place-items:center; color:#84b8d7; font-size:9px; letter-spacing:.08em; }
@media (max-width:760px) {
  .gr-app .game-media[data-game-media-widget] { margin-block:16px 24px; }
  .gr-app .game-media-thumb { flex-basis:96px; }
  .gr-app .game-media-stage-source { top:8px; left:8px; max-width:calc(100% - 16px); }
}
/* Game detail: media-first hero with compact primary facts. */
.gr-app .game-detail-hero { grid-template-columns:minmax(0,1.65fr) minmax(320px,.72fr); align-items:start; gap:18px; padding:16px; }
.gr-app .detail-hero-media { min-width:0; align-self:start; }
.gr-app .detail-hero-media > .game-media.shell { width:100%; margin:0; padding:0; }
.gr-app .detail-hero-media .game-media .media-heading { display:none; }
.gr-app .detail-hero-media .game-media-screen { border-radius:5px; box-shadow:none; }
.gr-app .detail-hero-media .game-media-strip { margin-top:8px; padding-bottom:3px; }
.gr-app .detail-hero-media .game-media-thumb { flex-basis:110px; }
.gr-app .detail-hero-fallback { width:100%; min-height:0; aspect-ratio:16/9; overflow:hidden; border:1px solid #34516a; border-radius:5px; background:#071018; }
.gr-app .detail-hero-fallback .game-cover,.gr-app .detail-hero-fallback img { width:100%; height:100%; min-height:0; object-fit:contain; background:#071018; }
.gr-app .game-detail-hero .detail-copy { display:flex; min-width:0; flex-direction:column; align-self:stretch; padding:2px 0 0; }
.gr-app .game-detail-hero .detail-copy :is(h1,h2) { margin:9px 0 8px; font-size:clamp(28px,2.5vw,40px); }
.gr-app .game-detail-hero .detail-copy > p { display:-webkit-box; margin:10px 0 12px; overflow:hidden; font-size:12px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.gr-app .detail-hero-facts { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:2px; color:#9bb7c9; font-size:10px; }
.gr-app .detail-hero-facts span:not(:last-child)::after { content:'·'; margin-left:12px; color:#496579; }
.gr-app .game-detail-hero .detail-actions { margin-top:auto; padding-top:14px; }
.gr-app .game-detail-hero .detail-price { margin-left:auto; }
.gr-app .game-detail-more { margin-top:16px; padding:18px 20px; border:1px solid #294659; border-radius:6px; background:#122534; }
.gr-app .game-detail-more .section-heading { margin-bottom:12px; }
.gr-app .game-detail-more-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:20px; align-items:start; }
.gr-app .game-detail-more .detail-meta { margin:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
.gr-app .game-detail-more-side { display:grid; gap:10px; }
.gr-app .game-detail-more-side .relationship-card { margin-top:0; }
.gr-app #gr-game-guides .game-detail-more-side { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:14px; }
.gr-app #gr-game-guides .relationship-card { min-width:0; margin:0; padding:16px; display:flex; flex-direction:column; }
.gr-app #gr-game-guides h3 { margin:0 0 10px; font-size:17px; line-height:1.45; overflow-wrap:anywhere; }
.gr-app #gr-game-guides h3 a { color:var(--text); }
.gr-app #gr-game-guides h3 a:hover { color:var(--accent); }
.gr-app #gr-game-guides .relationship-card>p { max-width:65ch; margin:0 0 16px; color:var(--muted-bright); font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.gr-app #gr-game-guides .primary-button { align-self:flex-start; min-height:44px; max-width:100%; margin-top:auto; padding:10px 14px; font-size:13px; line-height:1.45; }
.gr-app .sources-details { padding:0; overflow:hidden; }
.gr-app .sources-details > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; cursor:pointer; list-style:none; }
.gr-app .sources-details > summary::-webkit-details-marker { display:none; }
.gr-app .sources-details > summary::after { content:'+'; margin-left:auto; color:#88ccec; font-size:19px; font-weight:400; line-height:1; }
.gr-app .sources-details[open] > summary::after { content:'−'; }
.gr-app .sources-details > summary small { color:#91aabc; font-size:10px; }
.gr-app .sources-detail-body { display:grid; gap:9px; padding:0 14px 14px; border-top:1px solid #294659; }
.gr-app .sources-detail-body > :first-child { margin-top:12px; }
@media (max-width:980px) {
  .gr-app .game-detail-hero { grid-template-columns:1fr; }
  .gr-app .game-detail-more-grid { grid-template-columns:1fr; }
  .gr-app .game-detail-hero .detail-actions { margin-top:8px; }
}
@media (max-width:760px) {
  .gr-app .game-detail-hero { padding:12px; gap:14px; }
  .gr-app .detail-hero-media .game-media-thumb { flex-basis:92px; }
  .gr-app .game-detail-more { padding:14px; }
  .gr-app #gr-game-guides .game-detail-more-side { grid-template-columns:minmax(0,1fr); }
  .gr-app #gr-game-guides { scroll-margin-top:130px; }
}

/* Similar games reuse the regular game-card visual language. */
.gr-app .gr-similar-games { margin-block:28px 38px; }
.gr-app .gr-similar-games-heading { align-items:flex-end; margin-bottom:14px; }
.gr-app .gr-similar-games-heading p { margin-top:4px; }
.gr-app .gr-similar-seed { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.gr-app .gr-similar-seed :is(span,a) { padding:4px 7px; border:1px solid #36566b; border-radius:999px; background:#172b39; color:#a4c8da; font-size:10px; line-height:1; text-decoration:none; }
.gr-app .gr-similar-seed a:hover,.gr-app .gr-similar-seed a:focus-visible { border-color:#6db7dc; color:#d7f3ff; background:#1b3446; }
.gr-app .gr-similar-games-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.gr-app .gr-similar-games-grid > .gr-similar-card { position:relative; min-width:0; height:100%; }
.gr-app .gr-similar-card .gr-card-main h3 > a::after { content:""; position:absolute; inset:0; z-index:5; }
.gr-app .gr-similar-card .gr-card-art { aspect-ratio:460/215; }
.gr-app .gr-similar-score { position:absolute; z-index:4; right:8px; bottom:8px; display:flex; align-items:baseline; gap:5px; padding:5px 7px; border:1px solid #7ac5e866; border-radius:5px; background:#07131ee8; color:#e4f6ff; box-shadow:0 3px 12px #0006; font-variant-numeric:tabular-nums; }
.gr-app .gr-similar-score strong { font-size:14px; line-height:1; }
.gr-app .gr-similar-score span { color:#91b7ca; font-size:9px; }
.gr-app .gr-similar-card .gr-card-facts { gap:7px; }
.gr-app .gr-similar-shared { color:#8eabba; font-size:11px; line-height:1.3; }
.gr-app .gr-similar-card-extra { margin-top:0; }
.gr-app .gr-similar-reasons { display:flex; min-width:0; flex-wrap:wrap; gap:5px; }
.gr-app .gr-similar-reasons :is(span,a) { max-width:100%; overflow:hidden; padding:3px 6px; border:1px solid #2f4b5e; border-radius:4px; background:#102330; color:#9bb8c9; font-size:10px; line-height:1.2; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.gr-app .gr-similar-reasons a { position:relative; z-index:6; }
.gr-app .gr-similar-reasons a:hover,.gr-app .gr-similar-reasons a:focus-visible { border-color:#6db7dc; color:#d7f3ff; background:#173247; }
.gr-app .gr-similar-games-empty { min-height:90px; }
@media (max-width:980px) {
  .gr-app .gr-similar-games-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .gr-app .gr-similar-games { margin-block:22px 28px; }
  .gr-app .gr-similar-games-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
}
/* Source prose keeps its own language when an official translation is unavailable. */
.gr-content-language{display:block;margin:.25rem 0 .6rem;color:var(--muted,#8b9aa9);font-size:.75rem;line-height:1.4}
