/* Separate public stylesheet: the original Portal intentionally disables /assets/ shell CSS. */
.rise-pwa-status, .rise-pwa-dialog { font: 14px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--fg, #f2f3ef); background: var(--panel, #1a1d1b); border: 1px solid var(--line, #424943); }
.rise-pwa-notice-space { padding: 12px max(12px, env(safe-area-inset-right, 0px)) 12px max(12px, env(safe-area-inset-left, 0px)); }
/* The notice precedes routed content in normal flow, below the Portal's fixed strip. */
body:has(.app-shell) .rise-pwa-notice-space { padding-top: calc(41px + env(safe-area-inset-top, 0px)); }
@media (min-width: 901px) { body:has(.app-shell) .rise-pwa-notice-space { padding-left: max(250px, env(safe-area-inset-left, 0px)); } }
.rise-pwa-status { box-sizing: border-box; position: relative; width: 100%; max-width: 550px; margin: 0 auto; padding: 10px 14px; border-radius: 10px; }
.rise-pwa-status p, .rise-pwa-dialog p { margin: 0; }
.rise-pwa-status > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.rise-pwa-status button, .rise-pwa-dialog button { min-height: 44px; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--line, #536156); color: inherit; background: transparent; font: inherit; cursor: pointer; }
.rise-pwa-status button:focus-visible, .rise-pwa-dialog button:focus-visible { outline: 3px solid var(--accent, #78ed91); outline-offset: 2px; }
.rise-pwa-dialog button:disabled { cursor: wait; opacity: .65; }
.rise-pwa-dialog { padding: 0; margin: auto; width: min(560px, calc(100% - 24px)); max-height: calc(var(--portal-visible-height, 100dvh) - 32px); overflow: auto; border-radius: 16px; }
.rise-pwa-dialog::backdrop { background: #0009; }
.rise-pwa-dialog-body { padding: 22px; }
.rise-pwa-dialog-heading { display: flex; align-items: start; gap: 16px; justify-content: space-between; margin-bottom: 16px; }
.rise-pwa-dialog h2 { font-size: 20px; line-height: 1.4; margin: 0; }
.rise-pwa-dialog-heading button { min-width: 44px; font-size: 24px; padding: 0; }
.rise-pwa-dialog dl { margin: 20px 0 0; }
.rise-pwa-dialog dt { font-weight: 700; margin-top: 16px; }
.rise-pwa-dialog dd { margin: 4px 0 0; }
.rise-pwa-dialog .rise-pwa-primary { background: var(--accent, #78ed91); color: var(--accent-fg, #11341a); border-color: transparent; }
.rise-pwa-dialog p + button, .rise-pwa-dialog [role="status"] { margin-top: 16px; }
.rise-pwa-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
