/* 阿里 IconPark 风格矢量图标（CSS mask，与若依菜单配套） */
.ai{
  display:inline-block;width:1em;height:1em;vertical-align:-.125em;
  background:currentColor;
  -webkit-mask:var(--ai) center / contain no-repeat;
  mask:var(--ai) center / contain no-repeat;
}
.ai-lg{width:1.25em;height:1.25em}
.ai-xl{width:1.5em;height:1.5em}

.ai-dashboard{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M6 10h16v14H6V10zm20 0h16v8H26V10zM26 22h16v16H26V22zM6 28h16v10H6V28z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-building{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M8 42V12l16-6 16 6v30H8z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M20 42V28h8v14M16 18h4m8 0h4m-16 8h4m8 0h4' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-user{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='14' r='8' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M8 40c2.5-7 8-11 16-11s13.5 4 16 11' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-list{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M10 12h28M10 24h28M10 36h18' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-book{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M8 8h14a6 6 0 0 1 6 6v26a5 5 0 0 0-5-5H8V8zm32 0H26a6 6 0 0 0-6 6v26a5 5 0 0 1 5-5h15V8z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-video{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Crect x='6' y='10' width='26' height='28' rx='3' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M32 20l10-6v20l-10-6V20z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-robot{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Crect x='10' y='14' width='28' height='24' rx='4' stroke='%23000' stroke-width='3.5'/%3E%3Ccircle cx='18' cy='26' r='3' fill='%23000'/%3E%3Ccircle cx='30' cy='26' r='3' fill='%23000'/%3E%3Cpath d='M24 6v8M16 42v-4h16v4' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-puzzle{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M18 8h8a4 4 0 1 1 0 8h4v4a4 4 0 1 1 0 8v4h-4a4 4 0 1 0 0 8h-8v-4a4 4 0 1 0-8 0v4H8V24h4a4 4 0 1 0 0-8H8V8h6a4 4 0 1 0 4 0z' stroke='%23000' stroke-width='3.2' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-chart{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M6 40h36M12 34V22m12 12V12m12 22V26' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-help{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='18' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M18 19a6 6 0 1 1 7.5 5.8c-1.6.7-2.5 1.8-2.5 3.7V30' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3Ccircle cx='24' cy='36' r='2' fill='%23000'/%3E%3C/svg%3E")}
.ai-setting{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='6' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M24 6v4m0 28v4M6 24h4m28 0h4M11 11l2.8 2.8m20.4 20.4L37 37M37 11l-2.8 2.8M13.8 34.2 11 37' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-lock{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Crect x='10' y='20' width='28' height='20' rx='3' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M16 20v-6a8 8 0 0 1 16 0v6' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-logout{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M20 8H12a4 4 0 0 0-4 4v24a4 4 0 0 0 4 4h8M28 32l8-8-8-8M20 24h16' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-home{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M8 22L24 8l16 14v18a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2V22z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M18 42V28h12v14' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-sun{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='8' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M24 6v4m0 28v4M6 24h4m28 0h4M11 11l2.8 2.8m20.4 20.4L37 37M37 11l-2.8 2.8M13.8 34.2 11 37' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-moon{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M28 8a16 16 0 1 0 12 24A14 14 0 0 1 28 8z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-eye{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M4 24s8-14 20-14 20 14 20 14-8 14-20 14S4 24 4 24z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Ccircle cx='24' cy='24' r='6' stroke='%23000' stroke-width='3.5'/%3E%3C/svg%3E")}
.ai-leaf{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M12 36c12 0 24-10 24-24-14 0-24 12-24 24z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M16 32c6-4 12-10 16-18' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-play{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='18' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M20 16l14 8-14 8V16z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-volume{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M8 18h8l10-8v28l-10-8H8V18z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M34 18a8 8 0 0 1 0 12M38 14a14 14 0 0 1 0 20' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-stop{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='24' cy='24' r='18' stroke='%23000' stroke-width='3.5'/%3E%3Crect x='16' y='16' width='16' height='16' rx='2' stroke='%23000' stroke-width='3.5'/%3E%3C/svg%3E")}
.ai-print{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M14 12h20v8H14v-8zM12 28h24v12H12V28z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M8 20h32v12H8V20z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-download{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M10 28v10h28V28M24 8v22m0 0l-8-8m8 8l8-8' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-upload{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M10 28v10h28V28M24 38V16m0 0l-8 8m8-8l8 8' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-plus{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M24 10v28M10 24h28' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-delete{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M10 14h28M18 14V10h12v4m-10 8v14m8-14v14M14 14l2 26h16l2-26' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-search{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Ccircle cx='21' cy='21' r='12' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M30 30l10 10' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-link{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M18 24a8 8 0 0 1 0-11l5-5a8 8 0 0 1 11 11l-3 3M30 24a8 8 0 0 1 0 11l-5 5a8 8 0 0 1-11-11l3-3' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-folder{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M6 14a3 3 0 0 1 3-3h10l4 4h16a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V14z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-flash{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M26 6L12 26h10l-2 16 16-22H26L26 6z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-math{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Crect x='8' y='6' width='32' height='36' rx='4' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M16 16h6M26 16h6M16 24h6M26 24h6M16 32h16' stroke='%23000' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-english{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Crect x='8' y='10' width='32' height='28' rx='3' stroke='%23000' stroke-width='3.5'/%3E%3Cpath d='M16 20h16M16 28h10' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-physics{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cellipse cx='24' cy='24' rx='18' ry='8' stroke='%23000' stroke-width='3.2' transform='rotate(60 24 24)'/%3E%3Cellipse cx='24' cy='24' rx='18' ry='8' stroke='%23000' stroke-width='3.2' transform='rotate(-60 24 24)'/%3E%3Cellipse cx='24' cy='24' rx='18' ry='8' stroke='%23000' stroke-width='3.2'/%3E%3Ccircle cx='24' cy='24' r='3.5' fill='%23000'/%3E%3C/svg%3E")}
.ai-chemistry{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M18 8h12M20 8v10L10 38a4 4 0 0 0 3.5 6h21A4 4 0 0 0 38 38L28 18V8' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M14 30h20' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.ai-arrow-right{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M18 10l14 14-14 14' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-arrow-left{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M30 10L16 24l14 14' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-edit{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M32 8l8 8L18 38H10v-8L32 8z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-refresh{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M38 18A14 14 0 1 0 40 28' stroke='%23000' stroke-width='3.5' stroke-linecap='round'/%3E%3Cpath d='M38 8v12H26' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-check{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M10 24l10 10 18-20' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-doc{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M12 6h18l10 10v26a2 2 0 0 1-2 2H12a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M28 6v12h12M16 26h16M16 34h12' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ai-student{--ai:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Cpath d='M4 18l20-10 20 10-20 10L4 18z' stroke='%23000' stroke-width='3.5' stroke-linejoin='round'/%3E%3Cpath d='M12 22v10c0 4 12 8 12 8s12-4 12-8V22M40 18v14' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
