
/* tailwind theme preserved for CDN — ignored in pure CSS */


/* ══════════════════════════════════════════════════════════════
   R-AC/87.7 — DESIGN TOKENS (documented system — every style below
   consumes these; no rogue values)
   · VOID TONES (60%): near-black, hue-loaded, never pure #000
   · NEON ROLES (30%): cyan = primary signal · magenta = counterpoint
     · yellow = warning-only · purple = atmosphere ONLY
   · INK (10%): bone / haze / dim for body text
   ══════════════════════════════════════════════════════════════ */
:root{
  /* — colors (hex fallbacks, oklch overrides below) — */
  --void:#030308; --void-2:#06060D; --panel:#0A0F1E; --panel-2:#0D1326;
  --edge:#1B2440; --edge-hi:#26355C;
  --cyan:#00F0FF; --mag:#FF2BD6; --warn:#E8FF47; --purple:#7B3FE4;
  --bone:#E8ECF6; --haze:#B9C4DE; --dim:#7E8BB0; --blood:#E0405A;
  /* — type scale (modular, fluid 360→1920) — */
  --fs-hero:clamp(3rem, 9.5vw, 7.6rem);
  --fs-h2:clamp(1.9rem, 5vw, 4rem);
  --fs-h3:clamp(1.25rem, 2.6vw, 2rem);
  --fs-body:clamp(1rem, 1.15vw, 1.125rem);
  --fs-small:.875rem; --fs-caption:.75rem;
  --fs-mono:clamp(.78rem, .9vw, .875rem);
  --fs-mono-lg:clamp(1.1rem, 2.2vw, 1.7rem);
  /* — families — */
  --f-disp:'Changa', 'IBM Plex Sans Arabic', sans-serif;
  --f-ar:'IBM Plex Sans Arabic', sans-serif;
  --f-lat:'Orbitron', sans-serif;
  --f-lbl:'Rajdhani', 'IBM Plex Sans Arabic', sans-serif;
  --f-mono:'Share Tech Mono', monospace;
  /* — 8pt spacing — */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-6:1.5rem;
  --sp-8:2rem; --sp-12:3rem; --sp-16:4rem; --sp-24:6rem; --sp-32:8rem;
  /* — radius (near-zero, 2–6px max) — */
  --r-xs:2px; --r-s:4px; --r-m:6px;
  /* — strokes — */
  --sw-1:1px; --sw-2:2px;
  /* — glow (max 2 stacked shadows) — */
  --glow-1:0 0 6px rgba(0,240,255,.55);
  --glow-2:0 0 12px rgba(0,240,255,.4), 0 0 32px rgba(0,240,255,.16);
  --glow-mag:0 0 10px rgba(255,43,214,.45);
  --glow-warn:0 0 10px rgba(232,255,71,.4);
  /* — z-index — */
  --z-bg:0; --z-stage:1; --z-content:2; --z-hud:50; --z-veil:90; --z-cursor:100;
  /* — duration tokens — */
  --t-micro:150ms; --t-std:300ms; --t-dram:700ms;
  /* — easing tokens — */
  --e-snap:cubic-bezier(.16,1,.3,1);
  --e-glow:cubic-bezier(.4,0,.2,1);
  --e-soft:cubic-bezier(.22,1,.36,1);
  --e-steps:steps(5, jump-none);
  color-scheme: dark;
  scrollbar-gutter: stable;
}
@supports (color: oklch(1 0 0)) {
  :root{
    --void:oklch(.07 .02 262); --void-2:oklch(.09 .025 262);
    --panel:oklch(.16 .035 258); --panel-2:oklch(.19 .04 258);
    --edge:oklch(.26 .05 258); --edge-hi:oklch(.34 .06 258);
    --cyan:oklch(.86 .18 221); --mag:oklch(.7 .3 340);
    --warn:oklch(.94 .21 112); --purple:oklch(.56 .24 300);
    --bone:oklch(.94 .012 258); --haze:oklch(.77 .04 258); --dim:oklch(.58 .05 258);
    --blood:oklch(.58 .21 15);
  }
}
/* ─── base ─── */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html.no-js .rv{ opacity:1 !important; transform:none !important; }
body{
  margin:0;
  font-family:var(--f-ar);
  font-size:var(--fs-body);
  line-height:1.85;
  background:
    radial-gradient(1200px 700px at 85% -5%, rgba(123,63,228,.16), transparent 60%),
    radial-gradient(1000px 800px at -10% 110%, rgba(0,240,255,.08), transparent 55%),
    var(--void);
  color:var(--bone);
  overflow-x:hidden;
  text-wrap:pretty;
}
::selection{ background:var(--mag); color:var(--void); }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--void-2); }
::-webkit-scrollbar-thumb{
  background:linear-gradient(var(--cyan), var(--mag));
  border:2px solid var(--void-2);
  border-radius:0;
}
:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px;
  box-shadow:0 0 0 4px rgba(0,240,255,.25), var(--glow-1);
  border-radius:var(--r-xs);
}
a{ color:var(--cyan); }
a:hover{ color:var(--bone); }
img{ display:block; max-width:100%; height:auto; }
.visually-hidden{
  position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
/* skip link */
.skip-link{
  position:fixed; inset-block-start:var(--sp-2); inset-inline-start:var(--sp-2);
  z-index:var(--z-veil); background:var(--cyan); color:var(--void);
  padding:var(--sp-2) var(--sp-4); font-family:var(--f-mono); font-size:var(--fs-small);
  text-decoration:none; transform:translateY(-300%); transition:transform var(--t-std) var(--e-snap);
}
.skip-link:focus{ transform:none; }
/* atmospheric layers: grain + scanlines (GPU-cheap, opacity preserves contrast) */
.grain,.scanlines{
  position:fixed; inset:0; pointer-events:none; z-index:var(--z-content);
}
.grain{
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
.scanlines{
  opacity:.05; z-index:var(--z-content);
  background:repeating-linear-gradient(to bottom, transparent 0 2px, rgba(232,236,246,.5) 2px 3px);
}
.vignette{
  position:fixed; inset:0; pointer-events:none; z-index:var(--z-bg);
  background:radial-gradient(120% 90% at 50% 40%, transparent 55%, rgba(3,3,8,.75) 100%);
}
/* layout shell */
.shell{
  width:min(1440px, 100% - var(--sp-8));
  margin-inline:auto;
  padding-inline:var(--sp-4);
}
@media (min-width:1024px){ .shell{ width:min(1440px, 100% - var(--sp-24)); } }
/* section shell + headers */
.sec{ position:relative; padding-block:var(--sp-24); }
.sec__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-6);
  margin-block-end:var(--sp-12);
  border-block-end:var(--sw-1) solid var(--edge);
  padding-block-end:var(--sp-4);
}
.sec__code{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--cyan);
  letter-spacing:.18em; white-space:nowrap;
}
.sec__code b{ color:var(--dim); font-weight:400; }
.sec__title{
  font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h2);
  line-height:1.15; margin:0; text-wrap:balance;
}
.sec__en{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  letter-spacing:.22em; text-transform:uppercase; white-space:nowrap;
}
/* materialize reveal base */
.rv{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--e-soft), transform .7s var(--e-soft); }
.rv.is-in{ opacity:1; transform:none; }
.rv[data-stagger] > *{ opacity:0; transform:translateY(18px); transition:opacity .6s var(--e-soft), transform .6s var(--e-soft); }
.rv.is-in[data-stagger] > *{ opacity:1; transform:none; }
.rv.is-in[data-stagger] > *:nth-child(1){ transition-delay:.05s }
.rv.is-in[data-stagger] > *:nth-child(2){ transition-delay:.12s }
.rv.is-in[data-stagger] > *:nth-child(3){ transition-delay:.19s }
.rv.is-in[data-stagger] > *:nth-child(4){ transition-delay:.26s }
.rv.is-in[data-stagger] > *:nth-child(5){ transition-delay:.33s }
.rv.is-in[data-stagger] > *:nth-child(6){ transition-delay:.4s }
.rv.is-in[data-stagger] > *:nth-child(7){ transition-delay:.47s }
.rv.is-in[data-stagger] > *:nth-child(8){ transition-delay:.54s }
/* HUD buttons */
.hud-btn{
  position:relative; display:inline-flex; align-items:center; gap:var(--sp-2);
  font-family:var(--f-lbl); font-weight:600; font-size:var(--fs-small);
  letter-spacing:.08em; color:var(--bone); background:var(--panel);
  border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  padding:var(--sp-3) var(--sp-6); min-height:44px; cursor:pointer;
  text-decoration:none; transition:border-color var(--t-micro) var(--e-snap),
  color var(--t-micro) var(--e-snap), background var(--t-micro) var(--e-snap),
  transform var(--t-micro) var(--e-snap), box-shadow var(--t-micro) var(--e-snap);
}
.hud-btn::before{ /* edge ignition */
  content:""; position:absolute; inset:0; border-radius:var(--r-xs);
  box-shadow:inset 0 0 0 0 rgba(0,240,255,.5);
  transition:box-shadow var(--t-std) var(--e-glow); pointer-events:none;
}
.hud-btn:hover{ border-color:var(--cyan); color:var(--cyan); transform:translateY(-2px); }
.hud-btn:hover::before{ box-shadow:inset 0 0 14px 0 rgba(0,240,255,.35); }
.hud-btn:active{ transform:translateY(1px) scale(.985); }
.hud-btn--mag:hover{ border-color:var(--mag); color:var(--mag); }
.hud-btn--mag:hover::before{ box-shadow:inset 0 0 14px 0 rgba(255,43,214,.35); }
.hud-btn--ghost{ background:transparent; }
.hud-btn[disabled]{ opacity:.45; cursor:not-allowed; transform:none; }
.hud-btn[disabled]:hover{ border-color:var(--edge); color:var(--bone); }


