/* Moser support: the same typography, surfaces and motion as the storefront. */
.moser-chat{--chat-purple:var(--accent,#a855f7);--chat-surface:var(--surface,#101113);--chat-raised:var(--surface-2,#1a1c1f);--chat-text:var(--fg,#f4f5f6);--chat-muted:var(--fg-2,#9ba1a9);--chat-line:var(--hairline,#1b1c1d);--chat-radius:var(--r-lg,.875rem);--chat-ease:var(--feder-schweben,cubic-bezier(.19,.05,.28,.88));position:fixed;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:70;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.6;font-weight:400;font-feature-settings:"cv11","ss01";color:var(--chat-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.moser-chat *{box-sizing:border-box}
.moser-chat :where(p){margin:0}
.moser-chat .nur-vorleser{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.moser-chat [hidden]{display:none!important}
.moser-chat button,.moser-chat textarea{font:inherit}
.moser-chat button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}
.moser-chat button:disabled{cursor:not-allowed;opacity:.4}
.moser-chat button:focus-visible,.moser-chat textarea:focus-visible{outline:2px solid var(--chat-muted);outline-offset:2px}
.moser-chat-launcher{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.25rem;padding:.625rem 1.375rem;border:1px solid var(--chat-line);border-radius:999px;background:var(--chat-raised);color:var(--chat-text)!important;box-shadow:var(--schatten,0 12px 32px -8px #0009);font-size:14px!important;font-weight:500!important;letter-spacing:normal;transition:transform .32s var(--chat-ease),background .16s ease}
.moser-chat-launcher:hover{transform:translateY(-2px);background:var(--surface-3,#232529)}
.moser-chat-launcher:active{transform:translateY(-1px) scale(.97)}
.moser-chat-launcher-icon{display:grid;place-items:center;width:24px;height:24px;flex:none;color:var(--chat-text)}
.moser-chat-launcher-icon>svg{grid-area:1/1;width:18px;height:18px;transition:opacity .2s,transform .36s var(--chat-ease)}
.moser-chat-launcher-icon .moser-chat-launcher-chevron{opacity:0;transform:rotate(-40deg) scale(.6)}
.moser-chat[data-open=true] .moser-chat-launcher-icon>svg:first-child{opacity:0;transform:rotate(40deg) scale(.6)}
.moser-chat[data-open=true] .moser-chat-launcher-icon .moser-chat-launcher-chevron{opacity:1;transform:none}
.moser-chat-unread{display:grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;border-radius:999px;background:#a855f7;color:#fff;font-size:10px;font-weight:700;animation:moser-chat-unread-in .3s var(--chat-ease)}
.moser-chat-panel{position:absolute;right:0;bottom:4rem;display:flex;flex-direction:column;width:min(400px,calc(100vw - 2.5rem));height:min(560px,calc(100dvh - 7rem));min-height:270px;overflow:hidden;border:1px solid #ffffff15;border-radius:var(--chat-radius);background:var(--chat-surface);box-shadow:var(--schatten,0 12px 32px -8px #0009);transform-origin:bottom right}
.moser-chat-header{display:flex;align-items:center;gap:.75rem;flex:none;padding:1rem 1.25rem;background:var(--chat-surface);border-bottom:1px solid var(--chat-line)}
.moser-chat-avatar{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:none;border:1px solid var(--chat-line);border-radius:var(--r-md,.75rem);background:var(--chat-raised);color:var(--chat-purple)}
.moser-chat-avatar img{width:1.9rem;height:1.9rem;object-fit:contain}
.moser-chat-avatar svg{width:22px;height:22px}
.moser-chat-heading{flex:1;min-width:0}
.moser-chat-heading h2{margin:0;font-size:16px;line-height:1.3;font-weight:600;letter-spacing:-.02em}
.moser-chat-state{display:flex;align-items:center;gap:.4rem;margin-top:.3rem!important;color:var(--chat-muted);font-size:12px;line-height:1.5}
.moser-chat-state::before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:#7b7185}
.moser-chat[data-state=connected] .moser-chat-state::before{background:#55d792;box-shadow:0 0 0 3px #55d79212}
.moser-chat-close{display:grid;place-items:center;align-self:center;flex:none;width:40px;height:40px;margin-right:-.5rem;border:0;border-radius:50%;background:transparent;color:var(--chat-muted)!important;transition:background .16s ease,transform .2s var(--chat-ease)}
.moser-chat-close:hover{background:var(--chat-raised)}
.moser-chat-close:active{transform:scale(.96)}
.moser-chat-close svg{width:18px;height:18px}
.moser-chat-hours{display:flex;align-items:flex-start;gap:.65rem;flex:none;padding:.85rem 1.25rem;border-bottom:1px solid var(--chat-line);background:var(--bg,#08090a)}
.moser-chat-hours>svg{width:16px;height:16px;margin-top:2px;flex:none;color:var(--chat-muted)}
.moser-chat-hours>div{display:grid;gap:.16rem;min-width:0}
.moser-chat-hours span{font-size:11px;font-weight:400;letter-spacing:normal;color:var(--chat-muted)}
.moser-chat-hours strong{font-size:12px;font-weight:500;line-height:1.5;color:var(--chat-text);font-variant-numeric:tabular-nums}
.moser-chat-hours small{font-size:11px;font-weight:400;color:var(--chat-muted)}
.moser-chat-hours p{font-size:11px;color:var(--chat-muted);line-height:1.5}
.moser-chat-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#353039 #101113;padding:1.25rem}
.moser-chat-intro{padding:.25rem 0 1rem;animation:moser-chat-enter .42s var(--feder-einblenden,cubic-bezier(.2,.2,.2,1))}
.moser-chat-intro h3{margin:0 0 .75rem;font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.02em;color:var(--chat-text)}
.moser-chat-intro p{margin:0;color:var(--chat-muted);font-size:14px;line-height:1.6}
.moser-chat-topics{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.25rem}
.moser-chat-topics button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.625rem .9rem;border:0;border-radius:999px;background:var(--chat-raised);color:var(--chat-text);font-size:14px;font-weight:500;line-height:1.2;transition:background-color .16s ease,transform .32s var(--chat-ease)}
.moser-chat-topics button:hover{background:var(--surface-3,#232529);transform:translateY(-2px)}
.moser-chat-topics button:active{transform:translateY(-2px) scale(.96)}
.moser-chat-log{display:flex;flex-direction:column;gap:1rem}
.moser-chat-message{display:flex;flex-direction:column;gap:.35rem;align-self:flex-start;max-width:91%}
.moser-chat-message.is-new{animation:moser-chat-message-in .38s var(--chat-ease) both}
.moser-chat-message[data-role=visitor]{align-self:flex-end;transform-origin:bottom right}
.moser-chat-message-name{font-size:12px;color:var(--chat-muted)}
.moser-chat-message[data-role=visitor] .moser-chat-message-name{text-align:right}
.moser-chat-bubble{margin:0;padding:.75rem .9rem;border:1px solid var(--chat-line);border-radius:14px 14px 14px 4px;background:var(--chat-raised);color:var(--chat-text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6}
.moser-chat-message[data-role=visitor] .moser-chat-bubble{border-radius:14px 14px 4px 14px;border-color:#a855f725;background:var(--accent-soft,#281335);color:var(--chat-text)}
.moser-chat-message[data-role=system]{align-self:center;max-width:100%}
.moser-chat-message[data-role=system] .moser-chat-message-name{display:none}
.moser-chat-message[data-role=system] .moser-chat-bubble{padding:.25rem;border:0;background:none;text-align:center;color:var(--chat-muted);font-size:12px}
.moser-chat-message time{align-self:flex-end;color:var(--chat-muted);font-size:11px;font-variant-numeric:tabular-nums}
.moser-chat-wait{display:flex;align-items:flex-start;gap:.8rem;margin:1.2rem 0 .2rem;padding:.9rem;border:1px solid #ffffff0b;border-radius:12px;background:#ffffff02;color:#92979f;font-size:11px;line-height:1.65;animation:moser-chat-enter .4s var(--chat-ease)}
.moser-chat-wait strong{display:block;margin-bottom:.3rem;color:var(--chat-text);font-size:14px;font-weight:500}
.moser-chat-wait p{font-size:12px;line-height:1.6}
.moser-chat-wait-dots{display:flex;gap:3px;flex:none;padding-top:7px}
.moser-chat-wait-dots i{width:4px;height:4px;border-radius:50%;background:#b889e1;animation:moser-chat-wait 1.8s ease-in-out infinite}
.moser-chat-wait-dots i:nth-child(2){animation-delay:.15s}.moser-chat-wait-dots i:nth-child(3){animation-delay:.3s}
.moser-chat[data-open=false] .moser-chat-wait-dots i{animation-play-state:paused}
.moser-chat-composer{display:grid;gap:.65rem;flex:none;padding:1rem 1.25rem;border-top:1px solid var(--chat-line);background:var(--chat-surface)}
.moser-chat-input-row{display:flex;align-items:flex-end;gap:.5rem;padding:.375rem;border:1px solid #34373f;border-radius:var(--r-md,.75rem);background:var(--chat-raised);transition:border-color .16s ease}
.moser-chat-input-row:focus-within{border-color:var(--chat-muted)}
.moser-chat-composer textarea{display:block;width:100%;min-height:42px;max-height:110px;overflow-y:hidden;resize:none;border:0;border-radius:10px;padding:.7rem .6rem;background:transparent;color:#f4f5f6;line-height:1.4;font-size:16px;scrollbar-width:thin;scrollbar-color:#49434f transparent}
.moser-chat-composer textarea::-webkit-scrollbar{width:4px}.moser-chat-composer textarea::-webkit-scrollbar-thumb{background:#49434f;border-radius:8px}.moser-chat-composer textarea::-webkit-scrollbar-track{background:transparent}
.moser-chat-composer textarea:focus-visible{outline:none}
.moser-chat-composer textarea::placeholder{color:var(--chat-muted);font-size:14px}
.moser-chat-send{display:grid;place-items:center;flex:none;width:44px;height:44px;margin:0;border:0;border-radius:999px;background:var(--chat-purple);color:var(--accent-fg,#08090a)!important;transition:background .16s ease,transform .32s var(--chat-ease),opacity .2s}
.moser-chat-send:hover:not(:disabled){background:var(--accent-hover,#b76cff);transform:translateY(-2px)}
.moser-chat-send:active:not(:disabled){transform:scale(.94)}
.moser-chat-send svg{width:17px;height:17px;transform:rotate(-5deg);transition:transform .3s var(--chat-ease)}
.moser-chat-send:hover:not(:disabled) svg{transform:rotate(-5deg) translate(1px,-1px)}
.moser-chat-composer[aria-busy=true] .moser-chat-send svg{animation:moser-chat-send 1s ease-in-out infinite}
.moser-chat-composer-note{display:flex;justify-content:space-between;gap:.75rem;padding-inline:.15rem;color:var(--chat-muted);font-size:10px;line-height:1.5}
.moser-chat-count{font-variant-numeric:tabular-nums}
.moser-chat-error{margin:0;color:#ffb2b5;font-size:12px;line-height:1.5}
.moser-chat-closed{display:grid;gap:.75rem;flex-shrink:1;max-height:66%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#353039 #101113;padding:1.15rem;border-top:1px solid var(--chat-line);color:#9ba1a9;font-size:12px;text-align:center;animation:moser-chat-enter .4s var(--chat-ease)}
.moser-chat-new{min-height:44px;padding:.625rem 1.375rem;border:0;border-radius:999px;background:var(--chat-raised);color:var(--chat-text)!important;font-size:14px!important;font-weight:500!important;transition:background .16s ease,transform .32s var(--chat-ease)}
.moser-chat-new:hover{background:#232529;border-color:#ffffff25}
.moser-support-avatar{display:grid;place-items:center;width:40px;height:40px;overflow:hidden;flex:none;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 3px 12px #0003}
.moser-support-avatar svg{display:block;width:100%;height:100%}
.moser-chat-avatar:has(.moser-support-avatar){background:none;border:0}
.moser-chat-joined{display:flex;align-self:center;align-items:center;gap:.75rem;width:100%;padding:.85rem;border:1px solid #ffffff0f;border-radius:14px;background:#16171a;animation:moser-chat-enter .45s var(--chat-ease)}
.moser-chat-joined>div{display:grid;gap:.2rem}
.moser-chat-joined strong{font-size:14px;line-height:1.4;font-weight:600;color:var(--chat-text)}
.moser-chat-joined span:not(.moser-support-avatar){font-size:12px;color:var(--chat-muted)}
.moser-chat-message[data-role=admin] .moser-chat-message-name{display:flex;align-items:center;gap:.4rem}
.moser-chat-message-name .moser-support-avatar{width:21px;height:21px}
.moser-chat-rating{display:grid;gap:.65rem;margin:0}
.moser-chat-rating h3,.moser-chat-rating-thanks h3{margin:0;font-size:20px;line-height:1.3;font-weight:600;color:var(--chat-text);letter-spacing:-.02em}
.moser-chat-rating>p{font-size:14px;line-height:1.6}
.moser-chat-stars{display:flex;justify-content:center;gap:.45rem;padding:.2rem 0}
.moser-chat-stars button{display:grid;place-items:center;width:43px;height:43px;padding:9px;border:1px solid #ffffff10;border-radius:12px;background:#1a1c1f;color:#59606a;transition:color .2s,background .2s,transform .28s var(--chat-ease),border-color .2s}
.moser-chat-stars button svg{width:23px;height:23px;fill:currentColor;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}
.moser-chat-stars button.is-selected{color:#bf8cf6;background:#a855f710;border-color:#a855f73b}
.moser-chat-stars button:hover:not(:disabled){transform:translateY(-3px) rotate(-4deg);border-color:#c084fc80}
.moser-chat-rating textarea{width:100%;min-height:60px;max-height:100px;resize:vertical;border:1px solid #ffffff12;border-radius:12px;padding:.7rem .8rem;background:#191a1d;color:#f4f5f6;font-size:16px;line-height:1.5}
.moser-chat-rating textarea::placeholder{color:#838992;font-size:12px}
.moser-chat-rating-submit{min-height:44px;border:0;border-radius:999px;background:var(--chat-purple);color:var(--accent-fg,#08090a)!important;font-size:14px!important;font-weight:600!important;transition:background .16s ease,transform .32s var(--chat-ease)}
.moser-chat-rating-submit:hover:not(:disabled){background:#b76cff;transform:translateY(-1px)}
.moser-chat-rating-error{color:#ffb2b5;font-size:11px;line-height:1.5}
.moser-chat-rating-thanks{display:grid;justify-items:center;gap:.65rem;padding:.5rem 0 .875rem}
.moser-chat-rating-thanks p{font-size:11px;line-height:1.6;color:#9ba1a9}
.moser-chat-rating-check{display:grid;place-items:center;width:40px;height:40px;border:1px solid #a855f73b;border-radius:50%;background:#a855f710;color:#c79af7;font-size:20px;animation:moser-chat-unread-in .4s var(--chat-ease)}
@keyframes moser-chat-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes moser-chat-message-in{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}
@keyframes moser-chat-unread-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes moser-chat-wait{0%,65%,100%{opacity:.4;transform:none}30%{opacity:1;transform:translateY(-2px)}}
@keyframes moser-chat-send{0%,100%{opacity:.45;transform:translateY(1px)}50%{opacity:1;transform:translateY(-2px)}}
@media(max-width:480px){.moser-chat{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom))}.moser-chat-panel{width:calc(100vw - 1.5rem);height:min(560px,calc(100dvh - 6.5rem));bottom:4rem}.moser-chat-header{padding:1rem}.moser-chat-hours{padding:.75rem 1rem}.moser-chat-scroll{padding:1rem}.moser-chat-composer{padding:.85rem 1rem}.moser-chat-composer-note{font-size:10px}.moser-chat-topics{gap:.4rem}.moser-chat-topics button{padding-inline:.75rem}.moser-chat-close{width:36px;height:36px}.moser-chat-heading h2{font-size:15px}}
@media(max-height:600px){.moser-chat-panel{height:calc(100dvh - 6.5rem);min-height:180px}.moser-chat-header{padding:.65rem 1rem}.moser-chat-hours{padding:.5rem 1rem}.moser-chat-hours p{display:none}.moser-chat-hours>div{display:flex;flex-wrap:wrap;column-gap:.5rem}.moser-chat-hours strong{font-size:12px}.moser-chat-composer-note{display:none}.moser-chat-intro{padding:.2rem 0}.moser-chat-intro h3{font-size:20px}.moser-chat-closed{max-height:75%}}
@media(prefers-reduced-motion:reduce){.moser-chat *,.moser-chat *::before,.moser-chat *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
