/* starvex.eu — modern minimal landing
   - no fonts, no deps
   - dark/light via prefers-color-scheme
*/

:root{
  --bg: #070A12;
  --fg: #EAF0FF;
  --muted: rgba(234,240,255,.7);
  --muted2: rgba(234,240,255,.55);

  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.045);
  --border: rgba(255,255,255,.12);

  --a1: #22D3EE; /* cyan */
  --a2: #FFD34D; /* warm gold */
  --a3: #8B5CF6; /* violet */

  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --radius: 22px;

  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

@media (prefers-color-scheme: light){
  :root{
    --bg:#fbfbff;
    --fg:#0b1220;
    --muted: rgba(11,18,32,.68);
    --muted2: rgba(11,18,32,.55);

    --card: rgba(255,255,255,.7);
    --card2: rgba(255,255,255,.55);
    --border: rgba(11,18,32,.12);

    --shadow: 0 18px 60px rgba(10,15,25,.12);
  }
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
html{ color-scheme: light dark; }
body{
  margin:0;
  background: var(--bg);
  color: var(--fg);
  font: 16px/1.55 var(--sans);
  overflow-x:hidden;
}

/* Background layers */
.bg{ position:fixed; inset:0; z-index:-5; pointer-events:none; }

.stars{
  position:absolute; inset:0;
  background:
    radial-gradient(1px 1px at 14% 22%, rgba(255,255,255,.70) 40%, transparent 41%),
    radial-gradient(1px 1px at 62% 12%, rgba(255,255,255,.55) 40%, transparent 41%),
    radial-gradient(1px 1px at 79% 37%, rgba(255,255,255,.60) 40%, transparent 41%),
    radial-gradient(1px 1px at 24% 68%, rgba(255,255,255,.50) 40%, transparent 41%),
    radial-gradient(1px 1px at 49% 82%, rgba(255,255,255,.45) 40%, transparent 41%),
    radial-gradient(1px 1px at 88% 74%, rgba(255,255,255,.62) 40%, transparent 41%);
  opacity:.55;
  filter: blur(.2px);
  animation: drift 14s ease-in-out infinite;
}

.nebula{
  position:absolute;
  width: 70vmax; height: 70vmax;
  border-radius: 50%;
  filter: blur(28px);
  opacity: .65;
  mix-blend-mode: screen;
}
.nebula.n1{
  left:-20vmax; top:-18vmax;
  background: radial-gradient(closest-side, rgba(34,211,238,.35), transparent 70%);
  animation: float1 12s ease-in-out infinite;
}
.nebula.n2{
  right:-18vmax; bottom:-20vmax;
  background: radial-gradient(closest-side, rgba(139,92,246,.35), transparent 70%);
  animation: float2 14s ease-in-out infinite;
}

.grid{
  position:absolute; inset:-1px;
  background:
    linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(closest-side at 50% 30%, rgba(0,0,0,.9), transparent 70%);
  opacity: .22;
}

/* Topbar */
.topbar{
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter: blur(14px);
  background: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,0));
  border-bottom: 1px solid rgba(255,255,255,.06);
}
@media (prefers-color-scheme: light){
  .topbar{
    background: linear-gradient(to bottom, rgba(255,255,255,.72), rgba(255,255,255,0));
    border-bottom: 1px solid rgba(11,18,32,.08);
  }
}

.topbar__inner{
  max-width: 1160px;
  margin: 0 auto;
  padding: 14px clamp(16px, 4vw, 28px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
  min-width: 180px;
}
.brand__logo{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.35));
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.12), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.12);
}
@media (prefers-color-scheme: light){
  .brand__logo{
    border: 1px solid rgba(11,18,32,.12);
    filter: drop-shadow(0 10px 22px rgba(10,15,25,.12));
  }
}
.brand__text{
  font-weight: 800;
  letter-spacing: -.02em;
  font-size: 1.02rem;
  opacity:.95;
}

/* Chip (copy domain) */
.actions{ display:flex; align-items:center; gap:10px; }

.chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, var(--card), rgba(255,255,255,.02));
  color: inherit;
  cursor:pointer;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.chip:hover{ transform: translateY(-1px); box-shadow: 0 14px 38px rgba(0,0,0,.22); }
.chip:focus{ outline:none; box-shadow: 0 0 0 6px rgba(34,211,238,.22), 0 14px 38px rgba(0,0,0,.22); }
.chip.is-copied{ border-color: rgba(34,211,238,.55); }

.dot{
  width:10px; height:10px; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, var(--a2), var(--a1));
  box-shadow: 0 0 0 4px rgba(34,211,238,.12);
}
.sep{ opacity:.35; }
.chip__hint{ opacity:.75; font-weight:600; }

.mono{ font-family: var(--mono); }

/* Layout */
.wrap{
  max-width: 1160px;
  margin: 0 auto;
  padding: 34px clamp(16px, 4vw, 28px) 22px;
}

.hero{
  display:grid;
  grid-template-columns: 1.35fr .9fr;
  gap: 22px;
  align-items:start;
}
@media (max-width: 920px){
  .hero{ grid-template-columns: 1fr; }
}

