:root{
  --bg:#FFF7EE; --ink:#2B1E3A; --muted:#6B5E78; --fox:#F2752B; --fox-dark:#C9561A;
  --teal:#2BB3A3; --card:#FFFFFF; --line:#F0E2D2;
  --radius:22px;
  font-family: ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);line-height:1.6;font-size:17px}
a{color:var(--fox-dark)}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}
header.top{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:800;font-size:1.25rem}
.brand img{width:44px;height:44px}
nav a{margin-left:18px;text-decoration:none;color:var(--muted);font-weight:600}
nav a:hover{color:var(--fox-dark)}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;padding:48px 0 64px}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;margin:0 0 16px;letter-spacing:-.02em}
.hero h1 span{color:var(--fox)}
.hero p{font-size:1.15rem;color:var(--muted);margin:0 0 24px;max-width:34ch}
.btn{display:inline-block;background:var(--fox);color:#fff;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:999px;box-shadow:0 4px 0 var(--fox-dark);transition:transform .15s}
.btn:hover{transform:translateY(-2px) rotate(-1deg)}
.mascot{display:flex;justify-content:center}
@keyframes wobble{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg) translateY(-6px)}}
section{padding:40px 0}
h2{font-size:1.8rem;margin:0 0 20px}
.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:22px}
.card .thumb{aspect-ratio:16/10;border-radius:14px;margin-bottom:14px;display:flex;align-items:center;justify-content:center;font-size:4.5rem;color:#fff;font-weight:800}
.t1{background:linear-gradient(135deg,#8E5CD9,#F2752B)}
.t2{background:linear-gradient(135deg,#2BB3A3,#3D6FE0)}
.card h3{margin:0 0 6px}
.card p{margin:0;color:var(--muted)}
.tag{display:inline-block;font-size:.8rem;font-weight:700;background:#FDE6D6;color:var(--fox-dark);padding:2px 10px;border-radius:999px;margin-bottom:8px}
.about{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);padding:28px}
footer{padding:36px 0 48px;color:var(--muted);font-size:.95rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;border-top:2px solid var(--line);padding-top:24px}
footer a{color:var(--muted)}
.legal{padding:24px 0 48px;max-width:760px}
.legal h1{font-size:2rem;margin:8px 0 20px}
.legal h2{font-size:1.25rem;margin:28px 0 8px}
.legal p,.legal li{color:#3d3249}
.todo{background:#FFF1B8;padding:0 4px;border-radius:4px}
@media (max-width:720px){
  .hero{grid-template-columns:1fr;text-align:center;padding-top:16px}
  .hero p{margin-left:auto;margin-right:auto}
  .mascot{order:-1}
  nav a{margin-left:12px}
}
@media (max-width:480px){
  header.top nav{display:none}
  .brand{font-size:1.1rem}
}

/* ---------- Animationen ---------- */
.hero{position:relative}
.bubbles{position:absolute;inset:-20px -20px 0;pointer-events:none;overflow:hidden;z-index:-1}
.bubbles b{position:absolute;bottom:-40px;border-radius:50%;opacity:.35;animation:rise linear infinite}
.bubbles b:nth-child(1){left:6%;width:18px;height:18px;background:var(--fox);animation-duration:11s}
.bubbles b:nth-child(2){left:22%;width:10px;height:10px;background:var(--teal);animation-duration:8s;animation-delay:-3s}
.bubbles b:nth-child(3){left:40%;width:26px;height:26px;background:#8E5CD9;animation-duration:14s;animation-delay:-6s}
.bubbles b:nth-child(4){left:58%;width:12px;height:12px;background:var(--fox);animation-duration:9s;animation-delay:-1s}
.bubbles b:nth-child(5){left:72%;width:20px;height:20px;background:var(--teal);animation-duration:12s;animation-delay:-8s}
.bubbles b:nth-child(6){left:86%;width:9px;height:9px;background:#8E5CD9;animation-duration:7s;animation-delay:-4s}
.bubbles b:nth-child(7){left:94%;width:16px;height:16px;background:var(--fox);animation-duration:13s;animation-delay:-10s}
@keyframes rise{0%{transform:translate(0,0) scale(.8)}50%{transform:translate(18px,-260px) scale(1)}100%{transform:translate(-10px,-560px) scale(.6);opacity:0}}

/* Wackelnde Buchstaben */
.wobble-word{display:inline-block}
.wobble-word i{font-style:normal;display:inline-block;animation:letter 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * 90ms)}
@keyframes letter{0%,60%,100%{transform:translateY(0) rotate(0)}70%{transform:translateY(-10px) rotate(-6deg)}80%{transform:translateY(2px) rotate(4deg)}90%{transform:translateY(-2px) rotate(-1deg)}}

/* Fuchs */
.mascot{flex-direction:column;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.fox{width:min(280px,70vw);overflow:visible;animation:wobble 4s ease-in-out infinite;transform-origin:50% 90%}
.fox .ear{transform-box:fill-box}
.ear-l{transform-origin:100% 100%;animation:twitchL 6s ease-in-out infinite}
.ear-r{transform-origin:0% 100%;animation:twitchR 6s ease-in-out infinite 1.3s}
@keyframes twitchL{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(-14deg)}94%{transform:rotate(4deg)}}
@keyframes twitchR{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(14deg)}94%{transform:rotate(-4deg)}}
.fox .eye{transform-box:fill-box;transform-origin:center;animation:blink 5s infinite}
@keyframes blink{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
.fox .pupil{transition:transform .15s ease-out;transform:translate(0,0)}
.shadow{display:block;width:44%;height:14px;margin-top:6px;border-radius:50%;background:rgba(43,30,58,.12);animation:shadow 4s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-10px)}}
@keyframes shadow{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.85);opacity:.7}}
.mascot.hop .fox{animation:hop .7s cubic-bezier(.3,1.6,.5,1)}
@keyframes hop{0%{transform:scale(1,1)}20%{transform:scale(1.12,.86)}50%{transform:translateY(-46px) scale(.92,1.1) rotate(8deg)}80%{transform:translateY(0) scale(1.06,.94)}100%{transform:none}}

/* Karten */
.card{transition:transform .25s cubic-bezier(.3,1.5,.5,1),box-shadow .25s}
.card:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 12px 0 var(--line)}
.card:nth-child(2):hover{transform:translateY(-6px) rotate(1deg)}
.card .thumb{position:relative;overflow:hidden}
.card .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s}
.card:hover .thumb::after{transform:translateX(120%)}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--fox-dark)}

/* Einblenden beim Scrollen (nur mit JS) */
.js [data-reveal]{opacity:0;transform:translateY(28px) scale(.98);transition:opacity .6s ease,transform .7s cubic-bezier(.3,1.4,.5,1)}
.js [data-reveal].shown{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .fox,.ear-l,.ear-r,.fox .eye,.shadow,.wobble-word i,.bubbles b{animation:none!important}
  .bubbles{display:none}
  .card,.card:hover{transition:none;transform:none}
}