/* ═══ grid stage (Three.js) + CSS fallback ═══ */
#grid-stage{
  position:fixed; inset:0; z-index:var(--z-stage); pointer-events:none; overflow:hidden;
}
#grid-stage canvas{ display:block; width:100%; height:100%; }
#grid-stage::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(900px 500px at 50% 108%, rgba(123,63,228,.35), transparent 65%),
    radial-gradient(700px 400px at 18% 115%, rgba(0,240,255,.14), transparent 60%),
    radial-gradient(700px 400px at 82% 115%, rgba(255,43,214,.1), transparent 60%);
  transition:opacity .6s var(--e-glow);
}
html.no-webgl #grid-stage::before{ opacity:1; }
#grid-stage::after{ /* CSS fallback grid — visible until WebGL boots, kept as underlay */
  content:""; position:absolute; inset:0;
  opacity:.5;
  background-image:
    linear-gradient(to top, rgba(0,240,255,.5) 1px, transparent 1px),
    linear-gradient(to right, rgba(0,240,255,.16) 1px, transparent 1px);
  background-size:100% 46px, 46px 100%;
  transform:perspective(420px) rotateX(64deg) translateY(30%);
  transform-origin:50% 100%;
  animation:cssgrid 2.2s linear infinite;
}
@keyframes cssgrid{ from{ background-position:0 0,0 0; } to{ background-position:0 46px,0 0; } }
html.no-webgl #grid-stage::after{ opacity:.85; }
/* ═══ boot veil ═══ */
#boot-veil{
  position:fixed; inset:0; z-index:var(--z-veil); background:var(--void);
  display:flex; flex-direction:column; justify-content:center;
  padding:var(--sp-8); gap:var(--sp-4);
  transition:opacity .4s var(--e-snap), visibility .4s;
}
#boot-veil.is-gone{ opacity:0; visibility:hidden; pointer-events:none; }
#boot-log{ font-family:var(--f-mono); font-size:var(--fs-mono); line-height:2; color:var(--haze); }
#boot-log .ok{ color:var(--cyan); }
#boot-log .warn{ color:var(--warn); }
#boot-log .err{ color:var(--mag); }
#boot-log .cur{
  display:inline-block; width:.6em; height:1em; background:var(--cyan);
  vertical-align:-.15em; animation:blink 1s steps(2, jump-none) infinite;
}
@keyframes blink{ 50%{ opacity:0; } }
.boot-hint{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  letter-spacing:.2em; text-transform:uppercase;
}
/* ═══ HUD nav ═══ */
.hud{
  position:fixed; inset-block-start:0; inset-inline:0; z-index:var(--z-hud);
  background:color-mix(in oklab, var(--void) 72%, transparent);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-block-end:var(--sw-1) solid var(--edge);
  transition:background var(--t-std) var(--e-glow);
}
@supports not (backdrop-filter: blur(4px)){ .hud{ background:var(--void-2); } }
.hud__in{
  display:flex; align-items:center; gap:var(--sp-6);
  height:56px; padding-inline:var(--sp-4);
}
.hud__id{
  font-family:var(--f-mono); font-size:var(--fs-small); color:var(--cyan);
  white-space:nowrap; text-decoration:none; display:flex; align-items:center; gap:var(--sp-2);
}
.hud__id .pulse{ width:7px; height:7px; background:var(--cyan); border-radius:50%; box-shadow:var(--glow-1); animation:pulse 2s var(--e-glow) infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }
.hud__sec{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  margin-inline-start:auto; white-space:nowrap; direction:ltr;
}
.hud__sec b{ color:var(--warn); font-weight:400; }
.hud__links{ display:none; gap:var(--sp-4); list-style:none; margin:0; padding:0; }
.hud__links a{
  font-family:var(--f-lbl); font-size:var(--fs-small); font-weight:600; color:var(--haze);
  text-decoration:none; letter-spacing:.06em; padding-block:var(--sp-2);
  position:relative; transition:color var(--t-micro) var(--e-glow);
}
.hud__links a::after{
  content:""; position:absolute; inset-inline:0; bottom:0; height:2px;
  background:var(--cyan); transform:scaleX(0); transform-origin:100% 50%;
  transition:transform var(--t-std) var(--e-snap);
}
.hud__links a:hover::after,.hud__links a[aria-current="true"]::after{ transform:scaleX(1); }
.hud__links a[aria-current="true"]{ color:var(--cyan); }
@media (min-width:1024px){ .hud__links{ display:flex; } }
.hud__cta{ display:none; }
@media (min-width:1280px){ .hud__cta{ display:inline-flex; } }
/* progress = signal meter */
.sigbar{
  position:fixed; inset-block-start:56px; inset-inline:0; z-index:var(--z-hud);
  height:3px; background:transparent; pointer-events:none;
}
.sigbar__fill{
  height:100%; width:0%;
  background:linear-gradient(90deg, var(--mag), var(--cyan));
  box-shadow:var(--glow-1);
}
.sigbar__ticks{
  position:absolute; inset:0; opacity:.4;
  background:repeating-linear-gradient(90deg, transparent 0 calc(10% - 1px), var(--void) calc(10% - 1px) 10%);
}
/* mobile nav toggle */
.nav-toggle{
  display:inline-flex; align-items:center; gap:var(--sp-2);
  margin-inline-start:auto; background:none; border:var(--sw-1) solid var(--edge);
  color:var(--haze); font-family:var(--f-mono); font-size:var(--fs-caption);
  padding:var(--sp-2) var(--sp-3); min-height:44px; cursor:pointer; border-radius:var(--r-xs);
}
@media (min-width:1024px){ .nav-toggle{ display:none; } }
.hud__mobile{
  position:fixed; inset-block-start:56px; inset-inline:0; z-index:49;
  background:var(--void-2); border-block-end:var(--sw-1) solid var(--edge);
  display:none; padding:var(--sp-4);
}
.hud__mobile.is-open{ display:block; }
.hud__mobile a{
  display:block; font-family:var(--f-lbl); font-weight:600; color:var(--haze);
  text-decoration:none; padding:var(--sp-3); border-block-end:var(--sw-1) dashed var(--edge);
}
.hud__mobile a[aria-current="true"]{ color:var(--cyan); background:var(--panel); }
/* ═══ hero console ═══ */
.hero{
  position:relative; z-index:var(--z-content); min-height:100vh; min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding-block:var(--sp-24) var(--sp-16);
}
.hero__grid{
  display:grid; gap:var(--sp-12);
  grid-template-columns:1fr;
  align-items:center;
}
@media (min-width:1024px){
  .hero__grid{ grid-template-columns:minmax(0, 1.5fr) minmax(260px, .8fr); }
}
.hero__meta{
  font-family:var(--f-mono); font-size:var(--fs-mono); color:var(--haze);
  display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-6); margin-block-end:var(--sp-6);
  direction:ltr; letter-spacing:.06em;
}
.hero__meta .warn{ color:var(--warn); }
.hero__meta .mag{ color:var(--mag); }
.hero h1{
  font-family:var(--f-disp); font-weight:700; font-size:var(--fs-hero);
  line-height:1.12; margin:0 0 var(--sp-6); text-wrap:balance;
  color:var(--bone);
}
.hero h1 .neon{
  color:var(--cyan); text-shadow:var(--glow-2);
}
.hero h1 .neon--mag{ color:var(--mag); text-shadow:var(--glow-mag); }
.hero__sub{
  font-family:var(--f-ar); font-size:var(--fs-small); color:var(--dim);
  line-height:2; max-width:60ch; text-align:start;
  margin-block-end:var(--sp-8);
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:var(--sp-4); }
.hero__actions .hud-btn{ min-height:48px; }
/* signal meter panel */
.sigpanel{
  position:relative; border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  background:color-mix(in oklab, var(--panel) 82%, transparent);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  padding:var(--sp-6); display:grid; gap:var(--sp-4);
}
@supports not (backdrop-filter: blur(4px)){ .sigpanel{ background:var(--panel); } }
.sigpanel::before,.sigpanel::after{ /* corner brackets */
  content:""; position:absolute; width:14px; height:14px; border:var(--sw-2) solid var(--cyan);
}
.sigpanel::before{ inset-block-start:-1px; inset-inline-start:-1px; border-inline-end:0; border-block-end:0; }
.sigpanel::after{ inset-block-end:-1px; inset-inline-end:-1px; border-inline-start:0; border-block-start:0; }
.sigpanel__label{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  letter-spacing:.2em; display:flex; justify-content:space-between; direction:ltr;
}
.sigpanel__label b{ color:var(--warn); font-weight:400; }
.sigpanel__freq{
  font-family:var(--f-lat); font-weight:800; font-size:clamp(2.4rem, 6vw, 4.2rem);
  color:var(--cyan); text-shadow:var(--glow-2); line-height:1; direction:ltr; text-align:left;
}
.sigbars{ display:flex; align-items:flex-end; gap:4px; height:64px; direction:ltr; }
.sigbars i{
  flex:1; background:var(--cyan); opacity:.85; box-shadow:var(--glow-1);
  transform-origin:bottom; animation:eq var(--t-dram) var(--e-glow) infinite alternate;
}
@keyframes eq{ from{ transform:scaleY(.2); } to{ transform:scaleY(1); } }
.sigclock{
  font-family:var(--f-mono); font-size:var(--fs-mono); color:var(--haze);
  display:flex; justify-content:space-between; direction:ltr;
  border-block-start:var(--sw-1) dashed var(--edge); padding-block-start:var(--sp-3);
}
.sigclock b{ color:var(--bone); font-weight:400; }
.sigpanel__foot{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  display:flex; justify-content:space-between; direction:ltr;
}
.sigpanel__foot .up{ color:var(--cyan); }
/* hero annotations */
.hero__anno{
  position:absolute; font-family:var(--f-mono); font-size:var(--fs-caption);
  color:var(--dim); letter-spacing:.14em; direction:ltr; display:none;
}
@media (min-width:1280px){ .hero__anno{ display:block; } }
.hero__anno--a{ inset-block-start:22%; inset-inline-end:var(--sp-8); }
.hero__anno--b{ inset-block-end:20%; inset-inline-start:var(--sp-8); }
/* ═══ marquees ═══ */
.mq{
  position:relative; z-index:var(--z-content); overflow:clip; white-space:nowrap;
  border-block:var(--sw-1) solid var(--edge); background:var(--void-2);
  padding-block:var(--sp-3); user-select:none;
}
.mq--mag{ border-color:rgba(255,43,214,.4); }
.mq__track{ display:inline-flex; will-change:transform; }
.mq__track span{
  font-family:var(--f-mono); font-size:var(--fs-mono); color:var(--cyan);
  padding-inline:var(--sp-6); letter-spacing:.12em; direction:ltr;
}
.mq--mag .mq__track span{ color:var(--mag); }
.mq__track .sep{ color:var(--dim); }
/* ═══ transmission (manifesto) ═══ */
.trx{ position:relative; }
.trx__lead{
  font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h2); line-height:1.3;
  max-width:22ch; margin:0 0 var(--sp-8); text-wrap:balance;
}
.trx__lead .hl{ color:var(--cyan); text-shadow:var(--glow-1); }
.trx__body{
  display:grid; gap:var(--sp-6); max-width:68ch; margin-inline-start:auto;
}
.trx__body p{ margin:0; color:var(--haze); }
.trx__body p em{ color:var(--bone); font-style:normal; }
.trx__body .mono-note{
  font-family:var(--f-mono); font-size:var(--fs-small); color:var(--dim);
  direction:ltr; text-align:left; border-inline-start:var(--sw-2) solid var(--mag);
  padding-inline-start:var(--sp-4); margin-block-start:var(--sp-4);
}
.trx__stamp{
  position:absolute; inset-block-start:var(--sp-4); inset-inline-end:0;
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--mag);
  border:var(--sw-2) solid var(--mag); padding:var(--sp-1) var(--sp-3);
  transform:rotate(6deg); opacity:.85; letter-spacing:.12em;
}
/* ═══ telemetry ═══ */
.tel{
  display:grid; gap:var(--sp-6);
  grid-template-columns:1fr;
}
@media (min-width:768px){ .tel{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1200px){ .tel{ grid-template-columns:repeat(5, 1fr); } }
.tel__cell{
  position:relative; border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  background:var(--panel); padding:var(--sp-6); display:flex; flex-direction:column; gap:var(--sp-2);
  transition:border-color var(--t-std) var(--e-glow), transform var(--t-std) var(--e-snap);
}
.tel__cell:hover{ border-color:var(--cyan); transform:translateY(-4px); }
.tel__cell .num{
  font-family:var(--f-mono); font-size:var(--fs-mono-lg); color:var(--cyan);
  direction:ltr; text-align:left; line-height:1; text-shadow:var(--glow-1);
}
.tel__cell:nth-child(3n) .num{ color:var(--mag); text-shadow:var(--glow-mag); }
.tel__cell .lbl{ font-family:var(--f-ar); font-weight:600; font-size:var(--fs-small); color:var(--bone); }
.tel__cell .ctx{ font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); direction:ltr; text-align:left; line-height:1.7; }
.tel__cell .bar{
  position:absolute; inset-block-end:0; inset-inline:0; height:2px;
  background:linear-gradient(90deg, var(--cyan), var(--mag)); transform-origin:100% 50%;
  transform:scaleX(0); transition:transform 1.2s var(--e-snap) .3s;
}
.tel__cell.is-in .bar{ transform:scaleX(var(--bar, .5)); }
/* ═══ datastream (sticky two-column) ═══ */
.stream{ position:relative; }
.stream__grid{
  display:grid; gap:var(--sp-12);
  grid-template-columns:1fr;
}
@media (min-width:1024px){ .stream__grid{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); } }
.stream__lore{ position:relative; }
@media (min-width:1024px){ .stream__lore{ position:sticky; inset-block-start:calc(var(--sp-24) + 56px); align-self:start; } }
.stream__lore .file-tag{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--warn);
  letter-spacing:.18em; display:block; margin-block-end:var(--sp-4);
}
.stream__lore h3{
  font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h3); line-height:1.3; margin:0 0 var(--sp-6);
}
.stream__lore p{ color:var(--haze); max-width:44ch; }
.stream__lore .sig{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  border-block-start:var(--sw-1) dashed var(--edge); padding-block-start:var(--sp-4);
  margin-block-start:var(--sp-8); direction:ltr; text-align:left; line-height:1.8;
}
.stream__feed{
  display:grid; gap:var(--sp-4);
}
.stream__item{
  position:relative; border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  background:var(--panel); padding:var(--sp-6); display:grid; gap:var(--sp-2);
  transition:border-color var(--t-std) var(--e-glow), transform var(--t-std) var(--e-snap);
}
.stream__item:hover{ border-color:var(--cyan); transform:translateX(-4px); }
.stream__item time{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--cyan); direction:ltr; text-align:left;
}
.stream__item p{ margin:0; font-size:var(--fs-small); color:var(--haze); line-height:1.8; }
.stream__item .tag{
  justify-self:start; font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  border:var(--sw-1) solid var(--edge); padding:2px var(--sp-2); letter-spacing:.1em;
}
.stream__item .tag--warn{ color:var(--warn); border-color:rgba(232,255,71,.35); }
.stream__item .tag--mag{ color:var(--mag); border-color:rgba(255,43,214,.35); }
/* ═══ dossiers (stacked) ═══ */
.dossiers{
  position:relative;
  display:grid; gap:var(--sp-8);
}
.dossier{
  position:sticky; inset-block-start:calc(var(--sp-16) + 56px);
  border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  background:color-mix(in oklab, var(--panel) 88%, transparent);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  display:grid; gap:var(--sp-6); overflow:hidden;
  transition:border-color var(--t-std) var(--e-glow);
}
@supports not (backdrop-filter: blur(4px)){ .dossier{ background:var(--panel); } }
.dossier:hover{ border-color:var(--mag); }
@media (min-width:900px){ .dossier{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); } }
.dossier__img{ position:relative; min-height:220px; overflow:hidden; }
.dossier__img img{
  width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.15) brightness(.75);
  transition:filter .5s var(--e-glow), transform .8s var(--e-soft);
}
.dossier:hover .dossier__img img{ filter:grayscale(.1) contrast(1.05) brightness(.95); transform:scale(1.04); }
.dossier__img::after{
  content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(to bottom, transparent 0 2px, rgba(3,3,8,.5) 2px 3px);
}
.dossier__body{ padding:var(--sp-6); display:flex; flex-direction:column; gap:var(--sp-3); }
.dossier__code{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--mag); letter-spacing:.16em;
  display:flex; justify-content:space-between; direction:ltr;
}
.dossier__code .st{ color:var(--warn); }
.dossier h3{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h3); margin:0; }
.dossier__body p{ margin:0; font-size:var(--fs-small); color:var(--haze); line-height:1.85; }
.dossier__meta{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  direction:ltr; text-align:left; border-block-start:var(--sw-1) dashed var(--edge);
  padding-block-start:var(--sp-3); margin-block-start:auto; line-height:1.8;
}
/* ═══ recon gallery ═══ */
.recon{
  display:grid; gap:var(--sp-6); grid-template-columns:repeat(12, 1fr);
}
.recon__item{
  position:relative; grid-column:span 6; overflow:hidden;
  border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs); background:var(--panel);
}
@media (min-width:1024px){
  .recon__item--w{ grid-column:span 7; }
  .recon__item--n{ grid-column:span 5; }
  .recon__item--tall{ grid-row:span 2; }
}
.recon__item img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  filter:grayscale(1) contrast(1.2) brightness(.8);
  transition:filter .45s var(--e-glow), transform .9s var(--e-soft);
}
.recon__item--tall img{ aspect-ratio:3/4; }
.recon__item::after{ /* scanline + duotone grade */
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    repeating-linear-gradient(to bottom, transparent 0 2px, rgba(3,3,8,.35) 2px 3px),
    linear-gradient(135deg, rgba(0,240,255,.35), rgba(255,43,214,.35));
  mix-blend-mode:screen; opacity:0; transition:opacity .45s var(--e-glow);
}
.recon__item:hover img{ filter:grayscale(0) contrast(1.05) brightness(1); transform:scale(1.06); }
.recon__item:hover::after{ opacity:1; }
.recon__cap{
  position:absolute; inset-inline:0; inset-block-end:0; z-index:2;
  padding:var(--sp-4) var(--sp-6); display:flex; justify-content:space-between; gap:var(--sp-4); align-items:center;
  background:linear-gradient(to top, rgba(3,3,8,.88), transparent);
}
.recon__cap .ar{ font-family:var(--f-ar); font-weight:600; font-size:var(--fs-small); color:var(--bone); }
.recon__cap .en{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--cyan);
  letter-spacing:.12em; direction:ltr; white-space:nowrap;
}
/* ═══ diagnostics ═══ */
.diag{
  display:grid; gap:var(--sp-6); grid-template-columns:1fr;
}
@media (min-width:900px){ .diag{ grid-template-columns:repeat(12, 1fr); } }
.diag__mod{
  grid-column:span 12; border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  background:var(--panel); padding:var(--sp-6);
}
@media (min-width:900px){
  .diag__mod--half{ grid-column:span 6; }
  .diag__mod--third{ grid-column:span 4; }
}
.diag__head{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  letter-spacing:.18em; display:flex; justify-content:space-between; direction:ltr;
  border-block-end:var(--sw-1) dashed var(--edge); padding-block-end:var(--sp-3); margin-block-end:var(--sp-4);
}
.diag__head b{ color:var(--cyan); font-weight:400; }
.diag__meter{
  height:10px; background:var(--void-2); border:var(--sw-1) solid var(--edge); position:relative; overflow:hidden;
}
.diag__meter i{
  position:absolute; inset:0; transform-origin:100% 50%; transform:scaleX(0);
  background:linear-gradient(90deg, var(--cyan), var(--mag));
  transition:transform 1.4s var(--e-snap) .25s;
}
.diag__mod.is-in .diag__meter i{ transform:scaleX(var(--w, .5)); }
.diag__row{
  display:flex; justify-content:space-between; gap:var(--sp-4); direction:ltr;
  font-family:var(--f-mono); font-size:var(--fs-small); color:var(--haze);
  padding-block:var(--sp-2); border-block-end:var(--sw-1) dotted var(--edge);
}
.diag__row:last-child{ border-block-end:0; }
.diag__row .v{ color:var(--cyan); }
.diag__row .w{ color:var(--warn); }
.diag__row .m{ color:var(--mag); }
.diag__row .d{ color:var(--dim); }
.diag__relay{
  display:grid; grid-template-columns:auto 1fr auto; gap:var(--sp-3); align-items:center;
  padding-block:var(--sp-2); font-family:var(--f-mono); font-size:var(--fs-small); direction:ltr;
  border-block-end:var(--sw-1) dotted var(--edge);
}
.diag__relay .dot{ width:8px; height:8px; border-radius:50%; background:var(--dim); }
.diag__relay .dot--ok{ background:var(--cyan); box-shadow:var(--glow-1); }
.diag__relay .dot--crit{ background:var(--warn); box-shadow:var(--glow-warn); }
.diag__relay .r{ color:var(--haze); }
.diag__relay .pct{ color:var(--dim); }
/* ═══ ops log (circuit trace) ═══ */
.ops{ position:relative; }
.ops__circuit{
  position:absolute; inset-block-start:0; inset-block-end:0;
  inset-inline:0; pointer-events:none; opacity:.5;
}
.ops__circuit path{
  fill:none; stroke:var(--cyan); stroke-width:1.5;
  stroke-dasharray:var(--len, 1600); stroke-dashoffset:var(--len, 1600);
  transition:stroke-dashoffset 1.8s var(--e-snap) .15s;
}
.ops.is-in .ops__circuit path{ stroke-dashoffset:0; }
.ops__circuit circle{
  fill:var(--void); stroke:var(--cyan); stroke-width:1.5;
  opacity:0; transition:opacity .3s var(--e-glow);
}
.ops.is-in .ops__circuit circle{ opacity:1; }
.ops.is-in .ops__circuit circle:nth-of-type(1){ transition-delay:.5s }
.ops.is-in .ops__circuit circle:nth-of-type(2){ transition-delay:.9s }
.ops.is-in .ops__circuit circle:nth-of-type(3){ transition-delay:1.3s }
.ops.is-in .ops__circuit circle:nth-of-type(4){ transition-delay:1.7s }
.ops.is-in .ops__circuit circle:nth-of-type(5){ transition-delay:2.1s }
.ops__list{ position:relative; display:grid; gap:var(--sp-8); }
.ops__ev{
  display:grid; gap:var(--sp-2); position:relative;
  border-inline-start:var(--sw-1) solid var(--edge); padding-inline-start:var(--sp-8);
}
.ops__ev::before{
  content:""; position:absolute; inset-inline-start:-5px; inset-block-start:6px;
  width:9px; height:9px; border:var(--sw-1) solid var(--cyan); background:var(--void);
  transform:rotate(45deg);
}
.ops__ev .yr{
  font-family:var(--f-lat); font-weight:800; font-size:var(--fs-h3); color:var(--bone);
  direction:ltr; text-align:left; text-shadow:var(--glow-1);
}
.ops__ev h3{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h3); margin:0; }
.ops__ev p{ margin:0; font-size:var(--fs-small); color:var(--haze); max-width:56ch; line-height:1.85; }
.ops__ev code{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); direction:ltr;
  display:inline-block; letter-spacing:.1em;
}
/* ═══ terminal ═══ */
.term-shell{
  position:relative; border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  background:color-mix(in oklab, var(--void) 88%, var(--panel));
  box-shadow:var(--glow-2);
}
.term-shell__bar{
  display:flex; align-items:center; gap:var(--sp-3);
  border-block-end:var(--sw-1) solid var(--edge); background:var(--panel);
  padding:var(--sp-2) var(--sp-4); min-height:40px;
}
.term-shell__bar .dots{ display:flex; gap:6px; direction:ltr; }
.term-shell__bar .dots i{ width:9px; height:9px; border-radius:50%; }
.term-shell__bar .dots i:nth-child(1){ background:var(--blood); }
.term-shell__bar .dots i:nth-child(2){ background:var(--warn); }
.term-shell__bar .dots i:nth-child(3){ background:var(--cyan); }
.term-shell__bar .ttl{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--haze);
  letter-spacing:.14em; direction:ltr; margin-inline-start:var(--sp-2);
}
.term-shell__bar .ttl b{ color:var(--cyan); font-weight:400; }
.term-shell__bar .sfx{
  margin-inline-start:auto; font-family:var(--f-mono); font-size:var(--fs-caption);
  background:none; border:var(--sw-1) solid var(--edge); color:var(--dim);
  padding:var(--sp-1) var(--sp-3); cursor:pointer; min-height:32px; letter-spacing:.1em;
}
.term-shell__bar .sfx[aria-pressed="true"]{ color:var(--warn); border-color:var(--warn); box-shadow:var(--glow-warn); }
.term-shell__body{
  height:min(52vh, 460px); overflow-y:auto; padding:var(--sp-4) var(--sp-6);
  display:flex; flex-direction:column; gap:var(--sp-2);
  scrollbar-width:thin;
}
.term-shell__body::before{ /* scanline wash */
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.04;
  background:repeating-linear-gradient(to bottom, transparent 0 2px, var(--bone) 2px 3px);
  z-index:1;
}
.term-line{
  font-family:var(--f-mono); font-size:var(--fs-mono); color:var(--haze);
  direction:ltr; text-align:left; white-space:pre-wrap; word-break:break-word; line-height:1.7;
}
.term-line .ok{ color:var(--cyan); }
.term-line .warn{ color:var(--warn); }
.term-line .mag{ color:var(--mag); }
.term-line .dim{ color:var(--dim); }
.term-line .bone{ color:var(--bone); }
.term-line .tbl{ display:grid; grid-template-columns:repeat(2, auto); column-gap:var(--sp-6); }
.term-line--in{ color:var(--bone); }
.term-line--in .pr{ color:var(--cyan); }
.term-line--err{ color:var(--blood); }
.term-inputline{
  display:flex; align-items:center; gap:var(--sp-2);
  border-block-start:var(--sw-1) solid var(--edge); padding:var(--sp-3) var(--sp-4);
}
.term-inputline .pr{ font-family:var(--f-mono); font-size:var(--fs-mono); color:var(--cyan); direction:ltr; white-space:nowrap; }
.term-inputline input{
  flex:1; background:none; border:none; outline:none; color:var(--bone);
  font-family:var(--f-mono); font-size:var(--fs-mono); direction:ltr; text-align:left; caret-color:var(--cyan);
  min-height:44px;
}
.term-hint{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-6); padding:var(--sp-3) var(--sp-4);
  border-block-start:var(--sw-1) dotted var(--edge); direction:ltr; letter-spacing:.06em;
}
.term-hint kbd{ color:var(--warn); }
.term-secret{
  position:relative; overflow:hidden; border:var(--sw-1) solid rgba(255,43,214,.5);
  border-radius:var(--r-xs); background:var(--panel-2); padding:var(--sp-8);
  text-align:center; display:none;
}
.term-secret.is-live{ display:block; animation:secretIn 1.2s var(--e-snap); }
@keyframes secretIn{ from{ opacity:0; transform:scale(.94); filter:blur(6px); } to{ opacity:1; transform:none; filter:none; } }
.term-secret h3{
  font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h3); margin:0 0 var(--sp-4); color:var(--bone);
}
.term-secret h3 .neon{ color:var(--mag); text-shadow:var(--glow-mag); }
.term-secret p{ margin:0; font-size:var(--fs-small); color:var(--haze); max-width:52ch; margin-inline:auto; }
.term-secret .coords{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--cyan); margin-block-start:var(--sp-6);
  letter-spacing:.2em; direction:ltr;
}
/* ═══ the signal (quote) ═══ */
.signal{
  position:relative; text-align:center; padding-block:var(--sp-32);
}
.signal::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 90% at 50% 50%, rgba(123,63,228,.16), transparent 70%);
}
.signal blockquote{
  font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h2); line-height:1.35;
  margin:0 auto; max-width:24ch; text-wrap:balance; position:relative;
}
.signal blockquote .hl{ color:var(--cyan); text-shadow:var(--glow-2); }
.signal blockquote .hl--mag{ color:var(--mag); text-shadow:var(--glow-mag); }
.signal .meta{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim);
  margin-block-start:var(--sp-8); letter-spacing:.2em; direction:ltr;
}
/* ═══ intercepts (varied layouts) ═══ */
.intercepts{ display:grid; gap:var(--sp-8); }
.int-a{
  position:relative; border-inline-start:var(--sw-2) solid var(--cyan);
  padding-inline-start:var(--sp-6); max-width:52ch;
}
.int-a .who{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--cyan);
  letter-spacing:.16em; display:flex; gap:var(--sp-4); direction:ltr; margin-block-end:var(--sp-3);
}
.int-a blockquote{ margin:0; font-size:var(--fs-body); color:var(--haze); line-height:1.9; }
.int-b{
  position:relative; border:var(--sw-1) solid var(--edge); background:var(--panel);
  padding:var(--sp-8); max-width:56ch; margin-inline-start:auto;
}
.int-b::after{ /* tape */
  content:""; position:absolute; inset-block-start:-10px; inset-inline-end:12%; width:120px; height:22px;
  background:rgba(232,255,71,.16); border:var(--sw-1) solid rgba(232,255,71,.4); transform:rotate(-4deg);
}
.int-b blockquote{ margin:0 0 var(--sp-4); font-size:var(--fs-small); color:var(--bone); line-height:1.9; }
.int-b .stamp{
  display:inline-block; font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--mag);
  border:var(--sw-2) solid var(--mag); padding:var(--sp-1) var(--sp-3); transform:rotate(-5deg);
  letter-spacing:.14em; margin-block-start:var(--sp-2);
}
.int-c{
  display:grid; gap:var(--sp-6); align-items:center;
  grid-template-columns:1fr;
}
@media (min-width:900px){ .int-c{ grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); } }
.int-c__img{ position:relative; overflow:hidden; border:var(--sw-1) solid var(--edge); }
.int-c__img img{ width:100%; aspect-ratio:4/3; object-fit:cover; filter:grayscale(1) contrast(1.2) brightness(.8); }
.int-c__img::after{ content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,240,255,.25), rgba(255,43,214,.25)); mix-blend-mode:screen; }
.int-c__body blockquote{ margin:0 0 var(--sp-4); font-size:var(--fs-body); color:var(--haze); line-height:1.9; }
.int-c__body .who{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--warn); letter-spacing:.14em; direction:ltr; text-align:left;
}
/* ═══ decrypt (FAQ) ═══ */
.decrypt{ max-width:820px; }
.faq{ border-block-end:var(--sw-1) solid var(--edge); }
.faq__q{
  width:100%; display:flex; align-items:center; gap:var(--sp-4); text-align:start;
  background:none; border:none; color:var(--bone); cursor:pointer;
  font-family:var(--f-disp); font-weight:700; font-size:var(--fs-body); padding:var(--sp-6) 0;
  min-height:44px;
}
.faq__q .idx{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--cyan);
  letter-spacing:.12em; direction:ltr; flex:none;
}
.faq__q .ico{
  margin-inline-start:auto; flex:none; font-family:var(--f-mono); color:var(--mag);
  transition:transform var(--t-std) var(--e-snap);
}
.faq[aria-expanded="true"] .ico{ transform:rotate(45deg); color:var(--cyan); }
.faq__a{
  display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--t-std) var(--e-snap);
}
.faq[aria-expanded="true"] .faq__a{ grid-template-rows:1fr; }
.faq__a-in{ overflow:hidden; }
.faq__a p{ margin:0 0 var(--sp-6); color:var(--haze); font-size:var(--fs-small); max-width:60ch; line-height:1.9; }
.faq__a p .en{ font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); direction:ltr; display:block; margin-block-start:var(--sp-2); letter-spacing:.08em; }
.faq__a code{
  font-family:var(--f-mono); color:var(--warn); direction:ltr; display:inline-block;
}
/* ═══ join ═══ */
.join{
  position:relative; border:var(--sw-1) solid var(--edge); background:var(--panel);
  padding:var(--sp-12); display:grid; gap:var(--sp-8);
  grid-template-columns:1fr;
  overflow:hidden;
}
.join::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(500px 300px at 85% 0%, rgba(0,240,255,.12), transparent 70%);
}
@media (min-width:900px){ .join{ grid-template-columns:1fr 1fr; } }
.join h2{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h2); margin:0 0 var(--sp-4); position:relative; }
.join p{ margin:0 0 var(--sp-6); color:var(--haze); font-size:var(--fs-small); max-width:44ch; position:relative; }
.join .mono{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); direction:ltr; text-align:left; position:relative;
}
.join__form{ position:relative; display:grid; gap:var(--sp-4); align-content:start; }
.field{ display:grid; gap:var(--sp-2); }
.field label{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); letter-spacing:.14em; direction:ltr; text-align:left;
}
.field input{
  background:var(--void-2); border:var(--sw-1) solid var(--edge); color:var(--bone);
  font-family:var(--f-mono); font-size:var(--fs-mono); padding:var(--sp-3) var(--sp-4); min-height:48px;
  border-radius:var(--r-xs); width:100%;
}
.field input:focus{ border-color:var(--cyan); box-shadow:var(--glow-1); outline:none; }
.field input[aria-invalid="true"]{ border-color:var(--blood); }
.field .err{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--blood); direction:ltr; text-align:left;
  min-height:1em;
}
.join__ok{
  display:none; border:var(--sw-1) solid var(--cyan); background:var(--void-2);
  padding:var(--sp-6); font-family:var(--f-mono); font-size:var(--fs-mono); color:var(--cyan);
  position:relative; text-align:center;
}
.join__ok.is-live{ display:block; animation:secretIn .8s var(--e-snap); }
.join__ok b{ color:var(--warn); font-weight:400; }
/* ═══ footer ═══ */
.foot{ position:relative; border-block-start:var(--sw-1) solid var(--edge); background:var(--void-2); }
.foot__grid{
  display:grid; gap:var(--sp-12); padding-block:var(--sp-16);
  grid-template-columns:1fr;
}
@media (min-width:900px){ .foot__grid{ grid-template-columns:1.4fr 1fr 1fr; } }
.foot__id .big{
  font-family:var(--f-lat); font-weight:800; font-size:clamp(2rem,5vw,3.4rem); color:var(--bone);
  text-shadow:var(--glow-2); direction:ltr; text-align:left; margin-block-end:var(--sp-4);
}
.foot__id .big em{ color:var(--cyan); font-style:normal; }
.foot__id p{ color:var(--haze); font-size:var(--fs-small); max-width:36ch; margin:0 0 var(--sp-6); }
.foot__links h3,.foot__col h3{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); letter-spacing:.18em;
  margin:0 0 var(--sp-4); text-transform:uppercase;
}
.foot__links ul{ list-style:none; margin:0; padding:0; display:grid; gap:var(--sp-2); }
.foot__links a{
  color:var(--haze); text-decoration:none; font-size:var(--fs-small);
  display:inline-flex; align-items:center; gap:var(--sp-2); transition:color var(--t-micro) var(--e-glow);
}
.foot__links a::before{ content:">"; color:var(--cyan); font-family:var(--f-mono); direction:ltr; }
.foot__links a:hover{ color:var(--cyan); }
.foot__col p{ color:var(--haze); font-size:var(--fs-small); line-height:1.9; max-width:40ch; }
.foot__col p em{ color:var(--bone); font-style:normal; }
.foot__bar{
  border-block-start:var(--sw-1) dashed var(--edge); padding-block:var(--sp-4);
  display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-8); align-items:center;
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); direction:ltr;
}
.foot__bar .live{ color:var(--cyan); }
.foot__bar .live b{ color:var(--warn); font-weight:400; }
.foot__bar .legal{ margin-inline-start:auto; direction:rtl; }
.foot__to-top{
  position:fixed; inset-block-end:var(--sp-8); inset-inline-end:var(--sp-8); z-index:var(--z-hud);
  width:48px; height:48px; border:var(--sw-1) solid var(--cyan); background:var(--void-2);
  color:var(--cyan); font-family:var(--f-mono); cursor:pointer; font-size:var(--fs-mono);
  box-shadow:var(--glow-1); transition:transform var(--t-micro) var(--e-snap), background var(--t-micro);
}
.foot__to-top:hover{ transform:translateY(-3px); background:var(--panel); }
/* ═══ starfield easter overlay ═══ */
#starfield{
  position:fixed; inset:0; z-index:var(--z-veil); pointer-events:none; opacity:0;
  background:transparent; transition:opacity 1.2s var(--e-glow);
}
#starfield.is-live{ opacity:1; }
#starfield .stars{ position:absolute; inset:0; }
#starfield .msg{
  position:absolute; inset:auto 0 12% 0; text-align:center;
  font-family:var(--f-disp); font-weight:700; color:var(--bone); font-size:var(--fs-h3);
  text-shadow:0 0 20px rgba(0,240,255,.5);
}
/* ═══ custom cursor (pointer:fine only) ═══ */
#cyber-cursor{
  position:fixed; inset-block-start:0; inset-inline-start:0; z-index:var(--z-cursor);
  width:34px; height:34px; margin:-17px 0 0 -17px; pointer-events:none;
  border:var(--sw-2) solid var(--cyan); border-radius:50%;
  box-shadow:var(--glow-1), inset 0 0 8px rgba(0,240,255,.3);
  opacity:0; transition:opacity .3s var(--e-glow);
}
#cyber-cursor::before{
  content:""; position:absolute; inset:12px; border-radius:50%; background:var(--mag);
  box-shadow:var(--glow-mag); transition:transform var(--t-std) var(--e-snap);
}
#cyber-cursor.is-hot{ border-color:var(--mag); box-shadow:var(--glow-mag), inset 0 0 8px rgba(255,43,214,.35); }
#cyber-cursor.is-hot::before{ transform:scale(1.5); }
#cyber-cursor.is-down{ transform:scale(.8); }
@media (pointer: coarse){ #cyber-cursor{ display:none; } }
/* ═══ glitch (clip-path + rgb offset only) ═══ */
.glitch{ position:relative; display:inline-block; }
.glitch::before,.glitch::after{
  content:attr(data-text); position:absolute; inset:0; pointer-events:none; opacity:0;
  transition:opacity var(--t-micro) var(--e-glow);
}
.glitch:hover::before,.glitch:hover::after,.glitch:focus-visible::before,.glitch:focus-visible::after{ opacity:.8; }
.glitch:hover::before{ color:var(--cyan); transform:translate(-2px, 1px); clip-path:inset(0 0 55% 0); }
.glitch:hover::after{ color:var(--mag); transform:translate(2px, -1px); clip-path:inset(55% 0 0 0); }
/* ═══ reduced motion ═══ */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .rv{ opacity:1; transform:none; }
  .rv[data-stagger] > *{ opacity:1; transform:none; transition:none; }
  .sigbars i{ animation:none; transform:scaleY(.6); }
  #grid-stage::after{ animation:none; }
  #cyber-cursor{ display:none; }
  .mq__track{ transform:none !important; }
  .glitch::before,.glitch::after{ display:none; }
  #boot-veil{ display:none; }
}
/* ═══ print ═══ */
@media print{
  .hud,.sigbar,#grid-stage,.grain,.scanlines,#boot-veil,#cyber-cursor,.foot__to-top,.mq{ display:none !important; }
  body{ background:var(--void); }
  .sec{ padding-block:var(--sp-8); }
  .dossier{ position:static; }
}
/* ═══ latest-CSS progressive enhancements (feature-guarded) ═══ */
.faq:has(.faq__q[aria-expanded="true"]) .faq__q{ color:var(--cyan); }
.faq:has(.faq__q[aria-expanded="true"]) .faq__q .idx{ color:var(--warn); }
.join{ container-type:inline-size; }
@container (max-width: 720px){
  .join{ grid-template-columns:1fr; }
}
@supports (animation-timeline: view()){
  .hero__anno{ animation:annoDrift linear both; animation-timeline:view(); animation-range:entry 0% exit 35%; }
  @keyframes annoDrift{ from{ opacity:.2; } to{ opacity:1; } }
  .signal::before{ animation:glowRise linear both; animation-timeline:view(); animation-range:entry 5% entry 60%; }
  @keyframes glowRise{ from{ opacity:.15; } to{ opacity:1; } }
}
/* ═══ signal-pressure type: variable weight driven by scroll (enhancement) ═══ */
@supports (animation-timeline: view()){
  .sig-driven{
    font-variation-settings:'wght' 700;
    animation:sigRise linear both;
    animation-timeline:view();
    animation-range:entry 0% entry 85%;
  }
  .sig-driven--exit{
    font-variation-settings:'wght' 800;
    animation:sigFade linear both;
    animation-timeline:view();
    animation-range:exit 0% exit 55%;
  }
  @keyframes sigRise{ from{ font-variation-settings:'wght' 700; } to{ font-variation-settings:'wght' 800; } }
  @keyframes sigFade{ from{ font-variation-settings:'wght' 800; } to{ font-variation-settings:'wght' 400; } }
}
/* auto-interference glitch on the hero neon (one burst / 6s, ≤3Hz) */
.glitch{ animation:autoGlitch 6s steps(1) infinite; }
@keyframes autoGlitch{
  0%, 86%{ transform:none; }
  87%{ transform:translate(-2px,1px); }
  88%{ transform:translate(2px,-1px); text-shadow:2px 0 var(--mag), -2px 0 var(--cyan); }
  89%{ transform:translate(-1px,0); }
  90%, 100%{ transform:none; }
}
/* CRT channel-change view transitions (feature-guarded by the UA) */
::view-transition-old(root){ animation:crtOut .3s var(--e-snap) both; }
::view-transition-new(root){ animation:crtIn .3s var(--e-snap) both; }
@keyframes crtOut{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translateY(-1.5%) scale(.99); } }
@keyframes crtIn{ from{ opacity:0; transform:translateY(1.5%) scale(1.01); } to{ opacity:1; transform:none; } }
/* content-visibility for the long page (only non-sticky sections) */
@supports (content-visibility: auto){
  .sec--cv{ content-visibility:auto; contain-intrinsic-size:auto 800px; }
}
/* oscilloscope in the signal panel */
#sig-scope{
  width:100%; height:44px; display:block;
  border-block-start:var(--sw-1) dashed var(--edge); padding-block-start:var(--sp-2);
}
/* operator chip */
.hud__op{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--warn);
  border:var(--sw-1) solid rgba(232,255,71,.4); padding:2px var(--sp-3); letter-spacing:.1em;
  white-space:nowrap;
}
/* neon-mix hovers (cyan×magenta clashes under pressure) */
.dossier:hover{ border-color:color-mix(in oklch, var(--cyan) 55%, var(--mag)); }
.stream__item:hover{ border-color:color-mix(in oklch, var(--cyan) 60%, var(--mag)); }
.faq:hover .faq__q .idx{ color:color-mix(in oklch, var(--cyan) 55%, var(--mag)); }
.recon__item:hover{ border-color:color-mix(in oklch, var(--mag) 55%, var(--cyan)); }
/* form chrome */
:root{ accent-color:var(--cyan); }
input, textarea{ caret-color:var(--cyan); }
/* high-contrast hardening */
@media (prefers-contrast: more){
  :root{ --edge:#26355C; --dim:var(--haze); }
  .hud, .sigpanel, .dossier, .term-shell, .join{ border-width:2px; }
  .sec__code, .sigpanel__label, .diag__head{ letter-spacing:.22em; }
}
/* ═══ responsive hardening ═══ */
@media (max-width:640px){
  .sec{ padding-block:var(--sp-16); }
  .hero{ padding-block:var(--sp-16) var(--sp-12); }
  .hero__actions .hud-btn{ flex:1; justify-content:center; }
  .recon__item{ grid-column:span 12; }
  .join{ padding:var(--sp-8); }
  .sigpanel{ padding:var(--sp-4); }
  .trx__stamp{ position:static; display:inline-block; margin-block-end:var(--sp-4); transform:rotate(-2deg); }
}

/* ══════════════════════════════════════════════════════════════
   HOME MAPPING — Restyle existing الشَّارِف structure with R-AC/87.7 tokens
   Littéral: every color uses exact hex from style.md, no approximations
   Preserve content, change identity — لا تحذف أقسامًا، غيّر الهوية فقط
   ══════════════════════════════════════════════════════════════ */

/* — container mirrors .shell — */
.container{ width:min(1440px, 100% - var(--sp-8)); margin-inline:auto; padding-inline:var(--sp-4); }
@media (min-width:1024px){ .container{ width:min(1440px, 100% - var(--sp-24)); } }

/* — header → HUD — */
.header{
  position:fixed; inset-block-start:0; inset-inline:0; z-index:var(--z-hud);
  background:color-mix(in oklab, var(--void) 72%, transparent);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-block-end:var(--sw-1) solid var(--edge);
}
.header__inner{ display:flex; align-items:center; gap:var(--sp-6); height:56px; }
.brand{ display:flex; align-items:center; gap:var(--sp-3); text-decoration:none; }
.brand__mark{
  width:38px; height:38px; display:grid; place-items:center;
  background:var(--void-2); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  color:var(--cyan); box-shadow:var(--glow-1);
}
.brand__text{ font-family:var(--f-disp); font-weight:700; font-size:1.05rem; color:var(--bone); letter-spacing:.06em; }
.nav{ display:flex; gap:var(--sp-4); list-style:none; margin:0; padding:0; }
.nav a{
  font-family:var(--f-lbl); font-weight:600; font-size:var(--fs-small); color:var(--haze);
  text-decoration:none; letter-spacing:.06em; padding-block:var(--sp-2); position:relative;
}
.nav a::after{ content:""; position:absolute; inset-inline:0; bottom:0; height:2px; background:var(--cyan); transform:scaleX(0); transform-origin:100% 50%; transition:transform var(--t-std) var(--e-snap); }
.nav a:hover::after, .nav a.is-active::after{ transform:scaleX(1); }
.nav a.is-active, .nav a:hover{ color:var(--cyan); }
.header__actions{ margin-inline-start:auto; display:flex; gap:var(--sp-3); align-items:center; }
.icon-btn{
  width:44px; height:44px; display:grid; place-items:center;
  background:var(--panel); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  color:var(--bone); cursor:pointer; transition:border-color var(--t-micro) var(--e-snap), color var(--t-micro), transform var(--t-micro), box-shadow var(--t-micro);
}
.icon-btn:hover{ border-color:var(--cyan); color:var(--cyan); transform:translateY(-2px); box-shadow:var(--glow-1); }
.icon-btn:active{ transform:translateY(1px) scale(.985); }
.icon--sun{display:none}
[data-theme="light"] .icon--moon{display:none}
[data-theme="light"] .icon--sun{display:block}
.icon-btn--menu{display:none}
@media (max-width:920px){ .nav{display:none} .icon-btn--menu{display:grid} }
.mobile-menu{ position:fixed; inset-block-start:56px; inset-inline:0; z-index:49; background:var(--void-2); border-block-end:var(--sw-1) solid var(--edge); padding:var(--sp-4); display:none; }
.mobile-menu:not([hidden]){ display:block; }
.mobile-menu__nav{ display:grid; gap:0; }
.mobile-menu__nav a{ display:block; font-family:var(--f-lbl); font-weight:600; color:var(--haze); text-decoration:none; padding:var(--sp-3); border-block-end:var(--sw-1) dashed var(--edge); }
.mobile-menu__nav a:hover{ color:var(--cyan); background:var(--panel); }

/* bg → use R-AC layers */
.bg{ display:none; } /* hide old bg, R-AC uses #grid-stage + grain/scanlines */
.grain,.scanlines,.vignette,#grid-stage{ display:block; }

/* Hero — map to R-AC hero console + sigpanel */
.hero{ position:relative; z-index:var(--z-content); min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding-block:var(--sp-24) var(--sp-16); gap:0; }
.hero::before{ content:""; display:none; }
.hero .hero__content{ display:grid; gap:var(--sp-4); }
.eyebrow{
  font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--cyan); letter-spacing:.18em; white-space:nowrap;
  display:inline-flex; align-items:center; gap:var(--sp-2); background:transparent; border:none; padding:0;
}
.eyebrow::before{ content:""; width:7px; height:7px; background:var(--cyan); border-radius:50%; box-shadow:var(--glow-1); animation:pulse 2s var(--e-glow) infinite; }
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.hero__title{
  font-family:var(--f-disp); font-weight:700; font-size:var(--fs-hero); line-height:1.06; margin:0; color:var(--bone); text-wrap:balance;
}
.hero__title-accent{ color:var(--cyan); text-shadow:var(--glow-2); }
.hero__title-outline{ color:var(--mag); text-shadow:var(--glow-mag); -webkit-text-stroke:0; }
.hero__lede{
  font-family:var(--f-ar); font-size:var(--fs-small); color:var(--dim); line-height:2; max-width:60ch; margin:0;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:var(--sp-4); margin-block-start:var(--sp-4); }
