/* Dirah 1.0.1 — village and atlas presentation, isolated from the parent edition. */
.village-canvas{padding:0!important;overflow:hidden;background:#dcccaa;border:1px solid #9a8055;border-radius:20px;box-shadow:0 16px 44px #0002}
.scene-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;background:var(--card);border-bottom:1px solid var(--line)}
.scene-heading h3{margin:0;font-size:1.15rem}.scene-heading .eyebrow{font-size:.65rem;letter-spacing:.04em;margin-bottom:4px}
.village-stage{position:relative;isolation:isolate;aspect-ratio:1;max-width:900px;margin:auto;width:100%;background:#dcccaa;container-type:inline-size}
.village-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.village-lot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12%;aspect-ratio:1;border:0;padding:0;background:none;cursor:pointer;display:grid;place-items:center;z-index:var(--depth);color:#32291c;font:inherit;transition:filter .15s,transform .15s;-webkit-tap-highlight-color:transparent}
.village-lot.main-lot{width:15%}.village-lot .dirah-building{width:115%;height:115%;max-width:none;object-fit:contain;pointer-events:none;filter:drop-shadow(1px 3px 2px #49361535)}
.village-lot:hover,.village-lot:focus-visible{z-index:100;transform:translate(-50%,-53%) scale(1.08);filter:drop-shadow(0 0 4px #ffedb3)}
.village-lot:focus-visible{outline:2px solid #176d70;border-radius:12px;outline-offset:4px}
.lot-level{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);min-width:18px;padding:0 4px;line-height:1.4;font-size:clamp(9px,1.5cqw,12px);font-weight:800;border-radius:6px;background:#faf0d7;border:1px solid #9d8053;color:#433421;box-shadow:0 1px 3px #39280e30}
.village-lot.ready .lot-level{border-color:#32775e;background:#edf1d7}.village-lot.underway .lot-level{background:#ebc470}
.lot-name{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);padding:4px 9px;border-radius:6px;white-space:nowrap;font-size:clamp(9px,1.5cqw,12px);background:#183c3aef;color:#fff5da;opacity:0;pointer-events:none;box-shadow:0 2px 6px #0002;transition:opacity .15s}
.village-lot:hover .lot-name,.village-lot:focus-visible .lot-name,.show-names .lot-name{opacity:1}
.plot-outline{width:72%;height:50%;border:1px dashed #8c754a;transform:rotate(-10deg) skewX(12deg);border-radius:40%;background:#b2945420;display:grid;place-items:center;box-shadow:inset 0 0 12px #bba46a30}.plot-outline span{font-size:20px;color:#876e46;transform:skewX(-12deg) rotate(10deg)}
.lot-state{position:absolute;right:0;top:0;background:#1c6865;color:#fff4d8;border-radius:50%;font-size:13px;width:18px;height:18px;line-height:18px}
.village-wall-control{position:absolute;bottom:1.8%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;border:1px solid #baa477;background:#fff2d9e8;color:#433521;border-radius:20px;padding:5px 13px;font:inherit;font-size:clamp(10px,1.7cqw,14px);cursor:pointer;z-index:101;box-shadow:0 2px 8px #0002;white-space:nowrap}.village-wall-control svg{width:16px;height:16px}.village-wall-control b{border-inline-start:1px solid #bba47a;padding-inline-start:8px}
.scene-caption{display:flex;justify-content:space-between;gap:10px;padding:12px 20px;background:var(--card);color:var(--muted);font-size:.75rem}
.atlas-wrap{padding:10px;background:#c6b68b;border:1px solid #a28e64;border-radius:16px;box-shadow:inset 0 0 30px #8b77452a}
.map.atlas-map{gap:0;border:1px solid #9d8b5b;border-radius:9px;background:#d5c69b;box-shadow:0 5px 15px #4d402a20}
.atlas-map .tile{background-color:#dccda7;background-image:radial-gradient(ellipse at 25% 25%,#f6ebc22b,transparent 70%);border:0;box-shadow:inset -1px -1px #99855726}
.atlas-map .tile:nth-child(3n){background-color:#d7c69f}.atlas-map .tile:nth-child(7n){background-color:#dfcfab}
.atlas-map .tile.terrain-wood{background-color:#c4c49c}.atlas-map .tile.terrain-clay{background-color:#d5ba93}.atlas-map .tile.terrain-iron{background-color:#cac3a8}
.atlas-map .tile.oasis:has(>.dirah-tile){background:#c3c59c}.atlas-map .tile.v:has(>.dirah-tile){background:#d5c29b}
.atlas-map .tile>.dirah-tile{width:94%;height:94%;object-fit:contain;pointer-events:none;filter:saturate(.83) contrast(.97)}
.atlas-map .tile .tl{opacity:0;background:#fff2d9e8;font-size:9px;transition:opacity .12s;z-index:4}.atlas-map .tile:hover .tl,.atlas-map .tile.sel .tl{opacity:1}
.atlas-map .tile:hover{outline:0;box-shadow:inset 0 0 0 2px #fff3c8;z-index:2;filter:brightness(1.05)}
.atlas-map .tile.sel{outline:0;box-shadow:inset 0 0 0 2px #b67c21!important;z-index:3}
.atlas-map .tile.c9{box-shadow:inset 0 0 0 1px #b99b42}.atlas-map .tile.c15{box-shadow:inset 0 0 0 1px #c06b44}
.atlas-map .tile .cropn{font-size:10px;box-shadow:none;background:#fff3d8e6}
.atlas-wrap .maptools{gap:3px;grid-template-columns:repeat(3,30px);grid-template-rows:repeat(3,30px);align-self:start}.atlas-wrap .maptools button{background:#f3e7c8;color:#655032;border-color:#ad9461;border-radius:50%;font-size:14px}
@media(max-width:760px){.scene-heading{padding:13px 14px}.scene-heading h3{font-size:.95rem}.scene-caption{font-size:.65rem;padding:10px 12px}.scene-caption span:last-child{display:none}.village-canvas{border-radius:14px}.atlas-wrap{padding:5px}.village-lot{min-height:0;min-width:0}.lot-name{padding:3px 5px}.plot-outline span{font-size:15px}}
.village-lot.rally-lot{width:auto;aspect-ratio:auto;z-index:99;min-width:105px}
.rally-entry{display:flex;align-items:center;gap:5px;background:#254e46ed;border:1px solid #e5cf9b;color:#fff2d3;border-radius:18px;padding:5px 10px;font-size:clamp(9px,1.5cqw,12px);white-space:nowrap;box-shadow:0 2px 5px #0002}
.rally-entry svg{width:14px;height:14px}.rally-lot .lot-level{display:none}.rally-lot .lot-name{display:none}
@media(max-width:900px){.atlas-wrap .maptools{display:flex;justify-content:center;width:100%;gap:8px;direction:ltr}.atlas-wrap .maptools>span{display:none}.atlas-wrap .maptools button{width:30px;height:30px}.atlas-wrap{gap:9px}}

/* Keep the gate approach clear and the rally sprite inside the courtyard. */
.village-canvas{background:var(--bg)}
.village-lot.rally-lot{width:11%;aspect-ratio:1;min-width:0;z-index:68}
.rally-lot .lot-level{display:block}
.rally-lot .lot-name{display:block}
.village-wall-control{bottom:13%;padding:4px 10px}

/* على الشاشات العريضة: ما جاور المشهد من يمين ويسار نسخةٌ مغبَّشة منه، فيبدو ممتدّاً لا مؤطَّراً */
.village-stage::before{content:'';position:absolute;top:0;bottom:0;left:-60vw;right:-60vw;background:var(--scene) center/cover no-repeat;filter:blur(24px) brightness(.7) saturate(.9);z-index:-1;pointer-events:none}

/* تقارير المعارك: عمود العناوين (العدد، خسائرك، الناجون) وصفّ الناجين بالأخضر */
.units .rowlab{font-size:.72rem;font-weight:700;color:var(--muted);white-space:nowrap;padding-inline:6px;vertical-align:middle}
.units tr.alive td{color:var(--ok);font-weight:700}

/* ── مشهد القرية يملأ عرض الإطار (٦:٥) — بلا أشرطة جانبيّة ولا صورة تبدو مقصوصة ──
   الصورة والمباني على طبقة مربّعة بعرض الإطار (فلا تتغيّر مواضعها)، ويُخفى من أعلاها ٣٫٥٪ ومن أسفلها ١٣٪
   (صحراء خارج السور)، فيبقى السور كاملاً بأبراجه والبوّابة. */
.village-stage{aspect-ratio:6/5;max-width:none;overflow:hidden}
.village-stage::before{display:none}
.village-layer{position:absolute;left:0;right:0;top:-3.5cqw;aspect-ratio:1;isolation:isolate}
.village-wall-control{left:12px;bottom:12px;transform:none}

/* ── الخريطة: بعرض الصفحة، مربّعات واضحة بخطوط شبكة ورسمة أصغر في وسط كل مربّع (على منوال خريطة ترافيان) ── */
.wrap.map-wide{grid-template-columns:1fr;max-width:1640px}
.wrap.map-wide .side{display:none}
.map-frame{position:relative;margin:4px auto 0}
.map-frame .map.atlas-map{width:100%;max-width:none;gap:1px;background:#c7b68b;border:1px solid #a8956a;border-radius:10px}
.atlas-map .tile,.atlas-map .tile:nth-child(3n),.atlas-map .tile:nth-child(7n){background-color:#eadcb7;background-image:none;box-shadow:none}
.atlas-map .tile.terrain-wood{background-color:#e3ddb7}.atlas-map .tile.terrain-clay{background-color:#ecd9b9}.atlas-map .tile.terrain-iron{background-color:#e3ddcb}
.atlas-map .tile.oasis:has(>.dirah-tile){background:#dfe0bd}.atlas-map .tile.v:has(>.dirah-tile){background:#eadcb7}
.atlas-map .tile.vacant>.dirah-tile,.atlas-map .tile.c9>.dirah-tile,.atlas-map .tile.c15>.dirah-tile{width:70%;height:70%}
.atlas-map .tile.v>.dirah-tile,.atlas-map .tile.oasis>.dirah-tile,.atlas-map .tile.wsite>.dirah-tile{width:88%;height:88%}
.mapnav{position:absolute;z-index:6;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid #ad9461;background:#f6ebcfee;color:#5b4527;font-size:15px;line-height:1;cursor:pointer;box-shadow:0 2px 10px #0003;transition:transform .12s,background .12s}
.mapnav:hover{background:#fff6de}
.mapnav.n{top:8px;left:50%;transform:translateX(-50%)}.mapnav.s{bottom:8px;left:50%;transform:translateX(-50%)}
.mapnav.w{left:8px;top:50%;transform:translateY(-50%)}.mapnav.e{right:8px;top:50%;transform:translateY(-50%)}
.maphome{position:absolute;z-index:6;left:8px;bottom:8px;border:1px solid #176d70;background:#176d70;color:#fff6df;border-radius:20px;padding:7px 14px;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:0 2px 10px #0003}
.maphome:hover{background:#1d8589}
@media(max-width:600px){.mapnav{width:34px;height:34px;font-size:13px}.maphome{padding:5px 10px;font-size:.75rem}}

/* ── صخرة الشرف ── */
.honor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.honor-plaque{position:relative;border-radius:14px;padding:14px 14px 10px;border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));
  background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 14%,var(--card)),var(--card) 70%);box-shadow:0 6px 18px #0000000f}
.honor-plaque.mine{outline:2px solid var(--gold);outline-offset:2px}
.honor-title{font-size:1.15rem;font-weight:900;color:var(--gold)}
.honor-first{display:flex;align-items:center;gap:10px;margin:10px 0 8px;padding-bottom:8px;border-bottom:1px dashed var(--line);font-weight:800}
.honor-first .avatar{width:46px;height:46px}
.honor-rest{display:flex;align-items:center;gap:6px;font-size:.86rem;padding:3px 0}
.honor-rest-box{border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.prize-cat .t input{padding:6px 8px}

/* ── الأصدقاء ومشاركة الإحداثيّات ── */
.friendsbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding-inline:9px}
.friendsbtn svg{width:19px;height:19px}
.fbadge{position:absolute;top:-6px;inset-inline-end:-6px;min-width:17px;height:17px;border-radius:9px;font-size:10px;line-height:17px;text-align:center;padding:0 4px;color:#fff;font-weight:800}
.fbadge.red{background:var(--red)}.fbadge.green{background:#2f9e5b}
.fdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);opacity:.5}
.fdot.on{background:#2f9e5b;opacity:1;box-shadow:0 0 0 3px #2f9e5b33}
.friend-row{align-items:center;gap:10px;flex-wrap:wrap}
.loc-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;font:inherit;font-size:.86rem;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--sea) 45%,var(--line));background:color-mix(in srgb,var(--sea) 10%,var(--card));
  color:var(--ink);border-radius:999px;padding:3px 11px;margin:2px 0;vertical-align:middle;text-align:start}
.loc-chip:hover{background:color-mix(in srgb,var(--sea) 20%,var(--card))}
.loc-chip b{font-weight:800;overflow-wrap:anywhere}.loc-chip .num{color:var(--sea2);font-weight:700}
.loc-chip.bare{padding:1px 8px;font-size:.8rem}
.share-modal{max-width:520px}.share-modal .shpane{margin-top:10px;max-height:46vh;overflow:auto}

/* ── الملفّ الشخصيّ 1.2: بطاقة، إحصاءات، روابط سريعة، منطقة الحذف ── */
.prof-hero .bld-head{margin-bottom:12px}
.pstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 12px}
.pstat{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:8px 10px;text-align:center;display:flex;flex-direction:column;gap:2px}
.pstat b{font-size:1.05rem;color:var(--ink)}.pstat span{font-size:.72rem;color:var(--muted)}
.plinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:6px}
.plinks a{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:color-mix(in srgb,var(--card) 70%,var(--bg2));font-size:.88rem;font-weight:600}
.plinks a:hover{border-color:var(--sea);color:var(--sea2)}
.card h4{font-size:.95rem}
.danger-zone{border-color:color-mix(in srgb,var(--red) 55%,var(--line))!important}
.danger-zone h3{color:var(--red)}
.danger-zone summary{list-style:none;cursor:pointer;display:inline-flex}.danger-zone summary::-webkit-details-marker{display:none}
.red-ghost{color:var(--red)!important;border-color:color-mix(in srgb,var(--red) 50%,var(--line))!important}
/* ── التسجيل: الموافقة على الشروط ── */
.terms-ok{display:flex;gap:8px;align-items:flex-start;margin:4px 0 12px;line-height:1.7;cursor:pointer}
.terms-ok input{margin-top:5px;accent-color:var(--sea);flex:none}
/* ── الصفحات القانونيّة ── */
.legal{display:grid;gap:12px;max-width:860px}.legal-sec{margin:0!important}.legal-sec p,.legal-sec li{line-height:1.9}.legal-sec ul,.legal-sec ol{padding-inline-start:20px;margin:6px 0}
/* ── أطلال اللاعبين المحذوفين على الخريطة ── */
.tile.v.ruin{background:#8b8a84;color:#fff;filter:grayscale(1) brightness(.92)}
.tile.v.ruin:has(> .dirah-tile){box-shadow:inset 0 0 0 3px #8b8a84}
.pushopts{display:grid;gap:6px;margin-top:8px}.pushopts label{gap:8px;align-items:center}.pushopts input{accent-color:var(--sea);width:18px;height:18px}
/* ── سلالم المتجر ── */
.ladder .steps{display:grid;gap:6px;margin-top:10px}
.ladder .step{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 80%,var(--bg2))}
.ladder .step .sn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--bg2);border:1px solid var(--line)}
.ladder .step.next{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 25%,transparent)}
.ladder .step.next .sn{background:var(--gold);color:#2b2118;border-color:var(--gold)}
.ladder .step.done{opacity:.6}.ladder .step.locked{opacity:.75}
.ladder .step .sb b{font-size:.92rem}

/* المتجر والذهب بلا العمود الجانبيّ */
body.noside .side{display:none}body.noside .wrap{grid-template-columns:minmax(0,1fr)}
/* الجوّال: الساعة لا تتّسع في الشريط العلويّ فكانت تخرج قصّاً عن الشاشة */
@media(max-width:700px){.top-row .clock{display:none}}
/* آيفون يكبّر الصفحة عند لمس حقل خطّه أقل من 16px ويبقى مكبَّراً — الحقول 16px على اللمس */
@media(pointer:coarse){input,select,textarea,.input{font-size:16px}}
