.bottom-tab-icon { position: relative; }
.has-app-update { position: relative; }
.app-update-dot { display: block; width: 8px; height: 8px; border-radius: 50%; background: #e34b59; box-shadow: 0 0 0 2px var(--panel); position: absolute; top: -2px; right: -6px; }
[data-app-update] > .app-update-dot { right: 18px; top: calc(50% - 4px); }
.app-update-notice { position: fixed; top: max(12px, env(safe-area-inset-top)); right: 16px; z-index: 1200; max-width: min(460px, calc(100vw - 32px)); display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); color: var(--ink); box-shadow: var(--shadow); }
.app-update-notice strong, .app-update-notice span { display: block; font-size: 13px; }
.app-update-notice span { color: var(--muted); margin-top: 5px; }
.app-update-notice button, .app-update-dialog button { border: 0; padding: 10px 12px; border-radius: 10px; background: var(--accent-soft); color: var(--accent-strong); cursor: pointer; font: inherit; }
.app-update-notice .app-update-dismiss { background: transparent; padding: 6px; font-size: 24px; }
.app-update-dialog { max-width: min(460px, calc(100vw - 32px)); padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); color: var(--ink); }
.app-update-dialog::backdrop { background: #0c203d66; }
.app-update-dialog h2 { font-size: 20px; margin-top: 0; }
.app-update-dialog p { line-height: 1.5; font-size: 14px; }
.app-update-dialog > div { display: flex; gap: 8px; flex-wrap: wrap; }
.app-update-dialog [hidden] { display: none; }
.bug-report-dialog { width: min(620px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; }
.bug-report-dialog label { display: grid; gap: 8px; margin: 14px 0; font-weight: 600; }
.bug-report-dialog textarea { box-sizing: border-box; width: 100%; resize: vertical; padding: 10px; border: 1px solid var(--line, #ccd7df); border-radius: 10px; background: var(--surface, #fff); color: inherit; font: inherit; }
.bug-report-dialog [data-report-preview] { font: 13px/1.5 ui-monospace, monospace; }
.bug-report-dialog section[hidden] { display: none; }
.beta-channel-label { padding: 7px 16px; color: #694100; background: #fff0bd; font-size: 12px; font-weight: 700; text-align: center; }
