/* ════════════════════════════════════════════════════════════════════
   وضع الشارع ثلاثي الأبعاد — الواجهة وأدوات التحكم (على طريقة GTA) — الإصدار الثالث
   كل المحددات تحت .s3d (وشاشة التحميل .s3dload). التخطيط الفيزيائي ltr لا ينعكس
   مع العربية: البنزين في الطرف الأيمن دائماً والفرامل بجانبها وفوق البنزين «جلنط»،
   والقير العمودي P/R/N/D فوق الفرامل، والتوجيه (منزلق/مقود/إمالة) والعصا يساراً.
   الأصناف: s3d-fui مشياً فقط، s3d-cui قيادةً فقط، s3d-tui للمس فقط، s3d-kui للحاسوب فقط،
   s3d-sui في الشارع فقط، s3d-iui داخل المبنى فقط (data-place="inside").
   ════════════════════════════════════════════════════════════════════ */
.s3d{position:absolute;inset:0;z-index:25;overflow:hidden;direction:ltr;outline:none;cursor:grab;
  --g:12px;--st:env(safe-area-inset-top,0px);--sr:env(safe-area-inset-right,0px);--sb:env(safe-area-inset-bottom,0px);--sl:env(safe-area-inset-left,0px);
  --pill:rgba(12,9,24,.62);--pill-h:rgba(12,9,24,.8);--edge:rgba(255,255,255,.2);--acc:#7c3aed;--acc-2:#c026d3;--hot:#f59e0b;
  --gearD:#16a34a;--gearR:#dc2626;--gearN:#d97706;--gearP:#2563eb;
  --radar:150px;--speedo:172px;--cbh:48px;--hn:48px;
  --gw:64px;--gc:52px;--gg:5px;--gpad:4px;                  /* القير: عرض اللوحة، ارتفاع الزر، الفجوة، الحشوة */
  --bw:88px;--bh:76px;--pw:62px;--ph:140px;--pg:8px;--hbh:64px;   /* الفرامل (عرض×ارتفاع)، البنزين، الفجوة، الجلنط */
  --stw:240px;--sth:72px;--rw:150px;--tih:64px;--joy:124px;--fb:64px;   /* المنزلق، المقود الدائري، مؤشر الإمالة، العصا، زرّا الركض والقفز */
  --stz:var(--sth);                                           /* ارتفاع أداة التوجيه الحالية (يتموضع فوقها البوق والتفاعل) */
  --toph:44px;--topw:0px;                                     /* يقيسها hud.js (الشريط العلوي يلتفّ على الضيّق) */
  --rcw:calc(var(--bw) + var(--pg) + var(--pw));
  --gh:calc(4*var(--gc) + 3*var(--gg) + 2*var(--gpad));
  background:#0b0d14;color:#fff;font-family:'Tajawal',system-ui,'Segoe UI',Tahoma,sans-serif;
  touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}
