: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;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa;overflow-x:hidden}.menu-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1a0a0a,#0a0a0a 70%);position:relative;overflow:hidden}.menu-ring{position:absolute;width:500px;height:500px;border:3px solid rgba(239,68,68,.15);border-radius:50%;animation:ring-pulse 3s ease-in-out infinite}@keyframes ring-pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.15);opacity:.6}}.menu-content{position:relative;z-index:1;text-align:center;animation:fade-in 1s ease}.menu-title-wrap{margin-bottom:1.5rem}.menu-title{font-size:4rem;font-weight:900;letter-spacing:.15em;background:linear-gradient(135deg,#ef4444,#f97316,#eab308);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;animation:title-glow 2s ease-in-out infinite alternate}@keyframes title-glow{0%{filter:brightness(1)}to{filter:brightness(1.3)}}.menu-subtitle{font-size:1.4rem;letter-spacing:.5em;color:#ffffff80;font-weight:300}.menu-gloves{font-size:2.5rem;margin-bottom:2rem;animation:glove-bounce 1.5s ease-in-out infinite}@keyframes glove-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.btn-play{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:1rem 3rem;font-size:1.2rem;font-weight:700;letter-spacing:.1em;border-radius:.5rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 20px #ef444466}.btn-play:hover{transform:translateY(-2px);box-shadow:0 6px 30px #ef444499}.btn-play:active{transform:translateY(0)}.menu-hint{margin-top:1.5rem;font-size:.8rem;color:#ffffff59}.level-select-screen{min-height:100vh;padding:2rem;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at top,#0f172a,#0a0a0a 70%)}.ls-title{font-size:1.8rem;font-weight:800;letter-spacing:.1em;margin-bottom:2rem;color:#f97316}.level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;max-width:900px;width:100%}.level-card{background:#ffffff0a;border:2px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem 1rem;cursor:pointer;transition:all .25s;text-align:center;position:relative;overflow:hidden;color:#fff}.level-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 0%,var(--lv-color, #ef4444),transparent 70%);opacity:.1;transition:opacity .3s}.level-card:hover:not(.locked){border-color:var(--lv-color, #ef4444);transform:translateY(-4px);box-shadow:0 8px 30px #0006}.level-card:hover:not(.locked):before{opacity:.25}.level-card.locked{opacity:.35;cursor:not-allowed}.level-num{font-size:.65rem;letter-spacing:.2em;color:#ffffff80;margin-bottom:.5rem}.level-sprite{font-size:2.5rem;margin-bottom:.5rem}.level-name{font-size:1rem;font-weight:700;letter-spacing:.05em}.level-sub{font-size:.75rem;color:#ffffff80;margin-bottom:.5rem}.level-info{font-size:.7rem;color:#ffffff59;margin-bottom:.75rem}.level-go{font-weight:700;color:var(--lv-color, #ef4444);font-size:.85rem}.level-lock{font-size:1.5rem}.btn-back{margin-top:2rem;background:none;border:1px solid rgba(255,255,255,.2);color:#fff9;padding:.6rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-back:hover{border-color:#fff6;color:#fff}.btn-retry{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.8rem 2rem;font-size:1rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:all .2s}.btn-retry:hover{background:#ffffff26}.total-score{margin-top:1rem;font-size:.85rem;color:#eab308;font-weight:600}.fight-screen{min-height:100vh;display:flex;flex-direction:column;padding:.75rem;gap:.5rem;transition:background .5s}.fight-header{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.round-indicator{font-weight:800;font-size:1.1rem;letter-spacing:.1em}.round-score{font-weight:400;font-size:.85rem;color:#ffffff80;margin-left:.5rem}.level-badge{font-size:.65rem;letter-spacing:.15em;padding:.2rem .6rem;border:1px solid rgba(255,255,255,.15);border-radius:.25rem;color:#ffffff80}.super-ready{font-size:.75rem;font-weight:700;color:#eab308;animation:super-flash .5s ease infinite alternate}@keyframes super-flash{0%{opacity:.6}to{opacity:1}}.health-row{display:flex;align-items:center;gap:.75rem}.vs-badge{font-weight:900;font-size:.85rem;color:#fff6;flex-shrink:0}.health-bar-container{flex:1}.health-bar-label{font-size:.65rem;letter-spacing:.15em;color:#ffffff80;margin-bottom:.2rem;font-weight:600}.health-bar-bg{background:#ffffff14;border-radius:.5rem;height:1.5rem;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.health-bar-fill{height:100%;border-radius:.5rem;transition:width .4s ease,background .4s;position:relative}.health-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(rgba(255,255,255,.15),transparent);border-radius:.5rem .5rem 0 0}.health-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.8)}.stamina-row{display:flex;align-items:center;gap:.75rem}.stamina-bar-container{flex:1;display:flex;align-items:center;gap:.5rem}.stamina-bar-bg{flex:1;background:#ffffff0f;border-radius:.25rem;height:.5rem;overflow:hidden}.stamina-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:.25rem;transition:width .3s}.stamina-label{font-size:.65rem;color:#ffffff80;white-space:nowrap;min-width:3rem}.super-bar-wrap{flex:1;text-align:center}.super-bar-bg{background:#ffffff0f;border-radius:.25rem;height:.5rem;overflow:hidden}.super-bar-fill{height:100%;background:linear-gradient(90deg,#eab308,#f59e0b);border-radius:.25rem;transition:width .3s}.super-label{font-size:.6rem;color:#eab308;margin-top:.1rem}.arena{flex:1;display:flex;align-items:center;justify-content:center;gap:1rem;position:relative;min-height:200px;background:radial-gradient(ellipse at center,rgba(255,255,255,.03),transparent);border-radius:1rem;border:1px solid rgba(255,255,255,.05);padding:1rem}.arena-center{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:100px}.arena-center.slow-mo{animation:slow-mo-pulse .7s ease}@keyframes slow-mo-pulse{0%{transform:scale(1)}30%{transform:scale(1.3)}to{transform:scale(1)}}.hit-effect{font-size:2.5rem;animation:hit-pop .4s ease}@keyframes hit-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.5);opacity:1}to{transform:scale(1);opacity:0}}.exchange-display{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600}.exchange-move{padding:.2rem .5rem;border-radius:.25rem;background:#ffffff14}.player-ex{color:#ef4444}.opp-ex{color:#60a5fa}.exchange-vs{color:#eab308}.fighter-sprite{display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:transform .15s}.fighter-sprite.right{transform:scaleX(-1)}.fighter-body{width:50px;height:80px;border:2px solid;border-radius:.5rem .5rem 1rem 1rem;position:relative;display:flex;flex-direction:column;align-items:center;background:#ffffff0d}.fighter-head{width:28px;height:28px;border-radius:50%;margin-top:-14px;opacity:.8}.fighter-torso{flex:1;width:100%;background:#ffffff0a;border-radius:0 0 .8rem .8rem}.fighter-glove{font-size:1.8rem;transition:transform .15s}.glove-top{position:absolute;top:10px;z-index:2}.left .glove-top{right:-25px}.right .glove-top{left:-25px}.glove-bottom{position:absolute;bottom:5px}.left .glove-bottom{left:-20px}.right .glove-bottom{right:-20px}.anim-idle{animation:idle-bob 2s ease-in-out infinite}@keyframes idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.anim-punch-jab{animation:punch-jab .35s ease}.anim-punch-cross{animation:punch-cross .4s ease}.anim-punch-hook{animation:punch-hook .45s ease}.anim-punch-uppercut{animation:punch-uppercut .5s ease}.anim-block{animation:block-stance .3s ease}.anim-dodge{animation:dodge-lean .4s ease}.right.anim-punch-jab,.right.anim-punch-cross,.right.anim-punch-hook,.right.anim-punch-uppercut,.right.anim-block,.right.anim-dodge{animation-direction:normal}@keyframes punch-jab{0%{transform:scaleX(-1) translate(0)}40%{transform:scaleX(-1) translate(20px)}to{transform:scaleX(-1) translate(0)}}.left.anim-punch-jab{animation-name:punch-jab-l}@keyframes punch-jab-l{0%{transform:translate(0)}40%{transform:translate(20px)}to{transform:translate(0)}}@keyframes punch-cross{0%{transform:translate(0) rotate(0)}35%{transform:translate(25px) rotate(5deg)}to{transform:translate(0) rotate(0)}}.left.anim-punch-cross{animation-name:punch-cross-l}@keyframes punch-cross-l{0%{transform:translate(0) rotate(0)}35%{transform:translate(25px) rotate(5deg)}to{transform:translate(0) rotate(0)}}@keyframes punch-hook{0%{transform:rotate(0)}30%{transform:rotate(15deg) translate(15px)}to{transform:rotate(0)}}.left.anim-punch-hook{animation-name:punch-hook-l}@keyframes punch-hook-l{0%{transform:rotate(0)}30%{transform:rotate(-15deg) translate(15px)}to{transform:rotate(0)}}@keyframes punch-uppercut{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-20px) scale(1.1)}50%{transform:translateY(-30px) scale(1.15)}to{transform:translateY(0) scale(1)}}@keyframes block-stance{0%{transform:scale(1)}30%{transform:scale(.95)}to{transform:scale(1)}}.right.anim-block{animation-name:block-stance}@keyframes dodge-lean{0%{transform:translate(0)}30%{transform:translate(-20px)}to{transform:translate(0)}}.right.anim-dodge{animation-name:dodge-lean-r}@keyframes dodge-lean-r{0%{transform:scaleX(-1) translate(0)}30%{transform:scaleX(-1) translate(-20px)}to{transform:scaleX(-1) translate(0)}}.hit-flash{animation:hit-shake .3s ease}@keyframes hit-shake{0%,to{transform:translate(0);filter:brightness(1)}25%{transform:translate(-8px);filter:brightness(2) hue-rotate(20deg)}50%{transform:translate(8px);filter:brightness(1.5)}75%{transform:translate(-4px);filter:brightness(1.2)}}.right.hit-flash{animation:hit-shake-r .3s ease}@keyframes hit-shake-r{0%,to{transform:scaleX(-1) translate(0);filter:brightness(1)}25%{transform:scaleX(-1) translate(-8px);filter:brightness(2) hue-rotate(20deg)}50%{transform:scaleX(-1) translate(8px);filter:brightness(1.5)}75%{transform:scaleX(-1) translate(-4px);filter:brightness(1.2)}}.combo-display{position:absolute;top:10px;right:20px;font-weight:900;font-size:1.5rem;text-shadow:0 2px 10px rgba(0,0,0,.5);animation:combo-pop .3s ease;pointer-events:none}.combo-low{color:#60a5fa}.combo-med{color:#f97316}.combo-high{color:#ef4444;animation:combo-high .3s ease infinite alternate}@keyframes combo-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes combo-high{0%{transform:scale(1)}to{transform:scale(1.1)}}.fight-log{background:#0006;border:1px solid rgba(255,255,255,.06);border-radius:.5rem;padding:.5rem .75rem;max-height:100px;overflow-y:auto;font-size:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.log-line{color:#ffffff8c;padding:.1rem 0;animation:log-in .3s ease}.log-super{color:#eab308;font-weight:700}@keyframes log-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding-bottom:.5rem}.move-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem .5rem;border:2px solid rgba(255,255,255,.1);border-radius:.75rem;background:#ffffff0a;color:#fff;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}.move-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 100%,var(--move-color, transparent),transparent 70%);opacity:0;transition:opacity .2s}.move-btn:hover:not(:disabled){border-color:#ffffff4d;transform:translateY(-2px)}.move-btn:hover:not(:disabled):before{opacity:.15}.move-btn:active:not(:disabled){transform:translateY(1px) scale(.97)}.move-btn:disabled{opacity:.35;cursor:not-allowed}.move-jab{--move-color: #60a5fa}.move-cross{--move-color: #3b82f6}.move-hook{--move-color: #f97316}.move-uppercut{--move-color: #ef4444}.move-block{--move-color: #22c55e}.move-dodge{--move-color: #a855f7}.move-icon{font-size:1.5rem}.move-name{font-size:.75rem;font-weight:700;letter-spacing:.05em}.move-cost{font-size:.6rem;color:#60a5fa}.move-hotkey{position:absolute;top:4px;right:6px;font-size:.55rem;color:#ffffff4d;font-family:ui-monospace,monospace;font-weight:700}.result-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;animation:fade-in .5s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.victory-screen{background:radial-gradient(ellipse at center,#1a1a0a,#0a0a0a 70%)}.gameover-screen{background:radial-gradient(ellipse at center,#1a0a0a,#0a0a0a 70%)}.result-trophy{font-size:5rem;animation:trophy-bounce 1s ease infinite}@keyframes trophy-bounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(-5deg)}75%{transform:translateY(-15px) rotate(5deg)}}.result-title{font-size:3rem;font-weight:900;letter-spacing:.1em;background:linear-gradient(135deg,#eab308,#f59e0b,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gameover-title{background:linear-gradient(135deg,#ef4444,#dc2626,#991b1b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-sub{font-size:1.1rem;color:#fff9}.result-score{font-size:1.5rem;font-weight:700;color:#eab308}.result-stars{font-size:2rem;letter-spacing:.3rem}.result-buttons{display:flex;flex-direction:column;gap:.75rem;align-items:center;margin-top:1rem}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}@media(max-width:600px){.menu-title{font-size:2.5rem}.menu-subtitle{font-size:1rem}.controls,.level-grid{grid-template-columns:repeat(2,1fr)}.fighter-body{width:35px;height:55px}.fighter-glove{font-size:1.3rem}.fighter-head{width:20px;height:20px;margin-top:-10px}}
