/* LCNS · Jawhar · MIRSAD — Futuristic Cubic Statistics Dossier */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&family=Tajawal:wght@200;300;400;500;700;800;900&display=swap');
:root{
  --void:#020613; --abyss:#040b1c; --deep:#06142e; --surface:#0a1f3e; --elev:#102a52;
  --border:rgba(120,180,255,.12); --border-glow:rgba(120,180,255,.35);
  --text:#eaf2fb; --text-dim:#8fb0d6; --text-ghost:#56789c;
  --neural:#00d4ff; --neural-bright:#7df0ff; --neural-dim:#0096cc;
  --violet:#a855f7; --violet-bright:#c084fc; --violet-dim:#7c3aed;
  --emerald:#34d399; --amber:#fbbf24; --rose:#fb7185;
  --grad-main:linear-gradient(135deg,#00d4ff 0%,#a855f7 50%,#34d399 100%);
  --grad-cool:linear-gradient(135deg,#0096cc,#7c3aed);
  --font:'Tajawal','Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono','Cascadia Code',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:var(--void);color:var(--text);overflow-x:hidden;line-height:1.7;min-height:100vh;position:relative}
body.lang-en{direction:ltr;text-align:left}
body.lang-ar{direction:rtl;text-align:right}
body.lang-en .ar{display:none!important}
body.lang-ar .en{display:none!important}
.ar,.en{unicode-bidi:isolate}
/* Strict bidi separation — English always LTR, Arabic always RTL, never mixed */
bdi{unicode-bidi:isolate}
[dir="ltr"]{direction:ltr;text-align:start;unicode-bidi:isolate}
[dir="rtl"]{direction:rtl;text-align:start;unicode-bidi:isolate}
.ltr{direction:ltr!important;unicode-bidi:isolate;text-align:start}
.rtl{direction:rtl!important;unicode-bidi:isolate;text-align:start}
/* Numbers, math, code, identifiers always LTR with isolation */
code,.mono,.cite,kbd,samp,var,time,output,
.num,.metric,.url,.email,.phone,.tel,
.brand-en,.cta-en{direction:ltr;unicode-bidi:isolate}
body.lang-ar .formula,body.lang-ar .ref-list li{unicode-bidi:isolate}
.ref-list{list-style:decimal;padding-inline-start:1.4rem}
.ref-list li{unicode-bidi:plaintext}
/* Logical-property utilities so RTL/LTR layouts mirror automatically */
.ms-auto{margin-inline-start:auto}
.me-auto{margin-inline-end:auto}
.text-start{text-align:start}
.text-end{text-align:end}
a{color:var(--neural-bright);text-decoration:none}
a:hover{color:var(--violet-bright)}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--void)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--neural-dim),var(--violet-dim));border-radius:4px}

#cosmic-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(ellipse 80% 60% at 50% 0%, rgba(168,85,247,.15), transparent 60%),
  radial-gradient(ellipse 60% 50% at 20% 90%, rgba(0,212,255,.12), transparent 60%),
  radial-gradient(ellipse 50% 40% at 80% 50%, rgba(52,211,153,.08), transparent 60%),
  var(--void)}
