:root { font: 16px/1.4 system-ui, sans-serif; color: #f4f5f7; background: #17191d; color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; overflow: hidden; }
#scene { position: fixed; inset: 0; touch-action: none; }
canvas { display: block; width: 100%; height: 100%; }
header { position: fixed; top: max(16px, env(safe-area-inset-top), var(--tg-content-safe-area-inset-top, 0px)); left: 16px; right: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; pointer-events: none; }
header span { padding: 10px 14px; background: #15171dde; border-radius: 12px; font-weight: 600; }
small { font-size: .875rem; font-weight: 400; color: #bac2cf; margin-left: 8px; }
button { pointer-events: auto; min-height: 44px; font: inherit; color: inherit; background: #252a34ed; border: 1px solid #ffffff35; border-radius: 12px; padding: 10px 14px; cursor: pointer; }
button:focus-visible { outline: 3px solid #77b9ff; outline-offset: 3px; }
#status { position: fixed; top: 48%; left: 50%; transform: translate(-50%, -50%); padding: 18px 22px; width: min(90vw, 360px); text-align: center; background: #17191df0; border-radius: 14px; }
#status[hidden] { display: none; }
footer { position: fixed; bottom: max(20px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 9px 15px; border-radius: 12px; background: #15171dde; font-size: .875rem; pointer-events: none; }
