@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Quicksand:wght@400;500;600;700&display=swap');

:root{
  --bg0:#070b1c; --bg1:#0f1838; --bg2:#16224d;
  --cyan:#54dcf6; --cyan-bright:#8af0ff; --blue:#3a86f7; --gold:#ffd23f; --pink:#f48fb1; --green:#7ed957;
  --ink:#eaf2ff; --muted:#9fb0d0; --line:rgba(255,255,255,.12); --card:rgba(255,255,255,.05);
  --head:'Baloo 2',cursive; --body:'Quicksand',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(110% 70% at 50% -8%, #24306a 0%, transparent 55%),
    radial-gradient(90% 60% at 80% 10%, rgba(58,134,247,.18), transparent 60%),
    linear-gradient(180deg,#0c1430 0%,var(--bg0) 70%);
  background-color:var(--bg0);}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px;position:relative}
/* Parallax-Sternenfeld (dezent, reduced-motion-sicher) */
.stars{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.stars span{position:absolute;inset:-30% -10%;background-repeat:repeat;will-change:transform}
.stars .s1{opacity:.7;background-size:260px 260px;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><g fill='%23ffffff'><path d='M30,37Q30,40,33,40Q30,40,30,43Q30,40,27,40Q30,40,30,37Z'/><path d='M150,117.6Q150,120,152.4,120Q150,120,150,122.4Q150,120,147.6,120Q150,120,150,117.6Z'/><path d='M205,202.2Q205,205,207.8,205Q205,205,205,207.8Q205,205,202.2,205Q205,205,205,202.2Z'/><path d='M92,183Q92,185,94,185Q92,185,92,187Q92,185,90,185Q92,185,92,183Z'/></g></svg>")}
.stars .s2{opacity:.55;background-size:340px 340px;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='340' height='340'><path fill='%23ffe1a0' d='M80,56.6Q80,60,83.4,60Q80,60,80,63.4Q80,60,76.6,60Q80,60,80,56.6Z'/><path fill='%23ffe1a0' d='M300,297.4Q300,300,302.6,300Q300,300,300,302.6Q300,300,297.4,300Q300,300,300,297.4Z'/><path fill='%23cfe8ff' d='M210,172Q210,175,213,175Q210,175,210,178Q210,175,207,175Q210,175,210,172Z'/><path fill='%23cfe8ff' d='M40,247.6Q40,250,42.4,250Q40,250,40,252.4Q40,250,37.6,250Q40,250,40,247.6Z'/></svg>")}
@media (prefers-reduced-motion: reduce){.stars span{transform:none !important}}
h1,h2,h3{font-family:var(--head);line-height:1.1}
a{color:var(--cyan);text-decoration:none}

/* Nav */
nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(7,11,28,.6);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;gap:14px;height:62px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--head);font-weight:800;font-size:22px;color:#fff}
.brand .dot{width:30px;height:30px;border-radius:9px;
  background:url("assets/apple-touch-icon.png") center/cover no-repeat;
  font-size:0;color:transparent;box-shadow:0 0 0 1px rgba(255,255,255,.1)}
.nav-links{margin-left:auto;display:flex;gap:22px}
.nav-links a{color:var(--muted);font-weight:600;position:relative}
.nav-links a:hover{color:var(--cyan)}
.nav-links a.active{color:var(--cyan-bright)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--cyan),var(--blue))}
.nav-cta{background:linear-gradient(180deg,var(--cyan),var(--blue));color:#04223a;font-weight:700;
  padding:9px 18px;border-radius:30px}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;
  background:none;border:0;cursor:pointer;padding:9px}
