.privacy-banner { --privacy-bottom: max(12px, env(safe-area-inset-bottom)); position: fixed; z-index: 10000; inset: auto 12px var(--privacy-bottom); max-width: 440px; margin-inline: auto; padding: 16px; box-sizing: border-box; border: 1px solid #94a3b8; border-radius: 16px; background: #fff; color: #172033; box-shadow: 0 6px 24px #0003; font: 14px/1.45 system-ui, sans-serif; max-height: calc(100dvh - var(--privacy-bottom) - env(safe-area-inset-top, 0px) - 16px); display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; }
.privacy-banner p { margin: 8px 0; color: inherit; }
.privacy-banner-copy { overflow: auto; overscroll-behavior: contain; }
.privacy-banner [data-error]:empty { display: none; }
.privacy-banner a { color: #1759c2; text-decoration: underline; }
.privacy-banner > div { display: flex; gap: 10px; }
.privacy-banner button { flex: 1; min-height: 44px; border: 1px solid #64748b; border-radius: 9px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.privacy-banner button:disabled { opacity: .45; cursor: not-allowed; }
.privacy-banner :focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
@media (prefers-color-scheme: dark) { .privacy-banner { background: #172033; color: #f5f7fa; } .privacy-banner a { color: #9ac1ff; } }
[data-theme="dark"] .privacy-banner { background: #172033; color: #f5f7fa; }
[data-theme="dark"] .privacy-banner a { color: #9ac1ff; }
[data-theme="light"] .privacy-banner { background: #fff; color: #172033; }
[data-theme="light"] .privacy-banner a { color: #1759c2; }
[data-privacy-settings] { background: transparent; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }

/* The native dock is outside the WebView, so z-index cannot lift buttons over it.
   The tabbed layout exists in both shells even when the web dock is absent. */
@media (max-width: 767px) {
  body:has(.app-main .viewport) .privacy-banner { --privacy-bottom: calc(var(--tabbar-h, 72px) + 12px); }
}

.privacy-page { max-width: 760px; padding-block: 24px 40px; overflow-wrap: anywhere; }
.privacy-page h1 { font-size: clamp(26px, 5vw, 40px); line-height: 1.2; }
.privacy-page h2 { font-size: clamp(20px, 4vw, 24px); line-height: 1.25; }
.privacy-page p, .privacy-page li { font-size: 16px; }
.privacy-page section { margin-bottom: 28px; }
