body { display: flex; justify-content: center; } .app-shell { width: min(100vw, 430px); height: 100dvh; position: relative; background: radial-gradient(circle at 16% -8%, rgba(211, 168, 76, 0.16), transparent 38%), linear-gradient(165deg, rgba(10, 21, 44, 0.98), rgba(5, 11, 24, 0.99)); 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 { 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)); } .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-status-slot { position: absolute; left: 12px; right: 12px; bottom: calc(62px + 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: none; backdrop-filter: blur(10px); } .connection-status-slot.is-connected { border-color: rgba(124, 235, 171, 0.4); color: #d8ffe9; } .connection-status-slot.is-connecting { border-color: rgba(238, 196, 107, 0.42); color: #ffe8bb; } .connection-status-slot.is-disconnected { border-color: rgba(228, 127, 145, 0.44); color: #ffdce3; } .connection-status-slot.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; } }