/* v1.2.9 — tek tuval tahta + gerçek cihaz akıcılığı + grafik kalitesi kademeleri */
.m3b__cv { position: absolute; pointer-events: none; z-index: 2; }
.m3b__mirror, .m3b__mirror * { display: none !important; }
.m3b--cv .m3c > svg { transition: none; }
/* tam ekran vadi arka planı: filtre + sonsuz sürüklenme animasyonu her karede tam ekran filtre geçişi demekti → durağan */
.m3l::before { filter: none !important; animation: none !important; transform: scale(1.03); }
/* ortam katmanı: Dengeli'de hafif, Pil dostu'nda oyun sırasında kapalı */
html.gfx-mid .m3l > .m3l__amb > .m3w__fog--2, html.gfx-mid .m3l > .m3l__amb > .m3w__shim { display: none !important; }
html.gfx-mid .m3l > .m3l__amb > i:nth-of-type(2n) { display: none; }
html.gfx-low .m3l > .m3l__amb { display: none !important; }
html.gfx-low .m3l__moves.is-low { animation: none; }
.m3l > .m3l__amb.is-paused > i, .m3l > .m3l__amb.is-paused > b { animation-play-state: paused; }
/* Ayarlar: Grafik kalitesi (4 seçenek) — satır kırılır, seçenekler tam genişlik */
.set-row--gfx { flex-wrap: wrap; row-gap: 8px; }
.set-row--gfx > .seg { width: 100%; }
.set-row--gfx > .seg button { flex: 1 1 0; padding: 7px 4px; font-size: 12px; }

/* ---- v1.2.9 güçlendirici tepsisi: madalyon yuvalar, 3B simgeler, cilalı rozet, '+' satın al, seçili parıltı (statik) ---- */
.m3l__boosters--v129 { gap: 20px; padding-bottom: calc(30px + var(--safe-b)); }
.m3-bb.m3-bb--v2 { width: 70px; height: 70px; padding: 0; border: 0; border-radius: 50%; background: none; box-shadow: none; overflow: visible; isolation: isolate; transition: transform .12s; }
.m3-bb--v2 > .m3-bb__sock { position: absolute; inset: -7px; border-radius: 50%; background: url(../assets/img/m3/bst_socket.webp) center / 100% 100% no-repeat; z-index: 0;
  box-shadow: 0 7px 12px -4px rgba(0,0,0,.75); pointer-events: none; }
