:root {
  color-scheme:dark;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  color:#f1f5fa;
  background:#060d18;
  font-synthesis:none;
  font-weight:400;
}
* { box-sizing:border-box; }
html,body { width:100%;height:100%;margin:0;overflow:hidden; }
body { background:radial-gradient(ellipse at 35% 45%,#11334666,transparent 60%),radial-gradient(ellipse at 85% 85%,#57311f33,transparent 50%); }
a { color:inherit;text-decoration:none; }
button { font:inherit; }
#space,.ambient { position:fixed;inset:0;width:100%;height:100%;pointer-events:none; }
#space { z-index:0; }
.ambient { z-index:1;background:radial-gradient(ellipse at center,transparent 20%,#050a1444 100%); }
.page { position:fixed;inset:0;height:100vh;height:100dvh;z-index:2;overflow:clip; }
main {
  position:absolute;
  inset:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
}
.constellation {
  --disc-size:166px;
  --core-size:238px;
  --name-size:21px;
  --purpose-size:12px;
  --icon-size:34px;
  position:absolute;
  left:50%;top:50%;
  width:1040px;height:880px;
  transform:translate(-50%,-50%) scale(var(--stage-scale,.4));
  transform-origin:center;
}
.orbits { position:absolute;inset:0;width:100%;height:100%;opacity:.95;pointer-events:none; }
.core {
  position:absolute;left:50%;top:50%;
  width:var(--core-size);height:var(--core-size);
  transform:translate(-50%,-50%);display:grid;place-items:center;
  user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;
}
.core-halo { position:absolute;inset:-25px;border-radius:50%;border:1px solid #96dcec20;box-shadow:0 0 65px #4abedc0d,inset 0 0 35px #4abedc0d; }
.core-halo:before { content:"";position:absolute;inset:5px;border:1px solid transparent;border-top-color:#76d7e680;border-right-color:#f19a4430;border-radius:50%;pointer-events:none; }
.core-halo:after { content:"";position:absolute;inset:13px;border:1px dashed #abe5f32a;border-radius:50%; }
.core-disc { position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 37% 27%,#173245,#0b1b2b 60%,#071320);box-shadow:0 0 45px #55bddb0a,0 25px 60px #0005,inset 0 0 0 1px #8ecfdf30;display:grid;place-items:center;transition:box-shadow .3s; }
.core-logo { display:block;width:86%;height:86%;border-radius:50%;background:url('/assets/mitgroup-round.png') center/contain no-repeat;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none; }
.core:hover .core-disc { box-shadow:0 0 60px #55bddb18,0 25px 60px #0005,inset 0 0 0 1px #8ecfdf55; }
.core:focus-visible { outline:none; }
.core:focus-visible .core-disc { outline:2px solid #99dff5;outline-offset:8px; }
.app {
  --float-x:13px;--float-y:15px;
  --accent:#63d4ee;--glow:#40bbdb24;--duration:8s;--delay:-2s;
  position:absolute;display:flex;align-items:center;justify-content:center;
  width:var(--disc-size);height:var(--disc-size);
  transform:translate(-50%,-50%);-webkit-tap-highlight-color:transparent;isolation:isolate;
}
.app-help { left:25%;top:26%; }
.app-stock { left:75%;top:26%;--accent:#e7ac74;--glow:#ed93431c;--duration:9.5s;--delay:-4s; }
.app-microsoft { left:25%;top:74%;--accent:#93b5f9;--glow:#86acff1c;--duration:10s;--delay:-7s; }
.app-vault { left:75%;top:74%;--accent:#83d1bb;--glow:#7fcbb51c;--duration:8.7s;--delay:-5s; }
.app-ksc { left:50%;top:86.5%;--accent:#d8c886;--glow:#c9b9601c;--duration:9.4s;--delay:-4.5s; }
.app-ipcheck { left:50%;top:13.5%;--accent:#baa2ef;--glow:#b49bea1c;--duration:9.2s;--delay:-3s; }
.app-mileage { left:84%;top:50%;--accent:#ef9b93;--glow:#e889811c;--duration:9.8s;--delay:-6s; }
.app-migrator { left:16%;top:50%;--accent:#9cc9e5;--glow:#8ebfdf1c;--duration:8.8s;--delay:-1s; }
.app-disc { width:100%;height:100%;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);background:radial-gradient(circle at 32% 20%,var(--glow),#0b1827 72%);box-shadow:inset 0 0 0 6px #ffffff03,0 14px 40px #0002,0 0 44px var(--glow);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:box-shadow .3s,border-color .3s;position:relative; }
.app-disc:before { content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 9%,transparent);transition:border-color .3s;pointer-events:none; }
.app-disc:after { content:"";position:absolute;inset:-5px;border:1px solid transparent;border-top-color:color-mix(in srgb,var(--accent) 75%,transparent);border-radius:50%;pointer-events:none;opacity:.9; }
.app-icon { color:var(--accent);width:var(--icon-size);height:var(--icon-size);margin-bottom:13px;flex-shrink:0; }
.app-icon svg { display:block;width:100%;height:100%; }
.microsoft-icon { width:calc(var(--icon-size)*.83);height:calc(var(--icon-size)*.83);margin-bottom:19px; }
.app-name { font-size:var(--name-size);font-weight:500;letter-spacing:-.45px;line-height:1.25;text-align:center;max-width:calc(100% - 8px); }
.app-purpose { font-size:var(--purpose-size);color:#9aaec0;margin-top:6px;text-align:center;max-width:calc(100% - 12px); }
.app:hover .app-disc,.app:focus-visible .app-disc { border-color:var(--accent);box-shadow:inset 0 0 0 6px #ffffff05,0 14px 40px #0002,0 0 65px var(--glow); }
.app:hover .app-disc:before { border-color:color-mix(in srgb,var(--accent) 35%,transparent); }
.app:focus-visible { outline:none; }
.app:focus-visible .app-disc { outline:2px solid #fff;outline-offset:5px; }
#motion-toggle { position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:3;width:44px;height:44px;padding:12px;display:grid;place-items:center;cursor:pointer;color:#a5b7c8;background:#07132099;border:1px solid #9fc5e31f;border-radius:50%; }
#motion-toggle[hidden] { display:none; }
#motion-toggle:hover { border-color:#9fc5e369;color:#fff; }
#motion-toggle:focus-visible { outline:2px solid #99dff5;outline-offset:4px; }
#motion-toggle svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round; }
#motion-toggle span { position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.orbit-stream { stroke-width:2;stroke-dasharray:2.5 97.5;stroke-dashoffset:0;opacity:.85; }
.stream-cyan { stroke:#6ce0ed;filter:drop-shadow(0 0 5px #54d4e9);--stream-duration:19s;--stream-delay:-4s; }
.stream-amber { stroke:#eda96d;filter:drop-shadow(0 0 5px #e89257);--stream-duration:24s;--stream-delay:-12s; }
.stream-violet { stroke:#baa2ef;filter:drop-shadow(0 0 5px #a989e5);stroke-width:1.5;stroke-dasharray:1 99;--stream-duration:19s;--stream-delay:-13.5s; }
.motion-enabled .app { animation:float calc(var(--duration)*.9) ease-in-out var(--delay) infinite;will-change:transform; }
.motion-enabled .orbit-stream { animation:orbit-flow var(--stream-duration) linear var(--stream-delay) infinite; }
.motion-enabled .core-halo:before { animation:orbit-spin 28s linear infinite; }
.motion-enabled .core-halo:after { animation:halo-breathe 7s ease-in-out infinite; }
.motion-enabled .app-disc:after { animation:orbit-spin calc(var(--duration)*1.8) linear var(--delay) infinite; }
.motion-enabled .app:hover,.motion-enabled .app:focus-visible,.motion-paused .app,.motion-paused .orbit-stream,.motion-paused .core-halo:before,.motion-paused .core-halo:after,.motion-paused .app-disc:after { animation-play-state:paused; }
@keyframes float {
  0%,100% { transform:translate(-50%,-50%) translate3d(calc(var(--float-x)*-1),0,0); }
  25% { transform:translate(-50%,-50%) translate3d(0,calc(var(--float-y)*-1),0); }
  50% { transform:translate(-50%,-50%) translate3d(var(--float-x),0,0); }
  75% { transform:translate(-50%,-50%) translate3d(0,var(--float-y),0); }
}
@keyframes orbit-flow { to { stroke-dashoffset:-100; } }
@keyframes orbit-spin { to { transform:rotate(360deg); } }
@keyframes halo-breathe { 0%,100% { opacity:.5;transform:scale(1); }50% { opacity:1;transform:scale(1.035); } }
@media(max-width:760px) and (orientation:portrait) {
  .constellation { width:360px;height:860px;--disc-size:124px;--core-size:154px;--name-size:17px;--purpose-size:10px;--icon-size:27px; }
  .orbits { width:180%;height:70%;left:-40%;top:15%;opacity:.65; }
  .core-halo { inset:-15px; }
  .app { --float-x:3px;--float-y:10px; }
  .app-icon { margin-bottom:9px; }
  .microsoft-icon { margin-bottom:13px; }
  .app-purpose { margin-top:5px; }
  .app-ipcheck { left:25%;top:11%; }
  .app-ksc { left:75%;top:11%; }
  .app-help { left:25%;top:29%; }
  .app-stock { left:75%;top:29%; }
  .app-microsoft { left:25%;top:71%; }
  .app-vault { left:75%;top:71%; }
  .app-mileage { left:25%;top:89%; }
  .app-migrator { left:75%;top:89%; }
}
@media(max-width:760px) and (max-height:680px) and (orientation:portrait) {
  .constellation { width:360px;height:500px;--disc-size:96px;--core-size:110px;--name-size:14px;--icon-size:22px; }
  .app-purpose { display:none; }
  .app-icon,.microsoft-icon { margin-bottom:7px; }
  .app-help { left:18%;top:16%; }
  .app-stock { left:50%;top:16%; }
  .app-ipcheck { left:82%;top:16%; }
  .app-migrator { left:18%;top:50%; }
  .app-mileage { left:82%;top:50%; }
  .app-microsoft { left:18%;top:84%; }
  .app-vault { left:50%;top:84%; }
  .app-ksc { left:82%;top:84%; }
}
@media(min-aspect-ratio:2/1) and (max-height:650px) {
  .constellation { width:1120px;height:480px;--disc-size:140px;--core-size:176px;--name-size:18px;--purpose-size:11px;--icon-size:29px; }
  .app-icon { margin-bottom:9px; }
  .microsoft-icon { margin-bottom:13px; }
  .app-help { left:15%;top:20%; }
  .app-stock { left:38%;top:20%; }
  .app-ipcheck { left:62%;top:20%; }
  .app-ksc { left:85%;top:20%; }
  .app-microsoft { left:15%;top:80%; }
  .app-vault { left:38%;top:80%; }
  .app-mileage { left:62%;top:80%; }
  .app-migrator { left:85%;top:80%; }
}
@media(prefers-reduced-motion:reduce) {
  .motion-enabled .app,.motion-enabled .orbit-stream,.motion-enabled .core-halo:before,.motion-enabled .core-halo:after,.motion-enabled .app-disc:after { animation:none;will-change:auto; }
}
