/* Header reboot: site header, menu/search surface and quick-bar now live in one owner. */

:root {
  --header-panel-open-duration: 0ms;
  --header-panel-close-duration: 0ms;
  --header-scrim-duration: 0ms;
  --quick-bar-control-size: var(--control-height-md);
  --quick-bar-height: calc(var(--quick-bar-control-size) + 4px);
  --quick-bar-shell-padding: var(--control-padding-2xs);
  --quick-bar-bottom-offset: var(--control-gap-base);
  --quick-bar-safe-reserve: calc(var(--quick-bar-height) + var(--quick-bar-bottom-offset) + var(--space-5));
}

.site-header {
  --site-header-bar-height: var(--header-height);
  --header-control-size: var(--control-height-md);
  --header-control-radius: var(--control-radius);
  --header-inner-max-width: var(--layout-max-width);
  --header-nav-max-width: 860px;
  --header-nav-link-max-width: 190px;
  --header-actions-max-width: 220px;
  --site-header-inner-gap: var(--control-gap-wide);
  --site-header-nav-gap: var(--control-gap-base);
  --site-header-actions-gap: var(--control-gap-base);
  --site-header-actions-offset-inline-end: var(--control-gap-wide);
  --site-header-panel-padding: var(--control-gap-wide) var(--control-padding-x-base) var(--space-4);
  --site-header-search-gap: var(--control-gap-wide);
  --site-header-language-switcher-padding: var(--control-padding-2xs);
  --site-header-panel-padding-mobile: var(--control-gap-wide) var(--control-padding-x-compact) max(16px, env(safe-area-inset-bottom));
  --site-header-panel-padding-mobile-compact: var(--control-gap-wide) var(--control-padding-x-mobile) max(16px, env(safe-area-inset-bottom));
  --site-header-language-switcher-padding-mobile: var(--control-padding-2xs);
  --site-header-search-input-font-size-mobile: var(--font-size-md);
  --site-header-search-language-font-size-mobile: var(--font-size-sm);
  --site-header-game-progress-min-width: 220px;
  --site-header-game-progress-max-width: 380px;
  --site-header-game-progress-height: var(--header-control-size);
  --site-header-game-progress-padding: var(--control-padding-2xs) var(--control-padding-x-base);
  --site-header-game-progress-gap: var(--control-gap-tight);
  --site-header-game-progress-head-gap: var(--control-gap-tight);
  --site-header-game-progress-radius: var(--header-control-radius);
  --site-header-game-progress-border: 1px solid var(--theme-border-normal);
  --site-header-game-progress-bg: var(--theme-surface-subtle);
  --site-header-game-progress-color: var(--theme-text-strong);
  --site-header-game-progress-label-size: var(--type-label-size);
  --site-header-game-progress-label-track: var(--hierarchy-status-track);
  --site-header-game-progress-label-transform: var(--hierarchy-status-transform);
  --site-header-game-progress-label-line: var(--type-control-line);
  --site-header-game-progress-label-color: var(--theme-text-muted);
  --site-header-game-progress-value-size: var(--font-size-sm);
  --site-header-game-progress-value-weight: var(--hierarchy-title-weight);
  --site-header-game-progress-value-line: var(--type-control-line);
  --site-header-game-progress-value-color: var(--theme-text-strong);
  --site-header-game-progress-track-height: 4px;
  --site-header-game-progress-track-bg: var(--theme-surface-subtle);
  --site-header-game-progress-fill: var(--theme-action-primary-bg);
  --site-header-game-progress-padding-mobile: var(--control-padding-2xs) var(--control-padding-x-compact);
  --site-header-game-progress-height-mobile: var(--button-height-sm);
  --site-header-language-button-size-mobile: var(--font-size-sm);
  --site-header-surface-open-bg: var(--surface-base);
  --site-header-brand-color: var(--text-primary);
  --site-header-language-switcher-bg: color-mix(in srgb, var(--btn-bg-color) 92%, transparent);
  --site-header-language-switcher-border: 1px solid var(--surface-border-subtle);
  --site-header-language-switcher-shadow: inset 0 1px 0 color-mix(in srgb, var(--text-primary) 8%, transparent);
  --site-header-language-button-color: var(--text-secondary);
  --site-header-language-button-color-active: var(--emphasis-action-nav-accent-color);
  --site-header-language-indicator-bg: var(--emphasis-action-nav-accent-bg);
  --site-header-layer-bg: var(--header-glass-bg);
  --site-header-mobile-panel-clearance: calc(var(--quick-bar-safe-reserve) + 8px);
  --site-header-search-results-clearance: calc(var(--quick-bar-safe-reserve) + 26px);
  position: fixed;
  inset: 0 0 auto;
  z-index: var(--z-header);
  isolation: isolate;
  pointer-events: none;
  overflow: visible;
  background: var(--site-header-layer-bg);
  transition: transform 140ms ease;
}

