:root{
  --cream:#FBF3DF; --cream2:#FDF8EC; --ink:#23492F; --green:#2E5B3E; --mint:#7FB069;
  --leaf:#D6EBC9; --sun:#FCE8B8; --gold:#E8B84B; --coral:#EE6C4D;
  --sh:rgba(35,73,47,.16); --shd:rgba(35,73,47,.30);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:clamp(12px,2.05vh,20px)}
html,body{height:100%;overflow:hidden;overscroll-behavior:none;background:var(--cream)}
body{
  font-family:'Baloo Bhaijaan 2',system-ui,sans-serif;color:var(--ink);
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;
}
button{font-family:inherit;color:inherit;border:none;background:none;cursor:pointer}

#app{
  position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;overflow:hidden;
  background:
    radial-gradient(58% 36% at 12% 6%, rgba(214,235,201,.60), rgba(214,235,201,0) 72%),
    radial-gradient(52% 34% at 90% 94%, rgba(252,232,184,.55), rgba(252,232,184,0) 72%),
    var(--cream);
}
body.wide #app{left:50%;width:min(100%,62vh);transform:translateX(-50%);box-shadow:0 0 0 .2rem rgba(35,73,47,.06)}
body.rot #app{top:50%;left:50%;width:100vh;width:100dvh;height:100vw;height:100dvw;transform-origin:center}
body.rot.cw  #app{transform:translate(-50%,-50%) rotate(90deg)}
body.rot.ccw #app{transform:translate(-50%,-50%) rotate(-90deg)}

