:root{
  --bg:#0a0f14; --card:rgba(255,255,255,.05); --line:rgba(255,255,255,.1);
  --txt:#eaf7f2; --muted:#8fa3a0; --acc:#2ef2a0; --acc2:#00e5ff;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Space Grotesk',system-ui,sans-serif;color:var(--txt);background:var(--bg);
  min-height:100vh;display:grid;place-items:center;padding:50px 18px;overflow-x:hidden}
.bg-glow{position:fixed;inset:0;background:
  radial-gradient(560px 320px at 10% 12%, rgba(46,242,160,.24), transparent 65%),
  radial-gradient(560px 340px at 90% 88%, rgba(0,229,255,.2), transparent 65%);
  animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.15) translate(22px,-20px)}}

.wrap{width:min(720px,100%)}
.head{text-align:center;margin-bottom:26px;animation:up .7s cubic-bezier(.2,.8,.2,1) both}
.pill{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);
  border:1px solid var(--line);padding:7px 15px;border-radius:99px;background:var(--card)}
h1{font-size:clamp(32px,6.5vw,50px);margin:16px 0 8px;letter-spacing:-.02em}
h1 span{background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.head p{color:var(--muted);font-size:15px}
@keyframes up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

.toolbar{display:flex;gap:10px;margin-bottom:16px;animation:up .7s .08s cubic-bezier(.2,.8,.2,1) both;flex-wrap:wrap}
.chip{padding:10px 20px;border-radius:99px;border:1px solid var(--line);background:var(--card);
  color:var(--muted);font-family:inherit;font-size:13.5px;cursor:pointer;transition:.3s}
.chip:hover{color:var(--txt);border-color:var(--acc);transform:translateY(-2px)}
.chip.on{background:linear-gradient(135deg,var(--acc),var(--acc2));color:#06110c;border-color:transparent;font-weight:600}
.chip.ghost{margin-left:auto}

.acc{display:grid;gap:12px;animation:up .7s .16s cubic-bezier(.2,.8,.2,1) both}
.item{border:1px solid var(--line);border-radius:20px;background:var(--card);backdrop-filter:blur(16px);
  overflow:hidden;transition:border-color .4s, box-shadow .4s, transform .4s}
.item:hover{transform:translateY(-2px)}
.item.open{border-color:rgba(46,242,160,.55);box-shadow:0 18px 44px rgba(0,0,0,.45), inset 3px 0 0 var(--acc)}
.q{width:100%;display:flex;align-items:center;gap:16px;padding:20px 22px;background:none;border:none;
  color:var(--txt);font-family:inherit;font-size:clamp(15px,3.6vw,17px);text-align:left;cursor:pointer}
.num{font-size:12.5px;font-weight:700;color:var(--acc);letter-spacing:.1em;flex:none}
.text{flex:1;font-weight:600}
.ico{position:relative;width:34px;height:34px;flex:none;border-radius:11px;border:1px solid var(--line);
  background:rgba(255,255,255,.05);transition:.4s cubic-bezier(.34,1.56,.64,1)}
.ico::before,.ico::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;border-radius:2px;
  background:var(--acc);transform:translate(-50%,-50%);transition:.4s cubic-bezier(.34,1.56,.64,1)}
.ico::after{transform:translate(-50%,-50%) rotate(90deg)}
.item.open .ico{background:linear-gradient(135deg,var(--acc),var(--acc2));border-color:transparent;transform:rotate(180deg)}
.item.open .ico::before,.item.open .ico::after{background:#06110c}
.item.open .ico::after{transform:translate(-50%,-50%) rotate(0deg)}

/* Grid-Technik: 0fr -> 1fr animiert ohne max-height */
.a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.item.open .a{grid-template-rows:1fr}
.a-inner{overflow:hidden}
.a-inner p{padding:0 22px 6px 60px;color:var(--muted);font-size:14.8px;line-height:1.7}
.a-inner code{background:rgba(46,242,160,.14);color:var(--acc);padding:2px 7px;border-radius:6px;font-size:13.5px}
.a-inner .tag{display:inline-block;margin:10px 0 20px 60px;font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 12px;border-radius:99px;background:rgba(0,229,255,.14);
  color:var(--acc2);border:1px solid rgba(0,229,255,.3);opacity:0;transform:translateY(8px);transition:.4s .18s}
.item.open .a-inner .tag{opacity:1;transform:none}

@media (max-width:640px){
  .q{padding:16px 15px;gap:11px}
  .num{display:none}
  .a-inner p{padding:0 16px 4px 16px;font-size:14.2px}
  .a-inner .tag{margin-left:16px}
  .chip.ghost{margin-left:0}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}}
