:root { color-scheme: dark; --viewport-height: 100dvh; --viewport-top: 0px; --safe-top: env(safe-area-inset-top, 0px); --safe-bottom: env(safe-area-inset-bottom, 0px); }
html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; overscroll-behavior: none; background: #050a1c; color: #f6f7fc; font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
#app-root { position: absolute; top: calc(var(--viewport-top) + var(--safe-top)); left: env(safe-area-inset-left, 0px); right: env(safe-area-inset-right, 0px); height: max(0px, calc(var(--viewport-height) - var(--safe-top) - var(--safe-bottom))); overflow: hidden; }
#boot { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; background: #050a1c; z-index: 10; padding: 24px; text-align: center; }
#boot img { border-radius: 18px; }
#boot a { color: #99b2ff; font-size: 14px; }
button { font: inherit; color: #fff; background: #314ed1; border: 0; padding: 12px 20px; border-radius: 12px; touch-action: manipulation; }
[hidden] { display: none !important; }
.shell-button { position: fixed; right: max(12px, env(safe-area-inset-right)); top: calc(env(safe-area-inset-top) + 8px); z-index: 8; padding: 8px 12px; font-size: 12px; box-shadow: 0 2px 12px #0004; }
#update-button { right: auto; left: max(12px, env(safe-area-inset-left)); }
dialog { width: min(320px, calc(100vw - 64px)); border: 1px solid #3b4569; border-radius: 18px; padding: 24px; background: #141d38; color: #fff; line-height: 1.65; }
dialog h2 { font-size: 20px; margin-top: 0; }
dialog p { font-size: 15px; }
dialog::backdrop { background: #0009; }