.scr{position:absolute;inset:0;display:none;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.scr.on{display:flex;animation:scrIn .3s ease both}
@keyframes scrIn{from{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:none}}

/* ===== عناصر مشتركة ===== */
.rback{width:3rem;height:3rem;border-radius:50%;background:none;border:none;box-shadow:none;padding:0;
  display:grid;place-items:center;-webkit-tap-highlight-color:transparent}
.rback:active{transform:scale(.92)}
.rback img{width:100%;height:100%;object-fit:contain;display:block}
.rback svg{width:52%;height:52%}
.topRow{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .9rem .2rem}
/* زر الرجوع في يسار الشريط كما في بقية الألعاب، وأزرار الصوت في يمينه */
.topRow .rback, #topbar .rback{order:9}
/* الموسيقى مخفية حتى تجهز */
#btnMusic{display:none}
.cta{
  position:relative;z-index:2;
  background:var(--green);color:var(--cream2);border-radius:999px;padding:.85rem 2.6rem;
  font-size:1.5rem;font-weight:800;letter-spacing:.02em;
  box-shadow:0 .32rem 0 rgba(35,73,47,.9), 0 .7rem 1.1rem var(--sh);transition:transform .1s, box-shadow .1s
}
.cta:active{transform:translateY(.28rem);box-shadow:0 .06rem 0 rgba(35,73,47,.9)}
.pill{background:var(--cream2);border:.13rem solid var(--leaf);border-radius:999px;padding:.7rem 1rem;font-size:1.08rem;font-weight:700;
  box-shadow:0 .22rem 0 rgba(35,73,47,.14);transition:transform .1s}
.pill:active{transform:translateY(.16rem)}
.pill.gold{background:var(--gold);border-color:var(--gold);box-shadow:0 .22rem 0 rgba(35,73,47,.3)}
.st{width:1em;height:1em;display:block;fill:var(--gold)}
.st.off{fill:#E4DCC4}

/* ===== شاشة البداية ===== */
.tgls{display:flex;gap:.5rem}
.tgl{width:2.55rem;height:2.55rem;border-radius:50%;background:var(--cream2);border:.13rem solid var(--leaf);
  display:grid;place-items:center;box-shadow:0 .15rem .4rem var(--sh);transition:transform .12s}
.tgl:active{transform:scale(.92)}
.tgl svg{width:54%;height:54%}
.tgl.off{background:#EFE6CE;opacity:.75}
.tgl.off .slash{display:block}
.slash{display:none}

/* خلفية شاشة البداية على ثلاث طبقات: الصورة الثابتة تظهر فوراً، ثم الفيديو
   (٢٤ لقطة في الثانية) إن سمح الجهاز بتشغيله وحده، وإلا فصورة متحركة بالمعدل
   نفسه لا تخضع لمنع التشغيل التلقائي (وضع توفير الطاقة في آيفون مثلاً).
   الفيديو مخفي حتى يبدأ فعلاً، فلا يُرى زر التشغيل الذي يرسمه النظام فوقه. */
#scStart{background:#FCF2DA url("art/start.jpg") center/contain no-repeat}
.startbg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.startbg>video,.startbg>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .35s}
.startbg>.live{opacity:1}
#scStart .topRow,#scStart .body{position:relative;z-index:1}
#scStart .body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  padding:.2rem 1.1rem 1.2rem;text-align:center;gap:.5rem}
#scStart .head{display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%}
#scStart .foot{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}
.pills2{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.pill2{background:rgba(253,248,236,.94);border:.13rem solid var(--leaf);border-radius:999px;padding:.5rem 1.15rem;
  font-size:1.02rem;font-weight:700;box-shadow:0 .2rem .5rem var(--sh);transition:transform .1s}
.pill2:active{transform:scale(.95)}
.infoCard{text-align:right;max-height:86vh;overflow:auto}
.infoCard .icard{margin-bottom:.6rem;box-shadow:none}
.term{display:inline-block;direction:ltr;unicode-bidi:isolate;font-size:.72rem;font-weight:700;
  color:var(--green);background:var(--sun);border:.08rem solid var(--gold);border-radius:999px;
  padding:.02rem .5rem;margin-inline-start:.35rem;vertical-align:middle;white-space:nowrap}
.hintBtn.hasArt{background:radial-gradient(circle at 50% 40%,#FFFBEF,var(--cream2));border:.18rem solid var(--gold)}
.hintBtn.hasArt .icn.artimg{width:84%;height:84%;object-fit:contain}
.rback.hasArt{background:none;border:none;box-shadow:none}
.rback.hasArt .artimg{width:100%;height:100%;object-fit:contain}
.tgl.hasArt{background:var(--on) center/100% 100% no-repeat;border:none;box-shadow:none}
.tgl.hasArt svg{display:none}
.tgl.hasArt.off{background:var(--off,var(--on)) center/100% 100% no-repeat;opacity:1}
.st.artimg{object-fit:contain}
.lv .lock .artimg{width:1.9rem;height:1.9rem;filter:drop-shadow(0 .1rem .25rem rgba(35,73,47,.35))}
.lv .medal{animation:none;margin:0}
.hero{width:100%;height:clamp(56px,13vh,130px);display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}
.hero svg{height:100%;width:auto;animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-.45rem) rotate(1deg)}}
h1{font-size:2.15rem;font-weight:800;line-height:1.15;text-shadow:0 .1rem .5rem rgba(252,242,218,.9)}
.lead{font-size:1.06rem;line-height:1.5;color:var(--green);opacity:.95;max-width:26rem;text-shadow:0 .1rem .5rem rgba(252,242,218,.9)}
.icards{display:flex;flex-direction:column;gap:.55rem;width:100%;max-width:30rem}
.icard{background:var(--cream2);border:.13rem solid var(--leaf);border-radius:1.7rem;padding:.65rem .95rem;text-align:right;
  box-shadow:0 .25rem .7rem var(--sh)}
.icard h2{font-size:1.12rem;font-weight:800;margin-bottom:.2rem;display:flex;align-items:center;gap:.4rem}
.icard h2 i{width:.62rem;height:.62rem;background:var(--gold);border-radius:.18rem;transform:rotate(45deg);display:block;flex:0 0 auto}
.icard li{list-style:none;font-size:.99rem;line-height:1.5;padding-inline-start:1rem;position:relative;opacity:.92}
.icard li::before{content:"";position:absolute;inset-inline-start:.25rem;top:.62em;width:.34rem;height:.34rem;border-radius:50%;background:var(--mint)}

/* ===== شاشة المراحل ===== */
.scrTitle{font-size:1.45rem;font-weight:800;flex:1;text-align:center}
.starTot{display:flex;align-items:center;gap:.3rem;background:var(--cream2);border:.13rem solid var(--leaf);
  border-radius:999px;padding:.3rem .7rem;font-size:1rem;font-weight:700;box-shadow:0 .15rem .4rem var(--sh)}
.starTot .st{width:1.05rem;height:1.05rem}
#grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);
  gap:.62rem;padding:.55rem .9rem 1rem}
.lv{position:relative;background:var(--cream2);border:.13rem solid var(--leaf);border-radius:1.15rem;padding:.3rem;
  display:flex;flex-direction:column;gap:.18rem;overflow:hidden;box-shadow:0 .2rem .55rem var(--sh);transition:transform .12s}
.lv:active{transform:scale(.95)}
.lv .thumb{flex:1;min-height:0;border-radius:.85rem;background:linear-gradient(150deg,var(--leaf),var(--sun));
  background-size:cover;background-position:center;position:relative;overflow:hidden}
.lv .num{position:absolute;top:.2rem;inset-inline-end:.2rem;min-width:1.5rem;height:1.5rem;padding:0 .25rem;border-radius:.6rem;
  display:grid;place-items:center;font-size:.92rem;font-weight:800;color:var(--ink);box-shadow:0 .1rem .3rem var(--sh)}
.lv .nm{font-size:.85rem;font-weight:700;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv .strs{display:flex;justify-content:center;gap:.12rem}
.lv .strs .st{width:.78rem;height:.78rem}
.lv.locked .thumb{filter:grayscale(1);opacity:.45}
.lv.locked .nm,.lv.locked .strs{opacity:.5}
.lv .lock{position:absolute;inset:0;display:none;place-items:center}
.lv.locked .lock{display:grid}
.lv .lock svg{width:1.9rem;height:1.9rem;filter:drop-shadow(0 .1rem .25rem rgba(35,73,47,.35))}
.lv .medal{position:absolute;top:.2rem;inset-inline-start:.2rem;width:1.35rem;height:1.35rem;display:none}
.lv.perfect .medal{display:block}
.lv.shake{animation:sh .32s ease}
@keyframes sh{0%,100%{transform:translateX(0)}25%{transform:translateX(-.18rem)}75%{transform:translateX(.18rem)}}

/* ===== شاشة اللعب ===== */
#scPlay{padding:0}
#topbar{height:9%;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  padding:0 .75rem;background:rgba(253,248,236,.82);backdrop-filter:blur(6px);margin-top:env(safe-area-inset-top)}
#topbar .rback{width:2.7rem;height:2.7rem}
#dots{display:flex;gap:.38rem}
#dots i{width:1.05rem;height:1.05rem;border:.14rem solid var(--gold);border-radius:50%;display:block;background:rgba(252,232,184,.5)}
#dots i.on{background:var(--gold);animation:pop .42s ease}
@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.5)}100%{transform:scale(1)}}
#lvlNo{font-size:1rem;font-weight:700;min-width:4.2rem;text-align:start;opacity:.85}
#mid{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.box{position:relative;border-radius:18px;overflow:hidden;background:var(--leaf);box-shadow:0 .3rem .9rem var(--sh);touch-action:none}
.box img{width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}
.box svg.ov,.box .fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.box .fx{overflow:hidden}
.box .ph{position:absolute;inset:0;display:none;place-items:center;text-align:center;font-size:1rem;font-weight:700;
  color:var(--green);opacity:.7;padding:1rem;background:linear-gradient(150deg,var(--leaf),var(--sun));pointer-events:none}
