/* W502 · Companion neu: Glas-Kapsel mit Achter-Ring (B + C). Ersetzt die Sicht auf den Meridian-Orb, nicht seine Funktion. */
body.ka-w502-an .wave23d-companion__dock,
body.ka-w502-an .wave23d-companion__bubble,
body.ka-w502-an .ka-w476-chip{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
body.ka-w502-an .wave23d-companion.ka-w482-atmet::after{content:none!important;animation:none!important}

.ka-w502{position:fixed;z-index:1450;left:50%;bottom:calc(max(16px,env(safe-area-inset-bottom) + 10px) + var(--signal-guide-cookie-offset,0px));
  transform:translate(-50%,0);display:flex;align-items:center;gap:14px;height:76px;max-width:min(620px,calc(100vw - 32px));
  padding:0 24px 0 14px;border-radius:999px;border:1px solid rgba(201,168,76,.30);cursor:pointer;text-align:left;color:#f4f0e6;
  background:linear-gradient(180deg,rgba(16,27,45,.84),rgba(5,11,21,.92));
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 18px 50px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.03) inset,0 1px 0 rgba(255,255,255,.07) inset;
  font:inherit;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s ease,border-color .25s ease,box-shadow .25s ease}
.ka-w502:hover{border-color:rgba(230,200,120,.62);box-shadow:0 22px 60px rgba(0,0,0,.52),0 0 26px rgba(201,168,76,.18),0 1px 0 rgba(255,255,255,.08) inset;transform:translate(-50%,-2px)}
.ka-w502:focus-visible{outline:2px solid #e6c878;outline-offset:3px}
.ka-w502.is-start{opacity:0;transform:translate(-50%,24px)}
body.wave23d-companion-open .ka-w502{opacity:0;pointer-events:none;transform:translate(-50%,24px)}

.ka-w502__ring{position:relative;flex:0 0 50px;width:50px;height:50px;border-radius:50%;
  background:radial-gradient(circle at 50% 40%,rgba(28,44,70,.95),rgba(4,9,18,1) 72%);box-shadow:0 0 0 1px rgba(201,168,76,.35) inset}
.ka-w502__ring svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ka-w502__ring img{position:absolute;left:50%;top:50%;width:auto;height:21px;transform:translate(-50%,-50%);filter:drop-shadow(0 0 6px rgba(201,168,76,.35))}
.ka-w502__ring img{height:22px}
.ka-w502__bahn{fill:none;stroke:rgba(230,200,120,.22);stroke-width:1}
.ka-w502__st{fill:rgba(8,16,28,1);stroke:rgba(230,200,120,.62);stroke-width:1.1;transition:fill .5s ease,stroke .5s ease,r .3s ease}
.ka-w502__st.is-ok{fill:#5dc9d6;stroke:#5dc9d6}
.ka-w502__st.is-riss{fill:#e6c878;stroke:#e6c878}
.ka-w502__st.is-bruch{fill:#e0484a;stroke:#ff6b6b;filter:drop-shadow(0 0 3px rgba(224,72,74,.9))}

.ka-w502__text{display:flex;flex-direction:column;gap:4px;min-width:0}
.ka-w502__kopf{font:700 9.5px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:#5dc9d6;white-space:nowrap}
.ka-w502__kopf b{color:#e6c878;font-weight:700}
.ka-w502__satz{font-size:15px;line-height:1.25;font-weight:500;color:#f4f0e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42ch;transition:opacity .3s ease}
.ka-w502__satz.is-weg{opacity:0}
.ka-w502__satz em{font-style:normal;color:#ff7a7a}
.ka-w502__punkt{flex:0 0 auto;width:7px;height:7px;margin-left:4px;border-radius:50%;background:#5dc9d6;box-shadow:0 0 0 4px rgba(93,201,214,.12)}

/* Puls, wenn ein Werkzeug in den Blick kommt */
.ka-w502.is-puls{border-color:rgba(230,200,120,.7);box-shadow:0 18px 50px rgba(0,0,0,.48),0 0 34px rgba(201,168,76,.28),0 1px 0 rgba(255,255,255,.08) inset}
/* Denkt: ein Abtaster laeuft ueber die Kette */
.ka-w502.is-denkt .ka-w502__st{animation:ka-w502-tast 1.6s linear infinite}
.ka-w502.is-denkt .ka-w502__punkt{background:#e6c878;animation:ka-w502-atem 1.2s ease-in-out infinite}
@keyframes ka-w502-tast{0%,100%{stroke:rgba(230,200,120,.62)}10%{stroke:#e6c878;stroke-width:2}}
@keyframes ka-w502-atem{50%{box-shadow:0 0 0 7px rgba(230,200,120,.08)}}
@media (prefers-reduced-motion:no-preference){.ka-w502__punkt{animation:ka-w502-atem 3.2s ease-in-out infinite}}
@media (prefers-reduced-motion:reduce){.ka-w502,.ka-w502__st,.ka-w502__satz{transition:none}.ka-w502.is-denkt .ka-w502__st,.ka-w502__punkt{animation:none}}

@media (max-width:640px){
  .ka-w502{height:52px;gap:10px;padding:5px 14px 5px 5px}
  .ka-w502__ring{flex-basis:42px;width:42px;height:42px}
  .ka-w502__ring img{height:19px}
  .ka-w502__satz{font-size:13.5px;max-width:calc(100vw - 150px)}
}
@media print{.ka-w502{display:none!important}}
/* Mobil: beim Lesen nach unten nur der Ring in der Ecke, beim Hochscrollen wieder die Kapsel */
@media (max-width:640px){
  .ka-w502{transition:left .45s cubic-bezier(.2,.8,.2,1),padding .45s ease,opacity .4s ease,transform .45s ease}
  .ka-w502.is-klein{left:calc(100% - 42px);padding:5px;gap:0}
  .ka-w502.is-klein .ka-w502__text,.ka-w502.is-klein .ka-w502__punkt{display:none}
}

/* Grosse Fassung im geoeffneten AICTIONBOT™: der Gyro tritt ab, die Kette steht */
body.ka-w502-an .wave23d-companion__orb--center .w134-orb{opacity:0!important}
body.ka-w502-an .wave23d-companion__glow{opacity:.35}
.ka-w502g{position:absolute;inset:6%;display:block;pointer-events:none}
.ka-w502g svg{width:100%;height:100%;overflow:visible}
html body .ka-w502g img{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;inset:auto;height:19%!important;width:auto!important;max-width:none!important;margin:0!important;opacity:1!important;transform:translate(-50%,-50%)!important;filter:drop-shadow(0 0 18px rgba(201,168,76,.35))!important;animation:none!important}
html body .ka-w502 .ka-w502__ring img{position:absolute!important;left:50%!important;top:50%!important;width:auto!important;max-width:none!important;transform:translate(-50%,-50%)!important}
.ka-w502g__bahn{fill:none;stroke:rgba(230,200,120,.28);stroke-width:1}
.ka-w502g__kern{stroke:rgba(230,200,120,.45);stroke-width:1}
.ka-w502g__tast{fill:none;stroke:#5dc9d6;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:90 853;transform-origin:200px 200px;opacity:.85;animation:ka-w502-dreh 9s linear infinite}
.ka-w502g__st{fill:#081020;stroke:rgba(230,200,120,.75);stroke-width:1.4;transition:fill .5s,stroke .5s}
.ka-w502g__st.is-ok{fill:#5dc9d6;stroke:#5dc9d6}
.ka-w502g__st.is-riss{fill:#e6c878;stroke:#e6c878}
.ka-w502g__st.is-bruch{fill:#e0484a;stroke:#ff6b6b;filter:drop-shadow(0 0 8px rgba(224,72,74,.9))}
.ka-w502g__lab{font:600 10.5px "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;fill:rgba(232,238,245,.72)}
@keyframes ka-w502-dreh{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ka-w502g__tast{animation:none}}

/* ===== W503 · Signal Buddy (Entwurf D) ===== */
.ka-w502__ring{display:none!important}
.ka-w502__bot{position:relative;flex:0 0 96px;width:96px;height:76px}
.ka-w502__bot .kb{position:absolute;left:0;top:-20px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.ka-w502__bot::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:12px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(216,172,92,.26),rgba(216,172,92,0) 70%);pointer-events:none}
.ka-w502__kopf{display:flex;align-items:center;gap:10px}
.ka-w502__kette{display:none;align-items:center;gap:4px}
.ka-w502.hat-karte .ka-w502__kette{display:inline-flex}
.ka-w502__kette i{display:block;width:6px;height:6px;border-radius:50%;box-sizing:border-box;border:1px solid rgba(230,200,120,.6);background:transparent}
.ka-w502__kette i.is-ok{background:#5dc9d6;border-color:#5dc9d6}
.ka-w502__kette i.is-riss{background:#e6c878;border-color:#e6c878}
.ka-w502__kette i.is-bruch{background:#e0484a;border-color:#ff6b6b;box-shadow:0 0 5px rgba(224,72,74,.9)}
.ka-w502__satz{font-size:15.5px;font-weight:600}

/* Buddy-Bauteile */
.kb{position:relative;display:block;flex:none;color:#e8eef5}
.kb>span{position:absolute;display:block}
.kb__stem{background:linear-gradient(180deg,rgba(226,184,102,.95),rgba(226,184,102,.25))}
.kb__bulb{border-radius:50%;background:#EBC57C}
.kb__body{box-sizing:border-box;border-style:solid;border-color:rgba(226,184,102,.55);background:linear-gradient(180deg,#1b2f45 0%,#0c1826 50%,#060c14 100%);
  box-shadow:inset 0 var(--ks) 0 rgba(255,255,255,.10),0 var(--kh) var(--kh2) rgba(0,0,0,.5),0 0 var(--kh3) var(--kt,rgba(93,201,214,.12))}
.kb__screen{position:absolute;overflow:hidden;background:radial-gradient(ellipse at 50% 25%,#0a1724 0%,#020509 74%);box-shadow:inset 0 0 var(--ki) rgba(0,0,0,.9),inset 0 0 0 1px rgba(93,201,214,.14)}
.kb__grid{position:absolute;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));place-items:center}
.kb__grid i{display:block;width:var(--kd);height:var(--kd);border-radius:50%;background:rgba(150,180,210,.10);transition:background .18s ease,box-shadow .18s ease}
.kb__grid i.c{background:#8BE3EE;box-shadow:0 0 var(--kg) rgba(93,201,214,.9)}
.kb__grid i.g{background:#EBC57C;box-shadow:0 0 var(--kg) rgba(226,184,102,.85)}
.kb__grid i.d{background:rgba(93,201,214,.42)}
.kb__grid i.x{visibility:hidden}
.kb__sheen{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(160deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 36%);pointer-events:none}

/* Geoeffnet: Buddy in der Kette */
.ka-w502g__bot{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);width:56%;aspect-ratio:1}
.ka-w502g__bot .kb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--kbs,1));transform-origin:center}
.ka-w502g__bot::after{content:"";position:absolute;left:14%;right:14%;bottom:2%;height:12%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(216,172,92,.26),rgba(216,172,92,0) 70%)}

@media (max-width:640px){
  .ka-w502{height:64px;padding:0 16px 0 8px;gap:8px}
  .ka-w502__bot{flex-basis:76px;width:76px;height:64px}
  .ka-w502__bot .kb{transform:scale(.8);transform-origin:0 0;top:-12px}
  .ka-w502__kette{display:none!important}
  /* Ecke: nur der Buddy, gross und frei */
  html body .ka-w502.is-klein{left:calc(100% - 60px);height:96px;padding:0;gap:0;background:transparent!important;border-color:transparent!important;box-shadow:none!important;outline:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .ka-w502.is-klein .ka-w502__bot{flex-basis:96px;width:96px;height:96px}
  .ka-w502.is-klein .ka-w502__bot .kb{transform:none;top:0;left:0}
}

/* W503 · Startseite: Buddy-Buehne links, Frage und Konsole rechts */
.ka-w467.ka-w503-mit{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);column-gap:clamp(1.6rem,4vw,3.5rem);align-items:start}
.ka-w467.ka-w503-mit>:not(.ka-w503-heim){grid-column:2}
.ka-w503-heim{grid-column:1;grid-row:1 / span 6;align-self:center;display:flex;flex-direction:column;align-items:center;gap:1.6rem}
.ka-w503-heim__buehne{position:relative;display:grid;place-items:center;width:340px;max-width:100%;aspect-ratio:1}
.ka-w503-heim__buehne .kb{filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.ka-w503-heim__buehne>i{position:absolute;display:block}
.ka-w503-heim__bahn{inset:20px;border-radius:50%;border:1px dashed rgba(93,201,214,.18)}
.ka-w503-heim__schatten{left:50px;right:50px;bottom:8px;height:36px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(216,172,92,.24),rgba(216,172,92,0) 70%)}
.ka-w503-heim__modi{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ka-w503-heim__modi>*{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(143,163,184,.3);background:transparent;color:#dce5ee;font-family:inherit;font-size:14px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;box-shadow:none}
.ka-w503-heim__modi>*:hover{border-color:rgba(216,172,92,.55);color:#EBC57C}
.ka-w503-heim__modi [aria-pressed="true"]{border-color:rgba(216,172,92,.55);background:rgba(216,172,92,.16);color:#EBC57C;font-weight:700}
.ka-w503-heim__modi>*:focus-visible{outline:2px solid #5DC9D6;outline-offset:2px}
@media (max-width:860px){
  .ka-w467.ka-w503-mit{grid-template-columns:1fr}
  .ka-w467.ka-w503-mit>:not(.ka-w503-heim){grid-column:1}
  .ka-w503-heim{grid-row:auto}
  .ka-w503-heim__buehne{width:260px}
  .ka-w503-heim__bahn{inset:14px}
}

/* W505 · Kapsel tritt zurueck, solange der Hero-Buddy sichtbar ist */
.ka-w502.is-zurueck{opacity:0;pointer-events:none;transform:translate(-50%,24px)}
.ka-w504__wer .ka-w505-pk{display:inline-flex;margin-top:3px}
.ka-w504__wer .ka-w505-pk[hidden]{display:none}

/* ===== W509 · Grosser Kopf unten rechts, Sprechblase, frei verschiebbar ===== */
html body .ka-w502.ka-w509{left:auto;right:max(18px,env(safe-area-inset-right));bottom:calc(max(18px,env(safe-area-inset-bottom) + 6px) + var(--signal-guide-cookie-offset,0px));
  width:132px;height:132px;max-width:none;padding:0;gap:0;display:block;border:0;border-radius:0;background:transparent;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none;transform:none;cursor:grab;touch-action:none;overflow:visible;
  transition:opacity .4s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
html body .ka-w502.ka-w509:hover{transform:translateY(-3px);box-shadow:none;border:0}
html body .ka-w502.ka-w509.wird-gezogen{cursor:grabbing;transition:none;transform:scale(1.04)}
html body .ka-w502.ka-w509.is-start{opacity:0;transform:translateY(30px)}
html body .ka-w502.ka-w509.is-zurueck,body.wave23d-companion-open .ka-w502.ka-w509{opacity:0;pointer-events:none;transform:translateY(30px)}
html body .ka-w502.ka-w509:focus-visible{outline:none}
html body .ka-w502.ka-w509:focus-visible .kb__body{outline:2px solid #e6c878;outline-offset:4px}
.ka-w509 .ka-w502__bot{position:absolute;inset:0;width:132px;height:132px;flex:none}
.ka-w509 .ka-w502__bot .kb{position:absolute;left:0;top:0;filter:drop-shadow(0 14px 26px rgba(0,0,0,.55))}
.ka-w509 .ka-w502__bot::after{left:18px;right:18px;bottom:2px;height:16px}
.ka-w509.is-puls .ka-w502__bot .kb{filter:drop-shadow(0 14px 26px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(226,184,102,.45))}
.ka-w509 .ka-w502__punkt{display:none}
/* Sprechblase */
.ka-w509 .ka-w502__text{position:absolute;right:calc(100% + 4px);bottom:58px;width:max-content;max-width:min(320px,calc(100vw - 170px));
  padding:12px 16px 13px;border-radius:18px 18px 4px 18px;border:1px solid rgba(201,168,76,.38);
  background:linear-gradient(180deg,rgba(16,27,45,.94),rgba(5,11,21,.96));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:0 18px 44px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.06) inset;text-align:left;cursor:pointer;
  opacity:0;transform:translateX(10px) scale(.96);transform-origin:100% 100%;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.ka-w509.is-blase .ka-w502__text{opacity:1;transform:none;pointer-events:auto}
.ka-w509 .ka-w502__text::after{content:"";position:absolute;right:-7px;bottom:12px;width:12px;height:12px;background:#08111d;border-right:1px solid rgba(201,168,76,.38);border-bottom:1px solid rgba(201,168,76,.38);transform:rotate(-45deg)}
.ka-w509.blase-rechts .ka-w502__text{right:auto;left:calc(100% + 4px);border-radius:18px 18px 18px 4px;transform-origin:0 100%}
.ka-w509.blase-rechts .ka-w502__text::after{right:auto;left:-7px;transform:rotate(135deg)}
.ka-w509.blase-unten .ka-w502__text{bottom:auto;top:62px}
.ka-w509 .ka-w502__satz{white-space:normal;max-width:none;font-size:15.5px;line-height:1.35}
.ka-w509 .ka-w502__kopf{margin-bottom:5px;flex-wrap:wrap}
@media (max-width:640px){
  html body .ka-w502.ka-w509{width:104px;height:104px;right:10px;padding:0;background:transparent!important;border-color:transparent!important;box-shadow:none!important;height:104px}
  .ka-w509 .ka-w502__bot{width:104px;height:104px}
  .ka-w509 .ka-w502__bot .kb{transform:scale(.79);transform-origin:0 0;top:0}
  .ka-w509 .ka-w502__text{bottom:76px;right:12px;max-width:calc(100vw - 40px);border-radius:18px 18px 4px 18px}
  .ka-w509 .ka-w502__text::after{right:22px;bottom:-7px;transform:rotate(45deg)}
  .ka-w509.blase-rechts .ka-w502__text{left:12px;right:auto}
  .ka-w509.blase-rechts .ka-w502__text::after{left:22px;right:auto;transform:rotate(45deg)}
  .ka-w509.blase-unten .ka-w502__text{top:96px;bottom:auto}
  .ka-w509 .ka-w502__satz{font-size:14.5px}
}
@media (prefers-reduced-motion:reduce){html body .ka-w502.ka-w509,.ka-w509 .ka-w502__text{transition:none}}
html body button.ka-w502.ka-w509,html body button.ka-w502.ka-w509:hover,html body button.ka-w502.ka-w509:focus,html body button.ka-w502.ka-w509:active{outline:none!important;box-shadow:none!important;border:0!important;background:transparent!important}