.site-header[data-open="true"] {
  --site-header-layer-bg: var(--site-header-surface-open-bg);
}

body.is-header-collapsed .site-header:not([data-open="true"]) {
  transform: translateY(calc(-1 * var(--header-height)));
}

html[data-virtual-keyboard-open="true"] .site-header {
  --site-header-mobile-panel-clearance: max(8px, calc(var(--viewport-keyboard-inset, 0px) + 8px));
  --site-header-search-results-clearance: calc(var(--site-header-mobile-panel-clearance) + 10px);
}

.site-header__inner {
  position: relative;
  z-index: 2;
  width: min(100%, var(--header-inner-max-width));
  max-width: var(--header-inner-max-width);
  box-sizing: border-box;
  margin: 0 auto;
  min-height: var(--header-height);
  height: var(--header-height);
  padding: 0 clamp(12px, 2.2vw, 24px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--site-header-inner-gap);
  pointer-events: auto;
}

.site-header__brand {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 12px;
  color: var(--site-header-brand-color);
  text-decoration: none;
  flex: 0 0 auto;
}

.site-header__logo {
  --site-header-logo-height: 100%;
  display: inline-flex;
  align-items: center;
  height: 70%;
}

.site-header__logo-mark {
  height: var(--site-header-logo-height);
  background-color: currentColor;
  -webkit-mask: var(--header-logo-url) center / contain no-repeat;
  mask: var(--header-logo-url) center / contain no-repeat;
}

.site-header__logo-mark--full {
  width: calc(var(--header-height) * 1.55);
}

.site-header__logo-mark--mini {
  width: calc(var(--header-height) * 0.62);
  display: none;
}

.site-header__nav {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  max-width: min(100%, var(--header-nav-max-width));
  min-width: 0;
  height: 100%;
  gap: var(--site-header-nav-gap);
  margin: 0 auto;
}

.site-header__actions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: var(--header-actions-max-width);
  gap: var(--site-header-actions-gap);
  margin-right: var(--site-header-actions-offset-inline-end);
  height: 100%;
}

.site-header__trigger {
  min-height: var(--header-control-size);
  margin: 0;
  border-radius: var(--header-control-radius);
  line-height: var(--type-button-line);
}

.site-header__trigger.app-button {
  --app-button-height: var(--header-control-size);
  --app-button-padding-x: var(--control-padding-x-wide);
  --app-button-radius: var(--header-control-radius);
}

