/* Nivo – RoderStudio Assistent: eigenständige, statische Oberfläche */
.nivo-widget{position:fixed;right:clamp(16px,2.2vw,32px);bottom:clamp(16px,2.2vw,30px);z-index:12000;--nivo-blue:#3b82f6;--nivo-ink:#f6f9ff;font-family:'Plus Jakarta Sans','Inter',sans-serif;color:var(--nivo-ink);pointer-events:none}
.nivo-widget *{box-sizing:border-box}
.nivo-widget [hidden]{display:none!important}
.nivo-launcher,.nivo-panel{pointer-events:auto}
.nivo-launcher{position:relative;display:block;width:76px;height:76px;margin-left:auto;padding:0;border:0;background:transparent;filter:drop-shadow(0 14px 19px rgba(19,74,149,.35));cursor:pointer;transition:transform .28s ease,filter .28s ease;animation:nivo-launcher-in .48s cubic-bezier(.2,1.3,.4,1)}
.nivo-launcher:hover,.nivo-launcher:focus-visible{transform:translateY(-5px) scale(1.06);filter:drop-shadow(0 18px 23px rgba(45,115,213,.43))}
.nivo-widget.is-idle .nivo-launcher{transform:scale(1.12);filter:drop-shadow(0 18px 25px rgba(52,126,231,.48))}
.nivo-widget.is-idle .nivo-launcher:hover,.nivo-widget.is-idle .nivo-launcher:focus-visible{transform:translateY(-4px) scale(1.15)}
.nivo-launcher:focus-visible,.nivo-widget button:focus-visible,.nivo-widget a:focus-visible{outline:2px solid #347df0;outline-offset:3px}
.nivo-bubble-mark{display:block;width:100%;height:100%}
.nivo-bubble-dots,.nivo-bubble-smile{transition:opacity .22s ease,transform .25s ease;transform-origin:50% 50%}
.nivo-bubble-smile{opacity:0;transform:scale(.78)}
.nivo-launcher:hover .nivo-bubble-dots,.nivo-launcher:focus-visible .nivo-bubble-dots{opacity:0;transform:scale(.7)}
.nivo-launcher:hover .nivo-bubble-smile,.nivo-launcher:focus-visible .nivo-bubble-smile{opacity:1;transform:scale(1)}
.nivo-teaser{position:absolute;right:91px;bottom:8px;display:flex;flex-direction:column;gap:3px;width:258px;padding:17px 20px;border:1px solid rgba(132,184,255,.3);border-radius:17px;background:linear-gradient(145deg,#102746,#091a30);box-shadow:0 12px 28px rgba(2,10,25,.34),inset 0 1px 0 rgba(255,255,255,.08);opacity:0;visibility:hidden;transform:translateX(9px);transition:opacity .22s ease,transform .22s ease,visibility .22s;pointer-events:none}
.nivo-teaser strong{color:#f6f9ff;font-size:14px;font-weight:800;line-height:1.35}
.nivo-teaser span{color:#aebfda;font-size:12px;font-weight:550;line-height:1.4}
.nivo-launcher:hover+.nivo-teaser,.nivo-launcher:focus-visible+.nivo-teaser{opacity:1;visibility:visible;transform:translateX(0)}
.nivo-widget.is-idle .nivo-teaser{opacity:1;visibility:visible;transform:translateX(0)}
.nivo-widget.is-open .nivo-launcher{opacity:0;pointer-events:none}
.nivo-widget.is-open .nivo-teaser{display:none}
.nivo-panel{position:absolute;right:0;bottom:0;display:flex;flex-direction:column;width:min(410px,calc(100vw - 32px));height:min(640px,calc(100dvh - 42px));min-height:min(430px,calc(100dvh - 42px));overflow:hidden;border:1px solid rgba(124,177,250,.34);border-radius:24px;background:#081321;box-shadow:0 28px 78px rgba(0,5,18,.56),0 0 0 1px rgba(255,255,255,.03);animation:nivo-panel-in .32s cubic-bezier(.16,1,.3,1) both}
.nivo-header{position:relative;flex:none;min-height:168px;padding:20px 22px 24px;background:radial-gradient(ellipse 85% 130% at 88% 4%,rgba(59,130,246,.38),transparent 75%),linear-gradient(145deg,#0a1b31 0%,#0d294a 55%,#133b68 100%);color:#fff;overflow:hidden}
.nivo-header:after{content:'';position:absolute;right:-50px;top:-80px;width:235px;height:235px;border:1px solid rgba(123,178,255,.17);border-radius:50%;box-shadow:0 0 0 25px rgba(92,154,245,.035),0 0 0 58px rgba(92,154,245,.025);pointer-events:none}
.nivo-header-top{position:relative;z-index:1;display:flex;align-items:center;gap:12px}
.nivo-avatar{flex:none;display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(145,193,255,.46);border-radius:18px;background:linear-gradient(145deg,#21568f,#0a2340);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 6px 18px rgba(0,0,0,.16)}
.nivo-robot{display:block;width:56px;height:56px}
.nivo-heading{display:flex;flex-direction:column;gap:5px;min-width:0}
.nivo-eyebrow{color:#91bfff;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.nivo-heading strong{font-size:19px;font-weight:850;letter-spacing:-.035em;line-height:1.15}
.nivo-close{position:relative;z-index:2;flex:none;align-self:flex-start;display:grid;place-items:center;width:32px;height:32px;margin-left:auto;padding:0;border:1px solid rgba(159,199,255,.24);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:26px;font-weight:300;line-height:1;cursor:pointer;transition:background .2s ease}
.nivo-close:hover{background:rgba(100,164,255,.2)}
.nivo-header p{position:relative;z-index:1;max-width:290px;margin:19px 0 0;color:#fff;font-size:15px;font-weight:650;line-height:1.5}
.nivo-disclaimer{position:relative;z-index:1;display:block;margin-top:10px;color:#b7c9e1;font-size:10px;font-weight:500;line-height:1.3}
.nivo-log{position:relative;display:flex;flex:1;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 17px 22px;background:linear-gradient(180deg,#0d1b2e 0%,#081321 100%);scrollbar-width:thin;scrollbar-color:#476a9a transparent}
.nivo-message{max-width:92%;padding:12px 14px;border:1px solid rgba(146,189,247,.18);border-radius:16px 16px 16px 5px;background:rgba(157,196,246,.08);box-shadow:0 5px 20px rgba(0,0,0,.12);animation:nivo-message-in .26s ease both}
.nivo-message-user{align-self:flex-end;border-color:rgba(145,195,255,.37);border-radius:16px 16px 5px 16px;background:linear-gradient(145deg,#245b9d,#183e70);box-shadow:0 6px 18px rgba(4,22,50,.25)}
.nivo-message-label{display:block;margin-bottom:4px;color:#83b7ff;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.nivo-message-user .nivo-message-label{color:#c7e0ff}
.nivo-message p{margin:0;color:#edf5ff;font-size:12.5px;line-height:1.55;font-weight:550;overflow-wrap:anywhere;white-space:pre-line}
.nivo-message-user p{color:#fff}
.nivo-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.nivo-links a{display:inline-flex;align-items:center;min-height:29px;padding:6px 9px;border:1px solid rgba(129,181,249,.38);border-radius:8px;background:rgba(87,151,240,.13);color:#b6d8ff;text-decoration:none;font-size:10.5px;font-weight:750;line-height:1.2;transition:background .2s ease,border-color .2s ease}
.nivo-links a:hover{border-color:#8bb8f7;background:rgba(87,151,240,.25)}
.nivo-thinking{min-width:79px}
.nivo-thinking-dots{display:flex;align-items:center;gap:5px;height:22px}
.nivo-thinking-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#75adff;animation:nivo-dot-wave .9s ease-in-out infinite}
.nivo-thinking-dots i:nth-child(2){animation-delay:.13s}
.nivo-thinking-dots i:nth-child(3){animation-delay:.26s}
.nivo-suggestions{display:flex;flex:none;gap:7px;overflow-x:auto;padding:11px 15px 10px;border-top:1px solid rgba(146,188,242,.16);background:#0a1829;scrollbar-width:none}
.nivo-suggestions::-webkit-scrollbar{display:none}
.nivo-suggestions button{flex:none;max-width:185px;padding:8px 10px;border:1px solid rgba(133,181,245,.24);border-radius:999px;background:rgba(136,182,246,.08);color:#bad4f6;font-family:inherit;font-size:10.5px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.nivo-suggestions button:hover{border-color:#8bb8f7;background:rgba(88,150,240,.22);color:#fff}
.nivo-form{display:flex;flex:none;align-items:center;gap:8px;margin:0;padding:0 15px 16px;background:#0a1829}
.nivo-form input{flex:1;min-width:0;height:45px;padding:0 13px;border:1px solid rgba(141,182,237,.32);border-radius:12px;outline:0;background:#eaf2ff;color:#162b47;font-family:inherit;font-size:12px;font-weight:650;transition:border-color .2s ease,box-shadow .2s ease}
.nivo-form input::placeholder{color:#6f8299;font-weight:500}
.nivo-form input:focus,.nivo-form input:focus-visible{border-color:#3b82f6;outline:none;box-shadow:inset 0 0 0 1px #3b82f6}
.nivo-form button{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:#3b82f6;color:#fff;font-size:22px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.nivo-form button:hover{background:#246ad6;transform:translateY(-1px)}
.nivo-form button:disabled{opacity:.55;cursor:wait;transform:none}
.nivo-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes nivo-launcher-in{from{opacity:0;transform:translateY(14px) scale(.75)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes nivo-panel-in{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes nivo-message-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes nivo-dot-wave{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-6px);opacity:1}}
@media(max-width:560px){.nivo-widget{right:14px;bottom:max(14px,env(safe-area-inset-bottom))}.nivo-launcher{width:68px;height:68px}.nivo-teaser{right:79px;bottom:5px;width:min(240px,calc(100vw - 104px));padding:12px 14px}.nivo-teaser strong{font-size:12px}.nivo-teaser span{font-size:11px}.nivo-panel{width:calc(100vw - 28px);height:min(670px,calc(100dvh - 28px));min-height:0;border-radius:20px}.nivo-header{min-height:156px;padding:18px 17px 21px}.nivo-heading strong{font-size:17px}.nivo-header p{margin-top:16px;font-size:14px}.nivo-avatar{width:56px;height:56px}.nivo-robot{width:52px;height:52px}.nivo-log{padding:15px 14px 18px}.nivo-message{max-width:95%}}
@media(prefers-reduced-motion:reduce){.nivo-widget *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media(max-width:560px){
  body.nivo-open{overflow:hidden}
  .nivo-widget.is-open{position:fixed;inset:0;width:100vw;height:100dvh;background:#081321;pointer-events:auto}
  .nivo-widget.is-open .nivo-panel{position:fixed;top:var(--nivo-viewport-top,0px);right:0;bottom:auto;left:0;width:100vw;height:var(--nivo-visible-height,100dvh);min-height:0;max-height:none;border:0;border-radius:0;animation:none}
  .nivo-form input{font-size:16px}
}
