html,body,#root{position:fixed;top:0;left:0;width:100%;height:100%;background:black;overflow:hidden;-webkit-overflow-scrolling:touch;touch-action:manipulation}@media (max-width: 768px){html,body{position:fixed;overflow:hidden;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100vh;min-height:100vh;max-height:100vh}input,textarea,select{font-size:16px}.username-screen,.interface{position:fixed;top:0;left:0;width:100%;height:100vh;max-height:100vh;overflow:hidden}body.keyboard-open{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden}}.interface{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif}.time{position:absolute;top:15%;left:0;width:100%;color:#fff;font-size:6vh;background:#00000033;padding-top:5px;text-align:center}.flash-message{position:absolute;top:calc(20% + 40px);left:0;width:100%;text-align:center;color:#fff;font-size:5vh;background:rgba(0,0,0,.5);animation:fadeInOut 2s ease forwards}@keyframes fadeInOut{0%,to{opacity:0}10%,90%{opacity:1}}.restart{display:flex;justify-content:center;position:absolute;top:40%;left:0;width:100%;color:#00f;font-size:80px;background:#00000033;padding-top:10px;pointer-events:auto;cursor:pointer}.controls{position:absolute;bottom:10%;left:5%;width:100%}.controls .raw{display:flex;justify-content:left}.controls .raw:first-child{position:relative;left:52px}.controls .key{width:40px;height:40px;margin:4px;border:2px solid #ffffff;background:#ffffff44}.controls .key.large{width:144px}.controls .key.active{background:#ffffff99}.username-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;pointer-events:auto}.username-screen h1{color:#fff;font-size:3rem;margin-bottom:2rem;text-align:center}.username-screen form{display:flex;flex-direction:column;align-items:center;gap:1rem}.username-screen input{padding:1rem;font-size:1.2rem;border:2px solid #ffffff;border-radius:.5rem;background:rgba(255,255,255,.1);color:#fff;text-align:center;min-width:300px}.username-screen input::placeholder{color:#ffffffb3}.username-screen button{padding:1rem 2rem;font-size:1.2rem;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;border:2px solid #ffffff;border-radius:.5rem;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .3s}.username-screen button:hover:not(:disabled){background:rgba(255,255,255,.2)}.username-screen button:disabled{opacity:.5;cursor:not-allowed}.username-buttons{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.wallet-connected,.wallet-disconnected{display:flex;justify-content:center;align-items:center}.wallet-info{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:.5rem;border:2px solid rgba(255,255,255,.3)}.wallet-address{color:#fff;font-size:.9rem}.wallet-button{padding:.5rem 1rem;font-size:.9rem;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;border:2px solid #ffffff;border-radius:.3rem;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .3s}.wallet-button:hover:not(:disabled){background:rgba(255,255,255,.2)}.wallet-button:disabled{opacity:.5;cursor:not-allowed}.wallet-button.disconnect{background:rgba(255,100,100,.2);border-color:#ff646480}.wallet-button.disconnect:hover{background:rgba(255,100,100,.3)}.top-right-controls{position:fixed;top:1rem;right:1rem;z-index:500;pointer-events:auto}.wallet-section{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;width:auto}.wallet-button.custom-marble{padding:.5rem 1rem;font-size:.9rem;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;border:2px solid #ffffff;border-radius:.3rem;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .3s;min-width:auto;white-space:nowrap}.wallet-button.custom-marble:hover{background:rgba(255,255,255,.2)}.marble-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:2000;pointer-events:auto}.marble-modal-content{background:rgba(0,0,0,.95);border:2px solid #ffffff;border-radius:1rem;max-width:90vw;max-height:90vh;width:800px;overflow:hidden;display:flex;flex-direction:column}.marble-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.3)}.marble-modal-header h2{color:#fff;margin:0;font-size:1.5rem}.marble-modal-close{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background .2s}.marble-modal-close:hover{background:rgba(255,255,255,.2)}.marble-modal-body{padding:1rem;overflow-y:auto;flex:1}.marble-modal-info{margin-bottom:1rem;text-align:center}.marble-modal-info p{color:#fff;margin:0 0 .5rem}.marble-modal-info small{color:#ffffffb3;font-size:.8rem}.marble-modal-error{text-align:center;padding:2rem}.marble-modal-error p{color:#fff;font-size:1.1rem}.selected-nft-preview{background:rgba(138,43,226,.1);border:2px solid rgba(138,43,226,.3);border-radius:.5rem;padding:1rem;margin-bottom:1rem}.selected-nft-preview h3{color:#fff;margin:0 0 1rem;text-align:center}.selected-nft{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.selected-nft img{width:80px;height:80px;object-fit:cover;border-radius:.5rem;border:2px solid rgba(255,255,255,.3)}.selected-nft-info p{color:#fff;margin:0}.selected-nft-info .collection-name{color:#ffffffb3;font-size:.9rem}.marble-shape-selector{margin-bottom:1rem;padding:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:.5rem}.marble-shape-selector h4{margin:0 0 .75rem;color:#fff;font-size:1rem;text-align:center}.shape-options{display:flex;gap:.5rem;justify-content:center}.shape-option{flex:1;padding:.75rem;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.3);border-radius:.5rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;font-size:.9rem;cursor:pointer;transition:all .3s;text-align:center}.shape-option:hover{background:rgba(255,255,255,.2);border-color:#ffffff80}.shape-option.active{background:rgba(138,43,226,.3);border-color:#8a2be2cc;box-shadow:0 0 10px #8a2be266}.confirm-selection-btn{width:100%;padding:.75rem;background:rgba(138,43,226,.2);border:2px solid rgba(138,43,226,.5);border-radius:.5rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;font-size:1rem;cursor:pointer;transition:background .3s}.confirm-selection-btn:hover{background:rgba(138,43,226,.3)}.nft-grid-container{max-height:400px;overflow-y:auto;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;padding:1rem}.nft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.nft-item{background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.2);border-radius:.5rem;padding:.5rem;cursor:pointer;transition:all .3s;text-align:center}.nft-item:hover{border-color:#8a2be280;background:rgba(138,43,226,.1);transform:translateY(-2px)}.nft-item img{width:100%;height:100px;object-fit:cover;border-radius:.25rem;margin-bottom:.5rem}.nft-item p{color:#fff;font-size:.8rem;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.nft-item small{color:#ffffffb3;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.load-more-btn{grid-column:1 / -1;padding:.75rem;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.3);border-radius:.5rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;cursor:pointer;transition:background .3s}.load-more-btn:hover{background:rgba(255,255,255,.2)}.nft-loading-message{text-align:center;padding:2rem;color:#fff;font-size:1rem}.nft-empty-state{text-align:center;padding:3rem;color:#fffc}.nft-empty-state p{font-size:1.2rem;margin-bottom:.5rem}.nft-empty-state small{font-size:.9rem;color:#fff9}.nft-loading-indicator{text-align:center;padding:1rem;color:#fffc;grid-column:1 / -1}.nft-initial-loading{text-align:center;padding:3rem;color:#fff}.nft-initial-loading p{font-size:1.2rem;margin-bottom:.5rem}.nft-initial-loading small{font-size:.9rem;color:#ffffffb3}.username-display{position:absolute;top:4rem;left:1rem;color:#fff;font-size:1rem;background:rgba(0,0,0,.7);padding:.5rem 1rem;border-radius:.3rem;pointer-events:none}.metagame-info{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.metagame-wallet{color:#0f8;font-family:monospace;font-weight:700;text-shadow:0 0 4px rgba(0,255,136,.5);font-size:.75rem}.metagame-user-id{color:#8df;font-family:monospace;font-weight:700;text-shadow:0 0 4px rgba(136,221,255,.5);font-size:.75rem}.metagame-status-error{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;pointer-events:auto;animation:slideInFromTop .3s ease-out}@keyframes slideInFromTop{0%{transform:translate(-50%,-60%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.metagame-error-content{background:rgba(255,100,100,.95);border:2px solid #ff6464;border-radius:.5rem;padding:1.5rem;max-width:400px;text-align:center;backdrop-filter:blur(10px)}.metagame-error-content h4{margin:0 0 1rem;color:#fff;font-size:1.2rem;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif}.metagame-error-content p{margin:0 0 .5rem;color:#fff;font-size:.9rem;line-height:1.4}.metagame-error-content small{display:block;margin-bottom:1rem;color:#fffc;font-size:.8rem}.error-dismiss{padding:.5rem 1rem;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);border-radius:.3rem;color:#fff;cursor:pointer;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;font-size:.9rem;transition:background .3s}.error-dismiss:hover{background:rgba(255,255,255,.3)}.right-side-controls{position:absolute;top:4rem;right:1rem;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;pointer-events:auto;z-index:400}.game-over{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.9);padding:2rem;border-radius:1rem;border:2px solid #ffffff;text-align:center;z-index:1000;pointer-events:auto;max-width:90vw;max-height:90vh;overflow-y:auto}@media screen and (orientation: landscape) and (max-height: 568px){.game-over{padding:1rem;max-height:85vh;max-width:95vw}.game-over h2{font-size:1.5rem;margin-bottom:.5rem}.game-over p{font-size:1.2rem;margin-bottom:1rem}.filter-progress{padding:10px;margin:10px 0}.filter-progress h3{font-size:1rem}.filter-grid{gap:5px}.filter-item{padding:5px}.game-over-buttons{gap:.5rem}.game-over-buttons button{padding:.5rem 1rem;font-size:.9rem}}.game-over h2{color:#fff;font-size:2rem;margin-bottom:1rem}.game-over p{color:#fff;font-size:1.5rem;margin-bottom:2rem}.game-over-buttons{display:flex;gap:1rem;justify-content:center}.game-over-buttons button{padding:1rem 2rem;font-size:1rem;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;border:2px solid #ffffff;border-radius:.5rem;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .3s}.game-over-buttons button:hover{background:rgba(255,255,255,.2)}.filter-progress{background:rgba(0,0,0,.8);border-radius:10px;padding:20px;margin:20px 0;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:#fff}.filter-progress h3{margin:0 0 10px;text-align:center;font-size:1.2em;color:#ff0}.quest-description{text-align:center;margin:0 0 15px;color:#ccc;font-size:.9em}.filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:15px}@media (min-width: 500px){.filter-grid{grid-template-columns:repeat(4,1fr)}}.filter-item{background:rgba(255,255,255,.1);border-radius:8px;padding:10px;text-align:center;transition:all .3s ease;border:2px solid transparent}.filter-item.collected{background:rgba(0,255,0,.2);border-color:#0f0}.filter-icon{font-size:1.5em;margin-bottom:5px}.filter-name{font-size:.8em;font-weight:700;margin-bottom:3px}.filter-status{font-size:.7em;color:#ccc}.quest-status{text-align:center;padding:10px;border-radius:8px}.quest-completed{background:rgba(0,255,0,.2);color:#0f0;font-weight:700;animation:pulse-green 2s infinite}.quest-progress{background:rgba(255,255,0,.1);color:#ff0}@keyframes pulse-green{0%,to{box-shadow:0 0 5px #00ff0080}50%{box-shadow:0 0 20px #0f0c}}.leaderboard-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:1001;pointer-events:auto}.leaderboard-content{background:rgba(0,0,0,.95);padding:2rem;border-radius:1rem;border:2px solid #ffffff;max-width:500px;width:90%;max-height:80%;overflow-y:auto}.leaderboard-content h2{color:#fff;text-align:center;margin-bottom:1.5rem;font-size:2rem}.leaderboard-list{margin-bottom:2rem}.leaderboard-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:rgba(255,255,255,.1);border-radius:.5rem;color:#fff;width:100%;box-sizing:border-box}.leaderboard-item.current-user{background:rgba(255,215,0,.2);border:1px solid #ffd700}.leaderboard-item .rank{font-weight:700;min-width:3rem;flex-shrink:0}.leaderboard-item .name{flex:1;text-align:left;margin:0 1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-item .score-time{font-weight:700;min-width:4rem;text-align:right;flex-shrink:0}.leaderboard-content button{width:100%;padding:1rem;font-size:1rem;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;border:2px solid #ffffff;border-radius:.5rem;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .3s}.leaderboard-content button:hover{background:rgba(255,255,255,.2)}.marble-dropper{position:fixed;top:1rem;right:1rem;width:250px;background:rgba(0,0,0,.85);border:2px solid rgba(255,255,255,.3);border-radius:.5rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;pointer-events:auto;z-index:100;transition:all .3s ease;animation:slideInFromRight .5s ease-out}.marble-dropper.dragging{border-color:#4caf50;background:rgba(76,175,80,.2)}.marble-dropper.has-file{border-color:#4caf50}.marble-dropper-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid rgba(255,255,255,.2);font-size:.9rem}.minimize-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:.2rem .4rem;border-radius:.2rem;transition:background .2s}.minimize-btn:hover{background:rgba(255,255,255,.2)}.marble-dropper-content{padding:1rem;text-align:center}.drop-text{margin-bottom:1rem;font-size:.9rem;line-height:1.4}.drop-text small{font-size:.7rem;opacity:.8}.file-input{width:100%;padding:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:.3rem;color:#fff;font-size:.8rem;cursor:pointer}.file-input::-webkit-file-upload-button{background:rgba(255,255,255,.2);border:none;border-radius:.2rem;color:#fff;padding:.3rem .6rem;margin-right:.5rem;cursor:pointer;font-size:.7rem}.file-info{margin-bottom:1rem}.file-name{font-size:.8rem;margin-bottom:.3rem;word-break:break-all}.file-size{font-size:.7rem;opacity:.8}.clear-btn{width:100%;padding:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:.3rem;color:#fff;font-size:.8rem;cursor:pointer;transition:background .2s}.clear-btn:hover{background:rgba(255,255,255,.2)}.marble-dropper-minimized{position:fixed;top:1rem;right:1rem;padding:.5rem 1rem;background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.3);border-radius:1rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;font-size:.8rem;cursor:pointer;pointer-events:auto;z-index:100;transition:all .2s ease}.marble-dropper-minimized:hover{background:rgba(0,0,0,.9);border-color:#ffffff80}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.confetti-piece{position:absolute;width:10px;height:10px;top:-10px;animation:confettiFall 3s linear forwards}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.debug-panel{position:fixed;bottom:1rem;right:1rem;width:320px;background:rgba(0,0,0,.9);border:2px solid #00ff00;border-radius:.5rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;pointer-events:auto;z-index:200;animation:slideInFromBottom .3s ease-out}@keyframes slideInFromBottom{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.debug-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:rgba(0,255,0,.1);border-bottom:1px solid #00ff00;font-size:1rem;font-weight:700}.debug-close{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;padding:.2rem .5rem;border-radius:.2rem;transition:background .2s}.debug-close:hover{background:rgba(255,255,255,.2)}.debug-content{padding:1rem}.jwt-user-info{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.jwt-badge{color:#ffeb3b;font-weight:700;text-shadow:0 0 4px rgba(255,235,59,.5)}.jwt-wallet{color:#81c784;font-family:monospace;font-size:.75rem}.jwt-marble-toggle{margin-top:.25rem;pointer-events:auto}.marble-shape-toggle{padding:.25rem .5rem;font-size:.7rem;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;border:1px solid rgba(255,255,255,.5);border-radius:.3rem;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:all .3s;white-space:nowrap}.marble-shape-toggle:hover{background:rgba(255,255,255,.2);border-color:#fffc;transform:scale(1.05)}.marble-shape-toggle:active{transform:scale(.95)}.debug-section{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,255,0,.3)}.debug-section:last-child{border-bottom:none;margin-bottom:0}.debug-section h4{margin:0 0 .5rem;color:#0f0;font-size:.9rem}.debug-info{font-size:.8rem;color:#ccc;margin-top:.3rem}.debug-checkbox{display:flex;align-items:center;cursor:pointer;font-size:.85rem}.debug-checkbox input[type=checkbox]{margin-right:.5rem;accent-color:#00ff00}.debug-instructions{font-size:.75rem;line-height:1.4;color:#aaa}.debug-instructions strong{color:#0f0;font-weight:700}.debug-controls{display:flex;flex-direction:column;gap:.5rem}.custom-marble-info{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:rgba(255,255,255,.1);border-radius:4px}.current-nft{color:#4ade80;font-weight:700;font-size:.9rem}.marble-shape-controls{display:flex;align-items:center;gap:.5rem}.marble-shape-controls label{color:#ccc;font-size:.8rem}.marble-shape-controls select{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;padding:.25rem;font-size:.8rem}.debug-btn{background:#3b82f6;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.8rem;cursor:pointer;transition:background .2s}.debug-btn:hover{background:#2563eb}.debug-btn.secondary{background:#6b7280}.debug-btn.secondary:hover{background:#4b5563}.blockchain-logs,.metagame-logs{max-height:300px;overflow-y:auto;background:rgba(0,0,0,.5);border:1px solid rgba(0,255,0,.3);border-radius:4px;padding:.5rem;font-family:Courier New,monospace;scroll-behavior:smooth}.log-entry{border-bottom:1px solid rgba(0,255,0,.2);padding:.5rem 0;margin-bottom:.5rem}.log-entry:last-child{border-bottom:none;margin-bottom:0}.log-entry.log-success{border-left:3px solid #10b981}.log-entry.log-error{border-left:3px solid #ef4444}.log-entry.log-pending{border-left:3px solid #f59e0b}.log-entry.log-info{border-left:3px solid #3b82f6}.log-timestamp{color:#888;font-size:.7rem;margin-bottom:.25rem}.log-message{color:#0f0;font-weight:700;font-size:.8rem;margin-bottom:.25rem}.log-data{color:#ccc;font-size:.7rem;background:rgba(0,0,0,.3);padding:.25rem;border-radius:3px;white-space:pre-wrap;word-break:break-all;max-height:150px;overflow-y:auto}.filters-panel{position:fixed;top:11rem;right:1rem;width:250px;background:rgba(0,0,0,.85);border:2px solid rgba(255,255,255,.3);border-radius:.5rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;pointer-events:auto;z-index:100;transition:all .3s ease;animation:slideInFromRight .5s ease-out}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.filters-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid rgba(255,255,255,.2);font-size:.9rem}.filters-panel-content{padding:1rem}.active-filters-info{text-align:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.2)}.active-filters-info h4{margin:0 0 .5rem;font-size:.9rem;color:#fff}.active-filters-info p{margin:0;font-size:.7rem;color:#ffffffb3}.filters-status{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.filter-status{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:.3rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;transition:all .2s}.filter-status.active{background:rgba(0,255,0,.2);border-color:#0f0;box-shadow:0 0 8px #00ff004d}.filter-status .filter-icon{font-size:1rem;margin-right:.3rem}.filter-status .filter-name{font-size:.7rem;flex:1;text-align:left}.filter-status .filter-indicator{font-size:.8rem;color:#fff}.active-count{text-align:center;font-size:.8rem;color:#0f0;background:rgba(0,255,0,.1);padding:.5rem;border-radius:.3rem;border:1px solid rgba(0,255,0,.3)}.filter-toggle{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:.3rem;color:#fff;cursor:pointer;transition:all .2s;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif}.filter-toggle:hover{background:rgba(255,255,255,.2);border-color:#ffffff80}.filter-toggle.active{background:rgba(255,255,255,.3);border-color:#fff;box-shadow:0 0 10px #ffffff4d}.filter-icon{font-size:1.2rem;margin-bottom:.2rem}.filter-name{font-size:.7rem;text-align:center}.clear-filters-btn{width:100%;padding:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:.3rem;color:#fff;font-size:.8rem;cursor:pointer;transition:background .2s;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif}.clear-filters-btn:hover{background:rgba(255,255,255,.2)}.filters-panel-minimized{position:fixed;top:6rem;right:1rem;padding:.5rem 1rem;background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.3);border-radius:1rem;color:#fff;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;font-size:.8rem;cursor:pointer;pointer-events:auto;z-index:100;transition:all .2s ease}.filters-panel-minimized:hover{background:rgba(0,0,0,.9);border-color:#ffffff80}@keyframes rainbowHue{0%{filter:hue-rotate(0deg)}25%{filter:hue-rotate(90deg)}50%{filter:hue-rotate(180deg)}75%{filter:hue-rotate(270deg)}to{filter:hue-rotate(360deg)}}.rainbow-effect{animation:rainbowHue 2s linear infinite}@keyframes drunkEffect{0%{transform:rotate(0) scale(1)}25%{transform:rotate(.5deg) scale(1.01)}50%{transform:rotate(-.5deg) scale(.99)}75%{transform:rotate(.3deg) scale(1.01)}to{transform:rotate(0) scale(1)}}.drunk-effect{animation:drunkEffect 2s ease-in-out infinite}@keyframes acidEffect{0%{transform:scale(1) hue-rotate(0deg);filter:saturate(3) contrast(2) hue-rotate(0deg)}16%{transform:scale(1.02) hue-rotate(60deg);filter:saturate(4) contrast(3) hue-rotate(60deg)}33%{transform:scale(.98) hue-rotate(120deg);filter:saturate(5) contrast(2.5) hue-rotate(120deg)}50%{transform:scale(1.01) hue-rotate(180deg);filter:saturate(3.5) contrast(3.5) hue-rotate(180deg)}66%{transform:scale(.99) hue-rotate(240deg);filter:saturate(4.5) contrast(2) hue-rotate(240deg)}83%{transform:scale(1.02) hue-rotate(300deg);filter:saturate(3) contrast(4) hue-rotate(300deg)}to{transform:scale(1) hue-rotate(360deg);filter:saturate(3) contrast(2) hue-rotate(360deg)}}.acid-effect{animation:acidEffect 1.5s ease-in-out infinite}.mobile-controls{position:fixed;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}.joystick{position:absolute;bottom:2rem;left:2rem;width:100px;height:100px;background:rgba(255,255,255,.2);border:3px solid rgba(255,255,255,.5);border-radius:50%;pointer-events:auto;touch-action:none;user-select:none}.joystick.active{background:rgba(255,255,255,.3);border-color:#fffc}.joystick-knob{position:absolute;top:50%;left:50%;width:40px;height:40px;background:rgba(255,255,255,.8);border:2px solid #ffffff;border-radius:50%;transform:translate(-50%,-50%);transition:background .2s}.joystick.active .joystick-knob{background:rgba(255,255,255,1)}.jump-button{position:absolute;bottom:2rem;right:2rem;width:80px;height:80px;background:rgba(255,255,255,.2);border:3px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;user-select:none;cursor:pointer;transition:all .2s;outline:none;-webkit-tap-highlight-color:transparent}.jump-button.active{background:rgba(255,255,255,.4);border-color:#ffffffe6;transform:scale(.95)}.jump-button:active{background:rgba(255,255,255,.5)}@media screen and (orientation: landscape) and (max-height: 568px){.joystick{bottom:1rem;left:1rem;width:80px;height:80px}.joystick-knob{width:30px;height:30px}.jump-button{bottom:1rem;right:1rem;width:60px;height:60px;font-size:1.5rem}}.game-over-buttons button,.leaderboard-content button{min-height:44px;min-width:44px;padding:.75rem 1.5rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent;outline:none}.game-over-buttons button:active,.leaderboard-content button:active{transform:scale(.95)}@media (min-width: 769px) and (pointer: fine){.mobile-controls{display:none}}.mobile-specific-controls{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.accelerometer-button{padding:.5rem 1rem;font-size:.9rem;font-family:Bebas Neue,Arial Black,Arial Bold,Impact,Helvetica Neue,Arial,sans-serif;border:2px solid #ffffff;border-radius:.3rem;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:all .3s;white-space:nowrap;min-width:auto}.accelerometer-button:hover{background:rgba(255,255,255,.2);transform:scale(1.05)}.accelerometer-button.active{background:rgba(0,255,0,.2);border-color:#0f0;box-shadow:0 0 10px #00ff004d;animation:pulse-green 2s infinite}.accelerometer-button.needs-permission{background:rgba(255,215,0,.2);border-color:gold;animation:pulse-yellow 1.5s infinite}@keyframes pulse-yellow{0%,to{box-shadow:0 0 5px #ffd70080}50%{box-shadow:0 0 15px #ffd700cc}}