.site-header__trigger:not(.site-header__trigger--icon) {
  flex: 0 1 auto;
  max-width: var(--header-nav-link-max-width);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.site-header__trigger--icon {
  --button-icon-box-size: var(--header-control-size);
  --button-icon-size: 18px;
}

.site-header__icon {
  width: 20px;
  height: 20px;
  display: block;
  color: inherit;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.site-header__icon--search {
  -webkit-mask-image: url('../../assets/icons/search.svg');
  mask-image: url('../../assets/icons/search.svg');
}

.site-header__icon--account {
  -webkit-mask-image: url('../../assets/icons/user.svg');
  mask-image: url('../../assets/icons/user.svg');
}

.site-header__icon--menu {
  -webkit-mask-image: url('../../assets/icons/menu-burger.svg');
  mask-image: url('../../assets/icons/menu-burger.svg');
}

.site-header__icon--stats {
  -webkit-mask-image: url('../../assets/icons/stats.svg');
  mask-image: url('../../assets/icons/stats.svg');
}

.site-header__game-progress {
  flex: 1 1 auto;
  min-width: var(--site-header-game-progress-min-width);
  max-width: min(100%, var(--site-header-game-progress-max-width));
  min-height: var(--site-header-game-progress-height);
  padding: var(--site-header-game-progress-padding);
  border-radius: var(--site-header-game-progress-radius);
  border: var(--site-header-game-progress-border);
  background: var(--site-header-game-progress-bg);
  color: var(--site-header-game-progress-color);
  text-align: left;
  display: grid;
  gap: var(--site-header-game-progress-gap);
  cursor: pointer;
  overflow: hidden;
}

.site-header__game-progress:focus-visible {
  outline: none;
  box-shadow: var(--state-focus-ring-shadow);
}

.site-header__game-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--site-header-game-progress-head-gap);
  min-width: 0;
}

.site-header__game-progress-label-wrap {
  display: inline-flex;
  align-items: center;
  gap: var(--control-gap-3xs);
  min-width: 0;
  color: var(--site-header-game-progress-label-color);
}

.site-header__game-progress-label {
  font-size: var(--site-header-game-progress-label-size);
  letter-spacing: var(--site-header-game-progress-label-track);
  text-transform: var(--site-header-game-progress-label-transform);
  line-height: var(--site-header-game-progress-label-line);
}

.site-header__game-progress-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--site-header-game-progress-value-size);
  font-weight: var(--site-header-game-progress-value-weight);
  line-height: var(--site-header-game-progress-value-line);
  color: var(--site-header-game-progress-value-color);
}

.site-header__game-progress-track {
  display: block;
  width: 100%;
  height: var(--site-header-game-progress-track-height);
  overflow: hidden;
  border-radius: var(--radius-pill);
  background: var(--site-header-game-progress-track-bg);
}

.site-header__game-progress-track > span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--site-header-game-progress-fill);
}

.site-header__surface {
  position: absolute;
  top: var(--site-header-bar-height);
  left: 0;
  right: 0;
  z-index: 1;
  display: none;
  pointer-events: none;
  overflow: hidden;
  border: 1px solid var(--theme-border-normal);
  border-top: 0;
  border-bottom-left-radius: var(--surface-radius);
  border-bottom-right-radius: var(--surface-radius);
  background: var(--theme-surface-subtle);
}

.site-header[data-open="true"] .site-header__surface {
  display: block;
}

.site-header[data-open="true"] .site-header__surface {
  pointer-events: auto;
}

.site-header__panel {
  display: none;
  width: min(100%, var(--header-inner-max-width));
  margin: 0 auto;
  padding: var(--site-header-panel-padding);
}

.site-header__surface[data-open-panel="menu"] .site-header__panel[data-header-panel="menu"],
.site-header__surface[data-open-panel="search"] .site-header__panel[data-header-panel="search"] {
  display: block;
}

.site-header__backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--z-header-backdrop);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--motion-duration-base) var(--motion-ease),
              visibility var(--motion-duration-base) var(--motion-ease);
}

