.progress-notice {
  position: fixed;
  top: calc(var(--header-height) + var(--safe-top) + 12px);
  right: max(12px, env(safe-area-inset-right, 0px));
  width: min(340px, calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid var(--border-color);
  border-radius: 16px;
  background: var(--card-bg);
  color: var(--text-color);
  box-shadow: 0 6px 24px var(--shadow-color);
  z-index: var(--z-toast);
  font-size: 14px;
}
.progress-notice[hidden] { display: none; }
.progress-notice[data-state="exiting"] { pointer-events: none; }
@media (max-width: 600px) {
  .progress-notice {
    left: calc((100vw + env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) / 2);
    right: auto;
    transform: translateX(-50%);
    width: 94%;
    max-width: calc(100vw - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
  }
}
.progress-notice-border { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.progress-notice-border path { fill: none; stroke: var(--icon-accent-color); stroke-width: 2; stroke-linecap: round; }
.progress-notice-message { display: grid; gap: 6px; padding-right: 36px; overflow-wrap: anywhere; }
.progress-notice-message span { color: var(--sub-text-color); font-size: 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.progress-notice-close { position: absolute; right: 6px; top: 5px; width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: transparent; color: var(--icon-muted-color); border-radius: 10px; cursor: pointer; }
.progress-notice-bottom { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.progress-notice-actions { display: flex; flex-wrap: wrap; gap: 8px; flex: 1; }
.progress-notice-actions button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--border-color); border-radius: 10px; background: var(--bg-color); color: var(--text-color); cursor: pointer; font: inherit; }
.progress-notice-actions button:first-child { border-color: var(--icon-accent-color); color: var(--icon-accent-color); }
.progress-notice-counter { flex: none; font-size: 12px; color: var(--sub-text-color); font-variant-numeric: tabular-nums; }
.progress-notice button:focus-visible { outline: 2px solid var(--icon-accent-color); outline-offset: 2px; }
#content-status[role="status"] { background: var(--card-bg); border-color: var(--border-color); color: var(--text-color); }
