*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#4a752c;color:#fff;display:flex;justify-content:center;min-height:100vh;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='6' y='1' width='14' height='8' rx='2' fill='%23888' stroke='%23555' stroke-width='1'/%3E%3Crect x='11' y='9' width='4' height='18' rx='1' fill='%23c8a26a' stroke='%23a07840' stroke-width='1'/%3E%3C/svg%3E") 12 2,auto}#root{width:100%;max-width:520px;padding:1rem}.app{text-align:center}.title{margin:.5rem 0;font-size:2rem}.hud{display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.hud--top{margin-bottom:.75rem}.hud--bottom{margin-top:5rem;gap:.75rem}.hud-girl{width:96px;height:96px;object-fit:contain}.hud-score{font-size:1.4rem}.start-btn,.restart-btn,.menu-btn{font-size:1.1rem;padding:.6rem 2rem;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:transform .1s,background .2s}.start-btn,.restart-btn{background:#f0c040;color:#333}.menu-btn{background:#ffffff26;color:#fff}.start-btn:hover,.restart-btn:hover{background:#f5d060}.menu-btn:hover{background:#ffffff40}.start-btn:active,.restart-btn:active,.menu-btn:active{transform:scale(.95)}.intro{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.intro-hero{margin-bottom:.5rem}.intro-hero-img{width:120px;height:120px;object-fit:contain;animation:bounce 1s ease infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.intro-title{font-size:2.4rem;margin:.25rem 0 0}.intro-subtitle{font-size:1rem;opacity:.8}.intro-section{width:100%}.intro-label{font-weight:700;font-size:.95rem;margin-bottom:.4rem;text-align:left;display:block;text-transform:uppercase;letter-spacing:.05em;opacity:.85}.intro-input{width:100%;padding:.6rem .8rem;font-size:1rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#ffffff1a;color:#fff;outline:none;transition:border-color .2s}.intro-input::placeholder{color:#ffffff73}.intro-input:focus{border-color:#f0c040}.difficulty-group{display:flex;gap:.5rem}.difficulty-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.7rem .4rem;border:2px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff12;color:#fff;cursor:pointer;transition:border-color .2s,background .2s,transform .1s}.difficulty-btn:hover{background:#ffffff1f}.difficulty-btn--selected{border-color:#f0c040;background:#f0c04026}.difficulty-emoji{font-size:1.5rem}.difficulty-label{font-weight:700;font-size:.95rem}.difficulty-desc{font-size:.7rem;opacity:.65}.intro-rules{text-align:left}.rules-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;opacity:.85}.intro-start{width:100%;font-size:1.3rem;padding:.8rem;margin-top:.25rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hole{position:relative;width:100%;aspect-ratio:1;background:radial-gradient(circle,#2e1a0e 50%,#3d260f);border-radius:50%;overflow:hidden;box-shadow:inset 0 8px 16px #0009}.mole{position:absolute;bottom:-100%;left:50%;width:100%;transform:translate(-50%);transition:bottom .15s ease-out;pointer-events:none}.mole--visible{bottom:0%;pointer-events:auto}.mole-img{width:100%;cursor:inherit;user-select:none;-webkit-user-select:none}.mole-img--whacked{animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(-5deg)}50%{transform:translate(4px) rotate(5deg)}75%{transform:translate(-2px) rotate(-3deg)}}.missed-text{position:absolute;top:30%;left:50%;transform:translate(-50%);font-size:.7rem;font-weight:800;color:#f44;text-shadow:0 1px 3px rgba(0,0,0,.4);pointer-events:none;z-index:3;white-space:nowrap;animation:missedFloat .8s ease-out forwards}@keyframes missedFloat{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}60%{opacity:.8;transform:translate(-50%) translateY(-18px) scale(1.1)}to{opacity:0;transform:translate(-50%) translateY(-32px) scale(.9)}}.grid:active{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='rotate(-35 16 16)'%3E%3Crect x='6' y='1' width='14' height='8' rx='2' fill='%23888' stroke='%23555' stroke-width='1'/%3E%3Crect x='11' y='9' width='4' height='18' rx='1' fill='%23c8a26a' stroke='%23a07840' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E") 12 2,auto}.game-over{margin-top:2rem;animation:fadeIn .4s ease-out}.game-over-img{width:120px;height:120px;object-fit:contain;margin-bottom:.75rem}.final-score{font-size:2rem;margin:.75rem 0}.game-over-difficulty{font-size:.95rem;opacity:.7;margin-bottom:1.25rem}.game-over-actions{display:flex;gap:.75rem;justify-content:center}.speech-bubble{position:relative;background:#fff;color:#333;font-weight:700;font-size:.85rem;padding:.35rem .7rem;border-radius:12px;box-shadow:0 2px 6px #00000026;white-space:nowrap;animation:bubblePop .3s ease-out}.speech-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff}.speech-bubble--left:after{left:16px;transform:none}.speech-bubble--right:after{left:auto;right:16px;transform:none}.speech-bubble--below:after{bottom:auto;top:-6px;border-top:none;border-bottom:6px solid #fff}@keyframes bubblePop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.character-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:.25rem}.intro-hero .speech-bubble{font-size:1rem;padding:.4rem .9rem}.hud-bubble-wrap{position:relative;display:flex;align-items:center;gap:.5rem}.hud-bubble-wrap .speech-bubble{position:absolute;top:-28px;left:50%;transform:translate(-50%);font-size:.75rem}.game-over .character-wrap .speech-bubble{font-size:1rem;padding:.45rem 1rem}.mole-bubble{position:absolute;top:-4px;left:50%;transform:translate(-50%);z-index:2;font-size:.65rem;padding:.2rem .5rem}