.site-header__backdrop[data-open="true"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.site-menu,
#site-menu {
  --site-menu-columns-gap: var(--space-6) 36px;
  --site-menu-title-margin: var(--control-gap-tight) 0 var(--control-gap-loose);
  --site-menu-list-gap: var(--control-gap-wide);
  --site-menu-account-login-offset: var(--control-gap-2xs);
  --site-menu-link-gap: var(--control-gap-base);
  --site-menu-badge-padding: var(--space-1) var(--space-3);
  --site-menu-progress-margin: var(--space-1) 0 var(--control-gap-2xs);
  --site-menu-progress-padding: var(--control-gap-wide) var(--control-padding-x-base);
  --site-menu-progress-gap: var(--control-gap-base);
  --site-menu-title-color: var(--text-secondary);
  --site-menu-title-size: var(--type-control-size);
  --site-menu-title-track: 0.06em;
  --site-menu-title-transform: uppercase;
  --site-menu-link-border: var(--theme-border-normal);
  --site-menu-link-bg: var(--surface-muted);
  --site-menu-link-color: var(--text-primary);
  --site-menu-link-size: 17px;
  --site-menu-link-border-hover: var(--theme-border-strong);
  --site-menu-link-bg-hover: var(--surface-elevated);
  --site-menu-link-primary-bg:
    linear-gradient(135deg, var(--action-primary-bg), color-mix(in srgb, var(--action-primary-bg) 72%, #84aff8));
  --site-menu-link-primary-bg-hover:
    linear-gradient(135deg, var(--action-primary-bg-hover), color-mix(in srgb, var(--action-primary-bg-hover) 74%, #91bbff));
  --site-menu-link-primary-color: var(--action-primary-fg);
  --site-menu-link-primary-weight: var(--type-control-weight);
  --site-menu-badge-border: var(--emphasis-outline-card);
  --site-menu-badge-bg: var(--surface-base);
  --site-menu-badge-color: var(--text-secondary);
  --site-menu-badge-size: 10px;
  --site-menu-badge-track: var(--hierarchy-status-track);
  --site-menu-badge-transform: uppercase;
  --site-menu-badge-line-height: var(--type-control-line);
  --site-menu-progress-border: var(--emphasis-outline-card);
  --site-menu-progress-bg: var(--btn-bg-color);
  --site-menu-progress-bg-hover: var(--hover-btn-bg-color);
  --site-menu-progress-border-hover: var(--border-color);
  --site-menu-progress-label-color: var(--text-secondary);
  --site-menu-progress-label-size: var(--font-size-xs);
  --site-menu-progress-label-track: 0.04em;
  --site-menu-progress-label-transform: uppercase;
  --site-menu-progress-value-color: var(--text-primary);
  --site-menu-progress-value-size: var(--font-size-sm);
  --site-menu-progress-value-weight: var(--type-control-weight);
  --site-menu-progress-track-bg: var(--surface-base);
  --site-menu-progress-track-border: var(--emphasis-outline-surface-quiet);
  --site-menu-progress-fill: var(--emphasis-accent-brand);
  --site-menu-progress-meta-color: var(--text-secondary);
  --site-menu-progress-meta-size: var(--font-size-xs);
  --site-header-menu-link-size-mobile: var(--site-menu-link-size);
  margin: 0;
  width: 100%;
}

[data-site-menu-grid] {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--site-menu-columns-gap);
}

[data-site-menu-group] {
  padding: 0;
}

[data-site-menu-group][hidden] {
  display: none !important;
}

[data-site-menu-title] {
  display: block;
  width: 100%;
  margin: var(--site-menu-title-margin);
  padding: 0;
  border: 0;
  background: none;
  color: var(--site-menu-title-color);
  text-align: left;
  font: inherit;
  font-size: var(--site-menu-title-size);
  letter-spacing: var(--site-menu-title-track);
  text-transform: var(--site-menu-title-transform);
}

[data-site-menu-list] {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--site-menu-list-gap);
}

[data-site-menu-login] {
  margin-bottom: var(--site-menu-account-login-offset);
}

.site-menu .menu-button {
  --menu-button-padding: 0 12px;
  --menu-button-border: var(--site-menu-link-border);
  --menu-button-border-hover: var(--site-menu-link-border-hover);
  --menu-button-bg: var(--site-menu-link-bg);
  --menu-button-bg-hover: var(--site-menu-link-bg-hover);
  --menu-button-bg-active: var(--site-menu-link-bg-hover);
  --menu-button-color: var(--site-menu-link-color);
  --menu-button-color-hover: var(--site-menu-link-color);
  --menu-button-gap: var(--site-menu-link-gap);
  --menu-button-font-size: var(--site-menu-link-size);
  text-decoration: none;
}

.site-menu .menu-button[data-site-menu-primary] {
  --menu-button-justify: center;
  --menu-button-border: transparent;
  --menu-button-border-hover: transparent;
  --menu-button-bg: var(--site-menu-link-primary-bg);
  --menu-button-bg-hover: var(--site-menu-link-primary-bg-hover);
  --menu-button-bg-active: var(--site-menu-link-primary-bg-hover);
  --menu-button-color: var(--site-menu-link-primary-color);
  --menu-button-color-hover: var(--site-menu-link-primary-color);
  --menu-button-font-weight: var(--site-menu-link-primary-weight);
}

.site-menu .menu-button .text-summary {
  min-width: 0;
}

.site-menu .menu-button .badge {
  margin-left: auto;
  --badge-padding: var(--site-menu-badge-padding);
  --badge-border: var(--site-menu-badge-border);
  --badge-bg: var(--site-menu-badge-bg);
  --badge-color: var(--site-menu-badge-color);
  --badge-size: var(--site-menu-badge-size);
  --badge-track: var(--site-menu-badge-track);
  --badge-transform: var(--site-menu-badge-transform);
  --badge-line: var(--site-menu-badge-line-height);
}

[data-account-progress-link].item-card {
  --item-card-gap: var(--site-menu-progress-gap);
  --item-card-padding: var(--site-menu-progress-padding);
  --item-card-radius: var(--surface-radius);
  --item-card-bg: var(--theme-surface-base);
  --item-card-border: 1px solid var(--theme-border-normal);
  --item-card-hover-bg: color-mix(in srgb, var(--theme-surface-subtle) 72%, var(--theme-surface-base));
  --item-card-hover-border: 1px solid color-mix(in srgb, var(--theme-border-focus) 64%, var(--theme-border-normal));
  margin: var(--site-menu-progress-margin);
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

[data-account-progress-link] .layout-cluster {
  justify-content: space-between;
  align-items: center;
}

[data-account-progress-link] .text-meta {
  --text-meta-size: var(--site-menu-progress-label-size);
  --text-meta-color: var(--site-menu-progress-label-color);
  --text-meta-track: var(--site-menu-progress-label-track);
  --text-meta-text-transform: var(--site-menu-progress-label-transform);
}

[data-account-progress-link] .text-title {
  --text-title-size: var(--site-menu-progress-value-size);
  --text-title-weight: var(--site-menu-progress-value-weight);
  --text-title-color: var(--site-menu-progress-value-color);
}

[data-account-progress-link] .progress-bar {
  --progress-bar-bg: var(--site-menu-progress-track-bg);
  border: var(--site-menu-progress-track-border);
}

[data-account-progress-link] .progress-bar span {
  --progress-bar-fill: var(--site-menu-progress-fill);
}

[data-account-progress-link] .text-hint {
  --text-hint-size: var(--site-menu-progress-meta-size);
  --text-hint-color: var(--site-menu-progress-meta-color);
}

.site-header__panel[data-header-panel="search"] > .search-form {
  width: min(100%, 820px);
  max-width: 100%;
  margin: 0 auto;
  gap: var(--site-header-search-gap) 0;
}

.site-header .language-switcher {
  --segmented-control-width: clamp(204px, 28vw, 312px);
  --segmented-control-min-width: 140px;
  --segmented-control-height: 34px;
  --segmented-control-padding: var(--site-header-language-switcher-padding);
  --segmented-control-gap: 0;
  --segmented-control-bg: var(--site-header-language-switcher-bg);
  --segmented-control-border: var(--site-header-language-switcher-border);
  --segmented-control-shadow: var(--site-header-language-switcher-shadow);
  --segmented-control-option-padding: 0 10px;
  --segmented-control-option-size: var(--font-size-xs);
  --segmented-control-option-color: var(--site-header-language-button-color);
  --segmented-control-option-color-active: var(--site-header-language-button-color-active);
  --segmented-control-indicator-bg: var(--site-header-language-indicator-bg);
  --segmented-control-indicator-border: 1px solid var(--emphasis-action-nav-accent-border);
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.site-header .language-button {
  max-width: none;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.site-header .language-label-full {
  display: inline;
}

.site-header .language-label-short {
  display: none;
}

body:not(.search-page) .site-header .language-switcher {
  display: none !important;
}

.quick-bar.quick-bar--floating {
  position: fixed;
  left: 50%;
  bottom: max(var(--quick-bar-bottom-offset, 12px), env(safe-area-inset-bottom));
  display: flex;
  width: auto;
  max-width: calc(100% - 18px);
  transform: translateX(-50%);
  z-index: var(--z-quick-bar);
  opacity: 1;
}

html[data-header-open-panel]:not([data-header-open-panel="none"]) .quick-bar,
body.body--locked .quick-bar.quick-bar--floating,
html[data-virtual-keyboard-open="true"] .quick-bar.quick-bar--floating,
.quick-bar.quick-bar--floating[hidden],
.quick-bar.quick-bar--floating[aria-hidden="true"],
.quick-bar__shell[hidden],
.quick-bar__shell[aria-hidden="true"] {
  opacity: 0;
  pointer-events: none;
}

.quick-bar__shell {
  display: inline-flex;
  align-items: center;
  gap: var(--control-gap-3xs);
  width: auto;
  min-height: var(--quick-bar-height);
  margin-left: auto;
  padding: var(--quick-bar-shell-padding);
  border: 1px solid var(--theme-border-normal);
  border-radius: var(--radius-pill);
  background: var(--theme-surface-subtle);
  box-shadow: var(--shadow-none);
  flex-wrap: nowrap;
  white-space: nowrap;
}

.quick-bar__more {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: var(--control-gap-3xs);
}

.quick-bar__more-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + var(--control-gap-tight));
  min-width: 176px;
  max-width: min(280px, calc(100vw - 24px));
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--control-gap-base);
  padding: var(--control-gap-wide);
  border: 1px solid var(--theme-border-normal);
  border-radius: var(--control-radius);
  background: var(--theme-surface-base);
  box-shadow: var(--shadow-none);
  z-index: 1;
  opacity: 0;
  pointer-events: none;
}

.quick-bar__more-panel[data-open="true"] {
  opacity: 1;
  pointer-events: auto;
}

.quick-bar__more-panel[hidden],
.quick-bar .quick-bar__button[hidden] {
  display: none !important;
}

[data-quick-bar-title] {
  flex: 0 0 100%;
  margin: 0;
  color: var(--theme-text-muted);
  font-size: var(--type-label-size);
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.quick-bar .quick-bar__button {
  position: relative;
  --button-icon-box-size: var(--quick-bar-control-size);
  --button-icon-size: 18px;
  overflow: visible;
}

.quick-bar .quick-bar__button--with-label {
  width: auto;
  min-width: var(--quick-bar-control-size);
  height: var(--quick-bar-control-size);
  min-height: var(--quick-bar-control-size);
  aspect-ratio: auto;
  border-radius: var(--control-radius);
  padding: 0 var(--control-padding-x-tight);
  gap: var(--control-gap-3xs);
}

.quick-bar__button-label {
  display: none;
  font-size: var(--type-control-meta-size);
  line-height: 1;
  white-space: nowrap;
}

.quick-bar .quick-bar__button[aria-disabled="true"] {
  opacity: 0.62;
  border-color: var(--theme-border-quiet);
  background: var(--theme-action-secondary-bg);
  color: var(--theme-text-soft);
}

.quick-bar .quick-bar__button[data-sidebar-open][aria-expanded="true"],
.quick-bar .quick-bar__button[data-sidebar-toggle][aria-expanded="true"],
.quick-bar .quick-bar__button[data-action="open-search"][aria-pressed="true"],
.quick-bar .quick-bar__button[data-action="mobile-search"][aria-pressed="true"],
.quick-bar .quick-bar__more[data-open="true"] > .quick-bar__button {
  --button-chrome-bg-selected: var(--theme-state-selected-bg);
  --button-chrome-border-selected: var(--theme-state-selected-border);
  --button-chrome-color-selected: var(--theme-state-selected-color);
  --button-chrome-bg-hover: var(--theme-state-selected-bg-hover);
  --button-chrome-bg-active: var(--theme-state-selected-bg-hover);
  --button-chrome-border-hover: var(--theme-state-selected-border-hover);
  --button-chrome-color-hover: var(--theme-state-selected-color-hover);
}

.quick-bar .action-icon {
  --action-icon-size: 18px;
}

[data-quick-bar-glyph] {
  font-size: var(--type-control-size);
  line-height: 1;
}

.quick-bar__button-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1;
  border-radius: var(--radius-pill);
  border: 1px solid var(--theme-action-secondary-border-hover);
  background: var(--theme-surface-accent-soft);
  color: var(--theme-text-accent);
  font-size: 10px;
  line-height: 1;
  font-weight: var(--hierarchy-status-weight-strong);
  letter-spacing: 0.01em;
}

@media (min-width: 1080px) {
  .quick-bar__button--with-label .quick-bar__button-label {
    display: inline-flex;
    align-items: center;
  }
}

@media (min-width: 901px) {
  .site-header__surface {
    height: var(--site-header-surface-height, auto);
  }

  .site-header__nav {
    display: flex;
  }

  [data-site-menu-toggle] {
    pointer-events: none;
  }

  .site-menu.is-single-scope [data-site-menu-grid] {
    grid-template-columns: minmax(320px, 560px);
    justify-content: center;
  }
}

@media (max-width: 900px) {
  .site-header {
    --site-header-bar-height: 48px;
    --site-header-mobile-panel-clearance: calc(var(--quick-bar-safe-reserve) + 8px);
    --site-header-search-results-clearance: calc(var(--site-header-mobile-panel-clearance) + 10px);
  }

  .site-menu,
  #site-menu {
    --site-menu-columns-gap-mobile: var(--control-padding-x-wide);
    --site-menu-title-gap-mobile: var(--control-gap-base);
    --site-menu-title-padding-mobile: 0 var(--control-gap-2xs);
    --site-menu-list-offset-mobile: var(--control-gap-tight);
    --site-menu-link-padding-mobile: var(--control-gap-loose) var(--control-padding-x-wide);
  }

  .site-header__inner {
    min-height: 48px;
    height: 48px;
    padding: 0 10px;
  }

  .site-header__brand {
    min-height: 44px;
    padding: 0 10px;
  }

  .site-header__actions {
    margin-right: var(--control-gap-base);
  }

  .site-header__game-progress {
    min-width: 0;
    min-height: var(--site-header-game-progress-height-mobile);
    padding: var(--site-header-game-progress-padding-mobile);
  }

  .site-header__game-progress-value {
    font-size: var(--type-control-meta-size);
  }

  .site-header__trigger--icon {
    --button-icon-box-size: var(--header-control-size);
  }

  .site-header__surface {
    top: var(--site-header-bar-height);
    height: auto;
    max-height: calc(var(--visual-viewport-height, 100dvh) - var(--site-header-bar-height));
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
  }

  .site-header__panel {
    padding: var(--control-gap-wide) var(--control-padding-x-compact) max(16px, env(safe-area-inset-bottom));
  }

  .site-header .language-switcher {
    --segmented-control-width: 104px;
    --segmented-control-min-width: 104px;
    --segmented-control-height: 32px;
    --segmented-control-padding: var(--site-header-language-switcher-padding-mobile);
    --segmented-control-option-padding: 0 8px;
  }

  .site-header .language-label-full {
    display: none;
  }

  .site-header .language-label-short {
    display: inline;
    font-size: var(--font-size-xs);
    line-height: var(--type-control-line);
  }

  [data-site-menu-grid] {
    grid-template-columns: 1fr;
    gap: var(--site-menu-columns-gap-mobile);
  }

  [data-site-menu-title] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--site-menu-title-gap-mobile);
    min-height: 44px;
    margin: 0;
    padding: var(--site-menu-title-padding-mobile);
    font-size: var(--font-size-sm);
    letter-spacing: var(--hierarchy-status-track);
    cursor: pointer;
  }

  [data-site-menu-title]::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
  }

  [data-site-menu-group][data-open="true"] [data-site-menu-title]::after {
    transform: rotate(225deg);
  }

  [data-site-menu-list] {
    display: none;
  }

  [data-site-menu-group][data-open="true"] [data-site-menu-list] {
    display: grid;
    margin-top: var(--site-menu-list-offset-mobile);
  }

  .site-menu .menu-button {
    --menu-button-min-height: 44px;
    --menu-button-padding: var(--site-menu-link-padding-mobile);
    --menu-button-font-size: var(--site-header-menu-link-size-mobile);
  }
}

