
.ww-wilolim,
.ww-wilolim * {
    box-sizing: border-box;
}

.ww-wilolim {
    --ww-wilolim-shadow: 0 18px 45px rgba(7, 42, 62, .22);
    --ww-wilolim-text: #173243;
    --ww-wilolim-soft: #eef8fb;
    --ww-wilolim-border: rgba(15, 107, 143, .16);
    --ww-wilolim-look-x: 0px;
    --ww-wilolim-look-y: 0px;
    position: fixed;
    bottom: 22px;
    z-index: var(--ww-wilolim-z, 999999);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ww-wilolim-text);
}

.ww-wilolim-right { right: 22px; }
.ww-wilolim-left { left: 22px; }
.ww-wilolim-inline { position: relative; inset: auto; z-index: 1; display: inline-block; }

.ww-wilolim-launcher {
    border: 0;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px 8px 8px;
    background: linear-gradient(135deg, #fff, var(--ww-wilolim-soft));
    color: var(--ww-wilolim-primary);
    box-shadow: var(--ww-wilolim-shadow);
    cursor: pointer;
    font-weight: 800;
    letter-spacing: .02em;
    transition: transform .22s ease, box-shadow .22s ease;
}

.ww-wilolim-launcher:hover,
.ww-wilolim-launcher:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 22px 54px rgba(7, 42, 62, .28);
    outline: none;
}

.ww-wilolim-launcher-name {
    font-size: 14px;
}

.ww-wilolim-size-small .ww-wilolim-launcher-name { display: none; }
.ww-wilolim-size-large .ww-wilolim-launcher { padding-right: 18px; }
.ww-wilolim-size-large .ww-wilolim-launcher-name { font-size: 16px; }

.ww-wilolim-panel {
    position: absolute;
    bottom: 82px;
    width: min(var(--ww-wilolim-panel-width, 390px), calc(100vw - 28px));
    max-height: min(720px, calc(100vh - 116px));
    overflow: hidden;
    border: 1px solid var(--ww-wilolim-border);
    border-radius: 24px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--ww-wilolim-shadow);
    backdrop-filter: blur(14px);
}

.ww-wilolim-right .ww-wilolim-panel { right: 0; }
.ww-wilolim-left .ww-wilolim-panel { left: 0; }
.ww-wilolim-inline .ww-wilolim-panel { position: relative; bottom: auto; right: auto; left: auto; margin-top: 12px; }

.ww-wilolim-panel[hidden] { display: none; }

.ww-wilolim-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 14px;
    background: linear-gradient(135deg, var(--ww-wilolim-primary), #0b4c73);
    color: #fff;
}

.ww-wilolim-header-avatar {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
}

.ww-wilolim-header-text {
    flex: 1;
    min-width: 0;
    line-height: 1.25;
}

.ww-wilolim-header-text strong {
    display: block;
    font-size: 16px;
}

.ww-wilolim-header-text span {
    display: block;
    opacity: .9;
    font-size: 12px;
    margin-top: 3px;
}

.ww-wilolim-close {
    border: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.ww-wilolim-close:hover,
.ww-wilolim-close:focus-visible {
    background: rgba(255,255,255,.24);
    outline: none;
}

.ww-wilolim-body {
    padding: 14px;
    overflow: auto;
    max-height: min(560px, calc(100vh - 260px));
    scrollbar-width: thin;
}

.ww-wilolim-message {
    border-radius: 18px;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.42;
    margin-bottom: 12px;
}

.ww-wilolim-message p { margin: 0 0 8px; }
.ww-wilolim-message p:last-child { margin-bottom: 0; }

.ww-wilolim-message-bot {
    background: var(--ww-wilolim-soft);
    border: 1px solid var(--ww-wilolim-border);
}

.ww-wilolim-message-user {
    background: var(--ww-wilolim-primary);
    color: #fff;
    margin-left: 38px;
}

.ww-wilolim-lang-note {
    font-size: 12px;
    color: #315468;
}

.ww-wilolim-section {
    margin: 12px 0;
}

.ww-wilolim-section-title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
    color: #557286;
    margin-bottom: 8px;
}

.ww-wilolim-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ww-wilolim-chip,
.ww-wilolim-mini-card {
    border: 1px solid var(--ww-wilolim-border);
    background: #fff;
    color: var(--ww-wilolim-primary);
    border-radius: 999px;
    padding: 8px 11px;
    cursor: pointer;
    font-weight: 700;
    font-size: 12px;
    text-align: left;
    transition: background .2s ease, transform .2s ease;
}

.ww-wilolim-chip:hover,
.ww-wilolim-mini-card:hover,
.ww-wilolim-chip:focus-visible,
.ww-wilolim-mini-card:focus-visible {
    background: #f7fcff;
    transform: translateY(-1px);
    outline: none;
}

.ww-wilolim-link-grid,
.ww-wilolim-latest {
    display: grid;
    gap: 8px;
}

.ww-wilolim-link,
.ww-wilolim-mini-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    border-radius: 14px;
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--ww-wilolim-border);
    padding: 10px 12px;
    color: var(--ww-wilolim-text);
}

.ww-wilolim-link span,
.ww-wilolim-mini-card span {
    font-weight: 750;
}

.ww-wilolim-link small,
.ww-wilolim-mini-card small {
    color: var(--ww-wilolim-primary);
    font-weight: 800;
    white-space: nowrap;
}

.ww-wilolim-chat-log {
    display: grid;
    gap: 10px;
}

.ww-wilolim-results {
    display: grid;
    gap: 9px;
}

.ww-wilolim-result-card {
    padding: 10px;
    border: 1px solid rgba(15,107,143,.16);
    border-radius: 16px;
    background: #fff;
}

.ww-wilolim-result-top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: center;
    margin-bottom: 5px;
    font-size: 11px;
    color: #547085;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.ww-wilolim-result-title {
    display: block;
    color: var(--ww-wilolim-primary);
    font-weight: 850;
    text-decoration: none;
    line-height: 1.25;
}

.ww-wilolim-result-title:hover { text-decoration: underline; }

.ww-wilolim-result-card p {
    margin: 7px 0;
    color: #435e71;
    font-size: 13px;
}

.ww-wilolim-price {
    font-weight: 800;
    color: #173243 !important;
}

.ww-wilolim-result-cta {
    display: inline-flex;
    margin-top: 3px;
    background: var(--ww-wilolim-accent);
    color: #1d2c35;
    border-radius: 999px;
    padding: 6px 10px;
    text-decoration: none;
    font-weight: 850;
    font-size: 12px;
}

.ww-wilolim-form {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    padding: 12px;
    border-top: 1px solid var(--ww-wilolim-border);
    background: #fff;
}

.ww-wilolim-input {
    width: 100%;
    min-height: 42px;
    border-radius: 999px;
    border: 1px solid var(--ww-wilolim-border);
    padding: 0 14px;
    outline: none;
    font-size: 14px;
}

.ww-wilolim-input:focus {
    border-color: var(--ww-wilolim-primary);
    box-shadow: 0 0 0 3px rgba(15,107,143,.12);
}

.ww-wilolim-send {
    min-height: 42px;
    border: 0;
    border-radius: 999px;
    background: var(--ww-wilolim-primary);
    color: #fff;
    padding: 0 14px;
    cursor: pointer;
    font-weight: 850;
}

.ww-wilolim-send:hover,
.ww-wilolim-send:focus-visible {
    filter: brightness(.94);
    outline: none;
}

.ww-wilolim-autocomplete {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 62px;
    background: #fff;
    border: 1px solid var(--ww-wilolim-border);
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(7,42,62,.15);
    overflow: hidden;
    z-index: 2;
}

.ww-wilolim-autocomplete[hidden] { display: none; }

.ww-wilolim-autocomplete button {
    display: flex;
    width: 100%;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    border: 0;
    background: #fff;
    padding: 10px 12px;
    cursor: pointer;
    text-align: left;
}

.ww-wilolim-autocomplete button:hover,
.ww-wilolim-autocomplete button:focus-visible {
    background: var(--ww-wilolim-soft);
    outline: none;
}

.ww-wilolim-autocomplete span {
    font-weight: 750;
    color: var(--ww-wilolim-text);
}

.ww-wilolim-autocomplete small {
    color: var(--ww-wilolim-primary);
    text-transform: uppercase;
    font-weight: 850;
}

/* Mascot */
.ww-wilolim-dog {
    position: relative;
    display: inline-block;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    animation: ww-wilolim-float 3s ease-in-out infinite;
    transform-origin: center bottom;
    filter: drop-shadow(0 10px 14px rgba(0,0,0,.10));
}

.ww-wilolim-dog::before {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.82), rgba(255,255,255,0) 55%), radial-gradient(circle at 70% 70%, rgba(255,220,170,.35), rgba(255,220,170,0) 50%);
    opacity: .75;
    z-index: 0;
    animation: ww-wilolim-glow 4s ease-in-out infinite;
}

.ww-wilolim-dog::after {
    content: "";
    position: absolute;
    top: -7px;
    right: -4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(255,255,255,.85);
    box-shadow: -12px 8px 0 -4px rgba(255,255,255,.55), -20px 12px 0 -7px rgba(255,255,255,.35);
    opacity: 0;
    transform: translateY(4px) scale(.8);
    transition: opacity .22s ease, transform .22s ease;
    pointer-events: none;
}

.ww-wilolim-dog-compact {
    width: 46px;
    height: 46px;
}

