/* ═══════════════════════════════════════════════════════════════
   DUEL KOMBAT — style.css
   MMT135 © 2025
   ═══════════════════════════════════════════════════════════════ */

:root{
  --bg:#0a0a12;
  --panel:#1a1a2e;
  --panel-2:#232342;
  --panel-3:#2e2e52;
  --line:#2e2e4a;
  --txt:#e8e8f0;
  --txt-dim:#8888a8;
  --txt-mute:#5a5a78;
  --red:#ff2e63;
  --red-dk:#c41e48;
  --cyan:#08d9d6;
  --gold:#ffd93d;
  --green:#3ddc84;
  --purple:#a66cff;
  --orange:#ff8c42;
  --grad-primary:linear-gradient(135deg, var(--red), var(--red-dk));
  --grad-gold:linear-gradient(135deg, var(--gold), var(--orange));
  --grad-brand:linear-gradient(135deg, var(--red), var(--cyan));
  --shadow:0 8px 32px rgba(0,0,0,.6);
  --shadow-lg:0 16px 64px rgba(0,0,0,.8);
  --glow-red:0 0 24px rgba(255,46,99,.6);
  --glow-cyan:0 0 24px rgba(8,217,214,.6);
  --glow-gold:0 0 24px rgba(255,217,61,.6);
  --radius-sm:8px;
  --radius:14px;
  --radius-lg:20px;
  --radius-pill:99px;
  --font-ui:system-ui, -apple-system, "Segoe UI", Tahoma, Arial, sans-serif;
  --font-display:"Impact", "Arial Black", system-ui, sans-serif;
  --font-num:"Courier New", monospace;
  --t-fast:.12s ease;
  --t:.2s ease;
  --t-slow:.35s ease;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}

html, body{
  width:100%;height:100%;overflow:hidden;
  background:var(--bg);color:var(--txt);
  font-family:var(--font-ui);font-size:16px;line-height:1.5;
  user-select:none;-webkit-user-select:none;-moz-user-select:none;
  touch-action:none;overscroll-behavior:none;-webkit-touch-callout:none;
}

body{position:fixed;inset:0;direction:rtl}

button{
  font-family:inherit;font-size:inherit;cursor:pointer;
  border:none;outline:none;background:none;color:inherit;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}

button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
img, svg, video, canvas{display:block;max-width:100%}
input, select{font-family:inherit}

.hidden{display:none !important}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--panel-3);border-radius:4px}

/* SCREENS */
.screen{
  position:fixed;inset:0;display:none;
  flex-direction:column;align-items:center;justify-content:center;
  padding:20px;overflow-y:auto;overflow-x:hidden;z-index:1;
  -webkit-overflow-scrolling:touch;
}

.screen.active{display:flex;animation:fadeIn var(--t-slow)}

@keyframes fadeIn{
  from{opacity:0;transform:scale(.98)}
  to{opacity:1;transform:scale(1)}
}

/* BUTTONS */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--grad-primary);color:#fff;
  padding:14px 32px;border-radius:var(--radius);
  font-size:16px;font-weight:700;letter-spacing:.5px;
  transition:var(--t);box-shadow:0 4px 16px rgba(255,46,99,.4);
}
.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px rgba(255,46,99,.6)}
.btn-primary:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.6)}

.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--panel-2);color:var(--txt);
  padding:12px 24px;border-radius:var(--radius);
  font-size:15px;font-weight:600;border:1px solid var(--line);
  transition:var(--t);
}
.btn-secondary:hover{background:var(--panel-3);border-color:var(--cyan);color:var(--cyan)}

.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:transparent;color:var(--txt-dim);
  padding:12px 24px;border-radius:var(--radius);
  font-size:14px;border:1px solid var(--line);transition:var(--t);
}
.btn-ghost:hover{color:var(--txt);border-color:var(--txt-dim)}

.btn-danger{
  background:rgba(255,46,99,.15);color:var(--red);
  padding:10px 20px;border-radius:var(--radius-sm);
  font-size:14px;border:1px solid var(--red);transition:var(--t);
}
.btn-danger:hover{background:var(--red);color:#fff}

.toggle-btn{
  background:var(--panel-2);color:var(--txt);
  padding:8px 16px;border-radius:var(--radius-sm);
  font-size:13px;border:1px solid var(--line);transition:var(--t);
}
.toggle-btn[aria-pressed="false"]{color:var(--txt-mute);border-color:var(--txt-mute);text-decoration:line-through}

/* BOOT */
#boot-screen{background:radial-gradient(ellipse at center, #1a1a2e, #0a0a12 70%)}

.boot-logo{text-align:center;margin-bottom:40px;animation:bootPulse 2s ease infinite}

@keyframes bootPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}