.hero__stats{ display:none; } /* replaced by telemetry */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:var(--sp-2);
  font-family:var(--f-lbl); font-weight:600; font-size:var(--fs-small); letter-spacing:.08em;
  color:var(--bone); background:var(--panel); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  padding:var(--sp-3) var(--sp-6); min-height:44px; cursor:pointer; text-decoration:none;
  transition:border-color var(--t-micro) var(--e-snap), color var(--t-micro), transform var(--t-micro), box-shadow var(--t-micro);
}
.btn::before{ content:""; position:absolute; inset:0; border-radius:var(--r-xs); box-shadow:inset 0 0 0 0 rgba(0,240,255,.5); transition:box-shadow var(--t-std) var(--e-glow); pointer-events:none; }
.btn:hover{ border-color:var(--cyan); color:var(--cyan); transform:translateY(-2px); }
.btn:hover::before{ box-shadow:inset 0 0 14px 0 rgba(0,240,255,.35); }
.btn:active{ transform:translateY(1px) scale(.985); }
.btn--primary{ background:var(--cyan); color:var(--void); border-color:var(--cyan); box-shadow:var(--glow-1); }
.btn--primary:hover{ background:var(--cyan); color:var(--void); border-color:var(--cyan); box-shadow:var(--glow-2); }
.btn--ghost{ background:transparent; }
.btn--accent{ border-color:var(--mag); color:var(--mag); }
.btn--accent:hover{ border-color:var(--mag); color:var(--mag); box-shadow:var(--glow-mag); }
.btn--lg{ padding:var(--sp-4) var(--sp-8); min-height:48px; }

