.nc-update-notice {
  position: fixed;
  z-index: 10000;
  top: max(16px, env(safe-area-inset-top));
  left: 50%;
  transform: translateX(-50%);
  width: min(380px, calc(100% - 32px));
  padding: 20px;
  border: 1px solid var(--line, #cbd9c7);
  border-radius: 20px;
  background: var(--white, #fff);
  color: var(--ink, #1a2b1e);
  box-shadow: 0 12px 40px #12372333;
  font-family: var(--font-app, system-ui, sans-serif);
}
.nc-update-notice[hidden] { display: none; }
.nc-update-notice h2 { margin: 0 0 8px; font-size: 20px; line-height: 1.3; }
.nc-update-notice p { margin: 0 0 16px; font-size: 14px; line-height: 1.5; }
.nc-update-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.nc-update-actions button {
  flex: 1 1 110px;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--deep, #1e4b31);
  border-radius: 12px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.nc-update-apply { background: var(--deep, #1e4b31); color: var(--white, #fff); }
.nc-update-later { background: transparent; color: var(--ink, #1a2b1e); }
.nc-update-actions button:focus-visible { outline: 3px solid var(--leaf, #4e9e3a); outline-offset: 3px; }
.nc-update-actions button:disabled { opacity: .6; cursor: wait; }
html[data-theme='dark'] .nc-update-notice { background: #1b241d; }
html[data-theme='dark'] .nc-update-apply { background: #a2f887; color: #173d2c; }

/* Explicit checks confirm the current release briefly at the top. */
.nc-update-current {
  position: fixed;
  z-index: 10001;
  top: calc(max(16px, env(safe-area-inset-top, 0px)) + var(--nc-connection-height, 0px));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  width: min(380px, calc(100% - 28px));
  padding: 8px 8px 8px 14px;
  border: 1px solid var(--nc-outline-variant, #e4ece0);
  border-radius: 16px;
  background: var(--nc-surface, #f9faf5);
  color: var(--nc-text, #1a2b1e);
  box-shadow: var(--nc-shadow-overlay, 0 8px 24px #12372322);
  font-family: var(--font-app, system-ui, sans-serif);
}
.nc-update-current[hidden] { display: none; }
.nc-update-current-icon { display: flex; flex: 0 0 24px; color: var(--nc-primary, #1e4b31); }
.nc-update-current-icon svg { width: 24px; height: 24px; }
.nc-update-current-copy { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.5; font-weight: 700; }
.nc-update-current button { display: grid; place-items: center; flex: 0 0 44px; min-height: 44px; padding: 10px; border: 0; border-radius: 10px; background: transparent; color: var(--nc-text-muted, #5f7462); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.nc-update-current button svg { width: 18px; height: 18px; }
.nc-update-current button:focus-visible { outline: 3px solid var(--nc-primary, #1e4b31); outline-offset: 1px; }
