html, body, div, span, h1, h2, h3, h4, h5, h6 { border: 0; outline: 0; }
body, div, p { margin: 0; padding: 0; }
body { margin: 0; background-color: black; font-size: 11px; overflow: hidden; padding: 0; width: 1920px; height: 1080px; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
#container { position: relative; width: 1920px; height: 1080px; overflow: hidden; font-family: Inter, Arial, Helvetica, sans-serif; color: #3b2a6b; }
#navrat { position: absolute; top: 35px; left: 50px; z-index: 40; width: 120px; height: 120px; background-image: url('../images/navrat.png'); background-position: center; background-repeat: no-repeat; background-size: cover; }
#btn_reset { position: absolute; left: 220px; top: 35px; height: 120px; width: 120px; z-index: 40; background-image: url('../images/reload.png'); background-position: center; background-repeat: no-repeat; background-size: cover; }
#napis { position: absolute; left: 560px; top: 25px; height: 140px; width: 800px; z-index: 40; }
#hviezdy { position: absolute; right: 60px; top: 50px; z-index: 40; padding: 0 34px; height: 90px; font: 900 64px/90px Inter, Arial, Helvetica, sans-serif; color: #3b2a6b; background: rgba(255, 255, 255, 0.85); border: 6px solid #3b2a6b; border-radius: 45px; }
#hviezdy::before { content: "\2605"; color: #ff9d00; -webkit-text-stroke: 2px #3b2a6b; margin-right: 14px; }
@keyframes hIn { from { transform: scale(0.5); opacity: 0; } to { transform: scale(1); opacity: 1; } }
#container { background: linear-gradient(180deg, #ff4f8b 0, #ff4f8b 190px, #bfeaff 190px, #e8f7ff 100%); }
#zadanie { position: absolute; left: 60px; top: 206px; width: 1300px; font: 900 44px/54px Inter, Arial, Helvetica, sans-serif; white-space: nowrap; overflow: hidden; z-index: 20; }
#srdcia { position: absolute; right: 70px; top: 204px; z-index: 20; display: flex; gap: 14px; }
#srdcia svg { width: 62px; height: 56px; transition: transform 0.3s ease, opacity 0.3s ease; }
#srdcia svg.stratene { opacity: 0.25; transform: scale(0.8); }
#ihrisko { position: absolute; left: 260px; top: 290px; width: 1400px; height: 740px; overflow: hidden; touch-action: none; z-index: 5; border: 8px solid #3b2a6b; border-radius: 40px; box-sizing: content-box; margin: -8px 0 0 -8px; background: linear-gradient(180deg, #d6f1ff, #f3fbff 70%, #c7e8a8 70%, #b5df8c 100%); }
.vec { position: absolute; left: 0; top: 0; width: 80px; height: 80px; will-change: transform; pointer-events: none; }
.vec svg { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 6px 4px rgba(0, 0, 0, 0.25)); }
#papkac { position: absolute; left: 0; top: 0; width: 210px; height: 182px; will-change: transform; pointer-events: none; }
#papkac svg { display: block; width: 100%; height: 100%; overflow: visible; }
#papkac .usta { transform-box: fill-box; transform-origin: 50% 0%; transition: transform 0.12s ease; }
#papkac.zjedol .usta { transform: scaleY(0.5); }
#papkac.fuj { animation: fuj 0.45s ease; }
@keyframes fuj { 0%, 100% { transform: translate(var(--x), var(--y)); } 25% { transform: translate(calc(var(--x) - 14px), var(--y)); } 75% { transform: translate(calc(var(--x) + 14px), var(--y)); } }
.bublina { position: absolute; z-index: 15; font: 900 54px/60px Inter, Arial, Helvetica, sans-serif; color: #fff; -webkit-text-stroke: 3px #3b2a6b; paint-order: stroke fill; pointer-events: none; animation: bublina 0.9s ease-out forwards; }
@keyframes bublina { from { transform: translateY(0); opacity: 1; } to { transform: translateY(-90px); opacity: 0; } }
#hlaska { position: absolute; left: 460px; top: 480px; width: 1000px; box-sizing: border-box; padding: 18px 0; text-align: center; font: 900 68px/80px Inter, Arial, Helvetica, sans-serif; color: #d9372b; background: #fff; border: 8px solid #3b2a6b; border-radius: 52px; box-shadow: 0 12px 0 rgba(0, 0, 0, 0.2); z-index: 60; display: none; pointer-events: none; white-space: nowrap; overflow: hidden; animation: hIn 0.4s ease; }
