/* =====================================================================
   EVOMYTH — ortak görünüm (site + akıllı tahta)
   Renkler logodan: zümrüt yeşili, lacivert, bakır, gümüş
   ===================================================================== */
:root{
  --em-bg0:#050b16; --em-bg1:#081a2c; --em-bg2:#0c2a3c;
  --em-green:#12a26a; --em-green2:#0d7a4f; --em-green-glow:rgba(18,162,106,.35);
  --em-navy:#132a57; --em-copper:#e0915f; --em-copper2:#b8683a;
  --em-silver:#d9e0e8; --em-text:#eef3f7; --em-muted:#9fb3c2;
  --em-card:rgba(255,255,255,.05); --em-stroke:rgba(255,255,255,.13);
  --em-danger:#ff5d6c; --em-ok:#3ddc84; --em-warn:#ffd23f;
  --em-radius:18px;
}
.evo-body{ margin:0; min-height:100vh; background:radial-gradient(120% 90% at 50% 0%, var(--em-bg2), var(--em-bg1) 45%, var(--em-bg0)); color:var(--em-text); font-family:'Inter',system-ui,sans-serif; line-height:1.45; }
.evo-body *{ box-sizing:border-box; }
.evo-h{ font-family:'Cinzel',Georgia,serif; letter-spacing:.02em; }
.hidden{ display:none !important; }
.row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.spread{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.center{ text-align:center; }
.small{ font-size:.85rem; }
.huge{ font-size:64px; text-align:center; }
.linkbtn{ background:none; border:0; color:var(--em-muted); text-decoration:underline; cursor:pointer; font:inherit; padding:4px; }
.kv{ display:flex; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px dashed var(--em-stroke); font-size:.92rem; }
.kv span{ color:var(--em-muted); }

/* ---------- Düğmeler / alanlar ---------- */
.ebtn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 20px; border-radius:999px; border:0; cursor:pointer;
  font:600 .95rem 'Space Grotesk','Inter',sans-serif; color:#fff; background:rgba(255,255,255,.08); border:1px solid var(--em-stroke);
  transition:transform .15s, filter .15s, background .15s; text-decoration:none; white-space:nowrap; }