/* Features → Telemetry */
.features{ position:relative; }
.features .section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-6); margin-block-end:var(--sp-12); border-block-end:var(--sw-1) solid var(--edge); padding-block-end:var(--sp-4); }
.features .section-head .eyebrow{ display:none; }
.features .section-head__title{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h2); line-height:1.15; margin:0; }
.features .section-head__sub{ font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); letter-spacing:.08em; margin:0; }
.feature-grid{ display:grid; gap:var(--sp-6); grid-template-columns:1fr; }
@media (min-width:768px){ .feature-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1200px){ .feature-grid{ grid-template-columns:repeat(4,1fr); } }
.feature-card{
  position:relative; border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  background:var(--panel); padding:var(--sp-6); display:flex; flex-direction:column; gap:var(--sp-3);
  transition:border-color var(--t-std) var(--e-glow), transform var(--t-std) var(--e-snap);
}
.feature-card:hover{ border-color:var(--cyan); transform:translateY(-4px); }
.feature-card__kicker{ font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--warn); letter-spacing:.16em; }
.feature-card__icon{
  width:48px; height:48px; display:grid; place-items:center;
  background:var(--void-2); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  color:var(--cyan); box-shadow:var(--glow-1);
}
.feature-card:nth-child(3) .feature-card__icon{ color:var(--mag); box-shadow:var(--glow-mag); }
.feature-card:nth-child(4) .feature-card__icon{ color:var(--warn); box-shadow:var(--glow-warn); border-color:rgba(232,255,71,.35); }
.feature-card__title{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h3); margin:0; line-height:1.2; }
.feature-card__text{ margin:0; font-size:var(--fs-small); color:var(--haze); line-height:1.8; }

