/* One quiet card, two reading densities. Loaded after the existing storefront theme. */
.gr-app .gr-game-card { position:relative; display:flex; flex-direction:column; min-width:0; height:100%; overflow:visible; border:1px solid #294154; border-radius:9px; background:#132432; box-shadow:none; transition:border-color 140ms,background 140ms; }
.gr-app .gr-game-card:hover,.gr-app .gr-game-card:focus-within { border-color:#628ca8; background:#192d3d; transform:none; box-shadow:none; }
.gr-app .gr-game-card:has(.gr-card-insight[open]) { z-index:6; }
.gr-app .gr-game-card .gr-card-art { position:relative; aspect-ratio:460/215; flex:none; overflow:hidden; border-radius:8px 8px 0 0; background:#10202e; }
.gr-app .gr-game-card .gr-card-cover { position:relative; display:block; height:100%; width:100%; }
.gr-app .gr-game-card .gr-card-cover img { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:cover; }
.gr-cover-fallback { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:linear-gradient(125deg,#274961,#152737); color:#b9d3e6; }
.gr-cover-fallback b { font-size:30px; font-weight:500; letter-spacing:.05em; }
.gr-cover-fallback span { font-size:10px; }
.gr-card-status { position:absolute; z-index:3; left:10px; top:10px; border:1px solid #7297b05c; background:#0b1b2ce8; border-radius:4px; padding:4px 7px; color:#d8f0ff; font-size:10px; font-weight:600; }
.gr-app .gr-game-card .gr-card-content { display:flex; flex:1; flex-direction:column; min-width:0; gap:10px; padding:14px; }
.gr-card-main { min-width:0; }
.gr-app .gr-game-card h3 { display:flex; gap:8px; align-items:start; margin:0; min-height:2.6em; font-size:16px; font-weight:650; letter-spacing:-.25px; line-height:1.3; overflow-wrap:anywhere; }
.gr-app .gr-game-card h3 a { color:#f0f6fb; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gr-app .gr-game-card h3 a:hover { color:#90d5fa; }
.gr-app .gr-game-card .gr-card-description { display:none; color:#b9cbd9; font-size:13px; line-height:1.55; margin:7px 0; }
.gr-card-genres { margin-top:7px; color:#9bb4c7; font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.gr-card-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:8px; margin-top:auto; min-width:0; }
.gr-app .gr-game-card .gr-card-facts { display:grid; gap:5px; min-width:0; margin:0; }
.gr-app .gr-card-date { font-size:11px; color:#afc1d0; line-height:1.4; overflow-wrap:anywhere; }
.gr-card-rating,.gr-card-index { display:flex; gap:5px; flex-wrap:wrap; align-items:baseline; font-size:11px; line-height:1.4; }
.gr-card-rating strong { color:#a6dca3; font-size:14px; font-weight:600; }
.gr-card-rating.is-mixed strong { color:#e9c496; }
.gr-card-rating > span,.gr-card-index > span { color:#aec3d4; font-size:10px; }
.gr-card-rating small { display:block; color:#8faabd; font-size:10px; }
.gr-card-index strong { color:#9edcff; font-weight:600; font-size:14px; }
.gr-card-unknown,.gr-card-platforms { color:#93adbf; font-size:11px; }
.gr-app .gr-game-card .gr-card-tools { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.gr-app .gr-game-card .gr-card-tools .game-quick-actions { position:static; inset:auto; display:flex; align-items:center; gap:4px; opacity:1; transform:none; pointer-events:auto; margin:0; }
.gr-app .gr-game-card .gr-card-tools .game-action,.gr-card-open { display:inline-flex; align-items:center; justify-content:center; width:30px; min-width:30px; height:32px; min-height:32px; padding:0; border:1px solid #38566c; border-radius:5px; background:#1c3548; color:#c4e6fa; box-shadow:none; }
.gr-app .gr-game-card .gr-card-tools .game-action-label { display:none; }
.gr-app .gr-game-card .gr-card-tools .game-action-icon { font-size:18px; }
.gr-app .gr-game-card .gr-card-tools .game-action[aria-pressed="true"] { background:#263f30; border-color:#6f9471; color:#ceefc6; }
.gr-app .gr-game-card .gr-card-tools .game-action:hover { border-color:#8abedb; background:#294d67; }
.gr-card-insight { position:relative; color:#b5cadd; font-size:12px; }
.gr-card-insight > summary { list-style:none; display:grid; place-items:center; width:24px; height:32px; cursor:pointer; color:#8fabbe; font-size:16px; border-radius:4px; }
.gr-card-insight > summary::-webkit-details-marker { display:none; }
.gr-card-insight[open] > summary,.gr-card-insight > summary:hover { color:#d5f0ff; background:#2a4356; }
.gr-card-insight-body { position:absolute; z-index:12; right:0; bottom:calc(100% + 8px); width:260px; max-width:calc(100vw - 40px); padding:16px; border:1px solid #63869e; border-radius:7px; background:#102231; box-shadow:0 12px 28px #0007; line-height:1.5; }
.gr-card-insight-body strong { font-size:13px; color:#e8f4fd; }
.gr-card-insight-body p { margin:8px 0 0; overflow-wrap:anywhere; }
/* Events retain their identity and unread hooks, but the game gets the visual priority. */
.gr-app .gr-game-list { gap:12px; }
.gr-app .gr-game-list .gr-game-row { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:start; padding:14px; gap:18px; height:auto; }
.gr-app .gr-game-list .gr-card-art { border-radius:5px; }
.gr-app .gr-game-list .gr-card-content { display:grid; grid-template-columns:minmax(0,1fr) 172px; column-gap:20px; row-gap:8px; padding:0; }
.gr-app .gr-game-list h3 { min-height:0; font-size:18px; }
.gr-app .gr-game-list .gr-card-description { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gr-app .gr-game-list .gr-card-bottom { grid-column:2; grid-row:1 / 3; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; align-self:stretch; margin:0; gap:10px; border-left:1px solid #2b4355; padding-left:16px; }
.gr-app .gr-game-list .gr-card-rating small { display:inline; }
.gr-app .gr-game-list .gr-card-date { font-size:12px; }
.gr-app .gr-game-list .gr-card-rating strong { font-size:16px; }
.gr-app .gr-game-list .gr-card-platforms { font-size:10px; }
.gr-app .gr-game-list .gr-game-event { grid-column:1; min-width:0; }
.gr-app .gr-game-list .gr-signal-reasons { margin:0; font-size:12px; }
.gr-app .gr-game-list .gr-signal-reasons summary { display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:10px; min-height:25px; }
.gr-app .gr-game-list .gr-signal-reasons .gr-badge { padding:2px 5px; font-size:9px; }
.gr-app .gr-game-list .gr-signal-reasons p { margin:8px 0; }
.gr-app .gr-game-list .gr-signal-reasons a { color:#8fd2f4; }
.gr-app .gr-game-row .gr-unread { font-size:9px; font-weight:400; color:#9bd8fc; padding-top:4px; white-space:nowrap; }
.gr-library-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:0 0 14px; }
.gr-library-toolbar > span { color:#91aabb; font-size:11px; }
.gr-library-modes { display:inline-flex; gap:3px; border:1px solid #2e4c63; border-radius:6px; padding:3px; background:#112433; }
.gr-library-modes button { min-height:32px; border:0; border-radius:4px; padding:5px 12px; background:none; color:#9db6c9; font-size:12px; }
.gr-library-modes button[aria-pressed="true"] { color:#e4f3fe; background:#294b65; }
.gr-app .gr-library[data-gr-card-layout="list"] { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.gr-app .gr-library[data-gr-card-layout="list"] > .gr-game-card:not(.gr-game-row) { display:grid; grid-template-columns:190px minmax(0,1fr); gap:14px; padding:12px; height:auto; }
.gr-app .gr-library[data-gr-card-layout="list"] > .gr-game-card:not(.gr-game-row) .gr-card-art { border-radius:5px; }
.gr-app .gr-library[data-gr-card-layout="list"] > .gr-game-card:not(.gr-game-row) .gr-card-content { padding:0; }
.gr-app .gr-library[data-gr-card-layout="list"] > .gr-game-card .gr-card-description { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list .gr-game-card { display:flex; flex-direction:column; padding:0; gap:0; height:100%; }
.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list .gr-card-art { border-radius:8px 8px 0 0; }
.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list .gr-card-content { display:flex; padding:14px; }
.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list h3 { font-size:16px; min-height:2.6em; }
.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list .gr-card-description { display:none; }
.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list .gr-card-bottom { display:flex; flex-direction:row; padding:0; margin-top:auto; border:0; }
.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list .gr-card-platforms { display:none; }
/* The existing media engine owns HLS; this surface only controls one preview. */
.gr-app .gr-card-art .poster-preview-video { position:absolute; inset:0; z-index:2; width:100%; height:100%; object-fit:cover; opacity:0; pointer-events:none; }
.gr-app .gr-card-art.is-previewing .poster-preview-video { opacity:1; }
.gr-app .gr-trailer-toggle { position:absolute; z-index:4; left:9px; bottom:9px; min-height:30px; padding:4px 9px; border:1px solid #bfdff94d; border-radius:4px; background:#0b1929db; color:#e4f6ff; font-size:10px; font-weight:500; }
.gr-app .gr-trailer-toggle:hover { background:#244e69; }
.gr-app .gr-card-art.is-previewing .gr-card-status { opacity:0; }
@media (max-width:1200px) and (min-width:1001px) {
  .gr-app .gr-game-list .gr-game-row { grid-template-columns:155px minmax(0,1fr); gap:12px; }
  .gr-app .gr-game-list .gr-card-content { grid-template-columns:minmax(0,1fr); }
  .gr-app .gr-game-list .gr-card-bottom { grid-column:1; grid-row:auto; flex-direction:row; align-items:center; border:0; padding:0; }
  .gr-app .gr-game-list .gr-card-platforms { display:none; }
}
@media (max-width:760px) {
  .gr-app .gr-game-list .gr-game-row { grid-template-columns:124px minmax(0,1fr); padding:12px; gap:12px; }
  .gr-app .gr-game-list .gr-card-content { display:flex; gap:8px; }
  .gr-app .gr-game-list h3 { font-size:16px; }
  .gr-app .gr-game-list .gr-card-description { font-size:12px; }
  .gr-app .gr-game-list .gr-card-bottom { flex-direction:row; align-items:center; padding:0; border:0; }
  .gr-app .gr-game-list .gr-card-platforms { display:none; }
  .gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gr-app .gr-library[data-gr-card-layout="list"] > .gr-game-card:not(.gr-game-row) { grid-template-columns:124px minmax(0,1fr); }
}
@media (max-width:480px) {
  .gr-app .gr-card-grid,.gr-app .gr-library[data-gr-card-layout="grid"].gr-game-list { grid-template-columns:minmax(0,1fr); }
  .gr-app .gr-game-card .gr-card-description { -webkit-line-clamp:2; }
  .gr-app .gr-game-list .gr-game-row { grid-template-columns:96px minmax(0,1fr); gap:10px; padding:10px; }
  .gr-app .gr-game-list .gr-card-description { font-size:11px; }
  .gr-app .gr-game-list .gr-card-bottom { flex-wrap:wrap; gap:8px; }
  .gr-app .gr-game-list h3 { font-size:14px; }
  .gr-app .gr-game-list .gr-card-genres { font-size:10px; }
  .gr-app .gr-game-row .gr-unread { display:none; }
  .gr-app .gr-game-list .gr-trailer-toggle { left:5px; bottom:5px; padding:3px 5px; font-size:9px; }
  .gr-app .gr-library[data-gr-card-layout="list"] > .gr-game-card:not(.gr-game-row) { grid-template-columns:96px minmax(0,1fr); }
}
@media (pointer:coarse) {
  .gr-app .gr-game-card .gr-card-tools .game-action,.gr-card-open,.gr-card-insight > summary { min-height:40px; min-width:34px; }
  .gr-app .gr-trailer-toggle { min-height:38px; }
  .gr-library-modes button { min-height:40px; }
}
@media (prefers-reduced-motion:reduce) {
  .gr-app .gr-game-card,.gr-app .gr-game-card * { animation:none!important; transition:none!important; }
}

/* One compact, expandable line; Steam status and community evidence never share a date. */
.gr-release-channels { font-size: 10px; line-height: 1.45; margin: 3px 0; }
.gr-release-channels > summary { display: flex; flex-wrap: wrap; gap: 5px; cursor: pointer; list-style: none; }
.gr-release-channels > summary::-webkit-details-marker { display: none; }
.gr-release-channels > summary::after { content: '⌄'; color: #9bbcd0; }
.gr-release-channels > summary > span { padding: 3px 6px; border-radius: 4px; background: #213a4d; color: #a4d8f6; }
.gr-release-channels > summary .gr-channel-community { background: #28383e; color: #a4b8c2; }
.gr-release-channels > summary .is-confirmed { background: #244839; color: #b2dfc2; }
.gr-channel-details { padding: 8px 10px; margin-top: 6px; background: #102433; border: 1px solid #39566b; border-radius: 5px; overflow-wrap: anywhere; }
.gr-channel-details p { margin: 5px 0 8px; font-size: 11px; }
.gr-channel-details small { color: #a4b8c8; }
.gr-channel-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:18px 0 12px; }
.gr-channel-tabs a { padding:9px 13px; min-height:40px; border:1px solid #37556c; border-radius:6px; color:#bcd4e6; font-size:12px; background:#142b3b; }
.gr-channel-tabs a[aria-current] { background:#285573; border-color:#63b1d9; color:#ecf9ff; }
.gr-channel-tabs small { margin-left:5px; opacity:.8; }
.gr-event-proof + .gr-event-proof { border-top:1px solid #355268; padding-top:8px; margin-top:8px; }
.gr-kind-community_release { background:#244839; color:#b2dfc2; }
.gr-kind-community_update { background:#283c4b; color:#b6d7e9; }

/* Calendar, discovery and shared cards use the same compact content geometry. */
.gr-app .gr-game-card .gr-card-content { gap:10px; padding:15px; }
.gr-app .gr-game-card .gr-card-bottom { flex-wrap:wrap; row-gap:10px; }
.gr-app .gr-game-card .gr-card-date { font-size:13px; color:#c1d4e1; }
.gr-app .gr-game-card .gr-card-genres { font-size:12px; }
.gr-app .gr-game-card .gr-card-rating > span, .gr-app .gr-game-card .gr-card-index > span { font-size:11px; }
.gr-app .gr-game-card .gr-card-tools .game-action { width:36px; min-width:36px; height:36px; min-height:36px; }
.gr-card-extra { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #294253; padding-top:9px; color:#afc3d1; font-size:12px; }
.gr-card-extra > span { min-width:0; overflow-wrap:anywhere; }
.gr-app .gr-browser-grid .gr-game-card .gr-card-tools { margin-left:auto; }
.gr-app .gr-browser-grid .gr-game-card h3 { font-size:17px; }
.gr-app .gr-browser-grid .gr-card-unknown { font-size:11px; }
@media (pointer:coarse) {
 .gr-app .gr-game-card .gr-card-tools .game-action { width:44px; min-width:44px; height:44px; min-height:44px; }
}

/* Unified media browser: cards expose the complete saved media set on hover and explicit click. */
.gr-app .gr-card-media-count { position:absolute; z-index:6; right:9px; bottom:9px; display:inline-flex; align-items:center; gap:4px; min-height:30px; padding:4px 7px; border:1px solid #b8ddf34d; border-radius:4px; background:#071522d8; color:#dff3ff; font-size:10px; }
.gr-app .gr-card-media-count .gr-icon { width:13px; height:13px; }
.gr-app .gr-game-card.is-media-hover { z-index:8; }
.gr-app .gr-card-media-hover { position:absolute; z-index:5; inset:0; display:grid; grid-template-rows:auto minmax(0,1fr) 42px auto; gap:6px; padding:8px; background:linear-gradient(180deg,#08131ef5,#0d1c28fa); color:#eaf7ff; }
.gr-app .gr-card-media-hover[hidden] { display:none; }
.gr-media-hover-head { display:flex; align-items:center; justify-content:space-between; font-size:10px; }
.gr-media-hover-head strong { font-size:11px; }
.gr-media-hover-head span { color:#8fb4ca; }
.gr-media-hover-preview { position:relative; min-height:0; overflow:hidden; border-radius:3px; background:#102434; }
.gr-media-hover-preview > img { width:100%; height:100%; object-fit:cover; }
.gr-media-hover-preview > button { position:absolute; inset:0; margin:auto; width:max-content; height:max-content; min-height:34px; border:1px solid #9ed8f366; border-radius:3px; padding:6px 10px; background:#07131edd; color:white; }
.gr-media-hover-empty { display:grid; place-items:center; height:100%; color:#9cb8ca; font-size:12px; }
.gr-media-hover-rail { display:flex; gap:4px; overflow-x:auto; scrollbar-width:thin; }
.gr-media-hover-rail button { position:relative; flex:0 0 58px; height:38px; padding:0; overflow:hidden; border:1px solid transparent; border-radius:2px; background:#142838; }
.gr-media-hover-rail button.is-active { border-color:#67bde8; }
.gr-media-hover-rail img { width:100%; height:100%; object-fit:cover; }
.gr-media-hover-rail span { position:absolute; inset:auto 3px 3px auto; padding:1px 3px; border-radius:2px; background:#07131edb; color:#fff; font-size:8px; }
.gr-media-hover-all { min-height:30px; border:0; border-radius:2px; background:#1d4862; color:#e9f7ff; font-size:10px; }
html.has-gr-media-dialog { overflow:hidden; }
.gr-media-dialog { position:fixed; inset:0; box-sizing:border-box; width:min(1200px,calc(100vw - 96px)); max-width:none; height:min(860px,calc(100vh - 96px)); height:min(860px,calc(100dvh - 96px)); max-height:none; margin:auto; padding:0; overflow:hidden; border:1px solid #45677c; border-radius:12px; background:#0b1721; color:#edf7fd; box-shadow:0 24px 90px #0009; }
.gr-media-dialog::backdrop { background:#02070bd9; backdrop-filter:blur(5px); }
.gr-media-shell { display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:100%; }
.gr-media-shell > header { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; padding:10px max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left)); padding-top:max(10px,env(safe-area-inset-top)); border-bottom:1px solid #2b4658; background:#102433; }
.gr-media-shell > header > div { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; min-width:0; }
.gr-media-shell > header strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; }
.gr-media-shell > header span { flex:none; color:#8fabbd; font-size:11px; }
.gr-media-shell > header button { flex:none; width:44px; height:44px; border:0; border-radius:4px; background:#ffffff0c; color:#dceef8; font-size:24px; }
.gr-media-stage-shell { min-height:0; display:grid; grid-template-columns:48px minmax(0,1fr) 48px; align-items:stretch; gap:8px; padding:8px; overflow:hidden; background:#050a0f; }
.gr-media-nav { align-self:center; width:48px; height:64px; padding:0; border:1px solid #45677c; border-radius:6px; background:#172e3e; color:#edf7fd; font-size:34px; line-height:1; }
.gr-media-nav:hover { border-color:#8cd6fb; background:#24506a; }
.gr-media-nav:disabled { opacity:.35; cursor:default; }
.gr-media-stage { min-width:0; min-height:0; display:grid; place-items:center; overflow:hidden; background:#050a0f; }
.gr-media-stage > img,.gr-media-stage > video,.gr-media-stage > iframe { display:block; width:100%; height:100%; min-height:0; border:0; object-fit:contain; background:#000; }
.gr-media-stage > img { width:auto; height:auto; max-width:100%; max-height:100%; }
.gr-media-dialog :is(button,video,iframe):focus-visible { outline:2px solid #8cd6fb; outline-offset:-3px; }
.gr-media-shell > footer { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; min-height:78px; padding:9px max(12px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); border-top:1px solid #2b4658; background:#102433; }
.game-media-stage-open,.gr-media-sidebar-preview { position:relative; display:grid; place-items:center; width:100%; height:100%; padding:0; border:0; border-radius:0; overflow:hidden; background:#050a0f; cursor:zoom-in; }
.game-media-stage-open > img,.gr-media-sidebar-preview > img { display:block; width:100%; height:100%; object-fit:contain; }
/* The detail hero selects media in place; only playable posters are actions. */
#gr-game-media [data-gr-inline-media] .game-media-stage-open { cursor:pointer; color:inherit; }
#gr-game-media [data-gr-inline-media] .game-media-stage-open:disabled { cursor:default; opacity:1; }
.gr-hover-player { position:absolute; z-index:1; inset:0; display:block; width:100%; height:100%; min-height:0; border:0; background:#050a0f; pointer-events:none; }
.gr-hover-video { object-fit:contain; }
.game-media-stage-open.is-hover-preview .game-media-stage-play,.gr-media-sidebar-preview.is-hover-preview .game-media-stage-play { display:none; }
.game-media-stage-play { position:absolute; inset:0; margin:auto; width:max-content; height:max-content; padding:12px 18px; border:1px solid #bfdff973; border-radius:5px; background:#07131edb; color:#f2f8fd; font-size:14px; font-weight:600; pointer-events:none; }
.game-media-stage-open:focus-visible,.gr-media-sidebar-preview:focus-visible { outline:2px solid #8cd6fb; outline-offset:-3px; }
.game-media-stage-source { pointer-events:none; }
.gr-media-strip { display:flex; gap:6px; overflow-x:auto; scrollbar-width:thin; }
.gr-media-strip button { position:relative; flex:0 0 88px; height:54px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:3px; background:#0d1d29; }
.gr-media-strip button.is-active { border-color:#6bc4ef; }
.gr-media-strip img { width:100%; height:100%; object-fit:cover; }
.gr-media-strip span { position:absolute; right:3px; bottom:3px; padding:1px 4px; border-radius:2px; background:#07131edd; color:#fff; font-size:8px; }
@media (pointer:coarse) {
 .gr-app :is(.game-media-thumb,.gr-media-strip button,.gr-card-media-count) { min-width:44px; min-height:44px; }
 .gr-app .game-media-stage-play { max-width:calc(100% - 24px); padding:12px; text-align:center; }
}
@media (max-width:620px) { .gr-media-dialog { width:calc(100vw - 40px); height:calc(100vh - 40px); height:calc(100dvh - 40px); border-radius:10px; } .gr-media-stage-shell { grid-template-columns:44px minmax(0,1fr) 44px; gap:4px; padding:4px; } .gr-media-nav { width:44px; height:52px; font-size:30px; } .gr-media-strip button { flex-basis:72px; height:46px; } .gr-app .gr-card-media-count { min-width:44px; min-height:44px; } }
@media (pointer:coarse) { .gr-app .gr-card-media-hover { display:none!important; } }

/* Direct store action replaces source-detail disclosures on cards. */
.gr-app .gr-steam-action { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:32px; padding:5px 9px; border:1px solid #4b6577; border-radius:4px; background:#1b2838; color:#c7d5e0; font-size:11px; font-weight:600; text-decoration:none; }
.gr-app .gr-steam-action:hover,.gr-app .gr-steam-action:focus-visible { border-color:#66c0f4; background:#223c50; color:#fff; }
.gr-app .gr-steam-action .gr-icon { width:12px; height:12px; }

/* Compact density reuses the complete GameCard contract for calendar and other dense surfaces. */
.gr-app .gr-game-card-compact .gr-card-content { gap:7px; padding:10px; }
.gr-app .gr-game-card-compact h3 { min-height:2.5em; font-size:14px; line-height:1.25; }
.gr-app .gr-game-card-compact .gr-card-genres { margin-top:4px; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gr-app .gr-game-card-compact .gr-card-bottom { align-items:center; gap:6px; row-gap:6px; }
.gr-app .gr-game-card-compact .gr-card-facts { gap:2px; }
.gr-app .gr-game-card-compact .gr-card-date { font-size:12px; }
.gr-app .gr-game-card-compact .gr-card-rating strong,
.gr-app .gr-game-card-compact .gr-card-index strong { font-size:13px; }
.gr-app .gr-game-card-compact .gr-card-rating small { display:none; }
.gr-app .gr-game-card-compact .gr-card-tools { gap:3px; }
.gr-app .gr-game-card-compact .gr-card-tools .game-action,
.gr-app .gr-game-card-compact .gr-card-open { width:30px; min-width:30px; height:30px; min-height:30px; }
.gr-app .gr-game-card-compact .gr-steam-action { min-height:30px; padding:4px 7px; font-size:10px; }
