body { display: flex; justify-content: center; background: #05070A; min-height: 100vh; position: relative; } body::before { content: ''; position: fixed; top: 50%; left: 50%; width: 100vw; height: 100vh; background: radial-gradient(circle at center, rgba(88, 50, 168, 0.15) 0%, rgba(212, 175, 55, 0.1) 40%, transparent 70%); transform: translate(-50%, -50%); z-index: -1; filter: blur(100px); pointer-events: none; } .app-shell { width: min(100vw, 430px); height: 100dvh; position: relative; background: transparent; border-left: 1px solid rgba(211, 170, 86, 0.2); border-right: 1px solid rgba(211, 170, 86, 0.2); box-shadow: var(--shadow); overflow: hidden; } .screen-content, .toolbar-slot, .connection-retry-banner { z-index: 1; } .screen-content { position: absolute; top: 0; left: 0; right: 0; bottom: 74px; overflow-y: auto; padding: 14px 14px 24px; } .screen-content.no-app-chrome { bottom: 0; padding-bottom: calc(24px + env(safe-area-inset-bottom)); } .screen-content.network-scroll-lock { overflow: hidden; padding: 0; } .toolbar-slot { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: linear-gradient(180deg, rgba(7, 12, 23, 0) 0%, rgba(6, 11, 22, 0.96) 44%); } .connection-retry-banner { position: absolute; left: 12px; right: 12px; bottom: calc(96px + env(safe-area-inset-bottom)); z-index: 5; border-radius: 11px; border: 1px solid rgba(133, 156, 201, 0.3); background: rgba(10, 19, 37, 0.86); color: #c6d6f7; font-size: 12px; line-height: 1.2; text-align: center; padding: 7px 10px; pointer-events: auto; cursor: pointer; backdrop-filter: blur(10px); } .connection-retry-banner.is-connected { border-color: rgba(124, 235, 171, 0.4); color: #d8ffe9; } .connection-retry-banner.is-connecting { border-color: rgba(238, 196, 107, 0.42); color: #ffe8bb; } .connection-retry-banner.is-disconnected { border-color: rgba(228, 127, 145, 0.44); color: #ffdce3; } .connection-retry-banner.is-updating { border-color: rgba(144, 201, 255, 0.44); color: #d9eeff; } @media (min-width: 900px) { .app-shell { margin: 16px 0; height: calc(100dvh - 32px); border-radius: 24px; } }