#brand-logo{max-width:280px;max-height:180px;margin:0 auto;filter:drop-shadow(0 0 24px rgba(255,46,99,.5))}

.boot-by{color:var(--txt-dim);font-size:13px;letter-spacing:6px;margin-top:12px}

.boot-bar{
  width:min(340px, 80vw);height:6px;background:var(--panel);
  border-radius:var(--radius-pill);overflow:hidden;margin:20px 0;
}

.boot-bar-fill{
  height:100%;width:0%;background:var(--grad-brand);
  border-radius:var(--radius-pill);transition:width .3s ease;
  box-shadow:0 0 12px rgba(8,217,214,.8);
}

.boot-status{color:var(--txt-dim);font-size:13px;margin-bottom:24px;min-height:20px}

#boot-enter{animation:bootBtnIn .5s ease}

@keyframes bootBtnIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.boot-hint{
  position:absolute;bottom:24px;color:var(--txt-mute);font-size:12px;
  animation:blink 2s ease infinite;
}

@keyframes blink{0%,100%{opacity:.4}50%{opacity:1}}

/* MENU */
#menu-screen{
  background:linear-gradient(135deg, #0a0a12, #1a1a2e, #0a0a12);
  position:relative;padding:16px;
}

.menu-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 20% 30%, rgba(255,46,99,.18), transparent 45%),
    radial-gradient(circle at 80% 70%, rgba(8,217,214,.18), transparent 45%);
  animation:menuBgPulse 6s ease infinite;
}

@keyframes menuBgPulse{0%,100%{opacity:.7}50%{opacity:1}}

.menu-panel{
  position:relative;z-index:1;text-align:center;
  padding:28px 24px;background:rgba(26,26,46,.55);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow);max-width:440px;width:100%;max-height:96vh;overflow-y:auto;
}

.menu-title{
  font-family:var(--font-display);font-size:clamp(28px, 8vw, 48px);
  letter-spacing:4px;line-height:1;background:var(--grad-brand);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 12px rgba(255,46,99,.5));
}

.menu-sub{color:var(--txt-dim);letter-spacing:8px;font-size:11px;margin-bottom:14px}

.menu-wallet{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,217,61,.12);border:1px solid rgba(255,217,61,.35);
  color:var(--gold);padding:6px 16px;border-radius:var(--radius-pill);
  font-size:15px;font-weight:700;margin-bottom:18px;
  box-shadow:0 0 16px rgba(255,217,61,.2);
}

.coin-icon{font-size:16px}
.coin-label{font-size:11px;opacity:.8}

.menu-nav{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}

.menu-btn{
  display:flex;align-items:center;gap:12px;
  background:var(--panel-2);color:var(--txt);
  padding:12px 16px;border-radius:12px;
  font-size:14px;font-weight:600;border:1px solid var(--line);
  transition:var(--t);text-align:right;position:relative;overflow:hidden;
}

.menu-btn:hover{
  background:var(--red);border-color:var(--red);
  transform:translateX(-4px);box-shadow:var(--glow-red);
}

.btn-icon{font-size:20px;width:28px;text-align:center;flex-shrink:0}
.menu-footer{color:var(--txt-mute);font-size:10px;margin-top:6px}

/* SELECT */
#select-screen{
  justify-content:flex-start;padding-top:14px;gap:12px;
  background:radial-gradient(ellipse at top, #1a1a2e, #0a0a12 80%);
}

.select-header{text-align:center;margin-bottom:4px}
.select-header h2{font-size:20px;color:var(--cyan);letter-spacing:2px;margin-bottom:4px}
.select-hint{font-size:11px;color:var(--txt-mute)}

.select-grid{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(64px, 1fr));
  gap:8px;width:100%;max-width:900px;padding:0 4px;
}

.char-card{
  aspect-ratio:1;background:var(--panel);border:2px solid var(--line);
  border-radius:10px;cursor:pointer;overflow:hidden;position:relative;
  transition:var(--t);display:flex;align-items:center;justify-content:center;
}

.char-card:hover{border-color:var(--cyan);transform:scale(1.06);box-shadow:var(--glow-cyan);z-index:2}
.char-card.selected-p1{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,46,99,.5), var(--glow-red);transform:scale(1.08);z-index:3}
.char-card.selected-p2{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(8,217,214,.5), var(--glow-cyan);transform:scale(1.08);z-index:3}
.char-card.selected-both{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,217,61,.5), var(--glow-gold)}
.char-card.locked{filter:grayscale(1) brightness(.35);cursor:not-allowed}
.char-card canvas{width:100%;height:100%}

