/* Ember is the reference layout. Both themes use these exact header dimensions;
   theme stylesheets remain responsible only for color and decoration. */
html[data-site-theme] .topbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 376px !important;
  grid-template-rows: 54px 64px !important;
  align-items: center !important;
  justify-content: initial !important;
  gap: 0 24px !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 14px 20px 16px !important;
  border-width: 1px !important;
  height: 152px !important;
  min-height: 152px !important;
  box-sizing: border-box !important;
}
html[data-site-theme] .header-primary {
  grid-column: 1 !important; grid-row: 1 !important;
  display: flex !important; align-items: center !important;
  justify-content: flex-start !important; gap: 46px !important;
  height: 54px !important; min-width: 0 !important;
}
html[data-site-theme] .header-primary-links {
  display: flex !important; flex: 0 0 460px !important;
  width: 460px !important; min-width: 460px !important; height: 46px !important;
  gap: 0 !important; flex-wrap: nowrap !important; box-sizing: border-box !important;
}
html[data-site-theme] .header-primary-links .nav-link {
  flex: 0 0 auto !important; height: 38px !important; min-height: 38px !important;
  box-sizing: border-box !important; white-space: nowrap !important;
  font-size: 13px !important; line-height: 20px !important;
}
html[data-site-theme] .header-primary-links .nav-link[data-page-link="home"] { width: 97px !important; }
html[data-site-theme] .header-primary-links .nav-link[data-page-link="random-crosshair"] { width: 184px !important; }
html[data-site-theme] .header-primary-links .nav-link[data-page-link="crosshairs"] { width: 171px !important; }
html[data-site-theme] .header-utility {
  grid-column: 2 !important; grid-row: 1 !important;
  display: flex !important; flex: 0 0 376px !important;
  width: 376px !important; min-width: 376px !important; height: 54px !important;
  align-items: center !important; justify-content: flex-end !important;
  flex-wrap: nowrap !important; gap: 12px !important; box-sizing: border-box !important;
}
html[data-site-theme] .header-utility .account-open-button {
  flex: 0 0 64px !important; width: 64px !important; min-width: 64px !important;
  height: 42px !important; box-sizing: border-box !important; white-space: nowrap !important;
}
html[data-site-theme] .header-utility .language-control {
  flex: 0 0 182px !important; width: 182px !important; min-width: 182px !important;
  height: 42px !important; box-sizing: border-box !important;
}
html[data-site-theme] .header-utility .theme-switch {
  flex: 0 0 106px !important; width: 106px !important; min-width: 106px !important;
  height: 42px !important; margin-inline-start: 0 !important; box-sizing: border-box !important;
}
/* Four theme options fit the existing HUD slot without shifting adjacent controls. */
html[data-site-theme] .header-utility .theme-switch { gap: 4px !important; padding-inline-start: 7px !important; }
html[data-site-theme] .header-utility .theme-swatch { width: 20px !important; height: 20px !important; flex: 0 0 20px !important; }
html[data-site-theme] .header-exercises {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  display: flex !important; align-items: center !important; flex-wrap: nowrap !important;
  gap: 10px !important; height: 64px !important; padding-top: 9px !important;
  box-sizing: border-box !important;
}
html[data-site-theme] .header-exercises .nav-link[data-page-link] {
  flex: 0 0 auto !important; height: 54px !important; min-height: 54px !important;
  padding: 13px 19px !important; box-sizing: border-box !important;
  white-space: nowrap !important; font-size: 14px !important; line-height: 20px !important;
}
html[data-site-theme] .header-exercises .nav-link[data-page-link="warmup"] { width: 138px !important; }
html[data-site-theme] .header-exercises .nav-link[data-page-link="practice"] { width: 128px !important; }
html[data-site-theme] .header-exercises .nav-link[data-page-link="flashes"] { width: 170px !important; }
html[data-site-theme] .header-exercises .nav-link[data-page-link="reaction"] { width: 205px !important; }
html[data-site-theme] .header-exercises .nav-link[data-page-link="reaction-drills"] { width: 218px !important; }
html[data-site-theme] .header-exercises .nav-link[data-page-link="setup"] { width: 124px !important; margin-inline-start: auto !important; }

@media (max-width: 1050px) {
  html[data-site-theme] .topbar { grid-template-columns: minmax(0,1fr) !important; grid-template-rows: auto auto auto !important; gap: 12px !important; margin: 12px 0 0 !important; padding: 12px 14px !important; height: auto !important; min-height: 0 !important; }
  html[data-site-theme] .header-primary { grid-column: 1 !important; grid-row: 1 !important; justify-content: space-between !important; gap: 18px !important; }
  html[data-site-theme] .header-primary-links { flex: 0 1 auto !important; width: auto !important; min-width: 0 !important; }
  html[data-site-theme] .header-utility { grid-column: 1 !important; grid-row: 2 !important; flex: 0 1 auto !important; width: auto !important; min-width: 0 !important; }
html[data-site-theme] .header-exercises { grid-column: 1 !important; grid-row: 3 !important; height: auto !important; flex-wrap: wrap !important; }
}
@media (max-width: 620px) {
  html[data-site-theme] .topbar { padding: 12px !important; }
  html[data-site-theme] .header-primary { height: auto !important; flex-wrap: wrap !important; }
  html[data-site-theme] .header-primary-links { flex: 1 1 100% !important; width: 100% !important; }
  html[data-site-theme] .header-primary-links .nav-link[data-page-link] { width: auto !important; }
  html[data-site-theme] .header-utility { justify-content: flex-start !important; }
  html[data-site-theme] .header-utility .account-open-button { flex-basis: auto !important; width: auto !important; }
  html[data-site-theme] .header-utility .language-control { flex-basis: auto !important; width: auto !important; min-width: 150px !important; }
  html[data-site-theme] .header-utility .theme-switch { flex-basis: auto !important; width: auto !important; }
  html[data-site-theme] .header-exercises .nav-link[data-page-link] { width: auto !important; height: 46px !important; min-height: 46px !important; padding: 10px 11px !important; font-size: 11px !important; }
  html[data-site-theme] .header-exercises .nav-link[data-page-link="setup"] { margin-inline-start: 0 !important; }
}

