:root{
  --bg: #0b0b0c;
  --text: rgba(255,255,255,.92);
  --text2: rgba(255,255,255,.62);
  --glass: rgba(255,255,255,.08);
  --glass2: rgba(255,255,255,.06);
  --stroke: rgba(255,255,255,.10);
  --stroke2: rgba(255,255,255,.14);
  --shadow: rgba(0,0,0,.55);
  --shadow2: rgba(0,0,0,.36);
  --radius: 22px;
  --ease-ios: cubic-bezier(.2,.9,.2,1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --spring: cubic-bezier(.2, 1.1, .2, 1);
  --mx: 0;
  --my: 0;
}

*{box-sizing:border-box}
html,body{height:100%}
[hidden]{display:none !important}
body{
  margin:0;
  background: var(--bg);
  color: var(--text);
  overflow:hidden;
  font-family:
    "SF Pro Display",
    "SF Pro Text",
    -apple-system,
    system-ui,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection{background: rgba(255,255,255,.16)}

canvas#bg{
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: #141414;
}

.bg{
  position:fixed; inset:0;
  pointer-events:none;
  background:
    radial-gradient(1200px 700px at 70% 30%, rgba(255,255,255,.06), transparent 70%),
    radial-gradient(1000px 600px at 25% 80%, rgba(255,255,255,.05), transparent 65%),
    radial-gradient(900px 500px at 15% 10%, rgba(255,255,255,.035), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 30%, rgba(0,0,0,.18));
}

.bg__vignette{
  position:absolute; inset:-20%;
  background: radial-gradient(circle at 50% 40%, transparent 38%, rgba(0,0,0,.55) 72%, rgba(0,0,0,.78) 100%);
  filter: blur(0.2px);
}

.bg__glow{
  position:absolute;
  width: 520px; height: 520px;
  border-radius: 999px;
  filter: blur(48px);
  opacity: .55;
  mix-blend-mode: screen;
  transform: translate3d(calc(var(--mx) * 10px), calc(var(--my) * 10px), 0);
  animation: floatGlow 10s var(--ease-out) infinite alternate;
}
.bg__glow--a{left:-160px; top:10%; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.16), rgba(255,255,255,.02) 55%, transparent 68%)}
.bg__glow--b{right:-220px; bottom:-180px; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.12), rgba(255,255,255,.02) 55%, transparent 68%); animation-duration: 12.5s}

@keyframes floatGlow{
  0%{transform: translate3d(calc(var(--mx) * 10px), calc(var(--my) * 10px), 0) scale(1)}
  100%{transform: translate3d(calc(34px + var(--mx) * 16px), calc(-18px + var(--my) * 16px), 0) scale(1.06)}
}

.bg__noise{
  position:absolute; inset:0;
  opacity: .08;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 2px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 3px);
  mix-blend-mode: overlay;
  filter: blur(.2px);
  animation: noiseMove 1.6s steps(2) infinite;
}
@keyframes noiseMove{
  0%{transform: translate3d(0,0,0)}
  100%{transform: translate3d(-2%,1.5%,0)}
}

.bg__stars{position:absolute; inset:0; opacity:.60}
.stars{
  position:absolute; inset:-30%;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.26) 0 1px, transparent 1.2px),
    radial-gradient(circle, rgba(255,255,255,.22) 0 1px, transparent 1.2px),
    radial-gradient(circle, rgba(255,255,255,.16) 0 1px, transparent 1.2px);
  background-size: 180px 180px, 240px 240px, 320px 320px;
  background-position: 0 0, 80px 120px, 140px 40px;
  filter: blur(.1px);
}
.stars--near{opacity:.55; animation: drift 16s linear infinite}
.stars--mid{opacity:.35; animation: drift 26s linear infinite reverse}
.stars--far{opacity:.24; transform: scale(1.1); animation: drift 38s linear infinite}

@keyframes drift{
  0%{transform: translate3d(0,0,0)}
  100%{transform: translate3d(-6%,4%,0)}
}

.app{
  position:relative;
  z-index: 1;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding: clamp(18px, 5vh, 40px) 18px 34px;
}

.topbar{
  width:min(820px, 96vw);
  display:flex;
  justify-content:center;
  gap: 12px;
  margin-top: 4px;
}

.chip{
  width: 52px; height: 52px;
  display:grid; place-items:center;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
  color: rgba(255,255,255,.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform .18s var(--ease-out), background .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);
  text-decoration:none;
  user-select:none;
}
.chip__icon{
  width: 28px;
  height: 28px;
  display:block;
}
.chip__icon img{
  width: 28px;
  height: 28px;
  display:block;
}
.chip:active{transform: translateY(1px) scale(.99)}
.chip:hover{
  background: rgba(255,255,255,.11);
  border-color: rgba(255,255,255,.18);
  transform: translateY(-1px) scale(1.02);
  box-shadow: none;
}

.hero{
  width:min(820px, 96vw);
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.hero__stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 30px;
  transform: translateY(-10px);
  transition: transform .75s var(--spring), opacity .55s var(--ease-ios), filter .75s var(--ease-ios);
  will-change: transform, opacity, filter;
}

