:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa;overflow-x:hidden}.game-container{min-height:100vh;display:flex;flex-direction:column}.title-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1a0a2e,#0a0a0a 70%);position:relative;overflow:hidden}.title-screen:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(255,100,50,.08) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(50,100,255,.08) 0%,transparent 50%);animation:pulse-bg 6s ease-in-out infinite alternate}@keyframes pulse-bg{0%{transform:scale(1);opacity:.5}to{transform:scale(1.1);opacity:1}}.title-logo{font-size:4rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;background:linear-gradient(135deg,#ff6b35,#f44,#fa0,#ff6b35);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease infinite;text-shadow:0 0 40px rgba(255,100,50,.3);z-index:1;text-align:center;line-height:1.1}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.title-subtitle{font-size:1.1rem;color:#fff9;margin:1rem 0 2.5rem;z-index:1;letter-spacing:.15em;text-transform:uppercase}.title-monsters{display:flex;gap:2rem;margin-bottom:3rem;z-index:1}.title-monster{font-size:4rem;animation:bounce-monster 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,150,50,.4))}.title-monster:nth-child(2){animation-delay:.3s}.title-monster:nth-child(3){animation-delay:.6s}@keyframes bounce-monster{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.btn{padding:.85rem 2.2rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.08em}.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg,#ff6b35,#f44);color:#fff;box-shadow:0 4px 20px #ff643266;z-index:1;font-size:1.2rem;padding:1rem 3rem}.btn-primary:hover{box-shadow:0 6px 30px #ff643299;transform:translateY(-2px)}.btn-secondary{background:#ffffff1a;color:#fafafa;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26}.btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-small{padding:.45rem 1rem;font-size:.8rem}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08);flex-wrap:wrap;gap:.5rem}.player-info{display:flex;align-items:center;gap:1rem}.player-name{font-weight:700;font-size:1.1rem}.player-level{background:#ffc83226;color:#fc3;padding:.2rem .6rem;border-radius:.3rem;font-size:.75rem;font-weight:700}.resources{display:flex;gap:1.2rem;align-items:center}.resource{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600}.resource-icon{font-size:1.1rem}.gold-val{color:#fc3}.gem-val{color:#a78bfa}.nav-buttons{display:flex;gap:.5rem}.nav-btn{padding:.5rem 1rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffb3;border-radius:.4rem;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s}.nav-btn:hover,.nav-btn.active{background:#ffffff1a;color:#fafafa;border-color:#ffffff40}.nav-btn.active{border-color:#ff6b35;color:#ff6b35}.world-map{flex:1;padding:2rem;display:flex;flex-direction:column;align-items:center}.world-map h2{font-size:1.6rem;margin-bottom:.3rem;color:#fc3}.world-map>p{color:#ffffff80;margin-bottom:2rem}.regions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem;width:100%;max-width:900px}.region-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1.5rem;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.region-card:hover{border-color:#fff3;transform:translateY(-3px);box-shadow:0 8px 30px #0000004d}.region-card.locked{opacity:.45;cursor:not-allowed}.region-card.locked:hover{transform:none;box-shadow:none}.region-emoji{font-size:3rem;margin-bottom:.75rem}.region-name{font-size:1.2rem;font-weight:700;margin-bottom:.3rem}.region-desc{font-size:.85rem;color:#ffffff80;margin-bottom:.75rem}.region-meta{display:flex;gap:1rem;font-size:.75rem}.region-badge{padding:.2rem .5rem;border-radius:.25rem;font-weight:600}.badge-level{background:#3b82f626;color:#60a5fa}.badge-enemies{background:#ef444426;color:#f87171}.badge-treasure{background:#ffc83226;color:#fc3}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;font-size:2.5rem}.collection-view{flex:1;padding:2rem;display:flex;flex-direction:column;align-items:center}.collection-view h2{font-size:1.6rem;margin-bottom:1.5rem;color:#a78bfa}.monsters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;width:100%;max-width:900px}.monster-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1.2rem;text-align:center;transition:all .2s;cursor:pointer;position:relative}.monster-card:hover{border-color:#fff3;transform:translateY(-2px)}.monster-card.in-party{border-color:#22c55e;box-shadow:0 0 15px #22c55e26}.monster-card.selected{border-color:#ff6b35;box-shadow:0 0 20px #ff6b3540}.party-badge{position:absolute;top:.5rem;right:.5rem;background:#22c55e;color:#fff;font-size:.6rem;padding:.15rem .4rem;border-radius:.2rem;font-weight:700;text-transform:uppercase}.monster-emoji{font-size:3rem;margin-bottom:.5rem}.monster-name{font-weight:700;font-size:1rem;margin-bottom:.2rem}.monster-type{font-size:.7rem;padding:.15rem .5rem;border-radius:1rem;display:inline-block;margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.type-fire{background:#ff501e33;color:#ff6b35}.type-water{background:#3282ff33;color:#4d9fff}.type-earth{background:#82b43233;color:#8ab840}.type-electric{background:#ffc83233;color:#fc3}.type-shadow{background:#8c50c833;color:#a78bfa}.type-ice{background:#64c8ff33;color:#67d5ff}.monster-level{font-size:.75rem;color:#ffffff80;margin-bottom:.5rem}.stat-bars{display:flex;flex-direction:column;gap:.3rem}.stat-row{display:flex;align-items:center;gap:.4rem;font-size:.7rem}.stat-label{width:30px;text-align:right;color:#ffffff80;font-weight:600}.stat-bar-bg{flex:1;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.stat-bar-fill{height:100%;border-radius:3px;transition:width .3s}.hp-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.atk-fill{background:linear-gradient(90deg,#ef4444,#f87171)}def-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa)}spd-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.stat-val{width:28px;font-size:.65rem;color:#fff6}.monster-actions{display:flex;gap:.4rem;margin-top:.75rem;justify-content:center}.battle-screen{flex:1;display:flex;flex-direction:column;min-height:calc(100vh - 50px)}.battle-header{text-align:center;padding:.75rem;background:#ef44441a;border-bottom:1px solid rgba(239,68,68,.2)}.battle-header h3{margin:0;font-size:1rem;color:#f87171}.battle-arena{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;background:radial-gradient(ellipse at center,#141428,#0a0a0a);gap:2rem}.battle-teams{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:800px;gap:2rem}.battle-side{flex:1;display:flex;flex-direction:column;align-items:center}.battle-side.enemy{order:2}.battle-side.player{order:1}.battle-monster{text-align:center;position:relative}.battle-monster-emoji{font-size:6rem;filter:drop-shadow(0 0 25px rgba(255,150,50,.3));transition:transform .3s}.battle-monster-emoji.attacking{animation:attack-anim .4s ease}.battle-monster-emoji.enemy-attacking{animation:enemy-attack-anim .4s ease}.battle-monster-emoji.hit{animation:hit-anim .3s ease}.battle-monster-emoji.fainted{animation:faint-anim .5s ease forwards}@keyframes attack-anim{0%{transform:translate(0)}50%{transform:translate(60px) scale(1.15)}to{transform:translate(0)}}@keyframes enemy-attack-anim{0%{transform:translate(0)}50%{transform:translate(-60px) scale(1.15)}to{transform:translate(0)}}@keyframes hit-anim{0%,to{transform:translate(0);opacity:1}25%{transform:translate(-10px);opacity:.5}50%{transform:translate(10px);opacity:.7}75%{transform:translate(-5px);opacity:.5}}@keyframes faint-anim{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(30px) rotate(-15deg);opacity:.2}}.battle-monster-name{font-weight:700;font-size:1.1rem;margin-top:.5rem}.battle-hp-bar{width:180px;margin:.5rem auto}.battle-hp-bg{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;position:relative}.battle-hp-fill{height:100%;border-radius:6px;transition:width .5s ease;background:linear-gradient(90deg,#22c55e,#4ade80)}.battle-hp-fill.low{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.battle-hp-fill.critical{background:linear-gradient(90deg,#ef4444,#f87171)}.battle-hp-text{font-size:.75rem;color:#fff9;margin-top:.25rem}.battle-xp-bar{width:180px;margin-top:.3rem}.battle-xp-bg{height:5px;background:#ffffff14;border-radius:3px;overflow:hidden}.battle-xp-fill{height:100%;background:linear-gradient(90deg,#a78bfa,#c4b5fd);border-radius:3px;transition:width .5s}.battle-vs{font-size:2rem;font-weight:900;color:#ff643266;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.battle-log{width:100%;max-width:600px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:.5rem;padding:.75rem 1rem;max-height:120px;overflow-y:auto;font-size:.8rem}.battle-log-entry{padding:.2rem 0;color:#fff9;border-bottom:1px solid rgba(255,255,255,.03)}.battle-log-entry:last-child{border-bottom:none}.battle-log-entry.damage{color:#f87171}.battle-log-entry.heal{color:#4ade80}.battle-log-entry.info{color:#60a5fa}.battle-log-entry.victory{color:#fc3;font-weight:700}.battle-log-entry.defeat{color:#f87171;font-weight:700}.battle-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:#ffffff08;border-top:1px solid rgba(255,255,255,.08)}.ability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;width:100%;max-width:500px}.ability-btn{padding:.7rem 1rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fafafa;border-radius:.5rem;cursor:pointer;transition:all .15s;text-align:left;font-size:.85rem}.ability-btn:hover{background:#ffffff1a;border-color:#ffffff40}.ability-btn:disabled{opacity:.3;cursor:not-allowed}.ability-btn .ability-name{font-weight:700;display:block}.ability-btn .ability-info{font-size:.7rem;color:#fff6;margin-top:.15rem}.ability-btn .ability-pp{font-size:.65rem;color:#ffffff4d}.shop-view{flex:1;padding:2rem;display:flex;flex-direction:column;align-items:center}.shop-view h2{font-size:1.6rem;margin-bottom:.3rem;color:#fc3}.shop-view>p{color:#ffffff80;margin-bottom:2rem;font-size:.9rem}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;width:100%;max-width:800px}.shop-item{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1.2rem;transition:all .2s}.shop-item:hover{border-color:#ffc8324d}.shop-item-emoji{font-size:2.5rem;margin-bottom:.5rem}.shop-item-name{font-weight:700;font-size:1rem;margin-bottom:.2rem}.shop-item-desc{font-size:.8rem;color:#ffffff73;margin-bottom:.75rem}.shop-item-price{display:flex;align-items:center;justify-content:space-between}.price-tag{color:#fc3;font-weight:700}.training-view{flex:1;padding:2rem;display:flex;flex-direction:column;align-items:center}.training-view h2{font-size:1.6rem;margin-bottom:1.5rem;color:#4ade80}.training-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;width:100%;max-width:800px}.training-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s}.training-card:hover{border-color:#4ade804d;transform:translateY(-2px)}.training-emoji{font-size:3rem;margin-bottom:.75rem}.training-name{font-weight:700;font-size:1.1rem;margin-bottom:.3rem}.training-desc{font-size:.8rem;color:#ffffff73;margin-bottom:.75rem}.training-cost{font-size:.85rem;color:#fc3;font-weight:600}.result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.result-card{background:#141414;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:3rem;text-align:center;max-width:400px;width:90%;animation:pop-in .3s ease}@keyframes pop-in{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.result-icon{font-size:4rem;margin-bottom:1rem}.result-title{font-size:2rem;font-weight:900;margin-bottom:.5rem}.result-title.victory{color:#fc3}.result-title.defeat{color:#f87171}.result-rewards{margin:1.5rem 0;display:flex;flex-direction:column;gap:.5rem}.reward-line{font-size:1rem;color:#fffc}.reward-line span{font-weight:700}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content{background:#161616;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:pop-in .2s ease}.modal-content h3{margin:0 0 1rem;font-size:1.3rem}.modal-monsters{display:flex;flex-direction:column;gap:.6rem}.modal-monster-option{display:flex;align-items:center;gap:1rem;padding:.75rem;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;cursor:pointer;transition:all .15s;background:#ffffff05}.modal-monster-option:hover{background:#ffffff0f;border-color:#fff3}.modal-monster-option .monster-emoji{font-size:2rem;margin:0}.modal-monster-option .monster-info{flex:1}.modal-monster-option .monster-name{font-weight:700}.modal-monster-option .monster-hp{font-size:.75rem;color:#ffffff80}.damage-popup{position:absolute;font-size:1.5rem;font-weight:900;animation:damage-float 1s ease forwards;pointer-events:none;z-index:10}.damage-popup.damage{color:#f87171}.damage-popup.heal{color:#4ade80}.damage-popup.critical{color:#fc3;font-size:2rem}@keyframes damage-float{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}@media(max-width:600px){.title-logo{font-size:2.5rem}.title-monsters{gap:1rem}.title-monster{font-size:2.5rem}.top-bar{padding:.5rem 1rem}.battle-teams{flex-direction:column-reverse;gap:1rem}.battle-side.enemy{order:1}.battle-side.player{order:2}.battle-vs{display:none}.ability-grid{grid-template-columns:1fr}.battle-monster-emoji{font-size:4rem}}
