.cmps {
  --cmps-cyan: #25d5ea;
  --cmps-lime: #b9ed2d;
  --cmps-text: #f4f8fa;
  --cmps-muted: #9fb0bb;
  --cmps-line: rgba(255, 255, 255, .11);
  --accent: #25d5ea;
  --glow: rgba(37, 213, 234, .22);
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(48px, 7vw, 88px) 0 80px;
  color: var(--cmps-text);
}

.cmps *, .cmps *::before, .cmps *::after { box-sizing: border-box; }
.cmps button, .cmps input { font: inherit; }

.cmps-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 34px;
}

.cmps-eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  color: var(--cmps-cyan);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.cmps-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--cmps-cyan); }
.cmps-intro h1 { max-width: 760px; margin: 16px 0 0; color: #fff; font-size: clamp(44px, 5.5vw, 76px); line-height: .92; letter-spacing: -.065em; }
.cmps-intro-copy { max-width: 390px; }
.cmps-intro-copy > p { margin: 0; color: #a5b4bf; font-size: 14px; line-height: 1.65; }

.cmps-typing {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  margin-top: 17px;
  padding: 10px 13px;
  border: 1px solid rgba(37, 213, 234, .16);
  border-radius: 12px;
  background: rgba(4, 16, 27, .52);
  color: #d8e4e9;
  font-size: 12px;
}

.cmps-typing::before { content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--cmps-lime); box-shadow: 0 0 13px var(--cmps-lime); animation: cmpsPulse 1.3s ease-in-out infinite; }
.cmps-typing strong { color: var(--cmps-cyan); font-weight: 850; }
.cmps-typing i { display: inline-block; width: 1px; height: 14px; background: var(--cmps-lime); animation: cmpsBlink .72s steps(1) infinite; }

.cmps-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); gap: 18px; align-items: stretch; }

.cmps-spotlight,
.cmps-login {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--cmps-line);
  background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018));
}

.cmps-spotlight {
  min-height: 540px;
  border-radius: 5px 34px 5px 34px;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .42), 0 0 34px color-mix(in srgb, var(--accent) 10%, transparent), inset 0 0 38px rgba(37, 213, 234, .035);
  transition: box-shadow .6s ease;
}

.cmps-spotlight::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 24% 45%, var(--glow), transparent 32%), radial-gradient(circle at 87% 12%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 18%), linear-gradient(115deg, transparent 50%, rgba(255, 255, 255, .025));
  transition: background .5s ease;
}

.cmps-spotlight::after {
  content: "";
  position: absolute;
  inset: -2px;
  padding: 1px;
  border-radius: 5px 34px 5px 34px;
  background: linear-gradient(115deg, transparent 10%, var(--accent), transparent 43%, var(--accent), transparent 87%);
  background-size: 220% 220%;
  opacity: .42;
  animation: cmpsBorder 7s linear infinite;
  pointer-events: none;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}

.cmps-scan { position: absolute; z-index: 1; top: -130px; left: 0; right: 0; height: 120px; background: linear-gradient(transparent, rgba(37, 213, 234, .06), transparent); animation: cmpsScan 5.2s ease-in-out infinite; }
.cmps-stage { position: absolute; inset: 0; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; padding: 52px; }
.cmps-portrait { position: relative; display: grid; place-items: center; width: min(280px, 95%); aspect-ratio: 1; margin: auto; }

.cmps-portrait::before,
.cmps-portrait::after { content: ""; position: absolute; z-index: 1; width: 9px; height: 9px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 16px var(--accent), 64px -86px 0 -2px color-mix(in srgb, var(--accent) 72%, transparent), -82px 64px 0 -3px color-mix(in srgb, var(--accent) 55%, transparent); animation: cmpsOrbitSpark 8s linear infinite; }
.cmps-portrait::after { width: 5px; height: 5px; opacity: .7; animation-duration: 12s; animation-direction: reverse; }

.cmps-rings,
.cmps-rings::before,
.cmps-rings::after { position: absolute; inset: 0; border: 1px solid color-mix(in srgb, var(--accent) 26%, transparent); border-radius: 50%; box-shadow: inset 0 0 30px color-mix(in srgb, var(--accent) 5%, transparent); animation: cmpsSpin 24s linear infinite; }
.cmps-rings::before, .cmps-rings::after { content: ""; inset: 12%; border-style: dashed; animation-duration: 15s; animation-direction: reverse; }
.cmps-rings::after { inset: 26%; border-color: rgba(185, 237, 45, .28); animation-duration: 10s; }