.brand{
  margin:0;
  letter-spacing: -0.02em;
  font-weight: 900;
  font-size: clamp(66px, 9.4vw, 132px);
  line-height: 1;
  display:inline-block;
  position: relative;
  filter: none;
  user-select:none;
}
.brand__shadow{
  --brand-grad: linear-gradient(90deg, #ADADAD 0%, #FFFFFF 40%, #FFFFFF 60%, #ADADAD 100%);
  position: absolute;
  inset: 0;
  background: var(--brand-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: .46;
  font-weight: 900;
  pointer-events:none;
}
.brand__main{
  --brand-grad: linear-gradient(90deg, #ADADAD 0%, #FFFFFF 40%, #FFFFFF 60%, #ADADAD 100%);
  position: relative;
  background: var(--brand-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 900;
}

.subtitle{
  font-size: clamp(18px, 2.8vw, 34px);
  --brand-grad: linear-gradient(90deg, #ADADAD 0%, #FFFFFF 40%, #FFFFFF 60%, #ADADAD 100%);
  background: var(--brand-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: .72;
  font-weight: 600;
  letter-spacing: .02em;
  transform: translateY(-2px);
  text-shadow: none;
  user-select:none;
}

.start{
  position:relative;
  border:0;
  padding: 0;
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items:stretch;
  width: var(--brandW, auto);
  border-radius: 24px;
  overflow:hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    0 18px 40px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  cursor:pointer;
  user-select:none;
  transform: translateZ(0);
  transition: transform .22s var(--ease-out), box-shadow .22s var(--ease-out), border-color .22s var(--ease-out), background .22s var(--ease-out);
}
.start::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  /* keep original button color, blur only background behind */
  background: rgba(0,0,0,.01);
  backdrop-filter: blur(38px) saturate(165%);
  -webkit-backdrop-filter: blur(38px) saturate(165%);
  pointer-events:none;
  z-index: 0;
}
.start::after{
  content:"";
  position:absolute;
  left: 50%;
  top: 12px;
  bottom: 12px;
  width: 1px;
  transform: translateX(-0.5px);
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.24), transparent);
  opacity: .9;
  pointer-events:none;
  z-index: 2;
}
.start > *{
  position: relative;
  z-index: 1;
}
.start:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.18);
  box-shadow:
    0 22px 52px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.20);
}
.start:active{
  transform: translateY(1px) scale(.985);
  box-shadow:
    0 14px 32px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.start__left{
  padding: 20px 24px;
  font-size: 26px;
  font-weight: 700;
  color: rgba(255,255,255,.62);
  background: rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:center;
}
.start__right{
  padding: 20px 24px;
  font-size: 26px;
  font-weight: 800;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  letter-spacing: .02em;
}

.start__sheen{
  position:absolute; inset:-60% -40%;
  background: linear-gradient(115deg, transparent 42%, rgba(255,255,255,.10) 50%, transparent 58%);
  transform: translate3d(-12%,0,0) rotate(5deg);
  animation: sheen 3.6s var(--ease-out) infinite;
  pointer-events:none;
}
@keyframes sheen{
  0%, 62%{opacity: 0; transform: translate3d(-18%,0,0) rotate(6deg)}
  70%{opacity:.55}
  92%{opacity: 0; transform: translate3d(26%,0,0) rotate(6deg)}
  100%{opacity:0}
}

.cardWrap{
  position:absolute;
  inset: 0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.card{
  width: min(420px, 92vw);
  border-radius: 30px;
  padding: 22px 22px 18px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  transform: translate3d(0,18px,0) scale(.98);
  opacity: 0;
  filter: blur(10px);
  transition: transform .85s var(--spring), opacity .7s var(--ease-ios), filter .8s var(--ease-ios);
  will-change: transform, opacity, filter;
}

.card__title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  font-size: 28px;
  font-weight: 800;
  --data-grad: linear-gradient(90deg, #FFFFFF 0%, #ADADAD 50%, #FFFFFF 100%);
  background: var(--data-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: .01em;
  margin-bottom: 14px;
  text-shadow: none;
}
.dot{
  width: 12px; height: 12px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #68ff79, #0fe13b);
  box-shadow:
    0 0 0 4px rgba(25, 255, 90, .10),
    0 0 18px rgba(25, 255, 90, .35);
}

.rows{
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.row{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 8px;
  padding: 8px 6px;
}
.row__label{
  font-size: 20px;
  color: rgba(255,255,255,.52);
  font-weight: 600;
  letter-spacing: .01em;
}
.row__value{
  font-size: 34px;
  font-weight: 900;
  --data-grad: linear-gradient(90deg, #FFFFFF 0%, #ADADAD 50%, #FFFFFF 100%);
  background: var(--data-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.02em;
  text-transform: lowercase;
  text-shadow: none;
}

.sep{
  height: 1px;
  margin: 0 10px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  opacity: .65;
}

.card__hint{
  margin-top: 14px;
  text-align:center;
  font-size: 13px;
  color: rgba(255,255,255,.52);
}

.state--data .hero__stack{
  opacity: 0;
  transform: translateY(-26px) scale(.98);
  filter: blur(14px);
  pointer-events:none;
}
.state--data .card{
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
  filter: blur(0px);
}

.pop{
  animation: popIn .55s var(--spring) 1;
}
@keyframes popIn{
  0%{transform: translate3d(0,10px,0) scale(.985)}
  60%{transform: translate3d(0,-1px,0) scale(1.01)}
  100%{transform: translate3d(0,0,0) scale(1)}
}

@media (prefers-reduced-motion: reduce){
  .bg__glow,.bg__noise,.stars,.start__sheen{animation:none !important}
  .hero__stack,.card,.start,.chip{transition:none !important}
}
