:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html{height:100%;overflow:hidden;position:fixed;width:100%}body{margin:0;display:flex;place-items:center;min-width:320px;height:100%;width:100%;overflow:hidden;position:fixed;touch-action:none;overscroll-behavior:none}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:100%;height:100vh;display:flex;align-items:center;justify-content:center}.game-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#000}.game-image-wrapper{position:relative;display:inline-block;max-width:90vw;max-height:90vh}.game-image-wrapper.damage-flash:before{content:"";position:absolute;inset:0;pointer-events:none;border:8px solid transparent;z-index:5}.game-image-wrapper.damage-blue:before{animation:bluePulse .5s ease-out}.game-image-wrapper.damage-green:before{animation:greenPulse .5s ease-out}.game-image-wrapper.damage-red:before{animation:redPulse .5s ease-out}.game-image-wrapper.damage-darkred:before{animation:darkRedPulse .5s ease-out}@keyframes bluePulse{0%,to{border-color:#00ff1e00;box-shadow:inset 0 0 #00ff1e00}50%{border-color:#00ff1e;box-shadow:inset 0 0 30px 5px #00ff1e99}}@keyframes greenPulse{0%,to{border-color:#00ff1e00;box-shadow:inset 0 0 #00ff1e00}50%{border-color:#00ff1e;box-shadow:inset 0 0 30px 5px #00ff1e99}}@keyframes redPulse{0%,to{border-color:#f000;box-shadow:inset 0 0 #f000}50%{border-color:red;box-shadow:inset 0 0 30px 5px #f009}}@keyframes darkRedPulse{0%,to{border-color:#89000000;box-shadow:inset 0 0 #89000000}50%{border-color:#890000;box-shadow:inset 0 0 30px 5px #89000099}}.game-image{max-width:90vw;max-height:90vh;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.reaction-time-container{position:absolute;bottom:25vh;left:0;right:0;display:flex;flex-direction:column;align-items:center;pointer-events:none}.reaction-time{position:relative;width:100%;font-family:"Jersey 15",cursive;font-weight:900;font-size:72px;line-height:1;display:flex;align-items:baseline;justify-content:center;gap:4px;background-color:#fff;border-top:3px solid black;border-bottom:3px solid black;padding:0;overflow:hidden}.reaction-time:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,transparent 45%,rgba(255,255,255,.9) 50%,transparent 55%,transparent 100%);animation:shimmerWave 2s linear .4s}.digit{display:inline-block;animation:digitWave .4s ease-out}.reaction-time.no-animations .digit{animation:none}.reaction-time.no-animations:after{display:none}@keyframes digitWave{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes shimmerWave{0%{left:-20%}to{left:120%}}.ms-suffix{font-size:48px;margin-left:4px}.results-container{display:flex;flex-direction:column;align-items:center;padding:30px;background-color:#fff;border:4px solid #000;border-radius:12px;box-shadow:0 8px 32px #0000004d;font-family:Doto,sans-serif;font-weight:900;max-width:500px;max-height:90vh;overflow-y:auto}.results-title{font-size:36px;margin-bottom:20px;color:#333}.results-stats{margin-bottom:20px}.stat-item{font-size:28px;display:flex;gap:12px;align-items:center;justify-content:center}.stat-item-average{margin-top:20px}.stat-label{color:#333}.stat-value{font-size:32px}.results-message{font-size:16px;color:#666;margin-bottom:12px;text-align:center;font-style:italic;max-width:350px}.results-breakdown{width:100%;margin-bottom:20px}.breakdown-title{font-size:24px;margin-bottom:12px;color:#333;text-align:center}.rounds-list{display:flex;flex-direction:column;gap:6px}.round-item{display:flex;justify-content:space-between;font-size:18px;padding:6px 12px;background-color:#f0f0f0;border-radius:6px}.round-number{color:#666}.round-time{font-weight:900}.play-again-button{font-family:Doto,sans-serif;font-weight:900;font-size:16px;padding:10px 24px;background-color:#fff;color:#000;border:3px solid black;border-radius:8px;cursor:pointer}.other-games-button{font-family:Doto,sans-serif;font-weight:900;font-size:16px;padding:10px 24px;background-color:#000;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;margin-bottom:12px}.other-games-button:hover,.other-games-button:active{background-color:#000}.intro-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#000000b3;z-index:100}.results-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#000;z-index:100}.intro-container{display:flex;flex-direction:column;align-items:center;padding:40px;background-color:#fff;border:4px solid #000;border-radius:12px;box-shadow:0 8px 32px #0000004d;font-family:Doto,sans-serif;font-weight:900;max-width:500px}.intro-message{font-size:20px;color:#333;text-align:center;margin-bottom:30px;line-height:1.6}.intro-message p{margin:12px 0}.start-button{font-family:Doto,sans-serif;font-weight:900;font-size:18px;padding:12px 30px;background-color:#000;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,opacity .2s}.start-button:hover,.start-button:active{background-color:#000}.start-button:disabled{background-color:#666;cursor:not-allowed;opacity:.6}.trademark{font-family:Arial,sans-serif;font-weight:400}.tutorial-panels{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:30px}.tutorial-panel{display:flex;flex-direction:column;align-items:center;gap:8px}.tutorial-image{width:120px;height:120px;object-fit:contain;border:2px solid #ccc;border-radius:8px;padding:8px;background-color:#f9f9f9}.tutorial-label{font-size:14px;color:#333;margin:0}.tutorial-arrow{font-size:32px;color:#666;font-weight:900}.tutorial-caption{font-size:20px;color:#333;text-align:center;margin-bottom:30px;line-height:1.4}.slow-comment{font-family:Doto,sans-serif;font-weight:900;font-size:18px;color:#000;margin-top:10px;font-style:italic;background-color:#fff;padding:8px 20px;border-radius:20px;border:2px solid #000}.hearts-display{position:absolute;top:10px;left:10px;display:flex;gap:4px;z-index:10}.hearts-display.hearts-shake{animation:heartsShake .5s ease-out}.heart-icon.gold-flash{animation:goldFlash .5s ease-out}@keyframes goldFlash{0%,to{filter:brightness(1)}50%{filter:brightness(3) saturate(2) hue-rotate(45deg)}}@keyframes heartsShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}.heart-icon{width:32px;height:32px;object-fit:contain}.heart-icon.full{opacity:1}.heart-icon.half{opacity:1;clip-path:inset(0 50% 0 0)}.heart-icon.empty{opacity:0}.round-display{position:absolute;top:10px;right:10px;font-family:Doto,sans-serif;font-weight:900;font-size:16px;color:#fff;background-color:#000000b3;padding:4px 10px;border-radius:6px;border:2px solid white;z-index:10}.round-transition-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#000c;z-index:90;animation:fadeInOut 2s ease-in-out}.round-transition-message{font-family:Doto,sans-serif;font-weight:900;font-size:72px;color:#0dee50;text-align:center;display:flex;align-items:baseline;justify-content:center}.round-digit{display:inline-block;animation:digitWave .4s ease-out}@keyframes fadeInOut{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}
