.app[data-screen="home"] { grid-template-rows: 48px minmax(0, 1fr) minmax(27px, auto); }
#footnote { flex-shrink: 0; }
#update-status { color: #a6c9cd; text-align: right; }
footer .footer-actions { flex-wrap: wrap; justify-content: flex-end; column-gap: 8px; row-gap: 1px; }
#update { white-space: nowrap; }
#update:disabled { opacity: .60; cursor: default; }
.site-version { flex-shrink: 0; color: #c7dddf; font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
#required-update {
  box-sizing: border-box;
  width: min(352px, calc(100vw - var(--safe-left) - var(--safe-right) - 28px));
  max-height: calc(100svh - var(--safe-top) - var(--safe-bottom) - 28px);
  padding: clamp(16px, 5vw, 22px);
  border: 1px solid #567581;
  border-block-start: 3px solid #f0c479;
  border-radius: 10px 10px 16px 10px;
  background: linear-gradient(145deg, #19394a, #0d1f2d 75%);
  color: #fff3df;
  box-shadow: 0 16px 48px #04101bc9;
  font-family: var(--volley-ui, system-ui, sans-serif);
}
#required-update:focus { outline: none; }
#required-update::backdrop { background: #05121dc9; }
#required-update h2 { margin: 0 0 8px; font-size: var(--type-heading, 21px); line-height: 1.25; }
#required-update p { margin: 0; font-size: var(--type-body, 14px); line-height: 1.55; color: #c7dddf; }
#required-update .update-track {
  height: 4px;
  margin-top: 15px;
  overflow: hidden;
  border-radius: 5px;
  background: #0a1a26;
}
#required-update .update-track::before {
  content: "";
  display: block;
  width: 35%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #c7924b, #f9cf88);
}
#required-update:has(button:not([hidden])) .update-track { display: none; }
#required-update button:not([hidden]) {
  margin-top: 15px;
  min-height: 44px;
  padding: 8px 15px;
  border: 1px solid #f4ca86;
  border-radius: 6px 6px 9px 6px;
  background: #f2c875;
  color: #10222b;
  font-weight: 750;
}
@media (prefers-reduced-motion: no-preference) {
  #required-update[open] .update-track::before { animation: update-track-move 1.1s ease-in-out infinite alternate; }
  @keyframes update-track-move {
    from { transform: translateX(0); }
    to { transform: translateX(186%); }
  }
}