.ww-wilolim-face {
    position: absolute;
    inset: 9px 8px 5px;
    background: linear-gradient(160deg, #d8974f, #f3c27d 65%, #ffe1ac);
    border-radius: 44% 44% 50% 50%;
    box-shadow: inset 0 -6px 0 rgba(124,78,35,.10);
    z-index: 2;
}

.ww-wilolim-ear {
    position: absolute;
    top: 9px;
    width: 19px;
    height: 39px;
    background: linear-gradient(180deg, #7c4b25, #b16d34 60%, #cf8a4a);
    border-radius: 65% 65% 58% 58%;
    z-index: 1;
    transform-origin: top center;
    animation: ww-wilolim-ear 3s ease-in-out infinite;
}

.ww-wilolim-ear-left {
    left: 3px;
    transform: rotate(12deg);
}

.ww-wilolim-ear-right {
    right: 3px;
    transform: rotate(-12deg);
    animation-delay: .18s;
}

.ww-wilolim-brow {
    position: absolute;
    top: 11px;
    width: 10px;
    height: 3px;
    background: rgba(92,57,29,.9);
    border-radius: 999px;
    z-index: 4;
    transition: transform .2s ease, top .2s ease;
}

.ww-wilolim-brow-left { left: 10px; transform: rotate(-10deg); }
.ww-wilolim-brow-right { right: 10px; transform: rotate(10deg); }

.ww-wilolim-eye {
    position: absolute;
    top: 16px;
    width: 10px;
    height: 11px;
    background: #fff;
    border-radius: 50%;
    z-index: 4;
    overflow: hidden;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.1);
}

.ww-wilolim-eye-left { left: 11px; }
.ww-wilolim-eye-right { right: 11px; }

.ww-wilolim-pupil {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 5px;
    height: 5px;
    background: #24313a;
    border-radius: 50%;
    transform: translate(var(--ww-wilolim-look-x), var(--ww-wilolim-look-y));
}

.ww-wilolim-eye::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    animation: ww-wilolim-blink 6s infinite;
    background: linear-gradient(180deg, rgba(245,188,122,0), rgba(245,188,122,0) 54%, rgba(245,188,122,.95) 57%, rgba(245,188,122,.96) 100%);
    transform-origin: center top;
}

.ww-wilolim-cheek {
    position: absolute;
    bottom: 18px;
    width: 8px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,174,168,.42);
    z-index: 3;
    opacity: .45;
    transition: opacity .2s ease, transform .2s ease;
}

.ww-wilolim-cheek-left { left: 8px; }
.ww-wilolim-cheek-right { right: 8px; }

.ww-wilolim-snout {
    position: absolute;
    left: 50%;
    bottom: 8px;
    width: 25px;
    height: 18px;
    border-radius: 50% 50% 55% 55%;
    transform: translateX(-50%);
    background: #fff2dc;
    z-index: 3;
}

.ww-wilolim-nose {
    position: absolute;
    left: 50%;
    top: 3px;
    width: 9px;
    height: 7px;
    transform: translateX(-50%);
    background: #2c1e1a;
    border-radius: 50% 50% 60% 60%;
}

.ww-wilolim-mouth {
    position: absolute;
    left: 50%;
    top: 10px;
    width: 14px;
    height: 7px;
    border-bottom: 2px solid #7c4b25;
    border-radius: 0 0 999px 999px;
    transform: translateX(-50%);
    z-index: 3;
    transition: width .2s ease, height .2s ease, top .2s ease, border-radius .2s ease, background .2s ease;
    overflow: hidden;
}

.ww-wilolim-tongue {
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 8px;
    height: 7px;
    border-radius: 50% 50% 60% 60%;
    transform: translateX(-50%);
    background: #f59aa2;
    opacity: 0;
    transition: opacity .18s ease;
}

.ww-wilolim-tail {
    position: absolute;
    right: -4px;
    top: 20px;
    width: 18px;
    height: 8px;
    border-radius: 999px;
    background: #b16d34;
    transform-origin: left center;
    animation: ww-wilolim-tail 1.2s ease-in-out infinite;
    z-index: 0;
}

.ww-wilolim-badge {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ww-wilolim-accent);
    color: #15303f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    border: 2px solid #fff;
    z-index: 4;
    overflow: hidden;
}

.ww-wilolim-badge img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Moods */
.ww-wilolim[data-mood="idle"] .ww-wilolim-dog { animation-duration: 3s; }
.ww-wilolim[data-mood="listening"] .ww-wilolim-ear { animation-duration: 1.8s; }
.ww-wilolim[data-mood="listening"] .ww-wilolim-brow { top: 10px; }
.ww-wilolim[data-mood="listening"] .ww-wilolim-dog::after {
    opacity: .55;
    transform: translateY(0) scale(1);
}
.ww-wilolim[data-mood="thinking"] .ww-wilolim-dog::after {
    opacity: .9;
    transform: translateY(-2px) scale(1);
    animation: ww-wilolim-think 1.15s ease-in-out infinite;
}
.ww-wilolim[data-mood="thinking"] .ww-wilolim-brow-left { transform: rotate(14deg); }
.ww-wilolim[data-mood="thinking"] .ww-wilolim-brow-right { transform: rotate(-14deg); }
.ww-wilolim[data-mood="thinking"] .ww-wilolim-mouth {
    width: 10px;
    border-bottom-width: 2px;
}
.ww-wilolim[data-mood="speaking"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="happy"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="excited"] .ww-wilolim-mouth {
    top: 9px;
    width: 15px;
    height: 10px;
    background: #80411c;
    border-bottom: 0;
    border-radius: 0 0 12px 12px;
    animation: ww-wilolim-talk .42s ease-in-out infinite;
}
.ww-wilolim[data-mood="speaking"] .ww-wilolim-tongue,
.ww-wilolim[data-mood="happy"] .ww-wilolim-tongue,
.ww-wilolim[data-mood="excited"] .ww-wilolim-tongue { opacity: .9; }
.ww-wilolim[data-mood="happy"] .ww-wilolim-cheek,
.ww-wilolim[data-mood="excited"] .ww-wilolim-cheek {
    opacity: .8;
    transform: scale(1.1);
}
.ww-wilolim[data-mood="happy"] .ww-wilolim-tail,
.ww-wilolim[data-mood="excited"] .ww-wilolim-tail,
.ww-wilolim[data-mood="speaking"] .ww-wilolim-tail {
    animation-duration: .45s;
}
.ww-wilolim[data-mood="happy"] .ww-wilolim-dog,
.ww-wilolim[data-mood="excited"] .ww-wilolim-dog {
    animation-duration: 1.65s;
}
.ww-wilolim[data-mood="excited"] .ww-wilolim-ear-left {
    transform: rotate(0deg) translateY(-1px);
}
.ww-wilolim[data-mood="excited"] .ww-wilolim-ear-right {
    transform: rotate(0deg) translateY(-1px);
}
.ww-wilolim[data-mood="excited"] .ww-wilolim-dog::after {
    opacity: 1;
    transform: translateY(-3px) scale(1.08);
}

@keyframes ww-wilolim-float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-4px) rotate(-1deg); }
}

@keyframes ww-wilolim-glow {
    0%, 100% { opacity: .72; transform: scale(1); }
    50% { opacity: .92; transform: scale(1.04); }
}

@keyframes ww-wilolim-ear {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 2px; }
}

@keyframes ww-wilolim-tail {
    0%, 100% { transform: rotate(18deg); }
    50% { transform: rotate(-16deg); }
}

@keyframes ww-wilolim-blink {
    0%, 92%, 100% { transform: scaleY(0); }
    94% { transform: scaleY(1); }
    95% { transform: scaleY(.12); }
    96% { transform: scaleY(1); }
}

@keyframes ww-wilolim-talk {
    0%, 100% { transform: translateX(-50%) scaleY(1); }
    50% { transform: translateX(-50%) scaleY(.7); }
}

@keyframes ww-wilolim-think {
    0%, 100% { opacity: .45; transform: translateY(2px) scale(.88); }
    50% { opacity: .95; transform: translateY(-4px) scale(1.05); }
}

@media (max-width: 560px) {
    .ww-wilolim {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }
    .ww-wilolim-launcher {
        float: right;
    }
    .ww-wilolim-left .ww-wilolim-launcher {
        float: left;
    }
    .ww-wilolim-panel,
    .ww-wilolim-right .ww-wilolim-panel,
    .ww-wilolim-left .ww-wilolim-panel {
        left: 0;
        right: 0;
        width: 100%;
        bottom: 76px;
        max-height: calc(100vh - 96px);
        border-radius: 20px;
    }
    .ww-wilolim-body {
        max-height: calc(100vh - 246px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ww-wilolim-dog,
    .ww-wilolim-dog::before,
    .ww-wilolim-dog::after,
    .ww-wilolim-ear,
    .ww-wilolim-tail,
    .ww-wilolim-eye::after,
    .ww-wilolim-mouth,
    .ww-wilolim-launcher,
    .ww-wilolim-chip,
    .ww-wilolim-mini-card {
        animation: none !important;
        transition: none !important;
    }
}


/* Premium v2.2.0: contextual mascot bubble, paws and micro-reactions */
.ww-wilolim-speech {
    position: absolute;
    right: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%) translateX(4px) scale(.98);
    min-width: 150px;
    max-width: 220px;
    padding: 8px 10px;
    border-radius: 16px 16px 6px 16px;
    background: #fff;
    color: var(--ww-wilolim-text);
    border: 1px solid var(--ww-wilolim-border);
    box-shadow: 0 10px 28px rgba(7, 42, 62, .16);
    font-size: 12px;
    line-height: 1.25;
    font-weight: 750;
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease, transform .24s ease;
    white-space: normal;
}

.ww-wilolim-left .ww-wilolim-speech {
    left: calc(100% + 10px);
    right: auto;
    border-radius: 16px 16px 16px 6px;
}

.ww-wilolim-speech::after {
    content: "";
    position: absolute;
    right: -6px;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translateY(-50%) rotate(45deg);
    background: #fff;
    border-right: 1px solid var(--ww-wilolim-border);
    border-top: 1px solid var(--ww-wilolim-border);
}

.ww-wilolim-left .ww-wilolim-speech::after {
    left: -6px;
    right: auto;
    border-right: 0;
    border-top: 0;
    border-left: 1px solid var(--ww-wilolim-border);
    border-bottom: 1px solid var(--ww-wilolim-border);
}

.ww-wilolim-speech.is-visible {
    opacity: 1;
    transform: translateY(-50%) translateX(0) scale(1);
}

.ww-wilolim-paw {
    position: absolute;
    bottom: 3px;
    width: 9px;
    height: 7px;
    border-radius: 50% 50% 45% 45%;
    background: #fff0d2;
    z-index: 5;
    box-shadow: inset 0 -1px 0 rgba(124,78,35,.16);
}

.ww-wilolim-paw-left { left: 18px; }
.ww-wilolim-paw-right { right: 18px; }

.ww-wilolim-sparkle {
    position: absolute;
    width: 7px;
    height: 7px;
    z-index: 6;
    opacity: 0;
    transform: scale(.6) rotate(20deg);
    pointer-events: none;
}

.ww-wilolim-sparkle::before,
.ww-wilolim-sparkle::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    background: var(--ww-wilolim-accent);
    border-radius: 999px;
}

