*{box-sizing:border-box}
:root{
  --green:#0f5a3d;
  --green2:#176f4b;
  --gold:#f7c342;
  --ink:#143326;
  --muted:#667b71;
  --cream:#fffaf0;
  --line:#d7e5dc;
}
html,body{margin:0;min-height:100%;background:#0c2e28;font-family:Tahoma,Arial,sans-serif}
body{overflow-x:hidden}
button,input,textarea,select{font:inherit}

.app-shell{
  display:grid;
  place-items:center;
  padding:0;
}
.scene{
  position:relative;
  width:min(100vw,1536px);
  aspect-ratio:3/2;
  overflow:hidden;
  background:#123;
  box-shadow:0 20px 70px #001b17;
}
.scene-image{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  user-select:none;-webkit-user-drag:none;
}

.hotspot{
  position:absolute;
  z-index:7;
  border:0;
  background:transparent;
  cursor:pointer;
}
.circle{
  width:11.5%;
  aspect-ratio:1/1;
  border-radius:50%;
}
.circle:hover{
  outline:5px solid rgba(255,218,79,.28);
  box-shadow:0 0 35px rgba(255,221,80,.5);
}

/* مواقع الدوائر حسب الواجهة المعتمدة */
.h-manhej{left:30.4%;top:11.3%}
.h-method{left:46.2%;top:4.2%}
.h-know{left:64.0%;top:10.3%}
.h-skills{left:25.8%;top:34.2%}
.h-identity{left:70.5%;top:35.0%}
.h-leadership{left:28.8%;top:65.1%}
.h-service{left:47.0%;top:74.8%}
.h-badges{left:65.0%;top:64.7%}

.start-hotspot{left:41.7%;top:64.3%;width:20.7%;height:8.5%;border-radius:35px}
.contact-hotspot{left:72.3%;top:91.3%;width:13.6%;height:6.7%;border-radius:30px}
.settings-hotspot{left:85.3%;top:91.0%;width:5.3%;height:7.2%;border-radius:50%}

.start-hotspot:hover,.contact-hotspot:hover,.settings-hotspot:hover{
  background:rgba(255,255,255,.08);
  box-shadow:0 0 0 4px rgba(255,255,255,.12);
}

/* العدادات الديناميكية تغطي الأرقام المطبوعة في الصورة */
.live-panel{
  position:absolute;z-index:8;bottom:1.65%;
  height:6.1%;
  display:flex;align-items:center;gap:10px;
  padding:0 20px;
  color:white;
  background:rgba(9,60,42,.93);
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.live-panel span{font-size:24px}
.live-panel div{display:flex;align-items:baseline;gap:8px}
.live-panel b{font-size:20px}
.live-panel small{font-size:14px}
.visitors-panel{left:17.4%;width:20.0%}
.online-panel{left:40.2%;width:22.0%}
.online-dot{color:#3fe15e;text-shadow:0 0 12px rgba(63,225,94,.65)}

.modal{
  border:0;
  padding:0;
  background:transparent;
  width:min(620px,94vw);
}
.modal::backdrop{
  background:rgba(5,32,27,.72);
  backdrop-filter:blur(9px);
}
.passport-card,.info-card{
  position:relative;
  background:linear-gradient(145deg,#fffef7,#ecf8ef);
  color:var(--ink);
  border:2px solid #e0b83d;
  border-radius:28px;
  padding:26px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.close{
  position:absolute;left:16px;top:14px;width:40px;height:40px;
  border:0;border-radius:50%;background:#edf2ef;color:#234c3b;font-size:25px;cursor:pointer
}
.passport-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:8px}
.passport-head img{width:76px;height:76px;object-fit:contain}
.micro{display:inline-block;color:#9b7200;font-weight:bold;margin-bottom:5px}
.passport-head h2,.info-card h2{margin:0;color:#184e39}
.passport-head p,.info-card p{color:var(--muted);line-height:1.7}

.field{display:block;margin:14px 0;position:relative}
.field>span{display:block;font-weight:bold;margin-bottom:7px}
.field input,.field textarea,.field select{
  width:100%;
  border:1px solid #bcd0c4;
  border-radius:15px;
  padding:14px;
  background:#fff;
  color:var(--ink);
  outline:none;
  box-shadow:inset 0 3px 6px rgba(22,82,57,.08),0 5px 0 #c8d9cf;
}
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:#d7ab24;
  box-shadow:inset 0 3px 6px rgba(22,82,57,.08),0 5px 0 #d7ab24;
}
.error{display:block;min-height:17px;color:#af3b34;margin-top:5px;font-size:12px}
.country-results{
  position:absolute;z-index:20;right:0;left:0;top:74px;
  max-height:220px;overflow:auto;background:#fff;border:1px solid #d9e4dd;
  border-radius:15px;box-shadow:0 15px 35px rgba(0,0,0,.18)
}
.country-option{
  width:100%;border:0;background:#fff;text-align:right;padding:11px 13px;cursor:pointer;
  display:flex;gap:9px;align-items:center
}
.country-option:hover{background:#eef8f1}
.country-option small{margin-right:auto;color:#73837b}

.stage-preview{
  display:flex;align-items:center;gap:12px;
  background:#e5f5e9;border:1px solid #a8d0b2;
  padding:14px;border-radius:16px;margin-top:16px
}
.stage-icon{font-size:34px}
.stage-preview small{display:block;color:#6f8178}
.stage-preview b{display:block;font-size:20px;color:#14583b;margin-top:2px}
.stage-preview p{margin:4px 0 0;color:#66786f}

.primary{
  width:100%;border:0;border-radius:17px;padding:14px 18px;
  background:linear-gradient(#f9d65b,#f0b92f);color:#164732;
  font-weight:900;font-size:17px;cursor:pointer;
  box-shadow:0 7px 0 #b97c12,0 13px 24px rgba(17,76,52,.16)
}
.primary:active{transform:translateY(4px);box-shadow:0 3px 0 #b97c12}
.privacy{text-align:center;font-size:12px;color:#718078}

.guide-row{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.guide-row img{width:150px;max-height:190px;object-fit:contain}
.settings-list{display:grid;gap:10px;margin-top:18px}
.settings-list button{
  border:1px solid #cddbd3;background:#fff;border-radius:14px;padding:13px;text-align:right;
  color:#174f39;font-weight:bold;cursor:pointer
}
.settings-list button:hover{background:#eef7f1}

@media(max-width:900px){
  .app-shell{align-items:start}
  .scene{width:100vw}
  .live-panel{padding:0 10px}
  .live-panel small{display:none}
  .live-panel b{font-size:15px}
  .live-panel span{font-size:17px}
}

@media(max-width:650px){
  .scene{
    width:100vw;
    aspect-ratio:3/2;
  }
  .live-panel{display:none}
  .guide-row{align-items:flex-start}
  .guide-row img{width:100px}
}


/* ===== V6: World + Journey Engine ===== */
.world-screen{
  position:fixed;inset:0;z-index:30;
  display:none;
  overflow:auto;
  color:#173e31;
  background:
    radial-gradient(circle at 85% 10%,rgba(255,212,72,.22),transparent 22%),
    linear-gradient(180deg,#dff4ff 0%,#edf8ef 48%,#fff8e8 100%);
}
.world-screen.show{display:block}
.world-screen-inner{max-width:1220px;margin:auto;padding:28px 24px 60px}
.world-toolbar{
  display:grid;
  grid-template-columns:auto 1fr 150px;
  align-items:center;
  gap:20px;
  background:rgba(255,255,255,.9);
  border:1px solid #d7e6dd;
  border-radius:26px;
  padding:18px 22px;
  box-shadow:0 16px 40px rgba(18,70,50,.10);
}
.world-toolbar img{width:130px;height:150px;object-fit:contain;justify-self:end}
.world-toolbar h2{font-size:34px;margin:3px 0;color:#13573c}
.world-toolbar p{margin:5px 0;color:#62756c;line-height:1.7}
.world-back{
  border:0;border-radius:15px;padding:12px 15px;
  background:#174e3a;color:#fff;font-weight:bold;cursor:pointer
}
.journey-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:24px;
}
.journey-card{
  border:1px solid #d6e2da;
  background:linear-gradient(145deg,#fff,#f2f9f4);
  border-radius:24px;
  min-height:190px;
  padding:22px;
  text-align:right;
  box-shadow:0 10px 24px rgba(25,68,51,.08);
  color:#163f31;
  cursor:pointer;
  transition:.18s;
}
.journey-card:not(.locked):hover{
  transform:translateY(-6px);
  border-color:#e4bd42;
  box-shadow:0 16px 30px rgba(25,68,51,.13);
}
.journey-card.locked{opacity:.55;cursor:not-allowed}
.journey-icon{display:block;font-size:42px;margin-bottom:12px}
.journey-card strong{display:block;font-size:20px;color:#15573d}
.journey-card small{display:block;margin-top:8px;line-height:1.6;color:#6e7d75}

.journey-modal{width:min(850px,95vw)}
.journey-card-dialog{max-height:88vh;overflow:auto}
.journey-body{display:grid;gap:14px;margin:18px 0}
.content-block{
  border:1px solid #dbe7df;
  background:#fff;
  border-radius:18px;
  padding:17px;
  box-shadow:0 6px 15px rgba(24,72,54,.05)
}
.content-block h4{margin:0 0 8px;color:#15583d;font-size:18px}
.content-block p{margin:0;line-height:1.85;color:#314f42}
.type-story{background:#fff9e8;border-color:#ead68c}
.type-fact{background:#eef8ff;border-color:#c6e2ef}
.type-challenge,.type-project{background:#f2edff;border-color:#d9cdf5}
.type-case,.type-study{background:#f0f7ef;border-color:#c9ddc6}
.type-reflection{background:#fff3f0;border-color:#efcfca}
.type-question{background:#f8fbff}
.choice-list{display:grid;gap:9px;margin-top:12px}
.choice-btn{
  border:1px solid #cfdcd4;background:#fff;border-radius:13px;padding:11px;text-align:right;
  cursor:pointer;color:#173f31
}
.choice-btn:hover{background:#eef7f1}
.choice-btn.correct{background:#dff5e6;border-color:#74ba8a}
.choice-btn.wrong{background:#ffe8e4;border-color:#d88d83}
.feedback{margin-top:10px;font-weight:bold;color:#8a6900}
.timeline-items{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.timeline-items span{
  display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #d8e3dc;
  border-radius:999px;padding:8px 12px
}
.timeline-items b{
  display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1b6547;color:#fff
}

@media(max-width:900px){
  .world-toolbar{grid-template-columns:1fr; text-align:center}
  .world-toolbar img{justify-self:center}
  .world-back{justify-self:center}
  .journey-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .journey-grid{grid-template-columns:1fr}
  .world-toolbar h2{font-size:28px}
}


/* ===== V7: فصل التحدي عن الشرح + تنقل السابق/التالي ===== */

.world-screen-inner{
  padding-top:22px;
}
.world-nav-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.world-nav-btn,.world-home-btn{
  border:0;
  border-radius:16px;
  padding:12px 18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(24,74,55,.10);
}
.world-nav-btn{
  min-width:150px;
  background:linear-gradient(180deg,#fff,#edf6f0);
  color:#15543c;
  border:1px solid #cfe0d5;
}
.world-nav-btn.prev{justify-self:start}
.world-nav-btn.next{justify-self:end}
.world-home-btn{
  background:#17563f;
  color:#fff;
}
.world-nav-btn:hover:not(:disabled),.world-home-btn:hover{
  transform:translateY(-2px);
}
.world-nav-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
}

/* عنوان العالم أصبح صندوقًا مستقلاً بلا أزرار بداخله */
.world-toolbar{
  grid-template-columns:1fr 150px;
}
.world-toolbar > div{
  padding-right:8px;
}

/* فصل الشرح والتحدي بصريًا ووظيفيًا */
.lesson-zone{
  display:grid;
  gap:14px;
}
.challenge-separator{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:34px 0 26px;
  color:#7a6400;
  font-weight:900;
}
.challenge-separator::before,
.challenge-separator::after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,#d9bc49,transparent);
}
.challenge-separator span{
  margin:0 16px;
  background:#fff8d9;
  border:1px solid #e6cd69;
  border-radius:999px;
  padding:8px 16px;
}

.challenge-zone{
  margin-top:6px;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,204,65,.17),transparent 28%),
    linear-gradient(145deg,#fffdf3,#f4f8ff);
  border:2px solid #e4c24e;
  border-radius:24px;
  padding:22px;
  box-shadow:0 12px 30px rgba(83,67,10,.08);
}
.challenge-head{
  padding-bottom:14px;
  border-bottom:1px dashed #dec46c;
  margin-bottom:16px;
}
.challenge-badge{
  display:inline-block;
  background:#f5c83e;
  color:#5d4800;
  border-radius:999px;
  padding:6px 11px;
  font-weight:900;
}
.challenge-head h3{
  margin:9px 0 5px;
  color:#5a4806;
  font-size:22px;
}
.challenge-head p{
  margin:0;
  color:#786d44;
  line-height:1.7;
}
.challenge-list{
  display:grid;
  gap:16px;
}
.challenge-question{
  background:#fff;
  border:1px solid #ddd7b6;
  border-radius:18px;
  padding:17px;
}
.challenge-question strong{
  display:block;
  color:#1e4f3c;
  font-size:18px;
  line-height:1.7;
  margin-bottom:10px;
}

/* لا نعرض أسئلة داخل منطقة الشرح حتى لا تصبح الإجابة ظاهرة أمام المتعلم */
.lesson-zone .type-question{
  display:none !important;
}

@media(max-width:900px){
  .world-nav-row{
    grid-template-columns:1fr 1fr;
  }
  .world-home-btn{
    grid-column:1/-1;
    grid-row:2;
    justify-self:center;
  }
  .world-nav-btn.prev{justify-self:stretch}
  .world-nav-btn.next{justify-self:stretch}
}

@media(max-width:620px){
  .world-nav-row{
    gap:8px;
  }
  .world-nav-btn,.world-home-btn{
    min-width:0;
    padding:10px 12px;
    font-size:13px;
  }
  .challenge-zone{
    padding:15px;
  }
}


/* ===== V10: هوية بصرية عمرية + خط نسخ ===== */
:root{
  --naskh-font:'Noto Naskh Arabic','Amiri','Traditional Arabic','Scheherazade New',serif;
}
html[dir="rtl"] body,
html[dir="rtl"] button,
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select{
  font-family:var(--naskh-font);
}
.journey-card-dialog{
  font-family:var(--naskh-font);
  font-size:1.12rem;
  line-height:1.9;
}
.journey-card-dialog #journeyTitle{font-size:2rem;line-height:1.5}
.journey-card-dialog #journeyIntro{font-size:1.2rem;line-height:1.9}
.journey-card-dialog .content-block p,
.journey-card-dialog .challenge-question strong,
.journey-card-dialog .choice-btn{font-size:1.12rem;line-height:1.9}
.journey-card-dialog .content-block h4{font-size:1.35rem}

/* شارة المرحلة أعلى الرحلة */
.journey-stage-badge{
  width:92px;height:92px;
  display:grid;place-items:center;
  margin:8px auto 14px;
  padding:14px;
  text-align:center;
  font-weight:900;
  font-size:1.05rem;
  background:#f5c84a;
  color:#164b36;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.13));
}
.shape-pentagon{clip-path:polygon(50% 0%,98% 35%,80% 100%,20% 100%,2% 35%)}
.shape-triangle{clip-path:polygon(50% 0%,100% 100%,0 100%);padding-top:35px}
.shape-circle{border-radius:50%}
.shape-hexagon{clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%)}
.shape-octagon{clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}
.shape-shield{clip-path:polygon(8% 5%,92% 5%,92% 57%,75% 82%,50% 100%,25% 82%,8% 57%)}

/* شكل البطاقات نفسها يتبع المرحلة */
.stage-theme .content-block,
.stage-theme .challenge-zone{overflow:hidden}
.stage-buds .content-block{
  border-radius:0;
  clip-path:polygon(50% 0%,100% 20%,91% 100%,9% 100%,0 20%);
  padding:34px 34px 28px;
  min-height:155px;
}
.stage-cubs .content-block{
  border-radius:0;
  clip-path:polygon(50% 0%,100% 100%,0 100%);
  padding:76px 52px 28px;
  min-height:220px;
  text-align:center;
}
.stage-scouts .content-block{
  border-radius:50%;
  min-height:270px;
  padding:54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.stage-advanced .content-block{
  border-radius:0;
  clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%);
  padding:28px 45px;
}
.stage-rovers .content-block{
  border-radius:0;
  clip-path:polygon(24px 0,calc(100% - 24px) 0,100% 24px,100% calc(100% - 24px),calc(100% - 24px) 100%,24px 100%,0 calc(100% - 24px),0 24px);
  padding:28px 34px;
}
.stage-leaders .content-block{
  border-radius:0;
  clip-path:polygon(4% 0,96% 0,96% 68%,80% 87%,50% 100%,20% 87%,4% 68%);
  padding:28px 34px 48px;
}

/* الحفاظ على القراءة في الشاشات الصغيرة */
@media(max-width:620px){
 .journey-card-dialog{font-size:1.05rem}
 .journey-card-dialog #journeyTitle{font-size:1.65rem}
 .stage-cubs .content-block{padding:62px 34px 24px;min-height:190px}
 .stage-scouts .content-block{border-radius:28px;min-height:0;padding:24px}
 .stage-buds .content-block,
 .stage-advanced .content-block,
 .stage-rovers .content-block,
 .stage-leaders .content-block{clip-path:none;border-radius:22px;padding:24px}
}

/* 279: an illustrated, live-content learning map */
.world-screen{background:#082c29;color:#f6f9e9}
.world-screen-inner{max-width:1536px;padding:16px 24px 36px}
.world-nav-row{margin-bottom:18px;gap:12px}
.world-nav-btn,.world-home-btn{min-height:48px;font-size:1rem;box-shadow:none}
.world-nav-btn{min-width:100px;border:1px solid #84b09b;background:#124c3d;color:#fff}
.world-home-btn{background:#f0c964;color:#173b2b;border:1px solid #f7dd9e}
.world-map-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:0 6px 18px}
.world-map-heading h2{color:#fff;margin:4px 0;font-size:clamp(1.7rem,3vw,2.5rem)}
.world-map-heading .micro{color:#f0c964;font-size:.9rem}
.world-map-heading p{margin:5px 0;color:#d2e2d5;line-height:1.8;font-size:1rem}
.world-map-hint{flex-shrink:0;font-weight:bold}
.journey-map{position:relative;isolation:isolate;aspect-ratio:3/2;border:2px solid #77a284;border-radius:28px;overflow:hidden;background:#286344;box-shadow:0 18px 55px #001b17}
.journey-map-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.journey-map-stations{position:absolute;inset:0;z-index:2}
.map-station{position:absolute;left:var(--map-x);top:var(--map-y);transform:translate(-50%,-50%);width:clamp(150px,17vw,230px);border:0;background:transparent;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:filter .15s,translate .15s;color:#092e25}
.station-marker{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:3px solid #fff5ca;background:#125c41;color:#fff;font-size:1.3rem;font-weight:bold;box-shadow:0 3px 0 #082f24,0 5px 16px #06281a66}
.station-label{display:block;width:100%;padding:10px 12px;border-radius:14px;border:2px solid #f5df9c;background:#fff5ddeb;box-shadow:0 4px 0 #735c36,0 6px 22px #18382366;backdrop-filter:blur(6px)}
.station-label strong{display:block;font-size:clamp(.9rem,1.25vw,1.1rem);line-height:1.6;overflow-wrap:anywhere}
.station-label small{display:block;margin-top:3px;font-size:.875rem;color:#1d694c}
.map-station:not(:disabled):hover{translate:0 -5px;filter:brightness(1.08)}
.map-station:focus-visible{outline:4px solid #fff;border-radius:18px;outline-offset:7px}
.map-station.locked{cursor:not-allowed;filter:grayscale(.75);opacity:.85}
.map-station.locked .station-marker{background:#666f61}
.map-station.locked .station-label small{color:#475348}
.journey-map-empty{position:absolute;inset:40% 15% auto;z-index:3;background:#fff7e6f2;border:2px solid #efd396;border-radius:20px;padding:24px;color:#143b2c;text-align:center;font-size:1.15rem;line-height:1.8}
.map-pagination{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px;font-size:1rem}
.map-pagination[hidden],.journey-map-empty[hidden]{display:none}
.map-pagination button{min-height:48px;border:1px solid #7ea98d;border-radius:12px;background:#164c3b;color:#fff;padding:10px 20px;cursor:pointer}
.map-pagination button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){
 .world-screen-inner{padding:14px 12px 30px}
 .world-nav-row{gap:8px;grid-template-columns:1fr auto 1fr}
 .world-nav-btn,.world-home-btn{padding:10px 12px;font-size:.9rem;min-width:0;border-radius:12px}
 .world-map-heading{display:block;padding:0 4px 16px}
 .world-map-heading p{font-size:.95rem}
 .journey-map{aspect-ratio:auto;min-height:580px;border-radius:22px}
 .journey-map:has(.map-station:nth-child(5)){min-height:calc(130px + var(--station-rows,5)*150px)}
 .journey-map-art{object-position:60% center;opacity:.93}
 .journey-map-stations{position:relative;min-height:580px;display:grid;grid-template-columns:1fr 1fr;gap:26px 12px;align-content:start;padding:150px 12px 70px}
 .map-station{position:relative;left:auto;top:auto;transform:none;width:auto;grid-row:var(--mobile-row);grid-column:var(--mobile-col);align-self:start}
 .map-station:nth-child(even){margin-top:45px}
 .station-marker{width:48px;height:48px;font-size:1.15rem}
 .station-label{padding:9px 7px}
 .station-label strong{font-size:.95rem}
 .station-label small{font-size:.875rem}
 .journey-map-empty{inset:36% 6% auto;padding:18px}
}
@media(prefers-reduced-motion:reduce){.map-station{transition:none}.map-station:not(:disabled):hover{translate:none}}

/* 280: image-only world, center-first Arabic circular route order. */
.world-screen-inner{max-width:none;padding:0}
.journey-map{border:0;border-radius:0;margin:0;min-height:760px;aspect-ratio:3/2}
.world-nav-row{position:absolute;z-index:5;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:12px;margin:0}
.world-nav-row button{width:52px;height:52px;min-width:52px;padding:0;border-radius:50%;font-size:30px;box-shadow:0 4px 14px #0005}
.world-map-heading{position:absolute;z-index:3;left:50%;top:32%;transform:translate(-50%,-50%);margin:0;pointer-events:none}
.world-map-heading h2{margin:0;padding:10px 28px;border-radius:24px;background:#fff3cced;color:#164b37;font-size:clamp(24px,3vw,46px);white-space:nowrap;text-shadow:none;box-shadow:0 4px 16px #0004}
.map-station{width:clamp(125px,15vw,205px)}
.map-station.locked{opacity:1;filter:none}
.map-station.locked .station-marker{background:#514c3b}
.station-marker{width:42px;height:42px;font-size:23px}
.station-label{padding:7px 10px}
@media(max-width:700px){
 .world-screen-inner{padding:0}
 .journey-map,.journey-map:has(.map-station:nth-child(5)){min-height:820px;aspect-ratio:auto}
 .journey-map-stations{position:absolute;inset:0;display:block;padding:0;min-height:0}
 .map-station,.map-station:nth-child(even){position:absolute;left:var(--map-x);top:var(--map-y);transform:translate(-50%,-50%);margin:0;width:27%;max-width:140px}
 .station-marker{width:34px;height:34px;font-size:19px}
 .station-label strong{font-size:12px;line-height:1.4}
 .station-label small{font-size:10px}
 .world-map-heading{top:32%}
 .world-map-heading h2{font-size:25px;padding:8px 18px}
 .world-nav-row{top:12px}
}

/* 281: sculpted route cards around the image title. */
.world-map-heading{display:none}
.journey-map{height:100svh;min-height:660px;aspect-ratio:auto}
.journey-map-art{object-fit:fill}
.map-station{width:clamp(125px,14vw,205px);gap:0;transform:translate(-50%,-50%);perspective:700px;filter:drop-shadow(0 16px 12px #071a0d70)}
.station-marker{position:relative;z-index:2;margin-bottom:-10px;border:3px solid #fff4bd;background:linear-gradient(145deg,#2c9267,#0b4832);box-shadow:inset 2px 3px 3px #ffffff65,0 5px 0 #073b29,0 8px 10px #0005;font-weight:900}
.station-label{position:relative;border:2px solid #ffe9a2;border-bottom:7px solid #a17a35;border-radius:17px;padding:19px 10px 10px;background:linear-gradient(145deg,#fff9dc,#f2dca3);box-shadow:inset 2px 2px 2px #fff,5px 7px 0 #765929,9px 13px 14px #0004;transform:rotateX(7deg);transition:transform .2s,box-shadow .2s;min-height:82px;display:flex;flex-direction:column;justify-content:center}
.station-label strong{line-height:1.4;font-size:clamp(12px,1.15vw,19px)}
.station-label small{margin-top:5px}
.map-station:not(:disabled):hover{transform:translate(-50%,-50%)}
.map-station:not(:disabled):hover .station-label,.map-station:focus-visible .station-label{transform:translateY(-5px) rotateX(0);box-shadow:inset 2px 2px 2px #fff,5px 11px 0 #765929,10px 20px 18px #0005}
.map-station.locked .station-marker{background:linear-gradient(145deg,#847449,#4a4029)}
.world-nav-row{left:16px;top:16px;transform:none;direction:rtl}
@media(max-width:700px){
 .journey-map,.journey-map:has(.map-station:nth-child(5)){height:900px;min-height:900px}
 .journey-map-art{object-fit:fill;object-position:center}
 .map-station,.map-station:nth-child(even){width:28%;max-width:135px}
 .station-label{padding:17px 6px 7px;min-height:84px;border-radius:12px;border-bottom-width:5px;box-shadow:inset 1px 1px 2px #fff,3px 5px 0 #765929,5px 10px 12px #0005}
 .station-label strong{font-size:12px}
 .world-nav-row{left:8px;top:8px;gap:6px}
 .world-nav-row button{width:40px;height:40px;min-width:40px;font-size:25px}
}
@media(prefers-reduced-motion:reduce){.station-label{transition:none}}

/* 285: independent map card typography, with responsive size ceiling. */
.station-label{font-family:var(--card-font,Cairo),sans-serif}
.station-label strong{font-size:var(--card-size,18px);line-height:1.45}
.station-label small{font-size:calc(var(--card-size,18px)*.72)}
@media(max-width:700px){.station-label strong{font-size:min(var(--card-size,18px),16px)}.station-label small{font-size:min(calc(var(--card-size,18px)*.72),12px)}}

/* 295: hotspots preserve the complete identity illustration and RTL station order. */
#identityScreen[hidden]{display:none}
#identityScreen{background:#153c2b;padding:0;overflow:auto}
.identity-map{position:relative;width:100%;max-width:1536px;margin:auto;aspect-ratio:3/2}
.identity-map>img{display:block;width:100%;height:100%;object-fit:contain}
.identity-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:14%;height:21%;min-width:44px;min-height:44px;border:0;border-radius:42%;background:transparent;cursor:pointer;transition:box-shadow .15s,background .15s}
.identity-hotspot:hover{background:#fff2;box-shadow:0 0 0 4px #ffe49c,0 0 24px #ffe49c80}
.identity-hotspot:focus-visible{outline:4px solid #fff;outline-offset:3px;box-shadow:0 0 0 8px #164d36}
.identity-nav{position:absolute;z-index:3;top:12px;left:12px;display:flex;gap:8px;direction:rtl}
.identity-nav button{width:48px;height:48px;border-radius:50%;border:2px solid #ffe9a2;background:#184b39e8;color:#fff;font-size:27px;cursor:pointer}
.identity-nav button:disabled{opacity:.6;cursor:default}
#identityMobileList{display:none}
@media(max-width:700px){
 .identity-nav{position:relative;top:auto;left:auto;padding:10px;background:#153c2b;justify-content:center}
 .identity-map{aspect-ratio:auto}
 .identity-map>img{height:auto}
 #identityHotspots{position:absolute;top:0;left:0;right:0;aspect-ratio:3/2;pointer-events:none}
 .identity-hotspot{pointer-events:auto}
 #identityMobileList{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px;direction:rtl}
 #identityMobileList button{min-height:52px;border:2px solid #e4ba63;border-radius:14px;background:#fff3cd;color:#153c2b;font-family:Cairo,sans-serif;font-weight:bold;padding:10px;cursor:pointer}
}
@media(prefers-reduced-motion:reduce){.identity-hotspot{transition:none}}
.method-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:16%;height:23%;border-radius:50%;display:flex;align-items:flex-end;justify-content:center;text-decoration:none;transition:box-shadow .18s,background .18s}
.method-hotspot span{background:#123f2bf0;color:#fff;border:2px solid #e5b945;border-radius:12px;padding:5px 10px;max-width:100%;font:700 clamp(14px,1.6vw,23px)/1.5 Cairo,sans-serif;text-align:center;box-shadow:0 4px 8px #0004}
.method-hotspot:hover{background:#ffffff12;box-shadow:0 0 0 4px #ffe58e}
.method-hotspot:focus-visible{outline:4px solid white;box-shadow:0 0 0 8px #164d36}
#methodMobileList{display:none}
.method-intro{max-width:1000px;margin:24px auto;padding:24px;background:#fff;border-radius:18px;color:#164d36;line-height:2;direction:rtl;font-size:18px}
.method-intro h1{font-size:26px}
@media(max-width:700px){.method-hotspot span{font-size:clamp(9px,2.2vw,14px);padding:2px 4px;border-width:1px}.method-hotspot{min-height:44px;min-width:44px}#methodMobileList{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px;direction:rtl}#methodMobileList a{display:flex;align-items:center;justify-content:center;min-height:56px;border:2px solid #e4ba63;border-radius:14px;background:#fff3cd;color:#153c2b;font:700 16px/1.7 Cairo,sans-serif;padding:10px;text-align:center;text-decoration:none}.method-intro{margin:16px}}
@media(prefers-reduced-motion:reduce){.method-hotspot{transition:none}}


.life-hotspot{width:15%;height:22%}
#lifeMobileList,#leadMobileList{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:20px;direction:rtl}
#lifeMobileList a,#leadMobileList a{display:flex;align-items:center;justify-content:center;min-height:60px;border:2px solid #d8ae4c;border-radius:14px;background:#fffaf0;color:#153c2b;font:700 16px/1.7 Cairo,sans-serif;padding:10px;text-align:center;text-decoration:none}
#lifeMobileList a:hover,#leadMobileList a:hover,#lifeMobileList a:focus-visible,#leadMobileList a:focus-visible{background:#ffedb2;outline:3px solid #17452e}
@media(max-width:700px){#lifeMobileList,#leadMobileList{grid-template-columns:1fr 1fr;padding:16px}.life-hotspot span{font-size:clamp(9px,2.2vw,14px)}}

.lead-hotspot{width:15%;height:22%}

.service-hotspot,.badges-hotspot{width:14%;height:20%}
#serviceMobileList,#badgesMobileList{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:20px;direction:rtl}
#serviceMobileList a,#badgesMobileList a{display:flex;align-items:center;justify-content:center;min-height:60px;border:2px solid #d8ae4c;border-radius:14px;background:#fffaf0;color:#153c2b;font:700 16px/1.7 Cairo,sans-serif;padding:10px;text-align:center;text-decoration:none}
#serviceMobileList a:hover,#badgesMobileList a:hover,#serviceMobileList a:focus-visible,#badgesMobileList a:focus-visible{background:#ffedb2;outline:3px solid #17452e}
@media(max-width:700px){#serviceMobileList,#badgesMobileList{grid-template-columns:1fr 1fr;padding:16px}.service-hotspot span,.badges-hotspot span{font-size:clamp(9px,2.2vw,14px)}}

.curriculum-hotspot{width:14%;height:20%}
#curriculumMobileList{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:20px;direction:rtl}
#curriculumMobileList a{display:flex;align-items:center;justify-content:center;min-height:60px;border:2px solid #d8ae4c;border-radius:14px;background:#fffaf0;color:#153c2b;font:700 16px/1.7 Cairo,sans-serif;padding:10px;text-align:center;text-decoration:none}
#curriculumMobileList a:hover,#curriculumMobileList a:focus-visible{background:#ffedb2;outline:3px solid #17452e}
@media(max-width:700px){#curriculumMobileList{grid-template-columns:1fr 1fr;padding:16px}.curriculum-hotspot span{font-size:clamp(9px,2.2vw,14px)}}

/* Real statistics cover the baked-in artwork numbers at every viewport size. */
.live-panel{display:flex!important;background:#123e2a;bottom:1.15%;height:7.4%;padding:0 6px;gap:4px;justify-content:center;box-shadow:none;overflow:hidden;border-radius:999px}
.visitors-panel{left:17.1%;width:20.4%}.online-panel{left:40%;width:22.5%}
.live-panel span{font-size:clamp(8px,1.55vw,24px)}.live-panel div{gap:4px;align-items:center;white-space:nowrap}
.live-panel b{font-size:clamp(8px,1.3vw,20px)}.live-panel small{display:inline;font-size:clamp(7px,.9vw,14px)}
@media(max-width:650px){.live-panel{padding:0 2px;gap:2px}.live-panel div{gap:2px}.live-panel span{display:none}}
