:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{color:#e8e8ee;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;background:#0b0b10;width:100%;height:100%;margin:0;padding:0;overflow:hidden}.app{background:#0b0b10;flex-direction:column;display:flex;position:fixed;inset:0}.app__canvas{touch-action:none;flex:auto;width:100%;height:100%;display:block}.app__hint{left:50%;bottom:max(20px, env(safe-area-inset-bottom));letter-spacing:.08em;color:#ffffff8c;pointer-events:none;font-size:12px;font-weight:500;transition:opacity .6s;position:absolute;transform:translate(-50%)}.app__hint--hidden{opacity:0}.app__controls{right:max(16px, env(safe-area-inset-right));top:max(16px, env(safe-area-inset-top));gap:8px;display:flex;position:absolute}.app__controls--left{right:auto;left:max(16px, env(safe-area-inset-left))}.app__btn{appearance:none;color:#ffffffd9;letter-spacing:.06em;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:500;transition:background .2s,border-color .2s,color .2s}.app__btn:hover{color:#fff;background:#ffffff14;border-color:#fff3}.app__btn:active{background:#ffffff1f}.app__file{display:none}.app__touch{appearance:none;color:#fff;letter-spacing:.12em;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);touch-action:manipulation;background:#ffffff14;border:2px solid #ffffff8c;border-radius:50%;width:96px;height:96px;font-size:15px;font-weight:600;animation:.85s ease-in-out infinite touchPulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app__touch:active{background:#ffffff2e}@keyframes touchPulse{0%,to{box-shadow:0 0 #ffffff4d}50%{box-shadow:0 0 0 16px #fff0}}.app__nice{color:#ffd23f;text-shadow:0 3px #d62828,0 0 26px #ffd23fa6;letter-spacing:.04em;white-space:nowrap;pointer-events:none;font-size:clamp(40px,12vw,96px);font-weight:800;animation:1.3s forwards nicePop;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}@keyframes nicePop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-6deg)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.18)rotate(-3deg)}30%{transform:translate(-50%,-50%)scale(1)rotate(-3deg)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-3deg)}to{opacity:0;transform:translate(-50%,-58%)scale(1.05)rotate(-3deg)}}