#particle-canvas{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.55}
.grid-overlay{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.18;
  background-image:linear-gradient(rgba(120,180,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(120,180,255,.07) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 90%)}

nav.topnav{position:fixed;top:0;inset-inline:0;z-index:999;padding:0 2rem;transition:all .35s}
nav.topnav.solid{background:rgba(2,6,19,.85);backdrop-filter:blur(28px) saturate(1.4);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:74px;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.7rem;font-weight:800;font-size:1.25rem;color:var(--text)}
.brand-mark{width:34px;height:34px;position:relative;display:inline-block}
.brand-mark::before,.brand-mark::after{content:'';position:absolute;inset:0;border:1.5px solid var(--neural);border-radius:6px;transform:rotate(15deg);box-shadow:0 0 14px rgba(0,212,255,.4)}
.brand-mark::after{transform:rotate(-15deg);border-color:var(--violet);box-shadow:0 0 14px rgba(168,85,247,.4)}
.brand .q{background:var(--grad-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:900}
.nav-links{display:flex;align-items:center;gap:.4rem;list-style:none}
.nav-links a{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .85rem;border-radius:10px;color:var(--text-dim);font-size:.83rem;font-weight:500;transition:all .25s;border:1px solid transparent}
.nav-links a:hover{color:var(--text);background:rgba(120,180,255,.05);border-color:var(--border)}
.nav-links a.active{color:var(--neural-bright);background:rgba(0,212,255,.08);border-color:rgba(0,212,255,.25)}
.nav-cta{padding:.55rem 1.1rem!important;background:var(--grad-cool)!important;color:#fff!important;border-radius:10px;font-weight:700;box-shadow:0 0 22px rgba(124,58,237,.35)}
.lang-toggle{display:flex;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.lang-toggle button{background:none;border:none;color:var(--text-dim);padding:.4rem .8rem;font-size:.75rem;font-weight:700;cursor:pointer;font-family:var(--font)}
.lang-toggle button.active{background:var(--grad-cool);color:#fff}
.hamburger{display:none;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer}

.shell{position:relative;z-index:5}
main{max-width:1280px;margin:0 auto;padding:7rem 2rem 5rem}
section.block{margin-bottom:5rem;position:relative}
.sec-head{text-align:center;margin-bottom:2.5rem}
.sec-tag{display:inline-flex;align-items:center;gap:.45rem;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.22em;color:var(--neural-bright);padding:.4rem 1.1rem;background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.18);border-radius:50px}
.sec-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--neural);box-shadow:0 0 10px var(--neural)}
.sec-head h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;line-height:1.2;margin:1rem 0 .8rem;letter-spacing:-.02em}
.sec-head p{color:var(--text-dim);font-size:1.02rem;max-width:720px;margin:0 auto;font-weight:300}
.glow-grad{background:var(--grad-main);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 6s linear infinite}
@keyframes shimmer{to{background-position:-200% center}}

.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 2rem 4rem;position:relative}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.7rem;padding:.55rem 1.4rem;border-radius:50px;font-size:.82rem;font-weight:600;color:var(--neural-bright);background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.18);margin-bottom:2rem;backdrop-filter:blur(10px)}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--emerald);box-shadow:0 0 14px var(--emerald);animation:pulseG 2.4s infinite}
@keyframes pulseG{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:clamp(2.4rem,6.5vw,4.6rem);font-weight:900;line-height:1.1;letter-spacing:-.025em;margin-bottom:1.4rem;max-width:1100px}
.hero-sub{font-size:1.12rem;color:var(--text-dim);max-width:760px;margin:0 auto 2.5rem;line-height:1.95;font-weight:300}
.hero-sub strong{color:var(--text);font-weight:600}
.hero-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.95rem 2rem;border-radius:14px;font-size:.95rem;font-weight:700;border:none;cursor:pointer;transition:all .3s;font-family:var(--font);text-decoration:none}
.btn-primary{background:var(--grad-cool);color:#fff;box-shadow:0 0 40px rgba(0,212,255,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 60px rgba(168,85,247,.45)}
.btn-ghost{background:rgba(255,255,255,.04);color:var(--text);border:1px solid var(--border);backdrop-filter:blur(12px)}
.btn-ghost:hover{border-color:var(--neural);background:rgba(0,212,255,.06)}

.cube-scene{width:340px;height:340px;perspective:1100px;margin:1.5rem auto 2.5rem;position:relative}
.cube-scene::before{content:'';position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.18),transparent 60%);filter:blur(30px);z-index:-1}
.cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:cubeSpin 28s linear infinite}
.cube-face{position:absolute;inset:0;border:1px solid var(--border-glow);background:linear-gradient(135deg,rgba(0,212,255,.08),rgba(168,85,247,.08));backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem;border-radius:8px;box-shadow:inset 0 0 60px rgba(0,212,255,.08), 0 0 30px rgba(168,85,247,.12)}
.cube-face .ic{font-size:2.4rem;margin-bottom:.4rem}
.cube-face .nm{font-weight:800;font-size:.95rem;color:var(--neural-bright)}
.cube-face .ax{font-family:var(--mono);font-size:.7rem;color:var(--text-ghost);margin-top:.2rem;letter-spacing:.08em}
.cf-front{transform:translateZ(170px)}
.cf-back{transform:rotateY(180deg) translateZ(170px)}
.cf-right{transform:rotateY(90deg) translateZ(170px)}
.cf-left{transform:rotateY(-90deg) translateZ(170px)}
.cf-top{transform:rotateX(90deg) translateZ(170px)}
.cf-bottom{transform:rotateX(-90deg) translateZ(170px)}
@keyframes cubeSpin{0%{transform:rotateX(-18deg) rotateY(0)}100%{transform:rotateX(-18deg) rotateY(360deg)}}

