.xcpnav-bar{position:fixed;top:0;left:0;width:100%;height:96px;z-index:9999;display:flex;align-items:center;background:none;border-bottom:none;transition:background .35s ease,box-shadow .35s ease;}
.xcpnav-bar.is-scrolled{background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.xcpnav-inner{width:100%;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.xcpnynav {background: linear-gradient(45deg, #13246a 0%, #721c89 100%);}
.xcpnav-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;max-width:290px;transition:max-width .3s ease}
.xcpnav-logo img{width:100%;height:auto;display:block;object-fit:contain}
.xcpnav-logo .xcpnav-logo-dark{display:none}
.xcpnav-bar.is-scrolled .xcpnav-logo-white{display:none}
.xcpnav-bar.is-scrolled .xcpnav-logo-dark{display:block; background:url(../images/indexaboutbg.jpg) center bottom no-repeat; background-size:cover}
.xcpnav-menu{display:flex;align-items:center;justify-content:center;gap:2px;list-style:none;flex:1}
.xcpnav-menu>li{position:relative}
.xcpnav-menu>li>a{display:flex;align-items:center;gap:5px;padding:10px 18px;font-size:17px;;color:#fff;text-decoration:none;border-radius:8px;white-space:nowrap;transition:color .3s ease,background .3s ease}
.xcpnav-menu>li>a:hover{color:rgba(255,255,255,.7)}
.xcpnav-bar.is-scrolled .xcpnav-menu>li>a{color:#1d1d1f}
.xcpnav-bar.is-scrolled .xcpnav-menu>li>a:hover{color:#7B2CBF}
.xcpnav-menu>li>a .xcpnav-arrow{width:10px;height:10px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease}
.xcpnav-menu>li:hover>a .xcpnav-arrow{transform:rotate(180deg)}
.xcpnav-menu>li.ahover>a {color:#fff; font-weight:bold}
.xcpnav-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:170px;background:#fff;border-radius:14px;padding:10px;box-shadow:0 16px 44px rgba(0,0,0,.13);opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility .3s;margin-top:12px;z-index:10}
.xcpnav-menu>li:hover .xcpnav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.xcpnav-dropdown a{display:block;padding:9px 14px;font-size:14px;color:#424245;text-decoration:none;border-radius:8px;white-space:nowrap;transition:background .25s ease,color .25s ease}
.xcpnav-dropdown a:hover{background:rgba(123,44,191,.08);color:#7B2CBF}
.xcpnav-tools{display:flex;align-items:center;gap:4px;flex-shrink:0}
.xcpnav-tool{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:#fff;background:transparent;border:none;cursor:pointer;border-radius:10px;text-decoration:none;transition:color .3s ease,background .3s ease}
.xcpnav-tool:hover{background:rgba(255,255,255,.14)}
.xcpnav-bar.is-scrolled .xcpnav-tool{color:#1d1d1f}
.xcpnav-bar.is-scrolled .xcpnav-tool:hover{background:rgba(0,0,0,.05)}
.xcpnav-tool svg{width:28px;height:28px;display:block}
.xcpnav-lang{width:auto;padding:0 14px;gap:6px;font-size:14px;}
.xcpnav-lang .xcpnav-lang-text{white-space:nowrap}
.xcpnav-lang .xcpnav-arrow{width:14px;height:14px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease;margin-top: 2px;}
.xcpnav-lang:hover .xcpnav-arrow{transform:rotate(180deg)}
.xcpnav-qr{position:absolute;top:100%;right:0;margin-top:14px;background:#fff;border-radius:14px;padding:12px;box-shadow:0 16px 44px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;z-index:10;width:150px}
.xcpnav-qr::before{content:"";position:absolute;top:-6px;right:20px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-radius:2px}
.xcpnav-wechat:hover .xcpnav-qr{opacity:1;visibility:visible;transform:translateY(0)}
.xcpnav-qr img{display:block;width:100%;height:auto;border-radius:6px}
.xcpnav-qr p{font-size:12px;color:#6e6e73;text-align:center;margin-top:8px;line-height:1}
.xcpnav-lang-list{position:absolute;top:100%;right:0;margin-top:14px;background:#fff;border-radius:12px;padding:8px;min-width:130px;box-shadow:0 16px 44px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;z-index:10}
.xcpnav-lang:hover .xcpnav-lang-list{opacity:1;visibility:visible;transform:translateY(0)}
.xcpnav-lang-list a{padding:9px 14px;font-size:14px;color:#424245;text-decoration:none;border-radius:8px;white-space:nowrap;transition:background .25s ease,color .25s ease}
.xcpnav-lang-list a img {margin-right:4px;}
.xcpnav-lang-list a:hover{background:rgba(123,44,191,.08);color:#7B2CBF}
.xcpnav-lang-list a.is-active{color:#7B2CBF;font-weight:600}
.xcpnav-burger{display:none;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:none;cursor:pointer;border-radius:10px;transition:background .3s ease}
.xcpnav-burger span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;color:#fff;transition:background .3s ease,transform .3s ease}
.xcpnav-bar.is-scrolled .xcpnav-burger span{background:#1d1d1f}
.xcpbanner{position:relative;width:100%;height:100vh;min-height:560px;overflow:hidden;background:#c8d8ee}
.xcpbanner-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none}
.xcpbanner-slide.active{opacity:1;pointer-events:auto}
.xcpbanner-slide img{width:100%;height:100%;object-fit:cover;display:block}
.xcpbanner-dots{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);display:flex;gap:10px;z-index:4}
.xcpbanner-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);border:none;padding:0;cursor:pointer;transition:width .35s cubic-bezier(.22,.61,.36,1),background .35s ease}
.xcpbanner-dot.active{width:32px;border-radius:100px;background:#fff}

/* 三级菜单新增样式（全部横向书写） */
.xcpnav-dropdown .xcpnav-sub-item{position:relative;}
.xcpnav-dropdown .xcpnav-sub-item>a{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.xcpnav-dropdown .xcpnav-sub-item>a .xcpnav-arrow{width:10px;height:10px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-90deg);transition:transform .3s ease;}
.xcpnav-sub{position:absolute;top:0;left:100%;margin-left:6px;min-width:140px;background:#fff;border-radius:14px;padding:10px;box-shadow:0 16px 44px rgba(0,0,0,.13);opacity:0;visibility:hidden;transform:translateX(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;z-index:20;}
.xcpnav-sub-item:hover .xcpnav-sub{opacity:1;visibility:visible;transform:translateX(0);}
.xcpnav-sub a{display:block;padding:9px 14px;font-size:14px;color:#424245;text-decoration:none;border-radius:8px;white-space:nowrap;transition:background .25s ease,color .25s ease;}
.xcpnav-sub a:hover{background:rgba(123,44,191,.08);color:#7B2CBF;}
@media (max-width:1024px){.xcpnav-sub{position:static;margin-left:0;transform:none;box-shadow:none;padding-left:20px;opacity:1;visibility:visible;display:none;}.xcpnav-sub-item.is-open .xcpnav-sub{display:block;}}



/*about*/
.xcpabout-module{width:100%;background:url(../images/about_bgg.png) right bottom no-repeat #f5f5f7; background-size:80%;padding:6% 24px;}
.xcpabout-module__inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:stretch}
.xcpabout-module__media{position:relative;border-radius:24px;overflow:hidden;height:580px;box-shadow:0 24px 60px -20px rgba(19,36,106,.28),0 8px 24px rgba(0,0,0,.06)}
.xcpabout-module__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.xcpabout-module:hover .xcpabout-module__media img{transform:scale(1.04)}
.xcpabout-module__badge{position:absolute;left:0;bottom:0;background:linear-gradient(135deg,#13246a,#721c88);color:#fff;font-size:15px;font-weight:600;letter-spacing:.02em;padding:16px 28px;border-radius:0 18px 0 0;z-index:2}
.xcpabout-module__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.92);color:#7B2CBF;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 12px 36px rgba(19,36,106,.32);transition:transform .4s cubic-bezier(.22,.61,.36,1),background .3s ease,color .3s ease;z-index:3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.xcpabout-module__play svg{width:44px;height:44px;margin-left:3px;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
.xcpabout-module__play:hover{background:linear-gradient(135deg,#13246a,#721c88);color:#fff;transform:translate(-50%,-50%) scale(1.08)}
.xcpabout-module__play:hover svg{transform:scale(1.1)}
.xcpabout-module__play-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.7);animation:xcpPlayPulse 2.2s ease-out infinite;pointer-events:none}
@keyframes xcpPlayPulse{
  0%{transform:scale(1);opacity:.85}
  70%{transform:scale(1.5);opacity:0}
  100%{transform:scale(1.5);opacity:0}
}
.xcpabout-module__body{position:relative;height:580px;display:flex;flex-direction:column;padding-top:32px;overflow:hidden;container-type:inline-size}
.xcpabout-module__watermark{position:absolute;top:0;left:0;font-size:clamp(26px,3.2vw,42px);font-weight:800;letter-spacing:-.015em;line-height:1;color:rgba(123,44,191,.07);white-space:nowrap;pointer-events:none;user-select:none;z-index:0;max-width:100%}
.xcpabout-module__title{position:relative;z-index:1;font-size:clamp(24px,2.2vw,32px);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin-bottom:16px; margin-top:20px;flex-shrink:0}
.xcpabout-module__title em{font-style:normal;display:block;background:linear-gradient(135deg,#13246a,#721c88);-webkit-background-clip:text;background-clip:text;color:transparent}
.xcpabout-module__text{position:relative;z-index:1;flex:1;overflow-y:auto;font-size:16px;line-height:1.8;color:#424245;padding-right:22px;scrollbar-width:thin;scrollbar-color:rgba(123,44,191,.25) transparent}
.xcpabout-module__text::-webkit-scrollbar{width:6px}
.xcpabout-module__text::-webkit-scrollbar-track{background:transparent}
.xcpabout-module__text::-webkit-scrollbar-thumb{background:rgba(123,44,191,.2);border-radius:100px;transition:background .3s}
.xcpabout-module__text::-webkit-scrollbar-thumb:hover{background:rgba(123,44,191,.45)}
.xcpabout-module__text p{margin-bottom:13px}
.xcpabout-module__text p:last-child{margin-bottom:0}
@media(max-width:900px){
.xcpabout-module{padding:64px 20px}
.xcpabout-module__inner{grid-template-columns:1fr;gap:36px}
.xcpabout-module__media{height:360px;border-radius:20px}
.xcpabout-module__badge{font-size:14px;padding:13px 22px;border-radius:0 15px 0 0}
.xcpabout-module__play{width:64px;height:64px}
.xcpabout-module__play svg{width:22px;height:22px}
.xcpabout-module__body{height:auto;padding-top:0;overflow:visible;container-type:normal}
.xcpabout-module__watermark{position:static;font-size:clamp(22px,7vw,32px);margin-bottom:6px;display:block;max-width:100%}
.xcpabout-module__title{font-size:21px;margin-bottom:14px}
.xcpabout-module__text{overflow:visible;padding-right:0;font-size:15px;line-height:1.75}
.xcpabout-module__text p{margin-bottom:12px}
}
@media(max-width:480px){
.xcpabout-module{padding:5vw 16px}
.xcpabout-module__inner{gap:28px}
.xcpabout-module__media{height:260px;border-radius:16px}
.xcpabout-module__badge{font-size:13px;padding:11px 18px;border-radius:0 12px 0 0}
.xcpabout-module__play{width:54px;height:54px}
.xcpabout-module__play svg{width:18px;height:18px}
.xcpabout-module__watermark{font-size:20px;margin-bottom:4px}
.xcpabout-module__title{font-size:19px;margin-bottom:12px}
.xcpabout-module__text{font-size:14.5px;line-height:1.7}
.xcpabout-module__text p{margin-bottom:10px}
}

.xcpcert-section{width:100%;background:url("../images/zizhi_bg.jpg") center no-repeat;background-size: cover;padding:3% 24px;}
.xcpcert-section__inner{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:40% 1fr;gap:5%;align-items:start}
.xcpcert-line{display:block;width:52px;height:4px;border-radius:100px;background:#fff}
.xcpcert-left__title{font-size:clamp(22px,2.2vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.25;color:#fff}
.xcpcert-left__title + .xcpcert-line{margin:20px 0 36px}
.xcpcert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.xcpcert-grid__item{aspect-ratio:4/3;border:1px solid #eee;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:14px;transition:border-color .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.22,.61,.36,1);cursor:default}
.xcpcert-grid__item:hover{border:1px solid #fff; background: #fff; box-shadow:0 12px 28px -12px rgba(123,44,191,.35);transform:translateY(-4px)}
.xcpcert-grid__item img{width:100%;height:100%;object-fit:contain;display:block;filter: brightness(0) invert(1);opacity:1;transition:filter .35s ease,opacity .35s ease}
.xcpcert-grid__item:hover img{filter:grayscale(0);opacity:1}
.xcpcert-left__note{margin-top:28px;font-size:14px;line-height:1.75;color:#fff;text-align:left}
.xcpcert-left__note p {color:#fff;}
.xcpcert-right{display:flex;flex-direction:column}
.xcpcert-right__title{font-size:clamp(22px,2.2vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.25;color:#1d1d1f}
.xcpcert-right__subtitle{font-size:15.5px;line-height:1.7;color:#6e6e73;margin-top:12px}
.xcpcert-right__subtitle + .xcpcert-line{margin:20px 0 32px}
.xcpcert-right__media{overflow:hidden;box-shadow:0 20px 48px -20px rgba(19,36,106,.28),0 6px 18px rgba(0,0,0,.05)}
.xcpcert-right__media img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.xcpcert-right__media:hover img{transform:scale(1)}
.xcpcert-right__footer{margin-top:36px;text-align:right}
.xcpcert-right__footer .xcpcert-line{margin:0 0 20px auto}
.xcpcert-right__footer p{font-size:14px;line-height:1.75;color:#424245;margin-bottom:0px}
.xcpcert-right__footer p:last-child{margin-bottom:0}
@media(max-width:900px){
.xcpcert-section{padding:64px 20px; background:url("../images/zizhi_bg.jpg") top left no-repeat;background-size: 390%;}
.xcpcert-section__inner{grid-template-columns:1fr;gap:56px}
.xcpcert-left__title + .xcpcert-line{margin:16px 0 28px}
.xcpcert-grid{gap:12px}
.xcpcert-grid__item{padding:11px;border-radius:12px}
.xcpcert-left__note{margin-top:22px;font-size:13.5px}
.xcpcert-right__subtitle + .xcpcert-line{margin:16px 0 26px}
.xcpcert-right__media{border-radius:16px}
.xcpcert-right__footer{margin-top:28px}
.xcpcert-right__footer .xcpcert-line{margin-bottom:16px}
.xcpcert-right__footer p{font-size:14px;line-height:1.75}
}
@media(max-width:480px){
.xcpcert-section{padding:48px 16px; background:url("../images/zizhi_bg.jpg") top left no-repeat;background-size: 390%;}
.xcpcert-section__inner{gap:44px}
.xcpcert-grid{gap:10px}
.xcpcert-grid__item{padding:9px;border-radius:10px}
.xcpcert-left__note{font-size:13px}
.xcpcert-right__media{border-radius:14px}
.xcpcert-right__footer p{font-size:14px}
}

.xcpglobal-section{width:100%;background:linear-gradient(180deg,#fbfbfc 0%,#c9d1dc 100%);padding:100px 24px;}
.xcpglobal-section__inner{max-width:1300px;margin:0 auto;display:flex;flex-direction:column;gap:52px;align-items:center}
.xcpglobal-line{display:block;width:52px;height:4px;border-radius:100px;background:linear-gradient(135deg,#13246a,#721c88)}
.xcpglobal-left{width:100%;text-align:center}
.xcpglobal-left__title{font-size:clamp(24px,2.6vw,34px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#1d1d1f}
.xcpglobal-left__title + .xcpglobal-line{margin:18px auto}
.xcpglobal-left__subtitle{font-size:18px;line-height:1.75;color:#515154;max-width:640px;margin:0 auto}
.xcpglobal-stats{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1100px;margin-left:auto;margin-right:auto}
.xcpglobal-stats__row{display:flex;align-items:center;gap:16px}
.xcpglobal-stats__num{font-size:clamp(46px,4vw,60px);font-weight:700;letter-spacing:-.03em;line-height:1;background:linear-gradient(135deg,#13246a,#721c88);-webkit-background-clip:text;background-clip:text;color:transparent;flex-shrink:0;display:inline-flex;align-items:baseline}
.xcpglobal-stats__num em{font-style:normal;font-size:.5em;font-weight:600;margin-left:1px}
.xcpglobal-stats__label{font-size:16px;line-height:1.5;color:#424245;text-align:left}
.xcpglobal-stats__label strong{display:block;font-size:14px;font-weight:600;color:#86868b;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;white-space:nowrap;margin-top: 5px;}
.xcpglobal-right{width:100%;position:relative;display:flex;align-items:center;justify-content:center; margin-top: 4%}
.xcpglobal-right__map{width:100%;height:auto;display:block;filter:drop-shadow(0 24px 60px rgba(19,36,106,.18));transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.xcpglobal-section:hover .xcpglobal-right__map{transform:scale(1)}
@media(max-width:1024px){
.xcpglobal-stats{gap:28px}
.xcpglobal-stats__row{gap:12px}
.xcpglobal-stats__num{font-size:clamp(28px,3.6vw,38px)}
.xcpglobal-stats__label{font-size:13px}
.xcpglobal-stats__label strong{font-size:11px}
}
@media(max-width:900px){
.xcpglobal-section{padding:64px 20px}
.xcpglobal-section__inner{gap:40px}
.xcpglobal-left__title + .xcpglobal-line{margin:14px auto}
.xcpglobal-left__subtitle{font-size:15px}
.xcpglobal-stats{margin-top:32px;grid-template-columns:1fr;gap:18px;max-width:100%}
.xcpglobal-stats__row{gap:16px}
.xcpglobal-stats__num{font-size:36px;min-width:1.8em;justify-content:flex-end}
}
@media(max-width:480px){
.xcpglobal-section{padding:48px 16px}
.xcpglobal-section__inner{gap:32px}
.xcpglobal-left__subtitle{font-size:14.5px}
.xcpglobal-stats{margin-top:26px;gap:16px}
.xcpglobal-stats__num{font-size:30px;min-width:1.6em}
.xcpglobal-stats__label{font-size:14px}
.xcpglobal-stats__label strong{font-size:11px}
}

/*****AI kefu*******/
.fab { position: fixed; right: 28px; bottom: 28px; width: 64px; height: 64px; border-radius: 50%; border: none; padding: 0; cursor: pointer; background: var(--grad-main); box-shadow: 0 10px 30px rgba(123,44,191,.42), 0 4px 12px rgba(19,36,106,.28); display: grid; place-items: center; z-index: 9999; isolation: isolate; transition: transform .45s var(--ease), box-shadow .45s var(--ease); -webkit-tap-highlight-color: transparent; }
.fab:hover { transform: scale(1.08) translateY(-2px); box-shadow: 0 16px 40px rgba(123,44,191,.5), 0 6px 16px rgba(19,36,106,.32); }
.fab:active { transform: scale(.94); }
.fab .ring { position: absolute; inset: -5px; border-radius: 50%; background: conic-gradient(from 0deg, #7B2CBF, #A855F7, #13246a, #7B2CBF); filter: blur(9px); opacity: .6; animation: spin 5s linear infinite; z-index: -1; pointer-events: none; }
@keyframes spin { to { transform: rotate(360deg); } }
.fab .pulse { position: absolute; inset: 0; border-radius: 50%; background: var(--grad-main); animation: pulse 2.8s cubic-bezier(.22,1,.36,1) infinite; pointer-events: none; }
@keyframes pulse { 0% { transform: scale(1); opacity: .55; } 70% { transform: scale(1.75); opacity: 0; } 100% { transform: scale(1.75); opacity: 0; } }
.fab .icon { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; z-index: 2; transition: opacity .35s var(--ease), transform .5s var(--ease); }
.fab .icon-close { opacity: 0; transform: scale(.5) rotate(-90deg); }
.fab.open .icon-ai { opacity: 0; transform: scale(.5) rotate(90deg); }
.fab.open .icon-close { opacity: 1; transform: scale(1) rotate(0deg); }
.fab.open .pulse, .fab.open .ring { opacity: .25; }
.chat-panel { position: fixed; right: 3%; bottom: 108px; width: 460px; height: min(620px, calc(100vh - 140px)); display: flex; flex-direction: column; border-radius: 28px; background: var(--glass); -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%); box-shadow: 0 30px 70px rgba(19,36,106,.20), 0 10px 28px rgba(123,44,191,.14), inset 0 1px 0 rgba(255,255,255,.9); overflow: hidden; z-index: 9998; opacity: 0; transform: translateY(24px) scale(.92); transform-origin: bottom right; pointer-events: none; transition: opacity .4s var(--ease), transform .55s var(--ease); }
.chat-panel.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.chat-header { position: relative; flex-shrink: 0; display: flex; align-items: center; gap: 12px; padding: 18px 16px; color: #fff; background: var(--grad-main); overflow: hidden; }
.chat-header .glow { position: absolute; width: 240px; height: 240px; border-radius: 50%; top: -130px; right: -70px; background: radial-gradient(circle, rgba(168,85,247,.9), transparent 65%); animation: floatGlow 7s ease-in-out infinite alternate; pointer-events: none; }
.chat-header .glow-2 { position: absolute; width: 200px; height: 200px; border-radius: 50%; bottom: -130px; left: -60px; background: radial-gradient(circle, rgba(19,36,106,.95), transparent 65%); animation: floatGlow 9s ease-in-out infinite alternate-reverse; pointer-events: none; }
@keyframes floatGlow { from { transform: translate(0, 0) scale(1); opacity: .85; } to { transform: translate(-28px, 26px) scale(1.3); opacity: .5; } }
.chat-header > * { position: relative; z-index: 1; }
.header-avatar { position: relative; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.4); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.header-avatar::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid rgba(255,255,255,.45); animation: ringPulse 2.8s ease-out infinite; }
@keyframes ringPulse { 0% { transform: scale(.88); opacity: .9; } 100% { transform: scale(1.4); opacity: 0; } }
.header-info { flex: 1; min-width: 0; }
.header-name { font-size: 15.5px; font-weight: 600; letter-spacing: .2px; display: flex; align-items: center; gap: 7px; }
.badge { font-size: 10px; font-weight: 600; letter-spacing: .4px; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,.22); border: 1px solid rgba(255,255,255,.32); display: inline-flex; align-items: center; gap: 4px; }
.badge::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 6px #4ade80; animation: dotPulse 2s ease-in-out infinite; }
@keyframes dotPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .5; transform: scale(.7); } }
.header-sub { font-size: 12px; opacity: .78; margin-top: 2px; letter-spacing: .2px; }
.header-close { flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; border: none; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; display: grid; place-items: center; transition: background .3s var(--ease), transform .3s var(--ease); -webkit-tap-highlight-color: transparent; }
.header-close:hover { background: rgba(255,255,255,.28); transform: rotate(90deg); }
.chat-body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 20px 18px 6px; display: flex; flex-direction: column; gap: 14px; }
.chat-body::-webkit-scrollbar { width: 6px; }
.chat-body::-webkit-scrollbar-track { background: transparent; }
.chat-body::-webkit-scrollbar-thumb { background: rgba(123,44,191,.22); border-radius: 3px; }
.chat-body::-webkit-scrollbar-thumb:hover { background: rgba(123,44,191,.4); }
.msg { display: flex; align-items: flex-end; gap: 8px; animation: msgIn .55s var(--ease) both; }
.msg.ai { justify-content: flex-start; }
.msg.user { justify-content: flex-end; }
@keyframes msgIn { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
.msg-avatar { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--grad-main); box-shadow: 0 4px 12px rgba(123,44,191,.32); }
.bubble { max-width: 78%; padding: 11px 15px; font-size: 14px; line-height: 1.62; letter-spacing: .2px; white-space: pre-line; word-break: break-word; }
.bubble.rich { max-width: 88%; }
.msg.ai .bubble { background: #fff; color: var(--ink); border: 1px solid rgba(19,36,106,.06); border-radius: 20px 20px 20px 6px; box-shadow: 0 3px 12px rgba(19,36,106,.07); }
.msg.user .bubble { color: #fff; background: var(--grad-main); border-radius: 20px 20px 6px 20px; box-shadow: 0 8px 20px rgba(123,44,191,.30); }
.bubble.streaming::after { content: ''; display: inline-block; width: 2px; height: 13px; margin-left: 3px; vertical-align: -2px; background: var(--primary); border-radius: 1px; animation: blink .85s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.bubble.typing { display: flex; align-items: center; gap: 5px; padding: 15px 17px; }
.bubble.typing span { width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg, #7B2CBF, #13246a); animation: bounce 1.4s ease-in-out infinite; }
.bubble.typing span:nth-child(2) { animation-delay: .16s; }
.bubble.typing span:nth-child(3) { animation-delay: .32s; }
@keyframes bounce { 0%, 60%, 100% { transform: translateY(0); opacity: .4; } 30% { transform: translateY(-6px); opacity: 1; } }

.bubble.html { white-space: normal; }
.bubble.html > *:first-child { margin-top: 0; }
.bubble.html > *:last-child { margin-bottom: 0; }
.bubble.html p { margin: 0 0 8px; }
.bubble.html h1, .bubble.html h2, .bubble.html h3, .bubble.html h4, .bubble.html h5 { margin: 12px 0 6px; font-size: 15px; font-weight: 700; line-height: 1.45; }
.bubble.html ul, .bubble.html ol { margin: 6px 0 8px; padding-left: 1.35em; }
.bubble.html li { margin: 3px 0; }
.bubble.html a { color: var(--primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; word-break: break-all; }
.msg.user .bubble.html a { color: #fff; }
.bubble.html img { display: block; max-width: 100%; height: auto; margin: 8px 0; border-radius: 12px; }
.bubble.html strong, .bubble.html b { font-weight: 700; }
.bubble.html em, .bubble.html i { font-style: italic; }
.bubble.html u { text-decoration: underline; }
.bubble.html s, .bubble.html del { text-decoration: line-through; opacity: .7; }
.bubble.html blockquote { margin: 8px 0; padding: 7px 12px; border-left: 3px solid rgba(123,44,191,.45); background: rgba(123,44,191,.06); border-radius: 0 10px 10px 0; color: var(--ink-2); }
.bubble.html code { padding: 1px 5px; border-radius: 5px; font-size: .9em; background: rgba(123,44,191,.10); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.bubble.html pre { margin: 8px 0; padding: 10px 12px; overflow-x: auto; border-radius: 10px; background: rgba(19,36,106,.06); font-size: 12.5px; line-height: 1.55; }
.bubble.html pre code { padding: 0; background: none; }
.bubble.html table { width: 100%; margin: 8px 0; border-collapse: collapse; font-size: 13px; }
.bubble.html th, .bubble.html td { padding: 6px 9px; border: 1px solid rgba(19,36,106,.14); text-align: left; }
.bubble.html th { background: rgba(123,44,191,.07); font-weight: 600; }
.bubble.html hr { margin: 10px 0; border: none; border-top: 1px solid rgba(19,36,106,.14); }

.option-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px dashed rgba(19,36,106,.16); }
.option-btn { padding: 7px 15px; border-radius: 999px; border: 1px solid rgba(123,44,191,.30); background: rgba(255,255,255,.95); color: var(--primary); font-family: inherit; font-size: 13px; font-weight: 500; letter-spacing: .2px; cursor: pointer; transition: all .3s var(--ease); -webkit-tap-highlight-color: transparent; }
.option-btn:hover:not(:disabled) { background: var(--grad-main); color: #fff; border-color: transparent; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(123,44,191,.32); }
.option-btn:active:not(:disabled) { transform: translateY(0) scale(.96); }
.option-btn:disabled { opacity: .45; cursor: default; color: var(--primary); background: rgba(255,255,255,.9); }

.fb-contact { margin-top: 12px; padding: 14px 14px 13px; border-radius: 16px; background: var(--grad-soft); border: 1px solid rgba(123,44,191,.14); white-space: normal; display: flex; flex-direction: column; gap: 10px; animation: fadeUp .5s var(--ease) both; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.fb-title { font-size: 12.5px; font-weight: 700; letter-spacing: .3px; color: var(--secondary); display: flex; align-items: center; gap: 6px; }
.fb-row { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; line-height: 1.5; color: var(--ink); }
.fb-row .ico { flex-shrink: 0; width: 26px; height: 26px; border-radius: 9px; display: grid; place-items: center; color: #fff; background: var(--grad-main); box-shadow: 0 3px 8px rgba(123,44,191,.28); }
.fb-row a { color: var(--primary); font-weight: 600; text-decoration: none; transition: opacity .25s var(--ease); }
.fb-row a:hover { opacity: .75; text-decoration: underline; }
.fb-row em { font-style: normal; font-size: 11.5px; color: var(--ink-2); margin-left: 3px; }
.fb-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 2px; }
.fb-btn { flex: 1 1 auto; min-width: 106px; padding: 9px 13px; border-radius: 999px; border: none; font-family: inherit; font-size: 13px; font-weight: 600; letter-spacing: .2px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px; transition: all .35s var(--ease); -webkit-tap-highlight-color: transparent; }
.fb-btn.primary { color: #fff; background: var(--grad-main); box-shadow: 0 6px 16px rgba(123,44,191,.32); }
.fb-btn.primary:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(123,44,191,.44); }
.fb-btn.ghost { color: var(--primary); background: rgba(255,255,255,.92); border: 1px solid rgba(123,44,191,.28); }
.fb-btn.ghost:hover { background: #fff; border-color: rgba(123,44,191,.5); transform: translateY(-2px); }
.fb-btn:active { transform: scale(.96); }
.fb-note { margin-top: 2px; padding-top: 9px; border-top: 1px dashed rgba(19,36,106,.16); font-size: 11.5px; line-height: 1.55; color: var(--ink-2); }
.quick-replies { flex-shrink: 0; display: flex; gap: 8px; padding: 6px 18px 12px; overflow-x: auto; scrollbar-width: none; }
.quick-replies::-webkit-scrollbar { display: none; }
.chip { flex: 0 0 auto; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(123,44,191,.28); background: rgba(123,44,191,.06); color: var(--primary); font-size: 13px; font-family: inherit; font-weight: 500; letter-spacing: .2px; white-space: nowrap; cursor: pointer; transition: all .35s var(--ease); -webkit-tap-highlight-color: transparent; }
.chip:hover { color: #fff; border-color: transparent; background: var(--grad-main); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(123,44,191,.32); }
.chip:active { transform: translateY(0) scale(.96); }
.chat-input { flex-shrink: 0; display: flex; align-items: center; gap: 8px; padding: 12px 14px 16px; border-top: 1px solid rgba(19,36,106,.08); background: rgba(255,255,255,.42); }
.input-wrap { flex: 1; display: flex; align-items: center; border-radius: 22px; background: rgba(255,255,255,.92); border: 1px solid rgba(19,36,106,.10); transition: box-shadow .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease); }
.input-wrap:focus-within { background: #fff; border-color: rgba(123,44,191,.55); box-shadow: 0 0 0 4px rgba(123,44,191,.12), 0 6px 20px rgba(123,44,191,.14); }
.input-wrap input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; padding: 12px 16px; font-size: 14px; font-family: inherit; color: var(--ink); letter-spacing: .2px; }
.input-wrap input::placeholder { color: #a1a1a6; }
.send-btn { flex-shrink: 0; width: 38px; height: 38px; margin-right: 3px; border-radius: 50%; border: none; display: grid; place-items: center; color: #fff; background: #d2d2d7; cursor: default; transition: all .35s var(--ease); -webkit-tap-highlight-color: transparent; }
.send-btn.active { background: var(--grad-main); cursor: pointer; box-shadow: 0 6px 16px rgba(123,44,191,.4); }
.send-btn.active:hover { transform: scale(1.1) rotate(8deg); }
.send-btn.active:active { transform: scale(.92); }
@media (max-width: 480px) { .fab { right: 16px; bottom: 16px; width: 58px; height: 58px; } .chat-panel { right: 12px; left: 12px; bottom: 88px; width: auto; height: min(640px, calc(100vh - 110px)); border-radius: 24px; } .input-wrap input { font-size: 16px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }