.container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;position:relative}.container.not-connected{filter:blur(4px);pointer-events:none}.wallet-connect-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;background:rgba(0,0,0,.5)}.game-container{background:var(--card-background);border-radius:24px;padding:2rem;width:100%;max-width:500px;position:relative;box-shadow:0 8px 32px #211a3d}.game-info{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-bottom:2rem}.stats{display:flex;justify-content:center;gap:2rem;font-size:1.2rem;font-weight:600}.start-button{background:linear-gradient(90deg,var(--button-primary),var(--button-hover));color:#fff;border:none;padding:.8rem 2rem;border-radius:50px;font-size:1.2rem;cursor:pointer;transition:all .3s ease}.start-button:hover{transform:translateY(-2px);filter:brightness(1.1)}.mole-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;aspect-ratio:1;background:#8b4513;padding:1rem;border-radius:16px}.mole-hole{background:#3e2723;border-radius:50%;aspect-ratio:1;position:relative;cursor:pointer;overflow:hidden}.game-started .mole-hole{cursor:url(/images/hammer_32*32.png) 16 16,pointer}.mole{position:absolute;bottom:-100%;left:50%;transform:translateX(-50%);width:100%;height:100%;background-image:url(/images/mole.png);background-size:contain;background-repeat:no-repeat;background-position:bottom;transition:bottom .1s ease-out;display:none}.mole-active .mole{bottom:-20%;display:block}.decoration{z-index:1;opacity:.5;transition:transform .2s ease,opacity .2s ease}.decoration:hover{transform:scale(.8);opacity:1}.decoration-left,.decoration-right{justify-self:center}.decoration-right{cursor:pointer;position:relative;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.decoration-right:hover{animation:none}@media (max-width:1200px){.decoration{width:150px;height:150px}}@media (max-width:900px){.decoration{display:none}}@media (max-width:767px){.game-container{padding:1.5rem}.mole-grid{gap:.5rem;padding:.5rem}.stats{font-size:1rem;gap:1.5rem}}@media (max-width:400px){.game-container{padding:1rem}.start-button{padding:.6rem 1.5rem;font-size:1rem}}.footer-text{font-size:.8rem;text-align:center;margin-top:1rem}.attributions{font-size:.5rem;text-align:center;margin-top:.2rem}.attributions ul{list-style:none;padding:0;margin:.2rem 0}.attributions li{display:inline}.attributions li:not(:last-child):after{content:" • ";margin:0 .2rem}@keyframes whack{0%{transform:translateX(-50%) scale(1)}40%{transform:translateX(-50%) scale(.7)}70%{transform:translateX(-50%) scale(.6) translateY(10%)}to{transform:translateX(-50%) scale(1)}}.mole-active .mole.whacked{animation:whack .3s ease-out}.hammer{position:absolute;width:64px;height:64px;background-image:url(/images/hammer.png);background-size:contain;background-repeat:no-repeat;pointer-events:none;transform:rotate(45deg);opacity:0;z-index:10}@keyframes hammerStrike{0%{transform:rotate(45deg) scale(.8);opacity:1}50%{transform:rotate(0deg) scale(1.2);opacity:1}to{transform:rotate(-15deg) scale(1);opacity:0}}.hammer.striking{animation:hammerStrike .3s ease-out forwards}.mole-splat{position:absolute;width:100%;height:100%;background-image:url(/images/splat.png);background-size:contain;background-repeat:no-repeat;background-position:50%;opacity:0;z-index:5;pointer-events:none}.mole-splat.active{animation:splatEffect .5s ease-out forwards}@keyframes splatEffect{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(1.5)}}.score-popup{position:absolute;color:#fc0;font-weight:700;font-size:1.5rem;text-shadow:2px 2px 0 #000;pointer-events:none;z-index:10;opacity:0}.score-popup.active{animation:scorePopup 1s ease-out forwards}@keyframes scorePopup{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:1;transform:translateY(-20px) scale(1.2)}80%{opacity:1;transform:translateY(-40px) scale(1)}to{opacity:0;transform:translateY(-60px) scale(.8)}}@keyframes gameShake{0%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}to{transform:translateX(0)}}.game-shake{animation:gameShake .3s ease-out}.tx-log-toggle{bottom:20px;background:#333;border:none;border-radius:4px;padding:8px 12px;font-size:.8rem;cursor:pointer;z-index:1001}.tx-log-panel,.tx-log-toggle{position:fixed;right:20px;color:#fff}.tx-log-panel{bottom:60px;width:320px;max-height:300px;background:rgba(30,30,40,.95);border-radius:8px;padding:12px;z-index:1000;box-shadow:0 4px 20px rgba(0,0,0,.3);overflow-y:auto}.tx-log-panel h3{margin-top:0;margin-bottom:10px;font-size:1rem;border-bottom:1px solid hsla(0,0%,100%,.2);padding-bottom:8px}.tx-log-empty{color:#aaa;font-style:italic;text-align:center;margin:20px 0}.tx-log-list{list-style:none;padding:0;margin:0}.tx-log-item{display:grid;grid-template-columns:auto auto 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:4px;margin-bottom:6px;font-size:.85rem}.tx-log-item.tx-pending{background:rgba(52,152,219,.2)}.tx-log-item.tx-success{background:rgba(46,204,113,.2)}.tx-log-item.tx-error{background:rgba(231,76,60,.2)}.tx-log-time{color:#aaa;font-size:.75rem}.tx-log-icon{font-size:1rem}.tx-log-message{word-break:break-word}.tx-log-hash{color:#3498db;text-decoration:none;font-size:.75rem;background:rgba(52,152,219,.2);padding:2px 6px;border-radius:4px}.tx-log-hash:hover{text-decoration:underline;background:rgba(52,152,219,.3)}@media (max-width:500px){.tx-log-panel{width:calc(100% - 40px);left:20px;right:20px}}.funding-confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:2147483646}.funding-confirmation-modal{background-color:var(--card-background);border-radius:24px;padding:32px;width:90%;max-width:450px;box-shadow:0 8px 32px #211a3d;text-align:center;color:#fff}.funding-confirmation-modal h3{margin-top:0;color:var(--button-primary);font-size:2rem;font-weight:700;margin-bottom:24px}.funding-confirmation-modal p{margin:12px 0;font-size:1.1rem;line-height:1.6;color:#f5f5f5}.funding-confirmation-buttons{display:flex;justify-content:center;gap:20px;margin-top:32px}.funding-confirmation-button{padding:12px 28px;border-radius:50px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;border:none}.funding-confirmation-cancel{background-color:hsla(0,0%,100%,.2);color:#fff}.funding-confirmation-cancel:hover{background-color:hsla(0,0%,100%,.3);transform:translateY(-2px)}.funding-confirmation-confirm{background:linear-gradient(90deg,var(--button-primary),var(--button-hover));color:#fff}.funding-confirmation-confirm:hover{transform:translateY(-2px);filter:brightness(1.1)}@media (max-width:500px){.funding-confirmation-modal{padding:24px}.funding-confirmation-modal h3{font-size:1.7rem}.funding-confirmation-modal p{font-size:1rem}.funding-confirmation-button{padding:10px 20px;font-size:1rem}}.leaderboard-container{background:var(--card-background);border-radius:24px;padding:1.5rem;width:100%;max-width:400px;margin:2rem auto 0;box-shadow:0 8px 32px #211a3d}.leaderboard-header{text-align:center;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid hsla(0,0%,100%,.1)}.leaderboard-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);background:linear-gradient(90deg,var(--button-primary),var(--button-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.leaderboard-list{list-style:none;padding:0}.leaderboard-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem .5rem;border-bottom:1px solid hsla(0,0%,100%,.05)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-rank{gap:.8rem}.leaderboard-rank,.rank-number{display:flex;align-items:center}.rank-number{width:28px;height:28px;justify-content:center;border-radius:50%;font-weight:700;font-size:.9rem}.rank-1{background:linear-gradient(45deg,gold,#ffc107);color:#000}.rank-2{background:linear-gradient(45deg,silver,#e0e0e0);color:#000}.rank-3{background:linear-gradient(45deg,#cd7f32,#d2691e);color:#000}.rank-other{background:hsla(0,0%,100%,.1);color:var(--text-primary)}.player-address{font-size:.9rem;color:var(--text-primary)}.player-points{font-weight:700;color:#4caf50;font-size:.9rem}.leaderboard-empty{font-style:italic}.leaderboard-empty,.leaderboard-loading{text-align:center;padding:2rem 0;color:var(--text-secondary)}@media (max-width:767px){.leaderboard-container{padding:1rem;margin-top:1.5rem}.leaderboard-header h2{font-size:1.3rem}.leaderboard-item{padding:.6rem .3rem}.rank-number{width:24px;height:24px}.player-address,.player-points,.rank-number{font-size:.8rem}}.game-and-leaderboard{max-width:1200px;margin:0 auto}.game-and-leaderboard,.game-row{display:flex;flex-direction:column;align-items:center;width:100%}.game-row{margin-bottom:2rem}@media (min-width:768px){.game-row{flex-direction:row;justify-content:center;align-items:center;gap:1rem}.decoration-container{margin:auto;display:flex;justify-content:center}}@media (min-width:1024px){.game-and-leaderboard{flex-direction:row;align-items:flex-start;justify-content:center;gap:2rem}.leaderboard-container{margin-top:0}}.leaderboard-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:2000}.leaderboard-popup{background:var(--card-background);border-radius:24px;padding:2rem;width:90%;max-width:450px;box-shadow:0 8px 32px #211a3d;position:relative;max-height:80vh;overflow-y:auto}.leaderboard-close-btn{position:absolute;top:15px;right:20px;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;line-height:1;opacity:.7;transition:opacity .2s ease}.leaderboard-close-btn:hover{opacity:1}.leaderboard-popup .leaderboard-container{background:none;box-shadow:none;padding:0;margin:0;max-width:100%}@media (max-width:500px){.leaderboard-popup{padding:1.5rem}}.leaderboard-label{position:absolute;color:#fff;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 2px 4px rgba(0,0,0,.3);z-index:2}