/* Projects → Dossiers */
.projects .section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-6); margin-block-end:var(--sp-8); border-block-end:var(--sw-1) solid var(--edge); padding-block-end:var(--sp-4); }
.projects .section-head__title{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h2); margin:0; }
.projects .section-head__hint{ font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); }
.toolbar{
  display:flex; flex-wrap:wrap; gap:var(--sp-4); align-items:center; justify-content:space-between;
  padding:var(--sp-4); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs); background:var(--panel);
  position:sticky; top:60px; z-index:5; backdrop-filter:blur(8px);
}
.search{
  display:flex; align-items:center; gap:var(--sp-3); flex:1; min-width:240px; max-width:520px;
  background:var(--void-2); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs); padding:var(--sp-2) var(--sp-4); min-height:44px;
}
.search:focus-within{ border-color:var(--cyan); box-shadow:var(--glow-1); }
.search input{ flex:1; background:none; border:none; outline:none; color:var(--bone); font-family:var(--f-mono); font-size:var(--fs-mono); }
.search input::placeholder{ color:var(--dim); }
.filters{ display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.chip{
  font-family:var(--f-lbl); font-weight:600; font-size:var(--fs-small); letter-spacing:.06em;
  color:var(--haze); background:var(--panel); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  padding:var(--sp-2) var(--sp-4); min-height:36px; cursor:pointer; transition:all var(--t-micro) var(--e-snap);
}
.chip:hover{ border-color:var(--cyan); color:var(--cyan); }
.chip.is-active{ background:var(--cyan); color:var(--void); border-color:var(--cyan); box-shadow:var(--glow-1); }
.grid{ display:grid; gap:var(--sp-6); grid-template-columns:1fr; margin-block-start:var(--sp-8); }
@media (min-width:720px){ .grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .grid{ grid-template-columns:repeat(3,1fr); } }
.card{
  position:relative; border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  background:color-mix(in oklab, var(--panel) 88%, transparent); backdrop-filter:blur(10px);
  display:grid; gap:0; overflow:hidden; transition:border-color var(--t-std) var(--e-glow), transform var(--t-std) var(--e-snap);
}
.card:hover{ border-color:var(--mag); transform:translateY(-3px); }
.card__media{
  position:relative; min-height:140px; display:grid; place-items:center; padding:var(--sp-6);
  background:var(--void-2); border-block-end:var(--sw-1) solid var(--edge); overflow:hidden;
}
.card__media::after{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(to bottom, transparent 0 2px, rgba(3,3,8,.5) 2px 3px); pointer-events:none; }
.card__icon{
  width:64px; height:64px; display:grid; place-items:center;
  background:var(--panel); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs);
  color:var(--cyan); box-shadow:var(--glow-1); position:relative; z-index:1;
}
.card:nth-child(3n) .card__icon{ color:var(--mag); box-shadow:var(--glow-mag); }
.card__badge{
  position:absolute; inset-block-start:var(--sp-2); inset-inline-start:var(--sp-2); z-index:2;
  font-family:var(--f-mono); font-size:var(--fs-caption); letter-spacing:.12em;
  padding:2px var(--sp-2); border:var(--sw-1) solid var(--edge); background:var(--void); color:var(--cyan);
}
.card__badge--gold{ color:var(--warn); border-color:rgba(232,255,71,.35); }
.card__badge--lime{ color:var(--cyan); border-color:rgba(0,240,255,.35); }
.card__badge--ember{ color:var(--mag); border-color:rgba(255,43,214,.35); }
.card__body{ padding:var(--sp-6); display:flex; flex-direction:column; gap:var(--sp-3); }
.card__top{ display:flex; align-items:start; justify-content:space-between; gap:var(--sp-3); }
.card__title{ font-family:var(--f-disp); font-weight:700; font-size:1.1rem; margin:0; line-height:1.3; color:var(--bone); }
.card__cat{ font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--warn); letter-spacing:.12em; white-space:nowrap; }
.card__desc{ margin:0; font-size:var(--fs-small); color:var(--haze); line-height:1.85; }
.card__meta{ display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.card__tag{ font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); border:var(--sw-1) solid var(--edge); padding:2px var(--sp-2); letter-spacing:.06em; }
.card__foot{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); margin-block-start:auto; padding-block-start:var(--sp-4); border-block-start:var(--sw-1) dashed var(--edge); }
.card__link{ font-family:var(--f-lbl); font-weight:600; font-size:var(--fs-small); color:var(--cyan); text-decoration:none; display:inline-flex; gap:var(--sp-2); align-items:center; }
.card__link:hover{ color:var(--bone); }
.card__external{ width:36px; height:36px; display:grid; place-items:center; border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs); color:var(--haze); transition:all var(--t-micro); }
.card__external:hover{ border-color:var(--cyan); color:var(--cyan); box-shadow:var(--glow-1); }
.card--featured{ border-color:var(--edge-hi); }
.card--hero{ border-color:var(--cyan); box-shadow:var(--glow-1); }
.empty{ grid-column:1/-1; text-align:center; padding:var(--sp-12); border:var(--sw-1) dashed var(--edge); color:var(--dim); font-family:var(--f-mono); }