.nav-toggle span{display:block;height:2px;width:24px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s}
nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.open .nav-toggle span:nth-child(2){opacity:0}
nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:720px){
  .nav-links{display:none}
  .nav-cta{margin-left:auto}
  .nav-toggle{display:flex}
  nav.open .nav-links{display:flex;flex-direction:column;position:absolute;top:62px;left:0;right:0;
    background:rgba(7,11,28,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
    padding:16px 24px;gap:18px}
  nav.open .nav-links a{color:#dce7ff;font-weight:700;font-size:16px}
  nav.open .nav-links a.active{color:var(--cyan-bright)}
  nav.open .nav-links a.active::after{display:none}
}

/* Hero */
.hero{text-align:center;padding:70px 0 30px;position:relative}

/* Jonah-Stern – stilles Gedenken, sanftes Funkeln (Easter Egg) */
.jonah-star{position:absolute;top:58px;right:23%;width:15px;height:15px;z-index:6;outline:none}
.jonah-star svg{width:100%;height:100%;display:block;fill:#ffe6a3;
  filter:drop-shadow(0 0 5px rgba(255,210,63,.85)) drop-shadow(0 0 11px rgba(255,210,63,.45));
  animation:jonahTwinkle 3.6s ease-in-out infinite;transform-origin:center}
.jonah-star::after{content:"Jonah \2013  unser kleiner Stern\A du fehlst uns \2665  18.06.2022";
  position:absolute;top:150%;left:50%;transform:translateX(-50%) translateY(4px);
  white-space:pre;text-align:center;line-height:1.5;
  font-family:var(--head);font-size:12.5px;font-weight:700;letter-spacing:.3px;color:#ffe6a3;
  background:rgba(7,11,28,.94);border:1px solid rgba(255,210,63,.35);border-radius:12px;padding:9px 15px;
  opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s ease;
  box-shadow:0 8px 24px rgba(0,0,0,.55)}
.jonah-star:hover::after,.jonah-star:focus-visible::after{opacity:1;transform:translateX(-50%) translateY(0)}
@keyframes jonahTwinkle{0%,100%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}
@media (prefers-reduced-motion: reduce){.jonah-star svg{animation:none;opacity:.92}}
@media(max-width:600px){.jonah-star{right:14%;top:40px}}
.logo{font-family:var(--head);font-weight:800;font-size:96px;letter-spacing:1px;line-height:1;position:relative;display:inline-block;
  background:linear-gradient(180deg,var(--cyan-bright),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 36px rgba(84,220,246,.35)}
.logo .spark{position:absolute;top:0;right:-30px;color:var(--gold);font-size:34px;text-shadow:0 0 16px rgba(255,210,63,.8)}
.logo .ring{position:absolute;left:50%;top:58%;width:280px;height:74px;transform:translate(-50%,-50%) rotate(-10deg);
  border:3px solid rgba(84,220,246,.5);border-radius:50%}
.logo-img{width:min(340px,74vw);height:auto;display:block;margin:0 auto;
  filter:drop-shadow(0 6px 24px rgba(84,220,246,.25))}
.tagline{margin-top:14px;color:var(--muted);font-weight:700;letter-spacing:4px;text-transform:uppercase;font-size:14px}
.lead{max-width:560px;margin:20px auto 0;color:#c8d6f0;font-size:18px}
.badge{display:inline-flex;align-items:center;gap:9px;margin-top:26px;background:var(--card);
  border:1px solid var(--line);color:#dce7ff;font-weight:700;padding:12px 22px;border-radius:30px}
.badge svg{width:18px;height:18px;fill:none;stroke:var(--cyan);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Phone-Mockup */
.shots{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin-top:46px}
/* Offizieller Apple iPhone-17-Pro-Max-Bezel (Apple Design Resources).
   Screen-Rechteck exakt vermessen: 75px seitlich, 66px oben/unten bei 1470×3000. */
.phone{position:relative;width:240px;aspect-ratio:1470/3000}
.phone .shot{position:absolute;left:5.185%;top:2.269%;width:89.63%;height:95.463%;
  display:block;object-fit:cover;z-index:1;border-radius:13%/6%}
.phone .frame{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;
  filter:drop-shadow(0 26px 48px rgba(0,0,0,.5))}
.phone.tilt{transform:rotate(-3.5deg)} .phone.tilt2{transform:rotate(3.5deg)}
.feat .ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Sections */
section.sec{padding:54px 0}
.sec h2{font-size:34px;text-align:center;font-weight:800}
.sec .sub{text-align:center;color:var(--muted);margin:8px auto 30px;max-width:560px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.feat{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--card)}
.feat .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:22px;margin-bottom:12px}
.feat h3{font-size:18px;margin-bottom:6px;color:#fff}
.feat p{color:var(--muted);font-size:15px}
.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.chip{border:1px solid var(--line);background:var(--card);border-radius:30px;padding:10px 18px;color:#dce7ff;font-weight:600}
.cta{text-align:center;padding:60px 0}
.cta .btn{display:inline-block;background:linear-gradient(180deg,var(--cyan),var(--blue));color:#04223a;font-weight:800;
  font-size:19px;padding:16px 40px;border-radius:40px;box-shadow:0 12px 30px rgba(84,220,246,.4)}
footer{border-top:1px solid var(--line);padding:30px 0 50px;text-align:center;color:var(--muted);font-size:14px}
footer a{margin:0 8px}
.back{display:inline-block;margin:18px 0;color:var(--muted)}
.legal h2{font-size:24px;margin-bottom:14px}
ul.clean{list-style:none;display:grid;gap:10px}
ul.clean li{padding-left:26px;position:relative;color:var(--muted)}
ul.clean li::before{content:"✦";position:absolute;left:0;color:var(--gold)}
@media(max-width:600px){.logo{font-size:68px}.sec h2{font-size:26px}}

/* Animiertes Hero-Logo: Orbit-Kugel umkreist den Schriftzug, Stern funkelt (wie in der App) */
.hero-logo{width:min(360px,82vw);height:auto;display:block;margin:0 auto;
  filter:drop-shadow(0 6px 22px rgba(84,220,246,.22))}
.hero-logo .lg-spark{transform-box:fill-box;transform-origin:center;
  animation:logoTwinkle 1.6s ease-in-out infinite}
@keyframes logoTwinkle{0%,100%{opacity:.6;transform:scale(.8)}50%{opacity:1;transform:scale(1.16)}}
@media (prefers-reduced-motion: reduce){.hero-logo .lg-spark{animation:none;opacity:.95}}

/* Button-Reihe + TestFlight-Beta-Button (Apple-konform: korrekte Wortmarke „TestFlight",
   eigener Button – kein nachgeahmtes Apple-Badge – Link auf den öffentlichen Beta-Link) */
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:stretch;margin-top:26px}
/* exakt gleiche Höhe für beide CTAs (Pill + TestFlight-Button), Inhalt vertikal zentriert.
   Feste Höhe statt min-height, sonst sprengt der zweizeilige TestFlight-Text die Pille. */
.cta-row .badge,.cta-row .btn,.cta-row .tf-btn{height:64px;min-height:64px;padding-top:0;padding-bottom:0;margin-top:0}
.cta-row .btn{display:inline-flex;align-items:center;justify-content:center}
.tf-btn{display:inline-flex;align-items:center;gap:12px;
  background:linear-gradient(180deg,#2aa3ff,#0a84ff);color:#fff;font-weight:700;
  padding:0 22px;border-radius:30px;box-shadow:0 10px 26px rgba(10,132,255,.4)}
.tf-btn:hover{filter:brightness(1.06)}
.tf-btn .ic{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.2)}
.tf-btn .ic svg{width:18px;height:18px;fill:#fff;transform:translateX(1px)}
.tf-btn .txt{text-align:left;line-height:1.15}
.tf-btn .txt b{font-weight:800;font-size:16px}
.tf-btn .txt small{display:block;font-weight:600;font-size:11px;opacity:.85}

/* Offizieller App-Store-Badge (Apple-Marketing-Richtlinien) */
.store-badge{display:inline-block;transition:transform .25s}
.store-badge:hover{transform:scale(1.04)}
.store-badge img{height:56px;width:auto;display:block}

/* Schwester-Spiel-Verlinkung (Cross-Promo) */
.sister-game{display:flex;align-items:center;gap:18px;max-width:560px;margin:0 auto 36px;padding:20px 24px;border-radius:22px;background:var(--card);border:1px solid var(--line);text-align:left;text-decoration:none;transition:transform .25s,border-color .25s,background .25s}
.sister-game:hover{transform:translateY(-4px);border-color:rgba(84,220,246,.45);background:rgba(255,255,255,.08)}
.sister-game .sg-icon{width:76px;height:76px;border-radius:18px;flex:0 0 auto;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.sister-game .sg-text{display:flex;flex-direction:column;min-width:0}
.sister-game .sg-label{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);margin-bottom:6px}
.sister-game .sg-label svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sister-game .sg-name{font-family:var(--head);font-weight:800;font-size:1.15rem;color:#fff;margin-bottom:5px}
.sister-game .sg-desc{font-size:.85rem;color:var(--muted);line-height:1.5}
.sister-game .sg-go{margin-top:10px;font-weight:700;font-size:.85rem;color:var(--cyan-bright)}
@media(max-width:520px){.sister-game{flex-direction:column;text-align:center}.sister-game .sg-label{justify-content:center}}

/* ===== WM-Fußball-Akzent unter dem Hero: zwei Mini-Teams kicken einen Ball (andere Nation) ===== */
.footy{position:relative;height:96px;max-width:600px;margin:2px auto 8px;pointer-events:none}
.footy::after{content:"";position:absolute;left:8%;right:8%;bottom:20px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
.footy .team{position:absolute;bottom:18px;display:flex;gap:12px}
.footy .left{left:6%} .footy .right{right:6%}
.footy .pl{width:32px;height:32px;border-radius:50%;background-size:cover;background-position:center;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.45));animation:plBob 1.7s ease-in-out infinite}
.footy .gb{position:absolute;width:26px;height:26px;border-radius:50%;background-size:cover;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.5));left:14%;bottom:24px;
  animation:gbKick 3.4s cubic-bezier(.45,0,.55,1) infinite,gbRoll 1.1s linear infinite;will-change:left,bottom,transform}
@keyframes plBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes gbKick{
  0%{left:16%;bottom:24px} 18%{bottom:70px} 36%{left:50%;bottom:24px}
  50%{left:84%;bottom:24px} 68%{bottom:70px} 86%{left:50%;bottom:24px} 100%{left:16%;bottom:24px}}
@keyframes gbRoll{to{transform:rotate(360deg)}}
@media(max-width:520px){.footy{height:78px;max-width:340px}.footy .pl{width:24px;height:24px;gap:8px}.footy .gb{width:20px;height:20px}}

@media (prefers-reduced-motion: reduce){
  .footy .pl,.footy .gb{animation:none}
  .footy .gb{left:48%}
}

/* ===== Wunsch-Board (read-only, aus CloudKit; bleibt versteckt ohne Daten) ===== */
.board{display:flex;flex-direction:column;gap:10px;max-width:640px;margin:6px auto 0;text-align:left}
.board .bitem{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:16px;
  background:var(--card);border:1px solid var(--line)}
.board .bvote{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:46px;padding:6px 8px;border-radius:12px;background:rgba(84,220,246,.12);color:var(--cyan-bright)}
.board .bvote b{font-family:var(--head);font-weight:800;font-size:1.15rem;line-height:1}
.board .bvote span{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.8}
.board .bbody{min-width:0;flex:1}
.board .btitle{font-weight:700;color:#fff;line-height:1.35}
.board .bmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:5px;font-size:.78rem;color:var(--muted)}
.board .bstatus{font-weight:700;font-size:.72rem;padding:2px 8px;border-radius:20px}
.board .st-planned{background:rgba(58,134,247,.18);color:#8fb8ff}
.board .st-progress{background:rgba(255,170,60,.18);color:#ffc070}
.board .st-done{background:rgba(126,217,87,.18);color:#a6e886}
.board-note{text-align:center;font-size:.85rem;color:var(--muted);margin-top:16px}
.board-note b{color:var(--cyan-bright)}