.ww-wilolim-sparkle::before { width: 2px; height: 7px; }
.ww-wilolim-sparkle::after { width: 7px; height: 2px; }

.ww-wilolim-sparkle-one { left: -2px; top: 2px; }
.ww-wilolim-sparkle-two { right: 2px; top: 1px; animation-delay: .18s; }

.ww-wilolim[data-mood="happy"] .ww-wilolim-sparkle,
.ww-wilolim[data-mood="excited"] .ww-wilolim-sparkle,
.ww-wilolim[data-mood="found"] .ww-wilolim-sparkle {
    animation: ww-wilolim-spark .9s ease-in-out 2;
}

.ww-wilolim[data-mood="found"] .ww-wilolim-dog,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-dog {
    animation: ww-wilolim-celebrate .78s ease-in-out 1, ww-wilolim-float 2.4s ease-in-out infinite .78s;
}

.ww-wilolim[data-mood="found"] .ww-wilolim-tail,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-tail {
    animation-duration: .28s;
}

.ww-wilolim[data-mood="idle"] .ww-wilolim-nose {
    animation: ww-wilolim-sniff 4.8s ease-in-out infinite;
}

.ww-wilolim[data-mood="listening"] .ww-wilolim-paw-left {
    animation: ww-wilolim-paw-wave 1.4s ease-in-out infinite;
}

.ww-wilolim[data-mood="speaking"] .ww-wilolim-paw-right {
    animation: ww-wilolim-paw-wave .7s ease-in-out infinite;
}

.ww-wilolim[data-mood="thinking"] .ww-wilolim-pupil {
    animation: ww-wilolim-eye-search 1.2s ease-in-out infinite;
}

.ww-wilolim-panel:not([hidden]) {
    animation: ww-wilolim-panel-in .22s ease-out;
}

.ww-wilolim-message-bot:last-child {
    animation: ww-wilolim-message-in .18s ease-out;
}

@keyframes ww-wilolim-spark {
    0% { opacity: 0; transform: translateY(4px) scale(.45) rotate(0deg); }
    45% { opacity: 1; transform: translateY(-3px) scale(1.1) rotate(20deg); }
    100% { opacity: 0; transform: translateY(-8px) scale(.7) rotate(45deg); }
}

@keyframes ww-wilolim-celebrate {
    0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    25% { transform: translateY(-5px) rotate(-5deg) scale(1.03); }
    50% { transform: translateY(-2px) rotate(5deg) scale(1.02); }
    75% { transform: translateY(-6px) rotate(-3deg) scale(1.04); }
}

@keyframes ww-wilolim-sniff {
    0%, 92%, 100% { transform: translateX(-50%) scale(1); }
    94% { transform: translateX(-50%) scale(1.12, .88); }
    96% { transform: translateX(-50%) scale(.9, 1.08); }
}

@keyframes ww-wilolim-paw-wave {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-2px) rotate(-10deg); }
}

@keyframes ww-wilolim-eye-search {
    0%, 100% { transform: translate(-1px, 0); }
    50% { transform: translate(2px, 1px); }
}

