*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;min-height:100vh;min-height:100dvh}body{font-family:DM Sans,sans-serif;background:#0a0a0a;color:#1a1a1a;overflow-x:hidden}button{font:inherit;cursor:pointer;border:none;background:none}#root{display:flex;align-items:center;justify-content:center}.app-shell{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:#fafaf8}@media(min-aspect-ratio:9 / 19){.app-shell{height:100vh;height:100dvh;width:min(100vw,calc(100vh * 9 / 19.5));box-shadow:0 0 80px #0006}}.screen{position:relative;width:100%;height:100%;overflow:hidden;background:#fafaf8}.screen-inner{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}.screen-inner::-webkit-scrollbar{width:0}.status-bar{height:44px;padding:0 22px 4px 24px;display:flex;align-items:flex-end;justify-content:space-between;font-size:13px;font-weight:600;flex-shrink:0}.reset-btn{position:fixed;top:12px;right:12px;z-index:1000;padding:6px 12px;border-radius:999px;background:#0000008c;color:#fff;font-size:11px;font-weight:500;opacity:.5;transition:opacity .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reset-btn:hover{opacity:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.anim-up{animation:fadeUp .5s ease-out both}.anim-pop{animation:pop .5s cubic-bezier(.34,1.56,.64,1) both}