.cmps-sigil { position: absolute; z-index: 12; right: 7%; top: 12%; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid color-mix(in srgb, var(--accent) 58%, transparent); border-radius: 14px 14px 14px 4px; color: var(--accent); background: rgba(3, 14, 24, .88); box-shadow: 0 0 25px color-mix(in srgb, var(--accent) 25%, transparent); font-size: 19px; animation: cmpsSigil 3.7s ease-in-out infinite; }

.cmps-avatar {
  --skin: #c98f68;
  --hair: #172231;
  --jacket: #1d7c8e;
  position: relative;
  z-index: 3;
  width: 172px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent) 66%, transparent);
  border-radius: 48px 48px 48px 12px;
  background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, .09), transparent 35%), linear-gradient(145deg, color-mix(in srgb, var(--accent) 23%, #0a1724), #07111d 70%);
  box-shadow: 0 26px 70px rgba(0, 0, 0, .48), 0 0 55px color-mix(in srgb, var(--accent) 25%, transparent), inset 0 0 24px rgba(255, 255, 255, .035);
  transform: rotate(-3deg);
  animation: cmpsAvatar 4.8s ease-in-out infinite;
}

.cmps-avatar::after { content: ""; position: absolute; z-index: 10; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .12), transparent 48%); transform: translateX(-120%); animation: cmpsSheen 5.5s ease-in-out infinite; pointer-events: none; }
.cmps-avatar .body { position: absolute; left: 20px; right: 20px; bottom: -27px; height: 92px; border-radius: 55px 55px 12px 12px; background: linear-gradient(135deg, color-mix(in srgb, var(--jacket) 86%, #fff), var(--jacket) 47%, #091e2b); box-shadow: inset 0 5px 18px rgba(255, 255, 255, .12); transform: rotate(3deg); }
.cmps-avatar .body::before, .cmps-avatar .body::after { content: ""; position: absolute; top: 8px; width: 42px; height: 66px; border-top: 2px solid color-mix(in srgb, var(--accent) 50%, transparent); }
.cmps-avatar .body::before { left: 13px; transform: skew(14deg); }
.cmps-avatar .body::after { right: 13px; transform: skew(-14deg); }
.cmps-avatar .neck { position: absolute; z-index: 2; left: 71px; bottom: 52px; width: 30px; height: 33px; border-radius: 9px; background: linear-gradient(90deg, color-mix(in srgb, var(--skin) 76%, #6f3b2b), var(--skin)); }
.cmps-avatar .head { position: absolute; z-index: 3; left: 49px; top: 31px; width: 75px; height: 86px; border-radius: 42px 42px 34px 34px; background: radial-gradient(circle at 66% 30%, rgba(255, 255, 255, .24), transparent 23%), linear-gradient(145deg, var(--skin), color-mix(in srgb, var(--skin) 72%, #553025)); box-shadow: inset -8px -10px 18px rgba(64, 24, 14, .14); transform: rotate(3deg); }
.cmps-avatar .ear { position: absolute; z-index: 2; left: 43px; top: 67px; width: 88px; height: 24px; }
.cmps-avatar .ear::before, .cmps-avatar .ear::after { content: ""; position: absolute; width: 14px; height: 22px; border-radius: 12px; background: color-mix(in srgb, var(--skin) 82%, #754531); }
.cmps-avatar .ear::after { right: 0; }
.cmps-avatar .hair { position: absolute; z-index: 5; left: 45px; top: 23px; width: 84px; height: 41px; border-radius: 49px 49px 18px 11px; background: radial-gradient(circle at 26% 35%, rgba(255, 255, 255, .14), transparent 14%), linear-gradient(145deg, color-mix(in srgb, var(--hair) 84%, #fff), var(--hair)); transform: rotate(1deg); }
.cmps-avatar .hair::after { content: ""; position: absolute; right: 1px; top: 23px; width: 18px; height: 31px; border-radius: 0 0 16px 9px; background: var(--hair); }
.cmps-avatar .eyes { position: absolute; z-index: 6; left: 64px; top: 68px; width: 44px; height: 6px; border-radius: 5px; background: linear-gradient(90deg, #07111b 0 29%, transparent 29% 71%, #07111b 71%); transform: rotate(3deg); }
.cmps-avatar .brows { position: absolute; z-index: 7; left: 62px; top: 61px; width: 48px; height: 8px; border-top: 2px solid color-mix(in srgb, var(--hair) 82%, #000); border-radius: 50%; transform: rotate(3deg); }
.cmps-avatar .nose { position: absolute; z-index: 7; left: 84px; top: 77px; width: 8px; height: 14px; border-right: 2px solid rgba(84, 40, 29, .34); border-bottom: 2px solid rgba(84, 40, 29, .25); border-radius: 0 0 7px 0; transform: rotate(3deg); }
.cmps-avatar .mouth { position: absolute; z-index: 7; left: 76px; top: 96px; width: 27px; height: 8px; border-bottom: 2px solid rgba(80, 32, 29, .58); border-radius: 50%; transform: rotate(4deg); }
.cmps-avatar .accent { position: absolute; z-index: 8; left: 19px; top: 19px; width: 24px; height: 24px; border: 2px solid var(--accent); border-radius: 50%; box-shadow: 0 0 18px var(--accent), inset 0 0 9px var(--accent); animation: cmpsAccent 2.4s ease-in-out infinite; }
.cmps-avatar .initials { position: absolute; z-index: 11; right: 9px; bottom: 8px; display: grid; place-items: center; width: 40px; height: 29px; border: 1px solid color-mix(in srgb, var(--accent) 65%, transparent); border-radius: 10px 10px 10px 3px; color: #fff; background: rgba(3, 14, 24, .92); box-shadow: 0 0 14px color-mix(in srgb, var(--accent) 22%, transparent); font-size: 10px; font-weight: 950; letter-spacing: .05em; }

.cmps-avatar.visor .eyes { left: 58px; top: 65px; width: 56px; height: 13px; border: 1px solid var(--accent); background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 70%, transparent), rgba(2, 12, 20, .84)); box-shadow: 0 0 15px color-mix(in srgb, var(--accent) 55%, transparent); }
.cmps-avatar.visor .brows { display: none; }
.cmps-avatar.cap .hair { top: 17px; height: 27px; border-radius: 35px 35px 7px 7px; background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #102131)); }
.cmps-avatar.cap .hair::before { content: ""; position: absolute; right: -23px; bottom: -4px; width: 36px; height: 9px; border-radius: 8px; background: var(--accent); }
.cmps-avatar.hood .hair { left: 38px; top: 15px; width: 97px; height: 112px; border: 13px solid var(--hair); border-bottom-width: 18px; border-radius: 52px 52px 33px 33px; background: transparent; }
.cmps-avatar.crown .hair::before { content: ""; position: absolute; left: 11px; top: -23px; width: 60px; height: 31px; background: linear-gradient(135deg, var(--accent), #ffe48c); filter: drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 70%, transparent)); clip-path: polygon(0 100%, 0 35%, 25% 67%, 43% 0, 62% 67%, 100% 32%, 100% 100%); }
.cmps-avatar.headset::before { content: ""; position: absolute; z-index: 7; left: 34px; top: 47px; width: 99px; height: 69px; border: 6px solid var(--accent); border-bottom: 0; border-radius: 55px 55px 0 0; }
.cmps-avatar.headset::after { content: ""; position: absolute; z-index: 8; inset: auto 20px auto auto; top: 101px; width: 37px; height: 6px; border-radius: 6px; background: var(--accent); box-shadow: 0 0 10px var(--accent); transform: rotate(12deg); animation: none; }
.cmps-avatar.robot .head { border: 1px solid var(--accent); border-radius: 24px; background: linear-gradient(145deg, #405767, #142532); }
.cmps-avatar.robot .hair, .cmps-avatar.robot .brows, .cmps-avatar.robot .nose, .cmps-avatar.robot .mouth, .cmps-avatar.robot .ear { display: none; }
.cmps-avatar.robot .eyes { top: 68px; height: 9px; border-radius: 8px; background: linear-gradient(90deg, var(--accent) 0 32%, transparent 32% 68%, var(--accent) 68%); box-shadow: 0 0 15px color-mix(in srgb, var(--accent) 60%, transparent); }
.cmps-avatar.commander { border-radius: 50px 18px 50px 18px; }
.cmps-avatar.commander .body::after { content: "★"; display: grid; place-items: center; border: 0; color: var(--accent); font-size: 15px; }
.cmps-avatar.oracle .head { box-shadow: inset -8px -10px 18px rgba(64, 24, 14, .14), 0 0 25px color-mix(in srgb, var(--accent) 24%, transparent); }
.cmps-avatar.oracle .accent { border-radius: 6px; transform: rotate(45deg); }
.cmps-avatar.coordinator .body::before { content: ""; left: 15px; top: 21px; width: 18px; height: 18px; border: 2px solid var(--accent); border-radius: 50%; box-shadow: 0 0 10px var(--accent); }
.cmps-avatar.spark::before { content: "✦"; position: absolute; z-index: 8; right: 20px; top: 18px; color: var(--accent); font-size: 24px; text-shadow: 0 0 15px var(--accent); animation: cmpsSpark 1.8s ease-in-out infinite; }

.cmps-status { position: absolute; z-index: 5; right: 5%; bottom: 12%; display: flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid var(--cmps-line); border-radius: 999px; color: #bed0da; background: rgba(3, 13, 23, .82); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.cmps-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 13px var(--accent); }

.cmps-profile { position: relative; z-index: 4; min-width: 0; }
.cmps-profile-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.cmps-month { color: var(--accent); font-size: 11px; font-weight: 950; letter-spacing: .17em; text-transform: uppercase; }
.cmps-count { color: #617582; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.cmps-role { display: inline-flex; align-items: center; gap: 7px; margin-top: 13px; padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--accent) 42%, transparent); border-radius: 999px; color: #dce8ed; background: color-mix(in srgb, var(--accent) 8%, rgba(4, 14, 24, .75)); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cmps-role::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px var(--accent); }
.cmps-profile h2 { margin: 13px 0 6px; color: #fff; font-size: clamp(40px, 4vw, 62px); line-height: .9; letter-spacing: -.055em; }
.cmps-code { margin: 0; color: #80929f; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.cmps-profile h3 { margin: 24px 0 12px; color: #fff; font-size: 21px; font-weight: 900; }
.cmps-achievement { max-width: 430px; margin: 0; color: #a6b5bf; font-size: 14px; line-height: 1.7; }
.cmps-signal { display: flex; align-items: end; gap: 5px; height: 28px; margin-top: 22px; }
.cmps-signal i { display: block; width: 5px; border-radius: 5px; background: var(--accent); animation: cmpsSignal 1.2s ease-in-out infinite; }
.cmps-signal i:nth-child(1) { height: 35%; }.cmps-signal i:nth-child(2) { height: 65%; animation-delay: .1s; }.cmps-signal i:nth-child(3) { height: 100%; animation-delay: .2s; }.cmps-signal i:nth-child(4) { height: 50%; animation-delay: .3s; }.cmps-signal i:nth-child(5) { height: 78%; animation-delay: .4s; }

.cmps-controls { position: absolute; z-index: 15; right: 24px; bottom: 22px; display: flex; align-items: center; gap: 8px; }
.cmps-controls > button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--cmps-line); border-radius: 50%; color: #dbe5ea; background: rgba(5, 14, 24, .82); cursor: pointer; }
.cmps-controls > button:hover, .cmps-controls > button:focus-visible { border-color: var(--accent); color: var(--accent); outline: none; }
.cmps-dots { display: flex; gap: 6px; margin: 0 7px; }
.cmps-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: #50616d; cursor: pointer; }
.cmps-dots button.active { width: 25px; background: linear-gradient(90deg, var(--cmps-cyan), var(--cmps-lime)); }

.cmps-login { display: flex; flex-direction: column; justify-content: center; padding: 42px; border-radius: 34px 5px 34px 5px; box-shadow: 0 30px 90px rgba(0, 0, 0, .3); }
.cmps-login::after { content: ""; position: absolute; width: 220px; height: 220px; right: -100px; top: -100px; border-radius: 50%; background: radial-gradient(circle, rgba(185, 237, 45, .1), transparent 68%); pointer-events: none; }
.cmps-logo { position: relative; z-index: 2; width: 52px; height: 52px; object-fit: contain; margin-bottom: 18px; }
.cmps-private { position: relative; z-index: 2; color: var(--cmps-cyan); font-size: 10px; font-weight: 950; letter-spacing: .17em; text-transform: uppercase; }
.cmps-login > h2 { position: relative; z-index: 2; margin: 13px 0 9px; color: #fff; font-size: 28px; letter-spacing: -.04em; }
.cmps-login > p { position: relative; z-index: 2; margin: 0 0 25px; color: #93a5b1; font-size: 13px; line-height: 1.65; }
.cmps-core-login { position: relative; z-index: 3; }
.cmps-core-login .cm-portal-login { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.cmps-core-login .cm-portal-login > .number, .cmps-core-login .cm-portal-login > h2, .cmps-core-login .cm-portal-login > p { display: none; }
.cmps-core-login form { margin: 0; }
.cmps-core-login form p { margin: 0 0 13px; }
.cmps-core-login label { display: block; margin-bottom: 7px; color: #b7c4cc; font-size: 11px; font-weight: 800; }
.cmps-core-login input[type="text"], .cmps-core-login input[type="password"] { width: 100%; min-height: 49px; margin-top: 7px; padding: 0 15px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 10px; outline: 0; color: #fff; background: #06111e; }
.cmps-core-login input[type="text"]:focus, .cmps-core-login input[type="password"]:focus { border-color: var(--cmps-cyan); box-shadow: 0 0 0 3px rgba(37, 213, 234, .08); }
.cmps-core-login .login-remember label { display: flex; align-items: center; gap: 8px; color: #8da0ae; font-weight: 500; }
.cmps-core-login input[type="checkbox"] { width: auto; margin: 0; }
.cmps-core-login input[type="submit"] { width: 100%; min-height: 50px; border: 0; border-radius: 999px; color: #041019; background: linear-gradient(90deg, var(--cmps-cyan), var(--cmps-lime)); font-weight: 900; cursor: pointer; }
.cmps-login > small { position: relative; z-index: 2; display: block; margin-top: 17px; color: #718793; font-size: 10px; line-height: 1.5; text-align: center; }

@keyframes cmpsBlink { 50% { opacity: 0; } }
@keyframes cmpsPulse { 50% { opacity: .45; transform: scale(.72); } }
@keyframes cmpsBorder { to { background-position: 220% 220%; } }
@keyframes cmpsScan { 60%, 100% { transform: translateY(700px); } }
@keyframes cmpsSpin { to { transform: rotate(360deg); } }
@keyframes cmpsOrbitSpark { to { transform: rotate(360deg) translateX(112px) rotate(-360deg); } }
@keyframes cmpsSigil { 50% { transform: translateY(-7px) rotate(5deg); } }
@keyframes cmpsAvatar { 50% { transform: rotate(-1deg) translateY(-7px); } }
@keyframes cmpsSheen { 55%, 100% { transform: translateX(130%); } }
@keyframes cmpsAccent { 50% { transform: scale(.82); opacity: .65; } }
@keyframes cmpsSpark { 50% { transform: rotate(35deg) scale(.7); opacity: .55; } }
@keyframes cmpsSignal { 50% { transform: scaleY(.55); opacity: .55; } }

@media (max-width: 980px) {
  .cmps-intro { align-items: flex-start; flex-direction: column; }
  .cmps-intro-copy { max-width: 620px; }
  .cmps-grid { grid-template-columns: 1fr; }
  .cmps-spotlight { min-height: 710px; }
  .cmps-stage { grid-template-columns: 1fr; padding: 34px 28px 92px; }
  .cmps-portrait { width: 230px; }
  .cmps-avatar { width: 164px; }
  .cmps-profile { text-align: center; }
  .cmps-profile-top, .cmps-signal { justify-content: center; }
  .cmps-achievement { margin-inline: auto; }
}

@media (max-width: 560px) {
  .cmps { width: min(100% - 24px, 1180px); padding-top: 38px; }
  .cmps-intro h1 { font-size: clamp(40px, 12vw, 52px); }
  .cmps-intro-copy > p { font-size: 13px; }
  .cmps-typing { align-items: flex-start; min-height: 62px; line-height: 1.5; }
  .cmps-spotlight { min-height: 735px; }
  .cmps-stage { padding: 32px 18px 105px; }
  .cmps-portrait { width: 205px; }
  .cmps-avatar { width: 154px; }
  .cmps-profile h2 { font-size: 41px; }
  .cmps-profile h3 { font-size: 18px; }
  .cmps-achievement { font-size: 13px; }
  .cmps-controls { left: 50%; right: auto; transform: translateX(-50%); }
  .cmps-dots { display: none; }
  .cmps-login { padding: 32px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .cmps *, .cmps *::before, .cmps *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

