/* sm.art · blue product system, inspired by visual.starmoments.top */
:root{
  --bg:#fff;--soft:#f5f7fb;--card:#fff;--text:#1c293d;--muted:#718096;
  --line:#e1e8f2;--line-strong:#c5d5e9;--accent:#1676ee;--accent-wash:#edf5ff;
  --glass:#ffffffd9;--max:1200px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color-scheme:light;
}
html[data-theme=dark]{
  --bg:#0b1523;--soft:#111f32;--card:#14243a;--text:#e4edfc;--muted:#9aadc6;
  --line:#2a3e58;--line-strong:#466284;--accent:#68afff;--accent-wash:#1c3553;
  --glass:#0f2035e0;color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.7 var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.3;font-weight:600;text-wrap:balance}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
img,svg{display:block;max-width:100%}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #83baff;outline-offset:4px}
[hidden]{display:none!important}
.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}
.skip{position:fixed;top:-100px}
.skip:focus{top:12px;left:12px;z-index:100;background:var(--card);padding:12px}
.site-header{position:fixed;inset:18px 0 auto;z-index:20}
.nav-shell{width:min(1280px,calc(100% - 64px));margin:auto;height:66px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 20px;border:1px solid #ffffffc9;border-radius:20px;background:var(--glass);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 2px 5px #28497505,0 10px 32px #23497908,inset 0 0 0 1px #dce6f266}
.brand{display:flex;align-items:center;gap:9px;font-size:22px;font-weight:650;letter-spacing:-.9px;white-space:nowrap}
.brand-mark{width:34px;height:34px;flex:none;filter:drop-shadow(0 2px 3px #1c293d06)}
.brand-mark svg{width:100%;height:100%}
.brand-light{display:none}
.nav-links{display:flex;align-items:center;gap:30px;font-size:12px;color:var(--muted)}
.nav-links a{padding-block:10px;transition:color .15s}
.nav-links a:hover,.text-link:hover{color:var(--accent)}
.nav-actions{display:flex;align-items:center;gap:13px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:52px;padding:12px 25px;border:1px solid #1e78e9;border-radius:999px;background:linear-gradient(160deg,#3994ff,#1676ee 60%,#1269d5);color:#fff;font-size:13px;font-weight:550;box-shadow:0 4px 12px #1676ee20,inset 0 1px 0 #ffffff4d;transform-origin:center;will-change:transform}
.button:hover{box-shadow:0 7px 20px #1676ee2b,inset 0 1px 0 #ffffff60;filter:brightness(1.03)}
.button>span:last-child{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;margin-right:-6px;background:#ffffff1c;font-size:15px}
.button.small{min-height:38px;padding:6px 17px;font-size:12px;gap:15px}
.button.small>span:last-child{width:18px;height:18px;font-size:12px}
.theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:linear-gradient(145deg,var(--card),var(--soft));color:var(--muted);box-shadow:inset 0 1px 0 #ffffff66}
.control-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.theme-sun{display:none}
html[data-theme=dark] .theme-sun{display:block}
html[data-theme=dark] .theme-moon{display:none}
html[data-theme=dark] .nav-shell{border-color:#35506d66;box-shadow:0 10px 32px #0002,inset 0 1px 0 #ffffff08}
.menu-toggle{display:none}
.hero{position:relative;padding:150px 0 0;overflow:hidden;background:radial-gradient(ellipse at 50% 37%,#e7f1ff 0%,#f3f7fd 46%,#f8fafd 78%)}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.9%,#1676ee03 50%,transparent 50.1%)}
.hero-top{position:relative;display:block;text-align:center}
.eyebrow{font-size:11px;font-weight:550;letter-spacing:1.7px;color:var(--accent)}
.hero .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.9px;padding:6px 13px;border:1px solid #d3e3f9;border-radius:999px;background:#ffffff8c;color:#5780ad;box-shadow:inset 0 1px 0 #fff}
.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#1676ee;box-shadow:0 0 0 3px #1676ee0c;flex:none}
.hero h1{font-size:68px;line-height:1.2;letter-spacing:-3.2px;font-weight:600;margin:22px 0 20px}
.hero h1>span{display:inline-block;background:linear-gradient(100deg,#284e7a,#1676ee 70%,#61a7fa);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap}
.hero-description{font-size:15px;line-height:1.9;color:var(--muted)}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:24px}
.text-link{font-size:13px;color:var(--accent);font-weight:500;transition:color .15s}
.hero-proof{display:flex;justify-content:center;gap:22px;margin-top:22px;font-size:10px;color:#8797ac}
.hero-proof span+span:before{content:"·";margin-right:22px;color:#b0bdcf}
.hero-product{position:relative;margin:44px 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.hero-mock{position:relative;width:100%;height:auto;border:0;border-radius:16px;box-shadow:0 34px 90px #1a365326,0 10px 30px #1a36531a;overflow:hidden;background:#f4f7fb}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 12px;font-size:10px;color:#8194ad}
.hero-bottom span:last-child{font-size:10px;letter-spacing:1px}
html[data-theme=dark] .hero{background:radial-gradient(ellipse at 50% 35%,#1b3a62,#101f33 60%,#111f32)}
html[data-theme=dark] .hero .eyebrow{color:#a9c9f2;background:#1c3454;border-color:#35577e;box-shadow:inset 0 1px 0 #ffffff10}
html[data-theme=dark] .hero h1>span{background-image:linear-gradient(100deg,#d9e9ff,#5ba6ff)}
html[data-theme=dark] .hero-product{background:none;border:0;box-shadow:none}
html[data-theme=dark] .hero-mock{box-shadow:0 34px 90px #0006}
html[data-theme=dark] .hero-proof,html[data-theme=dark] .hero-bottom{color:#9caec7}
svg text{font-family:var(--font)}
.tab-panel .ui{font-size:10.5px;font-weight:500}
.tab-panel .ui.sm{font-size:9.5px}.tab-panel .ui.smx{font-size:8.5px}
.tab-panel .code text{font-family:var(--mono);font-size:9.5px;font-weight:500}
.ill-text{font-size:10px;font-weight:500}.ill-label{font-size:9.5px;font-weight:500}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:36px 0;border-bottom:1px solid var(--line)}
.proof-strip>div{padding-left:30px;border-left:1px solid var(--line)}
.proof-strip>div:first-child{padding-left:0;border-left:0}
.proof-strip strong{font-size:17px;font-weight:550;letter-spacing:-.3px}
.proof-strip strong span{font-size:13px;margin-left:5px}.proof-strip p{font-size:11px;margin-top:5px;color:var(--muted)}
.proof-strip>small{display:none}
.section{padding-block:96px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}
.section-heading h2,.faq-layout h2,.request-card h2{font-size:40px;letter-spacing:-1.6px;line-height:1.3;margin-top:14px;font-weight:600}
.section-description{font-size:13px;line-height:1.9;color:var(--muted)}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.benefit-grid article{border:1px solid var(--line);border-radius:18px;padding:27px 25px 16px;background:linear-gradient(160deg,var(--card),var(--soft));box-shadow:0 4px 16px #26426703}
.feature-icon{font:11px var(--mono);color:var(--accent)}
.benefit-grid h3{font-size:21px;margin:16px 0 11px;font-weight:550}
.benefit-grid p{font-size:13px;color:var(--muted);line-height:1.9}
.benefit-ill{width:100%;height:auto;margin-top:25px;border-radius:8px}
.feature-section{background:var(--soft);border-block:1px solid var(--line)}
.experience-tabs{position:relative;isolation:isolate;display:flex;width:max-content;max-width:100%;gap:3px;margin:0 0 26px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--card);box-shadow:0 3px 12px #29476d04,inset 0 1px 0 #ffffff4d}
.tab-indicator{position:absolute;left:0;top:0;z-index:-1;pointer-events:none;border:1px solid #176fe2;border-radius:999px;background:linear-gradient(150deg,#3695ff,#1676ee);box-shadow:0 3px 8px #1473dd24,inset 0 1px 0 #ffffff3b;will-change:transform,width,height}
.experience-tabs button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 23px;border:0;border-radius:999px;background:none;color:var(--muted);font-size:13px;white-space:nowrap}
.tab-icon{width:16px;height:16px;stroke-linecap:round;stroke-linejoin:round}
.experience-tabs button:hover{color:var(--accent)}
.experience-tabs button[aria-selected=true]{color:#fff}
.experience-tabs:not(.has-indicator) button[aria-selected=true]{background:#1676ee}
.experience-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card);box-shadow:0 12px 30px #26426705}
.experience-image{position:relative;background:#f0f5fc;aspect-ratio:16/9;overflow:hidden}
.tab-panel{width:100%;height:100%}
.experience-copy{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 32px}
.experience-copy h3{font-size:25px;font-weight:550;margin:8px 0}.experience-copy p{font-size:13px;color:var(--muted)}
.experience-copy>a{flex-shrink:0}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.detail-card{background:var(--soft);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.detail-card .card-copy{padding:32px 32px 10px}
.card-copy h3{font-size:27px;font-weight:550;margin:12px 0;letter-spacing:-.8px}.card-copy p{font-size:13px;line-height:1.9;color:var(--muted)}
.detail-ill{width:100%;height:auto;margin-top:6px}
.undo-card,.wide-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;padding:18px 0;min-height:280px}
.undo-card .detail-ill,.wide-card .detail-ill{max-width:640px;margin:0 auto}.undo-card .card-copy,.wide-card .card-copy{padding:32px}
.dark-section{background:#f0f5fc;border-block:1px solid var(--line)}
.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.scenario-grid article{padding:26px;border:1px solid #dce6f4;border-radius:18px;background:#ffffffc9;box-shadow:0 6px 18px #26426703}
.scenario-grid article>span{font:11px var(--mono);color:#8a9eb8}
.scenario-icon{width:36px;height:36px;color:#1676ee;margin:22px 0 4px}
.scenario-grid h3{font-size:23px;font-weight:550;margin:16px 0 14px}.scenario-grid p{font-size:13px;color:var(--muted);line-height:1.9}
.scenario-grid b{display:block;font-size:10px;font-weight:400;color:#4c86cc;margin-top:24px;letter-spacing:.4px}
.section-note{color:var(--muted);font-size:11px;margin-top:20px}
html[data-theme=dark] .dark-section{background:#111f32}html[data-theme=dark] .scenario-grid article{background:#14243a;border-color:#2a3e58}
.delivery-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.delivery-steps li{border-top:1px solid var(--line);padding-top:20px}.delivery-steps span{font:11px var(--mono);color:var(--accent)}
.delivery-steps h3{font-size:19px;font-weight:550;margin:18px 0 10px}.delivery-steps p{font-size:13px;line-height:1.85;color:var(--muted)}
.scope-card{display:grid;grid-template-columns:1.1fr 1fr auto;gap:24px 40px;align-items:center;margin-top:55px;padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--soft)}
.scope-card h3{font-size:21px;margin:10px 0}.scope-card p{font-size:13px;color:var(--muted)}
.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:0}
.scope-list div,.download-meta div{display:flex;flex-direction:column;gap:3px}.scope-list dt,.download-meta dt{font-size:10px;letter-spacing:.7px;color:var(--muted)}
.scope-list dd,.download-meta dd{margin:0;font-size:12px;font-weight:500}.scope-card>.text-link{justify-self:end;white-space:nowrap}
.faq-section{background:var(--soft);border-block:1px solid var(--line)}
.faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.faq-layout .section-description{margin-top:24px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:15px;list-style:none;cursor:pointer;min-height:72px;font-size:14px;font-weight:500}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:21px;font-weight:300;color:var(--muted)}
.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 25px 25px 0;color:var(--muted);font-size:13px;line-height:1.9}
.request-card{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:48px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 10% 10%,#e9f2ff,transparent 70%),var(--card)}
.request-card>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:23px}.request-card small{display:block;font-size:11px;line-height:1.8;color:var(--muted);margin-top:15px}
.download-panel{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.download-panel .button{min-width:220px}.download-panel>.text-link{font-size:13px}
.download-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:8px 0 0;width:100%}.download-meta div{border-top:1px solid var(--line);padding-top:10px}
html[data-theme=dark] .request-card{background:radial-gradient(ellipse at 10% 10%,#1b3859,transparent 70%),var(--card)}
.closing{padding:0 0 85px;text-align:center}.closing h2{font-size:35px;font-weight:550;margin:18px 0 28px;letter-spacing:-1px}
.site-footer{display:flex;align-items:center;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:30px}.site-footer>p{color:var(--muted);font-size:11px}
.site-footer>a{font-size:12px;color:var(--muted)}.site-footer>a:hover{color:var(--accent)}.site-footer>a:nth-last-child(3){margin-left:auto}
.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:10px}
@media(min-width:1600px){.hero{padding-top:168px}.hero-product{margin-top:50px}}
@media(max-width:1100px){
 .container{width:calc(100% - 56px)}.nav-links{gap:22px}.hero h1{font-size:60px}
 .section-heading h2,.faq-layout h2,.request-card h2{font-size:34px}
 .scope-card{grid-template-columns:1fr 1fr}.scope-card>.text-link{justify-self:start}.faq-layout{gap:40px}.request-card{gap:40px;padding:36px}
 .benefit-grid{gap:18px}.benefit-grid article{padding:23px 20px 12px}
}
@media(max-width:760px){
 .container{width:calc(100% - 36px)}.site-header{top:12px}
 .nav-shell{height:58px;width:calc(100% - 24px);padding:0 12px;border-radius:17px;gap:14px}
 .brand{font-size:20px}.brand-mark{width:30px;height:30px}.nav-actions{gap:8px}.theme-toggle{width:30px;height:30px}
 .button.small{font-size:10px;min-height:34px;padding:5px 12px;gap:12px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;width:28px;height:34px;padding:5px}
 .menu-toggle span{height:1.5px;width:18px;background:var(--text)}
 .nav-links{display:none;position:absolute;top:68px;left:12px;right:12px;padding:12px;background:var(--glass);backdrop-filter:blur(24px);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:0;box-shadow:0 12px 30px #26426712}
 .nav-links.open{display:flex}.nav-links a{padding:12px;width:100%}
 .hero{padding-top:116px}.hero .eyebrow{font-size:9px;letter-spacing:.5px;padding:5px 10px}
 .hero h1{font-size:42px;letter-spacing:-1.9px;line-height:1.25;margin:20px 0 18px}
 .hero-description{font-size:12px;line-height:1.95}.hero-actions{margin-top:22px;gap:22px}
 .button{min-height:46px;padding:10px 19px;gap:18px;font-size:12px}.text-link{font-size:12px}
 .hero-proof{font-size:9px;gap:16px;margin-top:20px}.hero-proof span+span:before{margin-right:16px}
 .hero-product{margin-top:32px;padding:5px 5px 0;border-radius:12px 12px 0 0}
 .hero-mock{border-radius:8px}.hero-bottom{padding:12px 5px;font-size:8px;line-height:1.6}.hero-bottom span:last-child{display:none}
 .proof-strip{grid-template-columns:repeat(2,1fr);gap:22px 16px;padding:28px 0}
 .proof-strip>div{padding-left:16px}.proof-strip>div:nth-child(3){padding-left:0;border-left:0}.proof-strip strong{font-size:14px}.proof-strip p{font-size:10px}
 .section{padding-block:58px}.section-heading{display:block;margin-bottom:28px}
 .section-heading h2,.faq-layout h2,.request-card h2{font-size:29px;letter-spacing:-1px;margin-top:12px}
 .section-description{font-size:12px;margin-top:18px}.eyebrow{font-size:10px;letter-spacing:1.3px}
 .benefit-grid{grid-template-columns:1fr;gap:18px}.benefit-grid article{padding:23px 23px 15px}.benefit-grid h3{font-size:21px;margin:14px 0 10px}.benefit-grid p{font-size:12px}.benefit-ill{max-height:150px;margin-top:16px}
 .experience-tabs{width:100%;gap:0;padding:4px;justify-content:space-between}
 .experience-tabs button{padding:10px 8px;gap:5px;font-size:10px}.tab-icon{width:13px;height:13px}
 .experience-card{border-radius:13px}.experience-copy{padding:23px;display:block}.experience-copy h3{font-size:23px}.experience-copy p{font-size:12px}.experience-copy>a{display:inline-block;margin-top:16px}
 .detail-grid{grid-template-columns:1fr;gap:16px}.detail-card{border-radius:16px}.detail-card .card-copy,.undo-card .card-copy,.wide-card .card-copy{padding:25px 25px 9px}
 .card-copy h3{font-size:25px}.card-copy p{font-size:12px}.undo-card,.wide-card{display:block;min-height:0;padding:0}
 .scenario-grid{grid-template-columns:1fr;gap:15px}.scenario-grid article{padding:24px}.scenario-grid h3{font-size:22px;margin:12px 0}.scenario-icon{margin-top:17px}.scenario-grid b{margin-top:16px}.section-note{font-size:10px}
 .delivery-steps{grid-template-columns:repeat(2,1fr);gap:25px 20px}.delivery-steps h3{font-size:18px;margin:14px 0 9px}.delivery-steps p{font-size:12px}
 .scope-card{grid-template-columns:1fr;padding:24px;margin-top:35px;gap:20px}.scope-card h3{font-size:21px}
 .faq-layout{grid-template-columns:1fr;gap:24px}.faq-list summary{font-size:13px;min-height:66px}.faq-list details p{font-size:12px}
 .request-card{grid-template-columns:1fr;padding:26px;gap:28px}.request-card>div>p:not(.eyebrow){font-size:12px;margin-top:18px}.request-card small{font-size:10px}
 .download-panel .button{width:100%;min-width:0}.closing{padding-bottom:52px}.closing h2{font-size:28px}
 .site-footer{gap:16px;padding-block:25px}.site-footer>p{order:3;width:100%;font-size:10px}.site-footer>a{font-size:10px}.site-footer>a:nth-last-child(3){margin-left:0}.footer-bottom{order:4;font-size:8px;gap:18px}
}
@media(prefers-reduced-transparency:reduce){.nav-shell,.nav-links{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--card)}}
@media(prefers-contrast:more){:root{--muted:#465b77;--line:#9aacc4}.nav-shell,.detail-card,.experience-card,.request-card{border-color:var(--line)}.hero-proof,.hero-bottom{color:var(--muted)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;will-change:auto!important}}

/* ---------- 首屏主视觉微动效 ---------- */
@keyframes ha-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.ha-float{animation:ha-float 7.5s ease-in-out infinite;will-change:transform}
.ha-float-b{animation-duration:9.5s;animation-delay:-2.4s}
@keyframes ha-drift{0%,100%{transform:translate(0,0)}32%{transform:translate(5px,-4px)}68%{transform:translate(-2px,3px)}}
.ha-cursor{animation:ha-drift 11s ease-in-out infinite}
@keyframes ha-hl{0%,62%,100%{opacity:1}70%{opacity:.4}80%{opacity:1}}
.ha-v1{animation:ha-hl 6.6s ease-in-out infinite}
.ha-v2{animation:ha-hl 6.6s ease-in-out .55s infinite}
.ha-v3{animation:ha-hl 6.6s ease-in-out 1.1s infinite}
@keyframes ha-pop{0%,84%,100%{transform:scale(1)}92%{transform:scale(1.14)}}
.ha-check{transform-box:fill-box;transform-origin:center;animation:ha-pop 5.4s ease-in-out infinite}
@keyframes ha-blink{0%,100%{opacity:1}50%{opacity:.42}}
.ha-handles{animation:ha-blink 4.4s ease-in-out infinite}
@keyframes ha-pulse-dot{0%,100%{opacity:1}50%{opacity:.28}}
.ha-dot{animation:ha-pulse-dot 2.8s ease-in-out infinite}

/* ---------- 配图精修 ---------- */
.benefit-ill{filter:drop-shadow(0 12px 28px rgba(26,54,83,.08))}
.benefit-ill>rect:first-of-type{fill:url(#g-smart-card)}
.benefit-ill rect[fill="#fff"]{filter:drop-shadow(0 4px 10px rgba(26,54,83,.09))}
.tab-panel{filter:drop-shadow(0 16px 38px rgba(26,54,83,.10))}
.tab-panel rect[fill="#fff"][height="450"]{fill:url(#g-smart-panel)}

/* ---------- 酷炫升级：主视觉光晕 / 文字动效 / 配图动效 / 滚动显现 ---------- */
/* 主视觉入场与背后光晕 */
@keyframes rise-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.hero .eyebrow{animation:rise-in .7s ease-out both}
.hero h1{animation:rise-in .8s .08s cubic-bezier(.22,.8,.32,1) both}
.hero-description{animation:rise-in .8s .16s cubic-bezier(.22,.8,.32,1) both}
.hero-actions{animation:rise-in .8s .24s cubic-bezier(.22,.8,.32,1) both}
.hero-proof{animation:rise-in .8s .3s ease-out both}
.hero-product{animation:rise-in 1s .34s cubic-bezier(.22,.8,.32,1) both}
.hero-product:before{content:"";position:absolute;inset:-56px -80px -40px;pointer-events:none;background:radial-gradient(58% 52% at 50% 46%,rgba(22,118,238,.16),rgba(88,160,255,.08) 46%,transparent 72%);filter:blur(12px);animation:glow-drift 9s ease-in-out infinite}
@keyframes glow-drift{0%,100%{opacity:.85;transform:translate(0,0) scale(1)}38%{opacity:1;transform:translate(14px,-10px) scale(1.04)}68%{opacity:.75;transform:translate(-12px,8px) scale(.98)}}

/* 主标题流光 */
.hero h1>span{background-image:linear-gradient(100deg,#284e7a,#1676ee 38%,#61a7fa 50%,#1676ee 62%,#284e7a);background-size:260% 100%;animation:h1-flow 6s ease-in-out infinite}
@keyframes h1-flow{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
html[data-theme=dark] .hero h1>span{background-image:linear-gradient(100deg,#d9e9ff,#5ba6ff 38%,#9cc8ff 50%,#5ba6ff 62%,#d9e9ff)}

/* 徽标呼吸 */
@keyframes eyebrow-pulse{0%,100%{box-shadow:0 0 0 0 rgba(22,118,238,.22)}50%{box-shadow:0 0 0 7px rgba(22,118,238,0)}}
.hero .eyebrow{animation-name:rise-in,eyebrow-pulse;animation-duration:.7s,3.2s;animation-timing-function:ease-out,ease-in-out;animation-iteration-count:1,infinite;animation-delay:0s,1s}

/* 配图通用动效 */
@keyframes ia-blink-k{0%,100%{opacity:1}50%{opacity:.35}}
.ia-blink{animation:ia-blink-k 3.4s ease-in-out infinite}
.ia-shimmer{animation:ia-blink-k 2.6s ease-in-out infinite}
@keyframes ia-draw-k{0%{stroke-dashoffset:150}55%,100%{stroke-dashoffset:0}}
.ia-draw{stroke-dasharray:150;animation:ia-draw-k 3.6s ease-in-out infinite}
@keyframes ia-lock-k{0%,100%{transform:translate(222px,66px) rotate(0deg)}45%{transform:translate(222px,63px) rotate(-4deg)}70%{transform:translate(222px,66px) rotate(3deg)}}
.ia-lock{animation:ia-lock-k 5.2s ease-in-out infinite;transform-box:view-box;transform-origin:222px 66px}
@keyframes ia-progress-k{0%{width:22px}55%,100%{width:60px}}
.ia-progress{animation:ia-progress-k 3.8s ease-in-out infinite}
@keyframes ia-row-k{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.ia-row{animation:ia-row-k 4.2s ease-in-out infinite}
.ia-row-2{animation-delay:-1.4s}
.ia-row-3{animation-delay:-2.8s}
@keyframes ia-glow-k{0%,100%{filter:drop-shadow(0 0 0 rgba(47,139,255,0))}50%{filter:drop-shadow(0 0 14px rgba(47,139,255,.55))}}
.ia-glow{animation:ia-glow-k 3s ease-in-out infinite}
@keyframes ia-ring-k{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.09);opacity:.82}}
.ia-sync-ring{transform-box:fill-box;transform-origin:center;animation:ia-ring-k 2.8s ease-in-out infinite}
@keyframes ia-spin-k{to{transform:rotate(360deg)}}
.ia-sync-icon{transform-box:fill-box;transform-origin:center;animation:ia-spin-k 3.2s linear infinite}
@keyframes ia-pulse-soft-k{0%,100%{opacity:1}50%{opacity:.72}}
.ia-pulse-soft{animation:ia-pulse-soft-k 2.4s ease-in-out infinite}
@keyframes ia-march-k{to{stroke-dashoffset:-20}}
.ia-march{animation:ia-march-k 1.4s linear infinite}
@keyframes ia-float-soft-k{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.ia-float-soft{animation:ia-float-soft-k 5s ease-in-out infinite}
/* 虚线连接线：数据流动感 */
.tab-panel path[stroke-dasharray],.benefit-ill path[stroke-dasharray],.detail-ill path[stroke-dasharray]{animation:ia-march-k 1.8s linear infinite}
/* 画布 Tab 角点闪烁 */
#tab-canvas g[stroke="#1676ee"] rect[width="6"]{animation:ia-blink-k 3.4s ease-in-out infinite}

/* 滚动显现 */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,.8,.32,1);transition-delay:var(--d,0s)}
.reveal.reveal-in{opacity:1;transform:none}
