:root,
:root[data-theme="dark"]{
  --void:#161826;
  --asphalt:#1e202c;
  --raise:#232532;
  --edge:color-mix(in srgb,#e9e9ed 13%,transparent);
  --ink:#e9e9ed; --mute:#9397ab;

  --sodium:#9184d9;
  --accent-soft:#b5abfc;
  --accent-deep:#423a6a;
  --free:#86cfb4;
  --heavy:#e0736b;
  --pin-bg:#1e202c;
  --pin-unknown:#595d6c;
  --maybe:color-mix(in srgb,var(--sodium) 62%,var(--pin-unknown));
  --scrim:rgba(22,24,38,.62);
  --veil-a:rgba(18,19,28,.96);
  --veil-b:rgba(18,19,28,0);
  --me-ring:#f5f4ff;

  --float:#232532;
  --float-press:#343748;
  --grip:#3f424d;
  --press:color-mix(in srgb,#e9e9ed 7%,transparent);
  --cta-ink:var(--sodium);
  --cta-fill:color-mix(in srgb,var(--sodium) 13%,transparent);
  --cta-press:color-mix(in srgb,var(--sodium) 24%,transparent);
  --sheet-shadow:0 18px 46px rgba(0,0,0,.6);

  --sheen:color-mix(in srgb,#e9e9ed 6%,transparent);

  --lit:color-mix(in srgb,#ffffff 14%,transparent);
  --unlit:rgba(0,0,0,.38);

  --depth-1:inset 0 1px 0 var(--lit),inset 0 -1px 0 var(--unlit),
            0 2px 6px rgba(0,0,0,.34);

  --depth-2:inset 0 1px 0 var(--lit),inset 0 -1px 0 var(--unlit),
            0 12px 32px rgba(0,0,0,.46);

  --depth-in:inset 0 1px 3px rgba(0,0,0,.46),inset 0 -1px 0 var(--lit);

  --depth-glow:0 0 0 1px color-mix(in srgb,var(--sodium) 45%,transparent),
               0 0 20px color-mix(in srgb,var(--sodium) 34%,transparent);

  --face:linear-gradient(180deg,
         color-mix(in srgb,#ffffff 4%,transparent),transparent 62%);

  --depth-glass:inset 0 1px 0 var(--lit),inset 0 -1px 0 var(--unlit);
}

:root[data-theme="light"]{
  --void:#f3f5fe; --asphalt:#ffffff; --raise:#ffffff;
  --edge:color-mix(in srgb,#292b31 14%,transparent);
  --ink:#292b31; --mute:#75798c;

  --sodium:#5d5294;
  --accent-soft:#796cbf;
  --accent-deep:#d2cefd;
  --free:#1d8a67;
  --heavy:#b2453c;
  --pin-bg:#ffffff;
  --pin-unknown:#b2b6ca;
  --maybe:color-mix(in srgb,var(--sodium) 62%,var(--pin-unknown));
  --scrim:rgba(41,43,49,.28);
  --veil-a:rgba(243,245,254,.95);
  --veil-b:rgba(243,245,254,0);
  --me-ring:#ffffff;

  --float:#ffffff;
  --float-press:#e4e7f5;
  --grip:#cfd3e5;
  --press:color-mix(in srgb,#292b31 6%,transparent);
  --cta-fill:color-mix(in srgb,var(--sodium) 15%,transparent);
  --cta-press:color-mix(in srgb,var(--sodium) 26%,transparent);
  --sheet-shadow:0 18px 44px rgba(41,43,49,.14);

  --sheen:color-mix(in srgb,#292b31 5%,transparent);

  --lit:color-mix(in srgb,#ffffff 70%,transparent);
  --unlit:color-mix(in srgb,#292b31 10%,transparent);

  --depth-1:inset 0 1px 0 var(--lit),inset 0 -1px 0 var(--unlit),
            0 1px 3px rgba(41,43,49,.10),0 4px 10px rgba(41,43,49,.07);

  --depth-2:inset 0 1px 0 var(--lit),inset 0 -1px 0 var(--unlit),
            0 2px 6px rgba(41,43,49,.08),0 14px 34px rgba(41,43,49,.12);

  --depth-in:inset 0 1px 3px rgba(41,43,49,.13),inset 0 -1px 0 var(--lit);

  --depth-glow:0 0 0 1px color-mix(in srgb,var(--sodium) 32%,transparent),
               0 0 18px color-mix(in srgb,var(--sodium) 22%,transparent);

  --face:linear-gradient(180deg,
         color-mix(in srgb,#ffffff 60%,transparent),transparent 62%);

  --depth-glass:inset 0 1px 0 var(--lit),inset 0 -1px 0 var(--unlit);
}

:root{
  --pad:18px;
  --fab:44px;

  --f-head:Inter,system-ui,sans-serif;
  --f-mono:Inter,system-ui,sans-serif;

  --r-sm:8px;
  --r-ctl:10px;
  --r-lg:14px;

  --btn-w:300px;

  --spring:cubic-bezier(.34,1.56,.64,1);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}

html,body{
  position:fixed;inset:0;width:100%;height:100%;margin:0;overflow:hidden;
  background:var(--void);color:var(--ink);
  font-family:var(--f-head);
  font-size:15px;line-height:1.55;
  overscroll-behavior:none;
  -webkit-user-select:none;user-select:none;
  -webkit-touch-callout:none;
  -webkit-text-size-adjust:100%
}

:root[lang="ar"] body{
  font-family:"SF Arabic","Geeza Pro","Noto Naskh Arabic","Segoe UI",
    Tahoma,Inter,system-ui,sans-serif;
  line-height:1.7
}

:root[lang="aii"] body{
  font-family:"Noto Sans Syriac Eastern","Noto Sans Syriac",
    "Estrangelo Edessa","East Syriac Adiabene",Inter,system-ui,sans-serif;
  line-height:1.75
}

html{transition:background-color .25s ease,color .25s ease}

button{
  cursor:pointer;font-family:inherit;color:inherit;
  touch-action:manipulation;
  -webkit-user-select:none;user-select:none;
  border:none;background:none;padding:0
}
button:focus{outline:none}
button:focus-visible{outline:2px solid var(--sodium);outline-offset:2px}

.dist,.diag,.ver,.facts b,.nv-num{direction:ltr;unicode-bidi:isolate;
  font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
:root[data-motion="reduced"] *{animation:none!important;transition:none!important}
