/* 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{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);background:var(--void);color:var(--text);overflow-x:hidden;overflow-y:auto;line-height:1.7;min-height:100%;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;min-height:calc(100dvh - 74px)}
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}
  nav.topnav{padding:0 1rem}
  .nav-inner{gap:.5rem}
  .lang-toggle button,#btnAr,#btnEn{padding:.35rem .55rem;font-size:.8rem}
  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;white-space:nowrap;line-height:1
}
.lt-label{display:inline}
#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}
@media(max-width:430px){
  .lt-label{display:none}
  #btnAr,#btnEn,.lang-toggle button{padding:.35rem .5rem;font-size:.95rem}
  .brand{font-size:1.05rem;gap:.45rem}
  .brand-mark{width:28px;height:28px}
}

#lcns-lang-hint{
  position:fixed;top:84px;left: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;justify-content:center;
  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;width:max-content;max-width:min(92vw,560px);
  animation:hintIn .5s cubic-bezier(.2,.9,.3,1.3)
}
#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}}
@media (max-width:520px){#lcns-lang-hint{left:8px;right:8px;transform:none;width:auto;max-width:none}}
@media (prefers-reduced-motion:reduce){#lcns-lang-hint{animation:none}}

/* ═══════════════════════════════════════════════════════════════════
   GAME ROSE — floating radial navigator for all game pages
   ═══════════════════════════════════════════════════════════════════ */
.game-rose{
  position:fixed;
  left:16px;
  bottom:calc(max(env(safe-area-inset-bottom,0px),8px) + 14px);
  z-index:8500;
}
.game-rose__trigger{
  position:relative;z-index:2;
  width:52px;height:52px;border-radius:50%;
  background:var(--grad-main);
  border:2px solid rgba(255,255,255,.18);
  color:#fff;font-size:1.4rem;line-height:1;
  cursor:pointer;
  box-shadow:0 4px 22px rgba(168,85,247,.32);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,background .3s,border-color .3s;
  display:flex;align-items:center;justify-content:center;
  -webkit-tap-highlight-color:transparent;
  outline:none;
}
.game-rose__trigger:hover,.game-rose__trigger:focus-visible{
  transform:scale(1.1);
  box-shadow:0 6px 28px rgba(168,85,247,.5),0 0 0 3px rgba(0,212,255,.22);
}
.game-rose__trigger:focus-visible{outline:2px solid var(--neural);outline-offset:3px}
.game-rose.open .game-rose__trigger{
  transform:rotate(135deg) scale(1);
  background:rgba(2,6,19,.92);
  border-color:rgba(168,85,247,.55);
}
.game-rose__petals{
  position:absolute;left:26px;bottom:26px;
  pointer-events:none;z-index:1;
}
.game-rose.open .game-rose__petals{pointer-events:auto}
.game-rose__petal{
  position:absolute;
  width:48px;height:48px;
  margin:-24px 0 0 -24px;
  border-radius:50%;
  background:rgba(2,6,19,.88);
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  border:1.5px solid rgba(168,85,247,.28);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-decoration:none;color:#fff;
  font-size:1.2rem;line-height:1;
  box-shadow:0 4px 16px rgba(0,0,0,.45);
  opacity:0;
  transform:scale(0);
  transition:opacity .25s ease,transform .4s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .2s;
  transition-delay:calc(var(--i,0) * .04s);
}
.game-rose.open .game-rose__petal{
  opacity:1;
  transform:scale(1) translate(var(--tx),var(--ty));
  transition-delay:calc(var(--i,0) * .05s);
}
.game-rose__petal[data-active]{
  border-color:var(--neural);
  box-shadow:0 0 14px rgba(0,212,255,.35),0 4px 16px rgba(0,0,0,.45);
}
.game-rose__petal:hover,.game-rose__petal:focus-visible{
  border-color:var(--violet-bright);
  transform:scale(1.18) translate(var(--tx),var(--ty)) !important;
  box-shadow:0 0 22px rgba(168,85,247,.45),0 4px 16px rgba(0,0,0,.45);
}
.game-rose__petal:focus-visible{outline:2px solid var(--neural);outline-offset:2px}
.game-rose__petal .rose-lbl{
  font-size:.42rem;font-weight:700;
  margin-top:1px;line-height:1;opacity:.82;
  white-space:nowrap;letter-spacing:.01em;
}
.game-rose__backdrop{
  position:fixed;inset:0;z-index:-1;
  background:rgba(2,6,19,.25);
  opacity:0;pointer-events:none;
  transition:opacity .3s;
}
.game-rose.open .game-rose__backdrop{opacity:1;pointer-events:auto}
@media(max-width:560px){
  .game-rose{left:12px;bottom:calc(max(env(safe-area-inset-bottom,0px),6px) + 12px)}
  .game-rose__trigger{width:46px;height:46px;font-size:1.2rem}
  .game-rose__petal{width:44px;height:44px;margin:-22px 0 0 -22px;font-size:1.05rem}
  .game-rose__petals{left:23px;bottom:23px}
}
@media(max-width:720px){
  body:has(.mobile-cta) .game-rose{bottom:calc(max(env(safe-area-inset-bottom,0px),8px) + 72px)}
}
@media(prefers-reduced-motion:reduce){
  .game-rose__petal,.game-rose__trigger{transition-duration:0s!important;transition-delay:0s!important}
}
/* Fullscreen petal */
.game-rose__fs{
  background:linear-gradient(135deg,rgba(125,240,255,.18),rgba(168,85,247,.22)) !important;
  border-color:rgba(125,240,255,.45) !important;
}
.game-rose__fs:hover,.game-rose__fs:focus-visible{
  border-color:var(--neural) !important;
  box-shadow:0 0 18px rgba(0,212,255,.5),0 4px 16px rgba(0,0,0,.45) !important;
}
/* Hide topnav + game-rose in native fullscreen for max immersion */
:fullscreen .topnav{ height:48px !important; opacity:.6; transition:opacity .3s }
:fullscreen .topnav:hover{ opacity:1 }
:fullscreen .game-rose{ bottom:8px !important; left:8px !important; }
:fullscreen .game-rose__trigger{ width:40px; height:40px; font-size:1.1rem; opacity:.5; transition:opacity .3s }
:fullscreen .game-rose__trigger:hover{ opacity:1 }
:fullscreen .mobile-cta{ display:none !important; }
:-webkit-full-screen .topnav{ height:48px !important; opacity:.6; transition:opacity .3s }
:-webkit-full-screen .topnav:hover{ opacity:1 }
:-webkit-full-screen .game-rose{ bottom:8px !important; left:8px !important; }
:-webkit-full-screen .game-rose__trigger{ width:40px; height:40px; font-size:1.1rem; opacity:.5; transition:opacity .3s }
:-webkit-full-screen .game-rose__trigger:hover{ opacity:1 }
:-webkit-full-screen .mobile-cta{ display:none !important; }
