*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0;font-family:Outfit,Inter,-apple-system,sans-serif}body{color:#5c3a21;background-color:#fdf6e3;justify-content:center;align-items:center;min-height:100dvh;display:flex;overflow:hidden}#root{justify-content:center;align-items:center;width:100%;height:100dvh;display:flex}#game-root-viewport{background:#fdf6e3;border:2px solid #d4af37;border-radius:8px;width:100vw;max-width:480px;height:100dvh;max-height:853px;position:relative;overflow:hidden}canvas,img{image-rendering:pixelated;image-rendering:crisp-edges}#game-canvas{object-fit:contain;object-position:center bottom;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.lobby-ui-root,.shop-ui-root{z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.glass-panel{color:#5c3a21;background:#fff9e6;border:2px solid #d4af37;border-radius:8px;padding:16px;box-shadow:2px 2px 4px #5c3a2133}.hud-panel{flex-direction:column;gap:8px;display:flex;position:absolute;top:16px;left:16px;right:16px}.hud-row{justify-content:space-between;align-items:center;display:flex}.hero-badge{align-items:center;gap:8px;display:flex}.hero-lv{color:#fff9e6;background:#d4af37;border-radius:4px;padding:2px 6px;font-size:.8rem;font-weight:800}.hero-name{font-size:.95rem;font-weight:600}.resources{gap:12px;display:flex}.resource{align-items:center;gap:4px;font-size:.9rem;font-weight:700;display:flex}.exp-bar-container{background:#e8decc;border:2px solid #d4af37;border-radius:8px;justify-content:center;align-items:center;width:100%;height:14px;display:flex;position:relative;overflow:hidden}.exp-bar{background:#059669;height:100%;transition:width .3s ease-out;position:absolute;top:0;left:0}.exp-text{z-index:2;color:#fff9e6;font-size:.7rem;font-weight:700;position:relative}.stage-panel{text-align:center;flex-direction:column;align-items:center;gap:6px;width:80%;padding:10px 16px;display:flex;position:absolute;top:90px;left:50%;transform:translate(-50%)}.stage-title{letter-spacing:1px;color:#8b4513;font-size:1.1rem;font-weight:800}.kill-tracker{color:#9ca3af;font-size:.8rem}.kill-dots{gap:8px;margin-top:4px;display:flex}.kill-dot{background:#d6c5b3;border-radius:50%;width:8px;height:8px}.kill-dot.active{background:#d4af37}.shop-ui-root{height:290px;top:auto;bottom:0}.shop-container{flex-direction:column;gap:12px;height:250px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.shop-header{justify-content:space-between;align-items:center;display:flex}.shop-header h3{font-size:.95rem;font-weight:700}.shop-balance{gap:12px;font-size:.85rem;font-weight:700;display:flex}.shop-items-scroll{scrollbar-width:none;align-items:center;gap:10px;padding-bottom:10px;display:flex;overflow:auto hidden}.shop-items-scroll::-webkit-scrollbar{display:none}.shop-card{text-align:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;flex:0 0 140px;justify-content:space-between;align-items:center;gap:4px;height:168px;padding:10px;transition:all .2s;display:flex}.shop-card:hover{background:#ffffff0f;border-color:#ffffff1f}.disabled-card{opacity:.6}.max-grade{background:linear-gradient(#00e5ff0d 0%,#141826b3 100%);border-color:#00e5ff}.card-icon{font-size:1.4rem}.card-title-row{flex-direction:column;align-items:center;display:flex}.card-name{font-size:.75rem;font-weight:700}.card-lv{color:#9ca3af;font-size:.65rem}.card-desc{color:#9ca3af;height:28px;font-size:.6rem;line-height:1.2;overflow:hidden}.btn{cursor:pointer;border:none;border-radius:8px;outline:none;justify-content:center;align-items:center;font-weight:700;transition:transform .1s,filter .2s;display:flex}.btn:active{transform:scale(.95)}.btn-boss-enter{color:#fff;background:#991b1bd9;border:1px solid #991b1b;margin-top:8px;padding:8px 16px;font-size:.85rem}.btn-abort{color:#5c3a21;background:#d6c5b3;margin-top:4px;padding:4px 10px;font-size:.7rem}.btn-upgrade{gap:4px;width:100%;padding:6px;font-size:.75rem;display:flex}.btn-active{color:#fff9e6;background:#d4af37;border:1px solid #b8860b}.btn-active:hover{filter:brightness(1.15)}.btn-poor{color:#a89f91;cursor:not-allowed;background:#e8decc;border:1px solid #0000}.btn-max{color:#fff9e6;cursor:default;background:#8b4513;border:1px solid #8b4513}.revive-modal-overlay{z-index:999;background:#fdf6e3d9;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.revive-modal-card{text-align:center;flex-direction:column;gap:16px;width:85%;max-width:380px;padding:24px;display:flex}.boss-icon{font-size:3rem;animation:2s infinite bounce}.modal-desc{color:#5c3a21;font-size:.85rem;line-height:1.5}.highlight-text{color:#991b1b;font-weight:700}.countdown-timer{color:#ef4444;font-size:1rem;font-weight:700}.countdown-timer span{margin-right:4px;font-size:2.2rem;display:inline-block}.modal-buttons{flex-direction:column;gap:8px;display:flex}.btn-revive-ad{color:#fff;background:#059669;border:1px solid #047857;padding:12px;font-size:.9rem}.btn-safezone{color:#5c3a21;background:#d6c5b3;border:1px solid #d4af37;padding:10px;font-size:.8rem}.btn-close-err{color:#fff;background:#ef4444;width:100%;margin-top:10px;padding:10px}.ad-loading-overlay{z-index:1000;background:#fdf6e3f2;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.spinner{border:4px solid #ffffff1a;border-top-color:#00e5ff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.error-text{color:#f87171;font-size:.85rem;line-height:1.4}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.alert-pulse{animation:1.5s infinite pulse}.alert-pulse-border{animation:1.5s infinite pulse-border}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulse-border{0%,to{border-color:#ef444433}50%{border-color:#ef4444cc}}.animate-bounce{animation:1s infinite bounce}.animate-pop-in{animation:.25s cubic-bezier(.34,1.56,.64,1) pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.landing-root input:focus{border-color:#8b4513;outline:none}