.char-card .lock-icon{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:22px;color:var(--gold);text-shadow:0 0 12px var(--gold);
}

.char-card .price-tag{
  position:absolute;bottom:2px;left:2px;right:2px;font-size:9px;
  text-align:center;color:var(--gold);background:rgba(0,0,0,.75);
  border-radius:4px;padding:2px 0;font-weight:700;
}

.char-card .char-name{
  position:absolute;top:2px;left:2px;right:2px;font-size:9px;
  text-align:center;color:var(--txt);background:rgba(0,0,0,.6);
  border-radius:4px;padding:1px 0;font-weight:600;
}

.select-preview{
  display:flex;gap:14px;align-items:center;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:12px;width:100%;max-width:640px;box-shadow:var(--shadow);
}

#preview-canvas{
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.5));
  border-radius:10px;flex-shrink:0;border:1px solid var(--line);
}

.preview-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.preview-info h3{color:var(--red);font-size:18px;margin-bottom:2px}
.preview-info p{color:var(--txt-dim);font-size:11px;line-height:1.5}
.preview-stats{display:flex;flex-direction:column;gap:4px}

.stat-row{display:flex;align-items:center;gap:8px;font-size:10px}
.stat-row > span:first-child{width:50px;color:var(--txt-dim);flex-shrink:0}

.stat-bar{flex:1;height:6px;background:var(--panel-2);border-radius:var(--radius-pill);overflow:hidden}
.stat-bar > div{height:100%;background:linear-gradient(90deg, var(--red), var(--orange));border-radius:var(--radius-pill);transition:width var(--t-slow)}

.preview-powers{display:flex;gap:4px;flex-wrap:wrap}

.power-chip{
  background:var(--panel-2);color:var(--cyan);font-size:9px;
  padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--line);
}

.select-actions{
  display:flex;gap:10px;align-items:center;flex-wrap:wrap;
  justify-content:center;padding-bottom:8px;
}

.side-picker{
  display:flex;align-items:center;gap:8px;background:var(--panel);
  padding:6px 12px;border-radius:10px;font-size:12px;color:var(--txt-dim);
  border:1px solid var(--line);min-width:110px;
}

.side-picker .side-name{color:var(--txt);font-weight:700}
.side-badge{padding:2px 8px;border-radius:6px;font-weight:800;font-size:10px;color:#fff}
.side-badge.p1{background:var(--red)}
.side-badge.p2{background:var(--cyan)}

/* EQUIP */
#equip-screen{
  justify-content:flex-start;padding-top:14px;gap:12px;
  background:radial-gradient(ellipse at top, #1a1a2e, #0a0a12 80%);
}

.equip-header{text-align:center}
.equip-header h2{color:var(--cyan);font-size:20px}

.equip-char-picker{display:inline-flex;align-items:center;gap:14px;margin-top:6px}
.equip-char{color:var(--gold);font-size:16px;font-weight:700;min-width:100px}

.char-nav-btn{
  width:32px;height:32px;border-radius:50%;background:var(--panel-2);
  border:1px solid var(--line);color:var(--txt);font-size:14px;
  display:flex;align-items:center;justify-content:center;transition:var(--t);
}
.char-nav-btn:hover{background:var(--cyan);color:#000;border-color:var(--cyan)}

.equip-sections{
  display:flex;flex-direction:column;gap:12px;
  width:100%;max-width:900px;padding:0 4px 90px 4px;
}

.equip-section{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}
.equip-section h3{color:var(--cyan);font-size:13px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.equip-count{color:var(--gold);font-size:12px;font-weight:700}

.equip-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));gap:8px}

.equip-item{
  background:var(--panel-2);border:2px solid var(--line);border-radius:10px;
  padding:10px 6px;text-align:center;cursor:pointer;
  transition:var(--t);position:relative;
}

.equip-item:hover{border-color:var(--cyan);transform:translateY(-2px)}
.equip-item.equipped{border-color:var(--gold);background:rgba(255,217,61,.1);box-shadow:var(--glow-gold)}

.equip-item.equipped::after{
  content:'✓';position:absolute;top:4px;right:4px;
  width:18px;height:18px;background:var(--gold);color:#000;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:11px;
}

.equip-item.locked{filter:grayscale(1) brightness(.4);cursor:not-allowed}
.equip-item .equip-icon{font-size:26px}
.equip-item .equip-name{font-size:10px;color:var(--txt);margin-top:4px}
.equip-item .equip-price{font-size:9px;color:var(--gold);margin-top:2px}

.equip-actions{
  position:fixed;bottom:14px;left:0;right:0;
  display:flex;gap:10px;justify-content:center;padding:0 14px;z-index:5;
}

