/* A single connected starfield with hover-only labels and glyphs. */
.ai-command-page .mcp-constellation{max-width:1200px;margin:84px auto 70px;scroll-margin-top:28px}
.constellation-heading{text-align:center;position:relative;z-index:1}
.constellation-heading h2{font-size:clamp(2.4rem,5vw,4.1rem);font-weight:450;line-height:1.08;letter-spacing:-.045em;margin:0;color:#f0f5f8}
.constellation-heading h2 span{color:#abc9dd}
.constellation-stage{position:relative;height:660px;isolation:isolate;touch-action:pan-y;margin-top:-6px}
.constellation-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.constellation-core{position:absolute;left:50%;top:54%;transform:translate(-50%,0);width:230px;text-align:center;border:0;border-radius:8px;font:inherit;cursor:default;padding:12px 0;background:radial-gradient(ellipse,#070f14e8 15%,#070f14b3 50%,transparent 73%);transition:text-shadow .2s}
.constellation-core-kicker{display:block;color:#9dc9b0;font-size:.69rem;letter-spacing:.15em;margin-bottom:7px}
.constellation-core-title{display:block;font-size:1.2rem;color:#f0f6fb;font-weight:500;white-space:nowrap;letter-spacing:-.02em}
.constellation-core-title>span{color:#93acbd;font-size:.8rem;font-weight:400;margin:0 3px}
.constellation-core-caption{display:block;color:#91acbe;font-size:.74rem;margin-top:5px}
.constellation-app{position:absolute;transform:translate(-50%,0);width:172px;border:0;background:radial-gradient(ellipse,#070f14df 10%,#070f14a3 45%,transparent 74%);color:#d7e7f3;font:inherit;text-align:center;cursor:default;padding:8px 3px 10px;border-radius:8px;transition:color .2s,text-shadow .2s}
.constellation-app>span{font-size:1.05rem;font-weight:500;display:block;letter-spacing:-.015em}
.constellation-app>small{font-size:.71rem;color:#91a8b9;display:block;line-height:1.4;margin-top:5px}
@media(hover:hover){
  .constellation-core:hover{text-shadow:0 0 20px #a8efc9aa}
  .constellation-core:hover .constellation-core-kicker{color:#d1f6e0}
  .constellation-core:hover .constellation-core-caption{color:#bddbc9}
  .constellation-app:hover{color:#f4fbff;text-shadow:0 0 18px #a7dbff99}
  .constellation-app:hover>small{color:#c1d8e9}
}
/* The transparent extension joins each drawn star cluster to its label. */
.constellation-app::before,.constellation-core::before{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:100%;width:112px;height:80px}
.constellation-core::before{width:184px;height:160px;border-radius:50% 50% 0 0}
.constellation-app[data-app=clio]{left:17%;top:36%}.constellation-app[data-app=gmail]{left:39%;top:17%}.constellation-app[data-app=hotdocs]{left:78%;top:24%}.constellation-app[data-app=word]{left:84%;top:64%}.constellation-app[data-app=excel]{left:65%;top:91%}.constellation-app[data-app=sharepoint]{left:20%;top:74%}
@media(max-width:720px){
  .ai-command-page .mcp-constellation{width:100%;margin-top:56px;margin-bottom:44px}
  .constellation-heading{padding:0 20px}.constellation-heading h2{font-size:clamp(2.4rem,8vw,3.5rem)}
  .constellation-stage{height:600px;margin-top:5px}
  .constellation-core{width:180px;top:51%}.constellation-core-title{font-size:1.02rem}.constellation-core-kicker{font-size:.69rem;letter-spacing:.06em}.constellation-core-caption{font-size:.7rem}
  .constellation-app{width:128px;min-height:48px}.constellation-app>span{font-size:.94rem}.constellation-app>small{font-size:.7rem}
  .constellation-app::before{width:88px;height:62px}.constellation-core::before{width:120px;height:108px}
  .constellation-app[data-app=clio]{left:18%;top:28%}.constellation-app[data-app=gmail]{left:51%;top:13%}.constellation-app[data-app=hotdocs]{left:82%;top:30%}.constellation-app[data-app=word]{left:82%;top:69%}.constellation-app[data-app=excel]{left:54%;top:90%}.constellation-app[data-app=sharepoint]{left:18%;top:69%}
}
@media(max-width:390px){.constellation-app{width:112px}.constellation-app>small{font-size:.7rem}.constellation-core{width:170px}.constellation-core-title{font-size:.96rem}}
@media(prefers-reduced-motion:reduce){.constellation-app,.constellation-core{transition:none}}
