.nav-updates-button { color:var(--ink); font-weight:700; border:1px solid var(--line); }
.update-announcement-dialog {
  width:min(900px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 40px);
  padding:0; border:1px solid var(--ink); border-radius:0; background:var(--surface); color:var(--ink);
  box-sizing:border-box; overflow:hidden;
}
.update-announcement-dialog::backdrop { background:rgba(16,47,38,.58); }
.update-announcement-layout { display:flex; flex-direction:column; max-height:calc(100dvh - 42px); }
.update-announcement-header {
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-shrink:0;
  padding:22px 28px; margin:0; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; background:var(--paper);
}
.update-announcement-header time { font-size:13px; color:var(--muted); }
.update-announcement-header h2 { margin:5px 0 0; font-size:24px; line-height:1.4; }
.update-announcement-header button { min-height:44px; flex-shrink:0; }
.update-announcement-body { padding:8px 28px 28px; overflow:auto; min-height:0; overscroll-behavior:contain; line-height:1.85; font-size:16px; overflow-wrap:anywhere; }
.update-announcement-body:focus-visible { outline:2px solid var(--ink); outline-offset:-5px; }
.update-announcement-body p { margin:14px 0; }
.update-announcement-intro { font-size:17px; }
.update-announcement-body section { padding:14px 0 8px; border-top:1px solid var(--line); }
.update-announcement-body h3 { font-size:19px; line-height:1.5; margin:0 0 8px; }
.update-announcement-body ul { padding-left:1.4em; margin:10px 0; }
.update-announcement-body li { margin:6px 0; }
.update-announcement-link { border-top:1px solid var(--line); padding-top:18px; }
.update-announcement-link a { color:var(--ink); text-underline-offset:3px; }
@media (max-width:600px) {
  .nav-updates-button { font-size:12px; padding:6px; min-height:44px; }
  .update-announcement-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .update-announcement-layout { max-height:calc(100dvh - 26px); }
  .update-announcement-header { padding:16px; gap:10px; }
  .update-announcement-header h2 { font-size:19px; }
  .update-announcement-header time { font-size:12px; }
  .update-announcement-body { padding:8px 18px 22px; font-size:15px; }
  .update-announcement-intro { font-size:16px; }
  .update-announcement-body h3 { font-size:17px; }
}
@media print {
  .update-announcement-dialog[open] { position:static; width:100%; max-height:none; border:0; }
  .update-announcement-layout,.update-announcement-body { max-height:none; overflow:visible; }
  .update-announcement-header button { display:none; }
}
@media (max-width:360px) {
  .global-nav { padding-left:12px; padding-right:12px; gap:6px; }
  .nav-actions { gap:4px; }
}