.ebtn:hover{ transform:translateY(-1px); filter:brightness(1.12); }
.ebtn:disabled{ opacity:.5; cursor:default; transform:none; filter:none; }
.ebtn.primary{ background:linear-gradient(135deg,var(--em-green),var(--em-green2)); border-color:rgba(255,255,255,.2); box-shadow:0 8px 22px var(--em-green-glow); }
.ebtn.copper{ background:linear-gradient(135deg,var(--em-copper),var(--em-copper2)); border-color:rgba(255,255,255,.2); }
.ebtn.danger{ background:rgba(255,93,108,.15); border-color:rgba(255,93,108,.5); color:#ffc2c8; }
.ebtn.sm{ padding:6px 12px; font-size:.82rem; }
.ebtn.lg{ padding:15px 26px; font-size:1.08rem; }
.ebtn.wide{ width:100%; }
.efield{ display:block; margin:10px 0; font-weight:600; font-size:.86rem; color:var(--em-muted); }
.einput, .efield input, .efield select{ width:100%; margin-top:5px; padding:11px 13px; border-radius:12px; border:1px solid var(--em-stroke); background:rgba(0,0,0,.3); color:var(--em-text); font:inherit; font-size:1rem; outline:none; }
.einput:focus, .efield input:focus, .efield select:focus{ border-color:var(--em-green); box-shadow:0 0 0 3px var(--em-green-glow); }
select.einput option{ background:#0c2a3c; }
.epanel{ background:var(--em-card); border:1px solid var(--em-stroke); border-radius:var(--em-radius); padding:18px; backdrop-filter:blur(8px); }
.enote{ padding:11px 14px; border-radius:12px; font-size:.9rem; margin:10px 0; }
.enote.ok{ background:rgba(61,220,132,.1); border:1px solid rgba(61,220,132,.35); color:#baf5d3; }
.enote.warn{ background:rgba(255,210,63,.1); border:1px solid rgba(255,210,63,.35); color:#ffe9a3; }
.enote.bad{ background:rgba(255,93,108,.12); border:1px solid rgba(255,93,108,.4); color:#ffc2c9; }
.emuted{ color:var(--em-muted); }
.eerr{ color:#ff9aae; font-weight:600; min-height:1.2em; font-size:.9rem; margin:6px 0 0; }
.ep-pill{ display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; background:linear-gradient(135deg,rgba(224,145,95,.25),rgba(184,104,58,.25)); border:1px solid rgba(224,145,95,.5); color:#ffd9bf; font-weight:700; }

/* ---------- Tür etiketi ---------- */
.evo-chip{ display:inline-flex; align-items:center; gap:4px; padding:3px 9px; border-radius:999px; font-size:.78rem; font-weight:700;
  background:color-mix(in srgb, var(--tc) 22%, transparent); border:1px solid color-mix(in srgb, var(--tc) 60%, transparent); color:#fff; white-space:nowrap; }
.evo-chip.sm{ font-size:.7rem; padding:2px 7px; }
/* Tür / Yelbegen / Evolet ikonları (resim): yazı boyutuna göre ölçeklenir */
.evo-ico{ width:1.35em; height:1.35em; border-radius:22%; vertical-align:-.3em; object-fit:cover; display:inline-block; flex-shrink:0; }
.evo-chip .evo-ico{ margin-left:-5px; }
span.evo-ico{ display:inline-flex; align-items:center; justify-content:center; font-size:1em; line-height:1; border-radius:0; } /* görseli olmayan türler (Master) emoji ile */
.evo-matrix thead th span.evo-ico{ font-size:22px; }
.meta-chip span.evo-ico{ font-size:20px; }
.evo-matrix thead th .evo-ico{ width:30px; height:30px; display:block; margin:0 auto 2px; }
.evo-dragon .evo-ico{ width:34px; height:34px; }
.evo-none{ color:var(--em-muted); font-size:.75rem; }

/* ---------- Evolet kartı ---------- */
.evo-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; }
.evo-card{ position:relative; border-radius:20px; padding:12px; color:var(--em-text); overflow:hidden;
  background:linear-gradient(170deg, color-mix(in srgb, var(--tc) 30%, #0b1a2c) 0%, #0a1626 55%, #07101c 100%);
  border:2px solid color-mix(in srgb, var(--tc) 70%, #fff 0%); box-shadow:0 12px 30px rgba(0,0,0,.45); transition:transform .2s; }
.evo-card:hover{ transform:translateY(-3px); }
.evo-card.st2{ border-color:var(--em-silver); box-shadow:0 0 0 2px color-mix(in srgb, var(--tc) 60%, transparent), 0 12px 30px rgba(0,0,0,.5), 0 0 22px color-mix(in srgb, var(--tc) 30%, transparent); }
.evo-card.st3{ border:2px solid transparent; background:
  linear-gradient(170deg, color-mix(in srgb, var(--tc) 32%, #0b1a2c), #0a1626 55%, #07101c) padding-box,
  conic-gradient(from var(--ang,0deg), var(--em-copper), var(--tc), var(--em-silver), var(--em-green), var(--em-copper)) border-box;
  animation:evo-spin 6s linear infinite; box-shadow:0 0 28px color-mix(in srgb, var(--tc) 45%, transparent), 0 14px 34px rgba(0,0,0,.55); }
@property --ang{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
@keyframes evo-spin{ to{ --ang:360deg; } }
.evo-top{ display:flex; justify-content:space-between; align-items:center; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.evo-stage{ color:color-mix(in srgb, var(--tc) 55%, #fff); }
.st3 .evo-stage{ color:var(--em-copper); }
.evo-lvl{ background:rgba(0,0,0,.45); border:1px solid var(--em-stroke); padding:2px 9px; border-radius:999px; font-size:.8rem; color:#fff; }
.evo-art{ display:block; width:100%; height:160px; object-fit:contain; margin:8px 0 4px; border-radius:14px; }
.evo-sym{ display:grid; place-items:center; background:radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--tc) 55%, transparent), transparent 68%); position:relative; }
.evo-sym span{ font-size:78px; line-height:1; filter:drop-shadow(0 6px 14px rgba(0,0,0,.6)); animation:evo-float 3.2s ease-in-out infinite; }
.evo-sym.s2 span{ font-size:90px; }
.evo-sym.s2::before{ content:""; position:absolute; width:128px; height:128px; border-radius:50%; border:2px solid color-mix(in srgb, var(--tc) 70%, #fff); opacity:.55; }
.evo-sym.s3 span{ font-size:100px; }
.evo-sym.s3::before{ content:""; position:absolute; width:140px; height:140px; border-radius:50%; background:conic-gradient(from 0deg, transparent, color-mix(in srgb, var(--tc) 80%, #fff), transparent 30%, var(--em-copper), transparent 60%); animation:evo-rot 5s linear infinite; opacity:.55; -webkit-mask:radial-gradient(circle, transparent 60%, #000 62%); mask:radial-gradient(circle, transparent 60%, #000 62%); }
@keyframes evo-float{ 50%{ transform:translateY(-6px) scale(1.03); } }
@keyframes evo-rot{ to{ transform:rotate(360deg); } }
.evo-name{ font-family:'Cinzel',Georgia,serif; font-weight:700; font-size:1.2rem; text-align:center; }
/* Cinzel Türkçe dil ayarında küçük "i"yi "İ" çizer: Evolet adları (mid/mpg) için yerel harf değişimi kapalı */
.evo-name, .evn{ font-feature-settings:"locl" 0; }
.evo-sub{ display:flex; justify-content:center; gap:6px; align-items:center; flex-wrap:wrap; margin:4px 0 6px; }
.evo-owner{ font-size:.78rem; color:var(--em-muted); }
.evo-desc{ font-size:.8rem; color:var(--em-muted); text-align:center; font-style:italic; margin-bottom:8px; }
.evo-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:6px 0; }
.evo-stats div{ background:rgba(0,0,0,.35); border-radius:10px; padding:5px 0; text-align:center; }
.evo-stats i{ display:block; font-style:normal; font-size:.66rem; color:var(--em-muted); font-weight:700; }
.evo-stats b{ font-size:1rem; }
.evo-skills{ list-style:none; margin:8px 0; padding:0; display:flex; flex-direction:column; gap:4px; }
.evo-skills li{ background:rgba(255,255,255,.05); border-left:3px solid var(--tc); border-radius:8px; padding:5px 8px; display:flex; flex-direction:column; }
.evo-skills li b{ font-size:.85rem; }
.evo-skills li span{ font-size:.72rem; color:var(--em-muted); }
.evo-skills li.locked{ opacity:.45; border-left-color:#555; }
.evo-rel{ display:grid; gap:5px; font-size:.72rem; margin-top:6px; }
.evo-rel > div{ display:flex; flex-wrap:wrap; gap:3px; align-items:center; }
.evo-rel > div > span:first-child{ width:100%; color:var(--em-muted); font-weight:700; }
.evo-card.compact .evo-art{ height:110px; }
.evo-card.compact .evo-sym span{ font-size:58px; }
.evo-card.resting .evo-art, .evo-card.resting .evo-name{ filter:grayscale(.85) brightness(.7); }
.evo-rest{ margin-top:8px; padding:8px; border-radius:10px; background:rgba(40,60,120,.45); border:1px solid rgba(130,160,255,.4); font-size:.8rem; text-align:center; }
.evo-actions{ display:flex; gap:6px; flex-wrap:wrap; margin-top:10px; }
.evo-actions .ebtn{ flex:1; }

/* Platin çerçeve (haftanın ilk 3'ü) */
.fr-platinum, .tag-platinum{ position:relative; box-shadow:0 0 0 3px #e9eef5, 0 0 18px 4px rgba(220,235,255,.65), 0 0 40px rgba(180,210,255,.35); animation:evo-plat 2.4s ease-in-out infinite; }
@keyframes evo-plat{ 50%{ box-shadow:0 0 0 3px #fff, 0 0 28px 8px rgba(230,240,255,.9), 0 0 60px rgba(190,220,255,.5); } }
.fr-platinum::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.35) 45%, transparent 60%); background-size:250% 100%; animation:evo-shine 3s linear infinite; }
@keyframes evo-shine{ from{ background-position:120% 0; } to{ background-position:-120% 0; } }
/* Ejderha sembolü ve alev efekti (Yelbegen'i yenenler) */
.evo-dragon{ position:absolute; top:34px; right:10px; z-index:3; font-size:26px; filter:drop-shadow(0 0 8px #ff6a00); animation:evo-float 2.2s ease-in-out infinite; }
.dragon, .tag-flame{ box-shadow:0 0 0 2px #ff7a1a, 0 0 18px #ff5a00, 0 -6px 30px rgba(255,120,0,.55); animation:evo-flame 1.1s ease-in-out infinite alternate; }
/* Hem platin hem ejderha: içte platin halka, dışta alev */
.fr-platinum.dragon, .tag-platinum.tag-flame{ animation:evo-platflame 1.1s ease-in-out infinite alternate; }
@keyframes evo-platflame{
  from{ box-shadow:0 0 0 3px #e9eef5, 0 0 0 5px #ff7a1a, 0 0 16px 4px rgba(230,240,255,.7), 0 -6px 28px rgba(255,110,0,.55); }
  to{ box-shadow:0 0 0 3px #fff, 0 0 0 6px #ffb300, 0 0 24px 6px rgba(230,240,255,.9), 0 -12px 42px rgba(255,90,0,.75); } }
@keyframes evo-flame{ from{ box-shadow:0 0 0 2px #ff7a1a, 0 0 14px #ff5a00, 0 -4px 24px rgba(255,120,0,.45); } to{ box-shadow:0 0 0 2px #ffb300, 0 0 26px #ff3d00, 0 -12px 40px rgba(255,160,0,.7); } }

/* Öğrenci isim kartı */
.evo-tag{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:14px; background:rgba(255,255,255,.07); border:1px solid var(--em-stroke); font-weight:700; }
.evo-tag .dr{ font-size:1.1rem; }

/* ---------- Tür matrisi ---------- */
.evo-matrix-wrap{ overflow:auto; }
.evo-matrix{ border-collapse:separate; border-spacing:3px; font-size:.8rem; min-width:640px; }
.evo-matrix th{ padding:6px; background:color-mix(in srgb, var(--tc, #445) 30%, #0b1a2c); border-radius:8px; font-weight:700; white-space:nowrap; }
.evo-matrix thead th small{ display:block; font-size:.62rem; font-weight:600; }
.evo-matrix td{ text-align:center; padding:6px; border-radius:8px; font-weight:800; min-width:44px; }
.evo-matrix td.m2{ background:rgba(61,220,132,.3); color:#c9ffe0; }
.evo-matrix td.m05{ background:rgba(255,93,108,.28); color:#ffd0d5; }
.evo-matrix td.m1{ background:rgba(255,255,255,.05); color:var(--em-muted); }

/* ---------- Modal / bildirim ---------- */
.emodal-back{ position:fixed; inset:0; z-index:1000; background:rgba(2,6,14,.78); display:grid; place-items:center; padding:16px; animation:evo-fade .2s; }
.emodal{ width:min(720px,100%); max-height:92vh; overflow:auto; background:linear-gradient(170deg,#0e2a3d,#081524); border:1px solid var(--em-stroke); border-radius:22px; padding:22px; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.emodal h2{ margin:0 0 10px; font-family:'Cinzel',serif; }
@keyframes evo-fade{ from{ opacity:0; } }
.etoast{ position:fixed; left:50%; bottom:22px; transform:translateX(-50%); z-index:1100; background:#0f3b2a; border:1px solid var(--em-green); color:#dfffee; padding:12px 18px; border-radius:14px; box-shadow:0 12px 30px rgba(0,0,0,.5); font-weight:600; animation:evo-fade .2s; max-width:92vw; }
.etoast.bad{ background:#3b0f18; border-color:var(--em-danger); color:#ffd9de; }

/* Ödül listesi (öğretmen kapatana kadar açık) */
.reward-list{ display:flex; flex-direction:column; gap:8px; margin:12px 0; }
.reward-row{ display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:14px; background:linear-gradient(90deg, color-mix(in srgb, var(--tc) 28%, transparent), rgba(255,255,255,.04)); border:1px solid color-mix(in srgb, var(--tc) 50%, transparent); font-size:1.08rem; animation:evo-pop .45s both; }
.reward-row .sym{ font-size:2rem; }
.reward-row img.sym{ width:72px; height:72px; object-fit:contain; flex-shrink:0; filter:drop-shadow(0 4px 10px rgba(0,0,0,.5)); }
#present .reward-row img.sym{ width:96px; height:96px; }
.reward-row b{ font-family:'Cinzel',serif; }
.reward-row .arrow{ color:var(--em-muted); }
@keyframes evo-pop{ from{ opacity:0; transform:translateY(10px) scale(.97); } }

/* ---------- Savaş ekranı ---------- */
.battle{ display:grid; gap:14px; }
.b-field{ display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center; }
.b-side{ background:rgba(0,0,0,.28); border:1px solid var(--em-stroke); border-radius:18px; padding:12px; text-align:center; position:relative; }
.b-side.turn{ border-color:var(--em-green); box-shadow:0 0 0 2px var(--em-green-glow), 0 0 24px var(--em-green-glow); }
.b-side .evo-sym, .b-side .evo-art{ height:120px; }
.b-side.hit{ animation:evo-hit .35s; }
@keyframes evo-hit{ 25%{ transform:translateX(-8px); filter:brightness(1.8) saturate(.4); } 60%{ transform:translateX(6px); } }
.b-vs{ font-family:'Cinzel',serif; font-size:2rem; color:var(--em-copper); text-align:center; }
.b-timer{ width:64px; height:64px; border-radius:50%; display:grid; place-items:center; font:800 1.4rem 'Space Grotesk',sans-serif; margin:6px auto 0;
  background:conic-gradient(var(--em-green) calc(var(--p,1) * 360deg), rgba(255,255,255,.08) 0); position:relative; }
.b-timer::before{ content:""; position:absolute; inset:6px; border-radius:50%; background:#0a1a2a; }
.b-timer span{ position:relative; }
.b-timer.low{ background:conic-gradient(var(--em-danger) calc(var(--p,1) * 360deg), rgba(255,255,255,.08) 0); }
.hpbar{ height:14px; border-radius:999px; background:rgba(255,255,255,.1); overflow:hidden; margin:6px 0 2px; }
.hpbar i{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#3ddc84,#9be15d); transition:width .5s; }
.hpbar i.mid{ background:linear-gradient(90deg,#ffd23f,#ffa53f); }
.hpbar i.low{ background:linear-gradient(90deg,#ff5d6c,#ff8a5d); }
.hptext{ font-size:.8rem; color:var(--em-muted); }
.b-status{ font-size:.75rem; min-height:1.1em; color:#ffd9bf; }
.b-skills{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.b-skill{ text-align:left; padding:10px 12px; border-radius:14px; border:1px solid color-mix(in srgb, var(--tc) 60%, transparent); background:color-mix(in srgb, var(--tc) 18%, #0b1a2c); color:#fff; cursor:pointer; font:inherit; }
.b-skill b{ display:block; font-size:.95rem; }
.b-skill small{ color:var(--em-muted); }
.b-skill:disabled{ opacity:.4; cursor:default; }
.b-log{ background:rgba(0,0,0,.35); border-radius:14px; padding:10px 12px; font-size:.85rem; max-height:180px; overflow:auto; display:flex; flex-direction:column-reverse; gap:3px; }
.boss-box{ text-align:center; padding:14px; border-radius:20px; background:radial-gradient(circle at 50% 30%, rgba(255,90,0,.25), rgba(0,0,0,.35) 70%); border:1px solid rgba(255,120,40,.4); }
.boss-art{ font-size:64px; letter-spacing:-18px; filter:drop-shadow(0 0 14px #ff5a00); animation:evo-float 2.6s ease-in-out infinite; }
.boss-art img{ max-height:180px; }
.raid-team{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.raid-team .b-side{ padding:8px; }
.raid-team .b-side .evo-sym{ height:64px; }
.raid-team .b-side .evo-sym span{ font-size:44px; }
.raid-team .b-side.ko{ opacity:.45; filter:grayscale(1); }

/* ---------- Liderlik tablosu ---------- */
.lb{ width:100%; border-collapse:collapse; }
.lb th, .lb td{ padding:9px 10px; text-align:left; border-bottom:1px solid var(--em-stroke); }
.lb tr.me td{ background:rgba(18,162,106,.12); }
.lb .rank{ font-weight:800; width:48px; }
.lb .medal{ font-size:1.2rem; }

@media (max-width:640px){
  .b-field{ grid-template-columns:1fr; }
  .b-vs{ font-size:1.3rem; }
  .evo-grid{ grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); }
}
@media (prefers-reduced-motion: reduce){ .evo-body *{ animation:none !important; } }

/* 3D model (Tripo3D GLB) */
.evo-3d{ position:absolute; top:38px; left:12px; z-index:3; padding:4px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.35); background:linear-gradient(135deg,var(--em-green),var(--em-green2)); color:#fff; font:700 .72rem 'Space Grotesk',sans-serif; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.45); animation:evo-float 2.4s ease-in-out infinite; }
.evo-3d:hover{ filter:brightness(1.15); }
.evo-card.compact .evo-3d{ top:34px; left:8px; font-size:.64rem; padding:3px 8px; }
.mv-box{ position:relative; height:min(62vh,520px); margin-top:10px; border-radius:18px; overflow:hidden; background:radial-gradient(circle at 50% 40%, #0f3346, #07131f 70%); }
.mv-box model-viewer{ width:100%; height:100%; --poster-color:transparent; }
.mv-wait{ position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; }

/* =====================================================================
   EVO LEAGUE SEASON — turnuva ağacı, canlı izleme, kürsü çerçeveleri
   ===================================================================== */
.lg-hero{ text-align:center; margin:0 0 10px; }
.lg-logo{ width:min(340px,78%); display:block; margin:0 auto; filter:drop-shadow(0 0 22px rgba(56,201,190,.35)) drop-shadow(0 18px 30px rgba(0,0,0,.55)); animation:lg-float 5s ease-in-out infinite; }
.lg-logo.sm{ width:170px; }
@keyframes lg-float{ 50%{ transform:translateY(-6px); filter:drop-shadow(0 0 34px rgba(56,201,190,.55)) drop-shadow(0 22px 34px rgba(0,0,0,.55)); } }
.lg-admin-head{ text-align:center; margin-bottom:8px; }
/* Öğrenci üst bilgisinde: sezon rozeti (isim ile EP arasında, ortada) */
.app-head .lg-badge{ flex:0 1 auto; display:flex; flex-direction:column; align-items:center; gap:2px; text-decoration:none; color:inherit; cursor:pointer; background:none; border:0; padding:0; font:inherit; }
.lg-badge img{ height:92px; filter:drop-shadow(0 0 16px rgba(56,201,190,.45)); animation:lg-float 4s ease-in-out infinite; }
.lg-badge span{ font:800 .78rem 'Space Grotesk',sans-serif; letter-spacing:.08em; text-transform:uppercase; background:linear-gradient(90deg,#7ff5e1,#ffe38a,#7ff5e1); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:lg-shine 3s linear infinite; white-space:nowrap; }
@keyframes lg-shine{ to{ background-position:-200% 0; } }
.tab.lg-tab{ border-color:rgba(127,245,225,.45); }
.tab.lg-tab.on{ background:linear-gradient(135deg,#1b8f88,#155e75); box-shadow:0 0 18px rgba(56,201,190,.4); }
/* Durum bantları */
.lg-banner{ display:block; width:100%; text-align:center; padding:12px 16px; margin:0 0 12px; border-radius:14px; border:1px solid rgba(127,245,225,.35); background:linear-gradient(90deg,rgba(21,94,117,.35),rgba(27,143,136,.25),rgba(21,94,117,.35)); color:var(--em-text); font:600 .95rem 'Space Grotesk',sans-serif; }
.lg-banner.live{ cursor:pointer; border-color:rgba(255,93,108,.6); background:linear-gradient(90deg,rgba(120,20,35,.45),rgba(255,93,108,.18),rgba(120,20,35,.45)); animation:lg-pulse 1.6s ease-in-out infinite; }
.lg-banner.done{ border-color:rgba(255,215,90,.6); background:linear-gradient(90deg,rgba(120,90,10,.35),rgba(255,215,90,.18),rgba(120,90,10,.35)); }
@keyframes lg-pulse{ 50%{ box-shadow:0 0 0 3px rgba(255,93,108,.25), 0 0 26px rgba(255,93,108,.35); } }
.lg-ticket{ margin:10px auto; padding:10px 14px; border-radius:14px; border:1px dashed rgba(255,255,255,.2); color:var(--em-muted); text-align:center; max-width:560px; }
.lg-ticket.on{ border:1px solid rgba(255,215,90,.6); color:#ffe9a3; background:rgba(255,215,90,.08); box-shadow:0 0 18px rgba(255,215,90,.2); }
.lg-mine{ margin-bottom:12px; border-color:rgba(255,215,90,.35); }
.lg-team{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.lg-tm{ display:flex; align-items:center; gap:6px; padding:4px 10px 4px 4px; border-radius:12px; background:rgba(0,0,0,.25); border:1px solid var(--em-stroke); }
.lg-tm .n{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--em-green); font:800 .75rem 'Space Grotesk',sans-serif; }
.lg-tm img, .lg-tm .sym{ width:40px; height:40px; object-fit:contain; font-size:28px; }
.lg-chip{ display:inline-flex; align-items:center; gap:4px; padding:2px 8px; border-radius:999px; font:800 .64rem 'Space Grotesk',sans-serif; letter-spacing:.05em; text-transform:uppercase; background:rgba(255,255,255,.1); color:var(--em-muted); white-space:nowrap; }
.lg-chip.live{ background:#ff3d57; color:#fff; animation:lg-blink 1s steps(2) infinite; }
.lg-chip.done{ background:rgba(61,220,132,.18); color:#9ff0c2; }
.lg-chip.bye{ background:rgba(127,107,255,.2); color:#c9c0ff; }
.lg-chip.gold{ background:linear-gradient(135deg,#ffe38a,#d4a017); color:#3a2800; }
@keyframes lg-blink{ 50%{ opacity:.55; } }
/* Turnuva ağacı */
.lg-panel{ overflow:hidden; }
.lg-bracket-wrap{ overflow-x:auto; margin-top:10px; padding-bottom:6px; scrollbar-width:thin; }
.lg-bracket{ position:relative; display:flex; gap:44px; min-width:max-content; padding:6px 6px 10px; }
.lg-lines{ position:absolute; left:0; top:0; pointer-events:none; overflow:visible; }
.lg-lines path{ fill:none; stroke:rgba(127,245,225,.22); stroke-width:2; stroke-dasharray:6 6; animation:lg-dash 1.2s linear infinite; }
.lg-lines path.on{ stroke:rgba(255,215,90,.75); stroke-dasharray:none; filter:drop-shadow(0 0 4px rgba(255,215,90,.6)); animation:none; }
@keyframes lg-dash{ to{ stroke-dashoffset:-24; } }
.lg-col{ width:230px; flex-shrink:0; display:flex; flex-direction:column; animation:lg-in .55s both; animation-delay:calc(var(--c) * 120ms); }
.lg-col.champ{ width:260px; }
@keyframes lg-in{ from{ opacity:0; transform:translateX(-14px); } }
.lg-ch{ text-align:center; padding:8px 6px; margin-bottom:10px; border-radius:12px; background:linear-gradient(135deg,rgba(21,94,117,.55),rgba(13,122,79,.35)); border:1px solid rgba(127,245,225,.28); }
.lg-ch b{ display:block; font:800 .95rem 'Cinzel',serif; letter-spacing:.04em; }
.lg-ch small{ color:var(--em-muted); font-size:.72rem; }
.lg-cb{ flex:1; display:flex; flex-direction:column; justify-content:space-around; gap:12px; }
.lg-m{ position:relative; z-index:1; display:block; width:100%; text-align:left; padding:8px; border-radius:14px; border:1px solid rgba(255,255,255,.14); background:linear-gradient(160deg,rgba(16,44,62,.96),rgba(7,19,31,.96)); color:var(--em-text); font:inherit; cursor:pointer; box-shadow:0 8px 20px rgba(0,0,0,.35); transition:transform .18s, border-color .18s, box-shadow .18s; animation:lg-pop .5s both; animation-delay:calc(var(--c,0) * 120ms + var(--d,0ms)); }
@keyframes lg-pop{ from{ opacity:0; transform:translateY(8px) scale(.97); } }
.lg-m:hover{ transform:translateY(-2px) scale(1.02); border-color:rgba(127,245,225,.6); box-shadow:0 10px 26px rgba(0,0,0,.45), 0 0 18px rgba(56,201,190,.25); }
.lg-m.bye{ cursor:default; opacity:.8; border-style:dashed; }
.lg-m.bye:hover{ transform:none; }
.lg-m.mine{ border-color:rgba(18,162,106,.8); }
.lg-m.live{ border-color:#ff3d57; animation:lg-pop .5s both, lg-pulse 1.6s ease-in-out infinite; }
.lg-m.final{ border-color:rgba(255,215,90,.7); box-shadow:0 0 22px rgba(255,215,90,.25), 0 8px 20px rgba(0,0,0,.35); }
.lg-m.third{ border-color:rgba(205,127,50,.6); }
.lg-mt{ display:flex; justify-content:space-between; align-items:center; gap:6px; font-size:.68rem; color:var(--em-muted); margin-bottom:5px; }
.lg-mt b{ color:#ffe38a; }
.lg-p{ display:flex; align-items:center; gap:7px; padding:5px 6px; border-radius:9px; font-size:.84rem; font-weight:600; }
.lg-p + .lg-p{ margin-top:3px; }
.lg-p .lg-n{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lg-p.tbd{ color:var(--em-muted); font-style:italic; font-weight:500; }
.lg-p.win{ background:linear-gradient(90deg,rgba(255,215,90,.22),rgba(255,215,90,.04)); color:#fff4c7; }
.lg-p.lose{ opacity:.45; text-decoration:line-through; text-decoration-color:rgba(255,255,255,.35); }
.lg-p.me .lg-n{ color:#9ff0c2; }
.lg-av{ --h:200; width:24px; height:24px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; font:800 .62rem 'Space Grotesk',sans-serif; color:#fff; background:linear-gradient(135deg,hsl(var(--h) 70% 45%),hsl(calc(var(--h) + 40) 70% 30%)); border:1px solid rgba(255,255,255,.3); }
.lg-av.xl{ width:84px; height:84px; font-size:1.6rem; border-width:2px; box-shadow:0 0 22px hsl(var(--h) 70% 45% / .5); }
.lg-sc{ font:800 .72rem 'Space Grotesk',sans-serif; color:var(--em-muted); }
.lg-sc.live{ color:#ff8a9a; }
.lg-w{ color:#ffd75a; font-weight:900; }
.lg-trio{ padding:8px; border-radius:12px; background:rgba(0,0,0,.25); border:1px solid rgba(255,215,90,.3); }
.lg-trio-h{ font:700 .72rem 'Space Grotesk',sans-serif; color:#ffe38a; margin-bottom:4px; text-transform:uppercase; letter-spacing:.05em; }
.lg-tr{ display:grid; grid-template-columns:18px 1fr auto auto; gap:6px; font-size:.8rem; padding:3px 0; }
.lg-tr.me b{ color:#9ff0c2; }
/* Kürsü */
.lg-podium{ display:flex; align-items:flex-end; justify-content:center; gap:6px; padding-top:34px; }
.lg-pod{ position:relative; width:78px; display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center; font-size:.72rem; }
.lg-pod b{ font-size:.78rem; max-width:78px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lg-pod small{ color:var(--em-muted); }
.lg-pod-av{ --h:200; width:48px; height:48px; border-radius:50%; display:grid; place-items:center; font:800 .9rem 'Space Grotesk',sans-serif; background:linear-gradient(135deg,hsl(var(--h) 70% 45%),hsl(calc(var(--h) + 40) 70% 28%)); border:3px solid #7a8a99; }
.lg-step{ width:100%; border-radius:10px 10px 4px 4px; display:grid; place-items:center; font:900 1.3rem 'Cinzel',serif; color:rgba(0,0,0,.55); }
.lg-pod.p1 .lg-step{ height:78px; background:linear-gradient(180deg,#ffe38a,#c99a12); }
.lg-pod.p2 .lg-step{ height:56px; background:linear-gradient(180deg,#f2f5f8,#9aa6b2); }
.lg-pod.p3 .lg-step{ height:42px; background:linear-gradient(180deg,#f0b27a,#9a5b25); }
.lg-pod.p1 .lg-pod-av{ border-color:#ffd75a; width:58px; height:58px; }
.lg-pod.p2 .lg-pod-av{ border-color:#dfe6ee; }
.lg-pod.p3 .lg-pod-av{ border-color:#cd7f32; }
.lg-podium.done .lg-pod.p1 .lg-pod-av{ animation:lg-gold 2s ease-in-out infinite; }
.lg-podium.done .lg-pod.p2 .lg-pod-av{ animation:lg-silver 2.4s ease-in-out infinite; }
.lg-podium.done .lg-pod.p3 .lg-pod-av{ animation:lg-bronze 2.4s ease-in-out infinite; }
.lg-crown{ position:absolute; top:-30px; font-size:1.7rem; filter:drop-shadow(0 0 8px rgba(255,215,90,.8)); animation:lg-float 2.4s ease-in-out infinite; }
.lg-pod.me b{ color:#9ff0c2; }
/* Günlük program */
.lg-day{ margin-bottom:12px; }
.lg-day-h{ display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; padding:6px 0; border-bottom:1px solid var(--em-stroke); font-size:.88rem; }
.lg-day-h span{ color:var(--em-muted); font-size:.8rem; }
.lg-day.today .lg-day-h b{ color:#7ff5e1; }
.lg-slot{ display:grid; grid-template-columns:52px 1fr auto; gap:8px; align-items:center; padding:6px 4px; border-bottom:1px dashed rgba(255,255,255,.07); font-size:.85rem; cursor:pointer; border-radius:8px; }
.lg-slot:hover{ background:rgba(255,255,255,.04); }
.lg-slot.bye{ cursor:default; color:var(--em-muted); }
.lg-slot .t{ font:700 .85rem 'Space Grotesk',sans-serif; color:#7ff5e1; }
.lg-slot .v b{ color:var(--em-muted); font-weight:500; margin:0 4px; }
.lg-slot .r{ font-size:.78rem; }
.lg-slot.me{ background:rgba(18,162,106,.12); }
.lg-slot.done{ opacity:.75; }
/* Kurallar */
.lg-rules{ display:grid; gap:8px; }
.lg-rules > div{ display:flex; flex-direction:column; padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.035); font-size:.84rem; }
.lg-rules span{ color:var(--em-muted); }
/* Öğretmen kurulum */
.lg-setup{ margin-top:12px; border-color:rgba(255,215,90,.35); }
.lg-tix{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.lg-tk{ padding:7px 12px; border-radius:999px; border:1px solid var(--em-stroke); background:rgba(255,255,255,.04); color:var(--em-muted); font:600 .82rem 'Inter',sans-serif; cursor:pointer; }
.lg-tk.on{ border-color:rgba(255,215,90,.7); background:linear-gradient(135deg,rgba(255,215,90,.25),rgba(201,154,18,.15)); color:#fff4c7; box-shadow:0 0 12px rgba(255,215,90,.25); }
.lg-days{ display:grid; gap:6px; margin:12px 0 6px; }
.lg-dayrow{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; padding:8px 12px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid var(--em-stroke); }
.lg-dayrow input{ color-scheme:dark; }
input[type=date].einput, .efield input[type=date]{ color-scheme:dark; }
.lg-adm-status{ border-color:rgba(127,245,225,.35); }
.lg-big .lg-col{ width:270px; }
.lg-big .lg-p{ font-size:1rem; }
/* Canlı izleme penceresi */
.lg-modal .emodal{ background:radial-gradient(120% 80% at 50% 0%, #11394a, #07131f 70%); border-color:rgba(127,245,225,.3); }
.lg-vh{ margin-bottom:10px; }
.lg-vlogo{ height:54px; }
.lg-pre{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; padding:26px 6px; }
.lg-pre-p{ display:flex; flex-direction:column; align-items:center; gap:10px; font-size:1.05rem; text-align:center; }
.lg-pre-vs{ text-align:center; }
.b-side.lg-winner{ border-color:#ffd75a; box-shadow:0 0 0 2px rgba(255,215,90,.4), 0 0 30px rgba(255,215,90,.35); }
.lg-result .huge{ animation:lg-float 2s ease-in-out infinite; }
/* ---------- Kürsü çerçeveleri: altın (taçlı) / gümüş / bronz ---------- */
.fr-gold, .tag-gold{ position:relative; box-shadow:0 0 0 3px #ffd75a, 0 0 20px 5px rgba(255,200,40,.6), 0 0 44px rgba(255,190,0,.35); animation:lg-gold 2s ease-in-out infinite; }
.fr-silver, .tag-silver{ position:relative; box-shadow:0 0 0 3px #e6ecf2, 0 0 16px 4px rgba(215,225,235,.55); animation:lg-silver 2.4s ease-in-out infinite; }
.fr-bronze, .tag-bronze{ position:relative; box-shadow:0 0 0 3px #cd7f32, 0 0 16px 4px rgba(205,127,50,.55); animation:lg-bronze 2.4s ease-in-out infinite; }
@keyframes lg-gold{ 50%{ box-shadow:0 0 0 3px #fff2b0, 0 0 30px 9px rgba(255,210,60,.85), 0 0 64px rgba(255,190,0,.5); } }
@keyframes lg-silver{ 50%{ box-shadow:0 0 0 3px #fff, 0 0 26px 7px rgba(230,238,245,.8); } }
@keyframes lg-bronze{ 50%{ box-shadow:0 0 0 3px #f0a868, 0 0 26px 7px rgba(215,140,60,.8); } }
.fr-gold::after, .fr-silver::after, .fr-bronze::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.28) 50%, transparent 65%); background-size:250% 100%; animation:evo-shine 3.2s linear infinite; }
.tag-gold{ background:linear-gradient(135deg,rgba(255,215,90,.22),rgba(201,154,18,.12)); border-color:#ffd75a; }
.tag-silver{ background:rgba(230,236,242,.1); border-color:#e6ecf2; }
.tag-bronze{ background:rgba(205,127,50,.14); border-color:#cd7f32; }
.evo-crown{ position:absolute; top:-17px; left:50%; transform:translateX(-50%) rotate(-8deg); font-size:1.15rem; line-height:1; filter:drop-shadow(0 0 6px rgba(255,215,90,.9)); animation:lg-crown 2.4s ease-in-out infinite; pointer-events:none; }
@keyframes lg-crown{ 50%{ transform:translateX(-50%) rotate(6deg) translateY(-2px); } }
.evo-card.fr-gold .evo-crown{ top:4px; z-index:4; font-size:1.5rem; }
.fr-gold.dragon, .tag-gold.tag-flame{ animation:lg-gold 2s ease-in-out infinite; }
@media (max-width:760px){
  .app-head .lg-badge{ width:100%; }
  .lg-col{ width:200px; }
  .lg-bracket{ gap:30px; }
  .lg-pre{ grid-template-columns:1fr; }
}
.app-head .ah-l{ display:flex; align-items:center; gap:14px; flex:1; min-width:0; }
.app-head.has-lg .ah-l, .app-head.has-lg > .row{ flex:1 1 0; min-width:240px; }
.app-head.has-lg > .row{ justify-content:flex-end; }
.lg-bracket.still .lg-col, .lg-bracket.still .lg-m{ animation:none; }
.lg-bracket.still .lg-m.live{ animation:lg-pulse 1.6s ease-in-out infinite; }
.lg-ch b, .lg-mt b, .lg-step, .lg-vh .evo-h, .lg-setup .evo-h, .lg-panel .evo-h, .lg-empty .evo-h{ font-feature-settings:"locl" 0; }
.evo-card.fr-gold{ border-color:#ffd75a; box-shadow:0 0 0 3px #ffd75a, 0 0 20px 5px rgba(255,200,40,.6), 0 0 44px rgba(255,190,0,.35); }
.evo-card.fr-silver{ border-color:#e6ecf2; box-shadow:0 0 0 3px #e6ecf2, 0 0 16px 4px rgba(215,225,235,.55); }
.evo-card.fr-bronze{ border-color:#cd7f32; box-shadow:0 0 0 3px #cd7f32, 0 0 16px 4px rgba(205,127,50,.55); }
/* Kürsü kartları: kristaller + madalya */
.fr-gold{ --gem:#ffd75a; --gem-hi:#fff6c8; --gem-lo:#c98a00; --med-hi:#fff0a0; --med-lo:#d89a00; }
.fr-silver{ --gem:#cfe3f5; --gem-hi:#ffffff; --gem-lo:#7f98b0; --med-hi:#ffffff; --med-lo:#9aa8b6; }
.fr-bronze{ --gem:#e89a52; --gem-hi:#ffd9b0; --gem-lo:#8f4a14; --med-hi:#ffcf99; --med-lo:#a65d1e; }
.evo-gems{ position:absolute; inset:0; z-index:3; pointer-events:none; }
.evo-gems i{ position:absolute; width:26px; height:34px; background:linear-gradient(135deg,var(--gem-hi) 0%,var(--gem) 45%,var(--gem-lo) 100%);
  clip-path:polygon(50% 0,100% 38%,50% 100%,0 38%); filter:drop-shadow(0 0 5px var(--gem)); animation:evo-gem 2.6s ease-in-out infinite; }
.evo-gems i:nth-child(odd){ animation-delay:-1.2s; }
.evo-gems .g1{ top:104px; left:2px; transform:rotate(-90deg) scale(.8); }
.evo-gems .g2{ top:104px; right:2px; transform:rotate(90deg) scale(.8); }
.evo-gems .g3{ bottom:3px; left:3px; transform:rotate(-150deg); }
.evo-gems .g4{ bottom:3px; right:3px; transform:rotate(150deg); }
.evo-gems .g5{ bottom:2px; left:30%; width:18px; height:24px; transform:rotate(180deg); }
.evo-gems .g6{ bottom:2px; right:30%; width:18px; height:24px; transform:rotate(180deg); }
@keyframes evo-gem{ 50%{ filter:drop-shadow(0 0 10px var(--gem)) brightness(1.25); } }
.evo-medal{ position:absolute; top:62px; right:8px; z-index:4; width:36px; height:36px; border-radius:50%; display:grid; place-items:center;
  background:radial-gradient(circle at 35% 30%,var(--med-hi),var(--med-lo)); border:2px solid var(--gem-hi); box-shadow:0 2px 8px rgba(0,0,0,.5),0 0 12px var(--gem); pointer-events:auto; }
.evo-medal b{ font-size:1.05rem; color:#3a2600; text-shadow:0 1px 0 rgba(255,255,255,.55); }
.fr-gold.dragon .evo-dragon, .fr-silver.dragon .evo-dragon, .fr-bronze.dragon .evo-dragon{ right:52px; top:62px; }
.evo-card.compact .evo-medal{ top:62px; width:30px; height:30px; }
/* İsim etiketleri */
.tag-gold::before, .tag-silver::before, .tag-bronze::before{ margin-right:4px; }
.tag-gold::before{ content:"🥇"; } .tag-silver::before{ content:"🥈"; } .tag-bronze::before{ content:"🥉"; }
.tag-gold, .tag-silver, .tag-bronze{ text-shadow:0 0 8px var(--gem); }
.tag-gold{ --gem:#ffd75a; } .tag-silver{ --gem:#cfe3f5; } .tag-bronze{ --gem:#e89a52; }
/* Savaşta Evolet değiştirme (yedekler) */
.bench{ margin:10px 0 0; padding:10px; border-radius:14px; background:rgba(0,0,0,.22); border:1px solid var(--em-stroke); }
.bench-h{ display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.bench-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; }
.bench-it{ display:flex; align-items:center; gap:8px; padding:6px 10px 6px 6px; border-radius:12px; border:1px solid color-mix(in srgb, var(--tc) 55%, transparent); background:rgba(255,255,255,.04); color:var(--em-text); font:inherit; text-align:left; cursor:pointer; transition:transform .15s, box-shadow .15s; }
.bench-it:not(:disabled):hover{ transform:translateY(-2px); box-shadow:0 0 16px color-mix(in srgb, var(--tc) 45%, transparent); }
.bench-it:disabled{ cursor:default; opacity:.7; }
.bench-it img, .bench-it .sym{ width:44px; height:44px; object-fit:contain; font-size:30px; flex-shrink:0; }
.bench-it > span{ flex:1; min-width:0; display:flex; flex-direction:column; }
.bench-it b{ font-size:.82rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bench-it small{ font-size:.7rem; color:var(--em-muted); }
.bench-hp{ display:block; height:5px; border-radius:3px; background:rgba(255,255,255,.1); overflow:hidden; margin-top:3px; }
.bench-hp > i{ display:block; height:100%; background:var(--em-ok); }
.bench-it em{ font-style:normal; font-style:normal; font-size:1.1rem; }

/* ---------- Lore (Evolet hikâyeleri) ---------- */
.evo-lore-btn{ display:block; width:100%; margin:0 0 10px; padding:7px 10px; border-radius:12px; cursor:pointer;
  border:1px solid color-mix(in srgb, var(--tc, var(--em-copper)) 55%, transparent);
  background:linear-gradient(135deg, color-mix(in srgb, var(--tc, var(--em-copper)) 22%, transparent), rgba(255,255,255,.03));
  color:var(--em-text); font:700 .8rem 'Space Grotesk',sans-serif; letter-spacing:.2px; transition:transform .15s ease, filter .15s ease; }
.evo-lore-btn:hover{ transform:translateY(-1px); filter:brightness(1.15); }
.lore{ font-family:'Inter',system-ui,sans-serif; }
.lore-head{ display:flex; gap:16px; align-items:center; margin:10px 0 6px; }
.lore-head h2{ margin:0 0 6px; font-size:1.3rem; line-height:1.25; }
.lore-art{ width:130px; height:130px; object-fit:contain; flex-shrink:0; filter:drop-shadow(0 8px 18px rgba(0,0,0,.5)); }
.lore-art.evo-sym{ display:flex; align-items:center; justify-content:center; font-size:4rem; }
.lore-myth{ margin:8px 0 0; font-size:.8rem; color:var(--em-muted); line-height:1.45; }
.lore-text{ margin-top:10px; padding:14px 18px; border-radius:14px; background:rgba(0,0,0,.22); border:1px solid var(--em-stroke); }
.lore-text p{ margin:0 0 12px; font-size:.98rem; line-height:1.72; color:var(--em-text); }
.lore-text p:last-child{ margin-bottom:0; }
.lore-text p.first::first-letter{ float:left; font:700 2.6rem/1 'Space Grotesk',serif; margin:4px 8px 0 0; color:var(--em-copper); }
.lore-link{ display:inline; padding:0 1px; border:0; background:none; cursor:pointer; font:inherit; font-weight:700; color:var(--em-copper); text-decoration:underline dotted; text-underline-offset:3px; }
.lore-link:hover{ color:#ffc49b; }
.lore-world{ margin-top:12px; font-size:.86rem; color:var(--em-muted); }
.lore-world summary{ cursor:pointer; font-weight:600; color:var(--em-text); }
.lore-world p{ line-height:1.65; margin:8px 0 0; }
@media (max-width:560px){ .lore-head{ flex-direction:column; text-align:center; } .lore-art{ width:110px; height:110px; } .lore-text{ padding:12px 14px; } .lore-text p{ font-size:.93rem; } }

/* ---------- Bu ayın metası ---------- */
.meta-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(132px, 1fr)); gap:8px; }
.meta-chip{ display:flex; align-items:center; gap:8px; padding:9px 10px; border-radius:12px; cursor:pointer;
  border:1px solid color-mix(in srgb, var(--tc) 45%, transparent); background:rgba(255,255,255,.04); color:var(--em-text);
  font:600 .88rem 'Inter',sans-serif; transition:transform .12s ease, background .12s ease, box-shadow .12s ease; }
.meta-chip .evo-ico{ width:24px; height:24px; }
.meta-chip:hover{ background:color-mix(in srgb, var(--tc) 14%, transparent); }
.meta-chip.on{ background:color-mix(in srgb, var(--tc) 32%, transparent); border-color:var(--tc); box-shadow:0 0 0 2px color-mix(in srgb, var(--tc) 60%, transparent), 0 6px 18px color-mix(in srgb, var(--tc) 30%, transparent); transform:translateY(-1px); }
.meta-chip.on::after{ content:'✓'; margin-left:auto; font-size:.85rem; }
.meta-banner{ text-align:left; border-color:rgba(255,120,60,.55) !important; background:linear-gradient(135deg, rgba(255,110,40,.18), rgba(255,200,80,.06)) !important; }
.meta-banner .evo-chip{ margin:2px 2px 0 0; }
.meta-status{ padding:12px 14px; border-radius:14px; border:1px dashed var(--em-stroke); background:rgba(255,255,255,.03); display:flex; flex-direction:column; gap:6px; }
.meta-status small{ color:var(--em-muted); line-height:1.45; }
.meta-status.on{ border-style:solid; border-color:rgba(61,220,132,.5); background:linear-gradient(135deg, rgba(61,220,132,.14), rgba(255,255,255,.02)); }

/* ---------- Evomyth Efsaneleri (kitap) ---------- */
.lore-book{ max-width:860px; margin:0 auto; font-family:'Inter',system-ui,sans-serif; }
.lb-panel{ padding:22px clamp(14px, 3vw, 30px); }
.lb-cover{ text-align:center; padding:6px 0 14px; }
.lb-eyebrow{ font:700 .72rem 'Space Grotesk',sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--em-copper); }
.lb-cover h2{ font-family:'Cinzel',serif; font-size:clamp(1.6rem, 4vw, 2.3rem); margin:6px 0 8px; }
.lb-cover p{ margin:0 auto; max-width:60ch; color:var(--em-muted); font-size:.92rem; }
.lb-prologue{ margin:14px 0 18px; padding:16px 20px; border-radius:14px; border:1px solid rgba(224,145,95,.35); background:linear-gradient(160deg, rgba(224,145,95,.13), rgba(255,255,255,.02)); }
.lb-prologue h3{ margin:0 0 6px; font-family:'Cinzel',serif; color:var(--em-copper); font-size:1.1rem; }
.lb-prologue p{ margin:0; line-height:1.7; }
.lb-toc{ padding:4px 0 8px; scroll-margin-top:84px; }
.lb-toc h3{ margin:0 0 6px; font:700 .78rem 'Space Grotesk',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--em-muted); }
.lb-tg{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:8px 0; border-bottom:1px solid var(--em-stroke); }
.lb-tg > span{ min-width:118px; display:inline-flex; align-items:center; gap:6px; font:700 .8rem 'Space Grotesk',sans-serif; color:var(--tc, #ff8a6b); }
.lb-tg > span .evo-ico{ width:20px; height:20px; }
.lb-tg button{ padding:4px 10px; border-radius:999px; border:1px solid color-mix(in srgb, var(--tc, #ff8a6b) 45%, transparent); background:rgba(255,255,255,.03); color:var(--em-text); font:600 .82rem 'Inter',sans-serif; cursor:pointer; }
.lb-tg button:hover{ background:color-mix(in srgb, var(--tc, #ff8a6b) 20%, transparent); }
.lb-tg button.own{ background:color-mix(in srgb, var(--tc) 26%, transparent); border-color:var(--tc); }
.lb-tg button.own::after{ content:' ✓'; }
.lb-tg.boss{ --tc:#ff7a55; border-bottom:0; }
.lb-ch{ margin-top:30px; }
.lb-ch-h{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:8px; border-bottom:2px solid var(--tc); }
.lb-ch-h h3{ margin:0; font-family:'Cinzel',serif; font-size:1.45rem; color:var(--tc); display:flex; align-items:center; gap:8px; }
.lb-ch-h h3 .evo-ico{ width:28px; height:28px; }
.lb-up{ border:0; background:none; color:var(--em-muted); font:600 .78rem 'Inter',sans-serif; cursor:pointer; }
.lb-up:hover{ color:var(--em-text); }
.lb-tale{ display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; padding:24px 0; border-bottom:1px solid var(--em-stroke); scroll-margin-top:84px; }
.lb-tale:last-child{ border-bottom:0; }
.lb-side{ display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; align-self:start; position:sticky; top:8px; }
.lb-art{ width:130px; height:130px; object-fit:contain; filter:drop-shadow(0 10px 18px rgba(0,0,0,.5)); border-radius:50%; background:radial-gradient(circle, color-mix(in srgb, var(--tc) 22%, transparent), transparent 70%); }
.lb-art.evo-sym{ display:flex; align-items:center; justify-content:center; font-size:3.4rem; }
.lb-name{ font-family:'Cinzel',serif; font-size:1rem; }
.lb-own{ font:700 .7rem 'Inter',sans-serif; color:var(--em-ok); }
.lb-body{ min-width:0; }
.lb-body h4{ margin:0 0 8px; font-family:'Cinzel',serif; font-size:1.25rem; line-height:1.3; }
.lb-body .lore-myth{ margin:0 0 12px; }
.lb-body .lore-text{ margin-top:0; }
.lb-boss{ margin-top:34px; border-top:2px solid var(--tc); }
@media (max-width:620px){
  .lb-tale{ grid-template-columns:minmax(0,1fr); gap:10px; }
  .lb-side{ position:static; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; text-align:left; }
  .lb-art{ width:84px; height:84px; }
  .lb-tg > span{ min-width:0; width:100%; }
}

.emodal .lb-toc, .emodal .lb-tale{ scroll-margin-top:12px; }
.emodal:has(.lore-book), .emodal:has(.lore){ background:linear-gradient(180deg, #0f2238, #0a1626); }
.meta-need{ display:inline-block; margin:4px 2px 0 0; padding:2px 9px; border-radius:999px; border:1px dashed color-mix(in srgb, var(--tc) 55%, transparent); font-weight:600; font-size:.8rem; color:var(--em-muted); }
.meta-need.ok{ border-style:solid; border-color:var(--tc); background:color-mix(in srgb, var(--tc) 25%, transparent); color:var(--em-text); }

/* Rehber öğretmenler: kapak altındaki kartlar + sınıf ayarlarındaki seçici */
.lb-guides{ margin:6px 0 18px; text-align:center; }
.lb-guides h3{ margin:0 0 12px; font-family:'Cinzel',serif; font-size:1.15rem; color:#e6c36a; }
.lb-guide-row{ display:flex; justify-content:center; gap:12px; }
.lb-guide{ width:min(100%,300px); margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 8px 14px; border-radius:16px; border:1px solid color-mix(in srgb, #c9a24a 55%, transparent); background:linear-gradient(170deg, color-mix(in srgb, var(--tc) 22%, transparent), rgba(255,255,255,.02)); }
.lb-gart{ width:100%; height:210px; object-fit:contain; filter:drop-shadow(0 10px 18px rgba(0,0,0,.55)); }
.lb-guide b{ font-family:'Cinzel',serif; font-size:1.05rem; }
.lb-guides small{ display:block; margin-top:8px; }
.guide-pick{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:6px 0; }
.guide-opt{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 4px; border-radius:12px; border:2px solid var(--em-stroke); background:rgba(255,255,255,.03); color:var(--em-text); cursor:pointer; font:600 .85rem 'Inter',sans-serif; }
.guide-opt img{ width:100%; height:110px; object-fit:contain; }
.guide-opt.on{ border-color:#e6c36a; background:color-mix(in srgb, #c9a24a 22%, transparent); }
@media (max-width:620px){ .lb-guide-row{ grid-template-columns:minmax(0,1fr); } .lb-gart{ height:180px; } }


/* ---------- Master League ---------- */
/* kürsü çerçeveleri: 1. elmas · 2. altın · 3. bronz kristal; çerçevede "Master League N." yazısı */
.fr-mdiamond{ --gem:#7fe3ff; --gem-hi:#ffffff; --gem-lo:#1e8fc4; --med-hi:#e6fbff; --med-lo:#4fb8e0; --ml-a:#e6fbff; --ml-b:#5fd0f5; }
.fr-mgold{ --gem:#ffd75a; --gem-hi:#fff6c8; --gem-lo:#c98a00; --med-hi:#fff0a0; --med-lo:#d89a00; --ml-a:#fff0a0; --ml-b:#e0a410; }
.fr-mbronze{ --gem:#e89a52; --gem-hi:#ffd9b0; --gem-lo:#8f4a14; --med-hi:#ffcf99; --med-lo:#a65d1e; --ml-a:#ffcf99; --ml-b:#b8682a; }
.fr-mdiamond, .tag-mdiamond{ position:relative; box-shadow:0 0 0 3px #bff4ff, 0 0 22px 6px rgba(111,220,255,.65), 0 0 50px rgba(111,220,255,.35); animation:ml-diamond 2.2s ease-in-out infinite; }
.fr-mgold, .tag-mgold{ position:relative; box-shadow:0 0 0 3px #ffd75a, 0 0 20px 5px rgba(255,200,40,.6), 0 0 44px rgba(255,190,0,.35); animation:lg-gold 2s ease-in-out infinite; }
.fr-mbronze, .tag-mbronze{ position:relative; box-shadow:0 0 0 3px #cd7f32, 0 0 16px 4px rgba(205,127,50,.55); animation:lg-bronze 2.4s ease-in-out infinite; }
@keyframes ml-diamond{ 50%{ box-shadow:0 0 0 3px #ffffff, 0 0 32px 10px rgba(140,235,255,.9), 0 0 70px rgba(111,220,255,.5); } }
.evo-card.fr-mdiamond{ border-color:#bff4ff; box-shadow:0 0 0 3px #bff4ff, 0 0 22px 6px rgba(111,220,255,.65), 0 0 50px rgba(111,220,255,.35); }
.evo-card.fr-mgold{ border-color:#ffd75a; box-shadow:0 0 0 3px #ffd75a, 0 0 20px 5px rgba(255,200,40,.6), 0 0 44px rgba(255,190,0,.35); }
.evo-card.fr-mbronze{ border-color:#cd7f32; box-shadow:0 0 0 3px #cd7f32, 0 0 16px 4px rgba(205,127,50,.55); }
.fr-mdiamond::after, .fr-mgold::after, .fr-mbronze::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(115deg, transparent 35%, rgba(255,255,255,.3) 50%, transparent 65%); background-size:250% 100%; animation:evo-shine 3.2s linear infinite; }
.fr-mdiamond.dragon .evo-dragon, .fr-mgold.dragon .evo-dragon, .fr-mbronze.dragon .evo-dragon{ right:52px; top:62px; }
.evo-mlbl{ position:absolute; left:0; right:0; top:0; z-index:5; height:15px; line-height:15px; text-align:center; font:800 .56rem 'Space Grotesk',sans-serif; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; color:#06222d; background:linear-gradient(90deg,var(--ml-b),var(--ml-a),var(--ml-b)); box-shadow:0 1px 6px rgba(0,0,0,.35); font-feature-settings:"locl" 0; pointer-events:none; }
.fr-mgold .evo-mlbl{ color:#3a2600; } .fr-mbronze .evo-mlbl{ color:#2d1500; }
.tag-mdiamond{ background:linear-gradient(135deg,rgba(150,235,255,.22),rgba(30,143,196,.14)); border-color:#bff4ff; --gem:#7fe3ff; }
.tag-mgold{ background:linear-gradient(135deg,rgba(255,215,90,.22),rgba(201,154,18,.12)); border-color:#ffd75a; --gem:#ffd75a; }
.tag-mbronze{ background:rgba(205,127,50,.14); border-color:#cd7f32; --gem:#e89a52; }
.tag-mdiamond, .tag-mgold, .tag-mbronze{ text-shadow:0 0 8px var(--gem); }
.tag-mdiamond::before{ content:"💎"; margin-right:4px; }
.tag-mgold::before, .tag-mbronze::before{ content:"◆"; color:var(--gem); margin-right:5px; text-shadow:0 0 8px var(--gem); }
.tag-ml{ display:block; font:800 .56rem 'Space Grotesk',sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--gem); font-feature-settings:"locl" 0; line-height:1; }
.evo-tag:has(.tag-ml){ flex-wrap:wrap; }
.stu.tag-mdiamond, .stu.tag-mgold, .stu.tag-mbronze{ position:relative; }
/* arayüz */
.ml-hero{ display:flex; align-items:center; gap:14px; margin:0 0 14px; padding:14px 18px; border-radius:18px; border:1px solid rgba(111,220,255,.35); background:linear-gradient(120deg,rgba(18,70,110,.55),rgba(27,134,201,.18),rgba(18,70,110,.55)); }
.ml-hero img{ width:54px; height:54px; filter:drop-shadow(0 0 12px rgba(111,220,255,.8)); }
.ml-hero h2{ margin:0; font:800 1.45rem 'Cinzel','Space Grotesk',serif; letter-spacing:.16em; background:linear-gradient(90deg,#e8fbff,#6fdcff,#e8fbff); -webkit-background-clip:text; background-clip:text; color:transparent; font-feature-settings:"locl" 0; }
.ml-hero small{ color:var(--em-muted); }
.ml-chip{ display:inline-flex; align-items:center; padding:3px 10px; border-radius:999px; font:700 .68rem 'Space Grotesk',sans-serif; color:var(--c); border:1px solid var(--c); background:rgba(255,255,255,.04); white-space:nowrap; }
.ml-open, .ml-card, .ml-lite{ margin:12px 0; }
.ml-code{ letter-spacing:.18em; font-size:1.05rem; color:#7fe3ff; }
.ml-guide{ margin:6px 0 10px; padding:10px 14px; border-radius:12px; border:1px solid rgba(111,220,255,.3); background:rgba(111,220,255,.06); font-size:.88rem; }
.ml-guide summary{ cursor:pointer; font-weight:700; }
.ml-guide ol{ margin:8px 0 0 18px; padding:0; display:grid; gap:6px; color:var(--em-text); }
.ml-guide code{ padding:1px 6px; border-radius:6px; background:rgba(0,0,0,.3); letter-spacing:.1em; }
.ml-joined{ margin:8px 0; padding:10px 12px; border-radius:12px; border:1px solid rgba(111,220,255,.35); background:rgba(111,220,255,.07); }
.ml-cands{ display:grid; gap:6px; margin:6px 0 10px; }
.ml-cand, .ml-ent{ display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid var(--em-stroke); flex-wrap:wrap; }
.ml-cand input{ width:18px; height:18px; }
.ml-ent.me{ border-color:rgba(127,245,225,.6); }
.ml-ent button{ margin-left:auto; }
.ml-rk{ display:inline-grid; place-items:center; min-width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,#e8fbff,#5fd0f5); color:#06222d; font:800 .8rem 'Space Grotesk',sans-serif; }
.ml-grp{ margin:8px 0; display:grid; gap:6px; }
.ml-grp-h{ font:700 .8rem 'Space Grotesk',sans-serif; color:var(--em-muted); letter-spacing:.04em; }
.lg-lucky{ margin-left:4px; cursor:help; }
/* Master League rozeti (öğrenci başlığı) ve büyük logo */
.lg-badge.ml-badge img{ height:104px; filter:drop-shadow(0 0 18px rgba(176,96,255,.55)); }
.lg-badge.ml-badge span{ background:linear-gradient(90deg,#d6a8ff,#ffe38a,#d6a8ff); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; }
.app-head.has-2lg .lg-badge img{ height:76px; }
.ml-hero{ justify-content:center; text-align:left; }
.ml-hero img{ width:auto; height:150px; filter:drop-shadow(0 0 18px rgba(176,96,255,.55)); }
@media (max-width:760px){ .ml-hero img{ height:96px; } .ml-hero h2{ font-size:1.1rem; } }
.ml-hero{ border-color:rgba(176,96,255,.4); background:linear-gradient(120deg,rgba(54,26,92,.6),rgba(120,70,190,.2),rgba(54,26,92,.6)); }
.ml-hero h2{ background:linear-gradient(90deg,#d6a8ff,#ffe38a,#d6a8ff); -webkit-background-clip:text; background-clip:text; }
.ml-code{ color:#d6a8ff; }

/* ---------- 3D Arena (canlı yayın görünümü) ---------- */
.a3d{ position:relative; width:100%; height:clamp(340px,52vh,600px); border-radius:16px; overflow:hidden; background:#0b0710; border:1px solid var(--em-stroke); user-select:none; -webkit-user-select:none; }
.lg-modal .a3d{ height:clamp(380px,62vh,700px); }
.a3d:fullscreen{ height:100vh; border-radius:0; border:0; }
.a3d-cv{ width:100%; height:100%; display:block; cursor:grab; touch-action:none; }
.a3d-cv:active{ cursor:grabbing; }
.a3d-hud{ position:absolute; inset:0; pointer-events:none; font-family:'Space Grotesk',system-ui,sans-serif; color:#fff; text-shadow:0 2px 6px #000; }
.a3d-bar{ position:absolute; top:10px; width:min(37%,400px); --tc:#7f6bff; }
.a3d-bar.l{ left:10px; } .a3d-bar.r{ right:10px; text-align:right; }
.a3d-who b{ font-size:clamp(.9rem,2vw,1.2rem); font-weight:800; }
.a3d-who small{ display:block; opacity:.9; font-size:clamp(.68rem,1.4vw,.82rem); }
.a3d-me{ background:var(--em-green,#3ddc84); color:#06210f; text-shadow:none; font-size:.62rem; font-weight:800; border-radius:6px; padding:1px 6px; vertical-align:middle; }
.a3d-hp{ position:relative; height:clamp(14px,2.4vw,20px); border-radius:999px; background:rgba(0,0,0,.55); border:2px solid color-mix(in srgb,var(--tc) 70%,#fff 20%); overflow:hidden; margin-top:4px; }
.a3d-hp i{ display:block; height:100%; width:100%; background:linear-gradient(#8dff9a,#27b84c); transition:width .55s; }
.a3d-bar.r .a3d-hp i{ margin-left:auto; }
.a3d-hp i.mid{ background:linear-gradient(#ffe27a,#ffa53f); } .a3d-hp i.low{ background:linear-gradient(#ff9a7a,#ff3d4c); }
.a3d-hp b{ position:absolute; inset:0; display:grid; place-items:center; font-size:clamp(.6rem,1.2vw,.78rem); font-weight:700; }
.a3d-bar.turn .a3d-hp{ box-shadow:0 0 0 2px rgba(125,255,170,.55),0 0 18px rgba(125,255,170,.55); }
.a3d-dots{ display:flex; gap:4px; align-items:center; margin-top:4px; min-height:12px; } .a3d-bar.r .a3d-dots{ justify-content:flex-end; }
.a3d-dots i{ width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.35); } .a3d-dots i.on{ background:var(--tc); box-shadow:0 0 6px var(--tc); }
.a3d-dots small{ font-size:.68rem; opacity:.85; margin:0 4px; }
.a3d-mid{ position:absolute; top:6px; left:50%; transform:translateX(-50%); text-align:center; }
.a3d-mid .b-timer{ width:clamp(44px,8vw,58px); height:clamp(44px,8vw,58px); font-size:clamp(1rem,2.4vw,1.25rem); margin:0 auto; text-shadow:none; }
.a3d-mid.done .b-timer{ display:none; }
.a3d-turn{ font-size:clamp(.66rem,1.4vw,.82rem); font-weight:700; margin-top:2px; white-space:nowrap; }
.a3d-side{ position:absolute; left:10px; top:clamp(92px,17vw,106px); display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.a3d-logo{ height:clamp(64px,15vh,112px); width:auto; max-width:min(28vw,150px); object-fit:contain; filter:drop-shadow(0 4px 10px rgba(0,0,0,.65)); }
.a3d-live{ display:inline-flex; align-items:center; gap:6px; background:#d3202e; color:#fff; font-weight:800; font-size:clamp(.62rem,1.3vw,.78rem); letter-spacing:.08em; border-radius:6px; padding:3px 9px; box-shadow:0 2px 8px rgba(0,0,0,.5); text-shadow:none; }
.a3d-dot{ width:8px; height:8px; border-radius:50%; background:#fff; animation:a3d-blink 1.2s infinite; }
@keyframes a3d-blink{ 50%{ opacity:.25; } }
.a3d-view{ background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.25); border-radius:6px; padding:2px 9px; font-size:clamp(.62rem,1.3vw,.78rem); text-shadow:none; }
.a3d-view[hidden]{ display:none; }
.a3d-title{ position:absolute; left:0; bottom:12px; max-width:70%; background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.45) 80%,transparent); border-left:5px solid #e8c15a; padding:5px 26px 5px 12px; font-weight:700; font-size:clamp(.7rem,1.5vw,.92rem); }
.a3d-title:empty{ display:none; }
.a3d-skill{ position:absolute; top:24%; left:0; right:0; text-align:center; font-size:clamp(1.3rem,4vw,2.6rem); font-weight:900; opacity:0; transform:scale(.8); text-shadow:0 3px 0 var(--c,#3a1c96),0 0 18px #000; transition:opacity .2s,transform .2s; }
.a3d-skill.on{ opacity:1; transform:none; }
.a3d-result{ position:absolute; top:34%; left:0; right:0; text-align:center; opacity:0; transform:scale(.7); transition:opacity .5s,transform .5s; }
.a3d-result.on{ opacity:1; transform:none; }
.a3d-result b{ display:block; font-size:clamp(1.4rem,5vw,3rem); font-weight:900; color:#ffe27a; text-shadow:0 4px 0 #7a4a00,0 0 24px #000; }
.a3d-result small{ letter-spacing:.2em; font-weight:700; opacity:.9; }
.a3d-tools{ position:absolute; right:10px; bottom:10px; display:flex; gap:6px; }
.a3d-btn{ pointer-events:auto; font:inherit; font-size:.74rem; font-weight:700; color:#fff; background:rgba(8,16,30,.7); border:1px solid rgba(255,255,255,.3); border-radius:9px; padding:5px 10px; cursor:pointer; backdrop-filter:blur(3px); }
.a3d-btn:hover{ background:rgba(40,60,100,.85); }
.a3d:not(.a3d-user) [data-cam]{ display:none; }
.a3d-hint{ position:absolute; left:50%; bottom:46px; transform:translateX(-50%); font-size:.7rem; background:rgba(0,0,0,.55); border-radius:8px; padding:3px 10px; opacity:0; animation:a3d-hint 9s 1.5s; white-space:nowrap; }
@keyframes a3d-hint{ 8%,80%{ opacity:.9; } }
.a3d-num{ position:absolute; font-weight:900; font-size:clamp(1.6rem,5vw,3.2rem); color:#ffd84a; text-shadow:0 3px 0 #7a1d00,0 0 14px #ff6a00; transform:translate(-50%,-50%); animation:a3d-up 1.2s ease-out forwards; }
.a3d-num.heal{ color:#8dff9a; text-shadow:0 3px 0 #0a5a1f,0 0 14px #19d65a; } .a3d-num.miss{ color:#e8e8ff; text-shadow:0 3px 0 #33336a,0 0 10px #9a9aff; }
@keyframes a3d-up{ 0%{ opacity:0; scale:.4; } 15%{ opacity:1; scale:1.3; } 100%{ opacity:0; translate:0 -80px; scale:1; } }
.a3d-load{ position:absolute; inset:0; display:grid; place-items:center; background:#0b0710; color:#fff; font-size:1.05rem; transition:opacity .6s; }
.a3d-load.off{ opacity:0; pointer-events:none; }
.a3d-switch{ display:flex; justify-content:flex-end; margin:-4px 0 4px; }
@media (max-width:560px){ .a3d{ height:clamp(300px,52vh,460px); } .a3d-hint{ display:none; } .a3d-bar{ width:42%; } }

/* ---------- 3D Yelbegen savaşı ---------- */
.a3d-raid{ height:clamp(380px,62vh,680px); }
.a3d-boss{ position:absolute; top:10px; left:50%; transform:translateX(-50%); width:min(56%,560px); text-align:center; --tc:#ff7a2a; }
.a3d-bn{ display:flex; justify-content:center; gap:10px; align-items:baseline; font-size:clamp(.9rem,2vw,1.2rem); font-weight:800; }
.a3d-round{ font-size:.75rem; opacity:.85; font-weight:600; }
.a3d-boss .a3d-hp{ height:clamp(16px,2.8vw,24px); border-color:#ff9a4a; }
.a3d-rtimer{ position:absolute; top:10px; right:10px; text-align:center; }
.a3d-rtimer .b-timer{ width:clamp(44px,8vw,58px); height:clamp(44px,8vw,58px); font-size:clamp(1rem,2.4vw,1.25rem); margin:0 auto; text-shadow:none; }
.a3d-rtimer.done .b-timer{ display:none; }
.a3d-rtimer .a3d-turn{ font-size:clamp(.62rem,1.3vw,.78rem); font-weight:700; margin-top:2px; max-width:130px; }
.a3d-tags{ position:absolute; inset:0; overflow:hidden; }
.a3d-tag{ position:absolute; left:0; top:0; display:flex; flex-direction:column; align-items:center; gap:1px; font-size:clamp(.58rem,1.2vw,.76rem); white-space:nowrap; text-shadow:0 1px 4px #000; will-change:transform; }
.a3d-tag b{ font-weight:800; } .a3d-tag span{ opacity:.85; font-size:.82em; }
.a3d-tag i{ display:block; width:clamp(46px,7vw,74px); height:6px; border-radius:4px; background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.35); overflow:hidden; }
.a3d-tag u{ display:block; height:100%; width:100%; background:linear-gradient(#8dff9a,#27b84c); transition:width .5s; } .a3d-tag.low u{ background:linear-gradient(#ff9a7a,#ff3d4c); }
.a3d-tag.act b{ color:#8dffb0; } .a3d-tag.act::after{ content:'▼'; color:#8dffb0; font-size:1.1em; animation:a3d-bob .8s infinite alternate; }
@keyframes a3d-bob{ to{ transform:translateY(4px); } }
.a3d-tag.ko{ opacity:.45; filter:grayscale(1); } .a3d-tag.boss{ display:none!important; }
@media (max-width:560px){ .a3d-raid{ height:clamp(320px,54vh,480px); } .a3d-boss{ width:60%; } }