/* STAGE */
#stage-screen{
  justify-content:flex-start;padding-top:14px;gap:12px;
  background:radial-gradient(ellipse at top, #1a1a2e, #0a0a12 80%);
}

.stage-header{text-align:center}
.stage-header h2{color:var(--cyan);font-size:20px}

.stage-grid{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
  gap:12px;width:100%;max-width:800px;padding:0 4px 90px 4px;
}

.stage-card{
  background:var(--panel);border:2px solid var(--line);
  border-radius:12px;overflow:hidden;cursor:pointer;
  transition:var(--t);position:relative;
}

.stage-card:hover{border-color:var(--cyan);transform:translateY(-3px)}
.stage-card.selected{border-color:var(--gold);box-shadow:var(--glow-gold)}
.stage-card.locked{filter:grayscale(1) brightness(.5);cursor:not-allowed}
.stage-card canvas{width:100%;height:110px;display:block}

.stage-card-info{padding:8px;text-align:center}
.stage-card-info h4{color:var(--txt);font-size:13px;margin-bottom:2px}
.stage-card-info p{color:var(--txt-dim);font-size:10px}

.stage-card .stage-price{
  position:absolute;top:6px;right:6px;background:var(--grad-gold);
  color:#000;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:700;
}

.stage-actions{
  position:fixed;bottom:14px;left:0;right:0;
  display:flex;gap:10px;justify-content:center;z-index:5;
}

/* SHOP */
#shop-screen{
  justify-content:flex-start;padding-top:14px;gap:12px;
  background:radial-gradient(ellipse at top, #1a1a2e, #0a0a12 80%);
}

.shop-header{
  display:flex;justify-content:space-between;width:100%;
  max-width:900px;align-items:center;padding:0 4px;
}

.shop-header h2{color:var(--gold);font-size:20px}

.shop-coins{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,217,61,.12);border:1px solid rgba(255,217,61,.35);
  color:var(--gold);padding:6px 14px;border-radius:var(--radius-pill);
  font-size:14px;font-weight:700;
}

.shop-tabs{
  display:flex;gap:6px;background:var(--panel);padding:6px;
  border-radius:12px;border:1px solid var(--line);
  flex-wrap:wrap;justify-content:center;max-width:100%;
}

.tab{
  background:transparent;color:var(--txt-dim);
  padding:7px 16px;border-radius:8px;font-size:12px;
  font-weight:600;transition:var(--t);white-space:nowrap;
}
.tab:hover{color:var(--txt);background:var(--panel-2)}
.tab.active{background:var(--red);color:#fff;box-shadow:var(--glow-red)}

.shop-grid{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
  gap:10px;width:100%;max-width:900px;padding:0 4px 80px 4px;
}

.shop-item{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:10px;text-align:center;transition:var(--t);
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;
}

.shop-item:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:var(--glow-cyan)}

.shop-item.owned{border-color:var(--green);background:linear-gradient(180deg, var(--panel), rgba(61,220,132,.08))}

.shop-item.owned::before{
  content:'✓';position:absolute;top:6px;right:6px;
  width:20px;height:20px;background:var(--green);color:#000;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:12px;z-index:2;
}

.shop-item .shop-icon{font-size:36px;line-height:1;margin:4px 0}
.shop-item h4{font-size:13px;color:var(--txt);font-weight:700}
.shop-item p{font-size:10px;color:var(--txt-dim);line-height:1.4;flex:1}

.price-tag{
  background:var(--grad-gold);color:#000;font-weight:800;
  padding:5px 12px;border-radius:8px;font-size:12px;
  display:inline-block;box-shadow:0 2px 8px rgba(255,217,61,.4);
  cursor:pointer;transition:var(--t);border:none;
}

.price-tag:hover{transform:scale(1.05);box-shadow:0 4px 16px rgba(255,217,61,.6)}
.shop-item.owned .price-tag{background:var(--green);box-shadow:none;cursor:default}

.shop-back{position:fixed;bottom:14px;right:14px;z-index:5}

/* SETTINGS */
#settings-screen{background:radial-gradient(ellipse at center, #1a1a2e, #0a0a12 80%)}

.settings-panel{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px;max-width:460px;width:100%;
  display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow);
}

.settings-panel h2{color:var(--cyan);font-size:20px;margin-bottom:4px}

.settings-group{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.settings-group legend{padding:0 8px;color:var(--cyan);font-size:12px;font-weight:700}

.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--txt-dim)}
.setting-label{flex:1;min-width:0}
.setting-row input[type="range"]{width:110px;accent-color:var(--red);cursor:pointer}
.setting-row output{width:34px;text-align:center;font-family:var(--font-num);color:var(--txt);font-size:12px}