.hero__card{
  border-radius: var(--radius);
  background: linear-gradient(180deg, var(--card), rgba(255,255,255,.02));
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  padding: clamp(18px, 4vw, 34px);
  position:relative;
  overflow:hidden;
}
.hero__card::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(600px 220px at 20% 10%, rgba(34,211,238,.25), transparent 55%),
    radial-gradient(500px 240px at 80% 0%, rgba(255,211,77,.18), transparent 55%),
    radial-gradient(520px 260px at 65% 85%, rgba(139,92,246,.18), transparent 60%);
  opacity:.85;
  pointer-events:none;
}

.kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  position:relative;
  z-index:1;
}
.pill{
  display:inline-flex;
  align-items:center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  font-weight: 700;
  letter-spacing: .01em;
  font-size: .86rem;
}
.muted{ color: var(--muted); }

h1{
  position:relative;
  z-index:1;
  margin: 0 0 10px;
  font-size: clamp(2rem, 3.3vw + 1rem, 3.6rem);
  line-height: 1.05;
  letter-spacing: -.03em;
}
.lead{
  position:relative;
  z-index:1;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: clamp(1.02rem, .35vw + 1rem, 1.15rem);
  max-width: 62ch;
}

.cta{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin: 16px 0 20px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  text-decoration:none;
  color: inherit;
  font-weight: 800;
  letter-spacing: -.01em;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  user-select:none;
}
.btn:active{ transform: translateY(0); }
.btn:hover{ transform: translateY(-1px); }
.btn:focus{ outline:none; box-shadow: 0 0 0 6px rgba(34,211,238,.22); }

.btn--primary{
  border-color: rgba(34,211,238,.35);
  background: linear-gradient(180deg, rgba(34,211,238,.18), rgba(255,255,255,.02));
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}
.btn--primary:hover{ border-color: rgba(34,211,238,.55); }
.btn--ghost{
  background: rgba(255,255,255,.02);
}
.btn__arrow{ opacity:.85; }

.mini{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 8px;
}
@media (max-width: 520px){
  .mini{ grid-template-columns: 1fr; }
}
.mini__item{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  padding: 12px 12px;
}
@media (prefers-color-scheme: light){
  .mini__item{ border: 1px solid rgba(11,18,32,.10); }
}
.mini__label{
  display:block;
  font-size: .82rem;
  color: var(--muted2);
  margin-bottom: 6px;
}
.mini__value{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight: 800;
}

.pulse{
  width:10px; height:10px; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, var(--a2), var(--a1));
  box-shadow: 0 0 0 0 rgba(34,211,238,.0);
  animation: pulse 1.6s ease-in-out infinite;
}

/* Side cards */
.side{
  display:flex;
  flex-direction:column;
  gap: 14px;
}

.glass{
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: linear-gradient(180deg, var(--card2), rgba(255,255,255,.02));
  box-shadow: 0 14px 44px rgba(0,0,0,.22);
  padding: 18px 18px;
}
.glass--thin{ padding: 16px 18px; }

.glass h2{
  margin: 0 0 8px;
  font-size: 1.05rem;
  letter-spacing: -.01em;
}
.glass p{
  margin: 0 0 12px;
  color: var(--muted);
}

.list{
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 8px;
}
.list li{
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: var(--muted);
}
@media (prefers-color-scheme: light){
  .list li{ border: 1px solid rgba(11,18,32,.10); }
}

.faq{
  border-top: 1px solid rgba(255,255,255,.10);
  padding-top: 12px;
}
@media (prefers-color-scheme: light){
  .faq{ border-top: 1px solid rgba(11,18,32,.10); }
}
.faq summary{
  cursor:pointer;
  font-weight: 900;
  letter-spacing: -.01em;
}
.faq p{ margin: 10px 0 0; }

/* Footer */
.footer{
  margin-top: 18px;
  padding: 18px 4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  color: var(--muted2);
}
.link{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,.25);
}
.link:hover{ border-bottom-style: solid; }

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* Animations */
@keyframes pulse{
  0%   { box-shadow: 0 0 0 0 rgba(34,211,238,.0); transform: scale(1); }
  40%  { box-shadow: 0 0 0 10px rgba(34,211,238,.12); transform: scale(1.05); }
  100% { box-shadow: 0 0 0 0 rgba(34,211,238,.0); transform: scale(1); }
}
@keyframes drift{
  0%,100%{ transform: translate3d(0,0,0); opacity:.55; }
  50%{ transform: translate3d(10px, -8px, 0); opacity:.62; }
}
@keyframes float1{
  0%,100%{ transform: translate3d(0,0,0); }
  50%{ transform: translate3d(18px, 14px, 0); }
}
@keyframes float2{
  0%,100%{ transform: translate3d(0,0,0); }
  50%{ transform: translate3d(-16px, -12px, 0); }
}
/* Topbar Link */
.navlink{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.03);
  color: inherit;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: -.01em;
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease;
}
.navlink:hover{ transform: translateY(-1px); background: rgba(255,255,255,.05); }
.navlink:focus{ outline:none; box-shadow: 0 0 0 6px rgba(34,211,238,.22); }

/* Impressum */
.legal{ margin-top: 22px; }
.legal__card{ padding: clamp(16px, 3vw, 22px); }
.legal__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 10px;
}
.legal h3{
  margin: 0 0 6px;
  font-size: .98rem;
  letter-spacing: -.01em;
}
.legal p{ margin: 0; }
.legal__note{ margin-top: 12px; }

@media (max-width: 720px){
  .legal__grid{ grid-template-columns: 1fr; }
}