:root { color-scheme: dark; background: #0a0d11; }
html, body { margin: 0; height: 100%; background: #0a0d11; color: #edf1f6; }
body { overscroll-behavior-y: none; -webkit-tap-highlight-color: transparent; }
#root { min-height: 100dvh; box-sizing: border-box; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); padding-bottom: env(safe-area-inset-bottom); }
body.pb-public-landing #root { padding-top: env(safe-area-inset-top); }
input, textarea { font-size: 16px !important; min-height: 44px; }
input[type="datetime-local"], input[type="date"], input[type="time"] { color-scheme: dark; min-height: 44px; max-width: 100%; box-sizing: border-box; }
button, [role="button"], [role="checkbox"] { touch-action: manipulation; }
button:focus-visible, [role="button"]:focus-visible, input:focus-visible { outline: 2px solid #52ca94; outline-offset: 3px; }
#pb-launch { position: fixed; inset: 0; z-index: 9999; background: #0a0d11; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; font-family: system-ui, sans-serif; }
#pb-launch img { height: 112px; width: 112px; }
#pb-launch strong { font-size: 22px; }
#pb-launch span { font-size: 13px; color: #92a0ae; }
#pb-launch button { color: #0a0d11; background: #52ca94; border: 0; border-radius: 10px; padding: 14px 24px; }
.pb-pwa-actions { position: fixed; top: max(10px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); z-index: 1000; display: flex; gap: 6px; font: 12px system-ui, sans-serif; }
body.pb-public-landing .pb-pwa-actions { top: calc(env(safe-area-inset-top) + 72px); }
.pb-pwa-actions button { min-height: 44px; padding: 8px 12px; border-radius: 10px; border: 1px solid #314037; background: #14201b; color: #78deb0; cursor: pointer; font: inherit; }
.pb-pwa-actions button[hidden], #pb-retry[hidden] { display: none; }
#pb-offline { position: fixed; top: max(10px, env(safe-area-inset-top)); left: 12px; z-index: 1001; padding: 6px 10px; background: #292416; color: #edca77; border-radius: 8px; font: 11px system-ui, sans-serif; }
.pb-install-backdrop { position: fixed; inset: 0; z-index: 1100; padding: 20px; display: grid; place-items: center; background: #000b; }
.pb-install-dialog { width: min(100%, 420px); box-sizing: border-box; padding: 24px; border: 1px solid #293139; background: #12181e; border-radius: 20px; font: 14px/1.6 system-ui, sans-serif; color: #dbe4ec; }
.pb-install-dialog h2 { font-size: 20px; margin-top: 0; }
.pb-install-dialog ol { padding-left: 21px; }
.pb-install-dialog p { color: #a5b1be; }
.pb-install-dialog button { width: 100%; min-height: 48px; border: 0; border-radius: 10px; background: #52ca94; color: #0a0d11; font-weight: 700; cursor: pointer; }
@media (display-mode: standalone) { .pb-install-button { display: none; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