.metrics{display:flex;justify-content:center;gap:3rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border);flex-wrap:wrap;max-width:900px;margin-inline:auto}
.metric{text-align:center}
.metric .val{font-size:1.85rem;font-weight:900;background:var(--grad-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:var(--mono);line-height:1}
.metric .lbl{font-size:.7rem;color:var(--text-ghost);margin-top:.45rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}

.glass{background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border:1px solid var(--border);border-radius:18px;padding:1.6rem;backdrop-filter:blur(12px);position:relative;overflow:hidden;transition:all .3s}
.glass::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(0,212,255,.05) 50%,transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}
.glass:hover{border-color:var(--border-glow);transform:translateY(-3px)}
.glass:hover::before{opacity:1}
.glass.glow{box-shadow:0 0 50px rgba(0,212,255,.1)}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:.85rem}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.card-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:1.2rem;background:var(--grad-cool);box-shadow:0 0 18px rgba(0,212,255,.3)}
.card-title{font-weight:800;font-size:1.05rem;color:var(--text)}
.card-sub{color:var(--text-dim);font-size:.88rem;line-height:1.7;font-weight:300}
.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .65rem;border-radius:50px;font-size:.7rem;font-weight:700;font-family:var(--mono);letter-spacing:.04em}
.pill-live{background:rgba(52,211,153,.12);color:var(--emerald);border:1px solid rgba(52,211,153,.3)}
.pill-prog{background:rgba(251,191,36,.12);color:var(--amber);border:1px solid rgba(251,191,36,.3)}
.pill-spec{background:rgba(168,85,247,.12);color:var(--violet-bright);border:1px solid rgba(168,85,247,.3)}

footer{padding:3rem 2rem;border-top:1px solid var(--border);text-align:center;color:var(--text-ghost);font-size:.85rem;position:relative;z-index:5;margin-top:4rem}
footer .footer-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}
footer .footer-links a{color:var(--text-dim);font-size:.85rem}

