/* CNKSOFT Kedi Chat */
.cnk-cat {
    --cnk-cat-fur: #e8edf7;
    --cnk-cat-fur-dark: #bfc9dc;
    --cnk-cat-chest: #f8fafd;
    --cnk-cat-ear-inner: #f3b6c8;
    --cnk-cat-eye: #36d6f0;
    --cnk-cat-nose: #f08fa8;
    --cnk-cat-collar: #8b5cf6;
    --cnk-cat-bell: #fbbf24;
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #e8eefb;
    pointer-events: none;
}
.cnk-cat, .cnk-cat * { box-sizing: border-box; }
.cnk-cat button, .cnk-cat input { font: inherit; }
.cnk-cat button { -webkit-tap-highlight-color: transparent; }

/* Panel */
.cnk-cat-panel {
    pointer-events: auto;
    width: min(370px, calc(100vw - 48px));
    height: min(560px, calc(100vh - 160px));
    height: min(560px, calc(100dvh - 160px));
    max-height: calc(100dvh - 160px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: linear-gradient(180deg, #0c1526 0%, #070c16 100%);
    border: 1px solid #7fe0ff33;
    border-radius: 18px;
    box-shadow: 0 24px 70px #000a, inset 0 0 0 1px #ffffff08;
    transform-origin: bottom right;
    visibility: hidden;
    opacity: 0;
    transform: translateY(12px) scale(.96);
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
.cnk-cat[data-open="true"] .cnk-cat-panel {
    visibility: visible;
    opacity: 1;
    transform: none;
    transition: opacity .22s ease, transform .22s ease, visibility 0s;
}
.cnk-cat-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid #ffffff0f;
    background: linear-gradient(120deg, #101b31, #0a1220);
}
.cnk-cat-avatar {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid #7fe0ff40;
    background: radial-gradient(circle at 50% 35%, #1d2c4a, #0a101c);
    box-shadow: 0 0 0 4px #7fe0ff0d;
}
.cnk-cat-avatar-svg { width: 36px; height: 36px; display: block; }
.cnk-cat-avatar-ear, .cnk-cat-avatar-face { fill: #e8edf7; }
.cnk-cat-avatar-inner { fill: #f3b6c8; }
.cnk-cat-avatar-eye { fill: #0b1020; }
.cnk-cat-avatar-glint { fill: #ffffff; }
.cnk-cat-avatar-nose { fill: #f08fa8; }
.cnk-cat-avatar-mouth, .cnk-cat-avatar-whisker { stroke: #6b778c; }
.cnk-cat-heading { min-width: 0; flex: 1; }
.cnk-cat-heading h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: #f1f5ff;
}
.cnk-cat-heading p {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 3px 0 0;
    font-size: 10px;
    line-height: 1.2;
    color: #8ea1bd;
}
.cnk-cat-status-dot {
    width: 6px;
    height: 6px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 3px #34d3991a;
}
.cnk-cat-close {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border: 1px solid #ffffff12;
    border-radius: 8px;
    background: #ffffff08;
    color: #9fb0c9;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}
.cnk-cat-close:hover { background: #ffffff12; color: #fff; border-color: #ffffff22; }
.cnk-cat-close svg { width: 16px; height: 16px; }

/* Messages */
.cnk-cat-messages {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 14px;
    background: radial-gradient(ellipse at 50% 0, #0d1930 0, transparent 60%), #080d17;
    scrollbar-width: thin;
    scrollbar-color: #2b3a54 transparent;
}
.cnk-cat-messages::-webkit-scrollbar { width: 6px; }
.cnk-cat-messages::-webkit-scrollbar-thumb { background: #2b3a54; border-radius: 999px; }
.cnk-cat-msg { display: flex; }
.cnk-cat-msg-bot { justify-content: flex-start; }
.cnk-cat-msg-user { justify-content: flex-end; }
.cnk-cat-bubble {
    max-width: 88%;
    padding: 10px 12px;
    border: 1px solid #ffffff0f;
    border-radius: 13px 13px 13px 4px;
    background: #111c2e;
    color: #dbe6f6;
    font-size: 12.5px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.cnk-cat-msg-user .cnk-cat-bubble {
    border-color: #ffffff1a;
    border-radius: 13px 13px 4px 13px;
    background: linear-gradient(135deg, #5d7ff2, #6c5ce7);
    color: #fff;
}
.cnk-cat-bubble strong { color: #fff; font-weight: 650; }
.cnk-cat-bubble ul, .cnk-cat-bubble ol { margin: 7px 0 2px; padding-left: 18px; }
.cnk-cat-bubble li { margin: 4px 0; }
.cnk-cat-bubble a { color: #7fe0ff; text-decoration: underline; text-underline-offset: 2px; }
.cnk-cat-bubble a:hover { color: #b7f1ff; }
.cnk-cat-typing { display: inline-flex; align-items: center; gap: 4px; padding: 3px 2px; }
.cnk-cat-typing i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #7fe0ff;
    animation: cnk-typing 1s infinite ease-in-out;
}
.cnk-cat-typing i:nth-child(2) { animation-delay: .12s; }
.cnk-cat-typing i:nth-child(3) { animation-delay: .24s; }

/* Quick replies */
.cnk-cat-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 12px 0;
    border-top: 1px solid #ffffff08;
    background: #080d17;
}
.cnk-cat-chip {
    padding: 6px 9px;
    border: 1px solid #ffffff14;
    border-radius: 999px;
    background: #101a2b;
    color: #b9c8dd;
    font-size: 10.5px;
    line-height: 1.2;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}
.cnk-cat-chip:hover, .cnk-cat-chip:focus-visible {
    border-color: #7fe0ff66;
    background: #122238;
    color: #e9fbff;
    outline: none;
}

/* Input */
.cnk-cat-input-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px 8px;
    background: #080d17;
}
.cnk-cat-input {
    flex: 1;
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #ffffff18;
    border-radius: 10px;
    background: #0a1322;
    color: #f1f5ff;
    font-size: 12.5px;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.cnk-cat-input::placeholder { color: #64748b; }
.cnk-cat-input:focus { border-color: #7fe0ff80; box-shadow: 0 0 0 3px #7fe0ff14; }
.cnk-cat-send {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border: 1px solid #ffffff1a;
    border-radius: 10px;
    background: linear-gradient(135deg, #5d7ff2, #6c5ce7);
    color: #fff;
    cursor: pointer;
    transition: filter .2s, opacity .2s, transform .2s;
}
.cnk-cat-send:hover:not(:disabled) { filter: brightness(1.1); transform: translateY(-1px); }
.cnk-cat-send:disabled { opacity: .4; cursor: default; }
.cnk-cat-send svg { width: 18px; height: 18px; }
.cnk-cat-scope {
    margin: 0;
    padding: 0 12px 10px;
    background: #080d17;
    color: #5f6f88;
    font-size: 9px;
    line-height: 1.3;
    text-align: center;
}

/* Launcher */
.cnk-cat-launcher {
    position: relative;
    width: 106px;
    height: 106px;
    flex-shrink: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    pointer-events: auto;
    overflow: visible;
}
.cnk-cat-pod {
    position: absolute;
    inset: 0;
    border: 1px solid #7fe0ff3d;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 35%, #172644, #080d17 72%);
    box-shadow: 0 0 0 6px #7fe0ff0d, 0 18px 45px #000a, inset 0 1px #ffffff14;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.cnk-cat-launcher:hover .cnk-cat-pod {
    transform: translateY(-2px);
    border-color: #7fe0ff80;
    box-shadow: 0 0 0 7px #7fe0ff12, 0 22px 50px #000b, inset 0 1px #ffffff1f;
}
.cnk-cat-launcher:focus-visible { outline: none; }
.cnk-cat-launcher:focus-visible .cnk-cat-pod { outline: 2px solid #7fe0ff; outline-offset: 5px; }
.cnk-cat-figure {
    position: absolute;
    inset: 7px;
    display: block;
    overflow: hidden;
    border-radius: 50%;
}
.cnk-cat-svg { width: 100%; height: 100%; display: block; }
.cnk-cat-online {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 11px;
    height: 11px;
    border: 2px solid #080d17;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 3px #34d3991f;
}
.cnk-cat-hint {
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    width: max-content;
    max-width: 190px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f1f5ff;
    color: #111a2b;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    box-shadow: 0 10px 30px #0008;
    pointer-events: none;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .25s, transform .25s;
}
.cnk-cat-hint::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: -5px;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: #f1f5ff;
    transform: rotate(45deg);
}
.cnk-cat[data-open="true"] .cnk-cat-hint,
.cnk-cat.is-hint-hidden .cnk-cat-hint { opacity: 0; transform: translateY(4px); }
.cnk-cat-thought {
    position: absolute;
    right: calc(100% - 6px);
    bottom: 56%;
    z-index: 3;
    min-width: 28px;
    padding: 5px 8px;
    border-radius: 12px 12px 12px 3px;
    background: #f1f5ff;
    color: #111a2b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    box-shadow: 0 8px 22px #0007;
    pointer-events: none;
    opacity: 0;
    transform: translateX(4px) scale(.9);
    transition: opacity .18s, transform .18s;
}
.cnk-cat-thought::after {
    content: "";
    position: absolute;
    right: -4px;
    bottom: 3px;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: #f1f5ff;
    transform: rotate(45deg);
}
.cnk-cat-thought.is-visible { opacity: 1; transform: translateX(0) scale(1); }

/* Roaming cat */
.cnk-cat-launcher.is-roaming {
    position: fixed;
    left: 0;
    top: 0;
    right: auto;
    bottom: auto;
    width: 82px;
    height: 82px;
    z-index: 2;
    transform: translate3d(0, 0, 0);
    will-change: transform;
    pointer-events: none;
    filter: drop-shadow(0 12px 18px #0008);
}
.cnk-cat-launcher.is-roaming .cnk-cat-pod { opacity: 0; }
.cnk-cat-launcher.is-roaming .cnk-cat-figure {
    inset: 0;
    overflow: visible;
    border-radius: 0;
    transform: scaleX(var(--cnk-dir, 1));
    transform-origin: 50% 85%;
}
.cnk-cat-launcher.is-roaming .cnk-cat-online {
    top: 6px;
    right: 6px;
    z-index: 4;
}
.cnk-cat-launcher.is-roaming .cnk-cat-hint {
    right: 0;
    bottom: calc(100% + 2px);
    font-size: 10px;
    padding: 7px 9px;
}
.cnk-cat-launcher.is-roaming.is-near-left .cnk-cat-hint {
    right: auto;
    left: 0;
}
.cnk-cat-launcher.is-roaming.is-near-left .cnk-cat-hint::after {
    right: auto;
    left: 12px;
}
.cnk-cat-launcher.is-roaming.is-near-right .cnk-cat-hint {
    right: 0;
}
.cnk-cat-launcher.is-roaming .cnk-cat-thought {
    right: auto;
    left: calc(100% - 4px);
    bottom: 54%;
}
.cnk-cat-launcher.is-roaming.is-near-right .cnk-cat-thought {
    right: calc(100% - 4px);
    left: auto;
}
.cnk-cat-launcher.is-roaming.is-near-right .cnk-cat-thought::after {
    right: -4px;
    left: auto;
}
.cnk-cat-launcher.is-roaming.is-near-left .cnk-cat-thought::after {
    right: auto;
    left: -4px;
}
.cnk-cat-launcher.is-walking {
    pointer-events: none;
}
.cnk-cat-launcher.is-walking .cnk-cat-hint {
    opacity: 0;
    transform: translateY(4px);
}
.cnk-cat-launcher.is-walking .cnk-cat-svg {
    animation: cnk-walk-bob .52s ease-in-out infinite;
    transform-origin: 50% 92%;
}
.cnk-cat-launcher.is-walking .cnk-cat-paw-left {
    animation: cnk-paw-left .44s ease-in-out infinite;
}
.cnk-cat-launcher.is-walking .cnk-cat-paw-right {
    animation: cnk-paw-right .44s ease-in-out infinite;
}
.cnk-cat-launcher.is-paused {
    pointer-events: auto;
    cursor: pointer;
}
.cnk-cat-launcher.is-paused .cnk-cat-svg {
    animation: none;
}
.cnk-cat-launcher.is-paused .cnk-cat-paw-left,
.cnk-cat-launcher.is-paused .cnk-cat-paw-right {
    animation: none;
}
.cnk-cat[data-open="true"]:not(.is-touch) .cnk-cat-launcher.is-roaming {
    pointer-events: none;
}
.cnk-cat.is-touch[data-open="true"] .cnk-cat-launcher.is-roaming {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Cat SVG */
.cnk-cat-shadow { fill: #000; opacity: .32; }
.cnk-cat-tail-line { stroke: var(--cnk-cat-fur); }
.cnk-cat-tail-stripe { stroke: var(--cnk-cat-fur-dark); opacity: .55; }
.cnk-cat-hind { fill: var(--cnk-cat-fur-dark); }
.cnk-cat-torso, .cnk-cat-face, .cnk-cat-ear { fill: var(--cnk-cat-fur); }
.cnk-cat-chest { fill: var(--cnk-cat-chest); }
.cnk-cat-paw { fill: var(--cnk-cat-fur); }
.cnk-cat-paw-line { stroke: var(--cnk-cat-fur-dark); opacity: .8; }
.cnk-cat-ear-inner { fill: var(--cnk-cat-ear-inner); }
.cnk-cat-forehead { stroke: var(--cnk-cat-fur-dark); opacity: .8; }
.cnk-cat-eye-open {
    fill: var(--cnk-cat-eye);
    transform-box: fill-box;
    transform-origin: center;
    transition: transform .12s ease, opacity .12s ease;
}
.cnk-cat-pupil {
    fill: #0b1020;
    transform-box: fill-box;
    transform-origin: center;
    transition: transform .2s ease;
}
.cnk-cat-glint { fill: #fff; }
.cnk-cat-eye-closed, .cnk-cat-eye-happy {
    stroke: #344054;
    opacity: 0;
    transition: opacity .12s ease;
}
.cnk-cat-nose { fill: var(--cnk-cat-nose); }
.cnk-cat-mouth, .cnk-cat-whisker { stroke: #5b6880; }
.cnk-cat-whisker { opacity: .65; }
.cnk-cat-mouth-open { fill: #3b1d2a; opacity: 0; transition: opacity .12s ease; }
.cnk-cat-tongue { fill: #f08fa8; opacity: 0; }
.cnk-cat-collar { stroke: var(--cnk-cat-collar); }
.cnk-cat-bell { fill: var(--cnk-cat-bell); stroke: #a16207; stroke-width: 1; }
.cnk-cat-groom-arm { opacity: 0; transform-origin: 137px 174px; transform-box: view-box; }
.cnk-cat-groom-limb { stroke: var(--cnk-cat-fur); }
.cnk-cat-groom-paw { fill: var(--cnk-cat-fur); }
.cnk-cat-groom-toes { stroke: var(--cnk-cat-fur-dark); opacity: .85; }
.cnk-cat-groom-pad { fill: #f3b6c8; opacity: .55; }
.cnk-cat-groom-tongue { fill: #f08fa8; opacity: 0; }

/* Idle animation */
.cnk-cat-body {
    transform-origin: 110px 190px;
    transform-box: view-box;
    animation: cnk-breathe 3.8s ease-in-out infinite;
}
.cnk-cat-head {
    transform-origin: 110px 120px;
    transform-box: view-box;
    animation: cnk-head-bob 6s ease-in-out infinite;
}
.cnk-cat-tail {
    transform-origin: 154px 178px;
    transform-box: view-box;
    animation: cnk-tail-sway 3.4s ease-in-out infinite;
}
.cnk-cat-ear-left { transform-origin: 73px 82px; transform-box: view-box; }
.cnk-cat-ear-right { transform-origin: 147px 82px; transform-box: view-box; }

/* Moods */
.cnk-cat-figure.is-happy .cnk-cat-eye-open,
.cnk-cat-figure.is-sleeping .cnk-cat-eye-open,
.cnk-cat-figure.is-yawning .cnk-cat-eye-open,
.cnk-cat-figure.is-blinking .cnk-cat-eye-open { opacity: 0; }
.cnk-cat-figure.is-happy .cnk-cat-eye-happy { opacity: 1; }
.cnk-cat-figure.is-sleeping .cnk-cat-eye-closed,
.cnk-cat-figure.is-yawning .cnk-cat-eye-closed,
.cnk-cat-figure.is-blinking .cnk-cat-eye-closed { opacity: 1; }

.cnk-cat-figure.is-happy .cnk-cat-head,
.cnk-cat-figure.is-thinking .cnk-cat-head,
.cnk-cat-figure.is-confused .cnk-cat-head { animation: none; }
.cnk-cat-figure.is-happy .cnk-cat-head { transform: translateY(-2px); }
.cnk-cat-figure.is-happy .cnk-cat-tail { animation: cnk-tail-happy .7s ease-in-out infinite; }
.cnk-cat-figure.is-happy .cnk-cat-body { animation: cnk-purr .25s ease-in-out 4; }

.cnk-cat-figure.is-thinking .cnk-cat-head { transform: rotate(-5deg) translateY(-1px); }
.cnk-cat-figure.is-thinking .cnk-cat-ear-right { transform: rotate(-8deg); }
.cnk-cat-figure.is-thinking .cnk-cat-pupil { transform: translate(1px, -1px); }

.cnk-cat-figure.is-confused .cnk-cat-head { transform: rotate(6deg); }
.cnk-cat-figure.is-confused .cnk-cat-ear-left { transform: rotate(9deg); }
.cnk-cat-figure.is-confused .cnk-cat-pupil { transform: translate(-1px, 0); }

.cnk-cat-figure.is-sleeping .cnk-cat-body {
    animation: none;
    transform: translateY(5px) scaleY(.96);
}
.cnk-cat-figure.is-sleeping .cnk-cat-head {
    animation: none;
    transform: translateY(8px) rotate(-2deg);
}
.cnk-cat-figure.is-sleeping .cnk-cat-tail { animation-duration: 6s; }

.cnk-cat-figure.is-grooming .cnk-cat-groom-arm {
    opacity: 1;
    animation: cnk-groom-arm 3.2s ease-in-out;
}
.cnk-cat-figure.is-grooming .cnk-cat-groom-tongue {
    opacity: 1;
    animation: cnk-groom-lick .38s 7;
}
.cnk-cat-figure.is-grooming .cnk-cat-groom-paw {
    transform: rotate(-18deg);
    animation: cnk-groom-paw 3.2s ease-in-out;
}
.cnk-cat-figure.is-grooming .cnk-cat-head { animation: cnk-groom-head 3.2s ease-in-out; }
.cnk-cat-figure.is-grooming .cnk-cat-eye-open { transform: scaleY(.35); }
.cnk-cat-figure.is-grooming .cnk-cat-ear-left { animation: cnk-ear-twitch 1.1s ease-in-out 2; }

.cnk-cat-figure.is-yawning .cnk-cat-mouth { opacity: 0; }
.cnk-cat-figure.is-yawning .cnk-cat-mouth-open,
.cnk-cat-figure.is-yawning .cnk-cat-tongue { opacity: 1; }
.cnk-cat-figure.is-yawning .cnk-cat-head { animation: cnk-yawn-head 2.6s ease-in-out; }
.cnk-cat-figure.is-yawning .cnk-cat-body { animation: cnk-yawn-body 2.6s ease-in-out; }

.cnk-cat-figure.is-stretching .cnk-cat-body { animation: cnk-stretch 2.4s ease-in-out; }
.cnk-cat-figure.is-stretching .cnk-cat-head { animation: cnk-stretch-head 2.4s ease-in-out; }
.cnk-cat-figure.is-stretching .cnk-cat-tail { animation: cnk-tail-happy 2.4s ease-in-out; }

.cnk-cat-figure.is-looking .cnk-cat-head { animation: cnk-look 2.2s ease-in-out; }
.cnk-cat-figure.is-looking .cnk-cat-pupil { animation: cnk-pupil-look 2.2s ease-in-out; }

.cnk-cat-figure.is-ear-twitch .cnk-cat-ear-left { animation: cnk-ear-twitch .55s ease-in-out; }

@keyframes cnk-breathe {
    0%, 100% { transform: scaleY(1); }
    50% { transform: scaleY(1.025) translateY(-1px); }
}
@keyframes cnk-head-bob {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-1.5px) rotate(-1deg); }
}
@keyframes cnk-tail-sway {
    0%, 100% { transform: rotate(-4deg); }
    50% { transform: rotate(5deg); }
}
@keyframes cnk-tail-happy {
    0%, 100% { transform: rotate(-8deg); }
    50% { transform: rotate(12deg); }
}
@keyframes cnk-purr {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-.7px); }
    75% { transform: translateX(.7px); }
}
@keyframes cnk-look {
    0%, 100% { transform: rotate(0); }
    25% { transform: rotate(-5deg); }
    55% { transform: rotate(4deg); }
    75% { transform: rotate(-2deg); }
}
@keyframes cnk-pupil-look {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-1.5px); }
    55% { transform: translateX(1.5px); }
    75% { transform: translateX(-.5px); }
}
@keyframes cnk-groom-head {
    0%, 100% { transform: rotate(0) translateY(0); }
    22%, 68% { transform: rotate(4deg) translateY(1px); }
    82% { transform: rotate(-1deg) translateY(0); }
}
@keyframes cnk-groom-arm {
    0%, 100% { transform: rotate(0) translate(0, 0); }
    20%, 58% { transform: rotate(-22deg) translate(-4px, -25px); }
    36%, 44% { transform: rotate(-27deg) translate(-6px, -28px); }
}
@keyframes cnk-groom-paw {
    0%, 100% { transform: rotate(-18deg) translate(0, 0); }
    35% { transform: rotate(-28deg) translate(-1px, -1px); }
    62% { transform: rotate(-14deg) translate(0, 0); }
}
@keyframes cnk-groom-lick {
    0%, 100% { transform: translateY(0) scaleY(.55); }
    45% { transform: translateY(-4px) scaleY(1.15); }
}
@keyframes cnk-yawn-head {
    0%, 100% { transform: rotate(0); }
    30%, 70% { transform: rotate(-4deg) translateY(-2px); }
}
@keyframes cnk-yawn-body {
    0%, 100% { transform: scaleY(1); }
    40%, 60% { transform: scaleY(1.04) translateY(-2px); }
}
@keyframes cnk-stretch {
    0%, 100% { transform: scale(1); }
    35%, 65% { transform: scale(1.04, 1.08) translateY(-4px); }
}
@keyframes cnk-stretch-head {
    0%, 100% { transform: translateY(0); }
    35%, 65% { transform: translateY(-5px); }
}
@keyframes cnk-ear-twitch {
    0%, 100% { transform: rotate(0); }
    30% { transform: rotate(-10deg); }
    60% { transform: rotate(4deg); }
}
@keyframes cnk-typing {
    0%, 80%, 100% { transform: translateY(0); opacity: .35; }
    40% { transform: translateY(-3px); opacity: 1; }
}
@keyframes cnk-walk-bob {
    0%, 100% { transform: translateY(0) rotate(-1.2deg); }
    50% { transform: translateY(-3px) rotate(1.2deg); }
}
@keyframes cnk-paw-left {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-2px, -2px); }
}
@keyframes cnk-paw-right {
    0%, 100% { transform: translate(2px, -2px); }
    50% { transform: translate(0, 0); }
}

/* Keep the existing WhatsApp button clear of the cat */
body .wa-float {
    right: 132px !important;
    bottom: 24px !important;
    transition: transform .2s, background .2s, right .2s, bottom .2s;
}

@media (max-width: 600px) {
    .cnk-cat { right: 12px; bottom: 12px; gap: 8px; }
    .cnk-cat-launcher { width: 84px; height: 84px; }
    .cnk-cat-launcher.is-roaming { width: 68px; height: 68px; }
    .cnk-cat-launcher.is-roaming .cnk-cat-hint { max-width: 150px; font-size: 9.5px; }
    .cnk-cat-launcher.is-roaming .cnk-cat-online { top: 3px; right: 3px; width: 9px; height: 9px; }
    .cnk-cat-panel {
        width: calc(100vw - 24px);
        height: min(520px, calc(100dvh - 130px));
        max-height: calc(100dvh - 130px);
        border-radius: 16px;
    }
    .cnk-cat-hint { display: none; }
    .cnk-cat-thought { right: calc(100% - 4px); bottom: 50%; }
    .cnk-cat-header { padding: 10px 12px; }
    .cnk-cat-messages { padding: 12px; }
    .cnk-cat-bubble { font-size: 12px; }
    body .wa-float {
        right: 112px !important;
        bottom: 12px !important;
        width: 52px !important;
        height: 52px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cnk-cat-svg, .cnk-cat-svg * { animation: none !important; }
    .cnk-cat-panel, .cnk-cat-pod, .cnk-cat-hint, .cnk-cat-thought, .cnk-cat-bubble { transition: none !important; }
    .cnk-cat-thought, .cnk-cat-hint { opacity: 0 !important; }
}