.setting-row select{
  background:var(--panel-2);color:var(--txt);border:1px solid var(--line);
  border-radius:8px;padding:5px 10px;font-size:11px;cursor:pointer;min-width:140px;
}

.setting-toggles{display:flex;gap:6px;flex-wrap:wrap}
.toggle-row{flex-direction:row}
.toggle-row input[type="checkbox"]{width:18px;height:18px;accent-color:var(--cyan);cursor:pointer}

/* ABOUT */
#about-screen{background:radial-gradient(ellipse at center, #1a1a2e, #0a0a12 80%)}

.about-panel{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;max-width:460px;width:100%;display:flex;flex-direction:column;
  gap:12px;text-align:center;box-shadow:var(--shadow);
}

.about-panel h2{color:var(--cyan);font-size:20px}
.about-tag{color:var(--txt-dim);font-size:13px}
.about-tag b{color:var(--red)}

.about-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:6px 0}

.about-stats span{
  background:var(--panel-2);padding:5px 10px;border-radius:var(--radius-pill);
  font-size:11px;border:1px solid var(--line);color:var(--txt);
}

.about-copy{color:var(--txt-mute);font-size:10px;margin-top:6px}

/* BATTLE */
#battle-screen{padding:0;overflow:hidden;display:none;flex-direction:column;background:#000}
#battle-screen.active{display:block}

#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}

.media-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:50;background:#000;pointer-events:none}

/* HUD */
.hud{
  position:absolute;top:0;left:0;right:0;padding:8px 12px;
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:8px;pointer-events:none;z-index:10;
}

.hud-player{flex:1;max-width:42%;display:flex;flex-direction:column;gap:3px}
.hud-p1{direction:rtl}
.hud-p2{direction:ltr}

.hp-wrap{
  position:relative;height:20px;background:#000;border:2px solid #000;
  border-radius:6px;overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1), 0 2px 8px rgba(0,0,0,.6);
}

.hp-ghost{
  position:absolute;top:0;bottom:0;left:0;background:var(--gold);
  width:100%;transition:width .5s cubic-bezier(.4,0,.2,1) .3s;z-index:1;
}

.hp-fill{
  position:absolute;top:0;bottom:0;left:0;
  background:linear-gradient(90deg, var(--red), var(--orange));
  width:100%;transition:width .1s;z-index:2;
}

.hud-p2 .hp-ghost, .hud-p2 .hp-fill{left:auto;right:0}
.hud-p2 .hp-fill{background:linear-gradient(270deg, var(--red), var(--orange))}