@keyframes ww-wilolim-panel-in {
    from { opacity: 0; transform: translateY(8px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ww-wilolim-message-in {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
    .ww-wilolim-speech {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ww-wilolim-speech,
    .ww-wilolim-paw,
    .ww-wilolim-sparkle,
    .ww-wilolim-nose,
    .ww-wilolim-pupil,
    .ww-wilolim-panel,
    .ww-wilolim-message-bot:last-child {
        animation: none !important;
        transition: none !important;
    }
}


/* Premium v2.2.4: WILOLIM mascot based on the attached cocker photos
   Cream coat, long light-gold ears, large dark eyes, brown nose,
   small forehead mark, gentle tear lines, collar/tag and softer expressions. */
.ww-wilolim-dog {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    filter: drop-shadow(0 12px 16px rgba(34, 24, 15, .16));
    animation: ww-wilolim-wilo-breathe 3.6s ease-in-out infinite;
}

.ww-wilolim-header-avatar .ww-wilolim-dog,
.ww-wilolim-dog-compact {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
}

.ww-wilolim-dog::before {
    inset: 4px 3px 2px;
    background:
        radial-gradient(circle at 48% 22%, rgba(255,255,255,.96), rgba(255,255,255,0) 38%),
        radial-gradient(circle at 50% 72%, rgba(248,217,158,.42), rgba(248,217,158,0) 50%);
    opacity: .9;
}

.ww-wilolim-face {
    inset: 7px 8px 7px;
    background:
        radial-gradient(circle at 48% 18%, #fffdf4 0 20%, rgba(255,253,244,0) 34%),
        linear-gradient(175deg, #fff8e8 0%, #fff3d7 45%, #f5d19d 100%);
    border-radius: 47% 47% 52% 52% / 42% 42% 58% 58%;
    box-shadow:
        inset 0 -7px 0 rgba(189, 139, 78, .11),
        inset 8px 0 10px rgba(255,255,255,.24),
        inset -8px 0 12px rgba(182,132,75,.08);
    transform-origin: 50% 86%;
    animation: ww-wilolim-head-soft 5.4s ease-in-out infinite;
}

.ww-wilolim-ear {
    top: 10px;
    width: 22px;
    height: 43px;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 2px, rgba(174,120,60,.08) 2px 4px),
        linear-gradient(180deg, #efd09a 0%, #e7bd7e 48%, #c99052 100%);
    border-radius: 72% 72% 64% 64% / 26% 26% 74% 74%;
    box-shadow: inset 3px 0 7px rgba(255,255,255,.28), inset -3px -2px 8px rgba(111,73,36,.14);
    z-index: 1;
    animation: ww-wilolim-ear-soft 3.4s ease-in-out infinite;
}

.ww-wilolim-ear-left {
    left: 0;
    transform: rotate(8deg) translateY(1px);
}

.ww-wilolim-ear-right {
    right: 0;
    transform: rotate(-8deg) translateY(1px);
    animation-delay: .28s;
}

.ww-wilolim-ear-curl {
    position: absolute;
    left: 5px;
    right: 5px;
    bottom: 5px;
    height: 21px;
    border-left: 1px solid rgba(122,76,35,.16);
    border-right: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    opacity: .8;
}

.ww-wilolim-fur-shine {
    position: absolute;
    top: 5px;
    width: 10px;
    height: 25px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,0));
    opacity: .65;
    z-index: 2;
}

.ww-wilolim-fur-shine-left { left: 13px; transform: rotate(10deg); }
.ww-wilolim-fur-shine-right { right: 13px; transform: rotate(-10deg); opacity: .45; }

.ww-wilolim-forehead-spot {
    position: absolute;
    left: 50%;
    top: 11px;
    width: 5px;
    height: 7px;
    transform: translateX(-50%) rotate(8deg);
    border-radius: 50% 40% 45% 55%;
    background: rgba(151, 103, 55, .42);
    box-shadow: 0 1px 0 rgba(255,255,255,.25);
    z-index: 5;
}

.ww-wilolim-brow {
    top: 17px;
    width: 9px;
    height: 2px;
    background: rgba(132, 90, 49, .45);
    opacity: .75;
}

.ww-wilolim-brow-left { left: 11px; transform: rotate(-8deg); }
.ww-wilolim-brow-right { right: 11px; transform: rotate(8deg); }

.ww-wilolim-eye-shadow {
    position: absolute;
    top: 19px;
    width: 13px;
    height: 17px;
    border-radius: 52% 48% 58% 42%;
    background: rgba(98, 68, 42, .18);
    filter: blur(.15px);
    z-index: 3;
}

.ww-wilolim-eye-shadow-left {
    left: 8px;
    transform: rotate(6deg);
}

.ww-wilolim-eye-shadow-right {
    right: 8px;
    transform: rotate(-6deg);
}

.ww-wilolim-eye {
    top: 21px;
    width: 10px;
    height: 12px;
    background:
        radial-gradient(circle at 35% 27%, #ffffff 0 12%, rgba(255,255,255,.18) 13% 20%, transparent 22%),
        radial-gradient(circle at 54% 58%, #38261d 0 28%, #171211 57%, #060504 100%);
    border: 1px solid rgba(72, 45, 26, .34);
    box-shadow: 0 1px 2px rgba(66,40,23,.2), inset 0 -1px 1px rgba(255,255,255,.15);
    overflow: hidden;
}

.ww-wilolim-eye-left { left: 11px; }
.ww-wilolim-eye-right { right: 11px; }

.ww-wilolim-pupil {
    top: 2px;
    left: 2px;
    width: 6px;
    height: 6px;
    background: radial-gradient(circle at 35% 35%, #fff 0 16%, rgba(255,255,255,.2) 18% 26%, #110d0c 42% 100%);
    opacity: .92;
    transform: translate(var(--ww-wilolim-look-x), var(--ww-wilolim-look-y));
}

.ww-wilolim-eye::after {
    background: linear-gradient(180deg, rgba(255,248,232,0), rgba(255,248,232,0) 48%, rgba(255,248,232,.98) 53%, rgba(255,248,232,.98) 100%);
}

.ww-wilolim-tear {
    position: absolute;
    top: 31px;
    width: 5px;
    height: 16px;
    border-radius: 50% 45% 60% 55%;
    background: linear-gradient(180deg, rgba(84,52,31,.38), rgba(84,52,31,.18) 55%, rgba(84,52,31,0));
    z-index: 3;
}

.ww-wilolim-tear-left { left: 12px; transform: rotate(8deg); }
.ww-wilolim-tear-right { right: 12px; transform: rotate(-8deg); }

.ww-wilolim-cheek {
    bottom: 20px;
    background: rgba(244, 185, 160, .22);
}

.ww-wilolim-snout {
    bottom: 6px;
    width: 31px;
    height: 22px;
    background:
        radial-gradient(circle at 50% 17%, rgba(255,255,255,.72), rgba(255,255,255,0) 38%),
        linear-gradient(180deg, #fff9ea, #f2d6aa 92%);
    border-radius: 48% 48% 56% 56% / 38% 38% 66% 66%;
    box-shadow: inset 0 -2px 3px rgba(138, 91, 44, .1);
}

.ww-wilolim-muzzle-line {
    position: absolute;
    top: 8px;
    width: 11px;
    height: 7px;
    border-top: 1px solid rgba(103, 70, 41, .18);
    border-radius: 50%;
    opacity: .8;
}

.ww-wilolim-muzzle-line-left { left: 2px; transform: rotate(-10deg); }
.ww-wilolim-muzzle-line-right { right: 2px; transform: rotate(10deg); }

.ww-wilolim-nose {
    top: 2px;
    width: 13px;
    height: 10px;
    background: radial-gradient(circle at 36% 28%, #865b39 0 16%, #5b3424 48%, #2b1b17 100%);
    border-radius: 48% 52% 60% 60% / 42% 42% 70% 70%;
    box-shadow: 0 1px 1px rgba(63,35,21,.28);
}

.ww-wilolim-nose-shine {
    position: absolute;
    left: 3px;
    top: 2px;
    width: 4px;
    height: 2px;
    border-radius: 50%;
    background: rgba(255,255,255,.38);
}

.ww-wilolim-whisker-dots {
    position: absolute;
    top: 13px;
    width: 7px;
    height: 5px;
    opacity: .32;
    background-image: radial-gradient(circle, rgba(58,39,28,.7) 0 1px, transparent 1.2px);
    background-size: 4px 4px;
}

.ww-wilolim-whisker-dots-left { left: 4px; }
.ww-wilolim-whisker-dots-right { right: 4px; }

.ww-wilolim-mouth {
    top: 12px;
    width: 13px;
    height: 7px;
    border-bottom-color: rgba(96, 58, 34, .75);
}

.ww-wilolim-collar {
    position: absolute;
    left: 50%;
    bottom: -2px;
    width: 32px;
    height: 8px;
    transform: translateX(-50%);
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, rgba(67,64,56,.55), rgba(103,95,76,.76), rgba(67,64,56,.55));
    z-index: 2;
    opacity: .72;
}

.ww-wilolim-tag {
    position: absolute;
    left: 50%;
    bottom: -6px;
    width: 8px;
    height: 8px;
    transform: translateX(-50%) rotate(45deg);
    border-radius: 2px;
    background: var(--ww-wilolim-accent);
    border: 1px solid rgba(255,255,255,.75);
    box-shadow: 0 1px 2px rgba(0,0,0,.18);
}

.ww-wilolim-tail {
    right: -3px;
    top: 32px;
    width: 20px;
    height: 9px;
    background: linear-gradient(90deg, #f5d99e, #d6a061);
    z-index: 0;
}

.ww-wilolim-paw {
    bottom: 3px;
    width: 10px;
    height: 8px;
    background: linear-gradient(180deg, #fff9eb, #ecca96);
}

.ww-wilolim-paw-left { left: 17px; }
.ww-wilolim-paw-right { right: 17px; }

.ww-wilolim-badge {
    right: -4px;
    bottom: -4px;
    width: 23px;
    height: 23px;
}

.ww-wilolim-header-avatar .ww-wilolim-badge,
.ww-wilolim-dog-compact .ww-wilolim-badge {
    width: 19px;
    height: 19px;
}

.ww-wilolim[data-mood="idle"] .ww-wilolim-face {
    animation: ww-wilolim-head-soft 5.4s ease-in-out infinite;
}

.ww-wilolim[data-mood="listening"] .ww-wilolim-face {
    animation: ww-wilolim-head-listen 2.6s ease-in-out infinite;
}

.ww-wilolim[data-mood="thinking"] .ww-wilolim-face {
    animation: ww-wilolim-head-thinking 1.8s ease-in-out infinite;
}

.ww-wilolim[data-mood="happy"] .ww-wilolim-eye,
.ww-wilolim[data-mood="excited"] .ww-wilolim-eye,
.ww-wilolim[data-mood="found"] .ww-wilolim-eye {
    transform: scaleY(.92);
}

.ww-wilolim[data-mood="speaking"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="happy"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="excited"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="found"] .ww-wilolim-mouth {
    top: 11px;
    width: 15px;
    height: 9px;
    background: #6d3b25;
    border-bottom: 0;
    border-radius: 0 0 12px 12px;
}

.ww-wilolim[data-mood="thinking"] .ww-wilolim-ear-left {
    transform: rotate(4deg) translateY(2px);
}

.ww-wilolim[data-mood="thinking"] .ww-wilolim-ear-right {
    transform: rotate(-4deg) translateY(2px);
}

.ww-wilolim[data-mood="happy"] .ww-wilolim-ear-left,
.ww-wilolim[data-mood="excited"] .ww-wilolim-ear-left,
.ww-wilolim[data-mood="found"] .ww-wilolim-ear-left {
    transform: rotate(2deg) translateY(-1px);
}

.ww-wilolim[data-mood="happy"] .ww-wilolim-ear-right,
.ww-wilolim[data-mood="excited"] .ww-wilolim-ear-right,
.ww-wilolim[data-mood="found"] .ww-wilolim-ear-right {
    transform: rotate(-2deg) translateY(-1px);
}

@keyframes ww-wilolim-wilo-breathe {
    0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    50% { transform: translateY(-3px) rotate(-.7deg) scale(1.015); }
}

@keyframes ww-wilolim-head-soft {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(-1.5deg) translateY(-1px); }
}

@keyframes ww-wilolim-head-listen {
    0%, 100% { transform: rotate(0deg); }
    50% { transform: rotate(2.4deg) translateY(-1px); }
}

@keyframes ww-wilolim-head-thinking {
    0%, 100% { transform: rotate(-2deg); }
    50% { transform: rotate(2deg); }
}

@keyframes ww-wilolim-ear-soft {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 1.5px; }
}

@media (prefers-reduced-motion: reduce) {
    .ww-wilolim-face,
    .ww-wilolim-fur-shine,
    .ww-wilolim-ear-curl {
        animation: none !important;
        transition: none !important;
    }
}


/* Premium v2.2.6: closer WILOLIM cocker likeness from the reference photos.
   Longer cream profile, golden feathered ears, soft tear marks, brown nose,
   visible neck/collar and optional sweater-like body detail. */
.ww-wilolim-dog {
    width: 72px;
    height: 66px;
    flex: 0 0 72px;
    overflow: visible;
    filter: drop-shadow(0 13px 18px rgba(42, 28, 14, .18));
}

.ww-wilolim-header-avatar .ww-wilolim-dog,
.ww-wilolim-dog-compact {
    width: 56px;
    height: 54px;
    flex-basis: 56px;
}

.ww-wilolim-body-coat {
    position: absolute;
    left: 7px;
    right: 9px;
    bottom: 5px;
    height: 25px;
    border-radius: 50% 46% 42% 45% / 56% 60% 36% 38%;
    background: linear-gradient(180deg, #fff7e5 0%, #f4d5a2 72%, #e4b574 100%);
    box-shadow: inset 8px 0 12px rgba(255,255,255,.38), inset -6px -3px 9px rgba(132,89,39,.12);
    z-index: 0;
    opacity: .96;
}

.ww-wilolim-sweater {
    position: absolute;
    left: 15px;
    right: 6px;
    bottom: -1px;
    height: 15px;
    border-radius: 10px 12px 14px 10px;
    background: linear-gradient(90deg, #6d6f74 0 32%, #2f435b 32% 48%, #e9ece7 48% 56%, #6d6f74 56% 100%);
    opacity: .86;
    overflow: hidden;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.18);
}

.ww-wilolim-sweater-pattern {
    position: absolute;
    inset: 0;
    opacity: .42;
    background:
        repeating-linear-gradient(135deg, transparent 0 5px, rgba(255,255,255,.9) 5px 6px, transparent 6px 11px),
        repeating-linear-gradient(45deg, transparent 0 7px, rgba(0,0,0,.18) 7px 8px, transparent 8px 14px);
}

.ww-wilolim-neck {
    position: absolute;
    left: 25px;
    bottom: 12px;
    width: 25px;
    height: 22px;
    border-radius: 48% 52% 48% 52%;
    background: linear-gradient(180deg, #fff6e1, #e8bd7c);
    z-index: 1;
    transform: rotate(-4deg);
}

.ww-wilolim-face {
    inset: 5px 22px 13px 11px;
    border-radius: 58% 42% 55% 50% / 48% 40% 60% 54%;
    background:
        radial-gradient(circle at 47% 16%, #fffef4 0 22%, rgba(255,254,244,0) 39%),
        radial-gradient(circle at 22% 60%, rgba(255,255,255,.72), transparent 36%),
        linear-gradient(170deg, #fff9e8 0%, #fff1cf 58%, #eec489 100%);
    transform-origin: 62% 88%;
}

.ww-wilolim-face::after {
    content: "";
    position: absolute;
    right: -19px;
    bottom: 9px;
    width: 34px;
    height: 20px;
    border-radius: 62% 48% 54% 42% / 50% 45% 58% 52%;
    background: linear-gradient(180deg, #fff7e8 0%, #f5ddb7 100%);
    box-shadow: inset -2px -2px 4px rgba(119,78,38,.08);
    z-index: 2;
}

.ww-wilolim-ear {
    top: 8px;
    width: 23px;
    height: 48px;
    border-radius: 74% 72% 62% 68% / 22% 25% 78% 76%;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.18) 0 1px, rgba(124,81,38,.06) 1px 4px),
        linear-gradient(180deg, #f5dca7 0%, #eac587 42%, #c98b48 100%);
    box-shadow: inset 5px 0 8px rgba(255,255,255,.34), inset -4px -3px 10px rgba(94,55,24,.18);
}

.ww-wilolim-ear-left { left: 1px; transform: rotate(5deg) translateY(1px); }
.ww-wilolim-ear-right { right: 17px; transform: rotate(-4deg) translateY(2px) scaleX(.9); opacity: .82; }

.ww-wilolim-ear-curl {
    left: 4px;
    right: 4px;
    bottom: 6px;
    height: 28px;
    border-left: 1px solid rgba(94,55,24,.18);
    border-right: 1px solid rgba(255,255,255,.24);
    box-shadow: 4px 0 0 -3px rgba(94,55,24,.18), -4px 0 0 -3px rgba(255,255,255,.28);
}

.ww-wilolim-forehead-spot {
    top: 10px;
    width: 6px;
    height: 8px;
    background: rgba(145, 94, 44, .38);
}

.ww-wilolim-eye-shadow-left {
    left: 12px;
    top: 20px;
    width: 13px;
    height: 20px;
    background: linear-gradient(180deg, rgba(78,45,26,.36), rgba(78,45,26,.12) 70%, transparent);
}

.ww-wilolim-eye-shadow-right {
    right: -5px;
    top: 21px;
    width: 10px;
    height: 16px;
    opacity: .22;
}

.ww-wilolim-eye-left {
    left: 14px;
    top: 21px;
    width: 11px;
    height: 13px;
}

.ww-wilolim-eye-right {
    right: -4px;
    top: 22px;
    width: 8px;
    height: 10px;
    opacity: .74;
}

.ww-wilolim-tear-left {
    left: 15px;
    top: 33px;
    height: 17px;
    background: linear-gradient(180deg, rgba(83,47,25,.45), rgba(83,47,25,.18) 65%, transparent);
}

.ww-wilolim-tear-right { right: -2px; opacity: .2; }

.ww-wilolim-snout {
    left: auto;
    right: -20px;
    bottom: 7px;
    width: 38px;
    height: 22px;
    transform: none;
    border-radius: 66% 45% 52% 56% / 48% 42% 58% 55%;
    background: linear-gradient(180deg, #fff9ec 0%, #f4dcb7 100%);
    z-index: 4;
}

.ww-wilolim-nose {
    left: auto;
    right: -3px;
    top: 5px;
    width: 15px;
    height: 12px;
    transform: rotate(-4deg);
    background: radial-gradient(circle at 35% 30%, #9b6d47 0 15%, #6a402b 48%, #2c1b16 100%);
    border-radius: 55% 45% 62% 60% / 48% 44% 68% 64%;
}

.ww-wilolim-whisker-dots-left { left: 12px; top: 13px; }
.ww-wilolim-whisker-dots-right { right: 12px; top: 13px; opacity: .22; }
.ww-wilolim-mouth { left: 54%; top: 13px; width: 16px; }

.ww-wilolim-collar {
    bottom: 4px;
    left: 39px;
    width: 25px;
    height: 7px;
    background: linear-gradient(90deg, #2f3237, #737064, #2f3237);
    z-index: 5;
}

.ww-wilolim-tag {
    width: 7px;
    height: 7px;
    bottom: -7px;
    background: linear-gradient(135deg, var(--ww-wilolim-accent), #d79020);
}

.ww-wilolim-tail {
    right: 2px;
    top: 38px;
    width: 19px;
    height: 8px;
    opacity: .72;
}

.ww-wilolim-paw-left { left: 24px; bottom: 2px; }
.ww-wilolim-paw-right { right: 22px; bottom: 2px; }

.ww-wilolim-badge {
    right: -5px;
    bottom: -5px;
    z-index: 8;
}

.ww-wilolim[data-mood="listening"] .ww-wilolim-face { animation: ww-wilolim-head-listen-real .95s ease-in-out infinite; }
.ww-wilolim[data-mood="thinking"] .ww-wilolim-face { animation: ww-wilolim-head-thinking-real 1.35s ease-in-out infinite; }
.ww-wilolim[data-mood="happy"] .ww-wilolim-ear-left,
.ww-wilolim[data-mood="excited"] .ww-wilolim-ear-left,
.ww-wilolim[data-mood="found"] .ww-wilolim-ear-left { transform: rotate(1deg) translateY(-2px); }
.ww-wilolim[data-mood="happy"] .ww-wilolim-ear-right,
.ww-wilolim[data-mood="excited"] .ww-wilolim-ear-right,
.ww-wilolim[data-mood="found"] .ww-wilolim-ear-right { transform: rotate(-1deg) translateY(-1px) scaleX(.9); }

@keyframes ww-wilolim-head-listen-real {
    0%, 100% { transform: rotate(-1deg) translateY(0); }
    50% { transform: rotate(3deg) translateY(-1px); }
}

@keyframes ww-wilolim-head-thinking-real {
    0%, 100% { transform: rotate(-3deg) translateY(0); }
    50% { transform: rotate(2deg) translateY(-1px); }
}

@media (prefers-reduced-motion: reduce) {
    .ww-wilolim-body-coat,
    .ww-wilolim-sweater,
    .ww-wilolim-neck {
        animation: none !important;
        transition: none !important;
    }
}


/* v2.2.7 mascot cleanup: replace the layered CSS mascot with a cleaner SVG-based mascot
   so it scales consistently and keeps a pleasant likeness to the provided photos. */
.ww-wilolim-dog {
    position: relative;
    display: inline-block;
    width: 68px;
    height: 68px;
    flex: 0 0 68px;
    overflow: visible;
    filter: drop-shadow(0 10px 16px rgba(32, 21, 12, .16));
    animation: none;
}

.ww-wilolim-header-avatar .ww-wilolim-dog,
.ww-wilolim-dog-compact {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
}

.ww-wilolim-dog::before,
.ww-wilolim-dog::after,
.ww-wilolim-dog > :not(svg):not(.ww-wilolim-badge),
.ww-wilolim-dog .ww-wilolim-face,
.ww-wilolim-dog .ww-wilolim-ear,
.ww-wilolim-dog .ww-wilolim-tail,
.ww-wilolim-dog .ww-wilolim-paw,
.ww-wilolim-dog .ww-wilolim-sparkle,
.ww-wilolim-dog .ww-wilolim-neck,
.ww-wilolim-dog .ww-wilolim-body-coat,
.ww-wilolim-dog .ww-wilolim-sweater,
.ww-wilolim-dog .ww-wilolim-brow,
.ww-wilolim-dog .ww-wilolim-eye-shadow,
.ww-wilolim-dog .ww-wilolim-cheek,
.ww-wilolim-dog .ww-wilolim-snout,
.ww-wilolim-dog .ww-wilolim-collar,
.ww-wilolim-dog .ww-wilolim-tag,
.ww-wilolim-dog .ww-wilolim-fur-shine,
.ww-wilolim-dog .ww-wilolim-forehead-spot,
.ww-wilolim-dog .ww-wilolim-tear,
.ww-wilolim-dog .ww-wilolim-mouth,
.ww-wilolim-dog .ww-wilolim-nose,
.ww-wilolim-dog .ww-wilolim-pupil {
    all: unset;
}

.ww-wilolim-dog-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.ww-wilolim-dog-svg * {
    vector-effect: non-scaling-stroke;
    transform-box: fill-box;
    transform-origin: center;
}

.ww-wilolim-svg-wrap {
    transform-origin: 42px 62px;
    animation: ww-wilolim-svg-breathe 3.6s ease-in-out infinite;
}

.ww-wilolim-body-group,
.ww-wilolim-neck-group {
    transform-origin: 45px 60px;
}

.ww-wilolim-head-group {
    transform-origin: 48px 39px;
    animation: ww-wilolim-svg-head-idle 4.8s ease-in-out infinite;
}

.ww-wilolim-ear-group-left,
.ww-wilolim-ear-group-right {
    animation: ww-wilolim-svg-ear 3.2s ease-in-out infinite;
}

.ww-wilolim-ear-group-left { transform-origin: 24px 20px; }
.ww-wilolim-ear-group-right { transform-origin: 52px 20px; animation-delay: .2s; }

.ww-wilolim-dog-shadow {
    fill: rgba(15, 30, 40, .12);
}

.ww-wilolim-body {
    fill: url(#none);
    fill: #f5dfb4;
}

.ww-wilolim-body,
.ww-wilolim-neck,
.ww-wilolim-head,
.ww-wilolim-snoutext {
    stroke: rgba(168, 122, 73, .28);
    stroke-width: .7;
}

.ww-wilolim-body {
    fill: #f4d9ab;
}

.ww-wilolim-sweater {
    fill: #7c8290;
}

.ww-wilolim-sweater-stripe {
    fill: none;
    stroke: rgba(255,255,255,.6);
    stroke-width: 1.1;
    stroke-linecap: round;
}

.ww-wilolim-tail {
    fill: none;
    stroke: #e4bf88;
    stroke-width: 5;
    stroke-linecap: round;
}

.ww-wilolim-neck {
    fill: #f8e8c7;
}

.ww-wilolim-collar {
    fill: none;
    stroke: #6d5238;
    stroke-width: 2.2;
    stroke-linecap: round;
}

.ww-wilolim-tag {
    fill: var(--ww-wilolim-accent);
    stroke: rgba(255,255,255,.8);
    stroke-width: 1;
}

.ww-wilolim-ear {
    fill: #e8c38f;
    stroke: rgba(151, 104, 53, .28);
    stroke-width: .7;
}

.ww-wilolim-ear-inner {
    fill: none;
    stroke: rgba(255,255,255,.45);
    stroke-width: 1.1;
    stroke-linecap: round;
}

.ww-wilolim-head {
    fill: #fbf2dd;
}

.ww-wilolim-head-glow {
    fill: rgba(255,255,255,.66);
}

.ww-wilolim-forehead-mark {
    fill: rgba(165, 121, 69, .45);
}

.ww-wilolim-snoutext {
    fill: #f8ecd2;
}

.ww-wilolim-snoutext-highlight {
    fill: none;
    stroke: rgba(255,255,255,.68);
    stroke-width: 1.25;
    stroke-linecap: round;
}

.ww-wilolim-eye-shadow {
    fill: none;
    stroke: rgba(115, 78, 46, .24);
    stroke-width: 2;
    stroke-linecap: round;
}

.ww-wilolim-tear {
    fill: none;
    stroke: rgba(101, 70, 43, .35);
    stroke-width: 1.8;
    stroke-linecap: round;
}

.ww-wilolim-eye {
    fill: #221815;
}

.ww-wilolim-pupil {
    fill: #0b0807;
    transform: translate(var(--ww-wilolim-look-x), var(--ww-wilolim-look-y));
}

.ww-wilolim-eye-spark {
    fill: rgba(255,255,255,.92);
}

.ww-wilolim-lid {
    fill: #fbf2dd;
    animation: ww-wilolim-svg-blink 6s infinite;
}

.ww-wilolim-nose {
    fill: #7b5539;
}

.ww-wilolim-nose-shine {
    fill: rgba(255,255,255,.45);
}

.ww-wilolim-mouth {
    fill: none;
    stroke: rgba(98, 62, 39, .8);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ww-wilolim-whisker-dot {
    fill: rgba(94, 62, 39, .42);
}

.ww-wilolim-badge {
    position: absolute;
    right: -3px;
    bottom: -2px;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: var(--ww-wilolim-accent);
    color: #15303f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    border: 2px solid #fff;
    z-index: 3;
    overflow: hidden;
}

.ww-wilolim-header-avatar .ww-wilolim-badge,
.ww-wilolim-dog-compact .ww-wilolim-badge {
    width: 18px;
    height: 18px;
    font-size: 10px;
}

.ww-wilolim-badge img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ww-wilolim[data-mood="listening"] .ww-wilolim-head-group {
    animation: ww-wilolim-svg-head-listen 2.2s ease-in-out infinite;
}

.ww-wilolim[data-mood="thinking"] .ww-wilolim-head-group {
    animation: ww-wilolim-svg-head-thinking 1.6s ease-in-out infinite;
}

.ww-wilolim[data-mood="happy"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="excited"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="found"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-head-group {
    animation: ww-wilolim-svg-head-happy 1.5s ease-in-out infinite;
}

.ww-wilolim[data-mood="thinking"] .ww-wilolim-ear-group-left { transform: rotate(3deg); }
.ww-wilolim[data-mood="thinking"] .ww-wilolim-ear-group-right { transform: rotate(-3deg); }

.ww-wilolim[data-mood="happy"] .ww-wilolim-tail,
.ww-wilolim[data-mood="excited"] .ww-wilolim-tail,
.ww-wilolim[data-mood="found"] .ww-wilolim-tail,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-tail {
    animation: ww-wilolim-svg-tail-fast .45s ease-in-out infinite;
}

.ww-wilolim[data-mood="speaking"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="happy"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="excited"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="found"] .ww-wilolim-mouth,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-mouth {
    stroke-width: 2.3;
}

@keyframes ww-wilolim-svg-breathe {
    0%,100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-1.4px) scale(1.012); }
}

@keyframes ww-wilolim-svg-head-idle {
    0%,100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(-1.4deg) translateY(-.6px); }
}

@keyframes ww-wilolim-svg-head-listen {
    0%,100% { transform: rotate(0deg); }
    50% { transform: rotate(4deg) translateY(-.5px); }
}

@keyframes ww-wilolim-svg-head-thinking {
    0%,100% { transform: rotate(-3deg); }
    50% { transform: rotate(3deg); }
}

@keyframes ww-wilolim-svg-head-happy {
    0%,100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(2deg) translateY(-1px); }
}

@keyframes ww-wilolim-svg-ear {
    0%,100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(2deg) translateY(1px); }
}

@keyframes ww-wilolim-svg-blink {
    0%, 93%, 100% { ry: 0; }
    95% { ry: 5.3; }
    96% { ry: 0; }
}

@keyframes ww-wilolim-svg-tail-fast {
    0%,100% { transform: rotate(0deg); }
    50% { transform: rotate(11deg); }
}

@media (prefers-reduced-motion: reduce) {
    .ww-wilolim-svg-wrap,
    .ww-wilolim-head-group,
    .ww-wilolim-ear-group-left,
    .ww-wilolim-ear-group-right,
    .ww-wilolim-tail,
    .ww-wilolim-lid {
        animation: none !important;
    }
}


/* v2.2.8 mascot refinement: robust inline-styled SVG mascot so it always renders correctly. */
.ww-wilolim .ww-wilolim-dog {
    position: relative;
    display: inline-block;
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
    overflow: visible;
    filter: drop-shadow(0 9px 15px rgba(27, 18, 10, .16));
    animation: none !important;
}

.ww-wilolim .ww-wilolim-header-avatar .ww-wilolim-dog,
.ww-wilolim .ww-wilolim-dog-compact {
    width: 50px !important;
    height: 50px !important;
    flex: 0 0 50px !important;
}

.ww-wilolim .ww-wilolim-dog::before,
.ww-wilolim .ww-wilolim-dog::after {
    display: none !important;
    content: none !important;
}

.ww-wilolim .ww-wilolim-dog-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.ww-wilolim .ww-wilolim-mascot-root,
.ww-wilolim .ww-wilolim-mascot-root * {
    transform-box: fill-box;
    transform-origin: center;
}

.ww-wilolim .ww-wilolim-mascot-root {
    animation: ww-wilolim-mascot-breathe 3.7s ease-in-out infinite;
}

.ww-wilolim .ww-wilolim-mascot-head-group {
    transform-origin: 48px 40px;
    animation: ww-wilolim-mascot-head-idle 4.8s ease-in-out infinite;
}

.ww-wilolim .ww-wilolim-mascot-ear-back,
.ww-wilolim .ww-wilolim-mascot-ear-front {
    transform-origin: center top;
    animation: ww-wilolim-mascot-ear 3.1s ease-in-out infinite;
}

.ww-wilolim .ww-wilolim-mascot-ear-front { animation-delay: .2s; }

.ww-wilolim .ww-wilolim-mascot-shadow { fill: rgba(17, 28, 38, .11); }
.ww-wilolim .ww-wilolim-mascot-body { fill: #f3d8a9; stroke: rgba(161, 115, 65, .22); stroke-width: .7; }
.ww-wilolim .ww-wilolim-mascot-neck { fill: #f8e7c6; stroke: rgba(161,115,65,.18); stroke-width: .65; }
.ww-wilolim .ww-wilolim-mascot-sweater { fill: #798293; }
.ww-wilolim .ww-wilolim-mascot-sweater-line { fill: none; stroke: rgba(255,255,255,.62); stroke-width: 1.05; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-mascot-tail { fill: none; stroke: #e5bf89; stroke-width: 4.5; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-mascot-head { fill: #fbf3e0; stroke: rgba(161,115,65,.22); stroke-width: .7; }
.ww-wilolim .ww-wilolim-mascot-head-glow { fill: rgba(255,255,255,.64); }
.ww-wilolim .ww-wilolim-mascot-mark { fill: rgba(162, 115, 67, .45); }
.ww-wilolim .ww-wilolim-mascot-ear-back,
.ww-wilolim .ww-wilolim-mascot-ear-front { fill: #e8c38d; stroke: rgba(154,108,58,.2); stroke-width: .7; }
.ww-wilolim .ww-wilolim-mascot-muzzle { fill: #f7ecd4; stroke: rgba(161,115,65,.18); stroke-width: .6; }
.ww-wilolim .ww-wilolim-mascot-muzzle-glow { fill: none; stroke: rgba(255,255,255,.7); stroke-width: 1.1; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-mascot-eye-shadow { fill: none; stroke: rgba(112, 76, 47, .23); stroke-width: 1.8; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-mascot-tear { fill: none; stroke: rgba(94, 65, 39, .35); stroke-width: 1.6; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-mascot-eye { fill: #231815; }
.ww-wilolim .ww-wilolim-mascot-pupil { fill: #0d0908; transform: translate(var(--ww-wilolim-look-x), var(--ww-wilolim-look-y)); }
.ww-wilolim .ww-wilolim-mascot-eye-spark { fill: rgba(255,255,255,.96); }
.ww-wilolim .ww-wilolim-mascot-lid { fill: #fbf3e0; animation: ww-wilolim-mascot-blink 6s infinite; }
.ww-wilolim .ww-wilolim-mascot-nose { fill: #7a573b; }
.ww-wilolim .ww-wilolim-mascot-nose-shine { fill: rgba(255,255,255,.44); }
.ww-wilolim .ww-wilolim-mascot-mouth,
.ww-wilolim .ww-wilolim-mascot-smile { fill: none; stroke: rgba(96, 61, 36, .82); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.ww-wilolim .ww-wilolim-mascot-whisker-dot { fill: rgba(92, 62, 38, .4); }
.ww-wilolim .ww-wilolim-mascot-collar { fill: none; stroke: #6e543b; stroke-width: 2.1; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-mascot-tag { fill: var(--ww-wilolim-accent); stroke: rgba(255,255,255,.8); stroke-width: .9; }

.ww-wilolim[data-mood="listening"] .ww-wilolim-mascot-head-group {
    animation: ww-wilolim-mascot-head-listen 2.2s ease-in-out infinite;
}

.ww-wilolim[data-mood="thinking"] .ww-wilolim-mascot-head-group {
    animation: ww-wilolim-mascot-head-thinking 1.5s ease-in-out infinite;
}

.ww-wilolim[data-mood="happy"] .ww-wilolim-mascot-head-group,
.ww-wilolim[data-mood="excited"] .ww-wilolim-mascot-head-group,
.ww-wilolim[data-mood="found"] .ww-wilolim-mascot-head-group,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-mascot-head-group {
    animation: ww-wilolim-mascot-head-happy 1.4s ease-in-out infinite;
}

.ww-wilolim[data-mood="happy"] .ww-wilolim-mascot-tail,
.ww-wilolim[data-mood="excited"] .ww-wilolim-mascot-tail,
.ww-wilolim[data-mood="found"] .ww-wilolim-mascot-tail,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-mascot-tail {
    animation: ww-wilolim-mascot-tail-fast .46s ease-in-out infinite;
}

.ww-wilolim[data-mood="thinking"] .ww-wilolim-mascot-ear-back,
.ww-wilolim[data-mood="thinking"] .ww-wilolim-mascot-ear-front {
    animation-duration: 1.8s;
}

.ww-wilolim[data-mood="speaking"] .ww-wilolim-mascot-mouth,
.ww-wilolim[data-mood="happy"] .ww-wilolim-mascot-mouth,
.ww-wilolim[data-mood="excited"] .ww-wilolim-mascot-mouth,
.ww-wilolim[data-mood="found"] .ww-wilolim-mascot-mouth,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-mascot-mouth {
    stroke-width: 2.2;
}

.ww-wilolim .ww-wilolim-badge {
    position: absolute;
    right: -2px;
    bottom: -1px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ww-wilolim-accent);
    color: #15303f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    border: 2px solid #fff;
    z-index: 2;
    overflow: hidden;
}

.ww-wilolim .ww-wilolim-header-avatar .ww-wilolim-badge,
.ww-wilolim .ww-wilolim-dog-compact .ww-wilolim-badge {
    width: 18px;
    height: 18px;
    font-size: 10px;
}

.ww-wilolim .ww-wilolim-badge img { width: 100%; height: 100%; object-fit: cover; }

@keyframes ww-wilolim-mascot-breathe {
    0%,100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-1.3px) scale(1.01); }
}

@keyframes ww-wilolim-mascot-head-idle {
    0%,100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(-1.2deg) translateY(-.5px); }
}

@keyframes ww-wilolim-mascot-head-listen {
    0%,100% { transform: rotate(0deg); }
    50% { transform: rotate(4deg) translateY(-.5px); }
}

@keyframes ww-wilolim-mascot-head-thinking {
    0%,100% { transform: rotate(-3deg); }
    50% { transform: rotate(3deg); }
}

@keyframes ww-wilolim-mascot-head-happy {
    0%,100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(2deg) translateY(-1px); }
}

@keyframes ww-wilolim-mascot-ear {
    0%,100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(2deg) translateY(1px); }
}

@keyframes ww-wilolim-mascot-blink {
    0%,93%,100% { ry: 0; }
    95% { ry: 5.4; }
    96% { ry: 0; }
}

@keyframes ww-wilolim-mascot-tail-fast {
    0%,100% { transform: rotate(0deg); }
    50% { transform: rotate(10deg); }
}

@media (prefers-reduced-motion: reduce) {
    .ww-wilolim .ww-wilolim-mascot-root,
    .ww-wilolim .ww-wilolim-mascot-head-group,
    .ww-wilolim .ww-wilolim-mascot-ear-back,
    .ww-wilolim .ww-wilolim-mascot-ear-front,
    .ww-wilolim .ww-wilolim-mascot-tail,
    .ww-wilolim .ww-wilolim-mascot-lid {
        animation: none !important;
    }
}

/* v2.2.9 definitive mascot fix: inline-colored SVG with only transform/animation CSS.
   This avoids dark silhouette rendering when theme/plugin CSS interferes. */
.ww-wilolim .ww-wilolim-dog {
    position: relative;
    display: inline-block;
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
    overflow: visible;
    filter: drop-shadow(0 9px 15px rgba(27,18,10,.16));
    animation: none !important;
}
.ww-wilolim .ww-wilolim-header-avatar .ww-wilolim-dog,
.ww-wilolim .ww-wilolim-dog-compact {
    width: 50px !important;
    height: 50px !important;
    flex: 0 0 50px !important;
}
.ww-wilolim .ww-wilolim-dog::before,
.ww-wilolim .ww-wilolim-dog::after {
    display: none !important;
    content: none !important;
}
.ww-wilolim .ww-wilolim-dog-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}
.ww-wilolim .ww-wilolim-mascot-breath,
.ww-wilolim .ww-wilolim-head-group,
.ww-wilolim .ww-wilolim-ear-left-group,
.ww-wilolim .ww-wilolim-ear-right-group,
.ww-wilolim .ww-wilolim-tail-group,
.ww-wilolim .ww-wilolim-pupil-left,
.ww-wilolim .ww-wilolim-lid-left,
.ww-wilolim .ww-wilolim-mouth-main,
.ww-wilolim .ww-wilolim-mouth-smile {
    transform-box: fill-box;
    transform-origin: center;
}
.ww-wilolim .ww-wilolim-mascot-breath { animation: ww-wilolim-mascot-breathe-v229 3.6s ease-in-out infinite; }
.ww-wilolim .ww-wilolim-head-group { transform-origin: 48px 40px; animation: ww-wilolim-mascot-head-idle-v229 4.8s ease-in-out infinite; }
.ww-wilolim .ww-wilolim-ear-left-group { transform-origin: 30px 18px; animation: ww-wilolim-mascot-ear-v229 3s ease-in-out infinite; }
.ww-wilolim .ww-wilolim-ear-right-group { transform-origin: 58px 18px; animation: ww-wilolim-mascot-ear-v229 3s ease-in-out infinite .2s; }
.ww-wilolim .ww-wilolim-tail-group { transform-origin: 72px 60px; }
.ww-wilolim .ww-wilolim-lid-left { animation: ww-wilolim-mascot-blink-v229 6s infinite; }
.ww-wilolim[data-mood="listening"] .ww-wilolim-head-group { animation: ww-wilolim-mascot-head-listen-v229 2.2s ease-in-out infinite; }
.ww-wilolim[data-mood="thinking"] .ww-wilolim-head-group { animation: ww-wilolim-mascot-head-thinking-v229 1.5s ease-in-out infinite; }
.ww-wilolim[data-mood="happy"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="excited"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="found"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-head-group { animation: ww-wilolim-mascot-head-happy-v229 1.4s ease-in-out infinite; }
.ww-wilolim[data-mood="happy"] .ww-wilolim-tail-group,
.ww-wilolim[data-mood="excited"] .ww-wilolim-tail-group,
.ww-wilolim[data-mood="found"] .ww-wilolim-tail-group,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-tail-group { animation: ww-wilolim-mascot-tail-v229 .45s ease-in-out infinite; }
.ww-wilolim[data-mood="speaking"] .ww-wilolim-mouth-main,
.ww-wilolim[data-mood="speaking"] .ww-wilolim-mouth-smile,
.ww-wilolim[data-mood="happy"] .ww-wilolim-mouth-main,
.ww-wilolim[data-mood="happy"] .ww-wilolim-mouth-smile,
.ww-wilolim[data-mood="excited"] .ww-wilolim-mouth-main,
.ww-wilolim[data-mood="excited"] .ww-wilolim-mouth-smile,
.ww-wilolim[data-mood="found"] .ww-wilolim-mouth-main,
.ww-wilolim[data-mood="found"] .ww-wilolim-mouth-smile { transform: translateY(-.3px) scale(1.02); }
.ww-wilolim .ww-wilolim-badge {
    position: absolute;
    right: -2px;
    bottom: -1px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ww-wilolim-accent);
    color: #15303f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 950;
    border: 2px solid #fff;
    z-index: 2;
    overflow: hidden;
}
.ww-wilolim .ww-wilolim-header-avatar .ww-wilolim-badge,
.ww-wilolim .ww-wilolim-dog-compact .ww-wilolim-badge { width: 18px; height: 18px; font-size: 10px; }
.ww-wilolim .ww-wilolim-badge img { width: 100%; height: 100%; object-fit: cover; }
@keyframes ww-wilolim-mascot-breathe-v229 { 0%,100%{transform:translateY(0) scale(1);} 50%{transform:translateY(-1.2px) scale(1.01);} }
@keyframes ww-wilolim-mascot-head-idle-v229 { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(-1.15deg) translateY(-.4px)} }
@keyframes ww-wilolim-mascot-head-listen-v229 { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(4deg) translateY(-.4px)} }
@keyframes ww-wilolim-mascot-head-thinking-v229 { 0%,100%{transform:rotate(-3deg)} 50%{transform:rotate(3deg)} }
@keyframes ww-wilolim-mascot-head-happy-v229 { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(2deg) translateY(-.8px)} }
@keyframes ww-wilolim-mascot-ear-v229 { 0%,100%{transform:rotate(0deg) translateY(0)} 50%{transform:rotate(2deg) translateY(1px)} }
@keyframes ww-wilolim-mascot-tail-v229 { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(12deg)} }
@keyframes ww-wilolim-mascot-blink-v229 { 0%,93%,100%{ry:0;} 95%{ry:5.4;} 96%{ry:0;} }
@media (prefers-reduced-motion: reduce) {
  .ww-wilolim .ww-wilolim-mascot-breath,
  .ww-wilolim .ww-wilolim-head-group,
  .ww-wilolim .ww-wilolim-ear-left-group,
  .ww-wilolim .ww-wilolim-ear-right-group,
  .ww-wilolim .ww-wilolim-tail-group,
  .ww-wilolim .ww-wilolim-lid-left { animation: none !important; }
}


/* v2.3.1 mascot refinement: both eyes, both ears, and improved nose. */
.ww-wilolim .ww-wilolim-head-group,
.ww-wilolim .ww-wilolim-ear-left-group,
.ww-wilolim .ww-wilolim-ear-right-group,
.ww-wilolim .ww-wilolim-tail-group,
.ww-wilolim .ww-wilolim-pupil-left,
.ww-wilolim .ww-wilolim-pupil-right,
.ww-wilolim .ww-wilolim-lid-left,
.ww-wilolim .ww-wilolim-lid-right,
.ww-wilolim .ww-wilolim-mouth-main,
.ww-wilolim .ww-wilolim-mouth-smile,
.ww-wilolim .ww-wilolim-nose-group {
    transform-box: fill-box;
    transform-origin: center;
}
.ww-wilolim .ww-wilolim-dog {
    width: 66px !important;
    height: 66px !important;
    flex: 0 0 66px !important;
}
.ww-wilolim .ww-wilolim-header-avatar .ww-wilolim-dog,
.ww-wilolim .ww-wilolim-dog-compact {
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
}
.ww-wilolim .ww-wilolim-head-group { transform-origin: 50px 42px; }
.ww-wilolim .ww-wilolim-ear-left-group { transform-origin: 31px 24px; }
.ww-wilolim .ww-wilolim-ear-right-group { transform-origin: 69px 24px; }
.ww-wilolim .ww-wilolim-tail-group { transform-origin: 74px 60px; }
.ww-wilolim .ww-wilolim-pupil-left,
.ww-wilolim .ww-wilolim-pupil-right { transform: translate(var(--ww-wilolim-look-x), var(--ww-wilolim-look-y)); }
.ww-wilolim .ww-wilolim-lid-left,
.ww-wilolim .ww-wilolim-lid-right { animation: ww-wilolim-mascot-blink-v231 6s infinite; }
.ww-wilolim[data-mood="thinking"] .ww-wilolim-nose-group { animation: ww-wilolim-nose-sniff-v231 1.1s ease-in-out infinite; }
.ww-wilolim[data-mood="listening"] .ww-wilolim-head-group { animation: ww-wilolim-mascot-head-listen-v231 2.1s ease-in-out infinite; }
.ww-wilolim[data-mood="thinking"] .ww-wilolim-head-group { animation: ww-wilolim-mascot-head-thinking-v231 1.5s ease-in-out infinite; }
.ww-wilolim[data-mood="happy"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="excited"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="found"] .ww-wilolim-head-group,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-head-group { animation: ww-wilolim-mascot-head-happy-v231 1.4s ease-in-out infinite; }
.ww-wilolim[data-mood="happy"] .ww-wilolim-tail-group,
.ww-wilolim[data-mood="excited"] .ww-wilolim-tail-group,
.ww-wilolim[data-mood="found"] .ww-wilolim-tail-group,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-tail-group { animation: ww-wilolim-mascot-tail-v231 .45s ease-in-out infinite; }
@keyframes ww-wilolim-mascot-blink-v231 { 0%,93%,100%{ ry:0; } 95%{ ry:5.6; } 96%{ ry:0; } }
@keyframes ww-wilolim-nose-sniff-v231 { 0%,100%{ transform: scale(1); } 50%{ transform: scale(1.08) translateY(-.25px); } }
@keyframes ww-wilolim-mascot-head-listen-v231 { 0%,100%{ transform: rotate(0deg); } 50%{ transform: rotate(4deg) translateY(-.3px); } }
@keyframes ww-wilolim-mascot-head-thinking-v231 { 0%,100%{ transform: rotate(-2.5deg); } 50%{ transform: rotate(2.5deg); } }
@keyframes ww-wilolim-mascot-head-happy-v231 { 0%,100%{ transform: rotate(0deg) translateY(0); } 50%{ transform: rotate(1.8deg) translateY(-.8px); } }
@keyframes ww-wilolim-mascot-tail-v231 { 0%,100%{ transform: rotate(0deg); } 50%{ transform: rotate(13deg); } }
@media (prefers-reduced-motion: reduce) {
    .ww-wilolim .ww-wilolim-lid-left,
    .ww-wilolim .ww-wilolim-lid-right,
    .ww-wilolim .ww-wilolim-nose-group,
    .ww-wilolim .ww-wilolim-head-group,
    .ww-wilolim .ww-wilolim-tail-group {
        animation: none !important;
    }
}

/* v2.3.1 mascot refinement: front-facing mascot with both eyes, both ears, and a clearer nose. */
.ww-wilolim .ww-wilolim-dog-v231 {
    width: 66px !important;
    height: 66px !important;
    flex: 0 0 66px !important;
    position: relative;
    display: inline-block;
    overflow: visible;
    filter: drop-shadow(0 9px 15px rgba(28, 19, 11, .15));
}
.ww-wilolim .ww-wilolim-header-avatar .ww-wilolim-dog-v231,
.ww-wilolim .ww-wilolim-dog-v231.ww-wilolim-dog-compact {
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
}
.ww-wilolim .ww-wilolim-dog-v231::before,
.ww-wilolim .ww-wilolim-dog-v231::after { display: none !important; content: none !important; }
.ww-wilolim .ww-wilolim-dog-svg-v231 { display: block; width: 100%; height: 100%; overflow: visible; }
.ww-wilolim .ww-wilolim-v231-root,
.ww-wilolim .ww-wilolim-v231-root * { transform-box: fill-box; transform-origin: center; }

.ww-wilolim .ww-wilolim-v231-shadow { fill: rgba(16, 28, 38, .10); }
.ww-wilolim .ww-wilolim-v231-body { fill: #f3d8aa; stroke: #d8b07c; stroke-width: .8; }
.ww-wilolim .ww-wilolim-v231-sweater { fill: #7c8799; }
.ww-wilolim .ww-wilolim-v231-sweater-lines { fill: none; stroke: rgba(255,255,255,.62); stroke-width: 1.1; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-v231-tail { fill: none; stroke: #e4bf88; stroke-width: 4.8; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-v231-ear { fill: #e8c38d; stroke: #d3a86f; stroke-width: .8; }
.ww-wilolim .ww-wilolim-v231-ear-highlight { fill: none; stroke: rgba(255,255,255,.42); stroke-width: 1.1; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-v231-head { fill: #fbf3df; stroke: #dbb382; stroke-width: .8; }
.ww-wilolim .ww-wilolim-v231-head-glow { fill: rgba(255,255,255,.58); }
.ww-wilolim .ww-wilolim-v231-forehead-mark { fill: rgba(162,115,67,.45); }
.ww-wilolim .ww-wilolim-v231-eye-shadow { fill: none; stroke: rgba(112,76,47,.24); stroke-width: 1.8; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-v231-tear { fill: none; stroke: rgba(94,65,39,.35); stroke-width: 1.45; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-v231-eye { fill: #231815; }
.ww-wilolim .ww-wilolim-v231-pupil { fill: #0d0908; }
.ww-wilolim .ww-wilolim-v231-eye-spark { fill: rgba(255,255,255,.97); }
.ww-wilolim .ww-wilolim-v231-lid { fill: #fbf3df; }
.ww-wilolim .ww-wilolim-v231-muzzle { fill: #f8ecd3; stroke: #dfbf94; stroke-width: .72; }
.ww-wilolim .ww-wilolim-v231-muzzle-glow { fill: rgba(255,255,255,.40); }
.ww-wilolim .ww-wilolim-v231-nose { fill: #7a573b; }
.ww-wilolim .ww-wilolim-v231-nose-shine { fill: rgba(255,255,255,.45); }
.ww-wilolim .ww-wilolim-v231-mouth { fill: none; stroke: rgba(96,61,36,.84); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ww-wilolim .ww-wilolim-v231-whisker-dot { fill: rgba(92,62,38,.4); }
.ww-wilolim .ww-wilolim-v231-collar { fill: none; stroke: #6e543b; stroke-width: 2.1; stroke-linecap: round; }
.ww-wilolim .ww-wilolim-v231-tag { fill: var(--ww-wilolim-accent); stroke: rgba(255,255,255,.85); stroke-width: .9; }

.ww-wilolim .ww-wilolim-v231-root { animation: ww-wilolim-v231-breathe 3.7s ease-in-out infinite; }
.ww-wilolim .ww-wilolim-v231-head-group { transform-origin: 48px 36px; animation: ww-wilolim-v231-head-idle 4.8s ease-in-out infinite; }
.ww-wilolim .ww-wilolim-v231-ear-left-group { transform-origin: 26px 20px; animation: ww-wilolim-v231-ear-left 3.1s ease-in-out infinite; }
.ww-wilolim .ww-wilolim-v231-ear-right-group { transform-origin: 70px 20px; animation: ww-wilolim-v231-ear-right 3.1s ease-in-out infinite .18s; }
.ww-wilolim .ww-wilolim-v231-tail { transform-origin: 70px 58px; }
.ww-wilolim .ww-wilolim-v231-pupil-left,
.ww-wilolim .ww-wilolim-v231-pupil-right {
    transform: translate(var(--ww-wilolim-look-x), var(--ww-wilolim-look-y));
}
.ww-wilolim .ww-wilolim-v231-lid-left,
.ww-wilolim .ww-wilolim-v231-lid-right {
    animation: ww-wilolim-v231-blink 6s infinite;
}

.ww-wilolim[data-mood="listening"] .ww-wilolim-v231-head-group { animation: ww-wilolim-v231-head-listen 2.2s ease-in-out infinite; }
.ww-wilolim[data-mood="thinking"] .ww-wilolim-v231-head-group { animation: ww-wilolim-v231-head-thinking 1.5s ease-in-out infinite; }
.ww-wilolim[data-mood="happy"] .ww-wilolim-v231-head-group,
.ww-wilolim[data-mood="excited"] .ww-wilolim-v231-head-group,
.ww-wilolim[data-mood="found"] .ww-wilolim-v231-head-group,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-v231-head-group { animation: ww-wilolim-v231-head-happy 1.45s ease-in-out infinite; }
.ww-wilolim[data-mood="happy"] .ww-wilolim-v231-tail,
.ww-wilolim[data-mood="excited"] .ww-wilolim-v231-tail,
.ww-wilolim[data-mood="found"] .ww-wilolim-v231-tail,
.ww-wilolim[data-mood="celebrate"] .ww-wilolim-v231-tail { animation: ww-wilolim-v231-tailwag .45s ease-in-out infinite; }

@keyframes ww-wilolim-v231-breathe { 0%,100%{transform:translateY(0) scale(1);} 50%{transform:translateY(-1.15px) scale(1.01);} }
@keyframes ww-wilolim-v231-head-idle { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(-1deg) translateY(-.5px)} }
@keyframes ww-wilolim-v231-head-listen { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(4deg) translateY(-.45px)} }
@keyframes ww-wilolim-v231-head-thinking { 0%,100%{transform:rotate(-2.6deg)} 50%{transform:rotate(2.6deg)} }
@keyframes ww-wilolim-v231-head-happy { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(1.8deg) translateY(-.8px)} }
@keyframes ww-wilolim-v231-ear-left { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(2deg) translateY(1px)} }
@keyframes ww-wilolim-v231-ear-right { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(-2deg) translateY(1px)} }
@keyframes ww-wilolim-v231-tailwag { 0%,100%{transform:rotate(0deg)} 50%{transform:rotate(11deg)} }
@keyframes ww-wilolim-v231-blink { 0%,93%,100%{ry:0;} 95%{ry:5.1;} 96%{ry:0;} }

@media (prefers-reduced-motion: reduce) {
  .ww-wilolim .ww-wilolim-v231-root,
  .ww-wilolim .ww-wilolim-v231-head-group,
  .ww-wilolim .ww-wilolim-v231-ear-left-group,
  .ww-wilolim .ww-wilolim-v231-ear-right-group,
  .ww-wilolim .ww-wilolim-v231-tail,
  .ww-wilolim .ww-wilolim-v231-lid-left,
  .ww-wilolim .ww-wilolim-v231-lid-right { animation: none !important; }
}