@media (max-width: 640px) {
  .site-header {
    --site-header-bar-height: 44px;
    --site-header-mobile-panel-clearance: calc(var(--quick-bar-safe-reserve) + 6px);
    --site-header-search-results-clearance: calc(var(--site-header-mobile-panel-clearance) + 8px);
    --search-bar-height: 46px;
    --search-action-size: 30px;
    --search-selector-width: 84px;
    --search-input-font-size: var(--site-header-search-input-font-size-mobile);
    --search-action-icon-size: 16px;
    --search-language-font-size: var(--site-header-search-language-font-size-mobile);
  }

  .site-header__inner {
    min-height: 44px;
    height: 44px;
    padding: 0 8px;
  }

  .site-header__icon {
    width: 18px;
    height: 18px;
  }

  .site-header__game-progress-head {
    justify-content: flex-start;
  }

  .site-header__game-progress-label {
    display: none;
  }

  .site-header__game-progress-value {
    flex: 1 1 auto;
  }

  .site-header__logo {
    height: 58%;
  }

  .site-header__logo-mark--full {
    display: none;
  }

  .site-header__logo-mark--mini {
    display: block;
  }

  .site-header .language-button {
    font-size: var(--site-header-language-button-size-mobile);
  }

  .site-header .language-switcher {
    --segmented-control-width: 90px;
    --segmented-control-min-width: 90px;
    --segmented-control-height: 30px;
    --segmented-control-padding: var(--site-header-language-switcher-padding-mobile);
    --segmented-control-option-padding: 0 6px;
  }

  .site-header__panel {
    padding: var(--control-gap-wide) var(--control-padding-x-mobile) max(16px, env(safe-area-inset-bottom));
  }

  .quick-bar.quick-bar--floating {
    width: auto;
    right: auto;
    left: 50%;
    --quick-bar-bottom-offset: 8px;
    bottom: max(var(--quick-bar-bottom-offset, 8px), env(safe-area-inset-bottom));
    transform: translate3d(-50%, 0, 0);
  }

  .quick-bar__shell {
    width: auto;
    justify-content: center;
    margin: 0;
  }

}
