:root{--bg:#06020b;--panel:rgba(17,8,27,.78);--panel2:rgba(10,18,28,.68);--stroke:rgba(255,255,255,.14);--text:#f8f4ff;--muted:#bdb2ce;--muted2:#887b98;--pink:#ff3bd5;--cyan:#24f5ff;--violet:#9d62ff;--amber:#ffb457;--good:#4dffba;--shadow:0 24px 70px rgba(0,0,0,.45);--radius:28px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 20%,rgba(255,59,213,.16),transparent 32%),radial-gradient(circle at 85% 14%,rgba(36,245,255,.12),transparent 34%),linear-gradient(135deg,#07020d 0%,#10051b 45%,#031019 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden}.project-canvas{position:fixed;inset:0;z-index:-6;opacity:.34}.bg-grid{position:fixed;inset:0;z-index:-7;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 88%)}.bg-noise{position:fixed;inset:0;z-index:-5;opacity:.08;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.orb{position:fixed;border-radius:999px;filter:blur(45px);z-index:-4;opacity:.45}.orb-a{width:330px;height:330px;background:var(--pink);left:-110px;top:12%}.orb-b{width:380px;height:380px;background:var(--cyan);right:-140px;top:42%}.scanline{position:fixed;inset:0;pointer-events:none;z-index:30;background:linear-gradient(to bottom,transparent 0,rgba(255,255,255,.025) 50%,transparent 100%);background-size:100% 4px;mix-blend-mode:screen;opacity:.25}.skip-link{position:absolute;left:-999px;top:10px;background:var(--cyan);color:#001014;padding:.8rem 1rem;border-radius:999px;z-index:99}.skip-link:focus{left:10px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:calc(var(--max) + 36px);margin:0 auto;padding:18px;background:linear-gradient(to bottom,rgba(6,2,11,.88),rgba(6,2,11,.48));backdrop-filter:blur(18px)}.brand,.footer-brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--text);text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:radial-gradient(circle,var(--cyan),var(--pink) 55%,#14051f);box-shadow:0 0 24px rgba(255,59,213,.35),0 0 36px rgba(36,245,255,.18)}.brand small{display:block;color:var(--cyan);font-size:.78rem;text-transform:uppercase;letter-spacing:.22em}.top-actions{display:flex;align-items:center;gap:.8rem;min-width:0}.topnav{display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--stroke);border-radius:999px;background:rgba(255,255,255,.045)}.topnav a{color:var(--muted);text-decoration:none;padding:.62rem .78rem;border-radius:999px;font-size:.88rem}.topnav a:hover,.topnav a:focus{background:rgba(255,255,255,.08);color:#fff}.lang-switcher{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--stroke);background:rgba(255,255,255,.045);border-radius:999px;padding:.38rem .55rem}.lang-switcher select{background:transparent;color:var(--text);border:0;outline:0;max-width:94px}.lang-switcher option{background:#10051b;color:#fff}.shell{max-width:var(--max);margin:0 auto;padding:24px 18px 60px}.hero{padding:54px 0 34px}.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--cyan);font-weight:800;letter-spacing:.19em;text-transform:uppercase;font-size:.76rem}.hero h1{font-size:clamp(3rem,8vw,7.2rem);line-height:.89;margin:.35rem 0 1rem;letter-spacing:-.08em}.hero h1 span:nth-child(1){color:#fff}.hero h1 span:nth-child(2){color:var(--pink);text-shadow:0 0 28px rgba(255,59,213,.35)}.hero h1 span:nth-child(3){color:var(--cyan);text-shadow:0 0 28px rgba(36,245,255,.3)}.hero-copy{max-width:740px;color:var(--muted);font-size:1.13rem;line-height:1.7}.hero-actions,.card-actions,.dialog-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.primary,.secondary,.card-actions a,.card-actions button,.archive-box button,.dialog-actions a,.dialog-actions button,.lab-card a{border:1px solid var(--stroke);border-radius:999px;color:#fff;text-decoration:none;padding:.75rem 1rem;background:rgba(255,255,255,.07);box-shadow:none;cursor:pointer;font:inherit}.primary,.card-actions a{border-color:rgba(255,59,213,.45);background:linear-gradient(135deg,rgba(255,59,213,.28),rgba(36,245,255,.12))}.secondary,.card-actions button,.archive-box button,.dialog-actions button{color:var(--muted);background:rgba(255,255,255,.04)}a:hover,button:hover{filter:brightness(1.13)}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.filterbar{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:22px}.chip{border:1px solid var(--stroke);border-radius:999px;background:rgba(255,255,255,.05);color:var(--muted);padding:.65rem .9rem;cursor:pointer}.chip.is-active{color:#fff;border-color:rgba(255,59,213,.55);background:linear-gradient(135deg,rgba(255,59,213,.22),rgba(36,245,255,.08))}.section{padding:30px 0}.section-head{display:grid;grid-template-columns:1fr minmax(240px,440px);gap:1.2rem;align-items:end;margin-bottom:18px}.section-head.compact{display:block}.section-head h2,.archive-box h2{font-size:clamp(1.8rem,4vw,3.4rem);line-height:1;margin:.4rem 0}.section-head p,.archive-box p{color:var(--muted);line-height:1.65;margin:0}.map-panel{position:relative;display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(320px,.85fr);gap:18px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:calc(var(--radius) + 10px);background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:var(--shadow);overflow:hidden}.map-panel:before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle,rgba(255,59,213,.16),transparent 22%),radial-gradient(circle at 75% 60%,rgba(36,245,255,.18),transparent 20%);animation:float 18s linear infinite;z-index:-1}.project-card{position:relative;border:1px solid var(--stroke);border-radius:var(--radius);background:linear-gradient(135deg,rgba(18,8,30,.78),rgba(6,18,26,.58));box-shadow:0 18px 60px rgba(0,0,0,.35);overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-card:hover{transform:translateY(-3px);border-color:rgba(36,245,255,.34);box-shadow:0 24px 80px rgba(0,0,0,.48),0 0 34px rgba(255,59,213,.12)}.project-card.is-hidden{display:none!important}.core img,.feature img{width:100%;display:block;aspect-ratio:2/1;object-fit:cover}.card-body{padding:20px}.status{display:inline-flex;margin-bottom:.8rem;padding:.35rem .58rem;border-radius:999px;font-size:.73rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.16);color:#fff}.status.active{background:rgba(77,255,186,.12);color:var(--good)}.status.evolution{background:rgba(255,180,87,.14);color:var(--amber)}.status.community{background:rgba(157,98,255,.15);color:#cbb7ff}.statusCore,.core .status{background:rgba(36,245,255,.12);color:var(--cyan)}.card-body h3,.lab-card h3{font-size:1.55rem;margin:.1rem 0 .5rem}.card-body p,.lab-card p{color:var(--muted);line-height:1.58;margin:.2rem 0 1rem}.satellites{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-node{padding:12px;display:grid;gap:.5rem;align-content:start}.mini-node img{width:100%;border-radius:18px;aspect-ratio:2/1;object-fit:cover}.mini-node strong{font-size:1.15rem}.mini-node span{color:var(--muted);font-size:.92rem}.mini-node a{justify-self:start;color:#fff;text-decoration:none;border:1px solid var(--stroke);border-radius:999px;padding:.55rem .75rem;background:rgba(255,255,255,.06);font-size:.88rem}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{min-height:100%;display:flex;flex-direction:column}.feature .card-body{display:flex;flex:1;flex-direction:column}.feature .card-actions{margin-top:auto}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 1rem}.tags span{font-size:.75rem;color:var(--muted);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.32rem .55rem;background:rgba(255,255,255,.04)}.community-card{background:linear-gradient(135deg,rgba(62,36,118,.55),rgba(18,8,34,.7))}.lab-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lab-card{padding:20px}.lab-card>span{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,var(--pink),var(--cyan));font-weight:900;margin-bottom:16px}.archive-box{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:24px;border-radius:var(--radius)}.footer{max-width:var(--max);margin:0 auto;padding:28px 18px 42px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1)}.brand-mark.mini{width:30px;height:30px;font-size:.85rem}.footer nav{display:flex;gap:.8rem;flex-wrap:wrap}.footer a{color:var(--muted);text-decoration:none}.detail-dialog{width:min(760px,calc(100vw - 28px));border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(135deg,rgba(14,6,25,.96),rgba(5,19,25,.96));box-shadow:0 32px 110px rgba(0,0,0,.68);color:var(--text);padding:0}.detail-dialog::backdrop{background:rgba(2,0,8,.72);backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:14px;top:12px;width:42px;height:42px;border-radius:999px;border:1px solid var(--stroke);background:rgba(255,255,255,.06);color:#fff;font-size:1.35rem}.dialog-content{padding:32px}.dialog-badge{display:inline-flex;border:1px solid rgba(36,245,255,.35);border-radius:999px;padding:.35rem .7rem;color:var(--cyan);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.dialog-content h2{font-size:2.2rem;margin:.7rem 0}.dialog-content p{color:var(--muted);line-height:1.72}.dialog-content ul{color:var(--muted);line-height:1.7}.dialog-actions{margin-top:18px}.legal-page .shell{max-width:880px}.legal-card{border:1px solid var(--stroke);border-radius:28px;background:var(--panel);padding:28px;box-shadow:var(--shadow)}@keyframes float{to{transform:rotate(360deg)}}@media (max-width:920px){.topbar{position:relative;align-items:flex-start}.top-actions{align-items:flex-end;flex-direction:column}.section-head,.map-panel{grid-template-columns:1fr}.project-grid,.lab-strip{grid-template-columns:1fr}.satellites{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(3rem,12vw,5.7rem)}}@media (max-width:620px){.topbar{padding:14px}.topnav{max-width:100%;overflow:auto}.topnav a{white-space:nowrap}.satellites{grid-template-columns:1fr}.hero{padding-top:28px}.hero-actions,.card-actions{align-items:stretch;flex-direction:column}.primary,.secondary,.card-actions a,.card-actions button{width:100%;text-align:center}.archive-box{align-items:flex-start;flex-direction:column}.footer{align-items:flex-start;flex-direction:column}.shell{padding-inline:14px}}

/* Global ecosystem footer links added in the consolidated pack. */
.ecosystem-footer{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:.35rem 0;
}
.ecosystem-footer a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 .72rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:rgba(255,248,255,.78);
  background:rgba(255,255,255,.045);
  text-decoration:none;
  font-size:.84rem;
  font-weight:800;
}
.ecosystem-footer a:hover,.ecosystem-footer a:focus-visible{
  color:#fff;
  border-color:rgba(54,242,255,.42);
  background:rgba(54,242,255,.08);
  outline:0;
}
.micro-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}
.micro-links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.55rem .72rem;background:rgba(255,255,255,.055);color:rgba(255,248,255,.86);text-decoration:none;font-size:.88rem;font-weight:800}
.micro-links a:hover,.micro-links a:focus-visible{color:#fff;border-color:rgba(54,242,255,.4);outline:0}
@media (max-width:620px){.ecosystem-footer{width:100%}.ecosystem-footer a{flex:1 1 auto}}