.box.noimg .ph{display:grid}
.sep{height:10px;width:58%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative}
.sep .line{height:2px;width:100%;background:var(--leaf);border-radius:2px;display:block}
.sep .dia{position:absolute;width:9px;height:9px;background:var(--gold);border-radius:2px;transform:rotate(45deg);display:block}
#botbar{height:11%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:env(safe-area-inset-bottom)}
.hintBtn{position:relative;width:4.6rem;height:4.6rem;border-radius:50%;background:radial-gradient(circle at 50% 40%,#FFF3D0,var(--sun));
  border:.16rem solid var(--gold);display:grid;place-items:center;box-shadow:0 .25rem .7rem rgba(232,184,75,.5);transition:transform .12s}
.hintBtn:active{transform:scale(.93)}
.hintBtn .icn{width:58%;height:58%}
.hintBtn.off{filter:grayscale(.45);opacity:.55}
.hintBtn .cool{position:absolute;inset:-.22rem;width:calc(100% + .44rem);height:calc(100% + .44rem);transform:rotate(-90deg);display:none}
.hintBtn.blink{animation:bl 1s ease-in-out 3}
@keyframes bl{0%,100%{box-shadow:0 .25rem .7rem rgba(232,184,75,.5)}50%{box-shadow:0 0 0 .8rem rgba(232,184,75,.35)}}
.solve{position:absolute;left:6%;background:var(--cream2);border:.13rem solid var(--gold);border-radius:999px;
  padding:.45rem .8rem;font-size:.95rem;font-weight:700;box-shadow:0 .18rem .45rem var(--sh);display:none}
.solve.on{display:block;animation:scrIn .35s ease both}

.spark{position:absolute;width:.7rem;height:.7rem;margin:-.35rem;background:var(--gold);
  clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  animation:sp .5s ease-out forwards;pointer-events:none}
@keyframes sp{from{transform:translate(0,0) scale(.35);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(1.1);opacity:0}}
.rip{position:absolute;width:1.6rem;height:1.6rem;margin:-.8rem;border-radius:50%;border:.2rem solid rgba(35,73,47,.28);
  animation:rp .4s ease-out forwards;pointer-events:none}
@keyframes rp{from{transform:scale(.35);opacity:.85}to{transform:scale(3.4);opacity:0}}
.sweep{position:absolute;top:0;bottom:0;left:0;width:55%;pointer-events:none;
  background:linear-gradient(270deg,rgba(255,255,255,0),rgba(255,255,255,.92) 48%,rgba(255,255,255,0));animation:sw .6s linear forwards}
@keyframes sw{from{transform:translateX(182%)}to{transform:translateX(-100%)}}

/* ===== البطاقات المنبثقة ===== */
.ovl{position:absolute;inset:0;background:rgba(35,73,47,.42);display:none;align-items:center;justify-content:center;padding:1.2rem;z-index:20}
.ovl.on{display:flex;animation:fade .25s ease both}
@keyframes fade{from{opacity:0}to{opacity:1}}
.card{background:var(--cream2);border-radius:2rem;padding:1.5rem 1.2rem 1.2rem;width:100%;max-width:24rem;text-align:center;
  box-shadow:0 1rem 2rem rgba(35,73,47,.3);animation:cardIn .42s cubic-bezier(.2,1.4,.4,1) both;position:relative;overflow:hidden}
@keyframes cardIn{from{opacity:0;transform:scale(.82) translateY(1rem)}to{opacity:1;transform:none}}
.rstars{display:flex;justify-content:center;align-items:flex-end;gap:.55rem;margin-bottom:.7rem}
.rstars .st{width:3.1rem;height:3.1rem;opacity:0}
.rstars .st.mid{width:3.9rem;height:3.9rem}
.rstars .st.drop{animation:drop .45s cubic-bezier(.2,1.5,.4,1) both}
@keyframes drop{from{opacity:0;transform:translateY(-1.6rem) scale(.5) rotate(-18deg)}to{opacity:1;transform:none}}
.rmsg{font-size:1.35rem;font-weight:800;line-height:1.4;margin-bottom:.5rem}
.rline{font-size:1rem;opacity:.85;line-height:1.6}
.rbtns{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}
.rbtns .pill{flex:1}
.conf{position:absolute;top:-1rem;width:.6rem;height:.9rem;border-radius:.18rem;pointer-events:none;animation:cf 1.7s ease-in forwards}
@keyframes cf{from{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(22rem) rotate(540deg);opacity:0}}
.medal{width:6rem;height:6rem;margin:0 auto .6rem;animation:bob 2.6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-.4rem) rotate(3deg)}}

