/* Final shared storefront component contract. Route styles define layout; this file owns visual primitives.
 * !important is intentional for invariants because older route styles carry higher selector specificity. */
body.gr-app {
  --gr-surface:var(--slate-760); --gr-surface-hover:var(--slate-730); --gr-surface-soft:var(--slate-790);
  --gr-border:var(--slate-670); --gr-border-strong:var(--slate-550); --gr-muted:var(--slate-240);
  --gr-radius-card:10px; --gr-radius-control:8px; --gr-radius-chip:6px; --gr-action-height:40px;
  --gr-action-bg:var(--slate-700); --gr-action-hover:var(--slate-640); --gr-action-border:var(--slate-580);
  --gr-primary:var(--cyan-210); --gr-primary-hover:var(--cyan-130); --gr-on-primary:var(--slate-850);
  --gr-focus-ring:0 0 0 3px color-mix(in srgb,var(--cyan-210) 30%,transparent);
  --gr-field-height:40px; --gr-field-bg:var(--slate-790); --gr-field-border:var(--slate-610); --gr-field-border-hover:var(--slate-520);
  --gr-field-text:var(--slate-40); --gr-field-placeholder:var(--slate-340); --gr-label:var(--slate-240);
}
/* Card: one component for games, mods, guides and collection picks (markup: src/web/card.js).
 * Legacy row and panel surfaces share the same recipe. Depth comes from the surface step, not from a bright outline. */
.gr-app :is(.gr-card,.game-card,.upcoming-card,.availability-row,.insight-game-card,.command-card,.source-card,.gr-quick-event,.release-row,.event-row,.community-row) {
  border:1px solid var(--gr-border)!important; border-radius:var(--gr-radius-card)!important; background:var(--gr-surface)!important; box-shadow:none!important;
  transition:border-color 160ms ease,background 160ms ease,box-shadow 160ms ease;
}
.gr-app :is(.gr-card,.game-card,.upcoming-card,.availability-row,.insight-game-card,.command-card,.source-card,.gr-quick-event,.release-row,.event-row,.community-row):is(:hover,:focus-within) {
  border-color:var(--gr-border-strong)!important; background:var(--gr-surface-hover)!important; transform:none!important; box-shadow:0 14px 30px -20px #000d!important;
}
.gr-app :is(.gr-card-art,.game-cover,.upcoming-cover,.availability-poster,.insight-game-media) {
  overflow:hidden; border-radius:6px!important; background:var(--slate-790);
}
/* Art that sits flush on top of a card follows the card's own corners. */
.gr-app :is(.gr-card>.gr-card-art,.game-card .game-cover,.upcoming-card :is(.game-cover,.upcoming-cover)) {
  border-radius:calc(var(--gr-radius-card) - 1px) calc(var(--gr-radius-card) - 1px) 0 0!important;
}
.gr-app :is(.gr-game-list:not([data-gr-card-layout="grid"]),.gr-library[data-gr-card-layout="list"]) > .gr-card > .gr-card-art { border-radius:6px!important; }
.gr-app :is(.gr-card .gr-card-art,.game-card .game-cover,.upcoming-card .game-cover) { aspect-ratio:460/215!important; }
.gr-app :is(.gr-card-art,.game-cover,.upcoming-cover,.availability-poster,.insight-game-media) img {
  width:100%; height:100%; object-fit:cover;
}
.gr-app :is(.game-card-body,.upcoming-body,.gr-update-card>div,.insight-game-copy) { min-height:0!important; padding:14px!important; }
.gr-app :is(.game-card-body,.upcoming-body) { gap:9px; }
.gr-app :is(.gr-card,.gr-mod-card,.game-card,.upcoming-card,.insight-game-card) h3 { font-size:var(--type-card-title)!important; line-height:1.3; letter-spacing:-.2px; }
.gr-app .gr-game-card-compact h3 { font-size:14px!important; line-height:1.25!important; }
.gr-app :is(.game-card,.upcoming-card) h3 { margin:0!important; }
/* Forms: one field for every page. It sits one step below its panel, shows a hairline at rest and
 * lights up in the accent on focus; the button beside it has the same height. */