.reveal{opacity:0;transform:translateY(36px);transition:all .85s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
.mono{font-family:var(--mono)}
.txt-grad{background:var(--grad-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

@media(max-width:900px){
  .grid-3,.grid-2{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-6{grid-template-columns:repeat(3,1fr)}
  .nav-links{display:none}
  .nav-links.open{display:flex;position:absolute;top:74px;inset-inline:1rem;flex-direction:column;background:rgba(2,6,19,.95);padding:1rem;border-radius:12px;border:1px solid var(--border)}
  .hamburger{display:block}
  main{padding:6rem 1.2rem 4rem}
  .cube-scene{width:260px;height:260px}
  .cf-front{transform:translateZ(130px)}.cf-back{transform:rotateY(180deg) translateZ(130px)}
  .cf-right{transform:rotateY(90deg) translateZ(130px)}.cf-left{transform:rotateY(-90deg) translateZ(130px)}
  .cf-top{transform:rotateX(90deg) translateZ(130px)}.cf-bottom{transform:rotateX(-90deg) translateZ(130px)}
}

/* ════════════════════════════════════════════════════════════════
   A11Y · WCAG 2.2 AA · UI/CSS3 STANDARDS · USER PREFERENCES
   ════════════════════════════════════════════════════════════════ */

/* Visually-hidden for screen readers */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Skip-link */
.skip-link{position:absolute;top:-100px;inset-inline-start:1rem;z-index:10000;background:var(--neural);color:#04122c;font-weight:800;padding:.65rem 1.1rem;border-radius:8px;text-decoration:none;transition:top .2s}
.skip-link:focus{top:1rem;outline:3px solid var(--violet-bright);outline-offset:2px}

/* Focus rings — visible only on keyboard navigation */
:focus{outline:none}
:focus-visible{outline:3px solid var(--neural-bright);outline-offset:2px;border-radius:6px}
button:focus-visible, a:focus-visible, .bit:focus-visible{outline:3px solid var(--neural-bright);outline-offset:3px;box-shadow:0 0 0 5px rgba(0,212,255,.25)}
.modal.show .modal-box:focus-visible{outline:3px solid var(--violet-bright);outline-offset:3px}

/* Keyboard hint pill */
kbd, .kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--text);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--border-glow);border-bottom-width:2px;border-radius:5px;line-height:1;box-shadow:0 1px 0 rgba(0,0,0,.4)}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .cube{animation:none!important;transform:rotateX(-18deg) rotateY(20deg)!important}
  #particle-canvas{display:none!important}
  .glow-grad, .metric .val{animation:none!important;background-position:0 center!important}
}

/* High contrast */
@media (prefers-contrast: more){
  :root{--border:rgba(180,210,255,.4);--border-glow:rgba(180,210,255,.7);--text:#ffffff;--text-dim:#cce0f5;--text-ghost:#a4c0dc}
  .glass, .standard, .paper, .rule, .stat, .bit{background:rgba(0,0,0,.55)!important}
  .pill{border-width:2px}
  .btn-ghost{background:rgba(0,0,0,.5)!important}
}

/* Touch targets ≥ 44×44 (WCAG 2.5.5) */
button, a.btn, .bit, .lang-toggle button, .cbtn{min-height:44px}
.nav-links a{min-height:36px}  /* desktop relaxation, paired with hover padding */
@media (hover:none){.nav-links a{min-height:44px}}

/* Honor user color-scheme — we are dark-first but advertise it */
:root{color-scheme:dark}


/* ──── Prominent language toggle + first-visit banner ──── */
#btnAr,#btnEn{
  min-height:38px;padding:.4rem .8rem;border-radius:8px;border:1px solid var(--border);
  background:rgba(2,6,19,.6);color:var(--text);font-weight:700;font-size:.85rem;
  cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.3rem;
  unicode-bidi:isolate
}
#btnAr{direction:rtl}
#btnEn{direction:ltr}
#btnAr:hover,#btnEn:hover{border-color:var(--neural-bright);color:var(--neural-bright);transform:translateY(-1px)}
#btnAr.active,#btnEn.active{background:linear-gradient(135deg,rgba(0,212,255,.18),rgba(168,85,247,.18));border-color:var(--neural-bright);color:var(--neural-bright);box-shadow:0 0 14px rgba(0,212,255,.25)}
#btnAr:focus-visible,#btnEn:focus-visible{outline:2px solid var(--neural-bright);outline-offset:2px}

#lcns-lang-hint{
  position:fixed;top:84px;inset-inline:50%;transform:translateX(50%);
  z-index:9500;background:linear-gradient(135deg,rgba(168,85,247,.96),rgba(0,212,255,.92));color:#020613;
  padding:.7rem 1rem;border-radius:14px;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
  box-shadow:0 12px 40px rgba(168,85,247,.5),inset 0 1px 0 rgba(255,255,255,.4);
  font-weight:800;font-size:.9rem;max-width:min(92vw,560px);
  animation:hintIn .5s cubic-bezier(.2,.9,.3,1.3)
}
[dir="rtl"] #lcns-lang-hint{transform:translateX(-50%)}
#lcns-lang-hint button{
  min-height:40px;padding:.4rem .9rem;border-radius:10px;border:none;cursor:pointer;
  background:rgba(2,6,19,.85);color:#fff;font-weight:800;font-size:.85rem;
  display:inline-flex;align-items:center;gap:.3rem;unicode-bidi:isolate
}
#lcns-lang-hint button:hover{background:#020613;transform:translateY(-1px)}
#lcns-lang-hint button[data-l="dismiss"]{background:transparent;color:#020613;font-size:1.2rem;padding:.3rem .6rem;min-height:36px}
#lcns-lang-hint button:focus-visible{outline:2px solid #020613;outline-offset:2px}
@keyframes hintIn{from{transform:translate(50%,-30px);opacity:0}to{transform:translate(50%,0);opacity:1}}
[dir="rtl"] @keyframes hintIn{from{transform:translate(-50%,-30px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
@media (max-width:520px){#lcns-lang-hint{inset-inline:8px;transform:none;width:auto}[dir="rtl"] #lcns-lang-hint{transform:none}}
@media (prefers-reduced-motion:reduce){#lcns-lang-hint{animation:none}}
