/* Küstenbeast logo component. All selectors are scoped. */
.kb-logo-widget{--kb-accent:var(--neon-cyan,#00e5ff);--kb-size:460px;position:relative;display:grid;justify-items:center;isolation:isolate;color:#fff;font-family:var(--font-inter,Arial,sans-serif);padding:10px 10px 20px;box-sizing:border-box;max-width:100%}
.kb-logo-widget *{box-sizing:border-box}
.kb-logo-stage{position:relative;width:min(var(--kb-size),68vw);aspect-ratio:1753/1720;display:grid;place-items:center;perspective:950px}
.kb-logo-aura{position:absolute;inset:-10%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,212,232,.15),rgba(0,212,232,.04) 48%,transparent 70%);pointer-events:none;transition:opacity .3s;opacity:.6}
.kb-logo-widget:has(.kb-logo-button:hover) .kb-logo-aura{opacity:1}
.kb-logo-shadow{position:absolute;bottom:-27px;width:59%;height:20px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,212,232,.22),transparent 70%);pointer-events:none}
.kb-logo-button{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:none;color:inherit;cursor:pointer;outline-offset:16px;border-radius:50%;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.kb-logo-button:focus-visible{outline:2px solid var(--kb-accent)}
.kb-logo-motion,.kb-logo-tilt{display:block;width:100%;height:100%;transform-origin:50% 55%}
.kb-logo-tilt{transform:rotateX(var(--kb-rx,0deg)) rotateY(var(--kb-ry,0deg));transition:transform .2s ease-out;filter:drop-shadow(0 0 7px rgba(0,212,232,.12))}
.kb-logo-button:hover .kb-logo-tilt,.kb-logo-button:focus-visible .kb-logo-tilt{filter:drop-shadow(0 0 18px rgba(0,212,232,.32))}
.kb-logo-art{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.kb-logo-motion[data-action="spin"]{animation:kb-logo-spin .88s cubic-bezier(.24,.7,.24,1) both}
.kb-logo-motion[data-action="bounce"]{animation:kb-logo-bounce 1.65s ease-in-out both}
.kb-logo-motion[data-action="wiggle"]{animation:kb-logo-wiggle 1.05s ease-in-out both}
.kb-logo-motion[data-action="power"]{animation:kb-logo-power 1.25s cubic-bezier(.2,.7,.3,1) both}
@keyframes kb-logo-spin{0%{transform:rotate(0) scale(1)}12%{transform:rotate(-14deg) scale(.96)}74%{transform:rotate(365deg) scale(1.02)}100%{transform:rotate(360deg) scale(1)}}
@keyframes kb-logo-bounce{0%,100%{transform:translateY(0) scale(1)}9%{transform:translateY(5px) scale(1.045,.94)}24%{transform:translateY(-46px) scale(.97,1.03)}38%{transform:translateY(2px) scale(1.035,.96)}54%{transform:translateY(-29px) scale(.98,1.02)}68%{transform:translateY(1px) scale(1.02,.98)}81%{transform:translateY(-13px)}94%{transform:translateY(0)}}
@keyframes kb-logo-wiggle{0%,100%{transform:rotate(0)}16%{transform:rotate(-10deg)}35%{transform:rotate(9deg)}53%{transform:rotate(-6deg)}72%{transform:rotate(4deg)}87%{transform:rotate(-2deg)}}
@keyframes kb-logo-power{0%,100%{transform:scale(1) rotate(0);filter:drop-shadow(0 0 0 rgba(0,212,232,0))}25%{transform:scale(.94) rotate(-4deg)}58%{transform:scale(1.09) rotate(3deg);filter:drop-shadow(0 0 24px rgba(0,212,232,.45))}80%{transform:scale(.99) rotate(-1deg)}}
@media(max-width:600px){.kb-logo-widget{padding:10px 10px 16px}}
@media(prefers-reduced-motion:reduce){.kb-logo-widget *{animation:none!important;transition:none!important}.kb-logo-tilt{transform:none!important}.kb-logo-toggle{display:none}}
