html { background: #091a14; color-scheme: dark light; }
body { margin: 0; overscroll-behavior-y: none; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 2px solid #bcefd1; outline-offset: 4px; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
.grove-update { position: fixed; z-index: 2147483646; inset: auto 24px 24px auto; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; max-width: min(580px, calc(100vw - 48px)); padding: 20px; border: 1px solid #426751; border-radius: 22px; background: #142c21; color: #d9f2e6; box-shadow: 0 12px 40px #0005; font: 14px/1.5 system-ui, sans-serif; }
.grove-update-copy { flex: 1 1 260px; display: flex; flex-direction: column; gap: 4px; }
.grove-update-copy span { color: #a5bcae; }
.grove-update button { min-height: 48px; padding: 10px 16px; border: 1px solid #56715e; border-radius: 999px; background: transparent; color: #d9f2e6; cursor: pointer; }
.grove-update button[data-reload] { border: 0; color: #0b3d2e; background: linear-gradient(120deg, #8faf8c, #d9f2e6); font-weight: 650; }
.grove-update button:disabled { opacity: .6; cursor: wait; }
@media (max-width: 600px) { .grove-update { inset: auto 12px calc(92px + env(safe-area-inset-bottom)) 12px; max-width: none; padding: 16px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
