.sf-mascot{position:fixed;left:20px;bottom:max(18px,env(safe-area-inset-bottom));z-index:1020;display:flex;align-items:flex-end;width:390px;max-width:calc(100vw - 110px);pointer-events:none;animation:sf-mascot-enter .7s ease-out both}
.sf-mascot__bubble{position:relative;flex:1;min-width:0;margin:0 -12px 50px 0;padding:22px 26px 18px 20px;background:#fffaf4;color:#173e3a;border:1px solid #e7d8c8;border-radius:24px 24px 5px 24px;box-shadow:0 12px 38px #173e3a20;pointer-events:auto}
.sf-mascot__brand{display:block;margin-bottom:8px;color:#a75429;font:700 9px/1.4 system-ui,sans-serif;letter-spacing:1.2px}
.sf-mascot__bubble p{margin:0 0 12px;font:650 17px/1.45 system-ui,sans-serif;color:#173e3a}
.sf-mascot__character{flex:0 0 138px;width:138px;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 6px 7px #173e3a18);transform-origin:bottom center;animation:sf-mascot-greet 3s ease-in-out 2}
.sf-mascot__character:disabled{cursor:default;opacity:1}
.sf-mascot__character img{display:block;width:100%;height:auto}
.sf-mascot__close{position:absolute;top:6px;right:7px;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#68776f;font:24px/1 system-ui;cursor:pointer}
.sf-mascot__speak{padding:8px 11px;border:0;border-radius:20px;background:#173e3a;color:#fff;font:600 12px/1.3 system-ui;cursor:pointer}
.sf-mascot button:focus-visible{outline:3px solid #d27b3d;outline-offset:4px}
.sf-mascot__status:not(:empty){display:block;margin-top:8px;font:12px/1.4 system-ui;color:#586b60}
.sf-mascot.is-collapsed{width:110px;max-width:calc(100vw - 110px)}
.sf-mascot.is-collapsed .sf-mascot__character{flex-basis:100px;width:100px}
.sf-mascot.is-speaking .sf-mascot__character{animation:sf-mascot-greet 1.5s ease-in-out infinite}
@keyframes sf-mascot-enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes sf-mascot-greet{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-2deg)}}
@media(max-width:575.98px){.sf-mascot{left:10px;max-width:calc(100vw - 90px);width:320px}.sf-mascot__character{flex-basis:85px;width:85px}.sf-mascot__bubble{margin-bottom:30px;margin-right:-8px;padding:18px 22px 14px 14px;border-radius:18px 18px 4px 18px}.sf-mascot__brand{font-size:8px;letter-spacing:.5px}.sf-mascot__bubble p{font-size:13px}.sf-mascot__speak{font-size:11px;padding:8px}.sf-mascot.is-collapsed{width:80px}.sf-mascot.is-collapsed .sf-mascot__character{flex-basis:75px;width:75px}}
@media(prefers-reduced-motion:reduce){.sf-mascot,.sf-mascot__character,.sf-mascot.is-speaking .sf-mascot__character{animation:none}}
@media print{.sf-mascot{display:none}}
