/* Knuddel Chat – Stylesheet (Neue Medien Becker) */
.krchat{--kc-navy:#0B1B3A;--kc-blue:#1E4B8F;--kc-gold:#D4A94A;--kc-cream:#FBF7F0;--kc-sand:#F1EADF;--kc-text:#22304A;--kc-muted:#5B6678;--kc-line:#E6DFD2;--krchat-height:560px;
	font-family:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:18px;line-height:1.5;color:var(--kc-text);
	background:#fff;border:1px solid var(--kc-line);border-radius:18px;box-shadow:0 12px 36px rgba(20,30,60,.12);overflow:hidden;position:relative}
.krchat--big{font-size:22px}
.krchat *,.krchat *::before,.krchat *::after{box-sizing:border-box}
.krchat [hidden]{display:none!important}
.krchat select.krchat__effect{width:auto;max-width:220px}
.krchat button{font-family:inherit;font-size:1em;cursor:pointer}
.krchat input,.krchat select{font-family:inherit;font-size:1em;color:var(--kc-text)}
.krchat p{margin:0 0 .6em}

/* Buttons */
.krchat__btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;background:var(--kc-blue);color:#fff;border:0;border-radius:999px;font-weight:800;padding:.6em 1.3em;line-height:1.2;box-shadow:0 6px 16px rgba(30,75,143,.25)}
.krchat__btn:hover{background:#153A70}
.krchat__btn:disabled{opacity:.6;cursor:wait}
.krchat__btn--big{font-size:1.2em;padding:.9em 2em;background:var(--kc-gold);color:var(--kc-navy)}
.krchat__btn--big:hover{background:#E6BE63}
.krchat__btn--danger{background:#B42318}
.krchat__btn--danger:hover{background:#8f1b12}
.krchat__tool{background:var(--kc-sand);color:var(--kc-text);border:0;border-radius:999px;padding:.35em .8em;font-size:.9em;font-weight:700;white-space:nowrap}
.krchat__tool:hover{background:#E6DCC9}
.krchat__tool--mod{background:#FDECEC;color:#8f1b12}
.krchat__tool--mod:hover{background:#F9D9D9}
.krchat__error{color:#B42318;font-weight:700;margin:.5em 0 0}
.krchat__small{font-size:.85em;color:var(--kc-muted);margin-top:1em}
.krchat__small a{color:var(--kc-blue)}

/* Beitreten / Gesperrt */
.krchat__join,.krchat__banned{min-height:var(--krchat-height);display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 400px at 70% 0%,#1E3F7C 0%,var(--kc-navy) 60%);padding:32px 20px}
.krchat__joinbox{background:#fff;border-radius:18px;padding:36px 32px;max-width:460px;width:100%;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.krchat__joinicon{font-size:3em;line-height:1;margin-bottom:.2em}
.krchat__jointitle{margin:0 0 .5em;font-size:1.5em;color:var(--kc-navy)}
.krchat__joinhint{color:var(--kc-muted);font-size:1em}
.krchat__label{display:block;font-weight:700;margin:.6em 0 .3em;text-align:left}
.krchat__nick{width:100%;font-size:1.15em;padding:.7em 1em;border:2px solid var(--kc-line);border-radius:12px;margin-bottom:1em}
.krchat__nick:focus{outline:none;border-color:var(--kc-blue)}

/* Raum */
.krchat__room{display:grid;grid-template-columns:1fr 240px;height:var(--krchat-height);min-height:420px}
.krchat--noside .krchat__room{grid-template-columns:1fr}
.krchat--noside .krchat__side{display:none}
.krchat__main{display:flex;flex-direction:column;min-width:0;position:relative}
.krchat__topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:5px 10px;background:var(--kc-navy);color:#fff}
.krchat__me{font-size:.85em}
.krchat__me strong{color:var(--kc-gold)}
.krchat__tools{display:flex;gap:4px;flex-wrap:wrap}
.krchat__topbar .krchat__tool{padding:.2em .6em;font-size:.78em}
.krchat__topbar .krchat__tool{background:rgba(255,255,255,.14);color:#fff}
.krchat__topbar .krchat__tool:hover{background:rgba(255,255,255,.26)}
.krchat__topbar .krchat__tool--mod{background:rgba(212,169,74,.3);color:#FFE9B0}

.krchat__messages{flex:1;overflow-y:auto;padding:14px 16px;background:var(--kc-cream);scroll-behavior:smooth}
.krchat__msg{margin:0 0 4px;padding:3px 6px;background:transparent;border:0;border-radius:6px;max-width:none;word-wrap:break-word;overflow-wrap:anywhere;animation:krchat-in .25s ease;line-height:1.5}
@keyframes krchat-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.krchat__msg--mine{background:transparent}
.krchat__msg--mod .krchat__name{color:#8a6a12}
.krchat__msg--mention .krchat__text{font-weight:800}
.krchat__msg--sys{background:transparent;border:0;color:var(--kc-muted);font-size:.9em;text-align:center;max-width:none;padding:2px 8px;font-style:italic}
.krchat__msg--welcome{background:transparent;font-style:normal;font-weight:700;color:var(--kc-text);padding:2px 8px}
.krchat__name{font-weight:800;color:var(--kc-blue)}
.krchat__time{font-size:.75em;color:var(--kc-muted);margin-right:2px}
.krchat__del{background:none;border:0;padding:0 4px;font-size:.9em;opacity:.5;margin-left:4px}
.krchat__del:hover{opacity:1}
.krchat__text{font-size:1.05em}
.krchat__text--emoji{font-size:2.2em;line-height:1.2;vertical-align:middle}
.krchat__msg .krchat__avatar{font-size:1.15em;margin-right:2px}
.krchat__newhint{position:absolute;left:50%;transform:translateX(-50%);bottom:150px;background:var(--kc-gold);color:var(--kc-navy);font-weight:800;padding:.4em 1em;border-radius:999px;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.25);z-index:2}

/* Effekte – „Blink Blink“ */
.krchat__fx--gross{font-size:1.5em;font-weight:800}
.krchat__fx--glitzer{font-weight:800;color:#9a7315!important;animation:krchat-shine 1.2s ease-in-out infinite;letter-spacing:.02em}
@keyframes krchat-shine{0%,100%{text-shadow:0 0 2px #fff,0 0 6px #FFE9A8,0 0 12px #FFD54F,1px 1px 0 #fff;color:#9a7315}50%{text-shadow:0 0 4px #fff,0 0 12px #FFF3C4,0 0 22px #FFB300,1px 1px 0 #fff;color:#E6A800}}
.krchat__fx--regenbogen{font-weight:800;animation:krchat-rainbow 2s linear infinite;text-shadow:0 0 3px #fff}
@keyframes krchat-rainbow{0%{color:#e6194b}16%{color:#f58231}33%{color:#d4a900}50%{color:#3cb44b}66%{color:#4363d8}83%{color:#911eb4}100%{color:#e6194b}}
.krchat__fx--wackeln{display:inline-block;animation:krchat-shake .4s ease-in-out infinite;font-weight:700}
@keyframes krchat-shake{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg) translateX(-2px)}75%{transform:rotate(3deg) translateX(2px)}}
.krchat__fx--huepfen{display:inline-block;animation:krchat-bounce .8s ease-in-out infinite;font-weight:700}
@keyframes krchat-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.krchat__fx--leuchten{font-weight:800;color:#0369a1!important;animation:krchat-glow 1s ease-in-out infinite alternate}
@keyframes krchat-glow{from{text-shadow:0 0 4px #7DD3FC,0 0 10px #38BDF8}to{text-shadow:0 0 10px #7DD3FC,0 0 24px #0EA5E9,0 0 36px #0EA5E9}}
.krchat__fx--herzen,.krchat__fx--konfetti,.krchat__fx--sterne{font-weight:800}
/* Flüstern, Durchsage, Avatar, Tippen */
.krchat__msg--priv{background:transparent;color:#5b3fb5}
.krchat__msg--privin{background:transparent;color:#5b3fb5;font-weight:700}
.krchat__privlabel{font-size:.8em;color:#6D4FC2;font-weight:800}
.krchat--whisper .krchat__input{border-color:#8B6FE0;background:#F7F4FF}
.krchat__to{display:inline-flex;align-items:center;gap:.4em;font-size:.9em;font-weight:700;color:var(--kc-muted)}
.krchat__to select{border:2px solid var(--kc-line);border-radius:999px;padding:.25em .7em;background:#fff;font-size:.95em;font-weight:700;max-width:220px;width:auto}
.krchat--whisper .krchat__to select{border-color:#8B6FE0;color:#6D4FC2}
.krchat__whisper{background:none;border:0;padding:0 2px;font-size:.85em;opacity:.55;flex:none}
.krchat__whisper:hover{opacity:1}
.krchat__msg--ann{background:transparent;border:0;padding:4px 6px;margin:4px 0}
.krchat__msg--ann .krchat__name{color:#8a6a12}
.krchat__msg--ann .krchat__text{font-size:1.25em;font-weight:800;color:#8a2a00;display:block;margin-top:1px;animation:krchat-ann 1.2s ease-in-out 3}
@keyframes krchat-ann{50%{color:#D4A94A}}
.krchat__avatar{font-size:1.3em;line-height:1;flex:none}
.krchat__typing{font-size:.85em;color:var(--kc-muted);font-style:italic;margin:0 0 6px;animation:krchat-blink-soft 1.2s ease-in-out infinite}
@keyframes krchat-blink-soft{50%{opacity:.5}}
.krchat__avatars{display:flex;flex-wrap:wrap;gap:4px;max-height:200px;overflow:auto;border:1px solid var(--kc-line);border-radius:12px;padding:6px}
.krchat__avatarbtn{background:none;border:2px solid transparent;border-radius:10px;font-size:1.7em;line-height:1;padding:5px;cursor:pointer}
.krchat__avatarbtn:hover{background:var(--kc-sand)}
.krchat__avatarbtn.is-active{border-color:var(--kc-gold);background:#FFF3C4}
/* Aktionsnachrichten (Spielereien) */
.krchat__msg--me{background:transparent;border:0;color:#8a2a4a;text-align:center;font-style:italic;font-size:1em}
.krchat__msg--me strong{font-style:normal}
/* Spielereien-Menü */
.krchat__fun{border:1px solid var(--kc-line);border-radius:12px;background:#fff;margin-bottom:8px;padding:8px;max-height:220px;overflow-y:auto;overscroll-behavior:contain}
.krchat__fungrid{display:flex;flex-wrap:wrap;gap:6px}
.krchat__funbtn{background:var(--kc-sand);border:0;border-radius:999px;padding:.45em .9em;font-size:.95em;font-weight:700;color:var(--kc-text)}
.krchat__funbtn:hover{background:var(--kc-gold);color:var(--kc-navy)}
/* Regen-Overlay */
.krchat__overlay{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}
.krchat__drop{position:absolute;top:-2em;animation:krchat-fall 4s linear forwards;will-change:transform}
@keyframes krchat-fall{0%{transform:translateY(0) rotate(0);opacity:1}90%{opacity:1}100%{transform:translateY(120vh) rotate(360deg);opacity:0}}
/* Fett / Kursiv / Unterstrichen */
.krchat__fmt--b{font-weight:800}
.krchat__fmt--i{font-style:italic}
.krchat__fmt--u{text-decoration:underline;text-underline-offset:3px}
.krchat__fmt{display:inline-flex;gap:3px}
.krchat__fmtbtn{width:28px;height:26px;border:2px solid var(--kc-line);border-radius:7px;background:#fff;font-size:.85em;color:var(--kc-text);padding:0}
.krchat__fmtbtn.is-active{border-color:var(--kc-gold);background:#FFF3C4}
.krchat__styles--2{padding-top:4px;border-top:1px dashed var(--kc-line)}
/* Szenen */
.krchat__scene{display:inline-block;font-size:2.6em;line-height:1.2;white-space:nowrap;vertical-align:middle;padding:.05em .15em}
.krchat__scene .krchat__ani{margin:0 .05em;transform-origin:50% 70%}
/* In Szenen: größere, schnellere Bewegungen */
.krchat__scene .krchat__ani--fly{animation:krchat-s-fly 1.1s ease-in-out infinite}
.krchat__scene .krchat__ani--fly2{animation:krchat-s-fly 1.1s ease-in-out infinite reverse}
@keyframes krchat-s-fly{0%{transform:translate(-22px,4px) rotate(-25deg)}50%{transform:translate(22px,-12px) rotate(25deg)}100%{transform:translate(-22px,4px) rotate(-25deg)}}
.krchat__scene .krchat__ani--shake{animation:krchat-s-shake .3s ease-in-out infinite}
@keyframes krchat-s-shake{0%,100%{transform:translate(-6px,2px) rotate(-14deg)}50%{transform:translate(6px,-2px) rotate(14deg)}}
.krchat__scene .krchat__ani--dance{animation:krchat-s-dance .6s ease-in-out infinite}
@keyframes krchat-s-dance{0%,100%{transform:translateY(0) rotate(-18deg) scale(1)}25%{transform:translateY(-10px) rotate(0) scale(1.1)}50%{transform:translateY(0) rotate(18deg) scale(1)}75%{transform:translateY(-10px) rotate(0) scale(1.1)}}
.krchat__scene .krchat__ani--jump{animation:krchat-s-jump .7s ease-in-out infinite}
@keyframes krchat-s-jump{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-18px) scale(1.15)}60%{transform:translateY(0) scale(.9,1.05)}}
.krchat__scene .krchat__ani--twinkle{animation:krchat-s-twinkle .8s ease-in-out infinite}
@keyframes krchat-s-twinkle{0%,100%{transform:scale(.8) rotate(0);opacity:.5}50%{transform:scale(1.6) rotate(25deg);opacity:1}}
.krchat__scene .krchat__ani--clink{animation:krchat-s-clink .9s ease-in-out infinite}
.krchat__scene .krchat__ani--clink2{animation:krchat-s-clink .9s ease-in-out .45s infinite}
@keyframes krchat-s-clink{0%,100%{transform:rotate(0) translateX(0)}30%{transform:rotate(-25deg) translateX(-8px)}60%{transform:rotate(20deg) translateX(8px) translateY(-6px)}}
.krchat__scene .krchat__ani--clap,.krchat__scene .krchat__ani--clap2{animation:krchat-s-clap .4s ease-in-out infinite}
.krchat__scene .krchat__ani--clap2{animation-delay:.2s}
@keyframes krchat-s-clap{0%,100%{transform:scale(1) rotate(-10deg)}50%{transform:scale(1.4) rotate(10deg)}}
.krchat__scene .krchat__ani--flutter,.krchat__scene .krchat__ani--flutter2{animation:krchat-s-flutter .6s ease-in-out infinite}
.krchat__scene .krchat__ani--flutter2{animation-delay:.3s}
@keyframes krchat-s-flutter{0%,100%{transform:scaleX(1) translate(0,0)}50%{transform:scaleX(.4) translate(10px,-14px)}}
.krchat__scene .krchat__ani--swim,.krchat__scene .krchat__ani--swim2{animation:krchat-s-swim 1.6s ease-in-out infinite}
.krchat__scene .krchat__ani--swim2{animation-delay:.8s}
@keyframes krchat-s-swim{0%,100%{transform:translateX(-14px) scaleX(1)}45%{transform:translateX(14px) scaleX(1)}50%{transform:translateX(14px) scaleX(-1)}95%{transform:translateX(-14px) scaleX(-1)}}
.krchat__scene .krchat__ani--float{animation:krchat-s-float 1.6s ease-in-out infinite}
@keyframes krchat-s-float{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-16px) rotate(12deg)}}
.krchat__scene .krchat__ani--sway{animation:krchat-s-sway 1.1s ease-in-out infinite}
@keyframes krchat-s-sway{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}
.krchat__scene .krchat__ani--wiggle{animation:krchat-s-wiggle .45s ease-in-out infinite}
@keyframes krchat-s-wiggle{0%,100%{transform:rotate(-15deg) translateY(0)}50%{transform:rotate(15deg) translateY(-4px)}}
.krchat__scene .krchat__ani--beat{animation:krchat-s-beat .8s ease-in-out infinite}
@keyframes krchat-s-beat{0%,100%{transform:scale(1)}25%{transform:scale(1.5)}40%{transform:scale(1)}55%{transform:scale(1.35)}}
.krchat__scene .krchat__ani--spin{animation:krchat-a-spin 1.6s linear infinite}
.krchat__scene .krchat__ani--flicker{animation:krchat-a-flicker .25s ease-in-out infinite alternate}
.krchat__scene .krchat__ani--steam{animation:krchat-s-steam 1.2s ease-in-out infinite}
@keyframes krchat-s-steam{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(6deg);filter:drop-shadow(0 -10px 6px rgba(220,220,220,.9))}}
.krchat__scene .krchat__ani--hug{animation:krchat-s-hug 1s ease-in-out infinite}
@keyframes krchat-s-hug{0%,100%{transform:scale(1) translateX(0)}50%{transform:scale(1.35) translateX(6px) rotate(-8deg)}}
.krchat__scene .krchat__ani--sleep{animation:krchat-s-sleep 2s ease-in-out infinite}
@keyframes krchat-s-sleep{0%,100%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(12deg) translateY(4px)}}
.krchat__scene .krchat__ani--squeeze{animation:krchat-s-squeeze .6s ease-in-out infinite}
@keyframes krchat-s-squeeze{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.55) translateY(-4px)}}
.krchat__scene .krchat__ani--hue{animation:krchat-a-hue 1.5s linear infinite}
.krchat__ani--fly2{animation:krchat-a-fly 1.6s ease-in-out infinite reverse}
.krchat__ani--flutter2{animation:krchat-a-flutter .9s ease-in-out .3s infinite}
.krchat__ani--swim2{animation:krchat-a-swim 2.4s ease-in-out .8s infinite}
.krchat__ani--clink2{animation:krchat-a-clink 1.2s ease-in-out .6s infinite}
.krchat__ani--clap2{animation:krchat-a-clap .5s ease-in-out .25s infinite}
.krchat__ani--shake{animation:krchat-a-shake .35s ease-in-out infinite}
@keyframes krchat-a-shake{0%,100%{transform:translateX(-3px) rotate(-6deg)}50%{transform:translateX(3px) rotate(6deg)}}
.krchat__emojigrid--scene{gap:6px}
.krchat__emoji--scene{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--kc-line);border-radius:10px;padding:6px 8px;font-size:1em}
.krchat__emoji--scene .krchat__scene{font-size:1.7em}
.krchat__emoji--scene small{font-size:.75em;color:var(--kc-muted);font-weight:700}
.krchat__text--emoji .krchat__scene{font-size:1.4em}
/* Animierte Smileys */
.krchat__ani{display:inline-block;line-height:1;transform-origin:50% 80%;font-size:1.35em;vertical-align:middle}
.krchat__ani--dance{animation:krchat-a-dance .8s ease-in-out infinite}
@keyframes krchat-a-dance{0%,100%{transform:rotate(-12deg) translateX(-2px)}50%{transform:rotate(12deg) translateX(2px)}}
.krchat__ani--beat{animation:krchat-a-beat 1s ease-in-out infinite}
@keyframes krchat-a-beat{0%,100%{transform:scale(1)}25%{transform:scale(1.3)}40%{transform:scale(1)}55%{transform:scale(1.2)}}
.krchat__ani--wave{transform-origin:70% 80%;animation:krchat-a-wave 1s ease-in-out infinite}
@keyframes krchat-a-wave{0%,100%{transform:rotate(0)}30%{transform:rotate(20deg)}60%{transform:rotate(-12deg)}}
.krchat__ani--wiggle{animation:krchat-a-wiggle .6s ease-in-out infinite}
@keyframes krchat-a-wiggle{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.krchat__ani--jump{animation:krchat-a-jump .9s ease-in-out infinite}
@keyframes krchat-a-jump{0%,100%{transform:translateY(0)}40%{transform:translateY(-9px) scale(1.1)}60%{transform:translateY(0) scale(.95)}}
.krchat__ani--twinkle{animation:krchat-a-twinkle 1.2s ease-in-out infinite}
@keyframes krchat-a-twinkle{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.35) rotate(15deg);opacity:.6}}
.krchat__ani--float{animation:krchat-a-float 2.2s ease-in-out infinite}
@keyframes krchat-a-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}
.krchat__ani--fly{animation:krchat-a-fly 1.6s ease-in-out infinite}
@keyframes krchat-a-fly{0%,100%{transform:translate(0,0) rotate(-5deg)}25%{transform:translate(6px,-6px) rotate(5deg)}50%{transform:translate(0,-10px) rotate(-5deg)}75%{transform:translate(-6px,-4px) rotate(5deg)}}
.krchat__ani--flutter{animation:krchat-a-flutter .7s ease-in-out infinite}
@keyframes krchat-a-flutter{0%,100%{transform:scaleX(1) translateY(0)}50%{transform:scaleX(.55) translateY(-5px)}}
.krchat__ani--swim{animation:krchat-a-swim 2s ease-in-out infinite}
@keyframes krchat-a-swim{0%,100%{transform:translateX(0) scaleX(1)}45%{transform:translateX(10px) scaleX(1)}50%{transform:translateX(10px) scaleX(-1)}95%{transform:translateX(0) scaleX(-1)}}
.krchat__ani--spin{animation:krchat-a-spin 3s linear infinite}
@keyframes krchat-a-spin{to{transform:rotate(360deg)}}
.krchat__ani--sway{transform-origin:50% 100%;animation:krchat-a-sway 1.6s ease-in-out infinite}
@keyframes krchat-a-sway{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}
.krchat__ani--clap{animation:krchat-a-clap .5s ease-in-out infinite}
@keyframes krchat-a-clap{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
.krchat__ani--clink{animation:krchat-a-clink 1.2s ease-in-out infinite}
@keyframes krchat-a-clink{0%,100%{transform:rotate(0)}20%{transform:rotate(-15deg)}40%{transform:rotate(12deg) translateY(-3px)}60%{transform:rotate(-6deg)}}
.krchat__ani--steam{animation:krchat-a-steam 1.8s ease-in-out infinite}
@keyframes krchat-a-steam{0%,100%{transform:translateY(0);filter:none}50%{transform:translateY(-3px);filter:drop-shadow(0 -6px 4px rgba(200,200,200,.8))}}
.krchat__ani--flicker{animation:krchat-a-flicker .4s ease-in-out infinite alternate}
@keyframes krchat-a-flicker{from{transform:scale(1) rotate(-3deg);filter:brightness(1)}to{transform:scale(1.15) rotate(3deg);filter:brightness(1.3)}}
.krchat__ani--hue{animation:krchat-a-hue 3s linear infinite}
@keyframes krchat-a-hue{to{filter:hue-rotate(360deg)}}
.krchat__ani--kiss{animation:krchat-a-kiss 1.4s ease-in-out infinite}
@keyframes krchat-a-kiss{0%,100%{transform:translateX(0) scale(1)}50%{transform:translateX(6px) scale(1.15)}}
.krchat__ani--hug{animation:krchat-a-hug 1.6s ease-in-out infinite}
@keyframes krchat-a-hug{0%,100%{transform:scale(1)}50%{transform:scale(1.2) rotate(-5deg)}}
.krchat__ani--sleep{animation:krchat-a-sleep 3s ease-in-out infinite}
@keyframes krchat-a-sleep{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(2px)}}
.krchat__ani--squeeze{animation:krchat-a-squeeze .8s ease-in-out infinite}
@keyframes krchat-a-squeeze{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.7)}}
.krchat__text--emoji .krchat__ani{font-size:1.15em}
.krchat__emojigrid[data-grid="__ani"] .krchat__emoji{font-size:1.9em}
/* Eigene Bilder */
.krchat--bg-image .krchat__messages{background-size:cover;background-position:center;background-attachment:scroll}
.krchat--bg-image .krchat__msg--sys{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);font-weight:700}
.krchat--bg-image .krchat__messages{background-image:linear-gradient(rgba(255,255,255,.62),rgba(255,255,255,.62)),var(--krchat-bg-img)!important;background-size:cover,cover;background-position:center,center}
.krchat--bg-image .krchat__msg{text-shadow:0 0 3px #fff,0 0 6px #fff}
.krchat--bg-image .krchat__msg--sys{color:#22304A}
.krchat--bg-image .krchat__msg--welcome{background:transparent}
.krchat--bg-image .krchat__newhint{box-shadow:0 6px 16px rgba(0,0,0,.45)}
.krchat__themesec{border:1px solid var(--kc-line);border-radius:12px;padding:12px 14px;margin:0 0 12px;background:#FCFAF6}
.krchat__themesec h4{margin:0 0 6px;font-size:1.05em;color:var(--kc-navy)}
.krchat__bggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.krchat__bgcard{border:2px solid var(--kc-line);border-radius:12px;overflow:hidden;background:#fff}
.krchat__bgcard.is-active{border-color:var(--kc-gold);box-shadow:0 0 0 2px #FFE9B0}
.krchat__bgpick{display:block;width:100%;height:100px;border:0;background:#ddd center/cover no-repeat;cursor:pointer;position:relative;padding:0}
.krchat__bgbadge{position:absolute;left:6px;top:6px;background:var(--kc-gold);color:var(--kc-navy);font-weight:800;font-size:.75em;padding:.15em .5em;border-radius:999px}
.krchat__bgrow{display:flex;justify-content:space-between;gap:4px;padding:6px}
.krchat__bgrow .krchat__tool{font-size:.8em;padding:.3em .6em}
/* Hintergründe (Moderatoren) */
.krchat--bg-himmel .krchat__messages{background:linear-gradient(180deg,#dbeafe,#eff6ff)}
.krchat--bg-rosa .krchat__messages{background:linear-gradient(180deg,#fce7f3,#fff1f2)}
.krchat--bg-wiese .krchat__messages{background:linear-gradient(180deg,#bbf7d0 0%,#ecfccb 60%,#fef9c3 100%)}
.krchat--bg-sonne .krchat__messages{background:linear-gradient(180deg,#fde68a,#fca5a5 50%,#c4b5fd)}
.krchat--bg-gold .krchat__messages{background:linear-gradient(135deg,#fff7d6,#f3d27a 50%,#fff1bf)}
.krchat--bg-nacht .krchat__messages{background:radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 70% 20%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 40% 70%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 85% 60%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 10% 85%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 55% 45%,#fff 50%,transparent 51%),linear-gradient(180deg,#0B1B3A,#1E3F7C);background-size:180px 180px,220px 220px,160px 160px,240px 240px,200px 200px,190px 190px,100% 100%}
.krchat--bg-nacht .krchat__msg,.krchat--bg-nacht .krchat__msg--sys,.krchat--bg-nacht .krchat__name,.krchat--bg-nacht .krchat__time{color:#EEF2FA}
.krchat--bg-nacht .krchat__msg--welcome{background:rgba(255,255,255,.12)}
.krchat--bg-herzen .krchat__messages{background:linear-gradient(rgba(255,241,242,.85),rgba(255,241,242,.85)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Ctext x='10' y='40' font-size='28'%3E%F0%9F%92%95%3C/text%3E%3Ctext x='65' y='95' font-size='22'%3E%E2%9D%A4%EF%B8%8F%3C/text%3E%3C/svg%3E");background-color:#fff1f2}
.krchat--bg-noten .krchat__messages{background:linear-gradient(rgba(251,247,240,.85),rgba(251,247,240,.85)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Ctext x='12' y='45' font-size='30'%3E%F0%9F%8E%B5%3C/text%3E%3Ctext x='80' y='110' font-size='26'%3E%F0%9F%8E%B6%3C/text%3E%3C/svg%3E");background-color:#fbf7f0}
.krchat--bg-blumen .krchat__messages{background:linear-gradient(rgba(240,253,244,.82),rgba(240,253,244,.82)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Ctext x='10' y='45' font-size='30'%3E%F0%9F%8C%B7%3C/text%3E%3Ctext x='85' y='110' font-size='28'%3E%F0%9F%8C%BB%3C/text%3E%3Ctext x='95' y='40' font-size='22'%3E%F0%9F%8C%B9%3C/text%3E%3C/svg%3E");background-color:#f0fdf4}
.krchat--bg-karneval .krchat__messages{background:radial-gradient(circle at 10% 20%,#e6194b 0 6px,transparent 7px),radial-gradient(circle at 60% 40%,#4363d8 0 6px,transparent 7px),radial-gradient(circle at 30% 80%,#ffe119 0 6px,transparent 7px),radial-gradient(circle at 85% 75%,#3cb44b 0 6px,transparent 7px),radial-gradient(circle at 80% 15%,#f58231 0 5px,transparent 6px),radial-gradient(circle at 45% 60%,#911eb4 0 5px,transparent 6px),#fffdf5;background-size:160px 160px,200px 200px,180px 180px,220px 220px,170px 170px,210px 210px,100% 100%}
.krchat--bg-ostern .krchat__messages{background:linear-gradient(rgba(254,252,232,.8),rgba(254,252,232,.8)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Ctext x='10' y='45' font-size='30'%3E%F0%9F%90%A3%3C/text%3E%3Ctext x='85' y='110' font-size='28'%3E%F0%9F%A5%9A%3C/text%3E%3Ctext x='95' y='40' font-size='24'%3E%F0%9F%90%B0%3C/text%3E%3C/svg%3E");background-color:#fefce8}
.krchat--bg-weihnachten .krchat__messages{background:linear-gradient(rgba(6,60,40,.88),rgba(6,60,40,.88)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Ctext x='10' y='45' font-size='30'%3E%F0%9F%8E%84%3C/text%3E%3Ctext x='85' y='110' font-size='26'%3E%E2%9D%84%EF%B8%8F%3C/text%3E%3Ctext x='95' y='40' font-size='22'%3E%E2%AD%90%3C/text%3E%3C/svg%3E");background-color:#063c28}
.krchat--bg-weihnachten .krchat__msg,.krchat--bg-weihnachten .krchat__msg--sys,.krchat--bg-weihnachten .krchat__name,.krchat--bg-weihnachten .krchat__time{color:#EEF7F0}
.krchat--bg-weihnachten .krchat__msg--welcome{background:rgba(255,255,255,.12)}
.krchat--bg-silvester .krchat__messages{background:linear-gradient(rgba(20,20,40,.85),rgba(20,20,40,.85)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Ctext x='10' y='50' font-size='34'%3E%F0%9F%8E%86%3C/text%3E%3Ctext x='90' y='120' font-size='28'%3E%F0%9F%A5%82%3C/text%3E%3C/svg%3E");background-color:#141428}
.krchat--bg-silvester .krchat__msg,.krchat--bg-silvester .krchat__msg--sys,.krchat--bg-silvester .krchat__name,.krchat--bg-silvester .krchat__time{color:#EEF0F6}
.krchat--bg-silvester .krchat__msg--welcome{background:rgba(255,255,255,.12)}
.krchat__themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.krchat__themebtn{border:2px solid var(--kc-line);border-radius:12px;background:#fff;padding:6px;font-size:.85em;font-weight:700;display:flex;flex-direction:column;gap:6px;align-items:stretch;color:var(--kc-text)}
.krchat__themebtn.is-active{border-color:var(--kc-gold);box-shadow:0 0 0 2px #FFE9B0}
.krchat__themebtn .krchat__themeprev{display:block;height:40px;border-radius:8px;background:var(--kc-cream)}
.krchat__themebtn.krchat--bg-himmel .krchat__themeprev{background:linear-gradient(180deg,#dbeafe,#eff6ff)}
.krchat__themebtn.krchat--bg-rosa .krchat__themeprev{background:linear-gradient(180deg,#fce7f3,#fff1f2)}
.krchat__themebtn.krchat--bg-wiese .krchat__themeprev{background:linear-gradient(180deg,#bbf7d0,#fef9c3)}
.krchat__themebtn.krchat--bg-sonne .krchat__themeprev{background:linear-gradient(180deg,#fde68a,#fca5a5,#c4b5fd)}
.krchat__themebtn.krchat--bg-gold .krchat__themeprev{background:linear-gradient(135deg,#fff7d6,#f3d27a,#fff1bf)}
.krchat__themebtn.krchat--bg-nacht .krchat__themeprev{background:linear-gradient(180deg,#0B1B3A,#1E3F7C)}
.krchat__themebtn.krchat--bg-herzen .krchat__themeprev{background:#fce7f3}
.krchat__themebtn.krchat--bg-noten .krchat__themeprev{background:#fbf7f0}
.krchat__themebtn.krchat--bg-blumen .krchat__themeprev{background:#dcfce7}
.krchat__themebtn.krchat--bg-karneval .krchat__themeprev{background:radial-gradient(circle at 20% 30%,#e6194b 0 5px,transparent 6px),radial-gradient(circle at 70% 60%,#4363d8 0 5px,transparent 6px),radial-gradient(circle at 45% 75%,#ffe119 0 5px,transparent 6px),#fffdf5}
.krchat__themebtn.krchat--bg-ostern .krchat__themeprev{background:#fef9c3}
.krchat__themebtn.krchat--bg-weihnachten .krchat__themeprev{background:#063c28}
.krchat__themebtn.krchat--bg-silvester .krchat__themeprev{background:#141428}
.krchat__fx--blinken{font-weight:800;animation:krchat-blink .8s steps(2,start) infinite;color:#B42318}
@keyframes krchat-blink{to{visibility:hidden}}


/* Eingabe */
.krchat__composer{border-top:1px solid var(--kc-line);background:#fff;padding:6px 10px 8px;flex:none;max-height:60%;overflow-y:auto}
.krchat__styles{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:5px}
.krchat__styles .krchat__tool{padding:.25em .65em;font-size:.82em}
.krchat__to{font-size:.82em}
.krchat__to select{padding:.15em .5em;font-size:.9em}
.krchat__colors{display:inline-flex;gap:5px;align-items:center}
.krchat__color{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--kc-line);padding:0;color:#fff;font-weight:800;font-size:.8em;line-height:1}
.krchat__color.is-active{box-shadow:0 0 0 3px var(--kc-gold)}
.krchat__effect{border:2px solid var(--kc-line);border-radius:999px;padding:.2em .6em;background:#fff;font-size:.82em;font-weight:700}
.krchat__form{display:flex;gap:8px}
.krchat__input{flex:1;min-width:0;font-size:1.05em;padding:.5em .9em;border:2px solid var(--kc-line);border-radius:12px;background:#fff}
.krchat__input:focus{outline:none;border-color:var(--kc-blue)}
.krchat__emojis{border:1px solid var(--kc-line);border-radius:12px;background:#fff;margin-bottom:8px;max-height:220px;overflow-y:auto;overscroll-behavior:contain}
.krchat__emojitabs{display:flex;gap:4px;flex-wrap:wrap;padding:6px;border-bottom:1px solid var(--kc-line);position:sticky;top:0;background:#fff}
.krchat__emojitab{background:var(--kc-sand);border:0;border-radius:999px;padding:.25em .7em;font-size:.85em;font-weight:700}
.krchat__emojitab.is-active{background:var(--kc-navy);color:#fff}
.krchat__emojigrid{display:flex;flex-wrap:wrap;gap:2px;padding:6px}
.krchat__emoji{background:none;border:0;font-size:1.7em;line-height:1;padding:6px;border-radius:8px}
.krchat__emoji:hover{background:var(--kc-sand)}

/* Scrollbalken immer sichtbar und groß genug */
.krchat__messages,.krchat__emojis,.krchat__fun,.krchat__online,.krchat__modalbox,.krchat__composer{scrollbar-width:auto;scrollbar-color:#B8902F #F1EADF}
.krchat__messages::-webkit-scrollbar,.krchat__emojis::-webkit-scrollbar,.krchat__fun::-webkit-scrollbar,.krchat__online::-webkit-scrollbar,.krchat__modalbox::-webkit-scrollbar,.krchat__composer::-webkit-scrollbar{width:14px}
.krchat__messages::-webkit-scrollbar-track,.krchat__emojis::-webkit-scrollbar-track,.krchat__fun::-webkit-scrollbar-track,.krchat__online::-webkit-scrollbar-track,.krchat__modalbox::-webkit-scrollbar-track,.krchat__composer::-webkit-scrollbar-track{background:#F1EADF}
.krchat__messages::-webkit-scrollbar-thumb,.krchat__emojis::-webkit-scrollbar-thumb,.krchat__fun::-webkit-scrollbar-thumb,.krchat__online::-webkit-scrollbar-thumb,.krchat__modalbox::-webkit-scrollbar-thumb,.krchat__composer::-webkit-scrollbar-thumb{background:#B8902F;border-radius:8px;border:3px solid #F1EADF}
/* Seitenleiste */
.krchat__side{border-left:1px solid var(--kc-line);background:#fff;display:flex;flex-direction:column;min-height:0}
.krchat__sidetitle{margin:0;padding:7px 12px;font-size:.85em;text-transform:uppercase;letter-spacing:.06em;color:var(--kc-muted);border-bottom:1px solid var(--kc-line)}
.krchat__online{list-style:none;margin:0;padding:8px 10px;overflow-y:auto;flex:1}
.krchat__online li{display:flex;align-items:center;gap:6px;padding:6px 4px;border-radius:8px;font-size:.92em}
.krchat__online li.is-mod .krchat__oname{color:#8a6a12;font-weight:800}
.krchat__online li.is-me{background:var(--kc-cream)}
.krchat__dot{width:10px;height:10px;border-radius:50%;background:#22B14C;flex:none}
.krchat__oname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.krchat__oname:hover{text-decoration:underline}
.krchat__kick{background:#FDECEC;color:#8f1b12;border:0;border-radius:999px;padding:.15em .5em;font-size:.72em;font-weight:800;flex:none}
.krchat__kick:hover{background:#B42318;color:#fff}

/* Dialog */
.krchat__modal{position:absolute;inset:0;background:rgba(11,27,58,.6);display:flex;align-items:center;justify-content:center;padding:20px;z-index:5}
.krchat__modalbox{background:#fff;border-radius:16px;padding:24px;max-width:520px;width:100%;box-shadow:0 18px 50px rgba(0,0,0,.35);max-height:90%;overflow:auto}
.krchat__modalbox h3{margin:0 0 .5em;color:var(--kc-navy)}
.krchat__choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.krchat__banlist{list-style:none;padding:0;margin:0 0 1em}
.krchat__banlist li{padding:8px 0;border-bottom:1px solid var(--kc-line);font-size:.95em}

/* Mobil */
@media (max-width:760px){
	.krchat{font-size:17px;border-radius:12px}
	.krchat--big{font-size:20px}
	.krchat__room{grid-template-columns:1fr;height:auto;min-height:0}
	.krchat__messages{height:52vh;min-height:300px}
	.krchat__side{border-left:0;border-top:1px solid var(--kc-line);max-height:160px}
	.krchat__online{display:flex;flex-wrap:wrap;gap:4px}
	.krchat__online li{padding:4px 8px;background:var(--kc-cream);border-radius:999px}
	.krchat__newhint{bottom:140px}
	.krchat__topbar{padding:8px 10px}
	.krchat__me{display:none}
}