/* Workflow → OPS Log */
.workflow .section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-6); margin-block-end:var(--sp-12); border-block-end:var(--sw-1) solid var(--edge); padding-block-end:var(--sp-4); }
.workflow .section-head__title{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h2); margin:0; }
.steps{ position:relative; display:grid; gap:var(--sp-8); }
.steps::before{ content:""; position:absolute; inset-block-start:0; inset-block-end:0; inset-inline-start:8px; width:1px; background:var(--edge); }
@media (min-width:900px){ .steps{ gap:var(--sp-12); } }
.step{ position:relative; display:grid; gap:var(--sp-2); border-inline-start:var(--sw-1) solid var(--edge); padding-inline-start:var(--sp-8); }
.step::before{ content:""; position:absolute; inset-inline-start:-5px; inset-block-start:6px; width:9px; height:9px; border:var(--sw-1) solid var(--cyan); background:var(--void); transform:rotate(45deg); }
.step__num{ font-family:var(--f-lat); font-weight:800; font-size:var(--fs-h3); color:var(--bone); direction:ltr; text-shadow:var(--glow-1); }
.step__title{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h3); margin:0; }
.step__text{ margin:0; font-size:var(--fs-small); color:var(--haze); max-width:56ch; line-height:1.85; }

/* CTA → Signal */
.cta .cta__panel{ position:relative; text-align:center; padding-block:var(--sp-32); border-block:var(--sw-1) solid var(--edge); background:radial-gradient(60% 90% at 50% 50%, rgba(123,63,228,.16), transparent 70%); }
.cta__title{ font-family:var(--f-disp); font-weight:700; font-size:var(--fs-h2); line-height:1.3; margin:0 auto; max-width:24ch; text-wrap:balance; }
.cta__title span{ color:var(--cyan); text-shadow:var(--glow-2); }
.cta__text{ font-size:var(--fs-small); color:var(--dim); margin:var(--sp-4) auto 0; max-width:52ch; }
.cta .btn{ margin-block-start:var(--sp-6); }

