.device-check-message{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100vw;text-align:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.device-check-content{max-width:400px}.device-check-message h1{font-size:24px;margin-bottom:16px;font-weight:600}.device-check-message p{font-size:16px;opacity:.9;line-height:1.5}.start-screen{width:100vw;width:100dvw;height:100vh;height:100dvh;min-height:-webkit-fill-available;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.start-screen-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;z-index:10;width:100%;height:100%;padding:0;margin:0;position:relative;box-sizing:border-box;margin-left:calc(-1*env(safe-area-inset-left,0px));margin-right:calc(-1*env(safe-area-inset-right,0px));width:calc(100% + env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px))}.start-logo{width:auto;height:auto;max-width:80%;max-height:30vh;max-height:30dvh;object-fit:contain;margin-top:60px;margin-top:max(60px,env(safe-area-inset-top,60px))}.start-tagline{width:100%;width:min(100%,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:auto;max-height:25vh;max-height:25dvh;object-fit:contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:taglineFadeIn 1s ease-out,taglineFloat 3s ease-in-out infinite 1s;filter:drop-shadow(0 0 15px rgba(255,255,255,.4))}@keyframes taglineFadeIn{0%{opacity:0;transform:translate(-50%,-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}@keyframes taglineFloat{0%,to{transform:translate(-50%,-50%) translateY(0);filter:drop-shadow(0 0 15px rgba(255,255,255,.4))}50%{transform:translate(-50%,-50%) translateY(-8px);filter:drop-shadow(0 0 20px rgba(255,255,255,.6))}}.start-button{padding:0;border:none;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .2s ease;position:absolute;bottom:max(100px,env(safe-area-inset-bottom,100px));left:0;right:0;margin-left:auto;margin-right:auto;transform:translate(0);-webkit-transform:translateX(0);display:flex;justify-content:center;align-items:center;animation:buttonCTA 2.5s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,255,255,.6));z-index:10;max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.start-button-img{width:auto;height:auto;max-width:140%;max-width:min(140%,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:40vh;max-height:40dvh;object-fit:contain;display:block;animation:buttonGlow 2s ease-in-out infinite}@keyframes buttonCTA{0%,to{transform:translateY(0) scale(1);-webkit-transform:translateY(0) scale(1);filter:drop-shadow(0 0 20px rgba(255,255,255,.6))}25%{transform:translateY(-5px) scale(1.03);-webkit-transform:translateY(-5px) scale(1.03);filter:drop-shadow(0 0 25px rgba(255,255,255,.75))}50%{transform:translateY(0) scale(1.05);-webkit-transform:translateY(0) scale(1.05);filter:drop-shadow(0 0 30px rgba(255,255,255,.9))}75%{transform:translateY(-3px) scale(1.03);-webkit-transform:translateY(-3px) scale(1.03);filter:drop-shadow(0 0 25px rgba(255,255,255,.75))}}@keyframes buttonGlow{0%,to{filter:brightness(1) drop-shadow(0 0 10px rgba(255,255,255,.5))}50%{filter:brightness(1.2) drop-shadow(0 0 20px rgba(255,255,255,.8))}}.start-button:active,.start-button.pressed{transform:scale(.95)!important;-webkit-transform:scale(.95)!important;animation:none!important;filter:drop-shadow(0 0 10px rgba(255,255,255,.4))}.start-button.pressed .start-button-img{animation:none!important;filter:brightness(.9)}.game-screen{width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden;background:transparent;touch-action:none;-webkit-overflow-scrolling:touch}.game-screen canvas{position:absolute;top:0;left:0;width:100%;height:100%}.game-logo{position:absolute;top:20px;left:50%;transform:translate(-50%);width:auto;height:auto;max-width:40%;max-height:10vh;object-fit:contain;z-index:100;pointer-events:none}.game-score{position:absolute;top:calc(28px + 10vh);left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:none}.score-value{font-size:32px;font-weight:700;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.8),0 2px 8px rgba(0,0,0,.6);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.destroy-line{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,#ff0000 50%,transparent 100%);box-shadow:0 0 10px #ff000080;z-index:1000;pointer-events:none}.destroy-line:before{content:"DESTROY LINE";position:absolute;left:50%;transform:translate(-50%);top:-20px;color:red;font-size:12px;font-weight:700;text-shadow:0 0 5px rgba(255,0,0,.8);white-space:nowrap}.debug-info-overlay{position:fixed;top:80px;left:10px;background:#000000b3;color:#fff;padding:10px 15px;border-radius:8px;font-family:Courier New,monospace;font-size:12px;z-index:1000;pointer-events:none;border:2px solid #4CAF50}.debug-stat{margin-bottom:8px;display:flex;align-items:center;gap:8px}.debug-stat:last-child{margin-bottom:0}.debug-label{color:#aaa;font-weight:400}.debug-value{color:#4caf50;font-weight:700;font-size:14px}.debug-detail{color:#888;font-size:11px;margin-left:4px}.animation-test-container{width:100vw;height:100vh;position:fixed;top:0;left:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;overflow:hidden}.test-info{position:absolute;top:20px;left:20px;background:#000000b3;color:#fff;padding:15px;border-radius:8px;font-family:monospace;font-size:12px;z-index:1000;min-width:200px}.test-info div{margin:5px 0;line-height:1.4}.test-instruction{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.3);color:#ffc107;font-weight:700}.test-controls{position:absolute;top:20px;right:20px;background:#000000b3;color:#fff;padding:15px;border-radius:8px;font-family:monospace;font-size:12px;z-index:1000;min-width:200px}.test-controls label{display:block;margin:10px 0;line-height:1.6}.test-controls input[type=range]{vertical-align:middle}.test-controls button{cursor:pointer;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:12px}.test-controls button:hover{background:#45a049}.bubble-test{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.bubble-normal{border-radius:50%;background:#fffc;border:3px solid rgba(255,255,255,.9);display:flex;justify-content:center;align-items:center;box-shadow:0 4px 10px #0003;z-index:10}.bubble-icon{font-size:28px;-webkit-user-select:none;user-select:none}.bubble-sprite{position:absolute;top:50%;left:50%;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:auto;background-color:transparent;overflow:hidden}.bubble{position:absolute;border-radius:50%;background:#fffc;border:3px solid rgba(255,255,255,.9);display:flex;justify-content:center;align-items:center;box-shadow:0 4px 10px #0003;pointer-events:none;z-index:10;will-change:transform;transition:none}.bubble-content{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.bubble-icon{width:60%;height:60%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.bubble-popping{border:none;background:transparent;box-shadow:none;overflow:visible;z-index:20}.bubble-normal-sprite{border:none;background:transparent;box-shadow:none;overflow:visible}.bubble-popping-fallback{border:none;background:#fffc;animation:popAnimationFallback .3s ease-out forwards}@keyframes popAnimationFallback{0%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.8}to{transform:translate(-50%,-50%) scale(0);opacity:0}}.bubble-sprite{position:absolute;top:50%;left:50%;image-rendering:auto;background-color:transparent;overflow:hidden}.bubble-sprite-background{z-index:1}.bubble-icon-layer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:flex;justify-content:center;align-items:center;width:100%;height:100%;pointer-events:none}.bubble-debug{box-shadow:0 0 0 2px #ff000080}.bubble-debug:before{content:attr(data-bubble-id);position:absolute;top:-20px;left:50%;transform:translate(-50%);background:#f00c;color:#fff;font-size:10px;padding:2px 4px;border-radius:3px;white-space:nowrap;z-index:100;pointer-events:none}.bubble-debug[data-is-popping=true]:before{background:#0f0c;content:"ID:" attr(data-bubble-id) " POPPING"}.flying-icon{position:absolute;pointer-events:auto;z-index:100;transition:opacity .1s ease}.flying-icon-content{width:60px;height:60px;object-fit:contain;display:block;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));pointer-events:none}body.memory-test-page,body.memory-test-page #root{overflow:auto!important;height:auto!important;min-height:100vh!important;touch-action:auto!important}.memory-test{min-height:100vh;background:#1a1a1a;color:#fff;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow-y:visible;overflow-x:hidden;position:relative;width:100%}.memory-test-header{margin-bottom:30px}.memory-test-header h1{margin:0 0 20px;font-size:24px;color:#fff}.test-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.test-controls button{padding:10px 20px;background:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.test-controls button:hover:not(:disabled){background:#45a049}.test-controls button:disabled{background:#666;cursor:not-allowed;opacity:.6}.test-controls label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.test-controls input[type=checkbox]{width:18px;height:18px;cursor:pointer}.memory-test-stats{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.stats-section{background:#2a2a2a;padding:20px;border-radius:8px}.stats-section h2{margin:0 0 15px;font-size:18px;color:#4caf50;border-bottom:2px solid #4CAF50;padding-bottom:5px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.stat-item{background:#333;padding:15px;border-radius:5px;border-left:4px solid #4CAF50}.stat-label{font-size:12px;color:#aaa;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:28px;font-weight:700;color:#4caf50;margin-bottom:5px}.stat-detail{font-size:11px;color:#888;margin-top:5px}.game-container-wrapper{position:relative;width:100%;height:400px;background:#000;border:2px solid #4CAF50;border-radius:8px;overflow:hidden;margin-bottom:30px}.game-container{position:relative;width:100%;height:100%;background:linear-gradient(180deg,#1a4a5c,#2d7a9f)}.memory-test-info{background:#2a2a2a;padding:20px;border-radius:8px}.memory-test-info h3{margin:0 0 15px;font-size:18px;color:#4caf50}.memory-test-info ul{margin:0;padding-left:20px}.memory-test-info li{margin-bottom:8px;line-height:1.6;color:#ccc}@media (max-width: 768px){.memory-test{padding:15px}.memory-test-header h1{font-size:20px}.test-controls{flex-direction:column;align-items:stretch}.test-controls button{width:100%}.stats-grid{grid-template-columns:1fr}.game-container-wrapper{height:300px}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}#root{width:100vw;width:100dvw;height:100vh;height:100dvh;min-height:-webkit-fill-available;overflow:hidden;background-image:url(/assets/bg-BhAKvsGB.png);background-size:100% 100%;background-position:center;background-repeat:no-repeat;background-color:#000;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box}