.gr-app :is(.gr-filter-bar,.gr-browser-form,.gr-search-filters,.gr-daily-calendar) {
  border:1px solid var(--gr-border)!important; border-radius:var(--gr-radius-card)!important; background:var(--gr-surface)!important; box-shadow:none!important;
}
.gr-app :is(.gr-filter-bar,.gr-browser-form,.gr-search-filters,.gr-sort-form,.gr-tag-explorer-form,.advanced-filters,.gr-mod-filters,.gr-tag-directory-search,.gr-sitemap-search,.gr-daily-picker,.subscriptions-builder) :is(input:not([type=hidden],[type=checkbox],[type=radio]),select) {
  box-sizing:border-box; min-width:0; height:var(--gr-field-height)!important; min-height:var(--gr-field-height)!important; margin:0; padding:0 12px!important;
  border:1px solid var(--gr-field-border)!important; border-radius:var(--gr-radius-control)!important; background-color:var(--gr-field-bg)!important;
  color:var(--gr-field-text)!important; font-family:inherit; font-size:var(--type-small)!important; font-weight:400; line-height:1.2; box-shadow:none;
  transition:border-color 140ms ease,box-shadow 140ms ease;
}
.gr-app :is(.gr-filter-bar,.gr-browser-form,.gr-search-filters,.gr-sort-form,.gr-tag-explorer-form,.advanced-filters,.gr-mod-filters,.gr-tag-directory-search,.gr-sitemap-search,.gr-daily-picker,.subscriptions-builder) :is(input:not([type=hidden],[type=checkbox],[type=radio]),select):hover {
  border-color:var(--gr-field-border-hover)!important;
}
.gr-app :is(.gr-filter-bar,.gr-browser-form,.gr-search-filters,.gr-sort-form,.gr-tag-explorer-form,.advanced-filters,.gr-mod-filters,.gr-tag-directory-search,.gr-sitemap-search,.gr-daily-picker,.subscriptions-builder) :is(input:not([type=hidden],[type=checkbox],[type=radio]),select):focus-visible {
  border-color:var(--gr-primary)!important; outline:0; box-shadow:var(--gr-focus-ring);
}
.gr-app :is(input,textarea)::placeholder { color:var(--gr-field-placeholder); opacity:1; }
/* A select draws its own arrow, so it reads the same in every browser. */
.gr-app :is(.gr-filter-bar,.gr-browser-form,.gr-search-filters,.gr-sort-form,.gr-tag-explorer-form,.advanced-filters,.gr-mod-filters) select:not([multiple]) {
  appearance:none; padding-right:34px!important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--slate-240) 50%),linear-gradient(135deg,var(--slate-240) 50%,transparent 50%)!important;
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%!important; background-size:5px 5px!important; background-repeat:no-repeat!important;
}
.gr-app select option { background:var(--slate-760); color:var(--slate-40); }
.gr-app input[type=number] { appearance:textfield; -moz-appearance:textfield; }
.gr-app input[type=number]::-webkit-inner-spin-button,.gr-app input[type=number]::-webkit-outer-spin-button { appearance:none; margin:0; }
.gr-app input[type=date]::-webkit-calendar-picker-indicator { margin:0 -4px 0 0; padding:4px; border-radius:4px; opacity:.6; cursor:pointer; }
.gr-app input[type=date]::-webkit-calendar-picker-indicator:hover { opacity:1; }
.gr-app input[type=date][data-empty]:not(:focus)::-webkit-datetime-edit { color:var(--gr-field-placeholder); }
.gr-app input[type=search]::-webkit-search-cancel-button { opacity:.7; cursor:pointer; }
/* The name of a field: one quiet line above it. */
.gr-app :where(.gr-field,.gr-tag-picker-label,.gr-filter-bar label:not(.gr-check),.gr-mod-filters label,.gr-browser-form label > span,.advanced-filters label > span,.gr-tag-directory-search > label,.gr-sitemap-search label,.subscriptions-builder label span) {
  color:var(--gr-label)!important; font-size:var(--type-caption)!important; font-weight:500!important; line-height:1.3!important; letter-spacing:0!important; text-transform:none!important;
}
/* A search box: the frame owns the border and the ring, the field inside is bare. The frame is named with
 * :where() so that a page lays out its own (height, padding) with an ordinary rule. */
