@import url(https://fonts.googleapis.com/css2?family=Fredoka+One:wght@400&family=Nunito:wght@400;600;700;800;900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Fredoka+One:wght@400&family=Nunito:wght@400;600;700;800;900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Fredoka+One:wght@400&family=Nunito:wght@400;600;700;800;900&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Fredoka+One:wght@400&family=Nunito:wght@400;600;700;800;900&display=swap);
@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes fadeInScale{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shopping-list-glow{0%{box-shadow:0 0 15px rgba(76,175,80,.6);transform:scale(1)}50%{box-shadow:0 0 25px rgba(76,175,80,.9);transform:scale(1.05)}100%{box-shadow:0 0 15px rgba(76,175,80,.6);transform:scale(1)}}@keyframes screen-glow{0%{opacity:.8;text-shadow:0 0 6px rgba(76,175,80,.8)}50%{opacity:1;text-shadow:0 0 12px #4caf50}100%{opacity:.8;text-shadow:0 0 6px rgba(76,175,80,.8)}}@keyframes squish-vertical{0%{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(0.7) scaleX(1.2)}100%{transform:scaleY(1) scaleX(1)}}@keyframes squish-horizontal{0%{transform:scaleX(1) scaleY(1)}50%{transform:scaleX(0.7) scaleY(1.2)}100%{transform:scaleX(1) scaleY(1)}}.game-player{transition:left 150ms linear,top 150ms linear}.game-player.moving{transition:left 150ms linear,top 150ms linear}.game-player.moving-up{animation:squish-vertical 150ms linear}.game-player.moving-down{animation:squish-vertical 150ms linear}.game-player.moving-left{animation:squish-horizontal 150ms linear}.game-player.moving-right{animation:squish-horizontal 150ms linear}.game-object{transition:opacity .3s ease}.game-object.beer{transition:opacity .3s ease,left 1000ms linear,top 1000ms linear}.game-object:hover{transform:scale(1.1);transition:transform .2s ease}.game-atm.pulsing{animation:pulse 1s infinite}.spawn-preview{display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.3);border-top:3px solid #4caf50;border-radius:50%;animation:spin 1s linear infinite}.game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);overflow:hidden;display:flex;align-items:center;justify-content:center}.game-canvas__viewport{width:90vw;height:80vh;position:relative;border:2px solid rgba(255,255,255,.3);border-radius:15px;background:#1a1a2e;overflow:hidden}@media(max-width: 767px)and (orientation: portrait){.game-canvas__viewport{width:95vw;height:65vh}}@media(max-width: 767px)and (orientation: landscape){.game-canvas__viewport{width:95vw;height:70vh}}.game-canvas__world{position:absolute;top:0;left:0;width:2800px;height:2200px;transform-origin:0 0;transition:transform .2s ease-out}.game-canvas__background{position:absolute;left:800px;top:700px;width:1800px;height:1200px;background-color:#1a1a2e;border:2px solid rgba(255,255,255,.1);border-radius:8px}.game-canvas__grid{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.game-canvas__grid-line{position:absolute;background-color:rgba(255,255,255,.05);pointer-events:none}.game-canvas__grid-line--vertical{top:0;width:1px;height:100%}.game-canvas__grid-line--horizontal{left:0;width:100%;height:1px}.game-canvas__wall{position:absolute;background:linear-gradient(135deg, rgba(139, 101, 86, 0.95) 0%, rgba(120, 85, 70, 0.95) 50%, rgba(101, 75, 63, 0.95) 100%);border:2px solid #3d2f28;border-radius:6px;box-shadow:inset 0 -2px 0 #2a1f1a,inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 12px rgba(0,0,0,.3),0 2px 4px rgba(0,0,0,.5)}.game-canvas__wall::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg, transparent, transparent 4px, rgba(0, 0, 0, 0.05) 4px, rgba(0, 0, 0, 0.05) 8px);border-radius:4px;pointer-events:none}.game-canvas__atm{position:absolute;width:50px;height:60px;background:linear-gradient(135deg, #1a5490 0%, #2196F3 50%, #1a5490 100%);border:3px solid #0d3a6b;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;color:#fff;font-weight:bold;box-shadow:0 4px 8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.2),0 0 15px rgba(33,150,243,.3);transition:all .3s ease}.game-canvas__atm.pulsing{background:linear-gradient(135deg, #c62828 0%, #FF4444 50%, #c62828 100%);border-color:#8b1c1c;animation:pulse 1s infinite;box-shadow:0 4px 8px rgba(0,0,0,.4),0 0 25px rgba(255,68,68,.8),0 0 35px rgba(255,68,68,.5)}.game-canvas__atm--pulsing{background:linear-gradient(135deg, #c62828 0%, #FF4444 50%, #c62828 100%);border-color:#8b1c1c;animation:pulse 1s infinite;box-shadow:0 4px 8px rgba(0,0,0,.4),0 0 25px rgba(255,68,68,.8),0 0 35px rgba(255,68,68,.5)}.game-canvas__atm-label{margin-bottom:4px;font-size:7px;letter-spacing:.3px;text-transform:uppercase;color:rgba(255,255,255,.95);text-shadow:0 1px 2px rgba(0,0,0,.8),0 0 8px rgba(33,150,243,.6);font-weight:900;padding:0 2px}.game-canvas__atm-screen{width:36px;height:24px;background:linear-gradient(180deg, #001a2e 0%, #003d5c 100%);border:2px solid #0a2540;border-radius:3px;box-shadow:inset 0 2px 4px rgba(0,0,0,.6),0 0 8px rgba(0,120,180,.4);position:relative;display:flex;align-items:center;justify-content:center}.game-canvas__atm-screen::before{content:"$";font-size:14px;font-weight:bold;color:#4caf50;text-shadow:0 0 6px rgba(76,175,80,.8);animation:screen-glow 2s ease-in-out infinite}.game-canvas__atm-keypad{width:24px;height:8px;margin-top:2px;display:grid;grid-template-columns:repeat(3, 1fr);grid-template-rows:repeat(2, 1fr);grid-gap:1px;gap:1px}.game-canvas__atm-keypad-button{background-color:#333;border:1px solid #555;border-radius:1px}.game-canvas__spawn-preview{position:absolute;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.3);border-top:3px solid #4caf50;border-radius:50%;animation:spin 1s linear infinite}.game-canvas__object{position:absolute;width:24px;height:24px;font-size:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.3);transition:opacity .3s ease}.game-canvas__object--highlighted{background-color:rgba(76,175,80,.3);border:2px solid #4caf50;box-shadow:0 0 15px rgba(76,175,80,.6);animation:shopping-list-glow 2s infinite;will-change:transform,box-shadow}.game-canvas__object--beer{transition:left 1000ms linear,top 1000ms linear}.game-canvas__object-sprite{width:24px;height:24px;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;pointer-events:none}.game-canvas__object-emoji{display:block}.game-canvas__object-price{position:absolute;pointer-events:none;font-weight:bold;text-shadow:1px 1px 2px rgba(0,0,0,.8);z-index:100;bottom:-18px;left:50%;transform:translateX(-50%);font-size:10px;color:#4caf50;background-color:rgba(0,0,0,.7);padding:1px 4px;border-radius:3px;white-space:nowrap}.game-canvas__object-price--highlighted{color:gold;background-color:rgba(76,175,80,.9)}.game-canvas__object-price--beer{color:#f44;background-color:rgba(0,0,0,.9);border:1px solid rgba(255,68,68,.5294117647)}.game-canvas__player{position:absolute;width:30px;height:35px;border-radius:15px 15px 8px 8px;transition:left 150ms linear,top 150ms linear;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center}.game-canvas__player--me{border:2px solid gold;z-index:11}.game-canvas__player--sprite{background-color:rgba(0,0,0,0);border:none}.game-canvas__player-sprite{width:50px;height:50px;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;pointer-events:none}.game-canvas__player-fallback{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center}.game-canvas__player-visor{width:12px;height:8px;background-color:skyblue;border-radius:50%;margin-top:3px}.game-canvas__player-emoji{position:absolute;top:8px;font-size:14px;pointer-events:none;z-index:1}.game-canvas__player-name{position:absolute;pointer-events:none;font-weight:bold;text-shadow:1px 1px 2px rgba(0,0,0,.8);z-index:100;top:-25px;font-size:12px;font-family:"Nunito",sans-serif;font-weight:800;color:rgba(255,255,255,.4);white-space:nowrap;text-shadow:2px 2px 0 rgba(44,62,80,.4),-2px -2px 0 rgba(44,62,80,.4),2px -2px 0 rgba(44,62,80,.4),-2px 2px 0 rgba(44,62,80,.4),0 2px 0 rgba(44,62,80,.4),0 -2px 0 rgba(44,62,80,.4),2px 0 0 rgba(44,62,80,.4),-2px 0 0 rgba(44,62,80,.4),0 3px 0 rgba(26,37,47,.4),0 5px 10px rgba(0,0,0,.2)}.game-canvas__player-name--me{font-size:16.8px;font-weight:900;color:#ffd23f;text-shadow:2px 2px 0 #2c3e50,-2px -2px 0 #2c3e50,2px -2px 0 #2c3e50,-2px 2px 0 #2c3e50,0 2px 0 #2c3e50,0 -2px 0 #2c3e50,2px 0 0 #2c3e50,-2px 0 0 #2c3e50,0 3px 0 #1a252f,0 5px 0 #0f1419,0 7px 15px rgba(0,0,0,.4)}.game-canvas__player-list-number{position:absolute;pointer-events:none;font-weight:bold;text-shadow:1px 1px 2px rgba(0,0,0,.8);z-index:100;bottom:-35px;font-size:8px;color:#888}.game-canvas__player-list-number--me{color:gold}.game-canvas__player-balance{position:absolute;pointer-events:none;font-weight:bold;text-shadow:1px 1px 2px rgba(0,0,0,.8);z-index:100;bottom:-25px;font-size:10px;font-weight:bold;color:#888}.game-canvas__player-balance--me{color:gold}.game-canvas__player-beer-mug{position:absolute;left:50%;top:50%;font-size:20px;pointer-events:none;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);animation:orbit 3.14s linear infinite}.game-canvas__player-interest{position:absolute;top:-10px;left:-15px;font-size:12px;pointer-events:none}@media(max-width: 767px){.game-canvas__viewport{border-radius:4px}.game-canvas__player-name,.game-canvas__player-balance,.game-canvas__player-list-number{font-size:8px}.game-canvas__player-name--me,.game-canvas__player-balance--me,.game-canvas__player-list-number--me{font-size:12px}}
@keyframes jackboxGradient{0%{background-position:0% 50%,0% 50%}50%{background-position:100% 50%,100% 50%}100%{background-position:0% 50%,0% 50%}}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}100%{transform:translateX(100%) translateY(100%) rotate(45deg)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes barGlow{0%{box-shadow:0 0 15px rgba(255,255,255,.3)}50%{box-shadow:0 0 30px rgba(255,255,255,.8),0 0 50px currentColor,0 0 70px currentColor}100%{box-shadow:0 0 15px rgba(255,255,255,.3)}}@keyframes fillChange{0%{transform:scaleY(1);filter:brightness(1)}50%{transform:scaleY(1.02);filter:brightness(1.3)}100%{transform:scaleY(1);filter:brightness(1)}}.player-info{position:absolute;top:0;right:0;height:100vh;width:300px;background:rgba(0,0,0,0);padding:20px;color:#2c3e50;z-index:100;display:flex;flex-direction:column;justify-content:space-between;font-family:"Nunito",sans-serif;overflow:visible;pointer-events:none}@media(max-width: 767px)and (orientation: portrait){.player-info{position:fixed;top:50%;right:0;transform:translateY(-50%);width:22vw;height:auto;max-height:90vh;padding:2vh 1vw;flex-direction:column;justify-content:center;align-items:center;gap:1.5vh;z-index:100}}@media(max-width: 767px)and (orientation: landscape){.player-info{width:100%;height:auto;position:relative;border-left:none;border-top:1px solid rgba(255,255,255,.3)}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info{width:22vw;min-width:160px;max-width:240px;height:100vh;position:absolute;top:0;right:0;border-left:none;border-top:none;padding:1.5vh 1vw;justify-content:flex-start;gap:1.5vh}}.player-info__stats{margin-bottom:20px;background:rgba(0,0,0,0);padding:15px;position:relative;pointer-events:auto}@media(max-width: 767px)and (orientation: portrait){.player-info__stats{display:flex;flex-direction:column;gap:1vh;margin-bottom:0;padding:0;width:100%;align-items:center;justify-content:flex-start}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__stats{margin-bottom:0;padding:0}}.player-info__stat{margin:10px 0;text-align:center;font-size:1.95rem;font-weight:800;position:relative;z-index:1;background:rgba(44,62,80,.85);padding:20px;border-radius:20px;border:4px solid #ff6b35;box-shadow:0 8px 0 #2c3e50,0 12px 20px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);overflow:hidden;width:220px}.player-info__stat::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);transform:rotate(45deg);animation:shimmer 3s ease-in-out infinite;pointer-events:none;z-index:0;will-change:transform}.player-info__stat--warning{animation:pulse 2s infinite;border-color:#e74c3c}.player-info__stat--warning .player-info__stat-value{color:#e74c3c;text-shadow:2px 2px 4px rgba(0,0,0,.8),0 0 10px rgba(231,76,60,.8)}.player-info__stat--credit-card{border-color:#4ecdc4}@media(max-width: 767px)and (orientation: portrait){.player-info__stat{font-size:clamp(1.44rem,4vw,1.84rem);margin:0;padding:1vh 1.5vw;width:100%;border:2px solid #ff6b35;box-shadow:0 3px 0 #2c3e50,0 4px 8px rgba(0,0,0,.3);border-radius:10px}}@media(max-width: 767px)and (orientation: landscape){.player-info__stat{font-size:1.56rem;width:180px}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__stat{font-size:clamp(1.1rem,1.5vw,1.4rem);margin:.8vh 0;padding:1.2vh 1.2vw;width:100%;max-width:200px;border:3px solid #ff6b35;box-shadow:0 4px 0 #2c3e50,0 6px 12px rgba(0,0,0,.3);border-radius:15px}}.player-info__stat-label{display:block;font-size:1.17rem;font-weight:700;color:rgba(255,255,255,.7);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px;position:relative;z-index:1;text-shadow:2px 2px 4px rgba(0,0,0,.8)}@media(max-width: 767px)and (orientation: portrait){.player-info__stat-label{font-size:clamp(1.04rem,2.88vw,1.36rem);margin-bottom:.3vh;letter-spacing:.2px}}@media(max-width: 767px)and (orientation: landscape){.player-info__stat-label{font-size:1.04rem}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__stat-label{font-size:clamp(.75rem,1vw,.9rem);margin-bottom:.4vh;letter-spacing:.4px}}.player-info__stat-value{display:block;color:#fff;font-family:"Fredoka One",cursive;font-weight:400;text-shadow:2px 2px 4px rgba(0,0,0,.8),0 0 10px rgba(255,255,255,.3);position:relative;z-index:1}.player-info__beer-power{color:#2c3e50;background:linear-gradient(45deg, #FFD23F, #F7931E);margin:5px 0;padding:5px 10px;text-align:center;font-weight:800;border-radius:15px;border:3px solid #2c3e50;box-shadow:0 4px 0 #2c3e50;animation:pulse 2s infinite;position:relative;z-index:1;width:220px}@media(max-width: 767px)and (orientation: portrait){.player-info__beer-power{width:100%;margin:0;padding:.8vh 1.5vw;border:2px solid #2c3e50;box-shadow:0 2px 0 #2c3e50;border-radius:10px;font-size:clamp(.6rem,1.5vw,.8rem)}}@media(max-width: 767px)and (orientation: landscape){.player-info__beer-power{width:180px}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__beer-power{width:100%;max-width:200px;margin:.8vh 0;padding:.8vh 1.2vw;border:2px solid #2c3e50;box-shadow:0 3px 0 #2c3e50;border-radius:12px;font-size:clamp(.85rem,1.1vw,1rem)}}.player-info__progress{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;margin:20px 0;background:rgba(0,0,0,0);padding:15px;position:relative;pointer-events:auto}@media(max-width: 767px)and (orientation: portrait){.player-info__progress{flex:1 1;margin:1vh 0 0 0;padding:0;gap:1vh;justify-content:flex-start;align-items:flex-end;width:100%}}@media(max-width: 767px)and (orientation: landscape){.player-info__progress{flex:none;margin:15px 0;gap:20px}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__progress{flex:1 1;margin:0;padding:0;gap:1.5vh;justify-content:flex-start;min-height:0}}.player-info__stat--credit-card{margin:0}.player-info__progress-container{width:80px;height:400px;background-color:rgba(26,26,46,.9);border-radius:40px;padding:8px;position:relative;position:relative;z-index:1}.player-info__progress-container .progress-track{width:100%;height:100%;background-color:#333;border-radius:32px;position:relative;overflow:hidden}.player-info__progress-container .progress-fill{position:absolute;bottom:0;left:0;width:100%;border-radius:32px;transition:all .3s ease}.player-info__progress-container .progress-fill.high{background-color:#4caf50}.player-info__progress-container .progress-fill.medium{background-color:#ffc107}.player-info__progress-container .progress-fill.low{background-color:#f44}.player-info__progress-container .progress-marker{position:absolute;bottom:70%;left:0;width:100%;height:2px;background-color:gold;opacity:.8;z-index:1}@media(max-width: 767px)and (orientation: portrait){.player-info__progress-container{width:clamp(49px,11.2vw,70px);height:clamp(168px,49vh,252px)}}@media(max-width: 767px)and (orientation: landscape){.player-info__progress-container{width:60px;height:200px}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__progress-container{width:clamp(50px,4vw,70px);height:clamp(140px,40vh,200px);max-height:45vh}}.player-info__progress-track{width:100%;height:100%;background-color:rgba(44,62,80,.8);border-radius:32px;position:relative;overflow:hidden;border:3px solid rgba(255,255,255,.3);box-shadow:0 4px 8px rgba(0,0,0,.5),inset 0 2px 8px rgba(0,0,0,.5)}.player-info__progress-fill{position:absolute;bottom:0;left:0;width:100%;border-radius:32px;transition:height .8s cubic-bezier(0.4, 0, 0.2, 1),background .5s ease,box-shadow .5s ease;box-shadow:0 0 15px rgba(255,255,255,.3);transform-origin:bottom}.player-info__progress-fill--animating{animation:fillChange .8s ease-out,barGlow .8s ease-out}.player-info__progress-fill--high{background:linear-gradient(180deg, #06FFA5, #4ECDC4)}.player-info__progress-fill--high.player-info__progress-fill--animating{box-shadow:0 0 30px rgba(6,255,165,.8),0 0 50px rgba(6,255,165,.5),inset 0 -2px 10px rgba(255,255,255,.4)}.player-info__progress-fill--medium{background:linear-gradient(180deg, #FFD23F, #F7931E)}.player-info__progress-fill--medium.player-info__progress-fill--animating{box-shadow:0 0 30px rgba(255,210,63,.8),0 0 50px rgba(255,210,63,.5),inset 0 -2px 10px rgba(255,255,255,.4)}.player-info__progress-fill--low{background:linear-gradient(180deg, #E74C3C, #C0392B)}.player-info__progress-fill--low.player-info__progress-fill--animating{box-shadow:0 0 30px rgba(231,76,60,.8),0 0 50px rgba(231,76,60,.5),inset 0 -2px 10px rgba(255,255,255,.4)}.player-info__progress-marker{position:absolute;bottom:70%;left:0;width:100%;height:3px;background-color:#ffd23f;opacity:1;z-index:1;box-shadow:0 0 8px rgba(255,210,63,.8)}.player-info__progress-marker-label{position:absolute;bottom:70%;right:-50px;transform:translateY(50%);font-size:13px;color:#2c3e50;font-weight:800;white-space:nowrap;background:#ffd23f;padding:4px 10px;border-radius:10px;border:2px solid #2c3e50;box-shadow:0 3px 6px rgba(0,0,0,.4)}@media(max-width: 767px)and (orientation: portrait){.player-info__progress-marker-label{right:auto;left:clamp(56px,12.6vw,77px);font-size:clamp(6px,1.5vw,8px);padding:1px 4px;border-radius:5px;border:1px solid #2c3e50;box-shadow:0 1px 3px rgba(0,0,0,.4)}}@media(max-width: 767px)and (orientation: landscape){.player-info__progress-marker-label{right:-40px;font-size:10px}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__progress-marker-label{right:clamp(-45px,-4vw,-35px);font-size:clamp(8px,1vw,11px);padding:3px 8px;border-radius:8px;border:2px solid #2c3e50;box-shadow:0 2px 4px rgba(0,0,0,.4)}}.player-info__back-button-container{margin-top:15px;text-align:center;position:relative;z-index:1;pointer-events:auto}@media(max-width: 767px)and (orientation: portrait){.player-info__back-button-container{margin-top:0;padding:0;display:none}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__back-button-container{margin-top:auto;padding-top:1vh}}.player-info__back-button{font-family:"Nunito",sans-serif;background:rgba(231,76,60,.9);color:#fff;border:2px solid #fff;border-radius:12px;padding:10px 15px;font-size:.9rem;font-weight:800;cursor:pointer;transition:all .3s ease;min-width:120px;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 8px rgba(0,0,0,.5);transform:translateY(0);position:relative;z-index:1}.player-info__back-button:hover{background:#c0392b;transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.6)}.player-info__back-button:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.4)}@media(max-width: 767px){.player-info__back-button{font-size:.8rem;padding:5px 10px;min-width:100px}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.player-info__back-button{font-size:clamp(.7rem,1vw,.85rem);padding:.8vh 1.2vw;min-width:clamp(85px,10vw,110px);border-radius:10px;letter-spacing:.6px;box-shadow:0 3px 6px rgba(0,0,0,.5)}}
.shopping-list{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:100}@media(max-width: 767px)and (orientation: portrait){.shopping-list{position:fixed;top:2vh;right:2vw;left:auto;bottom:auto;transform:none}}@media(max-height: 500px)and (orientation: landscape){.shopping-list{position:fixed;bottom:1vh;right:1vw;left:auto;transform:none}}.shopping-list__content{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:4px solid #ff6b35;border-radius:25px;padding:1rem 1.5rem;text-align:center;box-shadow:0 8px 0 #2c3e50,0 12px 20px rgba(0,0,0,.3);position:relative;overflow:hidden;transition:all .3s ease}.shopping-list__content:hover{transform:translateY(-2px);box-shadow:0 10px 0 #2c3e50,0 15px 25px rgba(0,0,0,.4)}.shopping-list__content::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);transform:rotate(45deg);animation:shimmer 3s ease-in-out infinite;pointer-events:none;z-index:0;will-change:transform}@media(max-width: 767px)and (orientation: portrait){.shopping-list__content{padding:1vh 2vw;border-width:3px;border-radius:15px;box-shadow:0 4px 0 #2c3e50,0 6px 12px rgba(0,0,0,.3)}}@media(max-width: 767px)and (orientation: landscape){.shopping-list__content{padding:.75rem 1rem;border-width:3px;box-shadow:0 6px 0 #2c3e50,0 8px 15px rgba(0,0,0,.3)}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.shopping-list__content{padding:clamp(.6rem,1vh,.9rem) clamp(.8rem,1.5vw,1.2rem);border-width:3px;box-shadow:0 4px 0 #2c3e50,0 6px 12px rgba(0,0,0,.3);border-radius:18px}}.shopping-list__title{font-family:"Nunito",sans-serif;font-size:1.4rem;font-weight:800;margin:0 0 .75rem 0;color:#2c3e50;text-transform:uppercase;letter-spacing:1px;text-shadow:0 1px 2px rgba(255,255,255,.5);position:relative;z-index:1}@media(max-width: 767px)and (orientation: portrait){.shopping-list__title{font-size:clamp(.85rem,2.2vw,1.1rem);margin-bottom:.8vh}}@media(max-width: 767px)and (orientation: landscape){.shopping-list__title{font-size:1.1rem;margin-bottom:.5rem}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.shopping-list__title{font-size:clamp(.95rem,1.3vw,1.15rem);margin-bottom:clamp(.4rem,.8vh,.6rem)}}.shopping-list__items{display:flex;gap:1rem;justify-content:center;align-items:center;position:relative;z-index:1}@media(max-width: 767px)and (orientation: portrait){.shopping-list__items{gap:1.5vw}}@media(max-width: 767px)and (orientation: landscape){.shopping-list__items{gap:.5rem}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.shopping-list__items{gap:clamp(.5rem,1vw,.8rem)}}.shopping-list__item{font-size:2.5rem;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.8);border:3px solid #2c3e50;border-radius:15px;padding:.5rem;box-shadow:0 4px 0 #2c3e50,0 0 10px rgba(255,107,53,.2);transition:all .2s ease}.shopping-list__item:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 0 #2c3e50,0 0 15px rgba(255,107,53,.4)}@media(max-width: 767px)and (orientation: portrait){.shopping-list__item{font-size:clamp(1.4rem,4vw,1.8rem);padding:.8vh 1vw;border-width:2px;border-radius:10px;box-shadow:0 3px 0 #2c3e50}}@media(max-width: 767px)and (orientation: landscape){.shopping-list__item{font-size:1.8rem;padding:.4rem;border-width:2px;box-shadow:0 3px 0 #2c3e50}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.shopping-list__item{font-size:clamp(1.6rem,2.2vw,2rem);padding:clamp(.3rem,.6vh,.45rem);border-width:2px;box-shadow:0 3px 0 #2c3e50;border-radius:12px}}.shopping-list__item-sprite{width:2.5rem;height:2.5rem;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2))}@media(max-width: 767px)and (orientation: portrait){.shopping-list__item-sprite{width:clamp(1.4rem,4vw,1.8rem);height:clamp(1.4rem,4vw,1.8rem)}}@media(max-width: 767px)and (orientation: landscape){.shopping-list__item-sprite{width:1.8rem;height:1.8rem}}@media screen and (max-height: 660px)and (orientation: landscape)and (pointer: coarse){.shopping-list__item-sprite{width:clamp(1.6rem,2.2vw,2rem);height:clamp(1.6rem,2.2vw,2rem)}}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}100%{transform:translateX(100%) translateY(100%) rotate(45deg)}}
.statement-indicators{position:absolute;top:20px;left:20px;display:flex;gap:10px;z-index:100}@media(max-width: 767px){.statement-indicators{top:10px;left:10px;gap:5px}}.statement-indicators__indicator{width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:bold;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.statement-indicators__indicator--debt{background-color:#f44;box-shadow:0 0 15px rgba(255,68,68,.8),inset 0 0 10px rgba(0,0,0,.3)}.statement-indicators__indicator--no-debt{background-color:#4caf50;box-shadow:0 0 15px rgba(76,175,80,.8),inset 0 0 10px rgba(255,255,255,.2)}@media(max-width: 767px){.statement-indicators__indicator{width:40px;height:40px;font-size:1.2rem;border-width:2px}}
.debtors-list{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:101;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:4px solid #e74c3c;border-radius:25px;padding:2.5rem;min-width:600px;max-width:900px;max-height:70vh;box-shadow:0 8px 16px rgba(0,0,0,.2);animation:slideIn .3s ease-out;overflow:hidden;margin-top:60px}.debtors-list::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);transform:rotate(45deg);animation:shimmer 3s ease-in-out infinite;pointer-events:none;z-index:0;will-change:transform}@media(max-width: 767px){.debtors-list{min-width:340px;max-width:95vw;max-height:60vh;padding:1.5rem;margin-top:40px;border-width:3px}}.debtors-list__content{text-align:center;position:relative;z-index:1}.debtors-list__title{font-family:"Fredoka One",cursive;color:#fff;font-size:2.2rem;font-weight:400;margin:0 0 1.5rem 0;text-transform:uppercase;letter-spacing:1px;text-shadow:3px 3px 0 #2c3e50,-3px -3px 0 #2c3e50,3px -3px 0 #2c3e50,-3px 3px 0 #2c3e50,0 3px 0 #2c3e50,0 -3px 0 #2c3e50,3px 0 0 #2c3e50,-3px 0 0 #2c3e50,0 4px 0 #2c3e50,0 6px 0 #1a252f,0 8px 0 #0f1419,0 10px 20px rgba(0,0,0,.3)}@media(max-width: 767px){.debtors-list__title{font-size:1.8rem}}.debtors-list__subtitle{font-family:"Nunito",sans-serif;color:#2c3e50;font-size:1.3rem;font-weight:700;margin:0 0 1.5rem 0}@media(max-width: 767px){.debtors-list__subtitle{font-size:1.1rem}}.debtors-list__names{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));grid-gap:.75rem;gap:.75rem;max-height:350px;overflow-y:auto;padding:.5rem;background:rgba(231,76,60,.05);border-radius:15px;border:2px dashed #e74c3c}.debtors-list__names[data-count="1"]{grid-template-columns:1fr}.debtors-list__names[data-count="2"]{grid-template-columns:repeat(2, 1fr)}.debtors-list__names[data-count="3"],.debtors-list__names[data-count="4"],.debtors-list__names[data-count="5"],.debtors-list__names[data-count="6"]{grid-template-columns:repeat(3, 1fr)}.debtors-list__names[data-count-more=true]{grid-template-columns:repeat(3, 1fr)}@media(max-width: 767px){.debtors-list__names{grid-template-columns:repeat(2, 1fr);max-height:280px;gap:.5rem}.debtors-list__names[data-count="1"]{grid-template-columns:1fr}}.debtors-list__names::-webkit-scrollbar{width:8px}.debtors-list__names::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:4px}.debtors-list__names::-webkit-scrollbar-thumb{background:rgba(231,76,60,.5);border-radius:4px}.debtors-list__names::-webkit-scrollbar-thumb:hover{background:rgba(231,76,60,.8)}.debtors-list__player{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(231, 76, 60, 0.15) 50%, rgba(255, 255, 255, 0.9) 100%);border:3px solid #e74c3c;border-radius:15px;padding:1rem;box-shadow:0 4px 0 #e74c3c,0 0 15px rgba(231,76,60,.2);transition:all .2s ease;position:relative;overflow:hidden}.debtors-list__player::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);animation:playerShine 2s ease-in-out infinite}.debtors-list__player:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 0 #e74c3c,0 10px 20px rgba(231,76,60,.4);background:linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(231, 76, 60, 0.25) 50%, rgba(255, 255, 255, 0.95) 100%)}@media(max-width: 767px){.debtors-list__player{flex-direction:column;gap:.5rem;text-align:center;padding:.8rem}}.debtors-list__name{font-family:"Nunito",sans-serif;color:#2c3e50;font-weight:800;font-size:1.2rem;text-shadow:0 1px 2px rgba(255,255,255,.5);position:relative;z-index:1}@media(max-width: 767px){.debtors-list__name{font-size:1.1rem}}.debtors-list__debt{font-family:"Nunito",sans-serif;color:#e74c3c;font-weight:700;font-size:1.1rem;position:relative;z-index:1}@media(max-width: 767px){.debtors-list__debt{font-size:1rem}}.debtors-list:has(.debtors-list__title:contains("All Cards Paid Off")){border-color:#06ffa5;box-shadow:0 8px 16px rgba(0,0,0,.2),0 0 30px rgba(6,255,165,.4)}.debtors-list:has(.debtors-list__title:contains("All Cards Paid Off")) .debtors-list__title{color:#fff;text-shadow:3px 3px 0 #2c3e50,-3px -3px 0 #2c3e50,3px -3px 0 #2c3e50,-3px 3px 0 #2c3e50,0 3px 0 #2c3e50,0 -3px 0 #2c3e50,3px 0 0 #2c3e50,-3px 0 0 #2c3e50,0 4px 0 #2c3e50,0 6px 0 #1a252f,0 8px 0 #0f1419,0 10px 20px rgba(0,0,0,.3)}@keyframes slideIn{0%{opacity:0;transform:translate(-50%, -50%) scale(0.8)}100%{opacity:1;transform:translate(-50%, -50%) scale(1)}}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}100%{transform:translateX(100%) translateY(100%) rotate(45deg)}}@keyframes playerShine{0%{left:-100%}100%{left:100%}}
.game-timer{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:100;background:rgba(0,0,0,0);color:#fff;padding:1rem 2rem;font-family:"Fredoka One",cursive;font-size:4rem;font-weight:400;text-align:center;min-width:400px;text-shadow:3px 3px 0 #2c3e50,-3px -3px 0 #2c3e50,3px -3px 0 #2c3e50,-3px 3px 0 #2c3e50,0 3px 0 #2c3e50,0 -3px 0 #2c3e50,3px 0 0 #2c3e50,-3px 0 0 #2c3e50,0 4px 0 #2c3e50,0 6px 0 #1a252f,0 8px 0 #0f1419,0 10px 20px rgba(0,0,0,.3);transition:all .3s ease}.game-timer__label{font-family:"Nunito",sans-serif;font-size:1.4rem;font-weight:600;text-shadow:1px 1px 0 #2c3e50,-1px -1px 0 #2c3e50,1px -1px 0 #2c3e50,-1px 1px 0 #2c3e50;position:relative;z-index:1;margin-bottom:.4rem;letter-spacing:1px}.game-timer__value{display:block;position:relative;z-index:1}.game-timer__letter{display:inline-block;transition:transform .3s ease;animation:letterBounce 4s ease-in-out infinite}.game-timer--warning{color:#e74c3c;background:rgba(0,0,0,0);animation:pulse-warning 1s infinite alternate}.game-timer--warning .game-timer__letter{animation:letterBounce .5s ease-in-out infinite,warningShake .3s ease-in-out infinite}.game-timer--host{font-size:3.5rem;padding:1.5rem 3rem;min-width:350px}.game-timer--host .game-timer__label{font-size:1rem}@media(max-width: 767px){.game-timer--host{font-size:2.8rem;padding:1rem 2rem;min-width:280px}.game-timer--host .game-timer__label{font-size:.8rem}}@media(max-width: 767px)and (orientation: portrait){.game-timer{top:3vh;left:15vw;transform:none;font-size:clamp(2rem,5vw,3rem);padding:1vh 2vw;min-width:auto;width:auto}.game-timer .game-timer__label{font-size:clamp(.9rem,2.5vw,1.2rem);margin-bottom:.5vh}}@media(max-width: 767px)and (orientation: landscape){.game-timer{top:10px;font-size:3rem;padding:.8rem 1.5rem;min-width:300px}.game-timer .game-timer__label{font-size:1.2rem}}@media(max-height: 500px){.game-timer{top:.5vh;font-size:8vh;padding:1vh 3vw;min-width:40vw;text-shadow:2px 2px 0 #2c3e50,-2px -2px 0 #2c3e50,2px -2px 0 #2c3e50,-2px 2px 0 #2c3e50,0 2px 0 #2c3e50,0 -2px 0 #2c3e50,2px 0 0 #2c3e50,-2px 0 0 #2c3e50,0 3px 0 #2c3e50,0 4px 0 #1a252f,0 5px 0 #0f1419,0 7px 15px rgba(0,0,0,.3)}.game-timer .game-timer__label{font-size:3.6vh;margin-bottom:.5vh}}@keyframes pulse-warning{0%{opacity:.9;transform:translateX(-50%) scale(1)}100%{opacity:1;transform:translateX(-50%) scale(1.05)}}@media(max-width: 767px)and (orientation: portrait){@keyframes pulse-warning{0%{opacity:.9;transform:scale(1)}100%{opacity:1;transform:scale(1.05)}}}@keyframes letterBounce{0%,90%,100%{transform:translateY(0px) rotate(0deg)}5%,85%{transform:translateY(-2px) rotate(-0.5deg)}}@keyframes warningShake{0%,100%{transform:translateX(0) translateY(0)}25%{transform:translateX(-2px) translateY(-1px)}75%{transform:translateX(2px) translateY(1px)}}
.statement-visualization{display:flex;gap:10px}.statement-visualization__indicator{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:bold;color:#fff}.statement-visualization__indicator--debt{background-color:#f44;box-shadow:0 0 10px rgba(255,68,68,.6),inset 0 0 5px rgba(0,0,0,.2)}.statement-visualization__indicator--no-debt{background-color:#4caf50;box-shadow:0 0 10px rgba(76,175,80,.6),inset 0 0 5px rgba(255,255,255,.2)}.statement-visualization--year-end{gap:5px}.statement-visualization--year-end .statement-visualization__indicator{width:30px;height:30px;font-size:1rem;border-width:1px}
.debug-panel-toggle{position:fixed;bottom:20px;right:20px;z-index:10000;width:50px;height:50px;border-radius:50%;background:rgba(0,0,0,.7);border:2px solid lime;color:#fff;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.3);transition:all .2s ease}.debug-panel-toggle:hover{background:rgba(0,0,0,.9);transform:scale(1.1)}.connection-debug-panel{position:fixed;bottom:20px;right:20px;z-index:10000;width:350px;max-height:80vh;background:rgba(0,0,0,.95);border:2px solid lime;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.5);font-family:"Courier New",monospace;overflow:hidden;display:flex;flex-direction:column}.debug-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#1a1a1a;border-bottom:1px solid lime}.debug-panel-header h3{margin:0;color:lime;font-size:16px;font-weight:bold}.debug-panel-header button{background:rgba(0,0,0,0);border:none;color:#ff6b6b;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.debug-panel-header button:hover{transform:scale(1.2)}.debug-panel-content{padding:16px;overflow-y:auto;flex:1 1;color:#fff}.debug-section{margin-bottom:20px}.debug-section:last-child{margin-bottom:0}.debug-section h4{margin:0 0 12px 0;color:lime;font-size:14px;font-weight:bold;text-transform:uppercase;letter-spacing:1px}.debug-info{font-size:12px}.status-indicator{padding:8px 12px;border-radius:4px;margin-bottom:12px;font-weight:bold;text-align:center}.status-indicator.connected{background:rgba(0,255,0,.2);border:1px solid lime;color:lime}.status-indicator.disconnected{background:rgba(255,0,0,.2);border:1px solid #ff6b6b;color:#ff6b6b}.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1)}.info-row:last-child{border-bottom:none}.info-row span:first-child{color:#888}.info-row span:last-child{color:#fff;font-weight:bold}.debug-button{width:100%;padding:10px 16px;margin-bottom:8px;border:none;border-radius:4px;font-size:13px;font-weight:bold;cursor:pointer;transition:all .2s ease;font-family:"Courier New",monospace}.debug-button:last-child{margin-bottom:0}.debug-button:disabled{opacity:.4;cursor:not-allowed}.debug-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.3)}.debug-button--danger{background:#ff6b6b;color:#fff}.debug-button--danger:not(:disabled):hover{background:#ff5252}.debug-button--primary{background:lime;color:#000}.debug-button--primary:not(:disabled):hover{background:#0d0}.debug-button--warning{background:orange;color:#000}.debug-button--warning:not(:disabled):hover{background:#ff9500}.debug-divider{height:1px;background:rgba(255,255,255,.2);margin:12px 0}.countdown-display{text-align:center;padding:16px;background:rgba(255,165,0,.1);border:1px solid orange;border-radius:4px;margin-bottom:8px}.countdown-display p{margin:0 0 12px 0;color:orange;font-size:14px}.countdown-display p strong{display:block;font-size:24px;margin-top:8px}.countdown-display p.countdown-note{font-size:11px;color:#888;margin-top:8px;font-style:italic}.countdown-display p:last-child{margin-bottom:0}.button-note{margin:-4px 0 8px 0;font-size:10px;color:#666;font-style:italic;text-align:center}.test-scenarios{margin:0;padding-left:20px;font-size:12px;line-height:1.6}.test-scenarios li{margin-bottom:8px;color:#ccc}.test-scenarios li:last-child{margin-bottom:0}.test-scenarios li strong{color:lime}@media(max-width: 768px){.connection-debug-panel{width:calc(100vw - 40px);max-width:350px}.debug-panel-toggle{bottom:10px;right:10px;width:40px;height:40px;font-size:20px}}
