.site-floating-nav { position: fixed; right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); z-index: 9999; font-family: "Microsoft YaHei", sans-serif; font-size: 15px; line-height: 1.5; }
.site-floating-controls { display: flex; }
.site-floating-nav .site-floating-toggle { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 66px; height: 66px; margin: 0; padding: 8px; border: 1px solid #b6f4ff; border-radius: 50%; background: linear-gradient(135deg, #65b8ff, #00deef); color: #092236; cursor: grab; touch-action: none; user-select: none; box-shadow: 0 0 16px #36ccff99, 0 0 36px #36ccff55, 0 6px 20px #0008; animation: fab-glow 2.8s ease-in-out infinite; }
.site-floating-toggle span { font-size: 12px; font-weight: 800; }
.site-floating-nav svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.site-floating-nav.is-dragging .site-floating-toggle { cursor: grabbing; animation: none; }
.site-floating-nav :focus-visible { outline: 3px solid #ffde87; outline-offset: 4px; }
.site-floating-toggle:hover { filter: brightness(1.15); }
/* Radial bubbles expand from the central circle. */
.site-floating-dialog { position: fixed; inset: 0; box-sizing: border-box; width: min(560px, calc(100vw - 24px), calc(100dvh - 36px)); aspect-ratio: 1; max-height: calc(100dvh - 36px); margin: auto; padding: 0; border: 0; color: #e9f4ff; background: transparent; overflow: visible; }
.site-floating-dialog::backdrop { background: #020b18b8; backdrop-filter: blur(6px); }
.site-floating-nav .site-floating-menu { --radius: min(196px, calc((100vw - 24px) * .35), calc((100dvh - 36px) * .35)); position: relative; width: 100%; height: 100%; padding: 0; isolation: isolate; }
.site-floating-menu::before { content: ''; position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(circle, #44bdff22, #157db40a 60%, transparent 72%); pointer-events: none; }
.site-floating-menu[hidden] { display: none !important; }
.site-floating-title { position: absolute; top: 0; left: 0; width: 100%; margin: 0; text-align: center; color: #dcf7ff; font-size: 16px; letter-spacing: 3px; }
.site-floating-hint { position: absolute; top: calc(50% + 50px); left: 50%; transform: translateX(-50%); margin: 0; color: #c2e5f4; font-size: 12px; white-space: nowrap; pointer-events: none; }
.site-floating-close { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 88px; height: 88px; padding: 0; border: 1px solid #d5fbff; border-radius: 50%; color: #09263b; background: radial-gradient(circle at 30% 25%, #c7ffff, #59ccff 45%, #179acf); box-shadow: 0 0 25px #59d9ff88, 0 0 60px #4acbff44, inset 0 0 16px #f2ffff66; font: inherit; cursor: pointer; animation: fab-center-pop .35s cubic-bezier(.2, 1.35, .4, 1); }
.site-floating-close span:first-child { font-size: 30px; line-height: 1; }
.site-floating-close span:last-child { font-size: 12px; font-weight: 700; }
.site-floating-nav .site-floating-bubble { --bubble-size: 96px; position: absolute; top: 50%; left: 50%; display: block; box-sizing: border-box; width: var(--bubble-size); height: var(--bubble-size); margin: calc(var(--bubble-size) / -2); padding: 0; border: 0; border-radius: 50%; background: transparent; color: #eafbff; text-decoration: none; font: inherit; cursor: pointer; transform: translate(calc(var(--dx) * var(--radius)), calc(var(--dy) * var(--radius))); animation: fab-bubble-open .5s cubic-bezier(.18, 1.4, .4, 1) var(--delay) both; }
.site-floating-bubble-inner { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; gap: 5px; width: 100%; height: 100%; border: 1px solid #a1e8ffb0; border-radius: 50%; background: radial-gradient(circle at 28% 22%, #c4faff48, #348fb266 36%, #163751db 80%); box-shadow: inset 3px 4px 12px #d7ffff33, inset -5px -7px 14px #041f4366, 0 0 20px #4bc8fa33, 0 10px 22px #0005; font-size: 13px; font-weight: 600; animation: fab-bubble-float 3.8s ease-in-out var(--float-delay) infinite; }
.site-floating-bubble-inner::before { content: ''; position: absolute; top: 12%; left: 20%; width: 25%; height: 12%; border-radius: 50%; background: #e0ffff55; transform: rotate(-35deg); filter: blur(2px); }
.site-floating-bubble-icon { font-size: 27px; font-weight: 400; line-height: 1.1; }
.site-floating-bubble-inner > span:last-child { max-width: 85%; text-align: center; overflow-wrap: anywhere; line-height: 1.25; }
.site-floating-parent { position: absolute; top: calc(50% + 65px); left: 50%; transform: translateX(-50%); height: 22px; padding: 0 9px; border: 1px solid #8cdefb80; border-radius: 20px; background: #14344b; color: #e7faff; font: inherit; font-size: 11px; white-space: nowrap; cursor: pointer; }
.site-floating-parent[hidden] { display: none; }
.site-floating-bubble:hover .site-floating-bubble-inner { border-color: #fff; background-color: #42b8ea55; box-shadow: 0 0 26px #5bd7ff88, inset 0 0 18px #a6f1ff44; }
@keyframes fab-glow { 50% { box-shadow: 0 0 22px #36ccffcc, 0 0 45px #36ccff77, 0 6px 20px #0008; } }
@keyframes fab-bubble-open { from { opacity: 0; transform: translate(0, 0) scale(.15); } to { opacity: 1; transform: translate(calc(var(--dx) * var(--radius)), calc(var(--dy) * var(--radius))) scale(1); } }
@keyframes fab-bubble-float { 50% { transform: translateY(-6px) rotate(2deg); } }
@keyframes fab-center-pop { from { opacity: 0; transform: translate(-50%, -50%) scale(.35); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@media (max-width: 600px), (max-height: 600px) { .site-floating-nav { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); } .site-floating-nav .site-floating-toggle { width: 60px; height: 60px; } .site-floating-nav .site-floating-bubble { --bubble-size: 72px; } .site-floating-title { top: -18px; } .site-floating-bubble-inner { font-size: 11px; gap: 3px; } .site-floating-bubble-icon { font-size: 23px; } .site-floating-close { width: 76px; height: 76px; } .site-floating-hint { top: calc(50% + 43px); } }
@media (prefers-reduced-motion: reduce) { .site-floating-toggle, .site-floating-bubble, .site-floating-bubble-inner, .site-floating-close { animation: none !important; } }

.site-floating-bubble-icon{display:grid;place-items:center;color:var(--bubble-icon-color,#c4f3ff)}
.site-floating-bubble-icon svg{width:29px;height:29px;filter:drop-shadow(0 0 5px currentColor)}
.site-floating-bubble[data-tone="brands"]{--bubble-icon-color:#ffbb9e}
.site-floating-bubble[data-tone="tools"]{--bubble-icon-color:#93efd3}
.site-floating-bubble[data-tone="security"]{--bubble-icon-color:#a8d8ff}
.site-floating-bubble[data-tone="ai"]{--bubble-icon-color:#e8b9ff}
.site-floating-bubble[data-tone="resources"]{--bubble-icon-color:#ffe49a}
.site-floating-bubble[data-tone="faq"]{--bubble-icon-color:#ffb9d9}
@media(max-width:600px),(max-height:600px){.site-floating-bubble-icon svg{width:24px;height:24px}}
