@import"https://fonts.googleapis.com/css2?family=Exo+2:wght@300;400;700&family=Rajdhani:wght@400;500;700&display=swap";:root{--font-primary: "Rajdhani", "Exo 2", sans-serif;--font-secondary: "Exo 2", sans-serif;--color-background-dark: #0f111f;--color-background-main: #080a15;--color-background-screen: rgba(8, 10, 21, .95);--color-background-input: #131731;--color-game-area-bg: #070914;--color-text-primary: #64ffda;--color-text-secondary: #b0c4de;--color-text-tertiary: #8a9bb4;--color-text-highlight: #7e57c2;--color-text-error: #ff5252;--color-primary-accent: #64ffda;--color-primary-accent-rgb: 100, 255, 218;--color-secondary-accent: #7e57c2;--color-secondary-accent-rgb: 126, 87, 194;--color-error-accent: #ff5252;--color-error-accent-rgb: 255, 82, 82;--color-gold: #ffd700;--glow-primary: 0 0 8px rgba(var(--color-primary-accent-rgb), .7), 0 0 20px rgba(var(--color-primary-accent-rgb), .3);--glow-error: 0 0 8px rgba(var(--color-error-accent-rgb), .7);--glow-purple: 0 0 8px rgba(126, 87, 194, .7);--spacing-xs: clamp(4px, .5vh, 6px);--spacing-sm: clamp(8px, 1vh, 10px);--spacing-md: clamp(12px, 1.5vh, 15px);--spacing-lg: clamp(16px, 2vh, 20px)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{display:flex;justify-content:center;align-items:center;font-family:var(--font-primary);background-color:var(--color-background-dark);color:var(--color-text-primary);background-image:linear-gradient(to bottom,#080a15f2,#080a15f2);background-size:cover;background-position:center}h1,h2,p{margin-bottom:var(--spacing-md);text-align:center}h1{font-size:clamp(1.5rem,5vw,2.2rem);color:var(--color-primary-accent);text-shadow:var(--glow-primary);font-weight:700;letter-spacing:2px;text-transform:uppercase;position:relative;margin-top:var(--spacing-md);padding-bottom:var(--spacing-sm)}h1:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:60%;height:2px;background:linear-gradient(90deg,#7e57c200,#7e57c2,#7e57c200)}h2{font-size:clamp(1.4rem,4vw,1.8rem);color:var(--color-secondary-accent);text-shadow:var(--glow-purple);font-weight:500;letter-spacing:1px}p{line-height:1.5}.subtitle{font-size:clamp(.7rem,2vw,.9rem);color:var(--color-text-secondary);margin-bottom:0;letter-spacing:1px;text-transform:uppercase;opacity:.8}@media (max-height: 700px){.subtitle{margin-bottom:var(--spacing-md)}}.instructions{font-size:clamp(.7rem,2vw,.8rem);color:var(--color-text-tertiary);margin-top:var(--spacing-md);background-color:#7e57c21a;padding:var(--spacing-xs) var(--spacing-sm);border-left:2px solid var(--color-secondary-accent);border-right:2px solid var(--color-secondary-accent);max-width:400px}@media (max-height: 700px){.instructions{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgba(var(--color-primary-accent-rgb),.05);border-radius:10px;margin:2px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(var(--color-primary-accent-rgb),.6),rgba(var(--color-secondary-accent-rgb),.6));border-radius:10px;border:1px solid rgba(0,0,0,.4);transition:background .2s ease-in-out,box-shadow .2s ease-in-out}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(var(--color-primary-accent-rgb),.9),rgba(var(--color-secondary-accent-rgb),.9));box-shadow:var(--glow-primary)}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:rgba(var(--color-secondary-accent-rgb),.7) rgba(var(--color-primary-accent-rgb),.05)}#app{position:relative;width:100%;max-width:600px;height:100%;max-height:800px;background-color:var(--color-background-main);border:2px solid var(--color-primary-accent);box-shadow:var(--glow-primary);overflow:hidden;display:flex;flex-direction:column}#app:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1px solid rgba(126,87,194,.5);pointer-events:none;z-index:1}#app:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(45deg,var(--color-primary-accent) 0,transparent 2px),linear-gradient(-45deg,var(--color-primary-accent) 0,transparent 2px),linear-gradient(135deg,var(--color-primary-accent) 0,transparent 2px),linear-gradient(-135deg,var(--color-primary-accent) 0,transparent 2px);background-size:30px 30px;background-position:top left,top right,bottom left,bottom right;background-repeat:no-repeat;pointer-events:none;z-index:1}@media (max-height: 700px){#app{max-height:100%}}@media (max-width: 480px){#app{max-width:100%}}#app #feedback-button{position:absolute;top:10px;right:10px;z-index:100;display:flex;justify-content:center;align-items:center;width:40px;min-width:40px;max-width:40px;height:40px;padding:0;background-color:#080a1599;border-radius:50%;border:1px solid rgba(var(--color-primary-accent-rgb),.3);cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s;color:var(--color-text-secondary)}#app #feedback-button svg{display:block;width:22px;height:22px;transition:color .2s}#app #feedback-button:hover{background-color:rgba(var(--color-primary-accent-rgb),.2);border-color:rgba(var(--color-primary-accent-rgb),.7);transform:scale(1.1);box-shadow:var(--glow-primary);color:var(--color-primary-accent)}#app #feedback-button:active{transform:scale(1);background-color:rgba(var(--color-primary-accent-rgb),.3)}.screen{display:none;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--spacing-md);position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-background-screen);opacity:0;transition:opacity .3s ease-in-out;z-index:10;pointer-events:none;overflow-y:auto;background-image:linear-gradient(rgba(100,255,218,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(100,255,218,.03) 1px,transparent 1px);background-size:20px 20px}.screen.active{display:flex;opacity:1;z-index:20;pointer-events:auto}@media (max-height: 700px),(max-width: 480px){.screen{padding:var(--spacing-sm)}}#game-screen{position:relative;width:100%;height:100%;display:flex;flex-direction:column;background-color:transparent;padding:0;justify-content:flex-start}#game-background{position:absolute;top:40px;left:0;width:100%;height:calc(100% - 40px);background-size:cover;background-position:center bottom;background-repeat:repeat;z-index:1;transition:background-image 1s ease-in-out}#game-canvas{display:block;width:100%;height:calc(100% - 40px);position:relative;z-index:1;background-color:transparent;border-top:1px solid rgba(var(--color-primary-accent-rgb),.3)}.game-ui-top{display:flex;justify-content:space-between;align-items:center;width:100%;padding:5px 15px;background-color:#080a15cc;height:40px;flex-shrink:0;z-index:6;border-bottom:1px solid rgba(var(--color-primary-accent-rgb),.5);box-shadow:0 2px 5px #00000080;position:relative}.game-ui-top:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--color-secondary-accent),transparent)}.ui-section{display:flex;align-items:center;gap:10px}.ui-section.left{justify-content:flex-start;flex:1;min-width:100px}.ui-section.center{justify-content:center;flex-shrink:0}.ui-section.right{justify-content:flex-end;flex:1;min-width:100px}.game-action-button{background:none;border:none;color:var(--color-text-secondary);padding:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,transform .1s}.game-action-button svg{width:20px;height:20px}.game-action-button:hover{color:var(--color-primary-accent);transform:scale(1.1)}.game-action-button:active{transform:scale(1)}.score-display{font-size:clamp(1rem,3vw,1.2rem);color:var(--color-gold);text-align:left;font-weight:700;text-shadow:0 0 5px rgba(255,215,0,.5);letter-spacing:1px;white-space:nowrap}.run-inventory{display:flex;gap:10px;text-align:right;white-space:nowrap;overflow:hidden}.resource-count{font-size:clamp(.8rem,2.5vw,1rem);color:var(--color-text-secondary)}#shop-screen{justify-content:flex-start;padding-top:var(--spacing-lg)}#shop-screen h2{margin-bottom:var(--spacing-sm)}.shop-resources{background-color:#7e57c21a;border:1px solid var(--color-secondary-accent);padding:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:4px;font-size:clamp(.9rem,2.5vw,1rem);color:var(--color-text-secondary);display:inline-block}.shop-resources span:first-child{margin-right:8px}.shop-resources span#shop-gem-count{font-weight:700;color:var(--color-text-highlight)}.shop-items{width:95%;max-width:500px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);overflow-y:auto;flex-grow:1;border:1px dashed rgba(var(--color-primary-accent-rgb),.3);background-color:rgba(var(--color-primary-accent-rgb),.03)}.shop-actions{margin-top:auto;padding-top:var(--spacing-sm);border-top:1px solid rgba(var(--color-primary-accent-rgb),.2);width:90%;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}#shop-active-boosts{margin-bottom:0}.overlay-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#080a15e6;z-index:1000;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.overlay-modal.active{display:flex;opacity:1;pointer-events:auto}.modal-content{background-color:var(--color-background-main);border:2px solid var(--color-secondary-accent);border-radius:4px;padding:var(--spacing-lg);box-shadow:var(--glow-purple),0 5px 25px #00000080;width:90%;max-width:500px;position:relative;max-height:90vh;overflow-y:auto;animation:fade-in-scale .3s ease-out}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-close-button{position:absolute;top:5px;right:5px;background:none;border:none;font-size:2rem;color:var(--color-text-secondary);cursor:pointer;padding:0 8px;line-height:1;transition:color .2s;min-width:unset}.modal-close-button:hover{color:var(--color-text-error)}.feedback-form h2{color:var(--color-secondary-accent);margin-bottom:var(--spacing-md)}.feedback-form p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:.9rem}.feedback-form .form-group{margin-bottom:var(--spacing-md);text-align:left}.feedback-form .form-group label{display:block;margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.feedback-form .form-group input[type=email],.feedback-form .form-group textarea{background-color:var(--color-background-input);border:1px solid var(--color-primary-accent);color:var(--color-text-primary);padding:var(--spacing-sm);font-family:var(--font-primary);font-size:clamp(.8rem,2.5vw,1rem);width:100%;transition:box-shadow .2s ease-out;border-radius:0;letter-spacing:1px}.feedback-form .form-group input[type=email]::placeholder,.feedback-form .form-group textarea::placeholder{color:rgba(var(--color-primary-accent-rgb),.5)}.feedback-form .form-group input[type=email]:focus,.feedback-form .form-group textarea:focus{outline:none;box-shadow:var(--glow-primary);border-color:var(--color-primary-accent)}.feedback-form .form-group textarea{resize:vertical;min-height:100px}.feedback-form .form-actions{margin-top:var(--spacing-lg);text-align:center}.feedback-form .feedback-status-message{margin-top:var(--spacing-sm);font-size:.85rem;min-height:1.2em}.feedback-form .feedback-status-message.success{color:var(--color-primary-accent)}.feedback-form .feedback-status-message.error{color:var(--color-text-error)}.feedback-form .emailjs-notice{font-size:.7rem;color:var(--color-text-tertiary);margin-top:var(--spacing-lg);opacity:.6}button{background-color:#080a15cc;border:1px solid;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-primary);font-size:clamp(.8rem,2.5vw,1rem);cursor:pointer;margin:var(--spacing-xs);transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out;text-transform:uppercase;min-width:clamp(120px,35vw,150px);text-align:center;letter-spacing:1px;position:relative;overflow:hidden}button:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .3s}button:hover:before{transform:translate(100%)}button.button--primary{color:var(--color-primary-accent);border-color:var(--color-primary-accent);border-width:2px;font-weight:500}button.button--primary:hover,button.button--primary:focus{background-color:rgba(var(--color-primary-accent-rgb),.15);color:var(--color-primary-accent);box-shadow:var(--glow-primary);outline:none}button.button--secondary{color:var(--color-secondary-accent);border-color:var(--color-secondary-accent)}button.button--secondary:hover,button.button--secondary:focus{background-color:#7e57c226;color:var(--color-secondary-accent);box-shadow:var(--glow-purple);outline:none}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}@media (max-height: 700px),(max-width: 480px){button{padding:var(--spacing-xs) var(--spacing-sm);margin:calc(var(--spacing-xs) / 2)}}input[type=text]{background-color:var(--color-background-input);border:1px solid var(--color-primary-accent);color:var(--color-text-primary);padding:var(--spacing-sm);font-family:var(--font-primary);font-size:clamp(.8rem,2.5vw,1rem);text-align:center;transition:box-shadow .2s ease-out;border-radius:0;letter-spacing:1px;background-image:linear-gradient(to bottom,rgba(var(--color-primary-accent-rgb),.05),rgba(var(--color-primary-accent-rgb),.02))}input[type=text]::placeholder{color:rgba(var(--color-primary-accent-rgb),.6)}input[type=text]:focus{outline:none;box-shadow:var(--glow-primary);border-color:var(--color-primary-accent)}@media (max-height: 700px),(max-width: 480px){input[type=text]{padding:var(--spacing-xs);margin-bottom:var(--spacing-sm)}}#high-score-display,#game-over-high-score-display{color:var(--color-text-highlight);margin-bottom:var(--spacing-sm);font-size:clamp(.8rem,2.5vw,1rem);min-height:1.5em;font-weight:500;letter-spacing:.5px;text-shadow:0 0 8px rgba(126,87,194,.4)}.inventory-display{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);border:1px solid rgba(var(--color-primary-accent-rgb),.3);padding:var(--spacing-sm);width:80%;max-width:350px;text-align:left;background-color:#080a1580;position:relative;box-shadow:inset 0 0 10px #0000004d}.inventory-display:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border:1px dashed rgba(var(--color-primary-accent-rgb),.3);pointer-events:none}.inventory-display h3{text-align:center;color:var(--color-text-highlight);margin-bottom:var(--spacing-sm);font-size:clamp(.85rem,2.5vw,1rem);font-weight:500;text-transform:uppercase;letter-spacing:1px;position:relative;padding-bottom:5px}.inventory-display h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:50%;height:1px;background:linear-gradient(90deg,transparent,var(--color-secondary-accent),transparent)}.inventory-display ul{list-style:none;padding:0;margin:0;font-size:clamp(.8rem,2.2vw,.9rem);color:var(--color-text-primary)}.inventory-display ul li{margin-bottom:.3rem;display:flex;justify-content:space-evenly}.inventory-display ul li span{display:inline-block;min-width:60px;font-weight:700;margin-left:10px;text-align:right;color:var(--color-gold)}.inventory-display ul li.no-resources{font-style:italic;color:var(--color-text-tertiary);text-align:center}.inventory-display ul li.no-resources:before{content:none}@media (max-height: 700px){.inventory-display{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs);padding:var(--spacing-xs)}.inventory-display h3{margin-bottom:var(--spacing-xs)}.inventory-display ul li{margin-bottom:.2rem}}.character-selection{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);width:90%;max-width:450px;text-align:center}.character-selection h2{color:var(--color-text-highlight);font-size:clamp(.9rem,3vw,1.1rem);margin-bottom:var(--spacing-xs);font-weight:500;letter-spacing:1px;text-transform:uppercase}.character-selection #character-selection-container{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(5px,1.5vw,15px);padding:var(--spacing-sm);border:1px solid rgba(126,87,194,.5);background-color:#080a1580;min-height:80px;position:relative;box-shadow:inset 0 0 15px #0000004d;max-height:200px;overflow:auto}.character-selection #character-selection-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 50% 50%,rgba(var(--color-primary-accent-rgb),.05) 0%,transparent 70%);pointer-events:none}@media (max-height: 700px){.character-selection{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}}.char-select-button{background-color:#080a15b3;border:2px solid var(--color-secondary-accent);color:var(--color-text-secondary);padding:var(--spacing-xs);display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s;min-width:clamp(70px,22vw,80px);min-height:clamp(90px,25vw,100px);position:relative;overflow:hidden}.char-select-button:before{content:"";position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px solid rgba(126,87,194,.3);pointer-events:none;transition:border-color .2s}.char-select-button img{width:clamp(48px,15vw,64px);height:clamp(48px,15vw,64px);object-fit:contain;margin-bottom:5px;transition:transform .2s,filter .2s;filter:drop-shadow(0 0 2px rgba(126,87,194,.5))}.char-select-button .char-name{font-size:clamp(.7rem,2vw,.8rem);margin-top:auto;font-weight:500;letter-spacing:.5px}.char-select-button .char-cost{font-size:clamp(.6rem,1.8vw,.7rem);color:var(--color-gold);margin-top:3px;font-weight:700}.char-select-button.selected{border-color:var(--color-primary-accent);background-color:rgba(var(--color-primary-accent-rgb),.1);box-shadow:var(--glow-primary);color:var(--color-primary-accent)}.char-select-button.selected:before{border-color:rgba(var(--color-primary-accent-rgb),.5)}.char-select-button.selected img{transform:scale(1.05);filter:drop-shadow(0 0 3px rgba(var(--color-primary-accent-rgb),.7))}.char-select-button.locked{opacity:.7;cursor:default;border-style:dashed;border-color:#7e57c266}.char-select-button.locked:hover{background-color:#ff52521a;border-color:var(--color-error-accent)}.char-select-button.locked img{filter:grayscale(80%) brightness(.7)}.char-select-button:not(.locked):hover{border-color:var(--color-primary-accent);background-color:rgba(var(--color-primary-accent-rgb),.07)}.char-select-button:not(.locked):hover img{transform:scale(1.05)}@media (max-height: 700px),(max-width: 480px){.char-select-button{padding:calc(var(--spacing-xs) / 2)}}#app:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:30;opacity:.3}.screen:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/><feColorMatrix type="saturate" values="0"/></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.05"/></svg>');pointer-events:none;opacity:.3;z-index:25}.overlay-message{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;z-index:1000;justify-content:center;align-items:center;flex-direction:column;text-align:center}.message-content{background-color:var(--color-background-main);border:2px solid var(--color-primary-accent);border-radius:5px;padding:var(--spacing-lg);box-shadow:var(--glow-primary);max-width:90%;animation:pulse 2s infinite}.message-content h3{color:var(--color-primary-accent);margin-bottom:var(--spacing-md);font-size:1.5rem;text-transform:uppercase;letter-spacing:2px}.message-content p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.rotate-icon{color:var(--color-secondary-accent);animation:rotate 3s infinite;margin:0 auto;width:48px;height:48px}@keyframes pulse{0%{box-shadow:0 0 5px var(--color-primary-accent)}50%{box-shadow:0 0 15px var(--color-primary-accent)}to{box-shadow:0 0 5px var(--color-primary-accent)}}@keyframes rotate{0%{transform:rotate(0)}25%{transform:rotate(90deg)}50%{transform:rotate(90deg)}75%{transform:rotate(0)}to{transform:rotate(0)}}.active-boosts{font-size:.8rem;color:var(--color-text-secondary);text-align:center;min-height:24px;display:flex;align-items:center;justify-content:center;gap:5px}.shop-item-button{background-color:#080a15cc;border:1px solid var(--color-secondary-accent);color:var(--color-text-secondary);padding:var(--spacing-sm);display:flex;flex-direction:column;align-items:center;text-align:center;transition:background-color .2s,border-color .2s,transform .1s;position:relative}.shop-item-button img{width:48px;height:48px;object-fit:contain;margin-bottom:var(--spacing-xs);filter:drop-shadow(0 0 3px rgba(126,87,194,.4))}.shop-item-button .item-name{font-weight:500;font-size:.9rem;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.shop-item-button .item-desc{font-size:.75rem;color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm);flex-grow:1}.shop-item-button .item-cost{font-size:.85rem;font-weight:700;color:var(--color-text-highlight);margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:4px}.shop-item-button .buy-button{background-color:rgba(var(--color-primary-accent-rgb),.1);border:1px solid var(--color-primary-accent);color:var(--color-primary-accent);padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;width:80%;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s}.shop-item-button .buy-button:hover:not(:disabled){background-color:var(--color-primary-accent);color:var(--color-background-main);box-shadow:var(--glow-primary)}.shop-item-button .buy-button:active:not(:disabled){transform:scale(.98)}.shop-item-button .buy-button:disabled{opacity:.5;cursor:not-allowed;background-color:#64646433;border-color:#666;color:#888}.shop-item-button:hover{border-color:var(--color-primary-accent);background-color:rgba(var(--color-primary-accent-rgb),.05)}@keyframes purchase-flash-anim{0%,to{background-color:rgba(var(--color-primary-accent-rgb),.4)}50%{background-color:rgba(var(--color-primary-accent-rgb),.1)}}.shop-item-button.purchased-flash{animation:purchase-flash-anim .5s ease-out;border-color:var(--color-primary-accent)}.swipe-hint{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:8px 15px;border-radius:20px;font-family:var(--font-secondary);font-size:clamp(.8rem,2.5vw,1rem);z-index:50;opacity:1;transition:opacity .4s ease-out;pointer-events:none;white-space:nowrap;box-shadow:0 2px 5px #00000080;border:1px solid rgba(255,255,255,.2)}.swipe-hint.hidden{opacity:0}.swipe-hint .arrow{font-weight:700;font-size:1.6em;display:inline-block;vertical-align:middle;line-height:1;color:var(--color-primary-accent);animation:pulse-arrow 1.2s infinite alternate ease-in-out}.swipe-hint .arrow.left{margin-right:8px;animation-delay:-.6s}.swipe-hint .arrow.right{margin-left:8px}@keyframes pulse-arrow{0%{transform:scale(1);opacity:.7}to{transform:scale(1.1);opacity:1}}input[type=email],input[type=text],textarea{background-color:var(--color-background-input);border:1px solid var(--color-primary-accent);color:var(--color-text-primary);padding:var(--spacing-sm);font-family:var(--font-primary);font-size:clamp(.8rem,2.5vw,1rem);width:100%;transition:box-shadow .2s ease-out;border-radius:0;letter-spacing:1px}input[type=email]::placeholder,input[type=text]::placeholder,textarea::placeholder{color:rgba(var(--color-primary-accent-rgb),.5)}input[type=email]:focus,input[type=text]:focus,textarea:focus{outline:none;box-shadow:var(--glow-primary);border-color:var(--color-primary-accent)}input[type=email]:-webkit-autofill,input[type=email]:-webkit-autofill:hover,input[type=email]:-webkit-autofill:focus,input[type=email]:-webkit-autofill:active,input[type=text]:-webkit-autofill,input[type=text]:-webkit-autofill:hover,input[type=text]:-webkit-autofill:focus,input[type=text]:-webkit-autofill:active,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:active{box-shadow:0 0 0 30px var(--color-background-input) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}textarea{resize:vertical;min-height:100px}textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:active{box-shadow:0 0 0 30px var(--color-background-input) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}.pause-menu{text-align:center}.pause-menu h2{color:var(--color-secondary-accent);margin-bottom:var(--spacing-lg);border-bottom:1px solid rgba(var(--color-secondary-accent),.3);padding-bottom:var(--spacing-sm);display:inline-block}.pause-menu .pause-audio-controls{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.pause-menu #mute-button-pause{min-width:unset}.pause-menu #mute-button-pause svg#mute-icon-unmuted-pause{display:block!important}.pause-menu #mute-button-pause svg#mute-icon-muted-pause{display:none!important}.pause-menu #mute-button-pause.muted svg#mute-icon-unmuted-pause{display:none!important}.pause-menu #mute-button-pause.muted svg#mute-icon-muted-pause{display:block!important}.pause-menu .pause-actions{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-top:0}.audio-controls{display:flex;align-items:center;justify-content:center;gap:10px}#mute-button,#mute-button-pause{padding:8px;background-color:rgba(var(--color-secondary-accent-rgb),.1);border-radius:50%;border:1px solid var(--color-secondary-accent);color:var(--color-secondary-accent);min-width:unset}#mute-button:hover,#mute-button-pause:hover{color:var(--color-primary-accent);border-color:var(--color-primary-accent);background-color:rgba(var(--color-primary-accent-rgb),.1)}#mute-button>svg[id$=-unmuted],#mute-button>svg[id$=-unmuted-pause],#mute-button-pause>svg[id$=-unmuted],#mute-button-pause>svg[id$=-unmuted-pause]{display:block!important}#mute-button>svg[id$=-muted],#mute-button>svg[id$=-muted-pause],#mute-button-pause>svg[id$=-muted],#mute-button-pause>svg[id$=-muted-pause]{display:none!important}#mute-button.muted>svg[id$=-unmuted],#mute-button.muted>svg[id$=-unmuted-pause],#mute-button-pause.muted>svg[id$=-unmuted],#mute-button-pause.muted>svg[id$=-unmuted-pause]{display:none!important}#mute-button.muted>svg[id$=-muted],#mute-button.muted>svg[id$=-muted-pause],#mute-button-pause.muted>svg[id$=-muted],#mute-button-pause.muted>svg[id$=-muted-pause]{display:block!important}#volume-slider{cursor:pointer;width:100px;accent-color:var(--color-primary-accent)}#volume-value{font-size:.8rem;color:var(--color-text-secondary);min-width:40px;text-align:right}.status-message{width:80%;max-width:400px;text-align:center;padding:var(--spacing-xs) var(--spacing-sm);margin:var(--spacing-sm) auto;border-radius:4px;font-size:.85rem;font-weight:500;min-height:1.5em;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.status-message.visible{opacity:1;pointer-events:none}.status-message.success{color:var(--color-text-primary);background-color:rgba(var(--color-primary-accent-rgb),.15);border:1px solid rgba(var(--color-primary-accent-rgb),.4)}.status-message.error{color:#fdd835;background-color:#ffd70026;border:1px solid rgba(255,215,0,.5)}#start-screen-status{position:absolute;bottom:10px;left:50%;transform:translate(-50%)}#shop-status{margin-top:0}.confirmation-dialog{text-align:center;max-width:400px}.confirmation-dialog h3{color:var(--color-text-highlight);margin-bottom:var(--spacing-sm);font-size:1.2rem;font-weight:500}.confirmation-dialog p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:1rem;line-height:1.4}.confirmation-dialog .confirmation-actions{display:flex;justify-content:space-evenly;margin-top:var(--spacing-md);gap:var(--spacing-md)}.confirmation-dialog .confirmation-actions button{min-width:100px;margin:0}.flex{display:flex}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.d-block{display:block}.d-inline-block{display:inline-block}.d-inline{display:inline}.d-flex{display:flex}.d-grid{display:grid}.d-none{display:none}.m-0{margin:0!important}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}#press-start-screen{background-image:url(../assets/title_background.jpg);background-size:cover;background-position:center;justify-content:center;align-items:center;cursor:pointer;position:relative;z-index:9000;display:none;opacity:0}#press-start-screen:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#080a1599;z-index:1}#press-start-screen .press-start-content{text-align:center;position:relative;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.7)}#press-start-screen.active{display:flex;opacity:1;pointer-events:auto}.press-start-logo{max-width:80%;max-height:50vh;margin-bottom:var(--spacing-lg);filter:drop-shadow(0 5px 15px rgba(0,0,0,.5));animation:float 3s ease-in-out infinite alternate}.press-start-text{font-family:var(--font-secondary);font-size:clamp(1.2rem,4vw,1.8rem);color:#fff;text-shadow:0 0 10px var(--color-primary-accent),0 0 20px var(--color-primary-accent);letter-spacing:1px;text-transform:uppercase;animation:pulse-text 1.5s ease-in-out infinite alternate}@keyframes float{0%{transform:translateY(-5px)}to{transform:translateY(5px)}}body{font-family:var(--font-primary);background-color:var(--color-background-dark);color:var(--color-text-primary);margin:0;display:flex;justify-content:center;align-items:center;min-height:100vh;overflow:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 10% 20%,rgba(100,255,218,.03) 0%,transparent 30%),radial-gradient(circle at 90% 80%,rgba(126,87,194,.03) 0%,transparent 30%);z-index:-1}