.s3d[data-mode="hidden"]{display:none}
.s3d.s3d-drag{cursor:grabbing}
.s3d.s3d-locked{cursor:none}
.s3d *,.s3d *::before,.s3d *::after{box-sizing:border-box;-webkit-touch-callout:none}
.s3d [hidden]{display:none!important}
.s3d>.s3d-cv{position:absolute;left:0;top:0;width:100%;height:100%;display:block;outline:none;touch-action:none}
.s3d-ui{position:absolute;inset:0;pointer-events:none}
.s3d button{font:inherit;color:inherit;margin:0;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}
.s3d :focus-visible{outline:3px solid var(--hot);outline-offset:2px}
.s3d [dir="rtl"]{unicode-bidi:isolate}
.s3d svg{display:block}
.s3d[data-mode="foot"] .s3d-cui,.s3d[data-mode="car"] .s3d-fui,.s3d:not(.s3d-touch) .s3d-tui,.s3d.s3d-touch .s3d-kui{display:none}
.s3d[data-place="inside"] .s3d-sui,.s3d:not([data-place="inside"]) .s3d-iui,.s3d[data-mode="car"] .s3d-iui{display:none}
.s3d-top,.s3d-help,.s3d-act,.s3d-sprint,.s3d-jump,.s3d-horn,.s3d-steer,.s3d-rwheel,.s3d-tilt,.s3d-gears,.s3d-pz,.s3d-camb,.s3d-leave,.s3d-pause,.s3d-perf{pointer-events:auto}
.s3d kbd{display:inline-block;min-width:22px;padding:1px 6px;border-radius:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-bottom-width:2px;font:inherit;font-weight:800;font-size:11.5px;line-height:1.5;text-align:center;color:#fff}

/* ── الشريط العلوي (يلتفّ على الشاشات الضيقة؛ hud.js يقيس ارتفاعه في --toph) ── */
.s3d-top{position:absolute;top:calc(var(--st) + var(--g));right:calc(var(--sr) + var(--g));display:flex;flex-direction:row-reverse;flex-wrap:wrap;justify-content:flex-start;gap:6px;
  max-width:calc(100% - var(--sl) - var(--sr) - 2*var(--g))}
.s3d-touch .s3d-top{max-width:calc(100% - var(--sl) - var(--sr) - 3*var(--g) - var(--radar))}
.s3d-btn{min-width:44px;height:44px;padding:0 11px;border:1px solid var(--edge);border-radius:14px;background:var(--pill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 6px 18px rgba(0,0,0,.35);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:900;font-size:14px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:background .15s,transform .12s}
.s3d-btn i{font-style:normal;font-size:18px;line-height:1}
.s3d-btn svg{width:20px;height:20px;flex:0 0 auto}
.s3d-btn:active,.s3d-btn.down{transform:scale(.93)}
.s3d-exit{padding:0 14px 0 11px;background:linear-gradient(135deg,var(--acc),var(--acc-2));border-color:rgba(255,255,255,.28);box-shadow:0 8px 22px rgba(124,58,237,.45)}
.s3d-snd[aria-pressed="false"]{background:rgba(60,12,24,.66)}
.s3d-night[aria-pressed="true"]{background:rgba(30,41,90,.72)}
.s3d-qi rect{fill:rgba(255,255,255,.26);transition:fill .15s}
.s3d-q[data-q="low"] .b1,.s3d-q[data-q="medium"] .b1,.s3d-q[data-q="medium"] .b2,.s3d-q[data-q="high"] .s3d-qi rect{fill:#fff}
.s3d-qt{display:none;font-size:13px}
.s3d-qt b{font-weight:900}
@media (min-width:1000px){.s3d:not(.s3d-touch) .s3d-qt{display:inline}}
@media (min-width:900px) and (min-height:600px){.s3d.s3d-touch .s3d-qt{display:inline}.s3d.s3d-touch .s3d-qp{display:none}}
.s3d .s3d-btn:focus-visible{border-radius:14px}
@media (hover:hover){.s3d-btn:hover{background:var(--pill-h)}.s3d-exit:hover{background:linear-gradient(135deg,#6d28d9,#a21caf)}}
@media (max-width:420px),(orientation:landscape) and (max-height:430px){.s3d-exit span{display:none}.s3d-exit{padding:0 11px}}

/* ── الرادار ── */
.s3d-radar{position:absolute;left:calc(var(--sl) + var(--g));bottom:calc(var(--sb) + var(--g));width:var(--radar);height:var(--radar);border-radius:50%;overflow:hidden;background:#3a352a;
  box-shadow:0 0 0 3px rgba(10,8,20,.8),0 0 0 4.5px rgba(255,255,255,.38),0 10px 26px rgba(0,0,0,.45)}
.s3d-radar canvas{display:block;width:100%;height:100%}
.s3d-touch .s3d-radar{top:calc(var(--st) + var(--g));bottom:auto}
.s3d.s3d-noradar .s3d-radar{display:none}

/* ── بطاقة التحكم (لوحة الأزرار والفأرة فقط) ── */
.s3d-help{position:absolute;top:calc(var(--st) + var(--g));left:calc(var(--sl) + var(--g));width:max-content;
  max-width:min(330px,calc(100% - var(--topw) - 3*var(--g) - var(--sl) - var(--sr)),calc(50% - var(--g) - var(--sl) - 8px));   /* لا تغطي منتصف المشهد */
  max-height:calc(100% - var(--st) - var(--sb) - 3*var(--g) - var(--radar) - 72px);overflow:auto;overscroll-behavior:contain;
  border-radius:16px;background:var(--pill);border:1px solid var(--edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.35);font-size:12.5px;line-height:1.45;cursor:default}
.s3d-helplow .s3d-help{top:calc(var(--st) + var(--g) + var(--toph) + 10px);max-width:min(330px,calc(50% - var(--g) - var(--sl) - 8px));
  max-height:calc(100% - var(--st) - var(--sb) - 4*var(--g) - var(--toph) - var(--radar) - 72px)}
/* الكاميرا الداخلية على الحاسوب: زر النزول يصعد فوق زر الكاميرا يساراً، فتقصر البطاقة لتبقى فوقه */
.s3d:not(.s3d-touch)[data-cam="cockpit"][data-mode="car"] .s3d-help{max-height:calc(100% - var(--st) - var(--sb) - 3*var(--g) - var(--radar) - var(--cbh) - 100px)}
.s3d-helplow:not(.s3d-touch)[data-cam="cockpit"][data-mode="car"] .s3d-help{max-height:calc(100% - var(--st) - var(--sb) - 4*var(--g) - var(--toph) - var(--radar) - var(--cbh) - 100px)}
.s3d-help summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;font-weight:900;font-size:13px;cursor:pointer;border-radius:16px}
.s3d-help summary::-webkit-details-marker{display:none}
.s3d-help summary::after{content:"";width:7px;height:7px;margin-inline-start:auto;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);opacity:.75;transition:transform .2s}
.s3d-help[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.s3d-keys{display:grid;gap:5px;padding:0 12px 11px}
.s3d-keys>div{display:flex;align-items:center;gap:10px}
.s3d-kk{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px;flex:0 0 auto;min-width:92px;max-width:150px}
.s3d-kk i{font-style:normal;opacity:.6;padding:0 1px}
.s3d-kk .s3d-br{flex-basis:100%;height:0}
.s3d-ti{flex:0 0 auto;width:26px;text-align:center;font-size:17px;line-height:1}
.s3d-keys bdi{font-weight:900;letter-spacing:.02em;white-space:nowrap}

/* ── إشعار قصير (فوق شاشة الإيقاف أيضاً) ── */
.s3d-toast{position:absolute;z-index:5;left:50%;top:calc(var(--st) + var(--g) + var(--toph) + 10px);transform:translate(-50%,-10px);opacity:0;width:max-content;max-width:min(520px,calc(100% - 2*var(--g)));padding:10px 18px;border-radius:16px;
  background:rgba(12,9,24,.86);border:1px solid var(--edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.4);
  font-weight:800;font-size:14.5px;line-height:1.5;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.4);pointer-events:none;transition:opacity .25s,transform .25s}
.s3d-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:900px){   /* نافذة حاسوب ضيقة: الإشعار يميناً تحت الشريط فلا يغطي بطاقة التحكم */
  .s3d:not(.s3d-touch) .s3d-toast{left:auto;right:calc(var(--sr) + var(--g));transform:translateY(-10px);max-width:calc(100% - min(330px,100% - 330px) - 3*var(--g))}
  .s3d:not(.s3d-touch) .s3d-toast.on{transform:none}
}
.s3d-touch .s3d-toast{top:calc(var(--st) + var(--g) + max(var(--toph),var(--radar)) + 10px)}
.s3d-touch[data-mode="car"] .s3d-toast{top:calc(var(--st) + var(--g) + max(var(--toph) + 10px + var(--speedo),var(--radar) + 10px + var(--cbh)) + 10px)}
.s3d-touch[data-place="inside"][data-mode="foot"] .s3d-toast{top:calc(var(--st) + var(--g) + max(var(--toph),var(--radar)) + 68px)}
/* أثناء الإيقاف: الإشعار أسفل الشاشة فلا يغطي الحوار (يتقدّم على كل تموضعات الأوضاع) */
.s3d.s3d-paused .s3d-toast{top:auto!important;right:auto!important;left:50%!important;bottom:calc(var(--sb) + var(--g) + 6px);max-width:min(520px,calc(100% - 2*var(--g)))!important;transform:translate(-50%,10px)!important}
.s3d.s3d-paused .s3d-toast.on{transform:translate(-50%,0)!important}
.s3d-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── زر التفاعل السياقي ── */
.s3d-act{position:absolute;left:50%;bottom:calc(var(--sb) + var(--g) + 28px);transform:translateX(-50%);display:inline-flex;align-items:center;gap:9px;min-height:52px;max-width:min(440px,calc(100% - 2*var(--g)));
  padding:6px 10px 6px 16px;border:2px solid rgba(255,255,255,.8);border-radius:999px;background:linear-gradient(135deg,rgba(124,58,237,.94),rgba(192,38,211,.94));
  box-shadow:0 10px 28px rgba(124,58,237,.5);font-weight:900;font-size:15px;text-shadow:0 1px 2px rgba(0,0,0,.3);animation:s3dPulse 1.8s ease-in-out infinite;transition:transform .12s}
.s3d-act i{font-style:normal;font-size:22px;line-height:1;flex:0 0 auto}
.s3d-al{display:flex;flex-direction:column;align-items:flex-end;min-width:0;line-height:1.25}
.s3d-al b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.s3d-al small{font-size:11.5px;font-weight:700;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.s3d-act kbd{order:-1;min-width:28px;padding:3px 7px;font-size:13px;font-weight:900;color:#3b2a66;background:#fff;border-color:#fff;border-bottom-color:#c4b5fd}
.s3d-act.dim{filter:saturate(.45) brightness(.85);animation:none}
.s3d-act:active,.s3d-act.down{transform:translateX(-50%) scale(.95)}
@keyframes s3dPulse{50%{box-shadow:0 0 0 6px rgba(192,38,211,.22),0 10px 28px rgba(124,58,237,.5)}}
@media (max-width:760px){.s3d:not(.s3d-touch)[data-mode="foot"] .s3d-act{bottom:calc(var(--sb) + var(--g) + var(--radar) + 16px)}}
.s3d:not(.s3d-touch)[data-mode="car"] .s3d-act{bottom:calc(var(--sb) + var(--g) + var(--speedo) + 12px)}

/* ── المشي باللمس: عصا عائمة + زرّا الركض والقفز، والتفاعل فوقهما ── */
.s3d-joy{position:absolute;inset:0;pointer-events:none}
.s3d-jbase{position:absolute;left:calc(var(--sl) + var(--g) + 10px);bottom:calc(var(--sb) + var(--g) + 10px);width:var(--joy);height:var(--joy);border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle,rgba(255,255,255,.06) 0 36%,rgba(255,255,255,.16) 62%,rgba(255,255,255,.07) 100%);border:2px solid rgba(255,255,255,.55);box-shadow:0 8px 24px rgba(0,0,0,.3);opacity:.45;transition:opacity .2s}
.s3d-jknob{width:44%;height:44%;border-radius:50%;background:linear-gradient(135deg,var(--acc),var(--acc-2));border:2px solid rgba(255,255,255,.75);box-shadow:0 6px 16px rgba(124,58,237,.55),inset 0 2px 0 rgba(255,255,255,.35);will-change:transform}
.s3d-joy.on .s3d-jbase{left:0;top:0;bottom:auto;opacity:1;transition:none;will-change:transform}
.s3d-sprint,.s3d-jump{position:absolute;bottom:calc(var(--sb) + var(--g));width:var(--fb);height:var(--fb);border-radius:50%;border:2px solid var(--edge);background:var(--pill);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.35);display:grid;place-items:center;line-height:1;transition:transform .1s,background .15s}
.s3d-sprint{right:calc(var(--sr) + var(--g));font-size:calc(var(--fb)*.44)}
.s3d-jump{right:calc(var(--sr) + var(--g) + var(--fb) + 10px);color:#fff}
.s3d-jump svg{width:52%;height:52%}
.s3d-sprint[aria-pressed="true"]{background:linear-gradient(135deg,#f59e0b,#ec4899);border-color:rgba(255,255,255,.85);box-shadow:0 8px 24px rgba(236,72,153,.45)}
.s3d-sprint.down,.s3d-jump.down{transform:scale(.92)}
.s3d-jump.down{background:rgba(124,58,237,.86);border-color:rgba(255,255,255,.85)}
.s3d-touch[data-mode="foot"] .s3d-act{left:auto;right:calc(var(--sr) + var(--g));bottom:calc(var(--sb) + var(--g) + var(--fb) + 12px);transform:none;max-width:min(340px,calc(100% - 2*var(--g) - var(--joy) - 24px))}
.s3d-touch[data-mode="foot"] .s3d-act:active,.s3d-touch[data-mode="foot"] .s3d-act.down{transform:scale(.95)}

/* ── القيادة: الدوّاستان أسفل اليمين (بنزين طويلة في الطرف، فرامل أعرض بجانبها) ── */
.s3d-pz{position:absolute;right:calc(var(--sr) + var(--g));bottom:calc(var(--sb) + var(--g));height:var(--bh);display:flex;align-items:flex-end;gap:var(--pg)}   /* بارتفاع الفرامل: البنزين والجلنط يعلوان خارجه فلا يغطي الصندوق القير */
.s3d-pedal{position:relative;display:block;cursor:pointer;transition:transform .08s ease-out,filter .08s}
.s3d-pedal.down{transition:none}
.s3d-pedal svg{width:100%;height:100%;filter:drop-shadow(0 7px 10px rgba(0,0,0,.5))}
.s3d-pedal span{position:absolute;left:0;right:0;bottom:7px;text-align:center;font-size:11.5px;font-weight:900;color:rgba(255,255,255,.82);text-shadow:0 1px 2px #000;pointer-events:none}
.s3d-brake{width:var(--bw);height:var(--bh);transform-origin:50% 0}
.s3d-gas{width:var(--pw);height:var(--ph);transform-origin:50% 100%}
.s3d-brake.down{transform:perspective(320px) rotateX(-26deg) translateY(3px) scale(.96);filter:brightness(1.25) drop-shadow(0 0 12px rgba(239,68,68,.9))}
.s3d-gas.down{transform:perspective(360px) rotateX(24deg) scale(.96);filter:brightness(1.25) drop-shadow(0 0 12px rgba(34,197,94,.9))}

/* ── الجلنط (فرامل اليد للتفحيط) فوق البنزين: زر كبير للإبهام، وجزء من منطقة الدوّاسات فينزلق الإبهام بينهما ── */
.s3d-hb{position:absolute;right:0;bottom:calc(var(--ph) + var(--pg));width:var(--pw);height:var(--hbh);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;
  border:2px solid rgba(252,165,165,.6);background:linear-gradient(180deg,rgba(72,16,26,.8),rgba(28,8,14,.82));color:#fecaca;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 8px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .08s,background .08s,box-shadow .08s}
.s3d-hb svg{width:30px;height:30px;flex:0 0 auto}
.s3d-hb span{font-size:13.5px;font-weight:900;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.s3d-hb kbd{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:9.5px;padding:0 4px;line-height:1.4;background:rgba(12,9,24,.85)}
.s3d-hb.down,.s3d.s3d-hbon .s3d-hb{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;border-color:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.4),0 0 22px rgba(239,68,68,.8);transition:none}
.s3d-hb.down{transform:scale(.95)}

/* ── القير العمودي P/R/N/D فوق الفرامل، أزرار كبيرة منفصلة — المختار: لون + إطار أبيض + علامة ▸، والمعلّق: إطار كهرماني نابض ── */
.s3d-gears{position:absolute;right:calc(var(--sr) + var(--g) + var(--pw) + var(--pg) + (var(--bw) - var(--gw))/2);bottom:calc(var(--sb) + var(--g) + var(--bh) + var(--pg));
  width:var(--gw);display:flex;flex-direction:column;gap:var(--gg);padding:var(--gpad);border-radius:18px;direction:ltr;
  background:rgba(10,8,20,.5);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.s3d-gears button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:var(--gc);padding:0;border:2px solid rgba(255,255,255,.2);border-radius:13px;
  background:rgba(12,9,24,.72);color:rgba(255,255,255,.6);font-weight:900;font-size:calc(var(--gc)*.42);line-height:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:background .12s,color .12s,border-color .12s,box-shadow .12s,transform .08s}
.s3d-gears b{font-weight:900;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;letter-spacing:0}
.s3d-gm{position:absolute;left:5px;top:50%;margin-top:-6px;width:0;height:0;border-style:solid;border-width:6px 0 6px 8px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5));opacity:0}   /* علامة ▸ للمختار */
.s3d-gears kbd{position:absolute;right:3px;bottom:3px;min-width:14px;padding:0 3px;border-radius:4px;font-size:9.5px;line-height:1.35;opacity:.7}
.s3d-gears button[data-g="D"]{--gsel:var(--gearD)}.s3d-gears button[data-g="R"]{--gsel:var(--gearR)}.s3d-gears button[data-g="N"]{--gsel:var(--gearN)}.s3d-gears button[data-g="P"]{--gsel:var(--gearP)}
.s3d-gears button[aria-pressed="true"]{color:#fff;background:var(--gsel);border-color:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.45),0 0 16px var(--gsel),inset 0 1px 0 rgba(255,255,255,.35);text-shadow:0 1px 2px rgba(0,0,0,.45)}
.s3d-gears button[aria-pressed="true"] .s3d-gm{opacity:1}
.s3d-gears button[aria-pressed="true"] kbd{opacity:1;background:rgba(0,0,0,.25)}
.s3d-gears button[data-pending="true"]{color:#fff;border-color:var(--hot);border-style:dashed;animation:s3dPend .9s ease-in-out infinite}
.s3d-gears button.down{transform:scale(.93)}
.s3d-gears button.ask{animation:s3dAsk .32s ease-out}
.s3d .s3d-gears button:focus-visible{border-radius:13px}
@keyframes s3dAsk{40%{background-color:rgba(255,255,255,.3);color:#fff}}
@keyframes s3dPend{50%{background-color:color-mix(in srgb,var(--gsel) 55%,transparent);box-shadow:0 0 14px var(--hot)}}
@media (hover:hover){.s3d-gears button:not([aria-pressed="true"]):hover{background:rgba(40,32,70,.85);color:#fff}}

/* ── التوجيه باللمس يساراً: منزلق / مقود دائري / مؤشر الإمالة — والبوق فوقه ── */
.s3d[data-steer="wheel"]{--stz:var(--rw)}
.s3d[data-steer="tilt"]{--stz:var(--tih)}
.s3d[data-steer="wheel"] .s3d-steer,.s3d[data-steer="tilt"] .s3d-steer,.s3d:not([data-steer="wheel"]) .s3d-rwheel,.s3d:not([data-steer="tilt"]) .s3d-tilt{display:none}
.s3d-horn{position:absolute;left:calc(var(--sl) + var(--g));bottom:calc(var(--sb) + var(--g) + var(--stz) + 10px);width:var(--hn);height:var(--hn);border-radius:50%;display:grid;place-items:center;font-size:21px;line-height:1;
  border:2px solid var(--edge);background:var(--pill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .08s,background .08s}
.s3d-horn.down{background:linear-gradient(135deg,#f59e0b,#ea580c);transform:scale(.92);transition:none}
.s3d-steer,.s3d-tilt{position:absolute;left:calc(var(--sl) + var(--g));bottom:calc(var(--sb) + var(--g));width:min(var(--stw),calc(100% - var(--sl) - var(--sr) - 3*var(--g) - var(--rcw)))}
.s3d-steer{height:var(--sth);display:flex;align-items:center;justify-content:space-between;padding:0 12px;
  border-radius:calc(var(--sth)/2);border:2px solid var(--edge);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0)) ,var(--pill);color:rgba(255,255,255,.5);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.35),inset 0 2px 8px rgba(0,0,0,.35);cursor:ew-resize}
.s3d-sar svg{width:24px;height:24px}
.s3d-smid{position:absolute;left:50%;top:12px;bottom:12px;width:2px;margin-left:-1px;border-radius:1px;background:rgba(255,255,255,.22)}
.s3d-sknob{position:absolute;left:50%;top:50%;--k:calc(var(--sth) - 12px);width:var(--k);height:var(--k);margin:calc(var(--k)/-2) 0 0 calc(var(--k)/-2);border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--acc),var(--acc-2));border:2px solid rgba(255,255,255,.8);box-shadow:0 6px 16px rgba(124,58,237,.5),inset 0 2px 0 rgba(255,255,255,.3);transition:transform .18s ease-out;will-change:transform}
.s3d-sknob svg{width:66%;height:66%}
.s3d-steer.on{border-color:rgba(255,255,255,.6)}
.s3d-steer.on .s3d-sknob{transition:none}
.s3d-rwheel{position:absolute;left:calc(var(--sl) + var(--g));bottom:calc(var(--sb) + var(--g));width:var(--rw);height:var(--rw);border-radius:50%;cursor:grab;
  background:radial-gradient(circle,rgba(12,9,24,0) 0 56%,rgba(12,9,24,.42) 57% 100%);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.s3d-rwi{width:100%;height:100%;transition:transform .26s cubic-bezier(.2,.8,.3,1);will-change:transform;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}
.s3d-rwi svg{width:100%;height:100%}
.s3d-rwheel.on{cursor:grabbing}
.s3d-rwheel.on .s3d-rwi{transition:none}
.s3d-tilt{height:var(--tih);display:flex;align-items:center;gap:10px;padding:0 14px 0 12px;border-radius:calc(var(--tih)/2);border:2px solid var(--edge);background:var(--pill);cursor:pointer;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.s3d-tph{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;color:#c4b5fd}
.s3d-tph svg{width:32px;height:32px}
.s3d-tbar{position:relative;flex:1 1 auto;min-width:40px;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.22) 50%,rgba(255,255,255,.08))}
.s3d-tbar::after{content:"";position:absolute;left:50%;top:-5px;bottom:-5px;width:2px;margin-left:-1px;background:rgba(255,255,255,.4)}
.s3d-tbar i{position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:linear-gradient(135deg,var(--acc),var(--acc-2));border:2px solid #fff;box-shadow:0 3px 10px rgba(124,58,237,.6)}
.s3d-tilt small{flex:0 0 auto;font-size:11px;font-weight:800;opacity:.72;white-space:nowrap}
.s3d-tilt.down{transform:scale(.97)}
.s3d-touch[data-mode="car"] .s3d-act{left:calc(var(--sl) + var(--g) + var(--hn) + 8px);bottom:calc(var(--sb) + var(--g) + var(--stz) + 10px);transform:none;min-height:var(--hn);padding:4px 10px 4px 13px;font-size:14px;
  max-width:calc(100% - var(--sl) - var(--sr) - 4*var(--g) - var(--hn) - 8px - var(--rcw))}
.s3d-touch[data-mode="car"] .s3d-act:active,.s3d-touch[data-mode="car"] .s3d-act.down{transform:scale(.95)}
.s3d-touch .s3d-act .s3d-al b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.15;text-align:right}   /* الجوال: النص على سطرين بدل قصّه («انزل من السيارة» كاملة) */

/* ── زر الكاميرا «داخلي / خارجي» بجوار الرادار ── */
.s3d-camb{position:absolute;left:calc(var(--sl) + var(--g));bottom:calc(var(--sb) + var(--g) + var(--radar) + 10px);height:var(--cbh);display:inline-flex;align-items:center;gap:7px;padding:0 9px 0 10px;
  border-radius:16px;border:2px solid var(--edge);background:var(--pill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(0,0,0,.35);font-weight:900;font-size:13.5px;white-space:nowrap;transition:transform .1s,background .15s}
.s3d-touch .s3d-camb{top:calc(var(--st) + var(--g) + var(--radar) + 10px);bottom:auto}
.s3d-ci svg{width:22px;height:22px}
.s3d-camt{display:inline-flex;align-items:center;gap:3px}
.s3d-camt span{padding:3px 7px;border-radius:9px;opacity:.62;transition:background .15s,color .15s,opacity .15s}
.s3d-camt i{font-style:normal;opacity:.45}
.s3d-camb[data-view="chase"] [data-v="chase"],.s3d-camb[data-view="cockpit"] [data-v="cockpit"]{opacity:1;background:#fff;color:#2e1065;text-shadow:none}
.s3d-camb kbd{font-size:11px;padding:0 5px}
.s3d-camb:active,.s3d-camb.down{transform:scale(.95)}
@media (hover:hover){.s3d-camb:hover{background:var(--pill-h)}}

/* ── داخل المبنى: زر «اخرج من المبنى» (فوق الرادار على الحاسوب، وتحت الرادار/الشريط على اللمس) ── */
.s3d-leave{position:absolute;left:calc(var(--sl) + var(--g));bottom:calc(var(--sb) + var(--g) + var(--radar) + 12px);min-height:48px;display:inline-flex;align-items:center;gap:8px;padding:0 16px 0 12px;
  border-radius:16px;border:2px solid rgba(255,255,255,.82);background:linear-gradient(135deg,#0f766e,#0e7490);box-shadow:0 8px 22px rgba(14,116,144,.45);font-weight:900;font-size:15px;white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .1s,filter .15s}
.s3d-leave i{font-style:normal;font-size:20px;line-height:1}
.s3d.s3d-noradar .s3d-leave{bottom:calc(var(--sb) + var(--g))}
.s3d-touch .s3d-leave,.s3d-touch.s3d-noradar .s3d-leave{top:calc(var(--st) + var(--g) + max(var(--radar),var(--toph)) + 10px);bottom:auto}
.s3d-touch.s3d-noradar .s3d-leave{top:calc(var(--st) + var(--g) + var(--toph) + 10px)}
.s3d-leave:active,.s3d-leave.down{transform:scale(.95)}
@media (hover:hover){.s3d-leave:hover{filter:brightness(1.12)}}

/* ── عدّاد السرعة: قرص تناظري 0..الأقصى بأرقام وإبرة، وقوس تقدّم، وحلقة دوران داخلية، ورقم رقمي وقير ── */
.s3d-speedo{position:absolute;left:50%;bottom:calc(var(--sb) + var(--g));transform:translateX(-50%);width:var(--speedo);height:var(--speedo);pointer-events:none}
.s3d-speedo svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
.s3d-num{fill:#fff;font-weight:800;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.s3d-rpm{stroke:#a78bfa;transition:stroke .2s}
.s3d-speedo.hot .s3d-rpm{stroke:#fb7185}
.s3d-hbl,.s3d-dfl{color:rgba(255,255,255,.16);transition:color .12s}
.s3d.s3d-hbon .s3d-hbl{color:#ff4d4d}
.s3d.s3d-drifting .s3d-dfl{color:#fbbf24}
.s3d-kmh{position:absolute;left:0;right:0;top:50.5%;transform:translateY(-50%);text-align:center;font-size:calc(var(--speedo)*.19);font-weight:900;line-height:1;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;
  font-variant-numeric:tabular-nums;letter-spacing:-.03em;text-shadow:0 2px 6px rgba(0,0,0,.6);white-space:nowrap}
.s3d-kmh[data-len="5"]{font-size:calc(var(--speedo)*.155)}   /* «1,235» */
.s3d-kmh[data-len="6"]{font-size:calc(var(--speedo)*.132);letter-spacing:-.045em}   /* «20,000» داخل حلقة الدوران */
.s3d-unit{position:absolute;left:0;right:0;top:61.5%;text-align:center;font-size:calc(var(--speedo)*.068);font-weight:700;opacity:.72}
.s3d-gtxt{position:absolute;left:50%;bottom:4.5%;transform:translateX(-50%);min-width:calc(var(--speedo)*.22);padding:1px 6px;border-radius:7px;background:var(--gearP);font-style:normal;font-weight:900;white-space:nowrap;
  font-size:calc(var(--speedo)*.1);line-height:1.25;text-align:center;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;box-shadow:0 3px 10px rgba(0,0,0,.4)}
.s3d-speedo[data-g="D"] .s3d-gtxt{background:var(--gearD)}
.s3d-speedo[data-g="R"] .s3d-gtxt{background:var(--gearR)}
.s3d-speedo[data-g="N"] .s3d-gtxt{background:var(--gearN)}
.s3d-speedo.pend .s3d-gtxt{box-shadow:0 0 0 2px var(--hot),0 3px 10px rgba(0,0,0,.4);animation:s3dBlink 1s ease-in-out infinite}
@keyframes s3dBlink{50%{box-shadow:0 0 0 2px rgba(245,158,11,.25),0 3px 10px rgba(0,0,0,.4)}}

/* ── عدّاد التفحيط (أعلى الوسط): النقاط والزاوية والمضاعف، يثبت لحظة بعد الانتهاء ثم يتلاشى ── */
.s3d-drift{position:absolute;left:50%;top:max(15%,calc(var(--st) + var(--g) + var(--toph) + 58px));transform:translate(-50%,-10px) scale(.92);opacity:0;display:flex;flex-direction:column;align-items:center;gap:2px;
  pointer-events:none;text-align:center;transition:opacity .35s ease,transform .35s ease;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}
.s3d-drift.on{opacity:1;transform:translate(-50%,0) scale(1)}
.s3d-dt{font-size:14px;font-weight:900;padding:3px 14px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.s3d-ds{font-size:42px;font-weight:900;line-height:1.05;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 0 rgba(180,83,9,.9),0 4px 14px rgba(0,0,0,.5)}
.s3d-dm{display:flex;gap:6px;font-size:15px;font-weight:900;font-family:system-ui,'Segoe UI',Tahoma,sans-serif}
.s3d-dm i{font-style:normal;padding:1px 9px;border-radius:9px;background:rgba(12,9,24,.72);border:1px solid rgba(255,255,255,.22)}
.s3d-dc{color:#fde68a;border-color:rgba(253,230,138,.55)!important}
.s3d-drift.end .s3d-ds{color:#fde68a}
.s3d-drift.end .s3d-dt{background:linear-gradient(135deg,#16a34a,#0d9488)}
.s3d-drift.bump .s3d-dc{animation:s3dBump .38s ease-out}
@keyframes s3dBump{35%{transform:scale(1.35)}}
/* هاتف عمودي: تحت العدّاد وفي الفسحة يسار عمود القير والدوّاسات */
.s3d-touch[data-mode="car"] .s3d-drift{left:calc(50% - var(--rcw)/2);top:calc(var(--st) + var(--g) + max(var(--toph) + 10px + var(--speedo),var(--radar) + 10px + var(--cbh)) + 18px)}
.s3d-touch .s3d-ds{font-size:32px}
.s3d-touch .s3d-dt{font-size:12.5px}
.s3d-touch .s3d-dm{font-size:13px}

/* ── تعتيم الانتقال (دخول المبنى والخروج منه) ── */
.s3d-fade{position:absolute;inset:0;z-index:3;background:#000;opacity:0;pointer-events:none;transition:opacity .35s ease}
.s3d-fade.on{opacity:1}

/* ── شاشة الإيقاف المؤقت: متابعة/خروج/خريطة، ثم تبويبا «الإعدادات» و«التحكم» ── */
.s3d-pause{position:absolute;inset:0;z-index:4;display:grid;place-items:center;cursor:default;
  padding:calc(var(--st) + var(--g)) calc(var(--sr) + var(--g)) calc(var(--sb) + var(--g)) calc(var(--sl) + var(--g));background:rgba(6,4,14,.6);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.s3d-pcard{width:min(680px,100%);max-height:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 20px 16px;border-radius:22px;
  background:rgba(16,12,32,.95);border:1px solid var(--edge);box-shadow:0 24px 60px rgba(0,0,0,.55);text-align:right}
.s3d .s3d-pcard,.s3d .s3d-pcard *{touch-action:pan-y}
.s3d-pcard{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.s3d .s3d-pcard input[type="range"]{touch-action:none}
.s3d-pcard h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:22px;font-weight:900}
.s3d-pcard h2 svg{width:26px;height:26px;color:#c4b5fd}
.s3d-pbtns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.s3d-pbtns button{flex:1 1 150px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border-radius:16px;border:2px solid rgba(255,255,255,.3);font-weight:900;font-size:17px;transition:transform .1s,filter .15s}
.s3d-pbtns button svg{width:20px;height:20px}
.s3d-pbtns i{font-style:normal;font-size:19px;line-height:1}
.s3d-resume{background:linear-gradient(135deg,var(--acc),var(--acc-2));box-shadow:0 8px 22px rgba(124,58,237,.45)}
.s3d-pleave{background:linear-gradient(135deg,#0f766e,#0e7490)}
.s3d-pmap{background:rgba(255,255,255,.1)}
.s3d-pbtns button:active,.s3d-pbtns button.down{transform:scale(.96)}
@media (hover:hover){.s3d-pbtns button:hover{filter:brightness(1.12)}}
.s3d:not([data-place="inside"]) .s3d-pbtns .s3d-pleave,.s3d[data-mode="car"] .s3d-pbtns .s3d-pleave{display:none}
.s3d-tabs{display:flex;gap:6px;margin:2px 0 12px;padding:4px;border-radius:15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.s3d-tabs button{flex:1 1 0;min-height:44px;border:0;border-radius:11px;background:transparent;color:rgba(255,255,255,.66);font-weight:900;font-size:15px;transition:background .15s,color .15s}
.s3d-tabs button[aria-selected="true"]{background:rgba(255,255,255,.15);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.s3d-pset{display:grid;gap:8px}
.s3d-row{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);align-items:center;gap:6px 14px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.s3d-rl{font-weight:900;font-size:14.5px;line-height:1.3}
.s3d-rd{grid-column:1/-1;font-size:12.5px;line-height:1.5;opacity:.7}
/* وصف «المرور على الطريق السريع»: الأوصاف الثلاثة في خلية واحدة بارتفاع أطولها ⇒ لا يقفز الصف تحت الإصبع عند الاختيار */
.s3d-xtd{display:grid}.s3d-xtd>span{grid-area:1/1}.s3d-xtd>[aria-hidden="true"]{visibility:hidden}
.s3d-row>.s3d-sw{justify-self:start}
.s3d-seg{display:flex;gap:4px;padding:3px;border-radius:13px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.1);min-width:0}
.s3d-seg button{flex:1 1 0;min-width:0;min-height:44px;padding:0 6px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.76);font-weight:800;font-size:13.5px;line-height:1.2;transition:background .15s,color .15s}
.s3d-seg button[aria-checked="true"]{background:linear-gradient(135deg,var(--acc),var(--acc-2));color:#fff;box-shadow:0 4px 14px rgba(124,58,237,.45)}
.s3d-seg button:disabled{opacity:.35;cursor:not-allowed}
@media (hover:hover){.s3d-seg button:not([aria-checked="true"]):not(:disabled):hover{background:rgba(255,255,255,.08);color:#fff}}
.s3d-sw{position:relative;width:64px;height:44px;padding:0;border:0;background:transparent;display:grid;place-items:center}
.s3d-sw i{position:relative;display:block;width:56px;height:32px;border-radius:16px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);transition:background .18s}
.s3d-sw i::after{content:"";position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.4);transition:transform .18s}
.s3d-sw[aria-checked="true"] i{background:linear-gradient(135deg,var(--acc),var(--acc-2));border-color:rgba(255,255,255,.5)}
.s3d-sw[aria-checked="true"] i::after{transform:translateX(-24px)}
.s3d-rng{display:flex;align-items:center;gap:12px;min-width:0}
.s3d-rng output{flex:0 0 auto;min-width:48px;font-weight:900;font-size:14px;text-align:center;font-family:system-ui,'Segoe UI',Tahoma,sans-serif}
.s3d-rng input{flex:1 1 auto;min-width:0;height:44px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.s3d-rng input::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--acc),var(--acc-2))}
.s3d-rng input::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:#fff;border:3px solid var(--acc);box-shadow:0 2px 8px rgba(0,0,0,.45)}
.s3d-rng input::-moz-range-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--acc),var(--acc-2))}
.s3d-rng input::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--acc)}
.s3d-cal{grid-column:1/-1;justify-self:start;min-height:44px;padding:0 16px;border-radius:12px;border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);font-weight:900;font-size:14px}
@media (max-width:540px){.s3d-row{grid-template-columns:minmax(0,1fr)}.s3d-row>.s3d-sw{position:absolute;justify-self:auto}.s3d-row:has(>.s3d-sw){position:relative;padding-left:84px}.s3d-row:has(>.s3d-sw)>.s3d-sw{left:12px;top:8px}}
.s3d-phelp{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:4px 18px;font-size:13px;line-height:1.5}
.s3d-phelp h3{margin:8px 0 6px;font-size:14px;font-weight:900;opacity:.92}
.s3d-phelp .s3d-keys{padding:0}
.s3d[data-place="inside"] .s3d-phelp .s3d-h-foot,.s3d[data-place="inside"] .s3d-phelp .s3d-h-car,.s3d[data-place="inside"] .s3d-phelp .s3d-h-aerial,.s3d:not([data-place="inside"]) .s3d-phelp .s3d-h-inside{display:none}

/* ── اللمس: هاتف (عمودي افتراضياً) ── */
.s3d.s3d-touch{--radar:104px;--speedo:124px;--gw:58px;--gc:50px;--gg:4px;--gpad:3px;--bw:76px;--bh:70px;--pw:58px;--ph:132px;--hbh:66px;--stw:230px;--rw:148px}
.s3d-touch .s3d-speedo{left:auto;right:calc(var(--sr) + var(--g));top:calc(var(--st) + var(--g) + var(--toph) + 10px);bottom:auto;transform:none}
@media (orientation:landscape){
  .s3d.s3d-touch{--speedo:116px}
  .s3d-touch .s3d-speedo{left:50%;right:auto;top:auto;bottom:calc(var(--sb) + var(--g));transform:translateX(-50%)}
  .s3d-touch .s3d-steer,.s3d-touch .s3d-tilt{width:min(var(--stw),calc(50% - var(--speedo)/2 - var(--sl) - 2*var(--g)))}
  .s3d-touch[data-mode="car"] .s3d-act{max-width:calc(50% - var(--speedo)/2 - var(--sl) - 3*var(--g) - var(--hn) - 8px)}
  .s3d-touch .s3d-toast{top:calc(var(--st) + var(--g) + var(--toph) + 10px);max-width:calc(100% - 2*(var(--radar) + 2*var(--g) + max(var(--sl),var(--sr))))}
  .s3d-touch[data-mode="car"] .s3d-toast{top:calc(var(--st) + var(--g) + var(--toph) + 10px);max-width:calc(100% - 2*(max(var(--radar),var(--rcw)) + 2*var(--g) + max(var(--sl),var(--sr))))}
  .s3d-touch[data-place="inside"][data-mode="foot"] .s3d-toast{top:calc(var(--st) + var(--g) + var(--toph) + 10px)}
  .s3d-touch[data-mode="car"] .s3d-drift{left:50%;top:max(31%,calc(var(--st) + var(--g) + var(--toph) + 64px))}
}
/* هاتف أفقي قصير: الشريط العلوي ينزاح يسار عمود القير فلا يتراكبان */
@media (orientation:landscape) and (max-height:500px){
  .s3d.s3d-touch{--g:10px;--radar:96px;--speedo:110px;--gw:56px;--gc:48px;--gg:3px;--bw:80px;--bh:62px;--pw:58px;--ph:120px;--hbh:58px;--sth:66px;--tih:60px;--rw:128px;--fb:60px;--joy:116px}
}
@media (orientation:landscape) and (max-height:430px){
  .s3d[data-mode="car"] .s3d-top{right:calc(var(--sr) + 2*var(--g) + var(--rcw));max-width:calc(100% - var(--sl) - var(--sr) - 4*var(--g) - var(--radar) - var(--rcw))}
  .s3d.s3d-touch{--hbh:54px}
}
/* هاتف عمودي ضيّق جداً */
@media (max-width:359px){
  .s3d.s3d-touch{--g:8px;--radar:92px;--speedo:112px;--gw:56px;--gc:48px;--gg:3px;--bw:62px;--bh:62px;--pw:50px;--ph:118px;--pg:6px;--hbh:60px;--sth:66px;--tih:60px;--rw:132px;--hn:46px;--joy:112px;--fb:58px}
  .s3d-top{gap:5px}
  .s3d-touch .s3d-ds{font-size:27px}
  .s3d-tilt small{display:none}
}
/* الأجهزة اللوحية: أدوات أكبر */
@media (min-width:768px) and (min-height:600px){
  .s3d.s3d-touch{--g:16px;--radar:140px;--speedo:156px;--gw:68px;--gc:56px;--gg:6px;--gpad:4px;--bw:110px;--bh:92px;--pw:76px;--ph:168px;--pg:10px;--hbh:76px;--stw:300px;--sth:84px;--tih:72px;--rw:190px;--joy:150px;--fb:76px;--cbh:52px;--hn:54px}
}

/* ── شاشة التجهيز (أول دخول) ── */
.s3dload{position:absolute;inset:0;z-index:26;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(42,30,86,.92),rgba(8,6,18,.96) 70%);color:#fff;
  font-family:'Tajawal',system-ui,'Segoe UI',Tahoma,sans-serif}
.s3dload-in{display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 26px;border-radius:22px;background:rgba(12,9,24,.6);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.s3dload-in i{width:46px;height:46px;border-radius:50%;border:4px solid rgba(255,255,255,.18);border-top-color:#a78bfa;border-right-color:#f0abfc;animation:s3dSpin .9s linear infinite}
.s3dload-in span{font-size:15px;font-weight:800;direction:rtl}
@keyframes s3dSpin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){
  .s3d *,.s3d *::before,.s3d *::after,.s3dload *{animation:none!important;transition:none!important}
  .s3dload-in i{border-top-color:#a78bfa;border-right-color:rgba(255,255,255,.18)}
}
/* ── الكاميرا الداخلية: المقود نفسه هو أداة التوجيه (يُخفى المنزلق والمقود الدائري ومؤشر الإمالة — الإمالة تعمل)، ويبتعد العدّاد عن المقود ── */
.s3d[data-cam="cockpit"][data-mode="car"] .s3d-steer,.s3d[data-cam="cockpit"][data-mode="car"] .s3d-rwheel,.s3d[data-cam="cockpit"][data-mode="car"] .s3d-tilt{display:none}
.s3d.s3d-wheelhover{cursor:grab}
.s3d.s3d-wheelgrab,.s3d.s3d-wheelgrab *{cursor:grabbing!important}
.s3d:not(.s3d-touch)[data-cam="cockpit"][data-mode="car"] .s3d-speedo{left:auto;right:calc(var(--sr,0px) + 2*var(--g,12px) + var(--rcw));bottom:calc(var(--sb,0px) + var(--g,12px));transform:none}
.s3d-touch[data-cam="cockpit"][data-mode="car"]{--stz:var(--hn)}   /* البوق فوق زر النزول أسفل اليسار */
.s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-act{left:calc(var(--sl,0px) + var(--g,12px));bottom:calc(var(--sb,0px) + var(--g,12px))}
/* الكاميرا الداخلية على الحاسوب: زر النزول يبتعد عن مركز المقود إلى العمود الأيسر فوق زر الكاميرا */
.s3d:not(.s3d-touch)[data-cam="cockpit"][data-mode="car"] .s3d-act{left:calc(var(--sl) + var(--g));right:auto;transform:none;bottom:calc(var(--sb) + var(--g) + var(--radar,150px) + var(--cbh,44px) + 22px)}
/* اللمس داخل السيارة: عدّاد الواجهة يُخفى لأن عدّاد الطبلون الحيّ يعرض السرعة والقير، فلا يغطي المقود */
.s3d.s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-speedo{display:none}
/* ── المشاهدة من فوق (s3d-aerial أثناء الانتقال وبعده، s3d-aeron بعد وصول الكاميرا، s3d-aertp حين يُتاح نقل الشخصية):
   تختفي أدوات المشي والقيادة والرادار، ويظهر أسفل الشاشة زر «رجوع» كبير وزر «انقل الشخصية إلى هنا» وعلامة وسط الشاشة ── */
.s3d-aerb[aria-pressed="true"]{background:linear-gradient(135deg,#0369a1,#0e7490);border-color:rgba(255,255,255,.42);box-shadow:0 8px 22px rgba(3,105,161,.45)}
@media (hover:hover){.s3d-aerb[aria-pressed="true"]:hover{background:linear-gradient(135deg,#075985,#155e75)}}
@media (max-width:420px),(orientation:landscape) and (max-height:430px){.s3d-aerb span{display:none}}
.s3d.s3d-aerial .s3d-joy,.s3d.s3d-aerial .s3d-jump,.s3d.s3d-aerial .s3d-sprint,.s3d.s3d-aerial .s3d-horn,.s3d.s3d-aerial .s3d-steer,.s3d.s3d-aerial .s3d-rwheel,
.s3d.s3d-aerial .s3d-tilt,.s3d.s3d-aerial .s3d-gears,.s3d.s3d-aerial .s3d-pz,.s3d.s3d-aerial .s3d-camb,.s3d.s3d-aerial .s3d-act,.s3d.s3d-aerial .s3d-speedo,
.s3d.s3d-aerial .s3d-drift,.s3d.s3d-aerial .s3d-radar,.s3d.s3d-aerial .s3d-char,.s3d.s3d-aerial .s3d-leave,.s3d.s3d-aerial .s3d-perf,.s3d.s3d-aerial .s3d-perfb{display:none!important}
.s3d.s3d-aeron{cursor:grab}
.s3d.s3d-aeron.s3d-aerdrag,.s3d.s3d-aeron.s3d-aerdrag *{cursor:grabbing!important}
.s3d-aerbar{position:absolute;left:50%;bottom:calc(var(--sb) + var(--g) + 14px);transform:translateX(-50%);display:none;flex-wrap:wrap-reverse;align-items:center;justify-content:center;gap:10px;
  width:max-content;max-width:calc(100% - var(--sl) - var(--sr) - 2*var(--g));pointer-events:auto}
.s3d.s3d-aeron .s3d-aerbar{display:flex}
.s3d-aerbar button{display:inline-flex;align-items:center;gap:9px;border-radius:999px;font-weight:900;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .12s,filter .15s}
.s3d-aerbar button i{font-style:normal;line-height:1;flex:0 0 auto}
.s3d-aret{min-height:58px;padding:6px 22px 6px 14px;font-size:17px;border:2px solid rgba(255,255,255,.85);background:linear-gradient(135deg,rgba(124,58,237,.96),rgba(192,38,211,.96));box-shadow:0 10px 28px rgba(124,58,237,.5)}
.s3d-aret i{font-size:24px}
.s3d-aret kbd{min-width:26px;padding:2px 7px;font-size:12.5px;color:#3b2a66;background:#fff;border-color:#fff;border-bottom-color:#c4b5fd}
.s3d-atp{display:none!important;min-height:48px;padding:4px 16px 4px 12px;font-size:14.5px;border:1px solid var(--edge);background:var(--pill-h);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.4)}
.s3d.s3d-aertp .s3d-atp{display:inline-flex!important}
.s3d-atp i{font-size:19px}
.s3d-aerbar button:active,.s3d-aerbar button.down{transform:scale(.95)}
@media (hover:hover){.s3d-aerbar button:hover{filter:brightness(1.12)}}
.s3d-aerx{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;display:none;pointer-events:none;border-radius:50%;
  border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 2px rgba(12,9,24,.45),inset 0 0 0 2px rgba(12,9,24,.3)}
.s3d-aerx::before,.s3d-aerx::after{content:"";position:absolute;left:50%;top:50%;background:#fff;box-shadow:0 0 0 1px rgba(12,9,24,.45);border-radius:2px}
.s3d-aerx::before{width:2px;height:62px;margin:-31px 0 0 -1px;-webkit-mask:linear-gradient(#000 0 34%,transparent 34% 66%,#000 66%);mask:linear-gradient(#000 0 34%,transparent 34% 66%,#000 66%)}
.s3d-aerx::after{width:62px;height:2px;margin:-1px 0 0 -31px;-webkit-mask:linear-gradient(90deg,#000 0 34%,transparent 34% 66%,#000 66%);mask:linear-gradient(90deg,#000 0 34%,transparent 34% 66%,#000 66%)}
.s3d-aerx i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#a78bfa;box-shadow:0 0 0 1.5px #fff}
.s3d.s3d-aeron.s3d-aertp .s3d-aerx{display:block}
.s3d.s3d-aerial .s3d-toast{top:calc(var(--st) + var(--g) + var(--toph) + 10px)}
.s3d-touch.s3d-aerial .s3d-top{max-width:calc(100% - var(--sl) - var(--sr) - 2*var(--g))}   /* الرادار مخفي: الشريط يأخذ العرض كله */
.s3d-touch.s3d-aeron .s3d-aret{min-height:60px;font-size:17.5px}
@media (max-width:420px){.s3d-aret{padding:6px 18px 6px 12px;font-size:16px}.s3d-atp{font-size:14px}}
@media (orientation:landscape) and (max-height:430px){.s3d-aerbar{bottom:calc(var(--sb) + var(--g))}.s3d-aret{min-height:50px}.s3d-atp{min-height:44px}}

/* ════════════════════════════════════════════════════════════════════
   XWAY — السرعات القياسية: قرص بتدريج تلقائي (0–400 ⇐ 0–20,000) يتبدّل بحركة ناعمة، ماخ، مقياس g صغير،
   لوحة «قياس الأداء» (s3d-perf/s3d-perfon)، لافتة المنطقة (s3d-region)، قائمة «الوجهات» وضبابية الحركة
   ════════════════════════════════════════════════════════════════════ */
.s3d-scale{transform-box:view-box;transform-origin:60px 60px;transition:opacity .42s ease,transform .52s cubic-bezier(.2,.8,.25,1)}
.s3d-scale.in0{opacity:0;transform:scale(1.2);transition:none}
.s3d-scale.out{opacity:0;transform:scale(.78)}
.s3d-x1k{fill:rgba(233,228,255,.7);font-weight:800;letter-spacing:.02em}
.s3d-speedo.rerange svg{animation:s3dRerange .62s ease-out}
.s3d-speedo.rerange .s3d-spd{animation:s3dArc .62s ease-out}
@keyframes s3dRerange{35%{filter:drop-shadow(0 8px 18px rgba(0,0,0,.5)) drop-shadow(0 0 12px rgba(192,38,211,.85))}}
@keyframes s3dArc{35%{stroke-width:5.6}}
/* ماخ: فوق الرقم داخل حلقة الدوران (يظهر من ماخ 0.5)، كهرماني حول حاجز الصوت وسماوي بعده، ونبضة عند عبوره */
.s3d-mach{position:absolute;left:50%;top:32.5%;transform:translateX(-50%);padding:0 calc(var(--speedo)*.032);border-radius:999px;white-space:nowrap;font-style:normal;font-weight:900;
  font-size:calc(var(--speedo)*.066);line-height:1.45;color:#e2e8f0;background:rgba(255,255,255,.08);opacity:0;transition:opacity .3s,color .3s,background .3s,box-shadow .3s}
.s3d-speedo.mach .s3d-mach{opacity:1}
.s3d-speedo[data-mach="trans"] .s3d-mach{color:#1c1200;background:#fbbf24;box-shadow:0 0 10px rgba(251,191,36,.7)}
.s3d-speedo[data-mach="sup"] .s3d-mach{color:#ecfeff;background:linear-gradient(135deg,#0891b2,#7c3aed);box-shadow:0 0 12px rgba(34,211,238,.55)}
.s3d-speedo.boom::after{content:"";position:absolute;inset:2%;border-radius:50%;border:2px solid #67e8f9;pointer-events:none;animation:s3dBoom .95s ease-out forwards}
@keyframes s3dBoom{0%{transform:scale(.92);opacity:.95}100%{transform:scale(1.5);opacity:0}}
/* مقياس g: قرص صغير ملتصق بأسفل يسار العدّاد، النقطة = القوة المحسوسة (الحافة 4g)، والقيمة بجانبه */
.s3d-gmet{position:absolute;left:-9%;bottom:-4%;width:28%;height:28%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,transparent 0 23%,rgba(255,255,255,.2) 24% 25.5%,transparent 26.5% 48%,rgba(255,255,255,.14) 49% 50%,transparent 51%),rgba(12,9,24,.78);
  border:1.5px solid rgba(255,255,255,.3);box-shadow:0 4px 12px rgba(0,0,0,.45)}
.s3d-gmet::before,.s3d-gmet::after{content:"";position:absolute;left:50%;top:50%;background:rgba(255,255,255,.18)}
.s3d-gmet::before{width:1px;height:76%;margin:-38% 0 0 -.5px}
.s3d-gmet::after{width:76%;height:1px;margin:-.5px 0 0 -38%}
.s3d-gmet i{position:absolute;left:50%;top:50%;z-index:1;width:18%;height:18%;margin:-9% 0 0 -9%;border-radius:50%;background:#fbbf24;box-shadow:0 0 6px rgba(251,191,36,.9);transition:transform .08s linear}
.s3d-gmet.hi i{background:#fb7185;box-shadow:0 0 8px rgba(251,113,133,.95)}
.s3d-gmet b{position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);font-weight:900;font-size:max(10.5px,calc(var(--speedo)*.066));font-family:system-ui,'Segoe UI',Tahoma,sans-serif;
  font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.8)}

/* ── زر «قياس الأداء» ⏱️ في الشريط العلوي ── */
.s3d-perfb[aria-pressed="true"]{background:linear-gradient(135deg,#b45309,#d97706);border-color:rgba(255,255,255,.42);box-shadow:0 8px 22px rgba(217,119,6,.45)}
@media (hover:hover){.s3d-perfb[aria-pressed="true"]:hover{background:linear-gradient(135deg,#92400e,#b45309)}}
/* ── الإشارتان والضوء العالي في الشريط العلوي (السيارة وحدها): ثلاثة أزرار متلاصقة، الإشارة المفعّلة تومض كهرمانية والعالي أزرق ── */
.s3d-lamps{display:flex;gap:3px;direction:ltr}
.s3d-lamps .s3d-lmp{min-width:38px;padding:0 8px}
.s3d-lamps .s3d-lmp[data-l="L"]{border-radius:14px 6px 6px 14px}.s3d-lamps .s3d-lmp[data-l="R"]{border-radius:6px 14px 14px 6px}.s3d-lamps .s3d-lhi{border-radius:6px}
.s3d-lmp[aria-pressed="true"]:not(.s3d-lhi){color:#fff;background:linear-gradient(135deg,#d97706,#f59e0b);border-color:rgba(255,255,255,.5);animation:s3d-blink .76s steps(1,end) infinite}
.s3d-lhi[aria-pressed="true"]{color:#fff;background:linear-gradient(135deg,#1d4ed8,#3b82f6);border-color:rgba(255,255,255,.5);box-shadow:0 8px 22px rgba(59,130,246,.45)}
/* update 12: الفلاشر (مثلث) بين العالي والإشارة اليمنى يومض أحمر؛ وزرّا القيادة الهجينة بجانب المجموعة (السيارة الهجينة وحدها) */
.s3d-lamps .s3d-lhz{border-radius:6px}
.s3d-lmp.s3d-lhz[aria-pressed="true"]{background:linear-gradient(135deg,#b91c1c,#ef4444);box-shadow:0 8px 22px rgba(239,68,68,.42)}
.s3d-hyb{display:flex;gap:3px;direction:ltr}.s3d-hyb[hidden]{display:none}
.s3d-hyb .s3d-hmode{min-width:38px;padding:0 10px;gap:5px;border-radius:14px 6px 6px 14px;font-weight:900}.s3d-hyb .s3d-hplug{min-width:38px;padding:0 8px;border-radius:6px 14px 14px 6px}
.s3d-hmode i,.s3d-hplug i{font-style:normal;line-height:1}
.s3d-hmode[data-m="ev"]{color:#fff;background:linear-gradient(135deg,#0369a1,#0ea5e9);border-color:rgba(255,255,255,.45)}
.s3d-hmode[data-m="sport"]{color:#fff;background:linear-gradient(135deg,#9f1239,#e11d48);border-color:rgba(255,255,255,.45)}
.s3d-hplug[aria-pressed="true"]{color:#fff;background:linear-gradient(135deg,#047857,#10b981);border-color:rgba(255,255,255,.5)}
.s3d.s3d-aerial .s3d-hyb{display:none}
@keyframes s3d-blink{0%{opacity:1}53%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.s3d-lmp[aria-pressed="true"]{animation:none}}
.s3d.s3d-aerial .s3d-lamps{display:none}
/* ── لوحة «قياس الأداء»: الحاسوب يميناً تحت الشريط وفوق القير ── */
.s3d-perf{position:absolute;top:calc(var(--st) + var(--g) + var(--toph) + 10px);right:calc(var(--sr) + var(--g));width:min(336px,calc(100% - var(--sl) - var(--sr) - 2*var(--g)));
  max-height:calc(100% - var(--st) - var(--sb) - var(--toph) - var(--gh) - var(--bh) - var(--pg) - 3*var(--g) - 20px);
  display:flex;flex-direction:column;border-radius:16px;background:rgba(12,9,24,.76);border:1px solid var(--edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 10px 28px rgba(0,0,0,.42);font-size:12.5px;line-height:1.35;cursor:default;overflow:hidden;text-align:right}
.s3d-perf header{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:3px 12px 1px 3px;min-height:48px}
.s3d-perf header b{font-weight:900;font-size:14.5px;white-space:nowrap}
.s3d-pfst{flex:1 1 auto;min-width:0;font-size:11.5px;font-weight:700;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s3d-pfx{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:11px;background:rgba(255,255,255,.08);font-size:15px;font-weight:900;line-height:1}
.s3d-pfx:active,.s3d-pfx.down{transform:scale(.92)}
@media (hover:hover){.s3d-pfx:hover{background:rgba(255,255,255,.16)}}
/* رسالة الإنجاز داخل اللوحة: طبقة فوق أول الصفوف لحظات ثم تختفي (لا تغيّر ارتفاع اللوحة) */
.s3d-pfmsg{position:absolute;z-index:2;left:8px;right:8px;top:48px;margin:0;padding:7px 10px;border-radius:11px;font-weight:900;font-size:13px;line-height:1.4;color:#fff7d6;pointer-events:none;
  background:linear-gradient(135deg,rgba(120,53,15,.97),rgba(127,29,29,.97));border:1px solid rgba(253,230,138,.45);box-shadow:0 6px 18px rgba(0,0,0,.45);opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .3s ease}
.s3d-perf.flash .s3d-pfmsg{opacity:1;transform:none}
.s3d-pft{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 7px 4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.s3d-pft::-webkit-scrollbar{width:5px}
.s3d-pft::-webkit-scrollbar-track{background:transparent}
.s3d-pft::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:3px}
.s3d .s3d-pft,.s3d .s3d-pft *{touch-action:pan-y}
.s3d-pfh,.s3d-pfr{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.92fr) minmax(0,.92fr) minmax(0,1fr);gap:4px;align-items:center}
.s3d-pfh{position:sticky;top:0;z-index:1;padding:3px 6px 4px;font-size:10.5px;font-weight:800;color:rgba(255,255,255,.58);background:rgba(16,12,32,.96)}
.s3d-pfh span:not(:first-child),.s3d-pfn,.s3d-pfb,.s3d-pfd{text-align:center}
.s3d-pfr{padding:3px 6px;min-height:26px;border-radius:9px;font-variant-numeric:tabular-nums;transition:background .2s}
.s3d-pfr:nth-child(even){background:rgba(255,255,255,.035)}
.s3d-pfk{display:flex;flex-direction:column;font-weight:900;line-height:1.15;white-space:nowrap}
.s3d-pfk bdi{font-family:system-ui,'Segoe UI',Tahoma,sans-serif;font-size:12px}
.s3d-pfk small{font-size:9.5px;font-weight:800;color:#67e8f9}
.s3d-pfn,.s3d-pfb{font-family:system-ui,'Segoe UI',Tahoma,sans-serif;font-weight:800;color:rgba(255,255,255,.5)}
.s3d-pfd{font-size:11px;font-weight:700;color:rgba(255,255,255,.62);white-space:nowrap}
.s3d-pfb{color:rgba(255,255,255,.78)}
.s3d-pfr.hit .s3d-pfn{color:#fff}
.s3d-pfr.live{background:rgba(251,191,36,.13)!important}
.s3d-pfr.live .s3d-pfn{color:#fbbf24}
.s3d-pfr.rec{background:rgba(34,197,94,.16)!important}
.s3d-pfr.rec .s3d-pfb{color:#86efac}
.s3d-pfr.snd .s3d-pfk bdi{color:#a5f3fc}
.s3d-perf footer{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:2px 11px;padding:6px 12px 8px;border-top:1px solid rgba(255,255,255,.09);font-size:11.5px;font-weight:700;color:rgba(255,255,255,.72)}
.s3d-perf footer b{font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
/* نافذة حاسوب قصيرة: اللوحة يسار عمود القير فوق العدّاد (لا تنطوي إلى لا شيء) */
@media (max-height:640px){.s3d:not(.s3d-touch) .s3d-perf{right:calc(var(--sr) + 2*var(--g) + var(--rcw));width:min(320px,calc(100% - var(--sl) - var(--sr) - 4*var(--g) - var(--rcw) - var(--radar)));
  max-height:max(120px,calc(100% - var(--st) - var(--sb) - 3*var(--g) - var(--toph) - var(--speedo) - 20px))}}
/* الحاسوب بنافذة ضيقة: الإشعار يبتعد عن اللوحة */
@media (max-width:900px){.s3d:not(.s3d-touch).s3d-perfon[data-mode="car"] .s3d-toast{right:auto;left:calc(var(--sl) + var(--g))}}

/* ── لافتة المنطقة: الاسم يتّضح من ضبابية خفيفة مع خط رفيع، ثم يتلاشى ── */
.s3d-region{position:absolute;left:50%;top:max(31%,calc(var(--st) + var(--g) + var(--toph) + 172px));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;width:max-content;max-width:min(640px,calc(100% - 2*var(--g) - var(--sl) - var(--sr)));
  padding:12px 34px;text-align:center;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(closest-side,rgba(0,0,0,.26),rgba(0,0,0,0));
  transition:opacity 1.3s ease,visibility 0s linear 1.3s}
.s3d-region b{order:0;font-size:31px;font-weight:800;line-height:1.25;text-shadow:0 2px 14px rgba(0,0,0,.65),0 0 30px rgba(0,0,0,.35);transform:translateY(8px);filter:blur(5px);transition:transform 1.6s cubic-bezier(.2,.8,.2,1),filter 1.2s ease}
.s3d-rgl{order:1;display:block;width:min(280px,62vw);height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.9),rgba(255,255,255,0));transform:scaleX(.15);transition:transform 1.6s cubic-bezier(.2,.8,.2,1)}
.s3d-region small{order:2;font-size:14.5px;font-weight:700;line-height:1.4;color:rgba(255,255,255,.88);text-shadow:0 1px 8px rgba(0,0,0,.7);opacity:0;transition:opacity 1.2s ease .35s}
.s3d-region.on{opacity:1;visibility:visible;transition:opacity .9s ease,visibility 0s}
.s3d-region.on b{transform:none;filter:none}
.s3d-region.on .s3d-rgl{transform:none}
.s3d-region.on small{opacity:1}
.s3d.s3d-paused .s3d-region{display:none}
.s3d:not(.s3d-touch).s3d-perfon[data-mode="car"] .s3d-region{max-width:calc(100% - 2*(min(336px,100%) + 3*var(--g)))}

/* ── الإيقاف المؤقت: «الوجهات» وضبابية الحركة ── */
.s3d-pdest>.s3d-rd{margin:0 2px 10px}
.s3d-dests{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:8px}
.s3d-dest{display:flex;align-items:center;gap:10px;min-height:54px;padding:7px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);text-align:right;transition:background .15s,transform .1s}
.s3d-dest i{flex:0 0 auto;font-style:normal;font-size:21px;line-height:1}
.s3d-dest span{display:flex;flex-direction:column;min-width:0}
.s3d-dest b{font-size:14.5px;font-weight:900;line-height:1.3}
.s3d-dest small{font-size:12px;font-weight:700;line-height:1.35;opacity:.7}
.s3d-dest:active{transform:scale(.97)}
@media (hover:hover){.s3d-dest:hover{background:rgba(124,58,237,.28)}}
.s3d-row.off .s3d-sw{opacity:.4;cursor:not-allowed}
@media (max-width:420px){.s3d-tabs button{font-size:13.5px;padding:0 2px}}

/* update 12: «سياراتي» — the visitor's car card (two-tone swatch upper/lower, generic name, «اركب سيارتي»), the reason line and «ابدأ بسيارتي» */
.s3d-pcars>.s3d-rd{margin:0 2px 10px}
.s3d-mycars{display:grid;gap:8px;margin-bottom:8px}
.s3d-mycar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-height:68px;padding:10px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
.s3d-mycar.on{border-color:rgba(196,181,253,.5);background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(192,38,211,.1))}
.s3d-mcsw{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,var(--mc1,#9aa1a8) 0 50%,var(--mc2,#9aa1a8) 50% 100%);border:2px solid rgba(255,255,255,.6);box-shadow:inset 0 0 0 2px rgba(0,0,0,.3),0 3px 10px rgba(0,0,0,.45)}
.s3d-mct{flex:1 1 0;display:flex;flex-direction:column;min-width:0}
.s3d-mct b{font-size:15.5px;font-weight:900;line-height:1.3}
.s3d-mct small{font-size:12.5px;font-weight:700;line-height:1.4;opacity:.72}
.s3d-mct em{font-style:normal;font-size:12px;font-weight:800;line-height:1.45;color:#c4b5fd}
.s3d-mycar .s3d-mcgo{flex:0 0 auto;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:0;border-radius:14px;
  background:linear-gradient(135deg,var(--acc),var(--acc-2));box-shadow:0 6px 18px rgba(124,58,237,.42);font-weight:900;font-size:15.5px;transition:transform .1s,filter .15s,opacity .15s}
.s3d-mcgo i{font-style:normal;font-size:18px;line-height:1}
.s3d-mcgo[aria-disabled="true"]{opacity:.5;box-shadow:none}
.s3d-mcgo:active{transform:scale(.96)}
@media (hover:hover){.s3d-mcgo:not([aria-disabled="true"]):hover{filter:brightness(1.12)}}
.s3d-mcwhy{margin:0 2px 8px;font-weight:800;color:#fcd34d;opacity:1}
.s3d-mcwhy.flash{animation:s3d-mcflash .5s ease}
@keyframes s3d-mcflash{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media (prefers-reduced-motion:reduce){.s3d-mcwhy.flash{animation:none}}
@media (max-width:540px){.s3d-mycar{flex-wrap:wrap}.s3d-mycar .s3d-mcgo{flex:1 1 100%}}
/* update 12: مفاتيح المقصورة تحت بطاقة السيارة (حالة تجهيزاته: الشاشة نازلة، المقعد مستلقٍ، إضاءة السقف) */
.s3d-mcopts{display:grid;gap:6px;margin:-2px 0 6px;padding:8px 10px;border-radius:14px;border:1px dashed rgba(255,255,255,.16);background:rgba(255,255,255,.025)}
.s3d-mcoh{margin:0 2px 2px;font-weight:800}
/* update 12: (LCI) «تجهيزات سيارتك» داخل البطاقة: قائمة مدمجة للقراءة فقط بعرض البطاقة كاملاً، تلتفّ ولا تمرّر أفقياً؛ في الجوال قبل زر الركوب */
.s3d-mceq{flex:1 1 100%;min-width:0;padding-top:9px;border-top:1px solid rgba(255,255,255,.1)}
.s3d-mceq b{display:block;margin:0 2px 6px;font-size:12px;font-weight:800;line-height:1.4;opacity:.75}
.s3d-mceq ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.s3d-mceq li{max-width:100%;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);overflow-wrap:anywhere}
@media (max-width:540px){.s3d-mycar .s3d-mceq{order:2}.s3d-mycar .s3d-mcgo{order:3}}

/* ── اللمس — عمودي (الأساس؛ للهاتف العمودي تموضع خاص أدناه): اللوحة بعرض الشاشة بين العدّاد وعمود القير، والتفحيط تحتها ── */
.s3d-touch .s3d-perf{right:calc(var(--sr) + var(--g));left:calc(var(--sl) + var(--g));width:auto;
  top:calc(var(--st) + var(--g) + max(var(--toph) + 10px + var(--speedo),var(--radar) + 10px + var(--cbh)) + 14px);
  max-height:min(250px,calc(100% - var(--st) - var(--sb) - 2*var(--g) - max(var(--toph) + 10px + var(--speedo),var(--radar) + 10px + var(--cbh)) - 24px - var(--gh) - var(--bh) - var(--pg)))}
.s3d-touch .s3d-perf header{padding-left:3px}
.s3d-touch.s3d-perfon[data-mode="car"] .s3d-drift{top:calc(var(--st) + var(--g) + max(var(--toph) + 10px + var(--speedo),var(--radar) + 10px + var(--cbh)) + 24px + var(--pfh,250px))}
.s3d-touch .s3d-region{top:calc(var(--st) + var(--g) + max(var(--toph) + 10px + var(--speedo),var(--radar) + 10px + var(--cbh)) + 120px);padding:8px 18px}
@media (orientation:portrait){.s3d-touch.s3d-drifting[data-mode="car"]:not(.s3d-perfon) .s3d-toast{top:calc(var(--st) + var(--g) + max(var(--toph) + 10px + var(--speedo),var(--radar) + 10px + var(--cbh)) + 118px)}}   /* الإشعار ينزل تحت عدّاد التفحيط */
.s3d-touch .s3d-region b{font-size:21px}
.s3d-touch .s3d-region small{font-size:12.5px}
.s3d-touch .s3d-region .s3d-rgl{width:min(200px,56vw)}
/* هاتف عمودي: اللوحة أعلى اليسار تحت زر الكاميرا ويسار العدّاد، وتنتهي فوق الأفق (42%) فلا تحجب السيارة ولا الطريق أمامها؛
   الجدول يتمرّر والصف الجاري ظاهر دائماً، والتفحيط يمينها تحت العدّاد، والإشعار فوقها مؤقتاً */
@media (orientation:portrait) and (max-width:767px){
  .s3d.s3d-touch{--pft:calc(var(--st) + var(--g) + var(--radar) + 10px + var(--cbh) + 10px)}
  .s3d-touch .s3d-perf{right:calc(var(--sr) + 2*var(--g) + var(--speedo));top:var(--pft);max-height:max(112px,calc(42% - var(--pft)))}
  .s3d-touch[data-cam="cockpit"] .s3d-perf{max-height:max(112px,calc(39% - var(--pft)))}   /* أفق الكاميرا الداخلية أعلى (≈ 40%) */
  /* العنوان سطران بلا قصّ: الاسم فوق حالة الجولة (كان القصّ يُظهر «72» بدل «2.72 ث»)، والإغلاق بجانبهما */
  .s3d-touch .s3d-perf header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;column-gap:6px;row-gap:0;min-height:36px;padding:1px 10px 1px 1px}
  .s3d-touch .s3d-perf header b{grid-area:1/1;font-size:13px;line-height:1.2}
  .s3d-touch .s3d-pfst{grid-area:2/1;font-size:10.5px;line-height:1.25}
  .s3d-touch .s3d-pfx{grid-area:1/2/3/3;width:34px;height:34px}
  .s3d-touch .s3d-pfmsg{top:36px}
  /* رأس الجدول سطر واحد حتى 360 بكسل (صفّان كاملان على الأقل في الخارجية) */
  .s3d-touch .s3d-pft{padding:0 4px 3px}
  .s3d-touch .s3d-pfh,.s3d-touch .s3d-pfr{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,.85fr) minmax(0,1fr);gap:3px}
  .s3d-touch .s3d-pfh{padding:2px 4px 3px;font-size:10px;line-height:1.3;white-space:nowrap}
  .s3d-touch .s3d-pfr{min-height:20px;padding:2px 4px}
  /* التذييل: القصوى والأفضل بلا وحدة (العدّاد بجانبها كم/س)؛ لا قصّ — الأضيق من ذلك ينزل سطراً */
  .s3d-touch .s3d-perf footer{flex-wrap:wrap;white-space:nowrap;gap:0 10px;padding:2px 10px 4px;font-size:11px;line-height:1.3}
  .s3d-touch .s3d-perf footer>span:nth-child(3),.s3d-touch .s3d-pfau,.s3d-touch .s3d-pfu{display:none}   /* مسافة الجولة في العنوان والجدول */
  .s3d-touch.s3d-perfon[data-mode="car"] .s3d-drift{left:calc(100% - var(--sr) - var(--g) - var(--speedo)/2);top:calc(var(--st) + var(--g) + var(--toph) + 14px + var(--speedo))}
  .s3d-touch.s3d-perfon[data-mode="car"] .s3d-toast{left:calc(var(--sl) + var(--g));top:var(--pft);transform:translateY(-10px);max-width:calc(100% - var(--sl) - var(--sr) - 3*var(--g) - var(--speedo))}
  .s3d-touch.s3d-perfon[data-mode="car"] .s3d-toast.on{transform:none}
  /* الكاميرا الداخلية: القير صفّ أفقي فوق الفرامل وتحت دائرة إمساك المقود (كان عمود القير على حافته اليمنى فتصيب الإبهام R/P) */
  .s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-gears{flex-direction:row;width:auto;right:calc(var(--sr) + var(--g) + var(--pw) + var(--pg))}
  .s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-gears button{flex:0 0 auto;width:calc(var(--gc) - 2px)}
}
@media (orientation:portrait) and (max-width:340px){   /* أضيق الهواتف: التذييل ورأس الجدول يبقيان سطراً واحداً */
  .s3d-touch .s3d-perf footer{gap:0 8px;padding:2px 8px 4px;font-size:10px}
  .s3d-touch .s3d-pfh{font-size:9.5px}
  .s3d-touch .s3d-pfk small{font-size:8.5px}
}
@media (orientation:landscape){
  /* هاتف أفقي: اللوحة عمود يمين السيارة (من منتصف الشاشة + 64 بكسل حتى عمود القير) وتنتهي عند ثلثي الارتفاع — السيارة والطريق أمامها ظاهران؛
     التفحيط في مكانه المعتاد، والإشعار يسار اللوحة */
  .s3d-touch .s3d-perf{left:auto;right:calc(var(--sr) + 2*var(--g) + var(--rcw));top:calc(var(--st) + var(--g) + var(--toph) + 10px);
    width:max(150px,min(310px,calc(50% - 64px - var(--sr) - 2*var(--g) - var(--rcw))));max-height:max(150px,calc(66% - var(--st) - var(--g) - var(--toph) - 10px))}
  .s3d-touch.s3d-perfon[data-mode="car"] .s3d-drift{left:50%;top:max(31%,calc(var(--st) + var(--g) + var(--toph) + 64px))}
  .s3d-touch.s3d-perfon[data-mode="car"] .s3d-toast{--tr:max(calc(50% - 54px),calc(var(--sr) + 3*var(--g) + var(--rcw) + 150px));left:auto;right:var(--tr);transform:translateY(-10px);
    max-width:calc(100% - var(--tr) - var(--sl) - 2*var(--g) - var(--radar))}
  .s3d-touch.s3d-perfon[data-mode="car"] .s3d-toast.on{transform:none}
  .s3d-touch .s3d-region{top:calc(var(--st) + var(--g) + var(--toph) + 18px)}
  .s3d-touch .s3d-pfr{min-height:22px;padding:2px 6px}
}
@media (orientation:landscape) and (max-height:500px){   /* هاتف أفقي: اللوحة مضغوطة — زر ⏱️ في الشريط فوقها يغلقها */
  .s3d-touch .s3d-pfx{display:none}
  /* العنوان سطران (الاسم فوق حالة الجولة) والجدول والتذييل مضغوطان لعرض العمود الضيق */
  .s3d-touch .s3d-perf header{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;row-gap:0;min-height:34px;padding:2px 10px}
  .s3d-touch .s3d-perf header b{font-size:13px;line-height:1.2}
  .s3d-touch .s3d-pfst{font-size:10.5px;line-height:1.25}
  .s3d-touch .s3d-pfmsg{top:34px;font-size:12px;padding:5px 9px}
  .s3d-touch .s3d-pft{padding:0 4px 3px}
  .s3d-touch .s3d-pfh,.s3d-touch .s3d-pfr{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,.85fr) minmax(0,1fr);gap:3px}
  .s3d-touch .s3d-pfh{padding:2px 4px 3px;font-size:10px;line-height:1.3;white-space:nowrap}
  .s3d-touch .s3d-pfr{min-height:20px;padding:2px 4px}
  .s3d-touch .s3d-perf footer{flex-wrap:wrap;white-space:nowrap;gap:0 9px;padding:2px 9px 4px;font-size:10.5px;line-height:1.35}
  .s3d-touch .s3d-perf footer>span:nth-child(3),.s3d-touch .s3d-pfau,.s3d-touch .s3d-pfu{display:none}   /* مسافة الجولة في العنوان */
}
@media (orientation:landscape) and (max-height:500px) and (max-width:859px){   /* العمود أضيق من 200 بكسل: بلا عمود المسافة */
  .s3d-touch .s3d-pfh,.s3d-touch .s3d-pfr{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr)}
  .s3d-touch .s3d-pfh span:nth-child(4),.s3d-touch .s3d-pfd{display:none}
  .s3d-touch .s3d-pfk bdi{font-size:11px}
  .s3d-touch .s3d-pfh{font-size:9.5px}
}
@media (orientation:landscape) and (max-height:500px) and (max-width:739px){   /* أضيق الهواتف: العمود بعرضه الأدنى يتجاوز حافة السيارة ⇒ ينتهي فوقها (45%) والصف الجاري ظاهر */
  .s3d-touch .s3d-perf{max-height:max(100px,calc(45% - var(--st) - var(--g) - var(--toph) - 10px))}
}
/* الجهاز اللوحي (لمس كبير): اللوحة يميناً تحت الشريط كالحاسوب */
@media (min-width:768px) and (min-height:600px){
  .s3d-touch .s3d-perf{left:auto;right:calc(var(--sr) + var(--g));width:min(340px,calc(100% - 2*var(--g)))}
}
@media (prefers-reduced-motion:reduce){.s3d-region b{filter:none;transform:none}.s3d-scale{transition:none}}
/* ── مثبّت السرعة عند المقود (لمس): شريط أزرار فوق أداة التوجيه (منزلق / مقود دائري / إمالة) ويعلوه البوق وزر التفاعل؛
   وفي الأفقي مع المقود الدائري مربّع بجانبه، وفي الكاميرا الداخلية عمود على الحافة اليسرى بجوار المقود الحقيقي.
   المؤشر «مثبت 120» بجوار العدّاد: أخضر حين يعمل، رمادي بالسرعة المحفوظة بعد الإلغاء، ومخفي بلا سرعة محفوظة ── */
.s3d{--crb:44px;--crw:50px;--crh:calc(var(--crb) + 6px)}   /* ارتفاع الزر، عرض الخلية في العمود والمربّع، ارتفاع الشريط */
.s3d-cruise{position:absolute;left:calc(var(--sl) + var(--g));bottom:calc(var(--sb) + var(--g) + var(--stz) + 8px);display:flex;gap:3px;padding:2px;pointer-events:auto;direction:ltr;
  width:min(220px,calc(100% - var(--sl) - var(--sr) - 3*var(--g) - var(--rcw)));height:var(--crh);border-radius:15px;
  background:rgba(10,8,20,.5);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.s3d-cruise button{position:relative;flex:1 1 0;min-width:40px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;
  border:2px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(12,9,24,.72);color:rgba(255,255,255,.9);font-weight:900;font-size:10px;line-height:1;
  text-shadow:0 1px 2px rgba(0,0,0,.5);transition:background .12s,border-color .12s,transform .08s}
.s3d-cruise i{display:block;width:19px;height:19px;flex:0 0 auto}
.s3d-cruise svg{width:100%;height:100%}
.s3d-cruise span{white-space:nowrap}
.s3d-cruise .s3d-cdn,.s3d-cruise .s3d-cup{flex-grow:.8}.s3d-cruise .s3d-cres{flex-grow:1.3}   /* «استئناف» أطول: يأخذ ما يفيض عن − و+ */
.s3d-cruise button.down{transform:scale(.93);background:rgba(40,32,70,.92);transition:none}
.s3d .s3d-cruise button:focus-visible{border-radius:11px}
.s3d-cset[aria-pressed="true"]{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);border-color:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.4),0 0 14px rgba(34,197,94,.6)}
.s3d-cres.dim{color:rgba(255,255,255,.5)}
.s3d.s3d-aerial .s3d-cruise{display:none}
.s3d-touch[data-mode="car"] .s3d-horn,.s3d-touch[data-mode="car"] .s3d-act{bottom:calc(var(--sb) + var(--g) + var(--stz) + var(--crh) + 16px)}   /* البوق والتفاعل فوق الشريط */
/* قراءة السرعة المثبّتة فوق الأزرار حين يُخفى العدّاد (الكاميرا الداخلية على اللمس) */
.s3d-cruise::before{content:attr(data-kmh);display:none;position:absolute;left:0;bottom:calc(100% + 5px);padding:1px 8px;border-radius:999px;direction:rtl;unicode-bidi:isolate;white-space:nowrap;pointer-events:none;
  font-weight:900;font-size:12px;line-height:1.5;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;color:#d4d4d8;background:rgba(39,39,42,.85);border:1.5px solid rgba(255,255,255,.22)}
.s3d-cruise.on::before{color:#fff;background:#16a34a;border-color:rgba(255,255,255,.85)}
.s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-cruise[data-kmh]:not([data-kmh=""])::before{display:block}
/* الكاميرا الداخلية: عمود يسار (+ ثم − ثم تثبيت ثم استئناف) فوق البوق، والبوق فوق زر النزول */
.s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-cruise{flex-direction:column;width:calc(var(--crw) + 6px);height:auto;bottom:calc(var(--sb) + var(--g) + 2*var(--hn) + 20px)}
.s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-cruise button{flex:0 0 var(--crb);width:var(--crw);height:var(--crb);min-width:0}
.s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-horn{bottom:calc(var(--sb) + var(--g) + var(--hn) + 10px)}
.s3d-touch[data-cam="cockpit"] .s3d-cup{order:1}.s3d-touch[data-cam="cockpit"] .s3d-cdn{order:2}.s3d-touch[data-cam="cockpit"] .s3d-cset{order:3}.s3d-touch[data-cam="cockpit"] .s3d-cres{order:4}
/* الجوال عمودياً: عمود أنحف وأقرب إلى الحافة فلا يمسّ دائرة إمساك المقود في سيارات الدفع الرباعي (مقودها أعرض) */
@media (orientation:portrait) and (max-width:767px){.s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-cruise{--crw:46px;left:calc(var(--sl) + 8px)}}
@media (orientation:landscape){
  /* المقود الدائري أفقياً: مربّع 2×2 بجانبه (− + فوق، تثبيت واستئناف تحت) والبوق والتفاعل فوق المقود كما كانا */
  .s3d-touch[data-steer="wheel"]:not([data-cam="cockpit"]) .s3d-cruise{left:calc(var(--sl) + var(--g) + var(--rw) + 8px);bottom:calc(var(--sb) + var(--g));width:calc(2*var(--crw) + 9px);height:auto;flex-wrap:wrap}
  .s3d-touch[data-steer="wheel"]:not([data-cam="cockpit"]) .s3d-cruise button{flex:0 0 var(--crw);height:var(--crb);min-width:0}
  .s3d-touch[data-steer="wheel"]:not([data-cam="cockpit"]) .s3d-cdn{order:1}.s3d-touch[data-steer="wheel"]:not([data-cam="cockpit"]) .s3d-cup{order:2}
  .s3d-touch[data-steer="wheel"]:not([data-cam="cockpit"]) .s3d-cset{order:3}.s3d-touch[data-steer="wheel"]:not([data-cam="cockpit"]) .s3d-cres{order:4}
  .s3d-touch[data-steer="wheel"][data-mode="car"]:not([data-cam="cockpit"]) .s3d-horn,.s3d-touch[data-steer="wheel"][data-mode="car"]:not([data-cam="cockpit"]) .s3d-act{bottom:calc(var(--sb) + var(--g) + var(--stz) + 10px)}
  /* الكاميرا الداخلية أفقياً: مربّع 2×2 بجانب البوق فوق زر النزول (العمود يبلغ الرادار) */
  .s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-cruise{flex-direction:row;flex-wrap:wrap;width:calc(2*var(--crw) + 9px);left:calc(var(--sl) + var(--g) + var(--hn) + 8px);bottom:calc(var(--sb) + var(--g) + var(--hn) + 10px)}
  .s3d-touch[data-cam="cockpit"][data-mode="car"] .s3d-cruise button{flex:0 0 var(--crw)}
  .s3d-touch[data-cam="cockpit"] .s3d-cruise .s3d-cdn{order:1}.s3d-touch[data-cam="cockpit"] .s3d-cruise .s3d-cup{order:2}   /* − ثم + في الصف */
}
@media (min-width:768px) and (min-height:600px){.s3d.s3d-touch{--crb:50px;--crw:58px}.s3d-cruise button{font-size:12px}.s3d-cruise i{width:22px;height:22px}}
/* المؤشر داخل العدّاد: يمين القرص أسفله (الحاسوب، والجوال أفقياً)، ويساره في الكاميرا الداخلية على الحاسوب، وتحته على الجوال عمودياً */
.s3d-crui{position:absolute;left:97%;bottom:6%;display:inline-flex;align-items:center;gap:4px;padding:2px 9px 2px 7px;border-radius:999px;white-space:nowrap;
  font-weight:900;font-size:max(11px,calc(var(--speedo)*.072));line-height:1.4;color:#d4d4d8;background:rgba(39,39,42,.85);border:1.5px solid rgba(255,255,255,.22);box-shadow:0 3px 10px rgba(0,0,0,.4)}
.s3d-crui i{display:block;width:1.15em;height:1.15em;flex:0 0 auto}
.s3d-crui svg{width:100%;height:100%}
.s3d-speedo .s3d-crui svg{position:static;inset:auto;filter:none}   /* قاعدة قرص العدّاد (svg مطلق يملأ الأب) لا تشمل أيقونة الشارة */
.s3d-cruk{font-family:system-ui,'Segoe UI',Tahoma,sans-serif;font-variant-numeric:tabular-nums}
.s3d-crui.on{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);border-color:rgba(255,255,255,.85);box-shadow:0 0 12px rgba(34,197,94,.5),0 3px 10px rgba(0,0,0,.4)}
.s3d:not(.s3d-touch)[data-cam="cockpit"][data-mode="car"] .s3d-crui{left:auto;right:97%;bottom:40%}   /* فوق مقياس g يسار القرص */
@media (orientation:portrait){
  .s3d-touch .s3d-crui{left:56%;bottom:auto;top:calc(100% + 7px);transform:translateX(-50%)}   /* تحت القرص ويمين مقياس g */
  .s3d-touch.s3d-cruvis[data-mode="car"]:not(.s3d-perfon):not(.s3d-drifting) .s3d-toast{top:calc(var(--st) + var(--g) + max(var(--toph) + 10px + var(--speedo) + 32px,var(--radar) + 10px + var(--cbh)) + 10px)}
}
@media (orientation:portrait) and (max-width:767px){.s3d-touch.s3d-perfon.s3d-cruvis[data-mode="car"] .s3d-drift{top:calc(var(--st) + var(--g) + var(--toph) + 44px + var(--speedo))}}

/* ════════════════════════════════════════════════════════════════════
   ✈️ الطائرة A320 (UI-INPUT، 2026-11-01): وضع data-mode="air" في مقعد الطيار ومكان data-place="air" داخل الطائرة،
   وطبقة air-ui (.s3d-air: رسائل خارج الأجهزة، شرح الأزرار، القائمة واللوحات، شريط المعلومات، مراقب الإدخال، الإبرازات)
   وتبويب «✈️ الطائرة» في حوار الإيقاف، وأدوات الطيران باللمس (.s3d-airt). لا تغيّر شيئاً في أوضاع المشي والسيارة.
   ════════════════════════════════════════════════════════════════════ */
.s3d[data-mode="air"] .s3d-cui,.s3d[data-mode="air"] .s3d-fui{display:none}
.s3d[data-place="air"] .s3d-sui{display:none}
.s3d[data-place="air"] .s3d-leave{display:inline-flex}
.s3d[data-place="air"] .s3d-pbtns .s3d-pleave{display:inline-flex}
.s3d[data-mode="air"] .s3d-camb{display:inline-flex}
.s3d-camt [data-v="air"]{display:none}
.s3d[data-mode="air"] .s3d-camt>span:not([data-v="air"]),.s3d[data-mode="air"] .s3d-camt>i{display:none}
.s3d[data-mode="air"] .s3d-camt [data-v="air"]{display:inline;opacity:1;background:#fff;color:#2e1065;text-shadow:none}
.s3d-phelp .s3d-h-air,.s3d-phelp .s3d-h-cabin{display:none}
.s3d[data-mode="air"] .s3d-phelp section{display:none}
.s3d[data-mode="air"] .s3d-phelp .s3d-h-air{display:block}
.s3d[data-place="air"][data-mode="foot"] .s3d-phelp section{display:none}
.s3d[data-place="air"][data-mode="foot"] .s3d-phelp .s3d-h-cabin{display:block}
.s3d-airb[aria-pressed="true"]{background:linear-gradient(135deg,#0369a1,#7c3aed);border-color:rgba(255,255,255,.42);box-shadow:0 8px 22px rgba(3,105,161,.45)}
@media (max-width:420px),(orientation:landscape) and (max-height:430px){.s3d-airb span{display:none}}
/* CT-09 (الموجة 3b): زر «قم من المقعد» باللمس شارة صغيرة على الحافة تحت زر الخروج (كان وسط الزجاج الأمامي) */
.s3d-touch[data-mode="air"] .s3d-act{left:calc(var(--sl) + var(--g));right:auto;bottom:auto;top:calc(var(--st) + var(--g) + max(var(--radar),var(--toph)) + 66px);transform:none;
  min-height:40px;max-width:min(170px,40vw);padding:3px 10px 3px 12px;gap:6px;font-size:12.5px}
.s3d-touch[data-mode="air"] .s3d-act i{font-size:17px}
.s3d-touch[data-mode="air"] .s3d-act:active,.s3d-touch[data-mode="air"] .s3d-act.down{transform:scale(.95)}

/* ── طبقة air-ui ── */
.s3d-air{position:absolute;inset:0;z-index:2;pointer-events:none}
.s3d-airmsgs,.s3d-airtip.dock,.s3d-airmenu,.s3d-airp{pointer-events:auto}
.s3d-airmsgs{position:absolute;top:calc(var(--st) + var(--g) + var(--toph) + 10px);right:calc(var(--sr) + var(--g));width:min(380px,calc(100% - var(--sl) - var(--sr) - 2*var(--g)));display:flex;flex-direction:column;gap:6px}
.s3d-airmsgs:empty{pointer-events:none}
.s3d-airmsg{display:flex;gap:9px;align-items:flex-start;padding:8px 12px;border-radius:14px;background:rgba(12,9,24,.86);border:1px solid var(--edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 8px 22px rgba(0,0,0,.4);font-size:13.5px;line-height:1.45;text-align:right;cursor:pointer;animation:s3dAirIn .25s ease-out}
.s3d-airmsg>i{font-style:normal;font-size:17px;line-height:1.35;flex:0 0 auto}
.s3d-airmsg p{margin:0;font-weight:700}
.s3d-am-k{display:block;font-size:11px;font-weight:800;opacity:.72}
.s3d-am-en{font-weight:600!important;opacity:.82;font-size:12.5px}
.s3d-airmsg[data-kind="warn"]{border-color:rgba(251,191,36,.6);background:rgba(66,40,4,.9)}
.s3d-airmsg[data-kind="rule"]{border-color:rgba(167,139,250,.6)}
.s3d-airmsg[data-kind="atc"]{border-color:rgba(56,189,248,.6);background:rgba(6,34,52,.9)}
.s3d-airmsg[data-kind="reject"]{border-color:rgba(248,113,113,.6);background:rgba(60,10,16,.9)}
@keyframes s3dAirIn{from{opacity:0;transform:translateY(-6px)}}
.s3d-airtip{position:absolute;left:0;top:0;width:min(340px,calc(100% - 16px));padding:10px 12px 9px;border-radius:14px;background:rgba(12,9,24,.93);border:1px solid var(--edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 10px 28px rgba(0,0,0,.45);font-size:13px;line-height:1.5;text-align:right}
.s3d-airtip.dock{left:50%!important;top:auto!important;bottom:calc(var(--sb) + var(--g) + 92px);transform:translateX(-50%)}
.s3d-touch .s3d-airtip.dock{bottom:auto!important;top:calc(var(--st) + var(--g) + max(var(--toph),var(--radar)) + 10px)!important}
.s3d-airtip header{display:flex;align-items:center;gap:8px}
.s3d-touch .s3d-airtip header{margin-inline-end:30px}
.s3d-at-n{font-size:14.5px;font-weight:900}
.s3d-at-b{flex:0 0 auto;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.s3d-at-b.ok{background:#15803d}.s3d-at-b.part{background:#b45309}.s3d-at-b.inop{background:#b91c1c}.s3d-at-b.disp{background:rgba(255,255,255,.18)}
.s3d-airtip p{margin:5px 0 0}
.s3d-at-m{font-size:12px;opacity:.86}
.s3d-at-r{font-size:12px;color:#fecaca}
.s3d-airtip footer{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:6px;font-size:11px;opacity:.72}
.s3d-at-i{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.s3d-at-x{position:absolute;top:5px;left:5px;width:32px;height:32px;border:0;border-radius:9px;background:rgba(255,255,255,.08);font-weight:900}
.s3d:not(.s3d-touch) .s3d-at-x{display:none}
.s3d-airmenu{position:absolute;top:calc(var(--st) + var(--g) + var(--toph) + 8px);right:calc(var(--sr) + var(--g));z-index:3;display:flex;flex-direction:column;gap:3px;padding:6px;min-width:260px;
  border-radius:16px;background:rgba(16,12,32,.97);border:1px solid var(--edge);box-shadow:0 18px 40px rgba(0,0,0,.55);max-height:calc(100% - var(--st) - var(--sb) - 2*var(--g) - var(--toph) - 8px);overflow-y:auto;overscroll-behavior:contain}
.s3d .s3d-airmenu,.s3d .s3d-airmenu *{touch-action:pan-y}
.s3d-airmenu button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:0;border-radius:11px;background:transparent;font-weight:800;font-size:14px;text-align:right}
.s3d-airmenu button i{font-style:normal;font-size:18px;line-height:1}
.s3d-airp{position:absolute;left:calc(var(--sl) + var(--g));top:calc(var(--st) + var(--g));width:min(440px,calc(100% - var(--sl) - var(--sr) - 2*var(--g)));
  max-height:calc(100% - var(--st) - var(--sb) - 4*var(--g) - var(--radar) - var(--cbh) - 20px);display:flex;flex-direction:column;border-radius:18px;
  background:rgba(16,12,32,.95);border:1px solid var(--edge);box-shadow:0 18px 44px rgba(0,0,0,.5);text-align:right;overflow:hidden;cursor:default}
.s3d.s3d-noradar .s3d-airp{max-height:calc(100% - var(--st) - var(--sb) - 3*var(--g) - var(--cbh) - 30px)}
.s3d.s3d-airpanelon .s3d-help{display:none}
.s3d-airp>header{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;min-height:52px;border-bottom:1px solid rgba(255,255,255,.08)}
.s3d-airp>header b{flex:1 1 auto;font-size:16px;font-weight:900}
.s3d-airp-x{width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.08);font-weight:900}
.s3d-airp-b{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px 14px 14px;font-size:13.5px;line-height:1.55;display:grid;gap:8px;align-content:start;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.s3d .s3d-airp-b,.s3d .s3d-airp-b *{touch-action:pan-y}
.s3d .s3d-airp-b input[type="range"]{touch-action:none}
.s3d-airp h4,.s3d-airctl h4{margin:6px 0 0;font-size:14px;font-weight:900;color:#c4b5fd}
.s3d-airp p{margin:0}
.s3d-airnote{margin:0;padding:8px 10px;border-radius:12px;background:rgba(124,58,237,.16);border:1px solid rgba(167,139,250,.3);font-size:12.5px;font-weight:700;line-height:1.5}
.s3d-airst{margin:0;font-size:12.5px;opacity:.86}
.s3d-airres{margin:0;min-height:1.4em;font-weight:800}
.s3d-airbtns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.s3d-airbtns button,.s3d-airdoor button,.s3d-airchk-c button,.s3d-airchk-l button,.s3d-airkb button,.s3d-aircap button,.s3d-airdet button,.s3d-airdv>button{min-height:40px;padding:0 12px;
  border-radius:11px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);font-weight:800;font-size:13px;transition:background .15s,transform .1s}
.s3d-airbtns button:active,.s3d-airdoor button:active,.s3d-airchk-c button:active,.s3d-airkb button:active{transform:scale(.96)}
.s3d-airbtns select,.s3d-airaxc select,.s3d-airbmr select{min-height:40px;max-width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:#1b1530;color:#fff;font:inherit;font-size:13px;padding:0 8px}
@media (hover:hover){.s3d-airmenu button:hover{background:rgba(124,58,237,.3)}.s3d-airbtns button:hover,.s3d-airdoor button:hover,.s3d-airchk-c button:hover,.s3d-airchk-l button:hover,.s3d-airkb button:hover,.s3d-aircap button:hover,.s3d-airdet button:hover,.s3d-airdv>button:hover{background:rgba(124,58,237,.28)}}
.s3d-airdoors{display:grid;gap:5px}
.s3d-airdoor{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:6px;padding:4px 8px;border-radius:11px;background:rgba(255,255,255,.04)}
.s3d-airdoor>span{font-weight:800}
.s3d-airdoor b{font-size:12px;font-weight:700;opacity:.85}
.s3d-airfg{border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.s3d-airfg summary{display:flex;justify-content:space-between;align-items:center;min-height:42px;padding:0 12px;font-weight:900;cursor:pointer}
.s3d-airfg summary b{min-width:22px;padding:0 6px;border-radius:999px;background:#b91c1c;font-size:12px;text-align:center}
.s3d-airfg summary b:empty{display:none}
.s3d-airf{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:2px 12px;font-size:13px;cursor:pointer}
.s3d-airf input{width:20px;height:20px;margin:0;accent-color:#ef4444}
.s3d-airf bdi{font-size:10.5px;opacity:.55;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.s3d-airlead{font-weight:900;font-size:14px}
.s3d-airlim table{width:100%;border-collapse:collapse;font-size:12.5px}
.s3d-airlim th,.s3d-airlim td{padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.08);text-align:center;font-variant-numeric:tabular-nums}
.s3d-airlim tbody th{text-align:right;font-weight:800}
.s3d-airlim small{display:block;margin-top:4px;font-size:11px;opacity:.7}
.s3d-airgaps{margin:0;padding-inline-start:18px;display:grid;gap:4px;font-size:12.5px}
.s3d-airchk-l{display:flex;flex-wrap:wrap;gap:5px}
.s3d-airchk-l button[aria-pressed="true"]{background:linear-gradient(135deg,var(--acc),var(--acc-2));border-color:rgba(255,255,255,.4)}
.s3d-airchk ol{margin:0;padding-inline-start:20px;display:grid;gap:6px}
.s3d-airchk li{padding:6px 8px;border-radius:11px;background:rgba(255,255,255,.035)}
.s3d-airchk li.cur{background:rgba(251,191,36,.14);outline:1px solid rgba(251,191,36,.45)}
.s3d-airchk li.done{opacity:.62}
.s3d-airchk label{display:flex;gap:8px;align-items:flex-start;font-weight:700;cursor:pointer}
.s3d-airchk input{width:20px;height:20px;margin:2px 0 0;accent-color:#22c55e;flex:0 0 auto}
.s3d-airchk small{display:block;margin-top:3px;font-size:11.5px;opacity:.75}
.s3d-airchk-c{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;align-items:center}
.s3d-airchip{padding:1px 8px;border-radius:999px;background:rgba(124,58,237,.25);font-size:11.5px;font-weight:700}
.s3d-airchip em{font-style:normal;opacity:.75;font-size:11px}
.s3d-airstrip{position:absolute;left:0;right:0;margin:0 auto;width:max-content;bottom:calc(var(--sb) + var(--g));display:flex;flex-wrap:wrap;justify-content:center;gap:2px 12px;
  max-width:calc(100% - var(--sl) - var(--sr) - 4*var(--g) - 2*var(--radar));padding:5px 14px 6px;border-radius:14px;background:rgba(12,9,24,.8);border:1px solid var(--edge);font-size:12.5px}
.s3d-airstrip small{flex-basis:100%;text-align:center;font-size:10px;opacity:.6}
.s3d-airstrip span{display:inline-flex;gap:5px;align-items:baseline}
.s3d-airstrip em{font-style:normal;font-size:10.5px;opacity:.65;font-weight:800}
.s3d-airstrip b{font-family:system-ui,'Segoe UI',Tahoma,sans-serif;font-variant-numeric:tabular-nums;font-weight:900}
.s3d.s3d-airstripon:not(.s3d-touch) .s3d-act{bottom:calc(var(--sb) + var(--g) + 76px)}
.s3d-touch .s3d-airstrip{bottom:auto;top:calc(var(--st) + var(--g) + var(--toph) + 8px);max-width:calc(100% - 2*(var(--radar) + 2*var(--g)));padding:3px 10px;gap:0 9px;font-size:11px}
.s3d-touch .s3d-airstrip small{display:none}
.s3d-touch.s3d-airstripon[data-mode="air"] .s3d-act{top:calc(var(--st) + var(--g) + max(var(--radar),var(--toph)) + 66px)}
.s3d-airmon{position:absolute;right:calc(var(--sr) + var(--g));bottom:calc(var(--sb) + var(--g));display:flex;gap:10px;align-items:stretch;padding:8px 10px;border-radius:14px;background:rgba(12,9,24,.8);border:1px solid var(--edge);font-size:10.5px}
.s3d-am-stk{position:relative;width:64px;height:64px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18)}
.s3d-am-stk::before,.s3d-am-stk::after{content:"";position:absolute;background:rgba(255,255,255,.18)}
.s3d-am-stk::before{left:50%;top:6px;bottom:6px;width:1px}
.s3d-am-stk::after{top:50%;left:6px;right:6px;height:1px}
.s3d-am-stk i{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:linear-gradient(135deg,var(--acc),var(--acc-2));border:2px solid #fff}
.s3d-am-col{display:flex;flex-direction:column;gap:2px;width:112px}
.s3d-am-col b{font-size:10px;font-weight:800;opacity:.7}
.s3d-am-bar{position:relative;display:block;height:7px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.s3d-am-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:#a78bfa}
.s3d-am-bar.bi::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.5)}
.s3d-am-two{display:flex;gap:4px}.s3d-am-two .s3d-am-bar{flex:1 1 0}
.s3d-am-two .s3d-am-bar i{background:#f87171}
.s3d-am-thr{position:relative;display:flex;gap:5px;align-items:flex-end;padding-bottom:14px}
.s3d-am-v{position:relative;display:block;width:12px;height:64px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.s3d-am-v i{position:absolute;left:0;right:0;bottom:0;height:0;background:#34d399}
.s3d-am-v.rev i{background:#f59e0b}
.s3d-am-v.sb i{background:#60a5fa}
.s3d-am-thr small{position:absolute;bottom:0;right:0;white-space:nowrap;font-size:9px;opacity:.6}
.s3d-airhl,.s3d-airbadges{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.s3d-airhl{z-index:-1}   /* تحديث 10: تحت كل ما في طبقة .s3d-air: كانت الحلقات وعناوينها تُرسم فوق لوحة مفتوحة وتخفي أزرارها */
.s3d-airstrip,.s3d-airmon{z-index:-2}   /* مراجعة تحديث 10: شريط المعلومات وشاشة الأدوات (للعرض فقط) يبقيان تحت الحلقات كما كانا، فلا يغطيان أسماء أزرار الخطوة */
.s3d-airhl i{position:absolute;left:0;top:0;width:0;height:0;opacity:1;transition:opacity .8s ease}
.s3d-airhl i.gone{opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s}   /* ✈️ تحديث 14: الحلقة واسمها يتلاشيان بعد ثوانٍ على الشاشة (UI_EST.ringShow) */
.s3d-airhl i::before{content:"";position:absolute;left:calc(var(--d,44px) / -2);top:calc(var(--d,44px) / -2);width:var(--d,44px);height:var(--d,44px);border-radius:50%;border:3px solid #fbbf24;box-shadow:0 0 0 3px rgba(0,0,0,.35),0 0 18px rgba(251,191,36,.8);animation:s3dAirHl 1.2s ease-in-out infinite}   /* ✈️ تحديث 14: القطر --d يتبع الزر على الشاشة فيحيط به ولا يغطيه */
.s3d-airhl i.gone::before{animation-play-state:paused}   /* مراجعة: النبض يتجمد على حجمه فلا تقفز الحلقة وهي تتلاشى */
.s3d-airhl i b{position:absolute;top:26px;left:0;transform:translateX(-50%);white-space:nowrap;padding:1px 7px;border-radius:999px;background:rgba(12,9,24,.85);font-size:11px;font-weight:800}
@keyframes s3dAirHl{50%{transform:scale(1.2)}}
.s3d-airbadges i{position:absolute;left:0;top:0;padding:0 4px;border-radius:5px;font-style:normal;font-size:9px;font-weight:900;line-height:1.5;color:#fff;font-family:system-ui,'Segoe UI',Tahoma,sans-serif}
.s3d-airbadges i.inop{background:#b91c1c}.s3d-airbadges i.part{background:#b45309}
.s3d-touch .s3d-airp{left:calc(var(--sl) + var(--g));right:calc(var(--sr) + var(--g));width:auto;top:calc(var(--st) + var(--g) + var(--toph) + 8px);bottom:calc(var(--sb) + var(--g));max-height:none;z-index:3}
.s3d-touch .s3d-airmsgs{width:min(320px,calc(100% - var(--sl) - var(--sr) - 2*var(--g)))}
@media (max-width:760px){.s3d:not(.s3d-touch) .s3d-airp{right:calc(var(--sr) + var(--g));width:auto}}

/* ── الموجة 3 (UI): حالة حية في شرح الزر، شرح ECAM، لوحة كتابة MCDU، مراقبة اللعبة، إعدادات الصوت ── */
.s3d-at-l{font-size:12px;font-weight:700;color:#fde68a}
.s3d-at-l.inop{color:#fecaca}
.s3d-at-l b,.s3d-at-r b{font-weight:900}
.s3d-at-e{display:grid;gap:2px;font-size:12px;padding:5px 8px;border-radius:10px;background:rgba(255,255,255,.06)}
.s3d-at-e bdi,.s3d-airecam bdi{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}
.s3d-at-e .lv3 bdi,.s3d-airecam .lv3 bdi{color:#fca5a5}
.s3d-at-e .lv2 bdi,.s3d-at-e .lv1 bdi,.s3d-airecam .lv2 bdi,.s3d-airecam .lv1 bdi{color:#fcd34d}
.s3d-airecam{padding:6px 10px;border-radius:12px;background:rgba(12,9,24,.84);border:1px solid rgba(251,191,36,.45);font-size:12px;line-height:1.45;text-align:right;pointer-events:none}
.s3d-airecam p{margin:2px 0 0;display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline}
.s3d-airecam small{display:block;font-size:10.5px;opacity:.72}
.s3d-airecam[hidden]{display:none}
/* اللمس: الرسائل وشرح ECAM الموسَّع لا تحجب أدوات الطيران تحتها (تختفي وحدها)؛ حبة ECAM المصغّرة وحدها تُلمس لتوسيعها */
.s3d-touch .s3d-airmsg,.s3d-touch .s3d-airecam{pointer-events:none}
.s3d-airecam.mini{pointer-events:auto;cursor:pointer}
.s3d-touch .s3d-airmsgs>.s3d-airmsg:nth-child(n+3){display:none}
.s3d-touch .s3d-airmsg{padding:6px 10px;font-size:12.5px}
.s3d-touch .s3d-airecam{font-size:11px;padding:4px 8px}
.s3d-touch .s3d-airecam p:nth-of-type(n+2),.s3d-touch .s3d-airecam:not(.mini) small:last-child:not(:first-child){display:none}
@media (orientation:landscape){.s3d-touch .s3d-airmsgs{width:min(300px,calc(100% - var(--sl) - var(--sr) - 2*var(--g)))}}
.s3d-airecam.mini{align-self:flex-start;padding:3px 10px;border-radius:999px}
.s3d-airmsgs{pointer-events:none}
.s3d-airmsg{pointer-events:auto}
.s3d-airmk{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--sb) + var(--g) + 8px);z-index:3;width:min(560px,calc(100% - var(--sl) - var(--sr) - 2*var(--g)));display:grid;gap:5px;
  padding:8px 12px 9px;border-radius:16px;background:rgba(10,14,28,.95);border:2px solid #38bdf8;box-shadow:0 0 0 4px rgba(56,189,248,.18),0 12px 30px rgba(0,0,0,.5);pointer-events:auto;text-align:right;box-sizing:border-box}
.s3d-airmk header{display:flex;align-items:center;gap:8px;min-width:0}
.s3d-airmk header i{font-style:normal}
.s3d-airmk header b{flex:1 1 auto;min-width:0;font-weight:900;font-size:14px}
.s3d-airmk-pg{font:800 11.5px ui-monospace,SFMono-Regular,Menlo,monospace;opacity:.75;white-space:nowrap}
.s3d-airmk-x{flex:0 0 auto;width:36px;height:36px;border:0;border-radius:10px;background:rgba(255,255,255,.1);font-weight:900}
.s3d-airmk-sp{display:flex;align-items:center;min-height:34px;padding:4px 10px;border-radius:8px;background:#000;border:1px solid rgba(255,255,255,.18);font:700 18px/1.2 'B612 Mono',ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff;letter-spacing:.06em;overflow:hidden;white-space:pre;cursor:text}
.s3d-airmk-t.msg{color:#fbbf24}
.s3d-airmk-c{display:inline-block;width:2px;height:1.1em;margin-left:2px;background:#38bdf8;animation:s3dAirBlink 1s steps(2,start) infinite}
@keyframes s3dAirBlink{to{visibility:hidden}}
.s3d-airmk-in{position:absolute;left:12px;bottom:10px;width:1px;height:1px;padding:0;border:0;opacity:0;font-size:16px;pointer-events:none}
.s3d-airmk-h{margin:0;font-size:11px;line-height:1.5;opacity:.75}
.s3d-airmk-h[data-tmp]{opacity:1;color:#fde68a;font-weight:800}
.s3d-airmk-open{display:none;min-height:40px;border-radius:11px;border:1px solid rgba(255,255,255,.22);background:rgba(56,189,248,.18);font-weight:800}
.s3d-airmk.touch .s3d-airmk-open{display:block}
.s3d-airmk.touch .s3d-airmk-h{display:none}
.s3d-touch .s3d-airmk{bottom:auto;top:calc(var(--st) + var(--g) + var(--toph) + 8px)}
.s3d-air.kbon .s3d-airtip.dock{bottom:calc(var(--sb) + var(--g) + 170px)}
.s3d-airmk-ring{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none}
.s3d-airmk-ring::before{content:"";position:absolute;left:calc(var(--w,88px) / -2);top:calc(var(--h,68px) / -2);width:var(--w,88px);height:var(--h,68px);border-radius:10px;border:3px solid #38bdf8;box-shadow:0 0 0 3px rgba(0,0,0,.35),0 0 16px rgba(56,189,248,.8)}
.s3d-airatc{display:grid;gap:6px}
.s3d-airatcm{padding:7px 10px;border-radius:12px;background:rgba(6,34,52,.75);border:1px solid rgba(56,189,248,.35)}
.s3d-airatcm header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;font-size:12px}
.s3d-airatcm header bdi{opacity:.75;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.s3d-airatcm p{margin:3px 0 0;font-weight:700}
.s3d-airatcm p.en{font-weight:600;opacity:.82;font-size:12.5px}
.s3d-airatcm small{display:block;font-size:11px;color:#fde68a}
.s3d-airatcm.unheard{opacity:.72;border-style:dashed}
.s3d-airhow ol{margin:0;padding:2px 12px 10px;padding-inline-start:30px;display:grid;gap:4px;font-size:12.5px;line-height:1.5}
.s3d-airintro{margin:0;padding:8px 10px;border-radius:12px;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.28);font-size:12.5px;line-height:1.55}
.s3d-airbtns .s3d-airpre{background:rgba(34,197,94,.16);border-color:rgba(134,239,172,.45);text-align:right;line-height:1.35;padding:6px 12px}
.s3d-airbtns .s3d-airpre[data-armed="1"]{background:rgba(180,83,9,.55);border-color:#fbbf24}
.s3d-airaud{display:grid;gap:4px;padding:0 4px}
.s3d-airaud p{margin:0}
.s3d-row.s3d-airvoice{grid-template-columns:minmax(0,1fr)}
.s3d-airvb .s3d-seg{flex-direction:column}
.s3d-airvb .s3d-seg button{flex:0 0 auto;min-height:40px;text-align:right;padding:4px 12px}

/* الجوال عمودياً داخل الطائرة: زر الخروج يساراً وزر الكاميرا يميناً تحت الشريط (كانا متراكبين)، وزر التفاعل وسطاً تحتهما،
   ثم عمود الرسائل وشرح ECAM ولوحة كتابة MCDU وشرح الزر تحت زر التفاعل؛ رسالتان على الأكثر وشرح ECAM بسطر واحد */
@media (max-width:560px){
  .s3d-touch[data-place="air"] .s3d-camb{left:auto;right:calc(var(--sr) + var(--g));top:calc(var(--st) + var(--g) + var(--toph) + 10px)}
  .s3d-touch[data-place="air"] .s3d-airmsgs,.s3d-touch[data-place="air"] .s3d-airmk{top:calc(var(--st) + var(--g) + var(--toph) + 128px);bottom:auto;width:calc(100% - var(--sl) - var(--sr) - 2*var(--g))}
  .s3d-touch[data-place="air"] .s3d-airtip.dock{top:calc(var(--st) + var(--g) + var(--toph) + 128px)!important}
  .s3d-touch.s3d-airsideon:not(.s3d-airsideopen)[data-place="air"] .s3d-airmsgs{top:calc(var(--st) + var(--g) + max(var(--radar),var(--toph)) + 162px)}
  .s3d-touch.s3d-airsideon.s3d-airstripon:not(.s3d-airsideopen)[data-place="air"] .s3d-airmsgs{top:calc(var(--st) + var(--g) + var(--radar) + var(--cbh) + 182px)}
}

/* ── الموجة 3b (UI): أزرار خطوة قائمة التحقق خارج مجال الرؤية — شارة على حافة الشاشة بسهم نحو الزر واسمه، والنقر يدير النظر إليه
   (CT-12)؛ وسطر «خطوات الإجراء تقريبية» في شرح ECAM (HO-01)؛ وزر الرجوع إلى القائمة باللمس ── */
.s3d-airoff{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.s3d-airzoom{position:absolute;left:50%;bottom:calc(var(--sb) + var(--g) + 10px);transform:translateX(-50%);pointer-events:auto;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px 0 12px;border-radius:999px;   /* ✈️ تحديث 14: مقدار التقريب في القمرة، والضغط يعيد منظر الكاميرا */
  border:1px solid var(--edge);background:rgba(12,9,24,.84);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 10px rgba(0,0,0,.35)}
.s3d-airzoom[hidden]{display:none}
.s3d-airzoom>i{font-style:normal;font-size:15px;line-height:1}
.s3d-airzoom>b{font-size:15px;color:#fbbf24}
.s3d-airzoom>small{font-size:11px;font-weight:700;opacity:.8}
.s3d-touch .s3d-airzoom{bottom:auto;top:calc(var(--st) + var(--g) + var(--toph) + 60px)}   /* اللمس: أدوات الطيران في الأسفل */
@media (orientation:portrait) and (max-width:767px){.s3d-touch .s3d-airzoom{top:calc(var(--st) + var(--g) + var(--toph) + 116px);left:auto;right:calc(var(--sr) + var(--g));transform:none;padding:0 10px 0 9px;gap:5px}.s3d-touch .s3d-airzoom>i{display:none}}   /* الجوال عمودياً: تحت «أدوات الطيران» في الطرف، بعيداً عن تبويب «مساعد الطيار» (اللوحي يبقى في الوسط) */
.s3d-touch .s3d-airside{z-index:1}   /* مراجعة تحديث 14: تبويبات «مساعد الطيار» ولوحتها فوق شارة التقريب دائماً على اللمس */
@media (max-width:767px),(max-height:500px){.s3d-touch.s3d-airsideopen .s3d-airzoom{display:none}}   /* مراجعة: لا فوق ورقة «مساعد الطيار» المفتوحة على الجوال */
@media (max-width:1000px){.s3d:not(.s3d-touch) .s3d-airzoom{bottom:calc(var(--sb) + var(--g) + 50px)}}   /* مراجعة: نافذة ضيقة — فوق «قم من المقعد» */
.s3d.s3d-airstripon:not(.s3d-touch) .s3d-airzoom{bottom:calc(var(--sb) + var(--g) + var(--air-striph,64px) + 12px)}   /* مراجعة: فوق شريط المعلومات حين يكون ظاهراً */
.s3d-airoffc{position:absolute;left:0;top:0;pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,auto);grid-template-areas:"a n" "a h";align-items:center;column-gap:7px;max-width:250px;min-height:42px;padding:4px 12px 4px 8px;
  border-radius:14px;border:2px solid #fbbf24;background:rgba(12,9,24,.9);color:#fff;font:inherit;font-size:12px;font-weight:800;text-align:right;box-shadow:0 0 0 2px rgba(0,0,0,.35),0 0 14px rgba(251,191,36,.45);cursor:pointer}
.s3d-airoffc>i{grid-area:a;font-style:normal;font-size:18px;line-height:1;color:#fbbf24;display:inline-block;direction:ltr}
.s3d-airoffc>span{grid-area:n;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.s3d-airoffc>small{grid-area:h;font-size:10.5px;font-weight:700;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s3d-airoffc>small:empty{display:none}
.s3d-airoffc[hidden],.s3d-airoffb[hidden],.s3d-airoffc>i[hidden]{display:none}
.s3d-airoffb{position:absolute;left:50%;top:calc(var(--st) + var(--g) + var(--toph) + 8px);transform:translateX(-50%);pointer-events:auto;min-height:44px;padding:0 16px;border-radius:999px;
  border:2px solid rgba(255,255,255,.4);background:linear-gradient(135deg,var(--acc),var(--acc-2));color:#fff;font:inherit;font-weight:900;font-size:13px;white-space:nowrap}
@media (hover:hover){.s3d-airoffc:hover{background:rgba(124,58,237,.62)}}
.s3d-touch .s3d-airoffc{max-width:190px;min-height:36px;padding:2px 9px 2px 6px;font-size:11px;column-gap:5px}
.s3d-airoffc>.s3d-airoff-en{display:none}
.s3d-touch .s3d-airoffc>.s3d-airoff-ar{display:none}
.s3d-touch .s3d-airoffc>.s3d-airoff-en{display:-webkit-box;-webkit-line-clamp:1}
.s3d-touch .s3d-airoffc>small{display:none}
.s3d-at-e .est{color:#fde68a;font-weight:700}
.s3d-airecam .s3d-airecam-est{color:#fde68a;font-weight:700;opacity:1}

/* CT-09 (3b): على الحاسوب زر «قم من المقعد» أسفل اليسار بجانب الخريطة الصغيرة (كان أسفل الوسط فوق حافة PFD وND) */
.s3d:not(.s3d-touch)[data-mode="air"] .s3d-act{left:calc(var(--sl) + var(--g) + var(--radar) + 12px);right:auto;transform:none;bottom:calc(var(--sb) + var(--g));min-height:44px;font-size:14px}
.s3d.s3d-noradar:not(.s3d-touch)[data-mode="air"] .s3d-act{left:calc(var(--sl) + var(--g) + 186px)}
/* تحديث 10: «شريط المعلومات» يبدأ بعد زر الخروج وزر الفعل (كان فوق «قم من المقعد» ونصف «اخرج من الطائرة») */
.s3d.s3d-airstripon:not(.s3d-touch)[data-mode='air'] .s3d-airstrip{left:calc(var(--sl) + var(--g) + max(var(--radar) + 12px,186px) + 200px);right:calc(var(--sr) + var(--g));margin:0;width:auto}
.s3d.s3d-airstripon.s3d-airsideopen:not(.s3d-airsideL):not(.s3d-touch)[data-mode='air'] .s3d-airstrip{right:calc(var(--sr) + var(--g) + clamp(290px,26vw,400px) + 8px)}   /* مراجعة تحديث 10: واللوحة الجانبية مفتوحة على اليمين (مقعد مساعد الطيار أو ⇆) يقف الشريط قبلها: كان يغطي أسفلها كله (عرضها مكتوب هنا: --asw معرَّف على اللوحة لا على الجذر) */
.s3d:not(.s3d-touch)[data-mode="air"] .s3d-act:active,.s3d:not(.s3d-touch)[data-mode="air"] .s3d-act.down{transform:scale(.95)}

/* ── الجولة 2 (UI، 2026-11-03): سطر «كيف:» في شرح الزر (حركات الإدخال المستعمل: دفع/سحب/تدوير المقابض، رفع/سحب الأقفال)،
   وشارة «غير مركّب في هذا التكوين»، وسطر وصف بداية القائمة، وزر «❓ اشرح» في الشريط العلوي باللمس (وضع الشرح بلا تشغيل؛
   الشريط العلوي لا يغطي أدوات الإبهام) ── */
.s3d-at-h{font-size:12px;opacity:.9}
.s3d-at-h b{color:#a7f3d0}
.s3d-at-b.nofit{background:#475569}
.s3d-airpre-sub{margin-top:-2px;font-size:11.5px}
.s3d-inspb[aria-pressed="true"]{background:linear-gradient(135deg,#0369a1,#7c3aed);border-color:#fff;box-shadow:0 0 0 3px rgba(56,189,248,.4)}
@media (max-width:420px),(orientation:landscape) and (max-height:430px){.s3d-inspb span{display:none}}

/* ── تبويب «✈️ الطائرة» في حوار الإيقاف ── */
.s3d-airset{display:grid;gap:8px}
.s3d-airh{margin:12px 0 0;font-size:15px;font-weight:900;color:#c4b5fd}
.s3d-airh:first-child{margin-top:0}
.s3d-airnote2{display:block;padding:0 4px}
.s3d-airctl,.s3d-airctl-in{display:grid;gap:8px}
.s3d-airkg{border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.s3d-airkg summary{min-height:42px;display:flex;align-items:center;padding:0 12px;font-weight:900;cursor:pointer}
.s3d-airkrow{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 8px;padding:5px 12px;border-top:1px solid rgba(255,255,255,.05);font-size:13px}
.s3d-airkl{line-height:1.4}
.s3d-airkk{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.s3d-airkk kbd{display:inline-flex;align-items:center;gap:3px}
.s3d-airkk kbd button{min-width:0;border:0;background:transparent;padding:0 0 0 3px;font-size:12px;opacity:.7}
.s3d-airkk i{font-style:normal;opacity:.5}
.s3d-airkb{display:flex;gap:4px}
.s3d-airkb button{min-height:36px;padding:0 10px}
.s3d-airkcap{grid-column:1/-1;min-height:40px;border-radius:10px;border:2px solid var(--hot);background:#1b1530;color:#fff;font:inherit;font-weight:800;font-size:13px;padding:0 10px;text-align:center}
.s3d-airwarn{margin:0;color:#fde68a;font-size:12.5px;font-weight:700}
@media (max-width:540px){.s3d-airkrow{grid-template-columns:minmax(0,1fr) auto}.s3d-airkb{grid-column:1/-1}}
.s3d-airdevs{display:grid;gap:6px}
.s3d-airdv{display:flex;align-items:center;gap:8px;padding:4px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}
.s3d-airdv.on{border-color:rgba(167,139,250,.7);background:rgba(124,58,237,.14)}
.s3d-airdv>button{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:48px;text-align:right;padding:4px 10px}
.s3d-airdv small{font-size:10.5px;opacity:.7;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s3d-airdv em{font-style:normal;font-size:10.5px;color:#fde68a}
.s3d-airdev{display:grid;gap:8px}
.s3d-airdev h5{margin:4px 0 0;font-size:13.5px;font-weight:900}
.s3d-airax{display:grid;gap:6px}
.s3d-airaxr{display:grid;gap:5px;padding:6px 8px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.s3d-airaxh{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;font-size:12px}
.s3d-airbar{position:relative;display:block;height:10px;border-radius:5px;background:rgba(255,255,255,.12);overflow:hidden}
.s3d-airbar i{position:absolute;left:0;top:0;bottom:0;width:0;background:#94a3b8}
.s3d-airbar.out i{background:linear-gradient(90deg,var(--acc),var(--acc-2))}
.s3d-airaxc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px}
.s3d-airaxc label{display:inline-flex;align-items:center;gap:5px}
.s3d-airaxc input[type="range"]{width:92px;accent-color:var(--acc)}
.s3d-airaxc output{min-width:34px;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;font-weight:800}
.s3d-airaxc .s3d-sw{width:56px;height:40px}
.s3d-airlbl{font-size:12px;margin-inline-start:-6px}
.s3d-aircap,.s3d-airdet{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.s3d-aircap button,.s3d-airdet button{min-height:34px;padding:0 9px;font-size:12px}
.s3d-airdet small{flex-basis:100%;font-size:11px;opacity:.72}
.s3d-airdet button[aria-pressed="true"]{background:#15803d;border-color:rgba(255,255,255,.4)}
.s3d-airbm{display:grid;gap:4px}
.s3d-airbmr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;font-size:12.5px}
.s3d-airbmr>button{width:36px;min-height:36px;border-radius:9px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06)}

/* ── أدوات الطيران باللمس (air-touch.js): العصا تحت الإبهام الأيسر وذراعا الدفع تحت الأيمن ── */
.s3d-airt{position:absolute;inset:0;z-index:1;pointer-events:none;--ats:var(--joy);--atw:62px;--ath:min(236px,44vh);--atr:min(300px,40vw);--atb:56px;--atk:172px}
.s3d:not(.s3d-touch) .s3d-airt,.s3d:not([data-mode="air"]) .s3d-airt,.s3d.s3d-paused .s3d-airt{display:none}
.s3d-airt>*{pointer-events:auto}
.s3d-airt-brk{pointer-events:none}
.s3d-airt-stick{position:absolute;left:calc(var(--sl) + var(--g) + 6px);bottom:calc(var(--sb) + var(--g));display:flex;flex-direction:column;align-items:center;gap:3px;touch-action:none}
.s3d-airt-stick small{font-size:11px;font-weight:800;opacity:.72}
.s3d-airt-sbase{position:relative;width:var(--ats);height:var(--ats);border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle,rgba(255,255,255,.06) 0 36%,rgba(255,255,255,.14) 62%,rgba(255,255,255,.06) 100%);border:2px solid rgba(255,255,255,.55);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.s3d-airt-sx,.s3d-airt-sy{position:absolute;background:rgba(255,255,255,.22);pointer-events:none}
.s3d-airt-sx{left:14%;right:14%;top:50%;height:1px}.s3d-airt-sy{top:14%;bottom:14%;left:50%;width:1px}
.s3d-airt-knob{width:42%;height:42%;border-radius:50%;background:linear-gradient(135deg,#1f2937,#4b5563);border:2px solid rgba(255,255,255,.82);
  box-shadow:0 6px 16px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.25);transition:transform .14s ease-out;will-change:transform;pointer-events:none}
.s3d-airt-stick.on .s3d-airt-knob{transition:none;background:linear-gradient(135deg,var(--acc),var(--acc-2))}
.s3d-airt-thr{position:absolute;right:calc(var(--sr) + var(--g));bottom:calc(var(--sb) + var(--g));display:flex;flex-direction:column;align-items:center;gap:6px;padding-left:38px}
.s3d-airt-track{position:relative;width:var(--atw);height:var(--ath);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03)),var(--pill);border:2px solid var(--edge);touch-action:none}
.s3d-airt-det{position:absolute;left:-38px;right:-4px;height:0;border-top:1px dashed rgba(255,255,255,.38);pointer-events:none}
.s3d-airt-det b{position:absolute;left:0;top:-8px;font-size:9.5px;font-weight:900;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;letter-spacing:.02em;color:rgba(255,255,255,.78)}
.s3d-airt-revz{position:absolute;left:0;right:0;bottom:0;border-radius:0 0 12px 12px;display:grid;place-items:center;pointer-events:none;background:repeating-linear-gradient(135deg,rgba(245,158,11,.14) 0 6px,rgba(0,0,0,0) 6px 12px)}
.s3d-airt-revz b{font-size:10px;font-weight:900;color:rgba(253,230,138,.62);font-family:system-ui,'Segoe UI',Tahoma,sans-serif}
.s3d-airt-thr.rev .s3d-airt-revz{background:repeating-linear-gradient(135deg,rgba(245,158,11,.42) 0 6px,rgba(0,0,0,0) 6px 12px)}
.s3d-airt-lev{position:absolute;left:4px;right:4px;height:0;pointer-events:none}
.s3d-airt-lev i{position:absolute;left:0;right:0;top:-11px;height:22px;border-radius:7px;background:linear-gradient(180deg,#e5e7eb,#9ca3af);border:2px solid #111827;box-shadow:0 4px 10px rgba(0,0,0,.5)}
.s3d-airt-thr.on .s3d-airt-lev i{background:linear-gradient(180deg,#fff,#c4b5fd)}
.s3d-airt-l1,.s3d-airt-l2{display:none}
.s3d-airt.split .s3d-airt-l12{display:none}
.s3d-airt.split .s3d-airt-l1,.s3d-airt.split .s3d-airt-l2{display:block}
.s3d-airt-l1{right:52%!important}.s3d-airt-l2{left:52%!important}
.s3d-airt-rev{min-width:58px;min-height:36px;border-radius:10px;border:2px solid rgba(253,230,138,.5);background:rgba(66,40,4,.78);color:#fde68a;font-weight:900;font-size:13px;font-family:system-ui,'Segoe UI',Tahoma,sans-serif}
.s3d-airt-rev[aria-pressed="true"]{background:linear-gradient(135deg,#d97706,#f59e0b);color:#1c1200;border-color:#fff}
.s3d-airt-tla{font-size:11.5px;font-weight:900;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;padding:1px 8px;border-radius:999px;background:rgba(12,9,24,.8);white-space:nowrap}
.s3d-airt-rud{position:absolute;left:50%;bottom:calc(var(--sb) + var(--g));transform:translateX(-50%);width:var(--atr);height:52px;border-radius:26px;background:var(--pill);border:2px solid var(--edge);touch-action:none}
.s3d-airt-rmid{position:absolute;left:50%;top:10px;bottom:10px;width:2px;margin-left:-1px;background:rgba(255,255,255,.25);pointer-events:none}
.s3d-airt-rknob{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:linear-gradient(135deg,var(--acc),var(--acc-2));border:2px solid rgba(255,255,255,.82);transition:transform .16s ease-out;pointer-events:none}
.s3d-airt-rud.on .s3d-airt-rknob{transition:none}
.s3d-airt-rud.til .s3d-airt-rknob{background:linear-gradient(135deg,#0f766e,#0e7490)}
.s3d-airt-rmode{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--edge);background:var(--pill-h);font-size:12px;font-weight:800;white-space:nowrap}
.s3d-airt-rmode[aria-pressed="true"]{background:linear-gradient(135deg,#0f766e,#0e7490)}
.s3d-airt-brk{position:absolute;left:50%;bottom:calc(var(--sb) + var(--g) + 60px);transform:translateX(-50%);width:var(--atr);display:flex;justify-content:space-between}
.s3d-airt-b{position:relative;pointer-events:auto;width:var(--atb);height:72px;border-radius:14px;border:2px solid rgba(252,165,165,.55);background:linear-gradient(180deg,rgba(72,16,26,.8),rgba(28,8,14,.82));overflow:hidden;
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;touch-action:none}
.s3d-airt-b i{position:absolute;left:0;right:0;top:0;height:0;background:linear-gradient(180deg,rgba(239,68,68,.95),rgba(185,28,28,.9))}
.s3d-airt-b span{position:relative;font-size:11px;font-weight:900;color:#fecaca}
.s3d-airt-b.down{border-color:#fff}
.s3d-airt-keys{position:absolute;right:calc(var(--sr) + var(--g) + var(--atw) + 50px);bottom:calc(var(--sb) + var(--g));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:var(--atk)}
.s3d-airt-keys button{min-height:44px;padding:2px 6px;border-radius:12px;border:2px solid var(--edge);background:var(--pill);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  font-weight:900;font-size:11px;line-height:1.15;transition:transform .08s,background .1s}
.s3d-airt-keys button b{font-size:11px;font-family:system-ui,'Segoe UI',Tahoma,sans-serif;color:#a7f3d0}
.s3d-airt-keys button b:empty{display:none}
.s3d-airt-keys button.down{transform:scale(.94);background:rgba(124,58,237,.6);transition:none}
.s3d-airt-keys .s3d-airt-red{border-color:rgba(248,113,113,.75);background:rgba(127,29,29,.78)}
.s3d-airt.s3d-airt-armed [data-a="sbArm"]{border-color:#a7f3d0}
@media (orientation:landscape){   /* الدواسات والفرامل في الفسحة بين العصا وشبكة الأزرار (لا تتراكب معها) */
  .s3d-airt-rud,.s3d-airt-brk{--atl:calc(var(--sl) + var(--g) + var(--ats) + 34px);--atR:calc(var(--sr) + var(--g) + var(--atw) + 60px + var(--atk));
    left:var(--atl);right:var(--atR);width:min(var(--atr),calc(100% - var(--atl) - var(--atR)));margin:0 auto;transform:none}
}
@media (orientation:portrait) and (max-width:767px){
  .s3d-airt{--ath:min(210px,32vh);--atr:min(240px,calc(100vw - 2*var(--g) - var(--atw) - 60px));--atk:calc(var(--atw) + 40px)}
  .s3d-airt-rud{left:calc(var(--sl) + var(--g));transform:none;bottom:calc(var(--sb) + var(--g) + var(--ats) + 34px)}
  .s3d-airt-brk{left:calc(var(--sl) + var(--g));transform:none;bottom:calc(var(--sb) + var(--g) + var(--ats) + 34px + 60px)}
  /* CT-09 (3b): the key grid above the PFD / ND band (with air-ui's touch head tilt the band sits at about 54-64 % of the height) */
  .s3d-airt-keys{right:calc(var(--sr) + var(--g));bottom:calc(47% + 6px);grid-template-columns:repeat(2,minmax(0,1fr));width:calc(2*var(--atk) - 30px)}
  .s3d-airt-b{height:60px}
  .s3d-airt-keys button{min-height:40px;font-size:10.5px}
  .s3d-touch .s3d-airstrip{top:calc(var(--st) + var(--g) + var(--radar) + var(--cbh) + 20px);max-width:calc(100% - 2*var(--g))}
  .s3d-touch.s3d-airstripon[data-mode="air"] .s3d-act{top:calc(var(--st) + var(--g) + var(--radar) + var(--cbh) + 84px)}
}
@media (orientation:landscape) and (max-height:500px){
  .s3d-airt{--ats:min(var(--joy),40vh);--ath:min(200px,52vh);--atr:min(260px,36vw);--atk:156px}
  .s3d-airt-keys button{min-height:38px}
  .s3d-airt-b{height:60px}
  .s3d-airt-brk{bottom:calc(var(--sb) + var(--g) + 58px)}
  /* CT-09 (3b): phones in landscape — the PFD / ND / E/WD band (lifted by air-ui's touch head tilt) stays clear: pedals and toe
     brakes left of the captain PFD (about 45 % of the width), the 8 keys as a 4 x 2 row under the band, the pedal-mode pill
     above the brakes */
  .s3d-airt-rud,.s3d-airt-brk{left:var(--atl);right:auto;width:min(var(--atr),calc(45% - var(--atl) - 10px));margin:0}
  .s3d-airt-rmode{bottom:calc(100% + 70px)}
  .s3d-airt-keys{left:calc(45% + 4px);right:calc(var(--sr) + var(--g) + var(--atw) + 46px);width:auto;grid-template-columns:repeat(4,minmax(0,1fr))}
  .s3d-airt-keys button{min-height:36px;padding:1px 4px}
}

/* ════════════════════════════════════════════════════════════════════
   ✈️ air side tabs — «مساعد الطيار» داخل الطائرة (التحديث 9، TABS-UI، air-side.js): تبويبات «التشغيل» و«التحكم» و«الرحلة».
   الحاسوب: لوحة ملتصقة بالحافة الخارجية للطيار الجالس — جهة نافذته الجانبية (قرار RT-07 بالقياس: لا تغطي هناك إلا زجاج النافذة
   وحاجب الشمس، بينما غطّت الحافة الداخلية نحو 20 مفتاحاً من الصف الأمامي للوحة العلوية) — القائد يساراً والمساعد يميناً، و⇆ يبدّل وتُحفظ لكل مقعد،
   تنطوي إلى شريط ضيق من أزرار التبويب؛ في منظر العين يقف أسفلها فوق PFD/ND وE/WD وFCU وEFIS (--as-eye يقيسه air-side.js
   والرأس في الوسط، والاحتياط 35%). خارج القمرة (المقصورة والمقعد والكاميرا الخارجية) بطول الشاشة.
   الجوال: مغلقة افتراضياً وتبويب صغير على الحافة يفتحها؛ مفتوحةً لوحة صغيرة لا تغطي أدوات الإبهام (تخطيط CT-09)، و⤢ يكبّرها
   فوقها بطلب اللاعب حتى ⤡. لا تمرّ الأحداث داخلها إلى القمرة (درع الواجهة + درع العجلة في air-ui).
   ════════════════════════════════════════════════════════════════════ */
.s3d-airside{position:absolute;top:calc(var(--st) + var(--g) + var(--toph) + 8px);right:calc(var(--sr) + var(--g));display:flex;flex-direction:column;pointer-events:auto;
  text-align:right;cursor:default;font-size:13px;line-height:1.5;--asw:clamp(290px,26vw,400px)}
.s3d-airside[data-side="L"]{right:auto;left:calc(var(--sl) + var(--g))}
.s3d-airside>.s3d-as-edge,.s3d-airside>.s3d-as-h,.s3d-airside>.s3d-as-sc{display:none}
.s3d-as-tabs{display:flex;gap:4px}
.s3d-as-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 10px;border:1px solid transparent;border-radius:12px;background:transparent;
  font-weight:800;font-size:13px;white-space:nowrap;transition:background .15s,transform .1s}
.s3d-as-tabs button:active{transform:scale(.96)}
.s3d-as-tabs button i{font-style:normal;font-size:17px;line-height:1}
.s3d-as-tabs button[aria-selected="true"]{background:linear-gradient(135deg,var(--acc),var(--acc-2));border-color:rgba(255,255,255,.35)}
.s3d-as-pg{position:absolute;top:2px;left:2px;min-width:18px;padding:0 4px;border-radius:999px;background:#0e7490;font:900 9.5px/1.5 system-ui,'Segoe UI',Tahoma,sans-serif;color:#fff;text-align:center}
.s3d-as-pg:empty{display:none}
.s3d-as-key{align-self:center;font-size:11px}
/* مطوية: شريط عمودي ضيق من أزرار التبويب */
.s3d-airside[data-open="0"]>.s3d-as-tabs{flex-direction:column;padding:5px;border-radius:16px;background:var(--pill);border:1px solid var(--edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 8px 22px rgba(0,0,0,.35)}
.s3d-airside[data-open="0"]>.s3d-as-tabs button{flex-direction:column;gap:1px;width:52px;min-height:54px;padding:4px 2px;font-size:10.5px}
.s3d-airside[data-open="0"]>.s3d-as-tabs .s3d-as-key{margin-top:2px}
/* مفتوحة */
.s3d-airside[data-open="1"]{width:var(--asw);bottom:calc(var(--sb) + var(--g));border-radius:18px;background:rgba(16,12,32,.95);border:1px solid var(--edge);box-shadow:0 18px 44px rgba(0,0,0,.5);overflow:hidden}
.s3d-airside[data-open="1"][data-fit="eye"]{bottom:max(var(--as-eye,35%),calc(var(--sb) + var(--g)))}
.s3d-airside[data-open="1"][data-side="L"]{bottom:calc(var(--sb) + var(--g) + var(--radar) + 70px)}   /* فوق «اخرج من الطائرة» و«قم من المقعد» والخريطة الصغيرة */
.s3d-airside[data-open="1"][data-side="L"][data-fit="eye"]{bottom:max(var(--as-eye,35%),calc(var(--sb) + var(--g) + var(--radar) + 70px))}
.s3d-airside[data-open="1"]>.s3d-as-h{display:flex;align-items:center;gap:6px;min-height:46px;padding:5px 12px 3px 6px}
.s3d-as-h b{font-size:15px;font-weight:900;white-space:nowrap}
.s3d-as-where{flex:1 1 auto;min-width:0;font-size:11px;opacity:.7;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.05}
.s3d-as-hb{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:11px;background:rgba(255,255,255,.08);font-weight:900;font-size:15px}
.s3d-as-hb[data-a="big"]{display:none}
.s3d-airside[data-open="1"]>.s3d-as-tabs{padding:0 8px 6px;border-bottom:1px solid rgba(255,255,255,.08)}
.s3d-airside[data-open="1"]>.s3d-as-tabs button{flex:1 1 0;min-width:0;padding:0 4px;gap:3px;overflow:hidden;background:rgba(255,255,255,.06)}
.s3d-airside[data-open="1"]>.s3d-as-tabs button[aria-selected="true"]{background:linear-gradient(135deg,var(--acc),var(--acc-2))}
/* مراجعة RT-10: مفتاح الفتح ينتقل إلى الرأس (.s3d-as-hkey) فتأخذ التبويبات الثلاثة الصف كاملاً، ولا شيء يخرج من زره (والاسم يُختصر عند الضيق الشديد) */
.s3d-airside[data-open="1"]>.s3d-as-tabs .s3d-as-key{display:none}
.s3d-airside[data-open="1"]>.s3d-as-tabs button>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.s3d-airside[data-open="1"]>.s3d-as-tabs .s3d-as-pg{position:static;flex:0 0 auto;margin:0}
.s3d-as-hkey{flex:0 0 auto}
.s3d-touch .s3d-as-hkey{display:none}
.s3d:not(.s3d-touch) .s3d-airside[data-open="1"]>.s3d-as-tabs button{flex:1 1 auto}   /* عرض كل تبويب من محتواه: «التشغيل» مع التقدّم (15/19) أعرض من الآخرين */
@media (max-width:1153px){.s3d:not(.s3d-touch) .s3d-airside[data-open="1"]>.s3d-as-tabs button>i{display:none}}   /* اللوحة أضيق من 300px: الاسم والتقدّم أولى من الأيقونة */
/* مراجعة RT-06: مطوية تلقائياً في منظر قريب لتبقى مفاتيحه ظاهرة — حدّ متقطع على الشريط */
.s3d-airside[data-fold="1"]>.s3d-as-tabs{border-style:dashed;border-color:rgba(251,191,36,.6)}
/* ويبقى منه زر «التشغيل» وحده (نحو 62×64px في الزاوية) فلا يغطي الشريط مفاتيح المنظر القريب */
.s3d-airside[data-fold="1"][data-open="0"]>.s3d-as-tabs button:not([data-t="run"]),.s3d-airside[data-fold="1"][data-open="0"]>.s3d-as-tabs .s3d-as-key{display:none}
.s3d-airside[data-open="1"]>.s3d-as-sc{display:block;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px 12px 14px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.s3d .s3d-as-sc,.s3d .s3d-as-sc *{touch-action:pan-y}
.s3d-as-p{display:grid;gap:8px;align-content:start}
.s3d-as-p h4{margin:6px 0 0;font-size:13.5px;font-weight:900;color:#c4b5fd}
.s3d-as-p p{margin:0}
.s3d-as-p .s3d-airnote{font-size:11.5px}
/* «التشغيل» */
/* update 10: the banner stays in view at the top of the scroll box: the pane follows the current step, far below it (a flex item can stick the whole pane long, a grid item only inside its own row); opaque, the steps scroll under it */
.s3d-as-p[data-p="run"]{display:flex;flex-direction:column}
.s3d-as-sugg{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:7px 10px;border-radius:12px;background:linear-gradient(rgba(56,189,248,.1),rgba(56,189,248,.1)),#100c20;box-shadow:0 -10px 0 #100c20;border:1px solid rgba(56,189,248,.3);font-size:12.5px;font-weight:700}
.s3d-as-sugg button,.s3d-as-done button,.s3d-as-gl button,.s3d-as-tl button{min-height:38px;padding:2px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);
  font-weight:800;font-size:12.5px;text-align:right;transition:background .15s}
.s3d-as-pick{border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.s3d-as-pick>summary{min-height:40px;display:flex;align-items:center;padding:0 12px;font-weight:900;cursor:pointer}
.s3d-as-g{padding:2px 10px 8px}
.s3d-as-g h5{margin:4px 0;font-size:11.5px;font-weight:800;color:#a5b4fc}
.s3d-as-gl{display:flex;flex-direction:column;gap:4px}
.s3d-as-gl button{display:flex;justify-content:space-between;align-items:center;gap:8px}
.s3d-as-gl button[aria-pressed="true"]{background:linear-gradient(135deg,var(--acc),var(--acc-2));border-color:rgba(255,255,255,.4)}
.s3d-as-gl button b,.s3d-as-tl button b{font:800 11px system-ui,'Segoe UI',Tahoma,sans-serif;opacity:.85;margin-inline-start:6px}
.s3d-as-gl button.ok b{color:#86efac;opacity:1}
.s3d-as-proc{display:grid;gap:8px}
.s3d-as-ph b{display:block;font-size:14.5px;font-weight:900;line-height:1.35}
.s3d-as-prog{margin-top:2px!important;font-size:12px;opacity:.88}
.s3d-as-bar{height:6px;margin-top:4px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.s3d-as-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .3s}
.s3d-as-intro>summary{cursor:pointer;font-size:12px;font-weight:800;color:#93c5fd}
.s3d-as-intro p{margin-top:4px!important;font-size:12px;line-height:1.55;opacity:.9}
/* مراجعة RVP-03: جملة RT-13 (بنود مضبوطة مسبقاً في نقطة البداية تظهر ✅ قبل لمسها) سطر ظاهر تحت شريط التقدّم — وفي لوحة الجوال الصغيرة أيضاً */
.s3d-as-preset{font-size:11.5px;line-height:1.5;color:#bbf7d0}
.s3d-as-flow{color:#fde68a}
.s3d-as-steps{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.s3d-as-steps>li{padding:6px 8px;border-radius:11px;background:rgba(255,255,255,.035);border:1px solid transparent}
.s3d-as-sr{display:flex;gap:7px;align-items:flex-start;cursor:pointer}
.s3d-as-ic{flex:0 0 auto;width:20px;font-style:normal;text-align:center;line-height:1.5}
.s3d-as-st{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:700}
.s3d-as-steps>li[data-st="aok"] .s3d-as-st,.s3d-as-steps>li[data-st="mok"] .s3d-as-st{-webkit-line-clamp:1;opacity:.62}
.s3d-as-steps>li.x .s3d-as-st,.s3d-as-steps>li.cur .s3d-as-st{display:block;-webkit-line-clamp:unset;opacity:1}
.s3d-as-steps>li.cur{background:rgba(251,191,36,.14);border-color:rgba(251,191,36,.55)}
.s3d-as-man{display:flex;gap:8px;align-items:center;margin-top:5px;font-size:12px;cursor:pointer}
.s3d-as-man input{width:20px;height:20px;margin:0;accent-color:#22c55e;flex:0 0 auto}
.s3d-as-more{display:grid;gap:6px;margin-top:6px}
.s3d-as-chips{display:flex;flex-wrap:wrap;gap:4px}
.s3d-airbtns .s3d-as-show{background:rgba(251,191,36,.22);border-color:rgba(251,191,36,.65)}
.s3d-as-hint{font-size:11px;opacity:.75}
.s3d-as-how,.s3d-as-chk{font-size:12px;line-height:1.55}
.s3d-as-how>b{color:#a7f3d0}
.s3d-as-chk>b{color:#fde68a}
.s3d-as-hk,.s3d-as-hg{display:block;margin-top:2px}
.s3d-as-hg.no{color:#fecaca}   /* مفتاح ترفضه المحاكاة (INOP أو غير مركّب): ملاحظته الصادقة بدل طريقة التشغيل */
/* مراجعة RT-12: ما زال شرط الخطوة ينتظر هذه المفاتيح — المفتاح المطلوب تغييره بإطار كهرماني والوضع المطلوب بجانبه */
.s3d-as-need{display:grid;gap:4px;padding:6px 8px;border-radius:10px;background:rgba(251,191,36,.1);border:1px dashed rgba(251,191,36,.5);font-size:12px}
.s3d-as-need>b{font-weight:800;color:#fde68a}
.s3d-as-chips .s3d-airchip.need{box-shadow:inset 0 0 0 1px #fbbf24}
.s3d-as-want{font-size:10.5px;font-weight:800;color:#fde68a}
.s3d-as-want:empty{display:none}
.s3d-as-done{display:grid;gap:6px;padding:8px 10px;border-radius:12px;background:rgba(34,197,94,.14);border:1px solid rgba(134,239,172,.45);font-weight:800}
/* «التحكم» */
.s3d-as-nowbox{display:grid;gap:4px;padding:8px 10px;border-radius:12px;background:rgba(124,58,237,.16);border:1px solid rgba(167,139,250,.35)}
.s3d-as-nowbox>b{font-size:14px;font-weight:900}
.s3d-as-nowbox>small{font-size:10.5px;opacity:.7}
.s3d-as-nowbox p{font-size:12.5px}
.s3d-as-nows{font-size:12px;opacity:.92}
.s3d-as-nowk{display:grid;gap:2px}
.s3d-as-kg{border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.s3d-as-kg>summary{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;font-weight:900;cursor:pointer}
.s3d-as-kg>summary small{font-size:10.5px;font-weight:700;color:#fde68a}
.s3d-as-kg .s3d-airst{padding:0 12px 8px;font-size:11.5px}
.s3d-as-kr{display:flex;align-items:flex-start;gap:8px;padding:3px 12px;font-size:12.5px;line-height:1.45}
.s3d-as-nowk .s3d-as-kr,.s3d-as-p>.s3d-as-kr{padding:2px 0}
.s3d-as-kk{display:inline-flex;flex-wrap:wrap;gap:3px;flex:0 0 auto;min-width:64px;max-width:46%}
.s3d-as-ki{flex:0 0 auto;width:22px;text-align:center;font-size:15px;line-height:1.3}
/* «الرحلة» */
.s3d-as-trip{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.s3d-as-trip>li{display:grid;gap:3px;padding:7px 9px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid transparent}
.s3d-as-trip>li.here{background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.55)}
.s3d-as-trip b{font-size:13px;font-weight:900}
.s3d-as-n{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-inline-end:4px;border-radius:999px;background:rgba(124,58,237,.55);font:900 11px/1 system-ui,'Segoe UI',Tahoma,sans-serif;font-style:normal;vertical-align:1px}
.s3d-as-here{font-style:normal;font-size:11px;font-weight:900;color:#7dd3fc}
.s3d-as-trip p{font-size:12px;line-height:1.55;opacity:.88}
.s3d-as-tl{display:flex;flex-wrap:wrap;gap:4px}
.s3d-as-tl button[aria-pressed="true"]{border-color:#fbbf24}
.s3d-as-edge{align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--edge);border-radius:14px;background:var(--pill);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 6px 18px rgba(0,0,0,.35);font-weight:900;font-size:12.5px;white-space:nowrap}
.s3d-as-edge i{font-style:normal;font-size:18px;line-height:1}
.s3d-as-edge .s3d-as-pg{position:static}
@media (hover:hover){.s3d-as-tabs button:not([aria-selected="true"]):hover,.s3d-as-hb:hover,.s3d-as-gl button:not([aria-pressed="true"]):hover,.s3d-as-tl button:hover,.s3d-as-sugg button:hover,.s3d-as-done button:hover,.s3d-as-edge:hover{background:rgba(124,58,237,.3)}}
/* ما حولها على الحاسوب: «التحكم» يغني عن بطاقة الأزرار، والرسائل تبتعد عن اللوحة وتبقى فوقها، وكذلك شرح الزر */
.s3d.s3d-airsideopen:not(.s3d-touch) .s3d-help{display:none}
.s3d.s3d-airsideopen:not(.s3d-airsideL):not(.s3d-airpanelon):not(.s3d-touch) .s3d-airmsgs{right:auto;left:calc(var(--sl) + var(--g))}
.s3d.s3d-airsideon:not(.s3d-airsideopen):not(.s3d-airsideL):not(.s3d-touch) .s3d-airmsgs{right:calc(var(--sr) + var(--g) + 70px);width:min(380px,calc(100% - var(--sl) - var(--sr) - 2*var(--g) - 70px))}
.s3d.s3d-airsideon.s3d-airsideL:not(.s3d-airsideopen):not(.s3d-touch) .s3d-help{left:calc(var(--sl) + var(--g) + 70px)}
.s3d.s3d-airsideon .s3d-airmsgs,.s3d.s3d-airsideon .s3d-airtip{z-index:3}
/* اللمس: مغلقة افتراضياً؛ الجهاز اللوحي يبقيها ملتصقة فوق أدوات الإبهام */
.s3d-touch .s3d-airside[data-open="1"]{bottom:max(35%,calc(var(--sb) + var(--g) + 330px))}
/* اللوحي (ليس الجوال): العمود الأيسر للواجهة مشغول بالخريطة الصغيرة و«اخرج من الطائرة» و«قم من المقعد»، فالجهة اليسرى (افتراضية القائد
   بعد RT-07) تبدأ تحتها كتبويب الجوال، ومفتوحةً تنزل إلى ما فوق العصا (الفرامل والدواسات في الوسط وأدنى منها) */
@media (min-width:768px) and (min-height:501px){
  .s3d-touch .s3d-airside[data-side="L"]{top:calc(var(--st) + var(--g) + max(var(--radar),var(--toph)) + 112px)}
  .s3d-touch .s3d-airside[data-open="1"][data-side="L"]{bottom:calc(var(--sb) + var(--g) + var(--joy) + 30px)}
}
/* مراجعة RVP-01 — اللوحي القصير (ارتفاع 501-683px، كلوحي أندرويد أفقياً داخل المتصفح نحو 1000x520): الشريط العمودي (210px) كان ينزل
   على قاعدة العصا يساراً (لمستها تفتح تبويباً بدل أن تمسك العصا) وعلى مسار ذراعي الدفع يميناً، والمفتوحة لا يبقى لها إلا 114-219px.
   هنا: الشريط المطوي صف أفقي (202x66px مقيسة) بعيد عن العصا وذراعي الدفع؛ والمفتوحة يساراً من تحت الشريط العلوي إلى ما فوق العصا
   (تغطي عمود الواجهة ما دامت مفتوحة كلوحة الجوال)، ويميناً تتنحّى عن ذراعي الدفع (عرضهما مع الحزوز 100px) وتقف فوق شبكة الأزرار
   (نحو 194px). الحدّ 683 = حيث تقصر المفتوحة يساراً تحت عمود الواجهة عن 220px (SIDE_MIN_H في air-side.js: 268 + 220 + 196 = 684) */
@media (min-width:768px) and (min-height:501px) and (max-height:683px){
  .s3d-touch .s3d-airside[data-open="0"]>.s3d-as-tabs{flex-direction:row}
  .s3d-touch .s3d-airside[data-open="1"][data-side="L"]{top:calc(var(--st) + var(--g) + var(--toph) + 8px)}
  .s3d-touch .s3d-airside[data-open="1"][data-side="R"]{right:calc(var(--sr) + var(--g) + 108px);bottom:calc(var(--sb) + var(--g) + 204px)}
}
@media (max-width:767px),(max-height:500px){   /* الجوال */
  .s3d-touch .s3d-airside[data-open="0"]>.s3d-as-tabs{display:none}
  .s3d-touch .s3d-airside[data-open="0"]>.s3d-as-edge{display:inline-flex}
  .s3d-touch .s3d-airside .s3d-as-hb[data-a="side"],.s3d-touch .s3d-airside .s3d-as-where{display:none}
  .s3d-touch .s3d-airside .s3d-as-hb[data-a="big"]{display:inline-flex}
  .s3d-touch .s3d-airside .s3d-as-hb{width:34px;height:34px;font-size:14px}
  .s3d-touch .s3d-airside[data-open="1"]>.s3d-as-h{min-height:40px;padding:3px 10px 2px 4px;gap:4px}
  .s3d-touch .s3d-airside[data-open="1"]>.s3d-as-h b{flex:1 1 auto;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis}
  .s3d-touch .s3d-airside[data-open="1"]>.s3d-as-tabs{padding:0 6px 4px}
  .s3d-touch .s3d-airside[data-open="1"]>.s3d-as-tabs button{min-height:40px;padding:0 4px;font-size:11.5px;gap:4px}
  .s3d-touch .s3d-airside[data-open="1"]>.s3d-as-tabs .s3d-as-key{display:none}
  .s3d-touch .s3d-airside[data-open="1"]>.s3d-as-sc{padding:8px 9px 10px}
  /* الصغيرة: الخطوة الحالية وحدها والتقدّم والملاحظة — والقائمة كاملة بعد ⤢ */
  .s3d-touch .s3d-airside[data-open="1"]:not(.big) .s3d-as-pick,.s3d-touch .s3d-airside[data-open="1"]:not(.big) .s3d-as-intro,
  .s3d-touch .s3d-airside[data-open="1"]:not(.big) .s3d-as-steps>li:not(.cur),.s3d-touch .s3d-airside[data-open="1"]:not(.big) .s3d-as-foot,
  .s3d-touch .s3d-airside[data-open="1"]:not(.big) .s3d-as-proc>.s3d-airbtns,.s3d-touch .s3d-airside[data-open="1"]:not(.big) .s3d-airpre-sub{display:none}
  .s3d-touch .s3d-airside[data-open="1"]:not(.big) [data-p="run"]:not([hidden]){display:flex;flex-direction:column}
  .s3d-touch .s3d-airside[data-open="1"]:not(.big) [data-p="run"]>.s3d-airnote{order:9}
  .s3d-touch .s3d-airside[data-open="1"]{background:#100c20}   /* opaque: the HUD buttons under the sheet do not show through */
  .s3d-touch .s3d-airside[data-open="1"].big{left:calc(var(--sl) + var(--g));right:calc(var(--sr) + var(--g));width:auto;bottom:calc(var(--sb) + var(--g));z-index:3}
  .s3d-touch.s3d-airsideopen .s3d-airmsgs,.s3d-touch.s3d-airsideopen .s3d-airtip{z-index:4}
}
@media (orientation:portrait) and (max-width:767px){
  /* مغلقة: تبويب على الحافة اليسرى تحت «قم من المقعد» (يمين العمود شبكة الأزرار، وتحته الفرامل) */
  .s3d-touch .s3d-airside[data-open="0"]{left:var(--sl);right:auto;top:calc(var(--st) + var(--g) + max(var(--radar),var(--toph)) + 112px)}
  .s3d-touch.s3d-airstripon .s3d-airside[data-open="0"]{top:calc(var(--st) + var(--g) + var(--radar) + var(--cbh) + 132px)}
  .s3d-touch .s3d-airside[data-open="0"]>.s3d-as-edge{border-radius:0 14px 14px 0;border-left:0;padding:0 10px 0 12px}
  /* مفتوحة: العمود الأيسر فوق شريط PFD/ND — شبكة الأزرار يميناً والعصا والدواسات والفرامل وذراعا الدفع تحت تبقى حرّة */
  .s3d-touch .s3d-airside[data-open="1"]:not(.big){left:calc(var(--sl) + var(--g));right:calc(var(--sr) + var(--g) + 180px);width:auto;top:calc(var(--st) + var(--g) + var(--toph) + 8px);bottom:calc(47% + 6px)}
  .s3d-touch .s3d-airside[data-open="1"]:not(.big)>.s3d-as-tabs button{flex-direction:column;gap:0;min-height:46px;font-size:10px}
  .s3d-touch .s3d-airside[data-open="1"]:not(.big)>.s3d-as-h b span{display:none}
}
@media (orientation:landscape) and (max-height:500px){
  /* مغلقة: تبويب على الحافة العليا بين الخريطة الصغيرة والشريط العلوي */
  .s3d-touch .s3d-airside[data-open="0"]{left:calc(var(--sl) + var(--g) + var(--radar) + 10px);right:auto;top:calc(var(--st) + var(--g))}
  /* مفتوحة: شريط فوق أدوات الإبهام بين عمود العصا وذراعي الدفع — العنوان والتبويبات في صف واحد */
  .s3d-touch .s3d-airside[data-open="1"]:not(.big){left:calc(var(--sl) + var(--g));right:calc(var(--sr) + var(--g) + 152px);width:auto;top:calc(var(--st) + var(--g) + var(--toph) + 6px);
    bottom:calc(var(--sb) + var(--g) + 168px);display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch}
  .s3d-touch .s3d-airside[data-open="1"]:not(.big)>.s3d-as-h{grid-column:1;grid-row:1;flex-direction:column;justify-content:flex-start;min-height:0;padding:4px;border-left:1px solid rgba(255,255,255,.08)}
  .s3d-touch .s3d-airside[data-open="1"]:not(.big)>.s3d-as-h b{display:none}
  .s3d-touch .s3d-airside[data-open="1"]:not(.big)>.s3d-as-tabs{display:none}
  .s3d-touch .s3d-airside[data-open="1"]:not(.big)>.s3d-as-sc{grid-column:2;grid-row:1}
}

/* ════════════════════════════════════════════════════════════════════
   ✈️ UI-FINAL (التحديث 9، مراجعة RVP-04): لوحات قائمة ✈️ (.s3d-airp) لا تتراكب مع «مساعد الطيار» أبداً — air-ui.js menuPlace.
   الحاسوب: مساعد الطيار مفتوح يساراً (حافة القائد الخارجية) ⇐ اللوحة يميناً تحت الشريط العلوي متى اتسعت الشاشة لهما مع فراغ للرسائل
   بينهما، وفي منظر العين تقف فوق PFD/ND وE/WD وFCU بعمودها (air-ui يقيسها والرأس في الوسط ويضبط max-height)؛ وإلا يُطوى مساعد
   الطيار إلى شريطه ما دامت اللوحة مفتوحة ويعود حين تُغلق. الشريط يبقى ظاهراً ويُنقر: اللوحة تبدأ بجانبه (70px كبطاقة المساعدة).
   الرسائل وإشعار الواجهة في الفراغ بين اللوحتين (--air-bl / --air-br يقيسهما air-ui). اللمس: اللوحة ملء الشاشة فيُطوى مساعد الطيار
   المفتوح إلى تبويبه، والتبويب ظاهر: في صف عنوان اللوحة على الجوال عمودياً، وفوقها على الجوال أفقياً، وفوق هامشها على اللوحي.
   جولة المراجعة: الرسائل وإشعار الواجهة في الفراغ فقط إن اتسع 200px (RV-UF-04)، والإشعار لا ينزل على أدوات الطيران (RV-UF-05)،
   واللوحة على اللوحي بعرض الشاشة (RV-UF-06)، وشارة «+k» للأزرار التي لا مكان لها على الحافة (RV-CTL-UF-03).
   ════════════════════════════════════════════════════════════════════ */
.s3d.s3d-airpR:not(.s3d-touch) .s3d-airp{left:auto;right:calc(var(--sr) + var(--g));top:calc(var(--st) + var(--g) + var(--toph) + 8px);
  max-height:calc(100% - var(--st) - var(--sb) - 4*var(--g) - var(--radar) - var(--cbh) - 28px - var(--toph))}
.s3d.s3d-noradar.s3d-airpR:not(.s3d-touch) .s3d-airp{max-height:calc(100% - var(--st) - var(--sb) - 3*var(--g) - var(--cbh) - 38px - var(--toph))}
.s3d.s3d-airsideon.s3d-airsideL:not(.s3d-airsideopen):not(.s3d-airpR):not(.s3d-touch) .s3d-airp{left:calc(var(--sl) + var(--g) + 70px);width:min(440px,calc(100% - var(--sl) - var(--sr) - 2*var(--g) - 70px))}
@media (max-width:760px){
  .s3d.s3d-airsideon.s3d-airsideL:not(.s3d-airsideopen):not(.s3d-airpR):not(.s3d-touch) .s3d-airp{width:auto}
  .s3d.s3d-airsideon:not(.s3d-airsideL):not(.s3d-airsideopen):not(.s3d-touch) .s3d-airp{right:calc(var(--sr) + var(--g) + 70px)}
}
.s3d.s3d-airband.s3d-airpanelon:not(.s3d-touch) .s3d-air .s3d-airmsgs{left:auto;right:calc(100% - var(--air-br));width:max(200px,min(380px,calc(var(--air-br) - var(--air-bl))))}
.s3d.s3d-airband.s3d-airpanelon:not(.s3d-touch):not(.s3d-paused) .s3d-toast{left:calc((var(--air-bl) + var(--air-br)) / 2);right:auto;max-width:max(200px,calc(var(--air-br) - var(--air-bl)));transform:translate(-50%,-10px);
  top:max(calc(var(--st) + var(--g) + var(--toph) + 10px),min(var(--air-mb,0px),var(--air-mbmax,100%)))}   /* تحت عمود الرسائل لا فوقه (--air-mb)، ولا ينزل على أدوات الطيران (--air-mbmax: يعلو العمود حينها) */
.s3d.s3d-airband.s3d-airpanelon:not(.s3d-touch):not(.s3d-paused) .s3d-toast.on{transform:translate(-50%,0)}
.s3d-airside[data-yield="1"]>.s3d-as-tabs{border-style:dashed;border-color:rgba(167,139,250,.75)}   /* مطوي مؤقتاً للوحة ✈️ */
@media (orientation:portrait) and (max-width:767px){
  .s3d-touch.s3d-airpanelon.s3d-airsideon .s3d-airside[data-open="0"]{left:calc(var(--sl) + var(--g) + 4px);right:auto;top:calc(var(--st) + var(--g) + var(--toph) + 12px);z-index:4}
  .s3d-touch.s3d-airpanelon.s3d-airsideon .s3d-airside[data-open="0"]>.s3d-as-edge{border-radius:12px;border-left:1px solid var(--edge);padding:0 10px}
  .s3d-touch.s3d-airpanelon.s3d-airsideon .s3d-airside[data-open="0"]>.s3d-as-edge>span{display:none}
  .s3d-touch.s3d-airpanelon.s3d-airsideon .s3d-airp>header{padding-left:96px}
}
/* مراجعة RV-UF-06 — اللوحي: اللوحة بعرض الشاشة كما كانت (تغطي عمود الواجهة «اخرج من الطائرة» و«قم من المقعد» وأدوات الطيران باللمس
   فلا يبقى نصفها ظاهراً يُلمس خطأً)، وشريط مساعد الطيار فوقها في هامشها الجانبي (70px) فيبقى ظاهراً ويُنقر */
@media (min-width:768px) and (min-height:501px){
  .s3d-touch.s3d-airpanelon.s3d-airsideon.s3d-airsideL .s3d-airp{padding-left:70px}
  .s3d-touch.s3d-airpanelon.s3d-airsideon:not(.s3d-airsideL) .s3d-airp{padding-right:70px}
  .s3d-touch.s3d-airpanelon.s3d-airsideon .s3d-airside[data-open="0"]{z-index:4}
  .s3d-touch.s3d-airpanelon.s3d-airsideon .s3d-airside[data-open="0"]>.s3d-as-tabs{flex-direction:column}
}
/* مراجعة RV-CTL-UF-03: شارة «+k أخرى» تعدّ أزرار الخطوة التي لم تجد مكاناً خالياً على حافة الشاشة (لا تتراكب الشارات أبداً) */
.s3d-airoffc.s3d-airoffm{grid-template-columns:minmax(0,auto);grid-template-areas:"n";border-style:dashed;padding-left:12px}
.s3d-airoffc.s3d-airoffm>span{-webkit-line-clamp:1}
/* ✈️ تحديث 10 (طلب المالك): داخل القمرة يملك المشهد ثلاثي الأبعاد الشاشة: لا خريطة مصغّرة (الـND هو الخريطة هناك) والعمود الأيسر ينزل إلى الزاوية */
.s3d.s3d-airfull,.s3d.s3d-touch.s3d-airfull{--radar:0px}
.s3d-airfull .s3d-radar,.s3d-airfull .s3d-help{display:none}
.s3d-airfull:not(.s3d-touch) .s3d-leave{bottom:calc(var(--sb) + var(--g))}
.s3d-airfull:not(.s3d-touch)[data-mode="air"] .s3d-act{left:calc(var(--sl) + var(--g) + 186px)}
.s3d-airfull:not(.s3d-touch)[data-mode="air"] .s3d-camb{bottom:calc(var(--sb) + var(--g) + 58px)}
.s3d-touch.s3d-airfull .s3d-camb{top:calc(var(--st) + var(--g) + var(--toph) + 10px);left:calc(var(--sl) + var(--g) + 174px);right:auto}
.s3d-airtb{position:absolute;right:calc(var(--sr) + var(--g));top:calc(var(--st) + var(--g) + var(--toph) + 10px);min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:14px;border:1px solid var(--edge);background:var(--pill);color:#fff;font:800 13px Tajawal,system-ui,sans-serif;pointer-events:auto;z-index:1}   /* تحديث 10: تحت طبقة .s3d-air (2): كان فوق تبويبات المساعد وقائمة ✈️ ولوحاتها فيأخذ لمساتها، ويبقى فوق أدوات الإبهام .s3d-airt (الأحدث في DOM) */
.s3d-airtb[hidden],.s3d:not(.s3d-touch) .s3d-airtb,.s3d:not([data-mode="air"]) .s3d-airtb,.s3d.s3d-paused .s3d-airtb{display:none}
.s3d-airtb i{font-style:normal;font-size:17px;line-height:1}
.s3d-airtb:active{transform:scale(.95)}
@media (max-width:560px){.s3d-airtb{top:calc(var(--st) + var(--g) + var(--toph) + 64px)}}
/* تحديث 10: الجوال أفقياً داخل القمرة: الجودة والصوت (إعدادات الإيقاف) والليل والنهار (تبويب ✈️ فيها) تخلي الشريط العلوي لتظهر صفوف العلوية تحته (ENG 2 FIRE و RMP3 و ACP3) */
@media (orientation:landscape) and (max-height:500px){.s3d-touch.s3d-airfull .s3d-q,.s3d-touch.s3d-airfull .s3d-snd,.s3d-touch.s3d-airfull .s3d-night{display:none}}
/* تحديث 10: في الكاميرا الخلفية والحرة زر الكاميرا كان تحت «اخرج من الطائرة» تماماً فلا طريق للعودة باللمس؛ يقف بجانبه (الجوال العمودي له قاعدته فوق) */
@media (min-width:561px){.s3d-touch[data-mode="air"]:not(.s3d-airfull) .s3d-camb{left:calc(var(--sl) + var(--g) + 174px)}}
.s3d:not(.s3d-touch)[data-mode="air"]:not(.s3d-airfull) .s3d-camb{left:calc(var(--sl) + var(--g) + 174px)}
/* تحديث 10: جالساً في مقعد راكب (الواجهة «مشي»): زر الكاميرا بلا عنوان «داخلي/خارجي» بدل العصا وزر الركض */
.s3d.s3d-seat[data-mode="foot"] .s3d-camb{display:inline-flex}
.s3d.s3d-seat .s3d-joy,.s3d.s3d-seat .s3d-sprint,.s3d.s3d-seat .s3d-jump,.s3d.s3d-seat .s3d-camt{display:none}
.s3d.s3d-seat:not(.s3d-touch) .s3d-camb{left:calc(var(--sl) + var(--g) + 174px)}
@media (min-width:561px){.s3d-touch.s3d-seat .s3d-camb{left:calc(var(--sl) + var(--g) + 174px)}}   /* مراجعة تحديث 10: الجوال أفقياً واللوحي: كان تحت «اخرج من الطائرة» تماماً فتصير لمسته نزولاً */
/* تحديث 10: عمود الرسائل لا يقع تحت زر طيّ الأدوات: أفقياً يتنحّى يساراً (ويبقى خارج زر الكاميرا على الشاشات الصغيرة)، وعمودياً في اللوحي ينزل تحته */
@media (min-width:561px) and (orientation:landscape){.s3d-touch[data-mode="air"] .s3d-airmsgs{right:calc(var(--sr) + var(--g) + 152px);width:min(300px,calc(100% - var(--sl) - var(--sr) - var(--g) - 152px - 305px))}}
@media (min-width:561px) and (orientation:portrait){.s3d-touch[data-mode="air"] .s3d-airmsgs{top:calc(var(--st) + var(--g) + var(--toph) + 64px)}}
/* تحديث 10: في اللوحي مقعد مساعد الطيار شريط التبويبات على اليمين (صف أفقي 202px على اللوحي القصير): زر طيّ الأدوات يقف قبله لا فوق أول تبويب، وعمود الرسائل قبلهما */
@media (min-width:768px) and (min-height:501px){
  .s3d-touch.s3d-airsideon:not(.s3d-airsideL):not(.s3d-airsideopen) .s3d-airtb{right:calc(var(--sr) + var(--g) + 72px)}
  .s3d-touch.s3d-airsideon:not(.s3d-airsideL):not(.s3d-airsideopen)[data-mode="air"] .s3d-airmsgs{right:calc(var(--sr) + var(--g) + 224px)}
}
@media (min-width:768px) and (min-height:501px) and (orientation:portrait){.s3d-touch.s3d-airsideon:not(.s3d-airsideL):not(.s3d-airsideopen)[data-mode="air"] .s3d-airmsgs{right:calc(var(--sr) + var(--g) + 72px)}}
@media (min-width:768px) and (min-height:501px) and (max-height:683px){
  .s3d-touch.s3d-airsideon:not(.s3d-airsideL):not(.s3d-airsideopen) .s3d-airtb{right:calc(var(--sr) + var(--g) + 210px)}
  .s3d-touch.s3d-airsideon:not(.s3d-airsideL):not(.s3d-airsideopen)[data-mode="air"] .s3d-airmsgs{right:calc(var(--sr) + var(--g) + 362px)}
}
/* تحديث 10: لوحات ✈️ المرفوعة لا تصل زر الكاميرا (ارتفع 58px فوق زر الخروج في القمرة) */
.s3d-airfull:not(.s3d-touch) .s3d-airp{max-height:calc(100% - var(--st) - var(--sb) - 4*var(--g) - var(--cbh) - 78px)}
/* update 11 (owner photo): the camera look of the cockpit eye views (seated at the controls): a lens vignette, and a still dark grain on high, over the 3D picture and under every HUD element (hud.js inserts it before .s3d-ui); no touch, no animation, no blend mode (no read-back of the 3D layer); off on low and everywhere else */
.s3d-vig{position:absolute;inset:0;pointer-events:none;display:none;contain:strict;will-change:transform;
  background:radial-gradient(ellipse 72% 78% at 50% 45%,rgba(0,0,0,0) 60%,rgba(0,0,0,.16) 82%,rgba(0,0,0,.34) 100%)}
.s3d[data-mode="air"].s3d-airfull:not([data-q="low"])>.s3d-vig{display:block}
.s3d[data-mode="air"].s3d-airfull[data-q="high"]>.s3d-vig{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.6 0 0 0 .95'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)' opacity='.08'/%3E%3C/svg%3E"),radial-gradient(ellipse 72% 78% at 50% 45%,rgba(0,0,0,0) 60%,rgba(0,0,0,.16) 82%,rgba(0,0,0,.34) 100%)}