/* ===== صور الواجهة الاختيارية من مجلد art ===== */
.hero .artimg{height:100%;width:auto;max-width:100%;object-fit:contain;animation:float 5s ease-in-out infinite}
#btnHint .icn.artimg{width:2.5rem;height:2.5rem;object-fit:contain;pointer-events:none}
#finMedal.medal{object-fit:contain}
#app.hasbg{background-size:cover;background-position:center;background-repeat:no-repeat}
.sep .artimg{width:100%;height:100%;object-fit:contain}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* ===== أزرار شاشة البداية بنمط «كنوز الجليد» (طلب محمد ٢٧ أيلول ٢٠٢٦). القيم منسوخة حرفياً من
   public/games/kunuz/style.css، ونسختها الأخرى في public/games/mtak.css للألعاب الثلاث: أي تعديل يُنقل إليهما. ===== */
.kbtn{min-height:62px;border:0;border-radius:22px;padding:0 22px;margin:0;font-family:"Baloo Bhaijaan 2","Segoe UI",system-ui,sans-serif;
  font-size:24px;font-weight:800;line-height:1.15;color:#fff;white-space:nowrap;cursor:pointer;position:relative;overflow:hidden;
  box-shadow:0 5px 0 rgba(0,0,0,.28),0 8px 16px rgba(0,0,0,.2);-webkit-tap-highlight-color:transparent;transition:scale .45s cubic-bezier(.3,2,.55,1)}
.kbtn::before{content:"";position:absolute;left:8%;right:8%;top:5px;height:40%;border-radius:18px;background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,0));pointer-events:none}
.kbtn.green{background:linear-gradient(#4E8E63,#2E5B3E)}
.kbtn.gold{background:linear-gradient(#F6D27A,#E8B84B);color:#5b3a00;font-size:20px;min-height:60px}
.kbtn.big{min-height:76px;font-size:32px;width:min(78vw,320px,100%)}
.krow{display:flex;gap:10px;width:min(90vw,380px,100%)}
.krow .kbtn{flex:1 1 0;min-width:0;font-size:18px;padding:0 10px}
.kbtn.kdown{scale:.88;transition:scale .08s cubic-bezier(.25,.46,.45,.94)}
#scStart .foot{gap:14px}
