.husky-root [data-husky-launcher] { -webkit-tap-highlight-color: transparent; touch-action: manipulation; transition: transform 140ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.husky-root [data-husky-launcher]:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(11,59,48,.20); border-color: rgba(14,92,74,.30); }
.husky-root [data-husky-launcher]:active { transform: scale(.94); }
.husky-root [data-husky-panel] { box-shadow: 0 24px 70px rgba(11,59,48,.22), 0 4px 18px rgba(11,59,48,.08); }
.husky-root .ph-husky-header { background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.husky-root .ph-husky-canvas { background-color: #f7f8f4; background-image: radial-gradient(circle at 92% 5%, rgba(215,240,0,.14), transparent 22%), radial-gradient(circle at 5% 92%, rgba(14,92,74,.08), transparent 26%); scrollbar-width: thin; scrollbar-color: rgba(14,92,74,.18) transparent; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; }
.husky-root .ph-husky-welcome { box-shadow: 0 8px 24px rgba(11,59,48,.06); }
.husky-root [data-husky-prompts] button { width: 100%; min-height: 46px; justify-content: space-between; text-align: left; border-radius: 15px; padding: .7rem .85rem; white-space: normal; line-height: 1.3; box-shadow: 0 2px 10px rgba(11,59,48,.04); transition: transform 80ms ease, border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease; }
.husky-root [data-husky-prompts] button::after { content: '›'; color: #0E5C4A; font-size: 1.2rem; line-height: 1; }
.husky-root [data-husky-prompts] button:hover { border-color: rgba(14,92,74,.35); background: #f8fbf9; box-shadow: 0 5px 16px rgba(11,59,48,.08); }
.husky-root button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.husky-root button:active { transform: scale(.96); }
.husky-root [data-chat-sound-toggle]:active, .husky-root [aria-label='Close']:active { transform: scale(.88); }
.husky-root .ph-husky-composer { background: rgba(255,255,255,.98); box-shadow: 0 -8px 24px rgba(11,59,48,.04); }
.husky-root .ph-husky-composer textarea { border-radius: 18px; transition: border-color 150ms ease, box-shadow 150ms ease, transform 100ms ease; }
.husky-root .ph-husky-composer textarea:focus { transform: translateY(-1px); }
.husky-root .ph-husky-send { border-radius: 16px; transition: transform 80ms ease, box-shadow 150ms ease, background-color 150ms ease; box-shadow: 0 5px 14px rgba(163,181,0,.22); }
.husky-root .ph-husky-send:not(:disabled):hover { box-shadow: 0 7px 18px rgba(163,181,0,.30); }
.husky-root .ph-husky-send:not(:disabled):active { transform: scale(.92); }
.ph-husky-message { animation: ph-husky-message-arrive 180ms ease-out both; }
.ph-husky-bubble { box-shadow: 0 2px 10px rgba(11,59,48,.055); }
.ph-husky-bubble-out { background: #dcefe9 !important; color: #173c33 !important; border: 1px solid #bddcd2 !important; }
.ph-husky-bubble-in { background: rgba(255,255,255,.98) !important; border-color: rgba(14,92,74,.10) !important; }
@media (max-width: 767px) {
    .husky-root [data-husky-launcher] {
        right: 1rem !important;
        bottom: calc(1rem + env(safe-area-inset-bottom)) !important;
    }
    body.has-bottom-nav .husky-root [data-husky-launcher] {
        bottom: calc(76px + 1rem + env(safe-area-inset-bottom)) !important;
    }
}
@media (max-width: 639px) {
    .husky-root [data-husky-launcher] { width: 48px !important; height: 48px !important; }
    .husky-root [data-husky-launcher] [data-husky-avatar] { width: 40px !important; height: 40px !important; }
    [data-husky-panel] {
        left: .65rem !important;
        right: .65rem !important;
        top: auto !important;
        bottom: calc(4.75rem + env(safe-area-inset-bottom) + var(--ph-vv-bottom, 0px)) !important;
        width: auto !important;
        height: min(60dvh, 30rem) !important;
        max-height: calc(var(--ph-vvh, 100dvh) - 7rem) !important;
        border-radius: 1.5rem !important;
    }
    [data-husky-panel].husky-panel-error {
        height: auto !important;
        max-height: calc(var(--ph-vvh, 100dvh) - 6rem) !important;
    }
    html.ph-kb-open [data-husky-panel] {
        bottom: calc(.5rem + var(--ph-vv-bottom, 0px)) !important;
        height: min(70dvh, 32rem) !important;
        max-height: calc(var(--ph-vvh, 100dvh) - 1rem) !important;
    }
}
@media (max-width: 767px) and (display-mode: standalone) {
    .husky-root [data-husky-launcher] {
        bottom: calc(64px + 1rem + env(safe-area-inset-bottom)) !important;
    }
}
/* 16-Aug Husky UI fix: desktop anchoring lived in sm:* utilities added blade-only after the
   last asset build, so deployed CSS lacked them and the panel fell back to top-0 full-width.
   This scoped rule is build-independent: desktop = a standard support chat floating from the
   bottom-right, opening upward from the launcher zone, never touching the viewport top. */
@media (min-width: 640px) {
    [data-husky-panel] {
        left: auto !important;
        top: auto !important;
        right: 1.5rem !important;
        bottom: 1.5rem !important;
        width: 420px !important;
        max-width: calc(100vw - 2rem) !important;
        height: min(680px, calc(100dvh - 3rem)) !important;
        max-height: calc(100dvh - 3rem) !important;
        border-radius: 1.5rem !important;
    }
}
[data-husky-panel] [data-husky-message-arrive] { animation: ph-husky-message-arrive 180ms ease-out both; }
@keyframes ph-husky-message-arrive { from { opacity: 0; transform: translateY(5px) scale(.99); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { [data-husky-panel] [data-husky-message-arrive] { animation: none; } }
@media (prefers-reduced-motion: reduce) { .husky-root *, .ph-husky-message { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; } }
