body.has-xiaofan .space-dock{right:126px}body.has-xiaofan footer{right:128px}
#xiaofan{position:fixed;right:20px;bottom:12px;z-index:40;font:12px/1.55 Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#cce9f4;isolation:isolate}
#xiaofan [hidden]{display:none!important}#xiaofan button,dialog #xiaofan button{font:inherit;color:inherit;cursor:pointer;margin:0;border-radius:4px;padding:0;background:none;border:0}#xiaofan button:focus-visible,#xiaofan textarea:focus-visible{outline:2px solid #70deef;outline-offset:3px}#xiaofan button:disabled{cursor:wait;opacity:.45}
#xiaofan .xf-launcher{position:relative;width:86px;height:96px;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;overflow:visible;border:0;background:none;box-shadow:none}
#xiaofan .xf-avatar{position:relative;display:block;width:82px;height:82px;filter:drop-shadow(0 5px 10px #0008) drop-shadow(0 0 10px #1aa9ce33)}#xiaofan svg{display:block;width:100%;height:100%;overflow:visible}
#xiaofan .xf-name{white-space:nowrap;padding:1px 9px;line-height:17px;letter-spacing:2px;font-size:10px;font-weight:600;color:#b6ecf5;border:1px solid #2c6880;border-radius:10px;background:#0b273bd9;box-shadow:0 0 12px #1b8ca81a}
#xiaofan .xf-name b{font:7px Arial;letter-spacing:.5px;border-left:1px solid #397187;padding-left:5px;margin-left:2px;color:#55d6ea}
#xiaofan .xf-unread{position:absolute;right:11px;top:15px;width:8px;height:8px;background:#74fff3;border:2px solid #0c2135;border-radius:50%;box-shadow:0 0 10px #38d7de}
#xiaofan .xf-body{animation:xf-float 4.5s ease-in-out infinite}#xiaofan .xf-eye{transform-box:fill-box;transform-origin:center;animation:xf-blink 6s infinite}#xiaofan .xf-concern{display:none}#xiaofan .xf-signal{opacity:.8}
#xiaofan[data-mood=hello] .xf-arm.right{transform-box:fill-box;transform-origin:10% 0%;animation:xf-wave .65s ease-in-out 5}#xiaofan[data-mood=hello] .eye-right{transform:scaleY(.18);animation:none}
#xiaofan[data-mood=happy] .xf-eye{transform:scaleY(.48);animation:none}#xiaofan[data-mood=happy] .xf-smile{stroke-width:3}
#xiaofan[data-mood=thinking] .xf-eye{animation:none;transform:translateY(-2px)}#xiaofan[data-mood=thinking] .xf-smile{opacity:.35}#xiaofan[data-mood=thinking] .xf-signal{animation:xf-signal 1s infinite}#xiaofan[data-mood=thinking] .s2{animation-delay:.25s}
#xiaofan[data-mood=thinking] .xf-avatar:after{content:"";position:absolute;inset:8px -2px 0;border:1px dashed #258aaa88;border-top-color:#7ef0fb;border-radius:50%;animation:xf-spin 5s linear infinite;z-index:-1}
#xiaofan[data-mood=concern] .xf-smile{display:none}#xiaofan[data-mood=concern] .xf-concern{display:block}#xiaofan[data-mood=concern] .xf-eye{fill:#ffd79a}
#xiaofan .xf-bubble{position:absolute;right:7px;bottom:108px;width:246px;padding:13px 16px 14px;background:linear-gradient(135deg,#123b54f7,#0a233cf7);border:1px solid #3c8da7;border-radius:12px 12px 3px 12px;box-shadow:0 10px 35px #0007,0 0 24px #0c8fba16;font-size:11px;line-height:1.7;animation:xf-arrive .22s ease-out}
#xiaofan .xf-bubble-label{display:block;color:#69d6e9;font-size:8px;letter-spacing:1px;margin-bottom:5px}#xiaofan .xf-bubble-close{position:absolute;right:7px;top:5px;font-size:17px;color:#6c9dae;width:20px;height:20px}#xiaofan .xf-bubble>i{position:absolute;right:24px;bottom:-6px;width:10px;height:10px;background:#0b263d;border-right:1px solid #3c8da7;border-bottom:1px solid #3c8da7;transform:rotate(45deg)}
#xiaofan .xf-panel{position:fixed;right:22px;bottom:119px;width:370px;height:min(510px,calc(100dvh - 144px));display:flex;flex-direction:column;background:linear-gradient(155deg,#0e263ded,#081628fc);border:1px solid #2d718b;border-radius:12px;box-shadow:0 18px 65px #0009,0 0 30px #1789b51f;overflow:hidden;animation:xf-arrive .2s ease-out;backdrop-filter:blur(16px);text-align:left}
#xiaofan .xf-header{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:10px 14px;border-bottom:1px solid #284963;background:linear-gradient(115deg,#13364b,#101d35)}#xiaofan .xf-mini{display:block;width:38px;height:38px;margin-top:-2px}#xiaofan .xf-mini *{animation:none!important}#xiaofan .xf-header>div{flex:1}#xiaofan .xf-header strong{font-size:15px;letter-spacing:3px;color:#e0f7ff}#xiaofan .xf-header small{display:block;font-size:8px;color:#7aa9c0;margin-top:2px;letter-spacing:.3px}#xiaofan .xf-header button{width:25px;height:28px;color:#86bfd3;font-size:21px}#xiaofan .xf-header button:hover{background:#22516a;color:#c2f4ff}
#xiaofan .xf-context{display:flex;align-items:center;gap:7px;padding:9px 14px;background:#09263a88;border-bottom:1px solid #21435b;font-size:9px;min-height:32px;flex-shrink:0}#xiaofan .xf-context>i{width:5px;height:5px;flex-shrink:0;background:#58dccd;border-radius:50%;box-shadow:0 0 7px #38c5c2}#xiaofan .xf-context>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9ccee1}#xiaofan .xf-context small{margin-left:auto;font-size:7px;color:#577f98;white-space:nowrap}
#xiaofan .xf-messages{flex:1;min-height:70px;overflow:auto;overscroll-behavior:contain;padding:16px 14px;scrollbar-width:thin;scrollbar-color:#315c74 transparent;display:flex;flex-direction:column;gap:12px}
#xiaofan .xf-message{max-width:94%;font-size:12px;line-height:1.8;overflow-wrap:anywhere;flex-shrink:0}#xiaofan .xf-speaker{display:block;color:#58cce0;font-size:8px;letter-spacing:2px;margin:0 0 4px 3px}#xiaofan .xf-text{white-space:pre-wrap;padding:10px 12px;background:#163047b0;border:1px solid #294b65;border-radius:2px 10px 10px 10px;color:#c4dfe9}
#xiaofan .xf-message.user{align-self:flex-end;max-width:90%}#xiaofan .user .xf-text{background:linear-gradient(120deg,#164862,#153958);border-color:#397d93;color:#d1f4fc;border-radius:10px 2px 10px 10px}
#xiaofan .xf-message.thinking .xf-text{color:#76c1d3}#xiaofan .xf-message.thinking .xf-text:after{content:" ···";display:inline-block;animation:xf-signal 1s infinite;letter-spacing:3px}#xiaofan .xf-message.error .xf-text{border-color:#756344;color:#e9cca0}
#xiaofan .xf-request-scope{font-size:7px;color:#608ba3;display:block;margin:4px 4px 0}
#xiaofan .xf-receipt{border:1px solid #2f6970;border-left:3px solid #52c9b7;background:linear-gradient(120deg,#123b42ad,#102c3ca6);border-radius:5px;padding:9px 11px;font-size:11px;line-height:1.7;white-space:pre-wrap;color:#b5dfdf;flex-shrink:0}#xiaofan .xf-receipt>small{display:block;font-size:8px;color:#6bded1;letter-spacing:.6px;margin-bottom:5px}
#xiaofan .xf-bottom{padding:10px 12px 9px;flex-shrink:0;background:#0b1c30;border-top:1px solid #234760}#xiaofan .xf-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}#xiaofan .xf-shortcuts button{font-size:9px;color:#8dc7da;background:#102b42;border:1px solid #2b536d;border-radius:4px;padding:6px 3px;white-space:nowrap;transition:background .15s,border-color .15s}#xiaofan .xf-shortcuts button:hover{border-color:#4ca6bf;background:#17415a;color:#b7f1f8}
#xiaofan #xfForm{display:flex;align-items:flex-end;gap:7px;background:#07192b;border:1px solid #315e79;border-radius:8px;padding:8px}#xiaofan #xfForm:focus-within{border-color:#5bbdd2;box-shadow:0 0 0 2px #36abc418}#xiaofan textarea{flex:1;resize:none;min-width:0;min-height:38px;max-height:95px;background:transparent;border:0;outline:0!important;color:#cce9f4;font-family:inherit;font-size:11px;line-height:1.7;padding:0;box-shadow:none;scrollbar-width:thin}#xiaofan textarea::placeholder{color:#537d97;font-size:10px}#xiaofan #xfSend,#xiaofan #xfStop{width:29px;height:29px;flex-shrink:0;background:linear-gradient(135deg,#55d1e5,#2695b8);border:1px solid #69d4e4;color:#052a3f;font:bold 20px Arial;border-radius:6px}#xiaofan #xfStop{font-size:11px;background:#183c54;color:#95ddec;border-color:#397b96}
#xiaofan .xf-footnote{display:flex;justify-content:space-between;gap:8px;font-size:7px;line-height:1.4;color:#527d96;margin-top:7px}
@keyframes xf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes xf-blink{0%,90%,98%,100%{transform:scaleY(1)}93%,95%{transform:scaleY(.12)}}@keyframes xf-wave{0%,100%{transform:rotate(0)}35%{transform:rotate(-32deg)}70%{transform:rotate(8deg)}}@keyframes xf-signal{0%,100%{opacity:.35}50%{opacity:1}}@keyframes xf-spin{to{transform:rotate(360deg)}}@keyframes xf-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){body.has-xiaofan .space-dock{right:auto}body.has-xiaofan footer{right:auto;padding-right:95px;padding-bottom:24px}#xiaofan{right:12px;bottom:10px}#xiaofan .xf-launcher{width:76px;height:86px}#xiaofan .xf-avatar{width:72px;height:72px}#xiaofan .xf-panel{right:12px;bottom:108px;width:calc(100vw - 24px);max-width:380px;height:min(530px,calc(100dvh - 132px))}#xiaofan .xf-bubble{right:4px;bottom:98px;width:235px}#xiaofan .xf-shortcuts button{padding:7px 3px;font-size:10px}#xiaofan .xf-message{font-size:12px}#xiaofan textarea{font-size:16px;line-height:1.4}#xiaofan .xf-footnote>span:last-child{display:none}}
@media(max-height:700px){#xiaofan .xf-panel{bottom:105px;height:calc(100dvh - 122px)}#xiaofan .xf-header{padding:7px 12px}#xiaofan .xf-context{padding:6px 12px;min-height:27px}#xiaofan .xf-bottom{padding:7px 10px}#xiaofan .xf-shortcuts{gap:4px;margin-bottom:7px}#xiaofan .xf-shortcuts button{padding:4px 2px}#xiaofan .xf-footnote{display:none}}
@media(prefers-reduced-motion:reduce){#xiaofan,#xiaofan *{animation:none!important;transition:none!important}}
body[data-motion=off] #xiaofan .xf-body,body[data-motion=off] #xiaofan .xf-eye{animation:none}

@media(max-width:900px) and (max-height:520px){#xiaofan .xf-panel{bottom:12px;height:calc(100dvh - 24px)}#xiaofan .xf-shortcuts{display:flex;overflow-x:auto;padding-bottom:2px}#xiaofan .xf-shortcuts button{flex:0 0 82px}#xiaofan .xf-messages{min-height:40px}#xiaofan .xf-context{padding:5px 12px;min-height:24px}#xiaofan .xf-header{padding:6px 12px}#xiaofan .xf-mini{width:30px;height:30px}#xiaofan textarea{min-height:30px}}