.m3-bb--v2 > .m3-bb__art { position: relative; z-index: 2; width: 58px; height: 58px; object-fit: contain; pointer-events: none; -webkit-user-drag: none; }
.m3-bb--v2 > .m3-bb__glow { position: absolute; inset: -26px; z-index: -1; border-radius: 50%; background: url(../assets/img/m3/bst_glow.webp) center / 100% 100% no-repeat; opacity: 0; transition: opacity .18s; pointer-events: none; }
.m3-bb--v2.is-on { box-shadow: none; transform: translateY(-4px); }
.m3-bb--v2.is-on > .m3-bb__glow { opacity: 1; }
.m3-bb--v2.is-on > .m3-bb__sock { box-shadow: 0 0 0 2px #fff1c4, 0 10px 14px -4px rgba(0,0,0,.75); }
.m3-bb--v2:active { transform: translateY(2px) scale(.95); }
.m3-bb--v2 > small { z-index: 3; bottom: -26px; padding: 2px 9px 3px; border-radius: 9px; font: 800 10.5px var(--f-ui); letter-spacing: .02em; color: #ffe7b0;
  background: linear-gradient(180deg, #2a1a0b, #0d0804); box-shadow: 0 0 0 1px #b48a3e, 0 0 0 2px #2a1d0b, 0 2px 4px rgba(0,0,0,.6); }
.m3-bb--v2 > b { z-index: 4; top: -9px; right: -11px; min-width: 26px; height: 26px; padding: 0 6px; border-radius: 99px; border: 0;
  font: 900 13.5px/26px var(--f-ui); color: #fff; text-shadow: 0 1px 1px rgba(0,0,0,.6);
  background: radial-gradient(120% 90% at 50% 15%, #ff8a7a 0, #d62f2a 38%, #7a1010 100%);
  box-shadow: 0 0 0 2px #f6dd9a, 0 0 0 3.5px #5a3c12, 0 3px 5px rgba(0,0,0,.6), inset 0 -3px 4px rgba(0,0,0,.35), inset 0 2px 1px rgba(255,255,255,.45); }
.m3-bb--v2.is-empty > b { font-size: 18px; line-height: 25px; background: radial-gradient(120% 90% at 50% 15%, #b6f59a 0, #3fa531 40%, #135a12 100%); }
.m3-bb--v2.is-empty > .m3-bb__art { opacity: .78; }
.m3-pre-b__art { width: 44px; height: 44px; object-fit: contain; }
@media (max-height: 720px) {
  .m3l__boosters--v129 { gap: 18px; padding-bottom: calc(26px + var(--safe-b)); }
  .m3-bb.m3-bb--v2 { width: 56px; height: 56px; } .m3-bb--v2 > .m3-bb__art { width: 44px; height: 44px; }
  .m3-bb--v2 > b { min-width: 23px; height: 23px; line-height: 23px; font-size: 12px; top: -8px; right: -10px; }
}

/* ---- v1.2.9 HUD: hamle madalyonu ve hedef kartları (yalnızca transform/opacity animasyonu; filtre animasyonu yok) ---- */
.m3l__moves.is-low { animation: m3lowp2 .9s ease-in-out infinite; }
.m3l__moves::after { content: ''; position: absolute; inset: -10px; border-radius: 50%; pointer-events: none; opacity: 0;
  background: radial-gradient(closest-side, rgba(255,90,74,.55), rgba(255,90,74,.18) 60%, transparent); }
.m3l__moves.is-low::after { animation: m3lowg .9s ease-in-out infinite; }
html.gfx-low .m3l__moves.is-low::after { animation: none; opacity: .7; }
@keyframes m3lowp2 { 50% { transform: scale(1.07); } }
@keyframes m3lowg { 50% { opacity: 1; } }
.m3l__moves > b { z-index: 1; } .m3l__moves > small { z-index: 1; }
.m3l__goals li { box-shadow: 0 0 0 2px #2a1d0b, 0 0 0 3.5px #c9a258, 0 0 0 4.5px #5a4016, 0 6px 10px rgba(0,0,0,.55), inset 0 2px 0 rgba(255,240,200,.22), inset 0 -6px 10px rgba(0,0,0,.45);
  background: radial-gradient(120% 90% at 50% 0%, #34505e, #122029 62%, #0a1116); }
.m3l__goals li b { font: 900 17px var(--f-ui); font-variant-numeric: tabular-nums; color: #fff8e2; text-shadow: 0 2px 0 #071017, 0 0 8px rgba(160,220,255,.35); }
.m3l__gp { height: 7px; box-shadow: inset 0 1px 2px #000, 0 0 0 1px #b48a3e; }
.m3l__gp::before { background: linear-gradient(180deg, #fff3b8, #f0c050 45%, #a8741c); }
.m3l__goals li.is-done .m3l__gp::before { background: linear-gradient(180deg, #c8ffbc, #46cf66 55%, #1d7a35); }

/* ---- v1.2.9 görünür düşman (tahtanın üstünde). Yalnızca transform/opacity animasyonu; filtre/blur yok. ---- */
.m3l--boss .m3l__boardwrap { grid-template-rows: auto 1fr; place-items: center; padding-top: 4px; }
.m3l--boss .m3l__board { width: min(100% - 8px, calc((100dvh - 352px) * 8 / 9), 460px); }
.m3-mon { position: relative; z-index: 3; display: grid; justify-items: center; gap: 0; margin-bottom: -14px; pointer-events: none; }
.m3-mon__fig { position: relative; width: 92px; height: 92px; border-radius: 50%; overflow: hidden; border: 3px solid #c99a4a;
  box-shadow: 0 0 0 2px #3a2410, 0 8px 18px rgba(0,0,0,.7), inset 0 0 18px rgba(0,0,0,.8); background: #12090a;
  animation: m3mon-idle 3.2s ease-in-out infinite; will-change: transform; }
.m3-mon__art { width: 100%; height: 130%; object-fit: cover; object-position: 50% 8%; display: block; }
.m3-mon__flash { position: absolute; inset: 0; background: radial-gradient(circle, rgba(255,255,255,.95), rgba(255,220,180,.5) 55%, transparent 75%); opacity: 0; }
.m3-mon--karamuhur .m3-mon__fig { border-color: #b8323a; box-shadow: 0 0 0 2px #2a0608, 0 8px 18px rgba(0,0,0,.7), 0 0 22px rgba(200,40,50,.35); }
.m3-mon--terzi .m3-mon__fig { border-color: #8fa9c2; box-shadow: 0 0 0 2px #10202c, 0 8px 18px rgba(0,0,0,.7), 0 0 22px rgba(140,180,220,.35); }
.m3-mon__hp { position: relative; width: 150px; height: 15px; margin-top: -9px; border-radius: 99px; background: #2a0c0d; border: 2px solid #c99a4a; overflow: hidden; box-shadow: 0 3px 8px rgba(0,0,0,.6); }
.m3-mon__hp i { position: absolute; inset: 0; transform-origin: left; background: linear-gradient(180deg, #ff7a6a, #c42a22 60%, #8e1512); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.m3-mon__hp em { position: absolute; inset: 0; display: grid; place-items: center; font: 800 10px var(--f-ui); font-style: normal; color: #fff; text-shadow: 0 1px 2px #000; }
.m3-mon.is-hit .m3-mon__fig { animation: m3mon-hit .42s ease-out; }
.m3-mon.is-hit .m3-mon__flash { animation: m3mon-flash .42s ease-out; }
.m3-mon.is-attack .m3-mon__fig { animation: m3mon-atk .7s cubic-bezier(.3,1.4,.5,1); }
.m3-mon.is-low .m3-mon__hp i { background: linear-gradient(180deg, #ffb36a, #e0601c); }
.m3-mon.is-dead .m3-mon__fig { animation: none; transform: scale(.9); opacity: .55; transition: opacity .6s, transform .6s; }
@keyframes m3mon-idle { 0%, 100% { transform: translateY(0) rotate(-1.5deg); } 50% { transform: translateY(-4px) rotate(1.5deg); } }
@keyframes m3mon-hit { 0% { transform: scale(1); } 20% { transform: translateX(-7px) scale(.9) rotate(-5deg); } 45% { transform: translateX(6px) scale(.95) rotate(4deg); } 70% { transform: translateX(-3px); } 100% { transform: none; } }
@keyframes m3mon-flash { 0% { opacity: 0; } 15% { opacity: .9; } 100% { opacity: 0; } }
@keyframes m3mon-atk { 0% { transform: none; } 30% { transform: translateY(-10px) scale(.94); } 55% { transform: translateY(22px) scale(1.22); } 100% { transform: none; } }
html.gfx-low .m3-mon__fig { animation: none; }
html.gfx-low .m3-mon.is-hit .m3-mon__fig { animation: m3mon-hit .42s ease-out; }
html.gfx-low .m3-mon.is-attack .m3-mon__fig { animation: m3mon-atk .7s ease-out; }
@media (max-height: 700px) { .m3-mon__fig { width: 64px; height: 64px; } .m3-mon__hp { width: 120px; } .m3l--boss .m3l__board { width: min(100% - 8px, calc((100dvh - 316px) * 8 / 9), 460px); } }
/* ilk pervane ipucu */
.m3l__hintbar.is-tip { display: flex; align-items: center; gap: 6px; justify-content: center; text-align: left; background: linear-gradient(180deg, #2a3b47, #15212a); border: 1px solid #c99a4a; color: #f3ead6; }
.m3l__hintbar.is-tip img { flex: 0 0 auto; }