.gr-app :where(.gr-search-form,.gr-browser-query > div,.page-search,.gr-search-promo-form > div,.gr-tag-picker-search) {
  box-sizing:border-box; display:flex; align-items:center; gap:10px; min-height:var(--gr-field-height); padding:0 12px; border:1px solid var(--gr-field-border)!important;
  border-radius:var(--gr-radius-control)!important; background:var(--gr-field-bg)!important; box-shadow:none!important; outline:0!important; transition:border-color 140ms ease,box-shadow 140ms ease;
}
.gr-app :where(.gr-search-form,.gr-browser-query > div,.page-search,.gr-search-promo-form > div,.gr-tag-picker-search):hover { border-color:var(--gr-field-border-hover)!important; }
.gr-app :where(.gr-search-form,.gr-browser-query > div,.page-search,.gr-search-promo-form > div,.gr-tag-picker-search):focus-within { border-color:var(--gr-primary)!important; box-shadow:var(--gr-focus-ring)!important; }
.gr-app :is(.gr-search-form,.gr-browser-query > div,.page-search,.gr-search-promo-form > div,.gr-tag-picker-search) input[type=search] {
  flex:1; min-width:0; width:100%; height:auto!important; min-height:calc(var(--gr-field-height) - 2px)!important; margin:0; padding:0!important; border:0!important; border-radius:0!important;
  background:none!important; box-shadow:none!important; outline:0!important; color:var(--gr-field-text); font-family:inherit; font-size:var(--type-small);
}
.gr-app :where(.gr-search-form,.gr-browser-query > div,.page-search,.gr-search-promo-form > div,.gr-tag-picker-search) > .gr-icon { flex:none; width:18px; height:18px; color:var(--slate-280); }
/* The search of a list page: the same frame, with its button inside. */
.gr-app .page-search { min-height:50px; padding:4px 4px 4px 14px; border-radius:var(--gr-radius-card)!important; }
.gr-app .page-search > button { flex:none; align-self:center; height:var(--gr-action-height); min-width:92px; padding:0 16px; border:0; border-radius:var(--gr-radius-control); background:var(--gr-primary); color:var(--gr-on-primary); font:inherit; font-size:var(--type-small); font-weight:650; cursor:pointer; transform:none; transition:background 140ms ease; }
.gr-app .page-search > button:hover { background:var(--gr-primary-hover); transform:none; }
/* The search of the header: a field of the same family, a little lower to fit the bar. */
.gr-app .gr-header .gr-search { border:1px solid var(--gr-field-border); border-radius:var(--gr-radius-control); background:var(--gr-field-bg); box-shadow:none; transition:border-color 140ms ease,box-shadow 140ms ease; }
.gr-app .gr-header .gr-search:hover { border-color:var(--gr-field-border-hover); }
.gr-app .gr-header .gr-search:focus-within { border-color:var(--gr-primary); box-shadow:var(--gr-focus-ring); }
.gr-app .gr-header .gr-search input:focus-visible { outline:0; }
.gr-app .gr-header .gr-search button { border-radius:6px; background:none; color:var(--slate-240); cursor:pointer; }
.gr-app .gr-header .gr-search button:hover { background:var(--slate-700); color:#fff; }
/* Buttons and links that stand in a row with fields are as tall as the fields. */
.gr-app :is(.advanced-filters .reset-filter,.subscriptions-builder button,.gr-daily-picker button,.gr-daily-navigation a) { min-height:var(--gr-field-height); border-radius:var(--gr-radius-control); }
.gr-app .advanced-filters { align-items:end; }
/* A title made of one unbroken word (a scene release name) wraps inside its row. */
.gr-app :is(.release-heading,.event-heading,.community-heading) > :is(strong,a) { min-width:0; overflow-wrap:anywhere; }
.gr-app .advanced-filters label { gap:6px; }
.gr-app .filter-shell { border-color:var(--gr-border); border-radius:var(--gr-radius-card); background:var(--gr-surface); }
.gr-app .filter-toggle { min-height:36px; border-color:var(--gr-border); border-radius:var(--gr-radius-control); }
.gr-app .subscriptions-builder form { border-color:var(--gr-border); border-radius:var(--gr-radius-card); background:var(--gr-surface); }
.gr-app input:is([type=checkbox],[type=radio]) {
  flex:none; width:18px!important; height:18px!important; min-width:0!important; min-height:0!important; margin:0; padding:0!important; accent-color:var(--gr-primary); cursor:pointer;
}
.gr-app .gr-check { display:inline-flex!important; flex-direction:row!important; align-items:center; gap:9px; min-height:var(--gr-field-height); margin:0!important; cursor:pointer; }
/* In a row of fields a checkbox stands on the line of the fields, not of their names. */
.gr-app .gr-filter-bar .gr-check { align-self:flex-end; color:var(--slate-160); font-size:var(--type-meta); }
/* The switch between cards and rows: one segmented control, as tall as a field. */
.gr-app .gr-library-modes { box-sizing:border-box; display:inline-flex; gap:2px; height:var(--gr-field-height); padding:3px; border:1px solid var(--gr-border)!important; border-radius:var(--gr-radius-control)!important; background:var(--gr-surface)!important; }
.gr-app .gr-library-modes button { height:100%; min-height:0!important; padding:0 12px; border:0; border-radius:5px!important; background:none; color:var(--slate-200); font:inherit; font-size:var(--type-meta); cursor:pointer; transition:background 140ms ease,color 140ms ease; }
.gr-app .gr-library-modes button:hover { color:var(--slate-20); }
.gr-app .gr-library-modes button[aria-pressed=true] { background:var(--slate-610)!important; color:#fff; }
/* Tabs: quiet at rest, filled when current. */
.gr-app :is(.gr-date-tabs,.gr-tabs,.gr-channel-tabs) a {
  display:inline-flex; align-items:center; min-height:36px; padding:0 14px; border:1px solid var(--gr-border)!important; border-radius:var(--gr-radius-control)!important;
  background:var(--gr-surface)!important; color:var(--slate-160); font-weight:500; transition:background 140ms ease,border-color 140ms ease,color 140ms ease;
}
.gr-app :is(.gr-date-tabs,.gr-tabs,.gr-channel-tabs) a:hover { border-color:var(--gr-border-strong)!important; color:var(--slate-20); }
.gr-app :is(.gr-date-tabs,.gr-tabs,.gr-channel-tabs) a[aria-current] { border-color:var(--slate-460)!important; background:var(--slate-610)!important; color:#fff; font-weight:600; }
/* Chips: genres, tags and badges share one quiet tint; state colors stay with their own classes. */
.gr-app :is(.gr-badge,.badge,.gr-source-pill,.gr-card-genres>span,.tag-chip) { border-radius:var(--gr-radius-chip)!important; }
.gr-app :is(.gr-card-genres>span,.gr-tags>span,.tag-chip) {
  border:1px solid transparent!important; background:color-mix(in srgb,var(--slate-520) 34%,transparent)!important; color:var(--slate-120)!important; font-weight:500;
}
.gr-app a:hover > .tag-chip { border-color:var(--gr-border-strong)!important; background:color-mix(in srgb,var(--slate-520) 55%,transparent)!important; color:var(--slate-20)!important; }
.gr-app :is(.gr-section-heading,.section-heading) h2 { font-size:var(--type-section-title)!important; line-height:1.25!important; letter-spacing:-.3px; }
.gr-app :is(.gr-section-heading,.section-heading) p { color:var(--gr-muted)!important; font-size:var(--type-small)!important; line-height:1.45; }
.gr-app :is(.gr-section-heading,.section-heading)>a,.gr-app .gr-section-links>a {
  display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 10px; border:1px solid transparent;
  border-radius:var(--gr-radius-control); color:var(--cyan-130); font-size:var(--type-small); font-weight:550;
}
.gr-app :is(.gr-section-heading,.section-heading)>a:hover,.gr-app .gr-section-links>a:hover { border-color:var(--gr-action-border); background:var(--gr-action-bg); color:var(--slate-20); }
/* A section heading may carry more than one link: they sit together on the right. */
.gr-app .gr-section-links { display:flex; flex:none; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:2px 6px; }
.gr-app .gr-section-links>a:first-child:not(:only-child) { color:var(--slate-160); font-weight:500; }
/* Actions: quiet by default, one filled accent for the primary step. */
.gr-app :is(.gr-button,.gr-steam-action,.gr-availability-open,.game-action,.primary-button) {
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:var(--gr-action-height)!important; height:var(--gr-action-height)!important; padding:0 14px!important;
  border:1px solid var(--gr-action-border)!important; border-radius:var(--gr-radius-control)!important; background:var(--gr-action-bg)!important;
  color:var(--slate-40)!important; font-family:inherit!important; font-size:var(--type-small)!important; font-weight:600!important; line-height:1.1!important;
  white-space:nowrap; box-shadow:none!important; text-decoration:none; transition:background 140ms ease,border-color 140ms ease,color 140ms ease;
}
.gr-app :is(.gr-button,.gr-steam-action,.gr-availability-open,.game-action,.primary-button):hover {
  border-color:var(--slate-460)!important; background:var(--gr-action-hover)!important; color:#fff!important;
}
.gr-app :is(.gr-button-primary,.gr-availability-open,.primary-button) {
  border-color:var(--gr-primary)!important; background:var(--gr-primary)!important; color:var(--gr-on-primary)!important; font-weight:650!important;
}
.gr-app :is(.gr-button-primary,.gr-availability-open,.primary-button):hover { background:var(--gr-primary-hover)!important; border-color:var(--gr-primary-hover)!important; color:var(--gr-on-primary)!important; }
.gr-app :is(.gr-button,.gr-steam-action,.gr-availability-open,.game-action,.primary-button):focus-visible { outline:2px solid var(--gr-primary); outline-offset:2px; }
.gr-app :is(.game-action:not(.action-label-visible):not(.game-action-similar)) {
  width:var(--gr-action-height)!important; min-width:var(--gr-action-height)!important; padding:0!important;
}
.gr-app :is(.gr-button,.gr-steam-action,.gr-availability-open,.game-action) .gr-icon { width:16px; height:16px; flex:none; }
.gr-app .game-action-label { font-size:var(--type-meta); font-weight:600; }
.gr-app .game-action.game-action-similar .game-action-label { display:inline; }
.gr-app :is(.gr-availability-actions,.detail-actions,.game-quick-actions) { align-items:center; gap:8px; }
/* Game card facts: the measured rating leads, date and platform follow, price closes the card. */
.gr-app .gr-card .gr-card-main > .gr-content-language { display:none; }
.gr-app :is(.gr-game-list:not([data-gr-card-layout="grid"]),.gr-library[data-gr-card-layout="list"]) > .gr-card .gr-card-main > .gr-content-language { display:block; margin:4px 0 0; }
.gr-app .gr-card > .gr-card-content > .gr-card-mods {
  position:absolute; z-index:3; top:10px; right:10px; margin:0; padding:4px 8px; border:1px solid color-mix(in srgb,var(--green-180) 36%,transparent);
  border-radius:var(--gr-radius-chip); background:color-mix(in srgb,var(--slate-850) 88%,transparent); color:var(--green-90); font-size:var(--type-caption); font-weight:600;
}
.gr-app .gr-card .gr-card-facts { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:flex-start; gap:4px 12px; color:var(--slate-240); }
.gr-app .gr-card :is(.gr-card-rating,.gr-card-index,.gr-card-unknown) { order:-1; flex:1 0 100%; }
.gr-app .gr-card :is(.gr-card-rating,.gr-card-index) strong { font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.2px; }
.gr-app .gr-card .gr-card-rating strong { color:var(--green-180); }
.gr-app .gr-card .gr-card-rating.is-mixed strong { color:var(--amber-170); }
.gr-app .gr-card .gr-card-index strong { color:var(--cyan-130); }
.gr-app .gr-card :is(.gr-card-date,.gr-card-interest,.gr-card-platforms) { color:var(--slate-240); font-size:var(--type-meta); }
.gr-app .gr-card .gr-card-extra { gap:8px; border-top:1px solid var(--gr-border); padding-top:10px; color:var(--slate-80); font-size:var(--type-small); font-weight:650; font-variant-numeric:tabular-nums; }
/* Parts every variant may use: a kicker above the title, a context line under it, a lead number, footer links. */
.gr-app .gr-card-kicker { display:block; margin-bottom:6px; overflow:hidden; color:var(--cyan-200); font-size:var(--type-caption); font-weight:600; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.gr-app .gr-card-context { display:block; width:fit-content; max-width:100%; margin-top:4px; overflow:hidden; color:var(--cyan-130); font-size:var(--type-meta); line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.gr-app a.gr-card-context:hover { color:var(--slate-20); text-decoration:underline; text-underline-offset:3px; }
.gr-app .gr-card-stat { display:inline-flex; align-items:baseline; gap:6px; color:var(--slate-240); font-size:var(--type-caption); }
.gr-app .gr-card .gr-card-stat { order:-1; flex:1 0 100%; }
.gr-app .gr-card-stat strong { color:var(--slate-20); font-size:17px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:-.2px; }
.gr-app .gr-card .gr-card-author { min-width:0; overflow:hidden; color:var(--slate-240); font-size:var(--type-meta); font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.gr-app .gr-card .gr-card-source { flex:none; margin-left:auto; color:var(--cyan-130); font-size:var(--type-meta); font-weight:600; }
.gr-app .gr-card .gr-card-source:hover { color:var(--slate-20); }
/* Variants that explain themselves in a sentence keep it visible in the grid. */
.gr-app :is(.gr-mod-card,.gr-guide-card) .gr-card-description {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:6px 0 0; color:var(--slate-200); font-size:var(--type-meta); line-height:1.5; overflow-wrap:anywhere;
}
.gr-app .gr-daily-navigation a, .gr-app .gr-daily-picker button { border-radius:var(--gr-radius-control); border-color:var(--gr-action-border); background:var(--gr-action-bg); }
.gr-app .gr-daily-date { border-radius:var(--gr-radius-control); border-color:var(--gr-border); background:var(--slate-700); }
.gr-app .gr-daily-date[aria-current] { border-color:var(--cyan-250); background:var(--slate-550); }
.gr-app :is(.release-row,.event-row,.community-row,.availability-row) { border-radius:var(--gr-radius-card); background:var(--gr-surface); }
.gr-app :is(.radar-card,.review-sample,.intel-score-card,.intel-stat-card,.intel-chart-card,.expectation-reasons) { border-color:var(--gr-border)!important; border-radius:var(--gr-radius-card)!important; box-shadow:none!important; }
.gr-app :is(.game-mention-poster,.availability-poster) { border-radius:6px; }
@media (max-width:620px) {
  /* Two-up phone cards keep rating, date and price; pace and platform return in list mode and on the game page. */
  .gr-app :is(.gr-game-list,.gr-library,.gr-card-grid,.gr-browser-grid)[data-gr-card-layout="grid"] > .gr-card :is(.gr-card-interest,.gr-card-platforms) { display:none!important; }
  .gr-app .gr-section-heading { flex-wrap:wrap; gap:4px 12px; }
  .gr-app .gr-section-heading > div { flex:1 1 100%; }
  .gr-app .gr-section-heading > a { margin-left:-10px; }
}
@media (max-width:760px) {
  .gr-app :is(.gr-button,.gr-steam-action,.gr-availability-open,.game-action,.primary-button) { min-height:44px!important; height:44px!important; }
  .gr-app :is(.game-action:not(.action-label-visible):not(.game-action-similar)) { width:44px!important; min-width:44px!important; }
  body.gr-app { --gr-field-height:44px; }
  /* 16px keeps a phone from zooming into the field it focuses. */
  .gr-app :is(.gr-filter-bar,.gr-browser-form,.gr-search-filters,.gr-sort-form,.gr-tag-explorer-form,.advanced-filters,.gr-mod-filters,.gr-tag-directory-search,.gr-sitemap-search,.gr-daily-picker,.subscriptions-builder) :is(input:not([type=hidden],[type=checkbox],[type=radio]),select),
  .gr-app :is(.gr-search-form,.gr-browser-query > div,.page-search,.gr-search-promo-form > div,.gr-tag-picker-search) input[type=search] { font-size:16px!important; }
}
@media (prefers-reduced-motion:reduce) {
  .gr-app :is(.gr-card,.game-card,.upcoming-card,.availability-row,.insight-game-card,.command-card,.source-card,.gr-quick-event,.release-row,.event-row,.community-row),
  .gr-app :is(.gr-button,.gr-steam-action,.gr-availability-open,.game-action,.primary-button) { transition:none!important; }
}
