
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--s-f-body);font-size:var(--s-fs);line-height:1.6;color:var(--s-c-text,#1f2937);background:var(--s-c-bg,#fff);min-height:100vh;display:flex;flex-direction:column}
#main{flex:1 0 auto;overflow-x:clip}
img,video,iframe{max-width:100%;display:block;border:0}
h1,h2,h3,h4,h5,h6{font-family:var(--s-f-heading);line-height:1.2;margin:0;font-weight:700}
h1{font-size:var(--s-h1)}h2{font-size:var(--s-h2)}h3{font-size:var(--s-h3)}h4{font-size:var(--s-h4)}h5{font-size:var(--s-h5)}h6{font-size:var(--s-h6)}
p{margin:0}
a{color:var(--s-c-primary,#2f5bea)}
.s-skip{position:absolute;inset-inline-start:-9999px;top:0}
.s-skip:focus{inset-inline-start:12px;top:12px;z-index:100;background:#fff;color:#000;padding:8px 12px;border-radius:6px}
:focus-visible{outline:2px solid var(--s-c-primary,#2f5bea);outline-offset:2px}
.s-inner{max-width:var(--s-container);margin-inline:auto;width:100%}
.s-sec{position:relative}
.s-text{white-space:pre-line}
.s-rich :where(p,ul,ol,blockquote){margin:0 0 .8em}
.s-rich :where(h1,h2,h3,h4,h5,h6){margin:1.4em 0 .5em}
.s-rich :where(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}
.s-rich h1{font-size:var(--s-h3)}.s-rich h2{font-size:var(--s-h4)}.s-rich h3{font-size:var(--s-h5)}.s-rich :where(h4,h5,h6){font-size:var(--s-h6)}
.s-rich img{height:auto}
.s-link{color:inherit;text-decoration:none}
.s-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;max-width:100%;padding:var(--s-btn-py) var(--s-btn-px);border-radius:var(--s-btn-r);font-weight:var(--s-btn-fw);text-transform:var(--s-btn-tt);text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1em;line-height:1.2;transition:filter .15s ease,background-color .15s ease,color .15s ease}
.s-btn-primary{background:var(--s-c-primary);color:var(--s-c-inverse,#fff)}
.s-btn-secondary{background:var(--s-c-secondary);color:var(--s-c-inverse,#fff)}
.s-btn-outline{background:transparent;color:var(--s-c-primary);border-color:currentColor}
.s-btn-ghost{background:transparent;color:var(--s-c-primary);padding-inline:0}
@media (hover:hover){.s-btn:hover{filter:brightness(1.08)}}
.s-ico{flex:none}
.s-icon{display:inline-flex}
.s-img{height:auto}
.s-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.s-logo img{height:100%;width:auto}
.s-nav{position:relative}
.s-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center}
.s-nav.v ul{flex-direction:column;align-items:flex-start;gap:10px}
.s-nav a{color:inherit;text-decoration:none;font-weight:500;white-space:nowrap}
.s-nav a[aria-current="page"]{color:var(--s-c-primary)}
.s-nav li{position:relative}
.s-nav .s-sub{display:none;position:absolute;top:100%;inset-inline-start:0;min-width:200px;background:var(--s-c-bg,#fff);box-shadow:var(--s-sh-md);border-radius:var(--s-r-md);padding:8px;flex-direction:column;align-items:stretch;gap:0;z-index:20}
.s-nav .s-sub a{display:block;padding:8px 12px}
.s-nav li:hover>.s-sub,.s-nav li:focus-within>.s-sub{display:flex}
.s-burger{display:none;background:none;border:0;color:inherit;cursor:pointer;padding:6px}
@media (max-width:767px){
 .s-nav.c .s-burger{display:inline-flex}
 .s-nav.c ul{display:none;position:absolute;top:100%;inset-inline-end:0;min-width:220px;background:var(--s-c-bg,#fff);color:var(--s-c-text);box-shadow:var(--s-sh-lg);border-radius:var(--s-r-md);flex-direction:column;align-items:stretch;gap:0;padding:8px;z-index:30}
 .s-nav.c.open ul{display:flex}
 .s-nav.c ul a{display:block;padding:10px 12px}
 .s-nav.c .s-sub{position:static;box-shadow:none;display:flex;padding-inline-start:12px}
}
.s-lang{display:flex;gap:10px;font-size:.9em}
.s-lang a{color:inherit;text-decoration:none;opacity:.7}
.s-lang a[aria-current="true"]{opacity:1;font-weight:600}
.s-lang.code{gap:0}
.s-lang.code a{padding:0 8px;letter-spacing:.04em}
.s-lang.code a + a{border-inline-start:1px solid currentColor;border-color:color-mix(in srgb,currentColor 30%,transparent)}
.s-langdd{position:relative;display:inline-block;font-size:.95em}
.s-langdd > summary{list-style:none;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--s-r-sm);cursor:pointer;white-space:nowrap;user-select:none;line-height:1.2;color:inherit}
.s-langdd > summary::-webkit-details-marker{display:none}
.s-langdd > summary .s-ico:last-child{opacity:.6;transition:transform .15s ease}
.s-langdd[open] > summary .s-ico:last-child{transform:rotate(180deg)}
.s-langdd.look-outline > summary{border:1px solid var(--s-c-border,rgba(15,23,42,.14))}
.s-langdd.look-filled > summary{background:var(--s-c-surface,rgba(15,23,42,.05))}
.s-langdd.look-plain > summary{padding-inline:6px}
.s-langdd > summary:hover{background:var(--s-c-surface,rgba(15,23,42,.05))}
.s-langdd > summary:focus-visible{outline:2px solid var(--s-c-primary);outline-offset:2px}
.s-langdd-menu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:40;min-width:200px;max-width:calc(100vw - 32px);max-height:min(60vh,420px);overflow:auto;padding:6px;background:var(--s-c-bg,#fff);color:var(--s-c-text,#1f2937);border:1px solid var(--s-c-border,rgba(15,23,42,.1));border-radius:var(--s-r-md);box-shadow:var(--s-sh-lg)}
.s-langdd-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:var(--s-r-sm);color:inherit;text-decoration:none;white-space:nowrap}
.s-langdd-menu a:hover,.s-langdd-menu a:focus-visible{background:var(--s-c-surface,rgba(15,23,42,.05));outline:none}
.s-langdd-menu a[aria-checked="true"]{font-weight:600;color:var(--s-c-primary)}
.s-langdd-menu small{opacity:.5;font-size:.75em;letter-spacing:.04em}
.s-social{display:flex;gap:12px}
.s-social a{color:inherit;display:inline-flex}
.s-carousel{position:relative}
.s-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.s-track::-webkit-scrollbar{display:none}
.s-track{gap:var(--cg,0px)}
.s-track>*{flex:0 0 calc((100% - (var(--per,1) - 1) * var(--cg,0px)) / var(--per,1));scroll-snap-align:start;min-width:0}
@media (max-width:767px){.s-carousel .s-track>*{flex-basis:100%}.s-carousel .s-track{gap:var(--cg,0px)}}
.s-carousel.fx-fade .s-track{display:grid;overflow:hidden;scroll-snap-type:none}
.s-carousel.fx-fade .s-track>*{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s;flex:none;width:100%}
.s-carousel.fx-fade .s-track>.s-on,.s-carousel.fx-fade .s-track:not(:has(> .s-on))>:first-child{opacity:1;visibility:visible;transition:opacity .9s ease,visibility 0s}
.s-car-btn{transition:transform .2s ease,background-color .2s ease}
.s-car-btn:hover{background:#fff}
.s-car-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:#111;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--s-sh-sm)}
.s-car-btn.prev{inset-inline-start:12px}.s-car-btn.next{inset-inline-end:12px}
[dir="rtl"] .s-car-btn svg{transform:scaleX(-1)}
.s-dots{display:flex;gap:8px;justify-content:center;margin-top:12px}
.s-dots button{width:8px;height:8px;border-radius:50%;border:0;background:var(--s-c-border,#ccc);padding:0;cursor:pointer}
.s-dots button[aria-current="true"]{background:var(--s-c-primary)}
.s-acc{display:flex;flex-direction:column;gap:8px}
.s-acc details{border:1px solid var(--s-c-border,#e5e7eb);border-radius:var(--s-r-md);padding:14px 18px;background:var(--s-c-bg,#fff)}
.s-acc summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.s-acc summary::-webkit-details-marker{display:none}
.s-acc details[open] summary .s-ico{transform:rotate(180deg)}
.s-acc .s-acc-body{padding-top:10px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.s-acc summary .s-ico{transition:transform .3s cubic-bezier(.22,1,.36,1);flex:none}
.s-acc details{transition:box-shadow .25s ease,border-color .25s ease}
.s-acc details[open]{box-shadow:var(--s-sh-sm)}
/* 选项卡 */
.s-tabs{display:flex;flex-direction:column;gap:20px}
.s-tablist{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--s-c-border,#e5e7eb)}
.s-tabs.al-center .s-tablist{justify-content:center}
.s-tablist [role="tab"]{font:inherit;font-weight:600;color:var(--s-c-muted,#6b7280);background:none;border:0;padding:10px 16px;cursor:pointer;position:relative;transition:color .2s ease,background-color .2s ease}
.s-tablist [role="tab"]:hover{color:var(--s-c-text,#111)}
.s-tablist [role="tab"].on{color:var(--s-c-primary)}
.s-tabs.look-underline .s-tablist [role="tab"]::after{content:"";position:absolute;inset-inline:12px;bottom:-1px;height:2px;border-radius:2px;background:var(--s-c-primary);transform:scaleX(0);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.s-tabs.look-underline .s-tablist [role="tab"].on::after{transform:scaleX(1)}
.s-tabs.look-pills .s-tablist{border:0;gap:8px}
.s-tabs.look-pills .s-tablist [role="tab"]{border-radius:999px;background:var(--s-c-surface,#f3f4f6)}
.s-tabs.look-pills .s-tablist [role="tab"].on{background:var(--s-c-primary);color:var(--s-c-inverse,#fff)}
.s-tabs.look-boxed .s-tablist{border:0;gap:0;background:var(--s-c-surface,#f3f4f6);border-radius:var(--s-r-md);padding:4px;align-self:flex-start}
.s-tabs.look-boxed.al-center .s-tablist{align-self:center}
.s-tabs.look-boxed .s-tablist [role="tab"]{border-radius:calc(var(--s-r-md) - 2px)}
.s-tabs.look-boxed .s-tablist [role="tab"].on{background:var(--s-c-bg,#fff);color:var(--s-c-text,#111);box-shadow:var(--s-sh-sm)}
.s-js .s-tabpanel:not(.on){display:none}
@keyframes s-tabin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.s-js .s-tabpanel.on{animation:s-tabin .45s cubic-bezier(.22,1,.36,1)}
/* 滚动字幕 / 标志墙 */
.s-marquee{overflow:hidden;--mq-dur:30s;--mq-gap:56px}
.s-marquee.fade{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.s-mq-track{display:flex;width:max-content}
.s-mq-set{display:flex;align-items:center;gap:var(--mq-gap);padding-inline-end:var(--mq-gap);flex:none}
.s-mq-set>*{flex:none}
@keyframes s-mq{to{transform:translateX(-50%)}}
@keyframes s-mq-rtl{to{transform:translateX(50%)}}
.s-js .s-mq-track{animation:s-mq var(--mq-dur) linear infinite}
[dir="rtl"].s-js .s-mq-track,.s-js [dir="rtl"] .s-mq-track{animation-name:s-mq-rtl}
.s-marquee.rev .s-mq-track{animation-direction:reverse}
.s-marquee.pause:hover .s-mq-track{animation-play-state:paused}
/* 数字滚动 */
.s-counter{font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:.08em;flex-wrap:wrap}
.s-counter-a{font-size:.7em}
/* 渐变字 */
.s-grad-text{background:linear-gradient(100deg,var(--s-c-primary),var(--s-c-accent,var(--s-c-primary)));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* 点图看大图 */
img[data-zoom]{cursor:zoom-in}
.s-lb{position:fixed;inset:0;z-index:200;background:rgba(10,12,20,.86);display:flex;align-items:center;justify-content:center;padding:4vmin;opacity:0;transition:opacity .25s ease;cursor:zoom-out}
.s-lb.on{opacity:1}
.s-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.96);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.s-lb.on img{transform:none}
.s-lb-x{position:absolute;top:14px;inset-inline-end:16px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.s-tbl{overflow-x:auto}
.s-tbl table{border-collapse:collapse;width:100%}
.s-tbl th,.s-tbl td{text-align:start;padding:10px 12px;border-bottom:1px solid var(--s-c-border,#e5e7eb)}
.s-tbl th{font-weight:600;background:var(--s-c-surface,#f6f7fb)}
.s-coll-wrap{display:flex;flex-direction:column;gap:20px}
.s-empty,.s-err{padding:32px;text-align:center;color:var(--s-c-muted,#6b7280);border:1px dashed var(--s-c-border,#e5e7eb);border-radius:var(--s-r-md)}
.s-pager{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.s-pager a,.s-pager span{padding:8px 14px;border-radius:var(--s-r-sm);text-decoration:none}
.s-pager a{border:1px solid var(--s-c-border,#e5e7eb);color:inherit}
.s-pager .cur{color:var(--s-c-muted)}
.s-search{display:flex;gap:8px}
.s-search input{flex:1;min-width:0}
.s-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.s-chips a{padding:6px 14px;border-radius:999px;border:1px solid var(--s-c-border,#e5e7eb);text-decoration:none;color:inherit;font-size:.92em}
.s-chips a[aria-current="true"]{background:var(--s-c-primary);border-color:var(--s-c-primary);color:var(--s-c-inverse,#fff)}
.s-filter-label{font-weight:600;margin-inline-end:4px}
.s-in,.s-form input:not([type=checkbox]),.s-form select,.s-form textarea,.s-search input,.s-sel{font:inherit;width:100%;padding:11px 14px;border:1px solid var(--s-c-border,#d1d5db);border-radius:var(--s-r-sm);background:var(--s-c-bg,#fff);color:inherit}
.s-form textarea{min-height:120px;resize:vertical}
.s-fld{display:flex;flex-direction:column;gap:6px}
.s-fld label{font-weight:500;font-size:.95em}
.s-req{color:#dc2626;margin-inline-start:2px}
.s-check{display:flex;gap:10px;align-items:flex-start;font-size:.93em}
.s-check input{margin-top:4px}
.s-hp{position:absolute!important;inset-inline-start:-10000px!important;width:1px;height:1px;overflow:hidden}
.s-form-msg{min-height:1.4em;font-size:.95em}
.s-form-msg.ok{color:#047857}.s-form-msg.err{color:#b91c1c}
.s-field-label{color:var(--s-c-muted);font-size:.85em;display:block}
.s-cookie{position:fixed;inset-inline:16px;bottom:16px;z-index:90;background:var(--s-c-secondary,#111);color:#fff;border-radius:var(--s-r-md);padding:14px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;box-shadow:var(--s-sh-lg);max-width:720px;margin-inline:auto}
.s-cookie a{color:inherit}
.s-cookie[hidden]{display:none}
.s-nf{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:48px 24px}
.s-map,.s-embed,.s-video{width:100%;border:0}
/* ── site4 ── */
/* 菜单：带下拉的那几项后面一个小箭头；角标 */
.s-nav .s-caret{display:inline-block;vertical-align:-2px;margin-inline-start:4px;opacity:.6;transition:transform .2s ease}
.s-nav li.has-sub:hover > a .s-caret,.s-nav li.has-sub:hover > span .s-caret,.s-nav li.has-sub.open > a .s-caret,.s-nav li.has-sub.open > span .s-caret{transform:rotate(180deg)}
.s-badge{display:inline-flex;align-items:center;margin-inline-start:6px;padding:1px 7px;border-radius:999px;font-size:.68em;font-style:normal;font-weight:700;letter-spacing:.02em;line-height:1.5;background:color-mix(in srgb,var(--s-c-primary) 14%,transparent);color:var(--s-c-primary);vertical-align:2px}
.s-nav li > span[aria-haspopup]{cursor:default}
/* 下拉里的一项：图标 + 名字 + 说明 */
.s-mi{display:flex!important;align-items:flex-start;gap:12px;padding:10px 12px!important;border-radius:var(--s-r-md);white-space:normal!important}
.s-mi:hover{background:var(--s-c-surface,rgba(15,23,42,.05))}
.s-mi-ic{flex:none;width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--s-c-primary) 10%,transparent);color:var(--s-c-primary)}
.s-mi-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.s-mi-n{font-weight:600;color:var(--s-c-text,#111)}
.s-mi-t small{font-size:.82em;font-weight:400;color:var(--s-c-muted,#6b7280);line-height:1.35}
/* 大号下拉：铺满页头那一块的宽，从页头下沿垂下来 */
@media (min-width:768px){.s-nav.has-mega,.s-nav.has-mega ul,.s-nav.has-mega li.mega{position:static}}
.s-mega{position:absolute;top:100%;inset-inline:0;z-index:40;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;background:var(--s-c-bg,#fff);color:var(--s-c-text,#111);box-shadow:0 24px 48px rgba(15,23,42,.10);border-top:1px solid var(--s-c-border,rgba(15,23,42,.08))}
.s-mega::before{content:"";position:absolute;inset-inline:0;bottom:100%;height:24px}
.s-mega-in{max-width:var(--s-container);margin-inline:auto;padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.s-nav .s-mega-grid{display:grid!important;grid-template-columns:repeat(var(--mega-cols,3),minmax(0,1fr));gap:4px 24px!important;width:100%;align-items:start!important}
.s-nav .s-mega-grid li{position:static}
.s-mega-cta{display:inline-flex!important;align-items:center;gap:6px;padding:9px 16px!important;border:1px solid var(--s-c-border,rgba(15,23,42,.12));border-radius:var(--s-r-md);font-size:.92em;color:var(--s-c-muted,#555)!important}
.s-mega-cta:hover{color:var(--s-c-text,#111)!important;border-color:currentColor}
@media (min-width:768px){
 .s-nav li.mega:hover > .s-mega,.s-nav li.mega:focus-within > .s-mega,.s-nav li.mega.open > .s-mega{visibility:visible;opacity:1;transform:none;transition:opacity .2s ease,transform .2s ease,visibility 0s}
 .s-nav li.has-sub.open > .s-sub{display:flex}
}
@media (max-width:767px){
 .s-nav.c .s-mega{position:static;visibility:visible;opacity:1;transform:none;box-shadow:none;border:0;background:none;display:none}
 .s-nav.c li.mega.open > .s-mega{display:block}
 .s-nav.c .s-mega-in{padding:0 0 8px 8px}
 .s-nav.c .s-mega-grid{grid-template-columns:1fr;position:static;box-shadow:none;background:none;padding:0;min-width:0}
 .s-nav.c.has-mega > ul{width:min(360px,calc(100vw - 32px));max-height:calc(100svh - 120px);overflow:auto;overscroll-behavior:contain}
 .s-nav.c .s-mi-ic{width:32px;height:32px}
 .s-nav.c .s-sub{display:none}
 .s-nav.c li.has-sub.open > .s-sub{display:flex}
}
/* 滚动场景：没有脚本 / 减少动态效果 / 手机（stack-m）时一步一步排开；有脚本时外层撑出滚动距离、舞台钉在屏幕上 */
.s-scene{position:relative}
.s-scene-stage{position:relative}
.s-js .s-scene{height:var(--scene-h,300vh)}
.s-js .s-scene > .s-scene-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.s-js .s-scene.steps > .s-scene-stage{display:grid!important;place-items:center}
.s-js .s-scene.steps > .s-scene-stage > .s-step{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),visibility 0s linear .6s}
.s-js .s-scene.steps > .s-scene-stage > .s-step.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),visibility 0s}
.s-js .s-scene.fx-slide > .s-scene-stage > .s-step:not(.on){transform:translateY(48px)}
.s-js .s-scene.fx-slide > .s-scene-stage > .s-step.past{transform:translateY(-48px)}
.s-js .s-scene.fx-zoom > .s-scene-stage > .s-step:not(.on){transform:scale(.92)}
.s-scene-dots{display:none}
.s-js .s-scene-dots{position:absolute;inset-inline-end:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:2}
.s-scene-dots i{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.25;transition:opacity .3s ease,transform .3s ease}
.s-scene-dots i.on{opacity:.9;transform:scale(1.3)}
@media (max-width:767px){.s-js .s-scene.stack-m{height:auto}.s-js .s-scene.stack-m > .s-scene-stage{position:relative;height:auto;overflow:visible}.s-js .s-scene.stack-m.steps > .s-scene-stage{display:flex!important;flex-direction:column}.s-js .s-scene.stack-m.steps > .s-scene-stage > .s-step{opacity:1;visibility:visible;transform:none}.s-js .s-scene.stack-m .s-scene-dots{display:none}}
@media (prefers-reduced-motion:reduce){.s-js .s-scene{height:auto}.s-js .s-scene > .s-scene-stage{position:relative;height:auto;overflow:visible}.s-js .s-scene.steps > .s-scene-stage{display:flex!important;flex-direction:column}.s-js .s-scene.steps > .s-scene-stage > .s-step{opacity:1;visibility:visible;transform:none}.s-js .s-scene-dots{display:none}}
/* 弹层 */
.s-pop{border:0;color:var(--s-c-text,#111);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 30px 80px rgba(15,23,42,.28);padding:0}
.s-pop.size-sm{width:360px}.s-pop.size-md{width:560px}.s-pop.size-lg{width:880px}
.s-pop::backdrop{background:rgba(10,12,20,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.s-pop:popover-open{animation:s-popin .32s cubic-bezier(.22,1,.36,1)}
.s-pop.at-side{margin:0;inset-inline-start:auto;inset-inline-end:0;top:0;height:100dvh;max-height:100dvh;border-radius:0}
.s-pop.at-bottom{margin:auto auto 0;border-end-start-radius:0;border-end-end-radius:0}
@keyframes s-popin{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.s-pop-x{position:absolute;top:10px;inset-inline-end:10px;width:34px;height:34px;border-radius:50%;border:0;background:var(--s-c-surface,rgba(15,23,42,.06));color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}
.s-pop-fb{position:fixed;inset:0;margin:auto;height:fit-content;z-index:220}
.s-pop-fb-bg{position:fixed;inset:0;z-index:219;background:rgba(10,12,20,.45)}
/* 关着的弹层不占地方：节点自己的样式（display:flex）会顶掉浏览器自带的那一条，这里再说一次；不认 :popover-open 的老浏览器走下面那一条 */
.s-pop[popover]:not(:popover-open):not(.s-pop-fb){display:none}
@supports not selector(:popover-open){.s-pop[popover]:not(.s-pop-fb){display:none}}
/* 二维码 */
.s-qr{margin:0;display:inline-flex;flex-direction:column;align-items:center;gap:8px;max-width:100%}
.s-qr svg{width:100%;height:auto;display:block;border-radius:6px}
.s-qr figcaption{font-size:.85em;color:var(--s-c-muted,#6b7280);text-align:center}
.s-qr-empty{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px dashed var(--s-c-border,#d1d5db);border-radius:6px;color:var(--s-c-muted,#9ca3af)}
/* 共用区块：线上不多一层盒子 */
.s-shared{display:contents}
:root{--a-d:700ms;--a-dl:0ms;--a-e:cubic-bezier(.22,1,.36,1)}
[data-anim],[data-stagger] > :not(.s-inner),[data-stagger] > .s-inner > *{transition:opacity var(--a-d) var(--a-e) var(--a-dl),transform var(--a-d) var(--a-e) var(--a-dl),filter var(--a-d) var(--a-e) var(--a-dl)}
.s-js [data-anim="fade"]:not(.s-vis),[data-anim="fade"]:not(.s-vis).s-replay{opacity:0;}
.s-js [data-anim="up"]:not(.s-vis),[data-anim="up"]:not(.s-vis).s-replay{opacity:0;transform:translate3d(0,36px,0)}
.s-js [data-anim="down"]:not(.s-vis),[data-anim="down"]:not(.s-vis).s-replay{opacity:0;transform:translate3d(0,-36px,0)}
.s-js [data-anim="left"]:not(.s-vis),[data-anim="left"]:not(.s-vis).s-replay{opacity:0;transform:translate3d(-48px,0,0)}
.s-js [data-anim="right"]:not(.s-vis),[data-anim="right"]:not(.s-vis).s-replay{opacity:0;transform:translate3d(48px,0,0)}
.s-js [data-anim="zoom"]:not(.s-vis),[data-anim="zoom"]:not(.s-vis).s-replay{opacity:0;transform:scale(.9)}
.s-js [data-anim="zoomOut"]:not(.s-vis),[data-anim="zoomOut"]:not(.s-vis).s-replay{opacity:0;transform:scale(1.08)}
.s-js [data-anim="blur"]:not(.s-vis),[data-anim="blur"]:not(.s-vis).s-replay{opacity:0;filter:blur(12px);transform:scale(1.02)}
.s-js [data-anim="flip"]:not(.s-vis),[data-anim="flip"]:not(.s-vis).s-replay{opacity:0;transform:perspective(900px) rotateX(-28deg);transform-origin:50% 0}
.s-js [data-stagger][data-kids="fade"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="fade"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="fade"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="fade"].s-replay > .s-inner > :not(.s-vis){opacity:0;}
.s-js [data-stagger][data-kids="up"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="up"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="up"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="up"].s-replay > .s-inner > :not(.s-vis){opacity:0;transform:translate3d(0,36px,0)}
.s-js [data-stagger][data-kids="down"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="down"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="down"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="down"].s-replay > .s-inner > :not(.s-vis){opacity:0;transform:translate3d(0,-36px,0)}
.s-js [data-stagger][data-kids="left"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="left"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="left"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="left"].s-replay > .s-inner > :not(.s-vis){opacity:0;transform:translate3d(-48px,0,0)}
.s-js [data-stagger][data-kids="right"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="right"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="right"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="right"].s-replay > .s-inner > :not(.s-vis){opacity:0;transform:translate3d(48px,0,0)}
.s-js [data-stagger][data-kids="zoom"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="zoom"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="zoom"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="zoom"].s-replay > .s-inner > :not(.s-vis){opacity:0;transform:scale(.9)}
.s-js [data-stagger][data-kids="zoomOut"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="zoomOut"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="zoomOut"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="zoomOut"].s-replay > .s-inner > :not(.s-vis){opacity:0;transform:scale(1.08)}
.s-js [data-stagger][data-kids="blur"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="blur"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="blur"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="blur"].s-replay > .s-inner > :not(.s-vis){opacity:0;filter:blur(12px);transform:scale(1.02)}
.s-js [data-stagger][data-kids="flip"] > :not(.s-inner):not(.s-vis),.s-js [data-stagger][data-kids="flip"] > .s-inner > :not(.s-vis),[data-stagger][data-kids="flip"].s-replay > :not(.s-inner):not(.s-vis),[data-stagger][data-kids="flip"].s-replay > .s-inner > :not(.s-vis){opacity:0;transform:perspective(900px) rotateX(-28deg);transform-origin:50% 0}
[data-anim].s-done{transition:all .3s ease}
[data-hfx]{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,filter .35s ease,background-size .35s ease}
@media (hover:hover){[data-hfx="lift"]:hover{transform:translateY(-6px);box-shadow:var(--s-sh-lg)}[data-hfx="grow"]:hover{transform:scale(1.04)}[data-hfx="shrink"]:hover{transform:scale(.97)}[data-hfx="glow"]:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--s-c-primary) 28%,transparent),0 14px 40px color-mix(in srgb,var(--s-c-primary) 32%,transparent)}[data-hfx="tilt"]:hover{transform:perspective(900px) rotateX(3deg) rotateY(-5deg) translateY(-4px);box-shadow:var(--s-sh-lg)}[data-hfx="zoomImg"]:hover img,[data-hfx="zoomImg"] img:hover{transform:scale(1.08)}[data-hfx="underline"]:hover{background-size:100% 2px}[data-hfx="brighten"]:hover{filter:brightness(1.08) saturate(1.1)}}
[data-hfx="zoomImg"]{overflow:hidden}
[data-hfx="zoomImg"] img,img[data-hfx="zoomImg"]{transition:transform .7s cubic-bezier(.22,1,.36,1)}
[data-hfx="underline"]{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;padding-bottom:2px}
@keyframes s-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes s-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes s-spin{to{transform:rotate(360deg)}}
@keyframes s-bounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-14px)}50%{transform:translateY(0)}65%{transform:translateY(-6px)}80%{transform:translateY(0)}}
@keyframes s-wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
[data-loop="float"]{animation:s-float 4s var(--a-e) infinite}
[data-loop="pulse"]{animation:s-pulse 2.4s ease-in-out infinite}
[data-loop="spin"]{animation:s-spin 8s linear infinite}
[data-loop="bounce"]{animation:s-bounce 2.2s ease infinite}
[data-loop="wobble"]{animation:s-wobble 2.8s ease-in-out infinite}
[data-parallax]{transform:translate3d(0,var(--px,0px),0);will-change:transform}
[data-sfx]{transition:box-shadow .3s ease,padding .3s ease,background-color .3s ease,transform .35s ease}
.s-scrolled [data-sfx="shadow"],.s-scrolled [data-sfx="shrink"],.s-scrolled [data-sfx="hide"]{box-shadow:0 6px 24px rgba(0,0,0,.08)}
.s-scrolled [data-sfx="shrink"]{padding-top:8px!important;padding-bottom:8px!important}
[data-sfx="solid"]{background-color:transparent!important;box-shadow:none!important}
.s-scrolled [data-sfx="solid"]{background-color:var(--s-c-bg,#fff)!important;box-shadow:0 6px 24px rgba(0,0,0,.08)!important}
.s-down [data-sfx="hide"]{transform:translateY(-110%)}
[data-track]{will-change:transform,opacity}
@media (prefers-reduced-motion:reduce){[data-anim],[data-stagger] > *,[data-stagger] > .s-inner > *{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}[data-loop],[data-parallax],[data-track]{animation:none!important;transform:none!important;opacity:1!important}}
