html body #othal247-app .othal247-avatar-hero{display:flex;justify-content:center;align-items:center;gap:8px;margin:0 auto 24px;max-width:768px}
html body #othal247-app .othal247-avatar-slot{width:280px;height:280px;flex:none;position:relative}
html body .othal247-avatar-face{display:block;position:relative;width:100%;height:100%;transform-origin:50% 58%;animation:o247-avatar-float 4.2s ease-in-out infinite;will-change:transform,opacity;transition:opacity .12s linear}
html body .othal247-avatar-reaction{display:block;position:relative;width:100%;height:100%;transform-origin:50% 90%}
html body .othal247-avatar-reaction>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.07));pointer-events:none;user-select:none;-webkit-user-drag:none}
html body .othal247-avatar-trigger{display:block;appearance:none;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;margin:0;width:100%;height:100%;cursor:pointer;overflow:visible;box-shadow:none!important}
html body .othal247-avatar-trigger:focus-visible{outline:2px solid var(--o247-ink,#111);outline-offset:4px;border-radius:24px!important}
html body .othal247-avatar-eye-art{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
html body .othal247-avatar-iris{transition:transform 85ms linear}
html body .othal247-avatar-mouth{opacity:0;transform:scaleY(.1);transform-origin:252px 241px;transition:opacity 100ms ease,transform 160ms cubic-bezier(.2,.8,.3,1)}
html body .othal247-avatar-face.is-friendly .othal247-avatar-mouth{opacity:1;transform:scaleY(1)}
html body .othal247-avatar-face:hover{animation-duration:2.35s}
@keyframes o247-avatar-float{0%,100%{transform:translate3d(0,0,0) rotate(-.35deg)}50%{transform:translate3d(0,-8px,0) rotate(.55deg)}}
html body #othal247-app .othal247-avatar-speech{position:relative;flex:1;min-width:0;max-width:480px;box-sizing:border-box;text-align:left;padding:24px 28px;border:1px solid var(--o247-rule,#d9d7d0);border-radius:28px;background:var(--o247-surface,#fff);color:var(--o247-ink,#11110f)}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
 html body #othal247-app .othal247-avatar-speech{transition:opacity 220ms ease}
 html body #othal247-app .othal247-avatar-hero.is-arrival-pending .othal247-avatar-speech{opacity:0;visibility:hidden;pointer-events:none}
}
html body #othal247-app .othal247-avatar-speech:before{content:"";position:absolute;width:18px;height:18px;left:-10px;top:50%;background:inherit;border-left:1px solid var(--o247-rule,#d9d7d0);border-bottom:1px solid var(--o247-rule,#d9d7d0);transform:translateY(-50%) rotate(45deg)}
html body #othal247-app #othal247-avatar-welcome,html body #othal247-app #othal247-avatar-welcome-text{padding:0!important;font-family:var(--o247-f-sans,inherit)!important;font-size:22px!important;font-weight:450!important;line-height:1.5!important;letter-spacing:0!important;color:inherit;white-space:pre-line;overflow-wrap:normal;text-wrap:pretty}
html body #othal247-app #othal247-avatar-welcome{margin:0!important}
html body #othal247-app #othal247-avatar-welcome-text{margin:12px 0 0!important}
html body #othal247-app :is(#othal247-avatar-welcome,#othal247-avatar-welcome-text){position:relative}
html body #othal247-app .o247-welcome-measure{display:block;visibility:hidden}
html body #othal247-app .o247-welcome-ink{position:absolute;inset:0;display:block}
html body #othal247-app .o247-welcome-ink.is-typing:after{content:"";display:inline-block;width:0;height:1em;margin-left:2px;border-right:1.5px solid currentColor;vertical-align:-.12em;animation:o247-type-caret 850ms steps(1) infinite}
@keyframes o247-type-caret{50%{opacity:0}}
@media(prefers-reduced-motion:no-preference){html body #othal247-app .is-copy-pending :is(#othal247-avatar-welcome,#othal247-avatar-welcome-text){visibility:hidden}}
html body #othal247-app:not(.is-chat-active) .othal247-screen[data-screen="chat"]{padding-top:72px!important;padding-bottom:90px!important}
@media(min-width:1024px){
 html body #othal247-app .othal247-avatar-hero{max-width:848px}
 html body #othal247-app .othal247-avatar-slot{width:360px;height:360px}
}
html body #othal247-float-toggle,html body #othal247-global-float-toggle{appearance:none;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;min-width:0!important;width:128px!important;height:128px!important;box-shadow:none!important;cursor:pointer;line-height:1}
html body #othal247-float-toggle{opacity:var(--o247-travel-opacity,1);transform:translate3d(var(--o247-travel-x,0),var(--o247-travel-y,0),0) scale(var(--o247-travel-scale,1));transform-origin:center;will-change:transform,opacity}
html body #othal247-float-toggle .othal247-avatar-face,html body #othal247-global-float-toggle .othal247-avatar-face{filter:drop-shadow(0 8px 10px rgba(0,0,0,.14))}
html body #othal247-float-toggle:hover .othal247-avatar-face,html body #othal247-global-float-toggle:hover .othal247-avatar-face{animation-duration:1.85s}
html body #othal247-float-toggle:focus-visible,html body #othal247-global-float-toggle:focus-visible{outline:2px solid var(--o247-ink,#11110f);outline-offset:4px;border-radius:24px!important}
html body #othal247-float-chat,html body #othal247-global-float-chat{right:max(18px,env(safe-area-inset-right))!important;bottom:max(18px,env(safe-area-inset-bottom))!important}
html body #othal247-float-chat{pointer-events:none}
html body #othal247-float-chat.is-docked{pointer-events:auto}
html body #othal247-float-chat.is-travelling #othal247-float-toggle{pointer-events:none}
html body .othal247-avatar-teaser{display:none;position:absolute;right:8px;bottom:calc(100% + 8px);z-index:0;appearance:none;box-sizing:border-box;width:max-content;min-width:0;max-width:min(230px,calc(100vw - 32px));margin:0;padding:12px 16px;border:1px solid var(--o247-rule,#deddd7);border-radius:18px;background:var(--o247-surface,#fff);color:var(--o247-ink,#11110f);box-shadow:0 6px 24px rgba(0,0,0,.07);font:450 14px/1.45 var(--o247-f-sans,ui-sans-serif,system-ui,sans-serif);text-align:left;text-transform:none!important;letter-spacing:0!important;cursor:pointer;white-space:normal}
html body .othal247-avatar-teaser span{display:block}
html body .othal247-avatar-teaser:after{content:"";position:absolute;right:34px;bottom:-7px;width:12px;height:12px;background:inherit;border-right:1px solid var(--o247-rule,#deddd7);border-bottom:1px solid var(--o247-rule,#deddd7);transform:rotate(45deg)}
html body .othal247-avatar-teaser:focus-visible{outline:2px solid var(--o247-ink,#11110f);outline-offset:4px}
html body #othal247-float-chat.is-docked:not(.is-open) .othal247-avatar-teaser,html body #othal247-global-float-chat:not(.is-open) .othal247-avatar-teaser{display:block}
html body #othal247-float-toggle,html body #othal247-global-float-toggle{position:relative;z-index:1}
/* As on KI-erz.de: the window is a separate speech bubble ABOVE the mascot. */
html body #othal247-float-chat,html body #othal247-global-float-chat{--o247-dock-size:128px;--o247-dock-edge:18px;width:var(--o247-dock-size);height:var(--o247-dock-size);bottom:calc(max(18px,env(safe-area-inset-bottom)) + var(--o247-keyboard-inset,0px))!important}
html body #othal247-float-chat.is-open #othal247-float-toggle,html body #othal247-global-float-chat.is-open #othal247-global-float-toggle{display:block!important}
html body #othal247-float-toggle,html body #othal247-global-float-toggle{z-index:3}
html body #othal247-float-panel,html body #othal247-global-float-panel{
 position:absolute!important;right:0;bottom:calc(100% + 16px);z-index:2;box-sizing:border-box;
 display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;
 width:min(380px,calc(100vw - var(--o247-dock-edge) - var(--o247-dock-edge)))!important;
 max-height:min(560px,calc(var(--o247-dock-vh,100dvh) - var(--o247-dock-size) - 16px - var(--o247-dock-edge) - var(--o247-dock-edge)))!important;
 border-radius:22px!important;background:var(--o247-surface,#fff)!important;overflow:visible!important;
 opacity:0;visibility:hidden;pointer-events:none;transform:scale(.4) translateY(20px);
 transform-origin:calc(100% - var(--o247-dock-size)/2) calc(100% + 40px);
 transition:opacity 240ms ease,transform 420ms cubic-bezier(.22,1,.36,1),visibility 0s linear 420ms;
}
html body #othal247-float-chat.is-open #othal247-float-panel,html body #othal247-global-float-chat.is-open #othal247-global-float-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity 200ms ease,transform 420ms cubic-bezier(.22,1,.36,1),visibility 0s}
html body #othal247-float-panel:after,html body #othal247-global-float-panel:after{content:"";position:absolute;right:calc(var(--o247-dock-size)/2 - 9px);bottom:-9px;width:18px;height:18px;box-sizing:border-box;background:var(--o247-surface,#fff);border-right:1px solid var(--o247-rule,#deddd7);border-bottom:1px solid var(--o247-rule,#deddd7);border-bottom-right-radius:4px;transform:rotate(45deg)}
html body .othal247-float-head,html body .othal247-global-float-head{border-radius:21px 21px 0 0}
html body .othal247-float-input,html body .othal247-global-float-input{border-radius:0 0 21px 21px;background:var(--o247-surface,#fff);position:relative;z-index:1}
/* The same saturated blue family as the mascot, with accessible white text. */
html body #othal247-app,html body .othal247-global-float-chat{--o247-bubble-bot:#086ccc;--o247-bubble-bot-text:#fff;--o247-companion-size:128px}
html body #othal247-app{overflow-anchor:none}
html body #othal247-chat{position:relative!important}
html body #othal247-app.is-chat-active .othal247-screen #othal247-chat{overscroll-behavior-y:auto!important}
html body .othal247-chat-companion{position:absolute;width:var(--o247-companion-size)!important;height:var(--o247-companion-size)!important;z-index:2}
html body .othal247-chat-companion[hidden]{display:none!important}
html body .othal247-companion-stage{position:relative;min-height:0;overflow:hidden;--o247-companion-size:64px}
html body .othal247-companion-stage>#othal247-float-messages,html body .othal247-companion-stage>#othal247-global-float-messages{height:100%;box-sizing:border-box;position:relative;padding-bottom:var(--o247-companion-trailing,16px)!important}
html body #othal247-app.is-chat-active #othal247-chat #othal247-messages{padding-bottom:var(--o247-companion-trailing,16px)!important}
html body #othal247-app.is-chat-active #othal247-chat #othal247-messages .msg-bot{position:relative;margin-left:calc(var(--o247-companion-size) + 10px)!important;max-width:min(calc(100% - var(--o247-companion-size) - 10px),620px)!important;border-radius:18px 18px 18px 18px!important}
html body #othal247-float-messages .msg-bot,html body #othal247-global-float-messages .msg-bot{position:relative;margin-left:70px!important;max-width:calc(100% - 70px)!important}
html body #othal247-app.is-chat-active #othal247-chat #othal247-messages .msg-bot,html body #othal247-float-messages .msg-bot,html body #othal247-global-float-messages .msg-bot{background:#086ccc!important;color:#fff!important}
html body #othal247-app.is-chat-active #othal247-messages .msg-bot strong,html body #othal247-app.is-chat-active #othal247-messages .msg-bot h2,html body #othal247-app.is-chat-active #othal247-messages .msg-bot h3,html body #othal247-float-messages .msg-bot strong,html body #othal247-global-float-messages .msg-bot strong{color:inherit!important}
html body #othal247-messages .msg-bot:after,html body #othal247-float-messages .msg-bot:after,html body #othal247-global-float-messages .msg-bot:after{content:"";display:block;position:absolute;top:22px;left:-5px;right:auto;width:10px;height:10px;background:#086ccc;transform:rotate(45deg);border:0}
html body #othal247-app #othal247-messages .msg-bot a,html body #othal247-float-messages .msg-bot a,html body #othal247-global-float-messages .msg-bot a{color:#fff!important;text-decoration:underline;text-underline-offset:3px;border-bottom-color:currentColor!important;overflow-wrap:anywhere}
html body #othal247-app #othal247-input :is(#othal247-mic,#othal247-send),html body #othal247-float-send,html body #othal247-global-float-send{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 42px!important;min-width:42px!important;width:42px!important;height:42px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#086ccc!important;color:#fff!important;box-shadow:none!important;font-size:0!important;line-height:1!important;cursor:pointer}
html body #othal247-mic:before,html body #othal247-send:before,html body #othal247-float-send:before,html body #othal247-global-float-send:before{content:"";display:block;width:20px;height:20px;background:currentColor;mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M5 12l7-7 7 7'/%3E%3C/svg%3E")}
html body #othal247-mic:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='13' rx='3'/%3E%3Cpath d='M5 10v2a7 7 0 0 0 14 0v-2M12 19v3M8 22h8'/%3E%3C/svg%3E")}
html body #othal247-app #othal247-input #othal247-mic.is-recording{background:#064e9c!important;outline:3px solid rgba(8,108,204,.25);outline-offset:3px}
html body #othal247-mic.is-recording:before{mask:none;width:13px;height:13px;border-radius:3px}
html body #othal247-app #othal247-input :is(#othal247-mic,#othal247-send):hover,html body #othal247-float-send:hover,html body #othal247-global-float-send:hover{background:#075bad!important}
html body #othal247-mic:focus-visible,html body #othal247-send:focus-visible,html body #othal247-float-send:focus-visible,html body #othal247-global-float-send:focus-visible{outline:2px solid var(--o247-ink,#111);outline-offset:3px}
html body #othal247-mic:disabled,html body #othal247-send:disabled,html body #othal247-float-send:disabled,html body #othal247-global-float-send:disabled{opacity:.5;cursor:default}
@media(max-width:760px){
 html body #othal247-app{--o247-companion-size:80px}
 html body #othal247-app .othal247-avatar-hero{flex-direction:column-reverse;gap:8px;margin:0 auto 16px;max-width:480px;align-items:center}
 html body #othal247-app .othal247-avatar-slot{width:210px;height:210px}
 html body #othal247-app .othal247-avatar-speech{flex:none;width:100%;padding:20px 22px;border-radius:24px}
 html body #othal247-app .othal247-avatar-speech:before{left:50%;top:auto;bottom:-10px;transform:translateX(-50%) rotate(-45deg)}
 html body #othal247-app #othal247-avatar-welcome,html body #othal247-app #othal247-avatar-welcome-text{font-size:20px!important}
 html body #othal247-app:not(.is-chat-active) .othal247-screen[data-screen="chat"]{padding-top:42px!important;padding-bottom:52px!important}
 html body #othal247-float-toggle,html body #othal247-global-float-toggle{width:64px!important;height:64px!important}
 html body #othal247-float-chat,html body #othal247-global-float-chat{--o247-dock-size:64px;--o247-dock-edge:12px;right:max(12px,env(safe-area-inset-right))!important;bottom:calc(max(12px,env(safe-area-inset-bottom)) + var(--o247-keyboard-inset,0px))!important}
 html body .is-keyboard-open .othal247-float-head,html body .is-keyboard-open .othal247-global-float-head{padding:8px 12px}
 html body .is-keyboard-open .othal247-float-sub,html body .is-keyboard-open .othal247-global-float-sub{display:none}
}
@media(max-width:760px) and (max-height:700px){
 html body #othal247-app .othal247-avatar-hero{gap:12px;margin-bottom:12px}
 html body #othal247-app .othal247-avatar-slot{width:150px;height:150px}
 html body #othal247-app .othal247-avatar-speech{padding:16px 20px}
 html body #othal247-app #othal247-avatar-welcome,html body #othal247-app #othal247-avatar-welcome-text{font-size:18px!important}
 html body #othal247-app:not(.is-chat-active) .othal247-screen[data-screen="chat"]{padding-top:20px!important;padding-bottom:28px!important}
 html body #othal247-app:not(.is-chat-active) #othal247-messages:empty{margin-top:0!important}
}
@media(prefers-reduced-motion:reduce){html body .othal247-avatar-face,html body .othal247-avatar-mouth,html body #othal247-float-toggle,html body #othal247-global-float-toggle,html body #othal247-float-panel,html body #othal247-global-float-panel{animation:none!important;transition:none!important}}
