/* Jimnastik Yıldızı 3D */
body.oyunSayfa{background:#1a0f2e;overscroll-behavior:none}
.oAlan{overflow:hidden;touch-action:none}
@media (orientation:landscape) and (max-height:520px){
  .oUst{padding:3px 10px;gap:8px}
  .oIkon{width:32px;height:32px;font-size:15px;border-radius:9px}
  .oBaslik{font-size:15px}
  .oLogo{font-size:14px}
}
:root{--dug:104px;--orta:78px;--altBos:26px}
.jmKap{position:absolute;inset:0;overflow:hidden;background:#1a0f2e;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;font-family:Nunito,system-ui,sans-serif;color:#fff}
.onOyun .jmKap{position:absolute;inset:0}
#jmCanvas{position:absolute;left:0;top:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
.jmYukle{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font:800 16px Nunito,sans-serif;z-index:1;background:radial-gradient(circle at 50% 40%,#4b1d7a,#1a0f2e)}
.jmYukle i{width:46px;height:46px;border-radius:50%;border:5px solid #ffffff33;border-top-color:#ff7ac3;animation:jmDon .9s linear infinite}
@keyframes jmDon{to{transform:rotate(360deg)}}

/* ---------- üst bilgi */
.jmUst{position:absolute;left:8px;right:8px;top:8px;display:flex;justify-content:space-between;align-items:flex-start;gap:6px;z-index:4;pointer-events:none}
.jmUst>*{pointer-events:auto}
.jmSol{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch;min-width:0}
.jmSag{display:flex;gap:6px;flex:0 0 auto}
.jmMenuBtn{display:flex;align-items:center;gap:7px;font:800 15px 'Baloo 2',Nunito,sans-serif;color:#fff;background:linear-gradient(180deg,#c85cff,#8a2be2);border:0;border-radius:13px;padding:5px 12px 5px 10px;cursor:pointer;box-shadow:0 3px 0 #0006,0 6px 16px #0004;white-space:nowrap;height:42px;max-width:200px;overflow:hidden}
.jmMenuBtn b{overflow:hidden;text-overflow:ellipsis}
.jmMenuBtn i{font-style:normal}
.jmMenuBtn:active{transform:translateY(2px);box-shadow:0 1px 0 #0006}
.jmStat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;height:42px;background:rgba(24,10,44,.7);border:1px solid #ffffff26;border-radius:12px;padding:2px 9px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.jmStat small{color:#d9c4f5;font:800 9.5px Nunito,sans-serif;text-transform:uppercase;letter-spacing:.5px;line-height:1.1}
.jmStat b{font:800 18px/1.1 'Baloo 2',Nunito,sans-serif;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.jmStat.zaman b{color:#ffd23f}
.jmKap.menude .jmStat,.jmKap.menude #jmDur,.jmKap.menude #jmKamera,.jmKap.menude #jmMenu{display:none}
.jmIkon{position:relative;min-width:44px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(24,10,44,.72);border:2px solid #ffffff2e;color:#fff;border-radius:12px;font-size:18px;line-height:1;cursor:pointer;font-family:inherit;padding:0 6px;-webkit-tap-highlight-color:transparent}
.jmIkon small{font:800 9px Nunito,sans-serif;color:#ecdcff;white-space:nowrap;margin-top:1px}
.jmIkon:active{transform:translateY(2px)}

/* ---------- mini kulvar şeridi */
.jmSerit{position:absolute;top:58px;left:50%;transform:translateX(-50%);width:min(340px,62vw);background:rgba(24,10,44,.62);border:1px solid #ffffff22;border-radius:10px;padding:5px 8px;z-index:3;pointer-events:none}
.jmSerit .s{position:relative;height:6px;margin:2px 0;border-radius:3px;background:linear-gradient(90deg,#ffffff12,#ffffff22)}
.jmSerit .s i{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--r,#fff);box-shadow:0 0 0 1.5px #1a0f2e}
.jmSerit .s.ben{background:linear-gradient(90deg,#ffd23f33,#ffd23f55)}
.jmSerit .s.ben i{width:13px;height:13px;margin:-6.5px 0 0 -6.5px;box-shadow:0 0 0 2px #fff,0 0 10px #ffd23f}
.jmSerit .s.hay i{opacity:.55}
.jmSerit .s b{position:absolute;left:-12px;top:-4px;font:800 8px Nunito,sans-serif;color:#e3c9ff}
.jmSerit .duvar{position:absolute;top:2px;bottom:2px;width:1px;background:#ffffff40}

.jmAkis{position:absolute;left:8px;top:58px;z-index:3;display:flex;flex-direction:column;gap:4px;pointer-events:none;max-width:44vw}
.jmAkis div{background:rgba(24,10,44,.78);border-radius:9px;padding:3px 9px;font:800 12px Nunito,sans-serif;animation:jmAkisGel .3s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes jmAkisGel{from{transform:translateX(-20px);opacity:0}}

/* ---------- barlar */
.jmBarlar{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:flex;gap:7px;z-index:3;pointer-events:none}
.jmBar{display:flex;flex-direction:column;align-items:center;gap:3px}
.jmBar i{font-style:normal;font-size:15px;filter:drop-shadow(0 1px 2px #000a)}
.jmBar span{position:relative;display:block;width:14px;height:min(150px,26vh);border-radius:8px;background:rgba(24,10,44,.72);border:1.5px solid #ffffff40;overflow:hidden}
.jmBar u{position:absolute;left:0;right:0;bottom:0;height:100%;border-radius:6px;background:linear-gradient(0deg,#ff9f1c,#ffe14d);transition:height .12s}
.jmBar.oksijen u{background:linear-gradient(0deg,#1aa3ff,#f5c2ff)}
.jmBar.az span{border-color:#ff4b5c;animation:jmAz .6s infinite}
.jmBar.az u{background:linear-gradient(0deg,#ff2d4b,#ff8a80)}
@keyframes jmAz{50%{box-shadow:0 0 0 4px #ff4b5c66}}

/* ---------- mesajlar, sayaç, afiş */
.jmMesaj{position:absolute;left:0;right:0;top:34%;display:flex;flex-direction:column;align-items:center;z-index:5;pointer-events:none}
.jmMesaj b{font:900 calc(30px * var(--s,1)) / 1.05 'Baloo 2',Nunito,sans-serif;letter-spacing:.5px;color:#fff;text-shadow:0 3px 0 #0008,0 0 16px #000a;animation:jmPop .9s forwards;position:absolute;white-space:nowrap}
.jmMesaj b.muk{color:#7dffb0;font-size:calc(34px * var(--s,1))}
.jmMesaj b.iyi{color:#f2e4ff}
.jmMesaj b.kotu{color:#ff8a80}
.jmMesaj b.altin{color:#ffd23f}
@keyframes jmPop{0%{transform:translateY(10px) scale(.7);opacity:0}15%{transform:translateY(0) scale(1.08);opacity:1}30%{transform:scale(1)}80%{opacity:1}100%{transform:translateY(-34px);opacity:0}}
.jmSayac{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);z-index:6;font:900 calc(46px * var(--s,1)) / 1 'Baloo 2',Nunito,sans-serif;color:#fff;text-shadow:0 4px 0 #0009,0 0 26px #0ff8;text-align:center;pointer-events:none;white-space:nowrap}
.jmSayac small{display:block;font:800 15px Nunito,sans-serif;color:#ecdcff;margin-top:6px;text-shadow:0 2px 0 #0008}
.jmSayac.git{color:#7dffb0;animation:jmGit .5s}
.jmSayac.faul{color:#ff5a5a}
@keyframes jmGit{0%{transform:translate(-50%,-50%) scale(1.6)}}
.jmBanner{position:absolute;left:50%;top:22%;transform:translateX(-50%);z-index:5;padding:6px 18px;border-radius:14px;background:linear-gradient(90deg,#ff5a1f,#ffb02e);font:900 20px 'Baloo 2',Nunito,sans-serif;box-shadow:0 4px 0 #0007,0 0 20px #ff7a1a88;white-space:nowrap;pointer-events:none;animation:jmBan 1.8s forwards}
.jmBanner.mavi{background:linear-gradient(90deg,#1f5fd1,#c85cff)}
@keyframes jmBan{0%{transform:translateX(-50%) scale(.6);opacity:0}12%{transform:translateX(-50%) scale(1.1);opacity:1}25%{transform:translateX(-50%) scale(1)}85%{opacity:1}100%{opacity:0}}

.jmEtiketler{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.jmEtiketler span{position:absolute;transform:translate(-50%,-100%);background:rgba(24,10,44,.72);border:1px solid #ffffff30;border-radius:8px;padding:1px 7px;font:800 11px Nunito,sans-serif;white-space:nowrap;color:#fff}
.jmEtiketler span.ben{background:#ffd23f;color:#3a2a00;border-color:#fff}
.jmEtiketler span.hay{background:rgba(60,200,255,.5)}
.jmEtiketler span em{font-style:normal;color:#ffd23f;margin-right:3px}
.jmEtiketler span.ben em{color:#7a4b00}

/* ---------- antrenör balonu */
.jmKoc{position:absolute;left:10px;right:10px;top:58px;margin:0 auto;max-width:560px;display:flex;align-items:flex-start;gap:9px;z-index:5;pointer-events:none;animation:jmAkisGel .35s}
.jmKocYuz{flex:0 0 54px;width:54px;height:54px;border-radius:50%;box-shadow:0 3px 10px #0007;border:3px solid #fff;overflow:hidden;background:#7b2ff7}
.jmKocYuz svg{display:block;width:100%;height:100%}
.jmBalon{position:relative;flex:1;background:#fff;color:#123;border-radius:14px;padding:7px 12px 8px;box-shadow:0 4px 14px #0006}
.jmBalon:before{content:'';position:absolute;left:-8px;top:16px;border:8px solid transparent;border-right-color:#fff;border-left:0}
.jmBalon b{font:900 12px Nunito,sans-serif;color:#8a2be2;text-transform:uppercase;letter-spacing:.5px}
.jmBalon p{margin:1px 0 0;font:700 14.5px/1.3 Nunito,sans-serif}
.jmBalon small{display:block;font:800 12px Nunito,sans-serif;color:#e8492f;margin-top:3px}
.jmBalon small:empty{display:none}

/* ---------- alt kontroller */
.jmAlt{position:absolute;left:0;right:0;bottom:var(--altBos);height:calc(var(--dug) + 74px);z-index:4;pointer-events:none}
.jmAlt>*{pointer-events:auto}
.jmDug{position:absolute;bottom:0;border:0;color:#fff;cursor:pointer;font-family:'Baloo 2',Nunito,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:none;user-select:none;-webkit-user-select:none;padding:0}
.jmDug b{font:900 30px/1 'Baloo 2',Nunito,sans-serif;pointer-events:none}
.jmDug small{font:900 11.5px/1.1 Nunito,sans-serif;letter-spacing:.4px;margin-top:3px;pointer-events:none;text-align:center;max-width:92%}
.jmKol{width:var(--dug);height:var(--dug);border-radius:50%;background:radial-gradient(circle at 40% 30%,#e879f9,#a21caf 70%,#701a75);box-shadow:0 6px 0 #3b0764,0 10px 24px #0007,inset 0 2px 0 #ffffff66;border:3px solid #ffffffb0}
.jmKol.sol{left:max(14px,env(safe-area-inset-left))}
.jmKol.sag,.jmKol.cift{right:max(14px,env(safe-area-inset-right))}
.jmKol.cift{width:calc(var(--dug) * 1.12);height:calc(var(--dug) * 1.12);background:radial-gradient(circle at 40% 30%,#ffd86b,#f2a20c 70%,#b06f00);box-shadow:0 6px 0 #6b4300,0 10px 24px #0007,inset 0 2px 0 #ffffff88}
.jmKol.bekle{box-shadow:0 6px 0 #3b0764,0 0 0 5px #7dffb0,0 0 22px #7dffb0;animation:jmNabiz .5s infinite alternate}
@keyframes jmNabiz{to{transform:scale(1.05)}}
.jmKol.bas,.jmDug.bas{transform:translateY(4px) scale(.96);box-shadow:0 2px 0 #3b0764,0 4px 12px #0007}
.jmOrtaBlok{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none}
.jmOrtaBlok>*{pointer-events:auto}
.jmOrta{position:relative;width:var(--orta);height:var(--orta);border-radius:22px;background:linear-gradient(180deg,#2bd9a0,#0f9a6c);box-shadow:0 5px 0 #075a3f,0 8px 18px #0007;border:3px solid #ffffffa0}
.jmOrta b{font-size:26px}
.jmOrta small{font-size:10.5px}
.jmOrta.donus{background:linear-gradient(180deg,#ffb02e,#e8611a);box-shadow:0 5px 0 #7a2c00,0 0 0 4px #ffd23f88,0 0 22px #ffb02e;animation:jmNabiz .35s infinite alternate}
.jmOrta.atla{background:linear-gradient(180deg,#ff6a5c,#d6283a);box-shadow:0 5px 0 #6d0f19,0 8px 18px #0007}
.jmOrta.pasif{opacity:.45;filter:saturate(.3)}
.jmOrta.acil{animation:jmNabiz .3s infinite alternate;box-shadow:0 5px 0 #075a3f,0 0 0 4px #f5c2ff,0 0 20px #ff7ac3}
.jmRitim{width:min(230px,52vw);background:rgba(24,10,44,.66);border:1px solid #ffffff2a;border-radius:12px;padding:4px 8px 6px;pointer-events:none}
.jmRitimUst{display:flex;justify-content:space-between;align-items:center;font:900 14px Nunito,sans-serif;line-height:1.1;margin-bottom:3px}
.jmRitimUst span{opacity:.3;transition:opacity .12s,color .12s}
.jmRitimUst span.on{opacity:1;color:#7dffb0;text-shadow:0 0 8px #7dffb0}
.jmRitimUst b{font:900 12px Nunito,sans-serif;color:#ffd23f}
.jmRitimCubuk{position:relative;height:12px;border-radius:7px;background:linear-gradient(90deg,#ff8a8055 0,#ffffff1c 30%,#ffffff1c 100%);overflow:hidden}
.jmRitimCubuk .pencere{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#3ddc8466,#7dffb0,#3ddc8466);border-radius:5px}
.jmRitimCubuk .igne{position:absolute;top:-2px;bottom:-2px;width:4px;margin-left:-2px;border-radius:2px;background:#fff;box-shadow:0 0 6px #fff}
.jmRitim.pasif{opacity:.45}
.jmDonusOlcer{display:flex;align-items:center;gap:6px;background:rgba(24,10,44,.78);border:1px solid #ffb02e88;border-radius:11px;padding:3px 8px;font:900 11px Nunito,sans-serif;pointer-events:none}
.jmDOCubuk{position:relative;width:min(150px,36vw);height:10px;border-radius:6px;background:#ffffff1c}
.jmDOCubuk .iyi{position:absolute;top:0;bottom:0;left:calc(100% * .5 / 3.2);width:calc(100% * 2.1 / 3.2);background:#ffd23f66;border-radius:5px}
.jmDOCubuk .muk{position:absolute;top:0;bottom:0;left:calc(100% * .9 / 3.2);width:calc(100% * 1 / 3.2);background:#7dffb0;border-radius:5px}
.jmDOCubuk u{position:absolute;top:-3px;bottom:-3px;width:4px;margin-left:-2px;background:#fff;border-radius:2px;box-shadow:0 0 6px #fff}
.jmDonusOlcer b{min-width:40px;text-align:right;color:#ffd23f}
.jmKlavye{position:absolute;left:50%;transform:translateX(-50%);bottom:6px;z-index:3;font:700 12px Nunito,sans-serif;color:#ecdcff;background:rgba(24,10,44,.6);border-radius:9px;padding:3px 10px;white-space:nowrap;pointer-events:none}
.jmKlavye b{color:#ffd23f}

/* ---------- menü paneli */
.jmPanel{position:absolute;inset:0;z-index:7;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:62px 12px 18px;background:linear-gradient(180deg,#1a0f2ecc 0,#1a0f2e55 30%,#1a0f2e99 100%)}
.jmPanel.saydam{background:linear-gradient(180deg,#1a0f2e99,#1a0f2e22 40%,#1a0f2e22 60%,#1a0f2ecc)}
.jmIc{max-width:760px;margin:0 auto}
.jmLogo{text-align:center;margin:2px 0 10px}
.jmLogo h1{margin:0;font:900 clamp(28px,6vw,46px)/1 'Baloo 2',Nunito,sans-serif;letter-spacing:.5px;background:linear-gradient(180deg,#fff 25%,#f5c2ff 60%,#c85cff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #3b0764) drop-shadow(0 0 18px #c85cff88)}
.jmLogo p{margin:4px 0 0;font:800 13px Nunito,sans-serif;color:#ecdcff}
.jmKart{display:flex;align-items:center;gap:10px;background:rgba(24,10,44,.78);border:1px solid #ffffff22;border-radius:16px;padding:9px 12px;margin-bottom:10px;flex-wrap:wrap}
.jmKart .av{font-size:30px}
.jmKart .bilgi{flex:1;min-width:150px}
.jmKart .bilgi b{font:900 16px 'Baloo 2',Nunito,sans-serif}
.jmKart .bilgi small{display:block;color:#d9c4f5;font-weight:800;font-size:12px}
.jmXp{height:7px;border-radius:4px;background:#ffffff1c;overflow:hidden;margin-top:3px}
.jmXp u{display:block;height:100%;background:linear-gradient(90deg,#c85cff,#7dffb0)}
.jmPara{font:900 17px 'Baloo 2',Nunito,sans-serif;color:#ffd23f;white-space:nowrap}
.jmIzgara{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
@media (max-width:640px){.jmIzgara{grid-template-columns:repeat(2,1fr)}}
.jmSecenek{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:96px;border-radius:16px;border:2px solid #ffffff30;background:linear-gradient(180deg,#6d28d9,#4c1d95);color:#fff;cursor:pointer;font-family:inherit;padding:8px 6px;text-align:center;box-shadow:0 4px 0 #2e1065,0 8px 18px #0005}
.jmSecenek:active{transform:translateY(2px);box-shadow:0 2px 0 #2e1065}
.jmSecenek i{font-style:normal;font-size:30px;line-height:1.1}
.jmSecenek b{font:900 15.5px/1.15 'Baloo 2',Nunito,sans-serif}
.jmSecenek small{font:800 11.5px/1.2 Nunito,sans-serif;color:#eadcff}
.jmSecenek.vurgu{background:linear-gradient(180deg,#ffb02e,#e8611a);box-shadow:0 4px 0 #7a2c00,0 0 0 3px #ffd23f66,0 8px 18px #0005}
.jmSecenek.yesil{background:linear-gradient(180deg,#2bd9a0,#0f8f63);box-shadow:0 4px 0 #064a33,0 8px 18px #0005}
.jmSecenek.mor{background:linear-gradient(180deg,#8a5cff,#5a2fc9);box-shadow:0 4px 0 #2c1470,0 8px 18px #0005}
.jmSecenek.kilit{filter:grayscale(.75);opacity:.6}
.jmSecenek .rozet{position:absolute;top:5px;right:6px;background:#e8492f;border-radius:9px;padding:0 6px;font:900 11px Nunito,sans-serif}
.jmAltSatir{display:flex;gap:8px;justify-content:center;margin-top:11px;flex-wrap:wrap}
.jmAltSatir .btn{min-width:120px}
.jmBaslik{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.jmBaslik h2{margin:0;flex:1;font:900 22px 'Baloo 2',Nunito,sans-serif}
.jmGeri{background:rgba(24,10,44,.8);border:2px solid #ffffff38;color:#fff;border-radius:12px;padding:5px 12px;font:900 14px Nunito,sans-serif;cursor:pointer}
.jmListe{display:flex;flex-direction:column;gap:8px}
.jmSatir{display:flex;align-items:center;gap:10px;background:rgba(24,10,44,.8);border:1px solid #ffffff22;border-radius:14px;padding:8px 10px}
.jmSatir .ik{font-size:26px;width:36px;text-align:center;flex:0 0 36px}
.jmSatir .ac{flex:1;min-width:0}
.jmSatir .ac b{display:block;font:900 15px/1.2 'Baloo 2',Nunito,sans-serif}
.jmSatir .ac small{display:block;color:#d9c4f5;font:700 12px/1.3 Nunito,sans-serif}
.jmSatir .sag{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:0 0 auto}
.jmSatir.kilit{opacity:.55}
.jmSatir.secili{border-color:#ffd23f;box-shadow:0 0 0 2px #ffd23f55}
.jmYildiz{font-size:15px;letter-spacing:1px;white-space:nowrap}
.jmKademe{background:rgba(24,10,44,.55);border:1px solid #ffffff1f;border-radius:16px;padding:9px;margin-bottom:10px}
.jmKademe h3{margin:0 0 7px;font:900 17px 'Baloo 2',Nunito,sans-serif;display:flex;align-items:center;gap:8px}
.jmKademe h3 small{margin-left:auto;font:800 12px Nunito,sans-serif;color:#d9c4f5}
.jmKademe.kilit h3{opacity:.6}
.jmSekmeler{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}
.jmSekmeler button{flex:1;min-width:70px;background:rgba(24,10,44,.8);border:2px solid #ffffff30;color:#fff;border-radius:11px;padding:6px 8px;font:900 13px Nunito,sans-serif;cursor:pointer}
.jmSekmeler button.aktif{background:#ffd23f;color:#3a2a00;border-color:#fff}
.jmUrun{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.jmUrun .u{display:flex;flex-direction:column;align-items:center;gap:3px;background:rgba(24,10,44,.82);border:2px solid #ffffff22;border-radius:14px;padding:9px 6px;text-align:center}
.jmUrun .u.giyili{border-color:#7dffb0}
.jmUrun .u .on{width:62px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:inset 0 -6px 0 #0003}
.jmUrun .u b{font:900 14px 'Baloo 2',Nunito,sans-serif}
.jmUrun .u small{color:#d9c4f5;font:800 11px Nunito,sans-serif;min-height:15px}
.jmRenkler{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 10px}
.jmRenkler button{width:38px;height:38px;border-radius:50%;border:3px solid #ffffff40;cursor:pointer}
.jmRenkler button.aktif{border-color:#fff;box-shadow:0 0 0 3px #ffd23f}
.jmStatlar{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media (max-width:520px){.jmStatlar{grid-template-columns:1fr}}
.jmStatK{background:rgba(24,10,44,.8);border:1px solid #ffffff22;border-radius:14px;padding:8px 10px}
.jmStatK .ust{display:flex;justify-content:space-between;align-items:center;font:900 14.5px 'Baloo 2',Nunito,sans-serif}
.jmStatK .ust b{color:#ffd23f}
.jmStatK .cubuk{display:flex;gap:3px;margin:5px 0 3px}
.jmStatK .cubuk i{flex:1;height:9px;border-radius:3px;background:#ffffff1c}
.jmStatK .cubuk i.dolu{background:linear-gradient(90deg,#c85cff,#7dffb0)}
.jmStatK small{color:#d9c4f5;font:700 11.5px Nunito,sans-serif}
.jmDolap{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
@media (max-width:520px){.jmDolap{grid-template-columns:repeat(3,1fr)}}
.jmDolap .raf{background:linear-gradient(180deg,#5a3a20,#3a2412);border-radius:12px;padding:6px 4px;text-align:center;box-shadow:inset 0 -5px 0 #00000055}
.jmDolap .raf .kupa{font-size:30px;line-height:1.1;filter:drop-shadow(0 2px 3px #000a)}
.jmDolap .raf .kupa.yok{filter:grayscale(1) brightness(.5);opacity:.5}
.jmDolap .raf small{display:block;font:800 10.5px Nunito,sans-serif;color:#f3dcc0}
.jmDolap .raf span{font-size:13px;letter-spacing:-1px}
.jmBasarim{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.jmBasarim div{display:flex;gap:7px;align-items:center;background:rgba(24,10,44,.8);border-radius:12px;padding:6px 8px;border:1px solid #ffffff1f}
.jmBasarim div i{font-style:normal;font-size:22px}
.jmBasarim div b{display:block;font:900 12.5px/1.15 Nunito,sans-serif}
.jmBasarim div small{display:block;font:700 10.5px/1.2 Nunito,sans-serif;color:#d9c4f5}
.jmBasarim div.yok{opacity:.42;filter:grayscale(1)}
.jmRekorT{width:100%;border-collapse:collapse;font:800 13px Nunito,sans-serif;background:rgba(24,10,44,.8);border-radius:12px;overflow:hidden}
.jmRekorT th,.jmRekorT td{padding:5px 6px;text-align:center;border-bottom:1px solid #ffffff14}
.jmRekorT th{color:#d9c4f5;font-size:11.5px}
.jmRekorT td:first-child{text-align:left}
.jmH3{font:900 17px 'Baloo 2',Nunito,sans-serif;margin:14px 0 7px}
.jmNot{font:700 12.5px/1.4 Nunito,sans-serif;color:#ecdcff;margin:6px 0}
.jmSecim{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 9px}
.jmSecim button{flex:1;min-width:64px;background:rgba(24,10,44,.82);border:2px solid #ffffff2e;color:#fff;border-radius:11px;padding:7px 6px;font:900 13px Nunito,sans-serif;cursor:pointer}
.jmSecim button.aktif{background:#c85cff;border-color:#fff;color:#022}

/* ---------- sonuç modalı */
.jmSonuc{text-align:center}
.jmSonuc .madalya{font-size:56px;line-height:1;filter:drop-shadow(0 4px 6px #0006);animation:jmMad .7s}
@keyframes jmMad{0%{transform:scale(.2) rotate(-30deg)}70%{transform:scale(1.15)}}
.jmSonuc .sure{font:900 34px/1 'Baloo 2',Nunito,sans-serif;color:#ffd23f;margin:4px 0}
.jmSonuc .pb{display:inline-block;background:#7dffb0;color:#033;border-radius:9px;padding:1px 9px;font:900 12px Nunito,sans-serif;margin-bottom:4px}
.jmTablo{width:100%;border-collapse:collapse;margin:7px 0;font:800 13.5px Nunito,sans-serif}
.jmTablo td,.jmTablo th{padding:4px 5px;border-bottom:1px solid #ffffff18;text-align:left}
.jmTablo th{font-size:11px;color:#c9b3e6}
.jmTablo td:nth-child(3),.jmTablo th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}
.jmTablo tr.ben td{background:#ffd23f22;color:#ffe48a}
.jmOdul{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:8px 0}
.jmOdul span{background:#ffffff14;border-radius:10px;padding:4px 10px;font:900 13.5px Nunito,sans-serif}
.jmRozet{width:120px;height:120px;margin:4px auto 6px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:60px;background:radial-gradient(circle at 40% 30%,#ffe9a3,#ffb703 60%,#c27c00);box-shadow:0 0 0 6px #fff,0 0 0 10px #c85cff,0 10px 30px #0008;animation:jmMad .8s}
.jmKazanc{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0;text-align:left}
.jmKazanc div{background:#ffffff12;border-radius:10px;padding:5px 8px;font:800 12.5px Nunito,sans-serif}
.jmKazanc b{color:#7dffb0}

/* ---------- yerleşim: dikey / yatay */
.jmKap.dikey{--dug:104px;--orta:80px}
.jmKap.dikey .jmSerit{top:104px}
.jmKap.dikey .jmKoc{top:104px}
.jmKap.dikey .jmAkis{top:150px}
.jmKap.yatay{--dug:96px;--orta:70px;--altBos:22px}
.jmKap.yatay.kisa{--dug:84px;--orta:62px;--altBos:20px}
.jmKap.yatay .jmRitim{width:min(210px,32vw)}
.jmKap.yatay.kisa .jmUst{top:5px}
.jmKap.yatay.kisa .jmStat{height:36px;min-width:50px}
.jmKap.yatay.kisa .jmStat b{font-size:15px}
.jmKap.yatay.kisa .jmMenuBtn,.jmKap.yatay.kisa .jmIkon{height:36px}
.jmKap.yatay.kisa .jmSerit{top:46px;width:min(260px,40vw);padding:3px 7px}
.jmKap.yatay.kisa .jmSerit .s{height:4px;margin:1.5px 0}
.jmKap.yatay.kisa .jmSerit .s i{width:8px;height:8px;margin:-4px 0 0 -4px}
.jmKap.yatay.kisa .jmKoc{top:48px}
.jmKap.yatay.kisa .jmKocYuz{width:42px;height:42px;flex-basis:42px}
.jmKap.yatay.kisa .jmBalon p{font-size:13px}
.jmKap.yatay.kisa .jmBar span{height:min(110px,30vh)}
.jmKap.yatay .jmAkis{top:50px}
.jmKap.masa{--dug:92px;--orta:72px;--altBos:34px}
.jmKap.masa .jmKol{opacity:.92}
@media (max-width:380px){.jmStat{min-width:50px;padding:2px 6px}.jmMenuBtn b{display:none}}

/* ---------- jimnastiğe özel: göstergeler, yan düğmeler, eleman şeridi */
.jmGosterge{display:flex;flex-direction:column;align-items:center;gap:5px;pointer-events:none}
.jmRitim,.jmDenge,.jmSalto{width:min(250px,56vw);background:rgba(24,10,44,.72);border:1px solid #ffffff2a;border-radius:12px;padding:4px 8px 6px}
.jmRitimUst{display:flex;justify-content:space-between;align-items:center;font:900 13px Nunito,sans-serif;line-height:1.1;margin-bottom:3px;gap:6px}
.jmRitimUst b{color:#ffd23f;letter-spacing:.4px}
.jmRitimUst small{font:800 11px Nunito,sans-serif;color:#e3c9ff}
.jmRitimCubuk,.jmDengeCubuk,.jmSaltoCubuk{position:relative;height:14px;border-radius:8px;background:#ffffff1c;overflow:hidden}
.jmRitimCubuk .iyiP{position:absolute;top:0;bottom:0;background:#ffd23f55;border-radius:6px}
.jmRitimCubuk .pencere{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#3ddc8466,#7dffb0,#3ddc8466);border-radius:6px}
.jmRitimCubuk .igne,.jmDengeCubuk .igne{position:absolute;top:-2px;bottom:-2px;width:5px;margin-left:-2.5px;border-radius:3px;background:#fff;box-shadow:0 0 8px #fff}
.jmRitim.kalkis{border-color:#ff7ac3;box-shadow:0 0 0 2px #ff7ac366}
.jmDengeCubuk{background:linear-gradient(90deg,#ff4b5c66,#ffffff1c 25%,#ffffff1c 75%,#ff4b5c66)}
.jmDengeCubuk .orta{position:absolute;top:0;bottom:0;left:39%;width:22%;background:#7dffb055;border-radius:6px}
.jmDenge.tehlike{border-color:#ff4b5c;animation:jmAz .5s infinite}
.jmSaltoCubuk u{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#c85cff,#ff7ac3);border-radius:8px}
.jmSaltoCubuk .hedef{position:absolute;top:-2px;bottom:-2px;left:calc(100% / 1.3 - 2px);width:4px;background:#ffd23f;box-shadow:0 0 6px #ffd23f}
.jmSalto.ac{border-color:#7dffb0;box-shadow:0 0 0 3px #7dffb088,0 0 18px #7dffb0}
.jmSalto.ac b{color:#7dffb0}
.jmSalto.gec{border-color:#ff4b5c;box-shadow:0 0 0 3px #ff4b5c88}
.jmSalto.gec b{color:#ff8a80}
.jmOrta{width:calc(var(--orta) * 1.25);height:calc(var(--orta) * 1.25);border-radius:50%;background:radial-gradient(circle at 40% 30%,#ff9bd2,#e0245e 70%,#9d1240);box-shadow:0 6px 0 #5c0a25,0 10px 24px #0007,inset 0 2px 0 #ffffff77;border:3px solid #ffffffb0}
.jmOrta b{font-size:30px}
.jmOrta small{font-size:11px}
.jmOrta.tut{background:radial-gradient(circle at 40% 30%,#c4b5fd,#7c3aed 70%,#4c1d95);box-shadow:0 6px 0 #2e1065,0 0 0 5px #c4b5fd66,0 10px 24px #0007}
.jmOrta.ac{background:radial-gradient(circle at 40% 30%,#bbf7d0,#16a34a 70%,#14532d);box-shadow:0 6px 0 #052e16,0 0 0 6px #7dffb099,0 0 26px #7dffb0;animation:jmNabiz .25s infinite alternate}
.jmOrta.bekle{animation:jmNabiz .5s infinite alternate;box-shadow:0 6px 0 #5c0a25,0 0 0 5px #ffd23f88,0 0 20px #ffd23f}
.jmOrta.pasif{opacity:.45;filter:saturate(.3)}
.jmYan{width:var(--dug);height:var(--dug);border-radius:50%;background:radial-gradient(circle at 40% 30%,#e879f9,#a21caf 70%,#701a75);box-shadow:0 6px 0 #3b0764,0 10px 24px #0007,inset 0 2px 0 #ffffff66;border:3px solid #ffffffb0}
.jmYan.sol{left:max(14px,env(safe-area-inset-left))}
.jmYan.sag{right:max(14px,env(safe-area-inset-right))}
.jmYan.pasif{opacity:.35;filter:saturate(.3)}
.jmYan.acil{box-shadow:0 6px 0 #3b0764,0 0 0 5px #7dffb0,0 0 20px #7dffb0}
.jmSerit{position:absolute;top:58px;left:50%;transform:translateX(-50%);display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:min(520px,78vw);z-index:3;pointer-events:none}
.jmSerit span{display:flex;align-items:center;gap:3px;background:rgba(24,10,44,.72);border:1px solid #ffffff26;border-radius:9px;padding:2px 7px;font:800 11px Nunito,sans-serif;white-space:nowrap}
.jmSerit span.aktif{border-color:#ffd23f;box-shadow:0 0 0 2px #ffd23f66}
.jmSerit span.n0{background:#16a34acc}.jmSerit span.n1{background:#65a30dcc}.jmSerit span.n2{background:#ca8a04cc}.jmSerit span.n3{background:#ea580ccc}.jmSerit span.n4{background:#dc2626cc}
.jmStat.toplam b{color:#ffd23f}
.jmKap.dikey .jmSerit{top:104px}
.jmKap.yatay.kisa .jmSerit{top:46px}
.jmNotlar{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:6px 0}
.jmNotlar span{border-radius:8px;padding:2px 7px;font:800 11.5px Nunito,sans-serif;background:#ffffff14}
.jmNotlar span.n0{background:#16a34a}.jmNotlar span.n1{background:#65a30d}.jmNotlar span.n2{background:#ca8a04}.jmNotlar span.n3{background:#ea580c}.jmNotlar span.n4{background:#dc2626}
.jmPuanBuyuk{display:flex;justify-content:center;gap:10px;margin:6px 0 4px;flex-wrap:wrap}
.jmPuanBuyuk div{background:#ffffff12;border-radius:12px;padding:5px 12px;text-align:center}
.jmPuanBuyuk small{display:block;font:800 11px Nunito,sans-serif;color:#c9b3e6}
.jmPuanBuyuk b{font:900 24px/1.1 'Baloo 2',Nunito,sans-serif}
.jmPuanBuyuk div.top b{color:#ffd23f;font-size:30px}
.jmSlot{display:flex;align-items:center;gap:8px;background:rgba(24,10,44,.82);border:1px solid #ffffff22;border-radius:14px;padding:7px 9px}
.jmSlot .no{font:900 16px 'Baloo 2',Nunito,sans-serif;width:22px;text-align:center;color:#ffd23f}
.jmSlot select{flex:1;min-width:0;padding:7px;border-radius:9px;font:800 13px Nunito,sans-serif;background:#2a1748;color:#fff;border:1px solid #ffffff33}
.jmSlot .dv{font:900 13px Nunito,sans-serif;color:#7dffb0;min-width:34px;text-align:right}
.jmSlot button{background:#ffffff14;border:0;color:#fff;border-radius:8px;width:30px;height:30px;font-size:15px;cursor:pointer}
.jmSart{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin:8px 0}
.jmSart div{background:#ffffff10;border-radius:9px;padding:4px 8px;font:800 12px Nunito,sans-serif}
.jmSart div.tamam{background:#16a34a55}
.jmBeceri{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.jmBeceri .b{display:flex;flex-direction:column;gap:3px;background:rgba(24,10,44,.82);border:2px solid #ffffff22;border-radius:14px;padding:8px 9px}
.jmBeceri .b.bilinen{border-color:#7dffb066}
.jmBeceri .b.kilit{opacity:.55}
.jmBeceri .b .ust{display:flex;align-items:center;gap:6px}
.jmBeceri .b .ust i{font-style:normal;font-size:22px}
.jmBeceri .b .ust b{font:900 13.5px/1.15 'Baloo 2',Nunito,sans-serif;flex:1}
.jmBeceri .b small{font:700 11px/1.25 Nunito,sans-serif;color:#d9c4f5}
.jmBeceri .b .dg{font:900 12px Nunito,sans-serif;color:#7dffb0}
.jmBeceri .b .btn{margin-top:3px}
/* online bekleme ekranı: uzun kutu ekrandan taşınca üstü kesilmesin (ortalama margin:auto ile) */
.onBekle{align-items:flex-start}
.onBekleKutu.jmBekle{margin:auto}
.jmBekle .jmSecim button{min-width:70px;padding:6px 4px;font-size:12.5px}
