:root{--astra-navy:#0A1628;--astra-navy-2:#102B4D;--astra-gold:#D4AF37;--astra-gold-soft:#F2D074;--astra-ink:#0f2745;--astra-light:#f7f9fc;--astra-line:#dfe6ef}
.astra-assistant{position:fixed;left:calc(100vw - 138px);bottom:46px;width:120px;height:92px;z-index:9998;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--astra-ink);will-change:left}
.astra-launch{position:relative;width:120px;height:92px;border:0;background:transparent;cursor:pointer;padding:0;overflow:visible;display:block;filter:drop-shadow(0 12px 14px rgba(3,12,24,.27))}
.astra-character-wrap{position:absolute;inset:0;display:block}
.astra-live-dog{width:118px;height:90px;display:block;overflow:visible;transform-origin:50% 92%;transition:filter .2s ease}.astra-launch:hover .astra-live-dog{filter:brightness(1.05)}
.astra-live-dog .dog-shadow{fill:rgba(0,0,0,.2)}.astra-live-dog .fur-dark{fill:#192c40}.astra-live-dog .fur-light,.astra-live-dog .mask,.astra-live-dog .muzzle{fill:#f6f7f8}.astra-live-dog .forehead{fill:#30475e}.astra-live-dog .ear-inner{fill:#d9aeb0}.astra-live-dog .dog-eyes ellipse{fill:#13202d}.astra-live-dog .eye-shine{fill:#fff}.astra-live-dog .nose{fill:#101820}.astra-live-dog .smile{fill:none;stroke:#18232d;stroke-width:1.8;stroke-linecap:round}.astra-live-dog .tongue{fill:#e98c98}.astra-live-dog .collar{fill:none;stroke:var(--astra-gold);stroke-width:5;stroke-linecap:round}.astra-live-dog .tag{fill:#0A1628;stroke:var(--astra-gold);stroke-width:1.5}.astra-live-dog .tag-mark{fill:var(--astra-gold)}.astra-live-dog .dog-tail path{fill:none;stroke:#192c40;stroke-width:13;stroke-linecap:round}
.astra-live-dot{position:absolute;right:10px;top:14px;width:12px;height:12px;border-radius:50%;background:#42c774;border:2px solid white;box-shadow:0 0 0 0 rgba(66,199,116,.5);animation:astraPulse 2s infinite}.astra-mini-logo{position:absolute;right:4px;bottom:3px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#07111f;border:2px solid var(--astra-gold);box-shadow:0 5px 12px rgba(0,0,0,.28)}.astra-mini-logo img{width:20px;height:20px;object-fit:contain}
.astra-launch-label{position:absolute;right:118px;bottom:28px;white-space:nowrap;background:#fff;border:1px solid rgba(10,22,40,.08);color:var(--astra-navy-2);font-size:13px;font-weight:650;padding:9px 12px;border-radius:10px;box-shadow:0 10px 30px rgba(3,12,24,.16);opacity:0;transform:translateX(8px);pointer-events:none;transition:.2s}.astra-launch:hover .astra-launch-label,.astra-launch:focus-visible .astra-launch-label{opacity:1;transform:none}
@keyframes astraPulse{0%{box-shadow:0 0 0 0 rgba(66,199,116,.5)}70%{box-shadow:0 0 0 10px rgba(66,199,116,0)}100%{box-shadow:0 0 0 0 rgba(66,199,116,0)}}
@keyframes astraBodyWalk{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes astraLegA{0%,100%{transform:rotate(10deg)}50%{transform:rotate(-17deg)}}@keyframes astraLegB{0%,100%{transform:rotate(-16deg)}50%{transform:rotate(12deg)}}@keyframes astraTailWag{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(18deg)}}@keyframes astraEarHappy{0%,100%{transform:rotate(0)}50%{transform:rotate(2deg)}}
.astra-walking .astra-launch-dog .dog-body,.astra-walking .astra-launch-dog .dog-head,.astra-walking .astra-launch-dog .dog-neck{animation:astraBodyWalk .42s ease-in-out infinite}.astra-walking .astra-launch-dog .dog-leg-front{transform-origin:99px 80px;animation:astraLegA .42s ease-in-out infinite}.astra-walking .astra-launch-dog .dog-leg-back{transform-origin:55px 80px;animation:astraLegB .42s ease-in-out infinite}.astra-live-dog .dog-tail{transform-origin:119px 58px;animation:astraTailWag .9s ease-in-out infinite}.astra-assistant[data-direction="left"] .astra-launch-dog{transform:scaleX(-1)}
.astra-assistant[data-astra-mascot-state="excited"] .astra-launch-dog,.astra-assistant[data-astra-mascot-state="helpful"] .astra-launch-dog{animation:astraHappyBounce .75s ease-in-out 2}@keyframes astraHappyBounce{0%,100%{translate:0 0}50%{translate:0 -6px}}.astra-assistant[data-astra-mascot-state="thinking"] .dog-head{transform:rotate(-5deg);transform-origin:80px 47px}.astra-assistant[data-astra-mascot-state="typing"] .dog-tail{animation-duration:.35s}.astra-assistant[data-astra-mascot-state="thinking"] .astra-live-dot{background:var(--astra-gold)}.astra-assistant[data-astra-mascot-state="typing"] .astra-live-dot{background:#4f8bd6}
.astra-panel{position:absolute;right:2px;bottom:100px;width:min(420px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 130px));background:#fff;border:1px solid rgba(16,43,77,.12);border-radius:18px;overflow:hidden;box-shadow:0 26px 70px rgba(3,12,24,.35);display:none;flex-direction:column}.astra-panel.open{display:flex;animation:astraIn .2s ease-out}@keyframes astraIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.astra-panel.full{width:min(620px,calc(100vw - 28px));max-height:min(780px,calc(100vh - 90px))}
.astra-head{background:#0A1628;color:#fff;padding:12px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.astra-head-logo{height:44px;width:auto;max-width:205px;object-fit:contain;display:block;flex:0 0 auto}.astra-head-meta{min-width:0;flex:1}.astra-head-meta strong{display:block;font-size:14px;line-height:1.2}.astra-head-meta span{font-size:11px;color:#c6d2e1}.astra-head button{border:0;background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:3px 5px;border-radius:8px}.astra-head button:hover{background:rgba(255,255,255,.09)}
.astra-body{padding:16px;overflow:auto;background:linear-gradient(180deg,#fbfdff,#f6f9fc)}.astra-greeting{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.astra-avatar-wrap{position:relative;flex:0 0 78px;width:78px;height:64px;overflow:visible}.astra-panel-dog{width:82px;height:64px;filter:drop-shadow(0 5px 7px rgba(3,12,24,.12))}.astra-greeting-copy{background:#fff;border:1px solid var(--astra-line);border-radius:14px;padding:11px 12px;box-shadow:0 4px 16px rgba(16,43,77,.05);font-size:13px;line-height:1.5;flex:1}.astra-greeting-copy strong{color:var(--astra-navy)}
.astra-mode-switch{display:flex;gap:8px;margin:10px 0 14px}.astra-mode-switch button{flex:1;border:1px solid #d8e0ea;background:#fff;color:var(--astra-navy-2);padding:8px 10px;border-radius:10px;font-size:12px;font-weight:650;cursor:pointer}.astra-mode-switch button.active{background:var(--astra-navy-2);border-color:var(--astra-navy-2);color:#fff}.astra-actions{display:grid;gap:8px}.astra-action{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid #dce4ee;background:#fff;border-radius:11px;padding:11px 12px;color:var(--astra-navy-2);cursor:pointer;transition:.18s}.astra-assistant[dir="rtl"] .astra-action{text-align:right}.astra-action:hover{border-color:rgba(212,175,55,.85);transform:translateY(-1px);box-shadow:0 6px 18px rgba(16,43,77,.08)}.astra-action .ico{width:28px;height:28px;border-radius:8px;background:#f2f6fa;display:grid;place-items:center;font-size:15px;color:var(--astra-gold)}.astra-action .txt{flex:1}.astra-action .txt b{display:block;font-size:13px}.astra-action .txt small{display:block;font-size:11px;color:#6f7f93;margin-top:2px}.astra-action .arr{font-size:18px;color:#6f7f93}
.astra-chatlog{display:flex;flex-direction:column;gap:9px;margin:8px 0 12px}.astra-msg{max-width:88%;font-size:12.5px;line-height:1.48;padding:10px 11px;border-radius:12px;white-space:pre-wrap}.astra-msg.bot{align-self:flex-start;background:#fff;border:1px solid #dce4ee;color:#223d5c}.astra-msg.user{align-self:flex-end;background:var(--astra-navy-2);color:#fff}.astra-msg a{color:#9b741b;font-weight:650;text-decoration:underline;text-underline-offset:2px}.astra-input-row{display:flex;gap:8px;margin-top:10px}.astra-input{flex:1;border:1px solid #d6dfeb;border-radius:11px;padding:11px 12px;font-size:13px;outline:none;background:#fff}.astra-input:focus{border-color:var(--astra-gold);box-shadow:0 0 0 3px rgba(212,175,55,.12)}.astra-send{width:42px;border:0;border-radius:11px;background:var(--astra-navy-2);color:#fff;font-size:19px;cursor:pointer}.astra-send:hover{background:#173c69}.astra-send:disabled{opacity:.55;cursor:wait}.astra-privacy{font-size:10.5px;line-height:1.4;color:#718198;margin-top:10px}.astra-status{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6d7d91;margin-bottom:8px}.astra-status span{color:#2a9d58;font-weight:700}.astra-wizard{margin-top:10px;padding:12px;border:1px solid #dfe6ef;border-radius:12px;background:#fff}.astra-wizard h4{margin:0 0 8px;font-size:13px;color:var(--astra-navy)}.astra-chiprow{display:flex;flex-wrap:wrap;gap:7px}.astra-chip{border:1px solid #dbe3ec;background:#fff;color:#294762;border-radius:999px;padding:7px 9px;font-size:11px;cursor:pointer}.astra-chip:hover{border-color:var(--astra-gold);background:#fffaf0}.astra-expression{display:none;align-items:center;gap:9px;margin:9px 0 2px;font-size:11px;color:#66798f}.astra-expression.show{display:flex}.astra-thinking-dog{width:72px;height:54px}
@media(max-width:640px){.astra-assistant{bottom:22px;width:102px;height:78px}.astra-launch{width:102px;height:78px}.astra-live-dog{width:102px;height:78px}.astra-launch-label{display:none}.astra-panel,.astra-panel.full{position:fixed;inset:74px 10px 10px 10px;width:auto;max-height:none;border-radius:16px}.astra-head{gap:9px;padding:10px 12px}.astra-head-logo{height:38px;max-width:178px}.astra-head-meta span{display:none}.astra-body{padding:13px}.astra-actions{gap:7px}}
@media(prefers-reduced-motion:reduce){.astra-assistant,.astra-live-dog,.astra-live-dog *,.astra-panel,.astra-live-dot{animation:none!important;transition:none!important}}
/* v17.5 Siberian Husky styling */
.astra-live-dog .fur-dark{fill:#17212d}.astra-live-dog .fur-mid{fill:#69798a}.astra-live-dog .fur-white,.astra-live-dog .husky-mask,.astra-live-dog .husky-blaze{fill:#f9fbfc}.astra-live-dog .face-side{opacity:.94}.astra-live-dog .eye-blue{fill:#74cfff;stroke:#dff5ff;stroke-width:.7}.astra-live-dog .eye-pupil{fill:#0c1722}.astra-live-dog .tail-dark{fill:none;stroke:#17212d;stroke-width:14;stroke-linecap:round}.astra-live-dog .tail-tip{fill:none;stroke:#f9fbfc;stroke-width:7;stroke-linecap:round}.astra-live-dog .bandana{fill:#0A2A4F}.astra-live-dog .bandana-edge{fill:none;stroke:#D4AF37;stroke-width:2}.astra-live-dog .tag{fill:#0A1628;stroke:#D4AF37;stroke-width:1.4}.astra-live-dog .tag-mark{fill:#D4AF37}
.astra-assistant[data-astra-mascot-state="excited"] .dog-eyes,.astra-assistant[data-astra-mascot-state="helpful"] .dog-eyes{transform-origin:80px 38px;animation:astraHuskyBlink 2.4s ease-in-out infinite}@keyframes astraHuskyBlink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.18)}}
.astra-live-dog .dog-tail .tail-dark{fill:none;stroke:#17212d;stroke-width:14;stroke-linecap:round}.astra-live-dog .dog-tail .tail-tip{fill:none;stroke:#f9fbfc;stroke-width:7;stroke-linecap:round}.astra-live-dog .dog-eyes .eye-blue{fill:#74cfff;stroke:#dff5ff;stroke-width:.7}.astra-live-dog .dog-eyes .eye-pupil{fill:#0c1722}


/* v17.8 Realistic roaming husky */
.astra-real-dog-wrap{position:relative;display:block;overflow:visible}
.astra-real-dog-shadow{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:68%;height:12px;border-radius:50%;background:rgba(3,12,24,.18);filter:blur(4px)}
.astra-real-dog{position:absolute;left:50%;bottom:8px;display:block;max-width:none;pointer-events:none;user-select:none;filter:drop-shadow(0 10px 16px rgba(3,12,24,.24));transform:translateX(-50%)}
.astra-launch-dog.astra-real-dog-wrap{width:116px;height:86px}
.astra-launch-dog .astra-real-dog-side{width:120px;height:auto}
.astra-panel-dog.astra-real-dog-wrap{width:84px;height:70px}
.astra-panel-dog .astra-real-dog-front{width:82px;height:auto;bottom:0}
.astra-thinking-dog.astra-real-dog-wrap{width:72px;height:56px}
.astra-thinking-dog .astra-real-dog-front{width:68px;height:auto;bottom:0}
.astra-assistant[data-direction="left"] .astra-launch-dog{transform:scaleX(-1)}
.astra-walking .astra-launch-dog .astra-real-dog{animation:astraRealWalk .55s ease-in-out infinite}
.astra-walking .astra-launch-dog .astra-real-dog-shadow{animation:astraRealShadow .55s ease-in-out infinite}
.astra-panel-dog .astra-real-dog,.astra-thinking-dog .astra-real-dog{animation:astraRealBreathe 3.2s ease-in-out infinite}
.astra-assistant[data-astra-mascot-state="excited"] .astra-launch-dog .astra-real-dog,.astra-assistant[data-astra-mascot-state="helpful"] .astra-launch-dog .astra-real-dog{animation:astraRealBounce .8s ease-in-out 2}
.astra-assistant[data-astra-mascot-state="thinking"] .astra-thinking-dog .astra-real-dog{animation:astraRealThink 1.15s ease-in-out infinite}
.astra-assistant[data-astra-mascot-state="typing"] .astra-thinking-dog .astra-real-dog{animation-duration:.6s}
@keyframes astraRealWalk{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}
@keyframes astraRealShadow{0%,100%{transform:translateX(-50%) scale(1);opacity:.2}50%{transform:translateX(-50%) scale(.92);opacity:.14}}
@keyframes astraRealBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-7px)}}
@keyframes astraRealBreathe{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}50%{transform:translateX(-50%) translateY(-1px) scale(1.015)}}
@keyframes astraRealThink{0%,100%{transform:translateX(-50%) translateY(0) rotate(0deg)}35%{transform:translateX(-50%) translateY(-1px) rotate(-2deg)}70%{transform:translateX(-50%) translateY(0) rotate(1.5deg)}}
@media(max-width:640px){
  .astra-launch-dog.astra-real-dog-wrap{width:95px;height:70px}
  .astra-launch-dog .astra-real-dog-side{width:98px}
}

@media(prefers-reduced-motion:reduce){.astra-real-dog,.astra-real-dog-wrap,.astra-real-dog-shadow{animation:none!important;transition:none!important}} /* v17.8 reduced motion */


/* v17.9 Lifelike realistic Astra behaviors */
.astra-launch-dog.astra-real-dog-wrap{width:122px;height:88px}
.astra-launch-dog .astra-real-dog{height:auto;bottom:4px}
.astra-launch-dog[data-pose="walk"] .astra-real-dog,.astra-launch-dog[data-pose="wag"] .astra-real-dog{width:120px}
.astra-launch-dog[data-pose="idle"] .astra-real-dog{width:108px;bottom:0}
.astra-launch-dog[data-pose="sleep"]{width:126px;height:78px}
.astra-launch-dog[data-pose="sleep"] .astra-real-dog{width:126px;bottom:0}
.astra-launch-dog[data-pose="sleep"] .astra-real-dog-shadow{width:82%;bottom:0;opacity:.16}
.astra-launch-dog[data-pose="idle"] .astra-real-dog-shadow{width:74%}
.astra-launch-dog[data-pose="sleep"] .astra-real-dog{animation:astraRealSleep 3.6s ease-in-out infinite}
.astra-launch-dog[data-pose="wag"] .astra-real-dog{animation:astraRealHoverWag .52s ease-in-out infinite alternate}
.astra-assistant[data-astra-mascot-state="sleeping"] .astra-live-dot{background:#93a1b3;animation:none;opacity:.75}
.astra-panel-dog .astra-real-dog-front{width:86px;height:auto;bottom:-2px}
.astra-thinking-dog .astra-real-dog-front{width:68px;height:auto;bottom:0}
@keyframes astraRealSleep{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.02)}}
@keyframes astraRealHoverWag{0%{transform:translateX(-50%) rotate(-1deg) translateY(0)}100%{transform:translateX(-50%) rotate(1.6deg) translateY(-2px)}}
@media(max-width:640px){
  .astra-launch-dog.astra-real-dog-wrap{width:100px;height:72px}
  .astra-launch-dog[data-pose="walk"] .astra-real-dog,.astra-launch-dog[data-pose="wag"] .astra-real-dog{width:98px}
  .astra-launch-dog[data-pose="idle"] .astra-real-dog{width:90px}
  .astra-launch-dog[data-pose="sleep"]{width:102px;height:64px}
  .astra-launch-dog[data-pose="sleep"] .astra-real-dog{width:102px}
}


/* v17.11 Astra lifted higher for full visibility */
.astra-assistant{bottom:max(78px,calc(env(safe-area-inset-bottom,0px) + 56px))}
@media(max-width:640px){.astra-assistant{bottom:max(108px,calc(env(safe-area-inset-bottom,0px) + 86px))}}