/* Footer → Foot */
.footer{ position:relative; border-block-start:var(--sw-1) solid var(--edge); background:var(--void-2); margin-block-start:var(--sp-16); }
.footer__inner{ display:none; }
.footer__grid{ display:grid; gap:var(--sp-12); padding-block:var(--sp-16); grid-template-columns:1fr; }
@media (min-width:900px){ .footer__grid{ grid-template-columns:1.4fr 1fr 1fr; } }
.footer__brand{ display:flex; align-items:center; gap:var(--sp-3); font-family:var(--f-lat); font-weight:800; font-size:1.4rem; color:var(--bone); text-shadow:var(--glow-2); }
.footer__brand .brand__mark{ width:40px; height:40px; display:grid; place-items:center; background:var(--panel); border:var(--sw-1) solid var(--edge); border-radius:var(--r-xs); color:var(--cyan); }
.footer__desc{ color:var(--haze); font-size:var(--fs-small); max-width:36ch; margin:var(--sp-4) 0 0; line-height:1.8; }
.footer__col h4{ font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); letter-spacing:.18em; margin:0 0 var(--sp-4); text-transform:uppercase; }
.footer__col a{ color:var(--haze); text-decoration:none; font-size:var(--fs-small); display:flex; align-items:center; gap:var(--sp-2); padding-block:var(--sp-1); transition:color var(--t-micro); }
.footer__col a::before{ content:">"; color:var(--cyan); font-family:var(--f-mono); }
.footer__col a:hover{ color:var(--cyan); }
.footer__bottom{ border-block-start:var(--sw-1) dashed var(--edge); padding-block:var(--sp-4); display:flex; flex-wrap:wrap; gap:var(--sp-2) var(--sp-8); align-items:center; font-family:var(--f-mono); font-size:var(--fs-caption); color:var(--dim); direction:ltr; }
.footer__copy{ font-family:var(--f-mono); }
.footer__bottom .legal{ margin-inline-start:auto; direction:rtl; font-family:var(--f-ar); }

/* — Terminal (central) — */
.terminal-section{ position:relative; z-index:var(--z-content); padding-block:var(--sp-24); }
.terminal-section .sec__head{ margin-block-end:var(--sp-8); }

/* — marquee, spotlight, hero extras hidden or restyled — */
.marquee{ display:none; } /* R-AC uses .mq */
.spotlight{ display:none; } /* hide editorial spotlight — ops log is central */

/* Reveal uses R-AC .rv */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--e-soft), transform .7s var(--e-soft); }
.reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; } }

/* Header sticky offset for fixed HUD */
body{ padding-block-start:56px; }
#main{ position:relative; z-index:var(--z-content); }

/* Ensure light theme stays dark per style.md (color-scheme: dark) */
[data-theme="light"]{ color-scheme:dark; }
[data-theme="light"] body{ background:var(--void); color:var(--bone); }