.meter-wrap{height:7px;background:#000;border-radius:4px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}

.meter-fill{
  height:100%;width:0%;background:linear-gradient(90deg, var(--cyan), var(--purple));
  transition:width .15s;border-radius:4px;box-shadow:0 0 8px rgba(8,217,214,.6);
}

.hud-p2 .meter-fill{background:linear-gradient(270deg, var(--cyan), var(--purple));margin-left:auto;float:right}

.hud-info{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#fff;font-weight:700;text-shadow:0 2px 4px #000}
.hud-wins{display:flex;gap:3px}

.hud-wins .win-dot{width:8px;height:8px;border-radius:50%;background:#444;border:1px solid #000}
.hud-wins .win-dot.won{background:var(--gold);box-shadow:0 0 6px var(--gold)}

.power-slots{display:flex;gap:3px;margin-top:2px}

.power-slot{
  width:24px;height:24px;background:rgba(0,0,0,.6);border:2px solid var(--line);
  border-radius:6px;position:relative;overflow:hidden;font-size:12px;
  display:flex;align-items:center;justify-content:center;transition:var(--t);
}

.power-slot.ready{border-color:var(--cyan);box-shadow:0 0 10px rgba(8,217,214,.7);animation:slotPulse 1.5s ease infinite}

@keyframes slotPulse{0%,100%{box-shadow:0 0 8px rgba(8,217,214,.5)}50%{box-shadow:0 0 16px rgba(8,217,214,.9)}}

.power-slot .cd-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,.7);
  transform-origin:bottom;transform:scaleY(0);transition:transform .1s linear;
}

.power-slot.used{opacity:.3}

.hud-center{text-align:center;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:3px}

.round-timer{
  font-family:var(--font-display);font-size:34px;color:#fff;
  text-shadow:0 0 20px var(--red), 0 4px 8px #000;line-height:1;min-width:56px;
}

.round-timer.low{color:var(--red);animation:pulse .5s infinite}
@keyframes pulse{50%{transform:scale(1.15)}}

.round-counter{display:flex;gap:5px;justify-content:center}

.round-dot{width:10px;height:10px;border-radius:50%;background:#333;border:1px solid #000;transition:var(--t)}
.round-dot.won-p1{background:var(--red);box-shadow:0 0 8px var(--red)}
.round-dot.won-p2{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}

/* QUICK CONTROLS */
.quick-controls{position:absolute;top:6px;left:50px;display:flex;gap:5px;z-index:15}

.qc-btn{
  display:flex;align-items:center;gap:4px;background:rgba(0,0,0,.65);color:#fff;
  padding:5px 9px;border-radius:8px;font-size:12px;border:1px solid var(--line);
  transition:var(--t);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

.qc-btn:hover{background:rgba(26,26,46,.9);border-color:var(--cyan)}
.qc-btn .qc-label{font-size:9px;color:var(--txt-dim)}
.qc-btn[aria-pressed="false"]{opacity:.5;border-color:var(--txt-mute)}
.qc-btn[aria-pressed="false"] .qc-label{text-decoration:line-through}

.pause-btn{
  position:absolute;top:6px;right:6px;width:38px;height:38px;
  border-radius:50%;background:rgba(0,0,0,.7);color:#fff;
  font-size:17px;border:1px solid var(--line);z-index:15;
  transition:var(--t);display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

.pause-btn:hover{background:var(--red);border-color:var(--red);transform:scale(1.1)}

/* PERK BAR */
.perk-bar{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;z-index:10;pointer-events:auto;
}

.perk-btn{
  width:50px;height:50px;background:rgba(26,26,46,.9);
  border:2px solid var(--gold);border-radius:12px;font-size:20px;
  display:flex;align-items:center;justify-content:center;
  transition:var(--t);position:relative;color:#fff;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

.perk-btn:hover:not(.used){transform:translateY(-3px) scale(1.08);background:var(--gold);color:#000;box-shadow:var(--glow-gold)}
.perk-btn.used{opacity:.3;cursor:not-allowed;border-color:var(--line);filter:grayscale(1)}

.perk-btn .key-hint{position:absolute;bottom:2px;right:4px;font-size:8px;color:var(--gold);font-weight:700;opacity:.7}

/* FLOATING UI */
.combo-popup{
  position:absolute;top:32%;left:50%;transform:translateX(-50%);
  font-family:var(--font-display);font-size:clamp(28px, 8vw, 52px);
  color:var(--gold);text-shadow:0 0 20px var(--red), 0 4px 8px #000;
  opacity:0;pointer-events:none;z-index:20;white-space:nowrap;
}

.combo-popup.show{animation:comboAnim .8s ease-out}

@keyframes comboAnim{
  0%{opacity:0;transform:translateX(-50%) scale(.5) rotate(-8deg)}
  30%{opacity:1;transform:translateX(-50%) scale(1.2) rotate(2deg)}
  60%{opacity:1;transform:translateX(-50%) scale(1) rotate(0)}
  100%{opacity:0;transform:translateX(-50%) scale(.9)}
}

.round-banner{
  position:absolute;top:42%;left:50%;transform:translate(-50%, -50%);
  font-family:var(--font-display);font-size:clamp(36px, 12vw, 88px);
  color:#fff;text-shadow:0 0 40px var(--red), 0 8px 16px #000;
  opacity:0;pointer-events:none;z-index:30;text-align:center;
  letter-spacing:6px;white-space:nowrap;
}

.round-banner.show{animation:bannerAnim 1.6s ease}
.round-banner.p2{text-shadow:0 0 40px var(--cyan), 0 8px 16px #000}

@keyframes bannerAnim{
  0%,100%{opacity:0;transform:translate(-50%, -50%) scale(.5)}
  20%,80%{opacity:1;transform:translate(-50%, -50%) scale(1)}
}

.hit-counter{
  position:absolute;top:45%;right:8%;font-family:var(--font-display);
  font-size:32px;color:var(--red);text-shadow:0 0 16px var(--red), 0 4px 8px #000;
  opacity:0;pointer-events:none;z-index:18;
}

.hit-counter.show{animation:hitCountAnim .6s ease-out}

@keyframes hitCountAnim{
  0%{opacity:0;transform:scale(.4)}
  40%{opacity:1;transform:scale(1.2)}
  100%{opacity:0;transform:scale(1)}
}

.slowmo-indicator{
  position:absolute;bottom:76px;left:50%;transform:translateX(-50%);
  background:rgba(166,108,255,.25);color:var(--purple);
  padding:5px 14px;border-radius:var(--radius-pill);font-size:12px;
  font-weight:700;border:1px solid var(--purple);z-index:20;
  animation:blink 1s ease infinite;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

.hit-stop-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:14;mix-blend-mode:overlay}
.hit-stop-flash.active{animation:hitStopFlash .06s ease}
@keyframes hitStopFlash{0%{opacity:.6}100%{opacity:0}}

.ko-zoom-flash{position:absolute;inset:0;background:radial-gradient(circle, transparent 20%, #ff2e63 100%);opacity:0;pointer-events:none;z-index:13}
.ko-zoom-flash.active{animation:koZoomFlash .8s ease}
@keyframes koZoomFlash{0%{opacity:0;transform:scale(1.5)}30%{opacity:.5}100%{opacity:0;transform:scale(1)}}

/* TOUCH CONTROLS */
.touch-controls{
  position:absolute;inset:auto 0 0 0;height:190px;z-index:12;
  pointer-events:none;display:flex;justify-content:space-between;
  align-items:flex-end;padding:12px;gap:12px;
}

.tc-side{display:flex;align-items:flex-end;gap:10px;pointer-events:auto}
.tc-side.tc-p2{flex-direction:row-reverse}

.dpad{display:grid;grid-template-columns:repeat(3, 48px);grid-template-rows:repeat(3, 48px);gap:3px}

.dpad button{
  background:rgba(26,26,46,.8);border:2px solid var(--line);
  border-radius:12px;color:#fff;font-size:16px;font-weight:700;
  transition:.1s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

.dpad button:active, .dpad button.pressed{background:var(--red);border-color:var(--red);transform:scale(.95)}

.dpad button[data-k="up"]{grid-column:2;grid-row:1}
.dpad button[data-k="left"]{grid-column:1;grid-row:2}
.dpad button[data-k="right"]{grid-column:3;grid-row:2}
.dpad button[data-k="down"]{grid-column:2;grid-row:3}

.dpad-p2 button:active, .dpad-p2 button.pressed{background:var(--cyan);border-color:var(--cyan)}

.actions{display:grid;grid-template-columns:repeat(3, 52px);grid-template-rows:repeat(2, 52px);gap:5px}

.btn-atk, .btn-def, .btn-pw, .btn-pk{
  border-radius:50%;font-size:20px;color:#fff;
  border:3px solid rgba(255,255,255,.3);transition:.1s;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

.btn-atk{background:rgba(255,46,99,.85)}
.btn-def{background:rgba(8,217,214,.85)}
.btn-pw{background:rgba(166,108,255,.85)}
.btn-pk{background:rgba(255,217,61,.85)}

.btn-atk:active, .btn-def:active, .btn-pw:active, .btn-pk:active,
.btn-atk.pressed, .btn-def.pressed, .btn-pw.pressed, .btn-pk.pressed{
  transform:scale(.9);border-color:#fff;
}

.actions button[data-k="punch"]{grid-column:1;grid-row:1}
.actions button[data-k="kick"]{grid-column:2;grid-row:1}
.actions button[data-k="block"]{grid-column:3;grid-row:1}
.actions button[data-k="power"]{grid-column:2;grid-row:2}
.actions button[data-k="perk"]{grid-column:3;grid-row:2}

#touch-mp .dpad{grid-template-columns:repeat(3, 42px);grid-template-rows:repeat(3, 42px)}
#touch-mp .actions{grid-template-columns:repeat(3, 44px);grid-template-rows:repeat(2, 44px)}
#touch-mp .btn-atk, #touch-mp .btn-def, #touch-mp .btn-pw, #touch-mp .btn-pk{font-size:16px}

@media (hover: none) and (pointer: coarse){
  .touch-controls.hidden{display:flex !important}
}

/* PAUSE */
.pause-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,.85);
  display:flex;align-items:center;justify-content:center;z-index:100;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:16px;animation:fadeIn var(--t);
}

.pause-content{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:24px;max-width:420px;width:100%;
  display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-lg);
  animation:pauseIn .25s ease;max-height:92vh;overflow-y:auto;
}

@keyframes pauseIn{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}

.pause-title{
  font-family:var(--font-display);font-size:38px;color:var(--red);
  letter-spacing:6px;text-align:center;text-shadow:0 0 20px rgba(255,46,99,.5);
}

.pause-sound{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--panel-2);border-radius:12px;border:1px solid var(--line)}

.pause-slider{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--txt-dim)}
.pause-slider span{min-width:70px}
.pause-slider input[type="range"]{flex:1;accent-color:var(--red);cursor:pointer}

.pause-toggles{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pause-actions{display:flex;flex-direction:column;gap:8px}
.pause-actions button{width:100%;justify-content:center}

/* RESULTS */
#results-screen{background:radial-gradient(ellipse at center, #1a1a2e, #0a0a12);padding:0}

.victory-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

.results-panel{
  position:relative;z-index:5;text-align:center;
  background:rgba(26,26,46,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:28px;max-width:440px;width:90%;box-shadow:var(--shadow-lg);
  animation:resultsIn .5s ease;
}

@keyframes resultsIn{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}

#result-title{
  font-family:var(--font-display);font-size:clamp(30px, 8vw, 44px);
  letter-spacing:4px;margin-bottom:8px;line-height:1;
}

#result-title.win{color:var(--gold);text-shadow:0 0 30px var(--gold), 0 4px 8px #000;animation:winPulse 1.5s ease infinite}
#result-title.lose{color:var(--red);text-shadow:0 0 20px var(--red)}

@keyframes winPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}

#result-sub{color:var(--txt-dim);font-size:13px;margin-bottom:16px}

.result-rewards{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;font-size:14px}

.reward-item{
  display:flex;align-items:center;gap:6px;
  background:rgba(255,217,61,.15);border:1px solid rgba(255,217,61,.4);
  color:var(--gold);padding:8px 14px;border-radius:var(--radius-pill);
  font-weight:700;animation:rewardIn .5s ease backwards;
}

@keyframes rewardIn{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}

.result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.result-actions button{flex:1;min-width:110px}

/* TOAST & LOADING */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--panel);color:var(--txt);padding:12px 22px;
  border-radius:12px;border:1px solid var(--cyan);font-size:13px;
  z-index:9999;box-shadow:var(--shadow);animation:toastIn .3s ease;
  max-width:90vw;text-align:center;
}

.toast.error{border-color:var(--red);color:var(--red)}
.toast.success{border-color:var(--green);color:var(--green)}

@keyframes toastIn{from{opacity:0;transform:translate(-50%, 20px)}to{opacity:1;transform:translate(-50%, 0)}}

.loading-overlay{
  position:fixed;inset:0;background:rgba(10,10,18,.9);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;z-index:9998;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}

.spinner{
  width:44px;height:44px;border:4px solid var(--panel-2);
  border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite;
}

@keyframes spin{to{transform:rotate(360deg)}}
#loading-text{color:var(--txt-dim);font-size:13px}

/* RESPONSIVE */
@media (max-width:700px){
  .select-preview{flex-direction:column;align-items:center;padding:10px}
  #preview-canvas{width:180px;height:240px}
  .preview-info{text-align:center}
  .shop-grid{grid-template-columns:repeat(auto-fill, minmax(120px, 1fr))}
  .stage-grid{grid-template-columns:repeat(auto-fill, minmax(150px, 1fr))}
}

@media (max-width:500px){
  .menu-title{letter-spacing:2px}
  .menu-panel{padding:20px 16px}
  .menu-btn{padding:10px 12px;font-size:13px}
  .btn-icon{font-size:18px;width:24px}
  .select-grid{grid-template-columns:repeat(auto-fill, minmax(56px, 1fr));gap:6px}
  #preview-canvas{width:150px;height:200px}
  .pause-title{font-size:30px}
  .hud{padding:5px 6px}
  .round-timer{font-size:26px;min-width:44px}
  .hp-wrap{height:16px}
  .meter-wrap{height:5px}
  .power-slot{width:20px;height:20px;font-size:10px}
  .quick-controls{top:4px;left:42px;gap:3px}
  .qc-btn{padding:4px 6px;font-size:10px}
  .qc-btn .qc-label{display:none}
  .pause-btn{width:34px;height:34px;font-size:15px}
  .perk-btn{width:44px;height:44px;font-size:17px}
  .setting-row input[type="range"]{width:80px}
}

@media (max-width:380px){
  .dpad{grid-template-columns:repeat(3, 40px);grid-template-rows:repeat(3, 40px)}
  .actions{grid-template-columns:repeat(3, 44px);grid-template-rows:repeat(2, 44px)}
  .dpad button{font-size:14px}
  .btn-atk, .btn-def, .btn-pw, .btn-pk{font-size:16px}
}

@media (orientation: landscape) and (max-height:520px){
  .screen{padding:6px}
  .boot-logo{margin-bottom:12px}
  #brand-logo{max-width:160px;max-height:90px}
  .menu-panel{padding:14px;max-width:520px}
  .menu-title{font-size:26px}
  .menu-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .menu-btn{padding:8px 10px;font-size:12px}
  .touch-controls{height:130px;padding:8px}
  .perk-bar{bottom:6px}
  .perk-btn{width:38px;height:38px;font-size:15px}
  .hud{padding:4px 8px}
  .round-timer{font-size:22px;min-width:36px}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}