@charset "utf-8";
/* SAP Business AI 模块 */
.sap-ai{--sai-violet:#6a4df5;--sai-violet-d:#5334d8;--sai-ink:#1b2133;position:relative;color:var(--sai-ink);background:#f6f7fb;border-top:1px solid #e8eaf2;padding:.86rem 0 .9rem}
.sap-ai__wrap{width:14rem;margin:0 auto;position:relative;z-index:1}
h2.sap-ai__title{color:#182033;font-weight:700;font-size:clamp(26px,calc(42 * 1rem / 100),42px);line-height:1.25;letter-spacing:-.01em;margin:0}
.sap-ai__lead{margin-top:.16rem;color:#5b6379;font-size:clamp(14px,calc(18 * 1rem / 100),18px);line-height:1.75;text-align:justify;text-justify:inter-ideograph}
.sap-ai__grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;align-items:start;margin-top:.5rem}
.sap-ai__chat{position:sticky;top:1.36rem;padding:.14rem;border-radius:.22rem;background:#fff;border:1px solid #e6e3f3;box-shadow:0 .18rem .46rem rgba(24,32,51,.11),0 .02rem .06rem rgba(24,32,51,.05);overflow:hidden;isolation:isolate;transform-origin:50% 32%}
.sap-ai__chat:before{content:"";position:absolute;inset:0;background:radial-gradient(16rem circle at var(--sai-mx,82%) var(--sai-my,0%),rgba(106,77,245,.07),transparent 62%);opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:0}
.sap-ai__chat:hover:before{opacity:1}
.sap-ai__app,.sap-ai__hint{position:relative;z-index:1}
.sap-ai__app{display:grid;grid-template-columns:.54rem minmax(0,1fr);gap:.1rem;align-items:stretch}
.sap-ai__rail{display:flex;flex-direction:column;align-items:center;gap:.09rem;padding:.12rem .06rem;background:#fcfbff;border:1px solid #ebe8f6;border-radius:.16rem}
.sap-ai__gem{width:.36rem;height:.36rem;display:flex;align-items:center;justify-content:center;border-radius:.11rem;background:linear-gradient(160deg,#f3efff,#e6ddff);box-shadow:0 0 0 1px rgba(106,77,245,.14);margin-bottom:.04rem;animation:saiGem 4.6s ease-in-out infinite}
.sap-ai__gem img{display:block;width:.26rem;height:.26rem;filter:drop-shadow(0 2px 4px rgba(106,77,245,.35))}
.sap-ai__ico{width:.3rem;height:.3rem;display:flex;align-items:center;justify-content:center;border-radius:.09rem;color:#5f5d78;background:transparent}
.sap-ai__ico svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sap-ai__ico.is-on{color:var(--sai-violet-d);background:#efebff;box-shadow:0 0 .16rem rgba(106,77,245,.18)}
.sap-ai__stage{position:relative;display:flex;flex-direction:column;background-color:#f5f3fc;background-image:radial-gradient(circle at 1px 1px,rgba(83,60,190,.09) 1px,transparent 0),radial-gradient(120% 90% at 100% 0%,rgba(255,255,255,.92),transparent 58%);background-size:14px 14px,100% 100%;border:1px solid #e7e3f6;border-radius:.16rem;padding:.15rem .15rem .13rem;overflow:hidden}
.sap-ai__chat-top{display:flex;align-items:center;gap:.08rem;padding-bottom:.1rem;border-bottom:1px solid rgba(31,36,54,.08);margin-bottom:.11rem}
.sap-ai__chat-name{font-size:13.5px;font-weight:800;color:var(--sai-ink);letter-spacing:.01em}
.sap-ai__chat-name i{display:block;font-style:normal;font-size:10.5px;font-weight:500;color:#6b7185;letter-spacing:.04em;margin-top:1px}
.sap-ai__live{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:10.5px;color:#6b7185}
.sap-ai__live i{position:relative;width:6px;height:6px;border-radius:50%;background:#16b47a;box-shadow:0 0 0 3px rgba(22,180,122,.14)}
.sap-ai__live i:after{content:"";position:absolute;inset:0;border-radius:50%;background:#16b47a;animation:saiPing 2.6s ease-out infinite}
.sap-ai__ctx{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:.13rem}
.sap-ai__ctx-lb{font-size:10px;color:#666d84;letter-spacing:.06em;margin-right:2px}
.sap-ai__ctx span:not(.sap-ai__ctx-lb){font-size:10.5px;color:#5b4bb5;background:rgba(106,77,245,.07);border:1px solid rgba(106,77,245,.14);border-radius:999px;padding:2px 8px}
.sap-ai__msg{max-width:88%;font-size:12.6px;line-height:1.68;margin-bottom:.13rem}
.sap-ai__msg--me{margin-left:auto;background:linear-gradient(135deg,#7a5cf6,#5637d6);color:#fff;padding:.1rem .13rem;border-radius:.16rem .16rem .05rem .16rem;box-shadow:0 .06rem .16rem rgba(84,60,200,.2)}
.sap-ai__msg--ai{max-width:96%;background:#fff;border:1px solid #e9e6f5;border-radius:.14rem .14rem .14rem .05rem;box-shadow:0 .08rem .22rem rgba(24,32,51,.08);padding:.13rem .14rem;color:#3b4155}
.sap-ai__insight{margin-left:.1rem}
.sap-ai__sum{margin:0;font-size:12.2px;line-height:1.72;color:#4a5065}
.sap-ai__big{font-size:17px;line-height:1;color:var(--sai-violet-d);font-weight:800;letter-spacing:-.01em}
.sap-ai__delta{color:#cf4d61;font-weight:800;font-size:12.6px}
.sap-ai__rows{margin-top:.1rem;padding-top:.04rem;border-top:1px solid rgba(31,36,54,.07)}
.sap-ai__row{display:grid;grid-template-columns:1.32fr .8fr auto;align-items:center;gap:.08rem;padding:.065rem .04rem;border-radius:5px;font-size:11.2px;color:#62677c;transition:background .25s ease,color .25s ease}
.sap-ai__row-lb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap-ai__bar{display:block;height:4px;border-radius:999px;background:rgba(106,77,245,.1);overflow:hidden}
.sap-ai__bar i{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,#9c86ff,#5b3fe0)}
.sap-ai__row b{font-size:11.2px;font-weight:800;color:#3a3f53;text-align:right;white-space:nowrap}
.sap-ai__row:hover{background:rgba(106,77,245,.06);color:#3a3f53}
.sap-ai__result{display:flex;align-items:flex-start;gap:.08rem}
.sap-ai__result p{margin:0;font-size:12.2px;line-height:1.72;color:#4a5065}
.sap-ai__result b{color:var(--sai-violet-d);font-weight:800}
.sap-ai__ok{flex:0 0 auto;width:.22rem;height:.22rem;margin-top:1px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(22,180,122,.12);color:#0f9b68}
.sap-ai__ok svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sap-ai__acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:max-content;max-width:100%;margin:.03rem 0 0 auto;padding:.08rem .1rem;background:#fff;border:1px solid #e9e6f5;border-radius:.12rem;box-shadow:0 .06rem .16rem rgba(24,32,51,.07)}
.sap-ai__acts-lb{font-size:10px;color:#666d84;letter-spacing:.08em;margin-right:2px}
.sap-ai__chip{font-size:11px;color:var(--sai-violet-d);background:#f3efff;border:1px solid rgba(106,77,245,.18);border-radius:999px;padding:4px 9px;transition:background .25s ease,border-color .25s ease,color .25s ease}
.sap-ai__chip:hover{background:#eae2ff;border-color:rgba(106,77,245,.36)}
.sap-ai__composer{display:flex;align-items:center;gap:.08rem;margin-top:.14rem;padding:.08rem .08rem .08rem .15rem;background:#fff;border:1px solid #e9e6f5;border-radius:999px;box-shadow:0 .04rem .12rem rgba(24,32,51,.05);pointer-events:none}
.sap-ai__composer-ph{flex:1;min-width:0;font-size:12.2px;color:#9a9fb3;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap-ai__composer-send{flex:0 0 auto;width:.32rem;height:.32rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7a5cf6,#5637d6);box-shadow:0 .04rem .1rem rgba(84,60,200,.22)}
.sap-ai__composer-send svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sap-ai__hint{margin:.1rem .02rem 0;font-size:10.5px;line-height:1.6;color:#6b7185;letter-spacing:.02em}
.sap-ai__typing{display:none;align-items:center;gap:4px;width:max-content;padding:.1rem .14rem;margin-bottom:.13rem;background:#fff;border:1px solid #e9e6f5;border-radius:.14rem .14rem .14rem .05rem;box-shadow:0 .06rem .16rem rgba(24,32,51,.07)}
.sap-ai__typing.is-on{display:flex;animation:saiSlideRight .32s ease both}
.sap-ai__typing i{width:5px;height:5px;border-radius:50%;background:#7a5cf6;animation:saiDot 1.1s ease-in-out infinite}
.sap-ai__typing i:nth-child(2){animation-delay:.14s}
.sap-ai__typing i:nth-child(3){animation-delay:.28s}
.sap-ai__list{display:grid}
.sap-ai__item{display:grid;grid-template-columns:.44rem 1fr;gap:.18rem;padding:.21rem 0;border-top:1px solid #e2e5ee}
.sap-ai__num{font-size:11.5px;font-weight:800;letter-spacing:.14em;padding-top:7px;color:#6f5bd8;transition:color .3s ease,transform .3s ease}
h3.sap-ai__h3{color:#1b2133;font-weight:700;font-size:clamp(16.5px,calc(20 * 1rem / 100),20px);line-height:1.42;margin:0 0 .08rem}
.sap-ai__text{color:#5b6379;font-size:13.8px;line-height:1.8;text-align:justify;text-justify:inter-ideograph;transition:color .3s ease}
.sap-ai__text p{margin:0}
.sap-ai__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:.12rem}
.sap-ai__tags span{font-size:11.5px;color:#5334d8;background:#f2eeff;border:1px solid #ddd5fb;border-radius:5px;padding:3px 8px;transition:background .3s ease,border-color .3s ease,color .3s ease}
.sap-ai__item>div:last-child{transition:transform .32s ease}
.sap-ai__item:hover>div:last-child{transform:translateX(5px)}
.sap-ai__item:hover .sap-ai__num{color:var(--sai-violet)}
.sap-ai__item:hover .sap-ai__text{color:#3c4359}
.sap-ai__item:hover .sap-ai__tags span{background:#eae2ff;border-color:#cdc1ff;color:#4726c9}
.sap-ai__agents{margin-top:.38rem;padding-top:.28rem;border-top:1px solid #e2e5ee}
.sap-ai__agents-lb{font-size:11.5px;font-weight:700;letter-spacing:.14em;color:#666e86;margin-bottom:.14rem}
.sap-ai__agents-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.12rem}
.sap-ai__agent{background:#fff;border:1px solid #e6e4f2;border-radius:.1rem;padding:.16rem .17rem;box-shadow:0 .02rem .06rem rgba(24,32,51,.04);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}
.sap-ai__agent-name{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;line-height:1.4;color:#1b2133;margin:0 0 .06rem}
.sap-ai__agent-name:before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:2px;background:var(--sai-violet)}
.sap-ai__agent-text{font-size:11.8px;line-height:1.72;color:#646b82;margin:0;text-align:justify;text-justify:inter-ideograph}
.sap-ai__agent:hover{border-color:#d4cbf5;box-shadow:0 .1rem .24rem rgba(83,60,190,.1)}
.sap-ai__base{margin-top:.34rem;padding-top:.26rem;border-top:1px solid #e2e5ee}
.sap-ai__base-lb{font-size:11.5px;font-weight:700;letter-spacing:.14em;color:#666e86;margin-bottom:.12rem}
.sap-ai__base-list{display:grid;grid-template-columns:repeat(4,1fr);background:#ecebf6;border-radius:.1rem;overflow:hidden}
.sap-ai__base-item{padding:.14rem .15rem;border-left:1px solid rgba(83,60,190,.11);transition:background .3s ease}
.sap-ai__base-item:first-child{border-left:0}
.sap-ai__base-item b{display:block;font-size:13px;font-weight:700;color:#2a3046}
.sap-ai__base-item span{display:block;font-size:11.5px;color:#5f6682;margin-top:3px;line-height:1.5}
.sap-ai__base-item:hover{background:rgba(255,255,255,.6)}
.sap-ai__close{margin-top:.42rem;padding-top:.3rem;border-top:1px solid #e2e5ee;font-size:clamp(15px,calc(16.5 * 1rem / 100),16.5px);line-height:1.95;color:#39405a}
.sap-ai__note{margin-top:.16rem;font-size:12px;line-height:1.7;color:#666d84;max-width:72ch}
.sap-ai__close p,.sap-ai__note p{margin:0}
.sap-ai--anim .sap-ai__head{opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .55s cubic-bezier(.16,.84,.3,1)}
.sap-ai--anim.is-head .sap-ai__head,.sap-ai--anim.is-in .sap-ai__head{opacity:1;transform:none}
.sap-ai--anim .sap-ai__chat{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .6s ease,transform .8s cubic-bezier(.16,.84,.3,1)}
.sap-ai--anim.is-in .sap-ai__chat{opacity:1;transform:none}
.sap-ai--anim .sap-ai__chat.is-tilt{transition:transform .22s ease-out,opacity .6s ease;transform:perspective(1100px) rotateX(var(--sai-rx,0deg)) rotateY(var(--sai-ry,0deg))}
.sap-ai--anim .sap-ai__rail{opacity:0;transform:translateX(-22px);transition:opacity .5s ease .12s,transform .7s cubic-bezier(.16,.84,.3,1) .12s}
.sap-ai--anim.is-in .sap-ai__rail{opacity:1;transform:none}
.sap-ai--anim .sap-ai__ctx,.sap-ai--anim .sap-ai__msg,.sap-ai--anim .sap-ai__acts,.sap-ai--anim .sap-ai__composer,.sap-ai--anim .sap-ai__hint{display:none}
.sap-ai--anim .sap-ai__ctx.is-on{display:flex;animation:saiFade .5s ease both}
.sap-ai--anim .sap-ai__msg--me.is-on{display:block;animation:saiSlideRight .72s cubic-bezier(.16,.84,.3,1) both}
.sap-ai--anim .sap-ai__insight.is-on{display:block;animation:saiRise .8s cubic-bezier(.16,.84,.3,1) both}
.sap-ai--anim .sap-ai__result.is-on{display:flex;animation:saiSlideLeft .72s cubic-bezier(.16,.84,.3,1) both}
.sap-ai--anim .sap-ai__acts.is-on{display:flex;animation:saiSlideUp .7s cubic-bezier(.16,.84,.3,1) both}
.sap-ai--anim .sap-ai__composer.is-on{display:flex;animation:saiSlideUp .55s cubic-bezier(.16,.84,.3,1) both}
.sap-ai--anim .sap-ai__hint.is-on{display:block;animation:saiFade .5s ease both}
.sap-ai--anim .sap-ai__insight.is-on .sap-ai__row{animation:saiRow .55s ease both}
.sap-ai--anim .sap-ai__insight.is-on .sap-ai__row:nth-child(2){animation-delay:.12s}
.sap-ai--anim .sap-ai__insight.is-on .sap-ai__row:nth-child(3){animation-delay:.24s}
.sap-ai--anim .sap-ai__bar i{width:0}
.sap-ai--anim .sap-ai__insight.is-on .sap-ai__bar i{width:var(--w);animation:saiBar .85s cubic-bezier(.22,.61,.36,1) both}
.sap-ai--anim .sap-ai__insight.is-on .sap-ai__row:nth-child(2) .sap-ai__bar i{animation-delay:.12s}
.sap-ai--anim .sap-ai__insight.is-on .sap-ai__row:nth-child(3) .sap-ai__bar i{animation-delay:.24s}
.sap-ai--anim .sap-ai__acts.is-on .sap-ai__chip{animation:saiPop .45s cubic-bezier(.22,.61,.36,1) both}
.sap-ai--anim .sap-ai__acts.is-on .sap-ai__chip:nth-of-type(2){animation-delay:.12s}
.sap-ai--anim .sap-ai__acts.is-on .sap-ai__chip:nth-of-type(3){animation-delay:.24s}
.sap-ai--anim .sap-ai__result.is-on .sap-ai__ok{animation:saiPop .5s cubic-bezier(.22,.61,.36,1) .16s both}
.sap-ai--anim .sap-ai__list .sap-ai__item{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .7s cubic-bezier(.16,.84,.3,1)}
.sap-ai--anim .sap-ai__list.is-in .sap-ai__item{opacity:1;transform:none}
.sap-ai--anim .sap-ai__base{opacity:0;transition:opacity .6s ease}
.sap-ai--anim .sap-ai__base.is-in{opacity:1}
.sap-ai--anim .sap-ai__base-item{opacity:0;transition:opacity .5s ease,background .3s ease}
.sap-ai--anim .sap-ai__base.is-in .sap-ai__base-item{opacity:1}
.sap-ai--anim .sap-ai__agent{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .65s cubic-bezier(.16,.84,.3,1),border-color .3s ease,box-shadow .3s ease}
.sap-ai--anim .sap-ai__agents.is-in .sap-ai__agent{opacity:1;transform:none}
.sap-ai--anim .sap-ai__close,.sap-ai--anim .sap-ai__note{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .65s cubic-bezier(.16,.84,.3,1)}
.sap-ai--anim .sap-ai__close.is-in,.sap-ai--anim .sap-ai__note.is-in{opacity:1;transform:none}
@keyframes saiGem{0%,100%{box-shadow:0 0 0 1px rgba(106,77,245,.14),0 0 0 rgba(106,77,245,0)}50%{box-shadow:0 0 0 1px rgba(106,77,245,.26),0 0 .3rem rgba(106,77,245,.4)}}
@keyframes saiPing{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(3.4);opacity:0}}
@keyframes saiFade{from{opacity:0}to{opacity:1}}
@keyframes saiSlideLeft{from{opacity:0;transform:translateX(-42px)}to{opacity:1;transform:translateX(0)}}
@keyframes saiSlideRight{from{opacity:0;transform:translateX(42px)}to{opacity:1;transform:translateX(0)}}
@keyframes saiSlideUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes saiRise{from{opacity:0;transform:translateY(20px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes saiRow{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes saiBar{from{width:0}to{width:var(--w)}}
@keyframes saiPop{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
@keyframes saiDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media(max-width:1024px){
.sap-ai__grid{grid-template-columns:1fr;gap:.3rem;margin-top:.3rem}
.sap-ai__chat{position:static;max-width:620px;margin:0 auto;width:100%;padding:10px;border-radius:16px}
.sap-ai__app{grid-template-columns:42px minmax(0,1fr);gap:8px}
.sap-ai__rail{padding:8px 4px;gap:6px;border-radius:10px}
.sap-ai__gem{width:30px;height:30px;border-radius:9px}
.sap-ai__gem img{width:22px;height:22px}
.sap-ai__ico{width:28px;height:28px}
.sap-ai__ico svg{width:15px;height:15px}
.sap-ai__stage{padding:10px;border-radius:12px}
.sap-ai__composer{margin-top:10px;padding:7px 7px 7px 13px}
.sap-ai__composer-ph{font-size:12px}
.sap-ai__composer-send{width:24px;height:24px}
.sap-ai__composer-send svg{width:13px;height:13px}
}
@media(max-width:900px){
.sap-ai{padding:.55rem 0 .6rem}
.sap-ai__wrap{width:100%;max-width:none;padding:0 20px}
.sap-ai__agents-list{grid-template-columns:1fr 1fr}
.sap-ai__base-list{grid-template-columns:1fr 1fr}
.sap-ai__base-item:nth-child(odd){border-left:0}
.sap-ai__base-item:nth-child(n+3){border-top:1px solid rgba(83,60,190,.11)}
}
@media(max-width:750px){
.sap-ai__title{font-size:26px}
.sap-ai__lead{font-size:14.5px}
.sap-ai__insight{margin-left:0;max-width:100%}
.sap-ai__msg{max-width:92%;font-size:12.2px}
.sap-ai__row{grid-template-columns:1fr 42px auto;gap:6px;font-size:10.8px}
.sap-ai__row b{font-size:10.8px}
.sap-ai__sum{font-size:11.8px}
.sap-ai__big{font-size:15px}
.sap-ai__acts{width:auto;margin-left:0}
.sap-ai__composer{margin-right:38px}
.sap-ai__hint{font-size:10px}
.sap-ai__item{grid-template-columns:.34rem 1fr;gap:.12rem}
h3.sap-ai__h3{font-size:16.5px}
.sap-ai__text{font-size:13.5px}
.sap-ai__agent{padding:12px 13px}
.sap-ai__base-item{padding:11px 12px}
.sap-ai__close{font-size:14.5px;line-height:1.9}
}
@media(max-width:360px){
.sap-ai__agents-list{grid-template-columns:1fr}
.sap-ai__base-list{grid-template-columns:1fr}
.sap-ai__base-item{border-left:0}
.sap-ai__base-item:nth-child(n+2){border-top:1px solid rgba(83,60,190,.11)}
.sap-ai__row{grid-template-columns:1fr auto}
.sap-ai__bar{display:none}
}
@media(prefers-reduced-motion:reduce){
.sap-ai__gem,.sap-ai__live i:after,.sap-ai__typing i{animation:none}
.sap-ai--anim .sap-ai__head,.sap-ai--anim .sap-ai__chat,.sap-ai--anim .sap-ai__rail,.sap-ai--anim .sap-ai__list .sap-ai__item,.sap-ai--anim .sap-ai__base,.sap-ai--anim .sap-ai__close,.sap-ai--anim .sap-ai__note{opacity:1;transform:none}
}
