[data-ic="grid"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E")}
[data-ic="building"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7.5h2M13 7.5h2M9 11.5h2M13 11.5h2M10 21v-4h4v4'/%3E%3C/svg%3E")}
[data-ic="pie"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9v9z'/%3E%3Cpath d='M15.5 3.6A9 9 0 0 1 20.4 8.5H15.5z'/%3E%3C/svg%3E")}
[data-ic="swap"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4 3 8l4 4M3 8h15M17 20l4-4-4-4M21 16H6'/%3E%3C/svg%3E")}
[data-ic="layers"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 5-9 5-9-5z'/%3E%3Cpath d='m3 12.5 9 5 9-5M3 17l9 5 9-5'/%3E%3C/svg%3E")}
[data-ic="search"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E")}
[data-ic="funnel"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E")}
[data-ic="star"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E")}
[data-ic="flag"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V4M5 4h12l-2.5 4L17 12H5'/%3E%3C/svg%3E")}
[data-ic="coin"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 8h3.5a2 2 0 0 1 0 4H9.5h4a2 2 0 0 1 0 4h-4M9.5 8v8M11.5 6.5V8M11.5 16v1.5'/%3E%3C/svg%3E")}
[data-ic="chip"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='6' width='12' height='12' rx='2'/%3E%3Cpath d='M9 2v4M15 2v4M9 18v4M15 18v4M2 9h4M2 15h4M18 9h4M18 15h4'/%3E%3C/svg%3E")}
[data-ic="bag"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l1 12H5z'/%3E%3Cpath d='M9 8a3 3 0 0 1 6 0'/%3E%3C/svg%3E")}
[data-ic="bank"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 4l9 6M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20h18'/%3E%3C/svg%3E")}
[data-ic="gear"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9 7 7M17 17l2.1 2.1M4.9 19.1 7 17M17 7l2.1-2.1'/%3E%3C/svg%3E")}
[data-ic="cross"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6z'/%3E%3C/svg%3E")}
[data-ic="bolt"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E")}
[data-ic="cube"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 5v8l-9 5-9-5V8z'/%3E%3Cpath d='m3 8 9 5 9-5M12 13v8'/%3E%3C/svg%3E")}
[data-ic="drop"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z'/%3E%3C/svg%3E")}
[data-ic="cart"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.5 12h11L21 7H6'/%3E%3C/svg%3E")}
[data-ic="signal"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10a11 11 0 0 1 16 0M7.5 13.5a6 6 0 0 1 9 0'/%3E%3Ccircle cx='12' cy='18' r='1'/%3E%3C/svg%3E")}
[data-ic="home"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8M5 10v10h14V10M10 20v-6h4v6'/%3E%3C/svg%3E")}
[data-ic="dots"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='1.6'/%3E%3Ccircle cx='12' cy='12' r='1.6'/%3E%3Ccircle cx='19' cy='12' r='1.6'/%3E%3C/svg%3E")}
[data-ic="globe"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E")}
[data-ic="car"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16v-5l2-5h12l2 5v5M3 16h18M7 19v-3M17 19v-3'/%3E%3Cpath d='M4 11h16'/%3E%3C/svg%3E")}
[data-ic="book"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h13v15H6a2 2 0 0 0-2 2zM4 20a2 2 0 0 1 2-2h13'/%3E%3C/svg%3E")}
[data-ic="sun"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M2 12h2M20 12h2M5 5l1.5 1.5M17.5 17.5 19 19M5 19l1.5-1.5M17.5 6.5 19 5'/%3E%3C/svg%3E")}
[data-ic="chart"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18M7 15l4-4 3 3 6-7'/%3E%3C/svg%3E")}
[data-ic="news"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Cpath d='M8 9h8M8 13h8M8 17h5'/%3E%3C/svg%3E")}
[data-ic="file"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E")}
[data-ic="percent"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 5 5 19'/%3E%3Ccircle cx='7' cy='7' r='2.5'/%3E%3Ccircle cx='17' cy='17' r='2.5'/%3E%3C/svg%3E")}
[data-ic="gauge"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17a8 8 0 1 1 16 0'/%3E%3Cpath d='m12 17 4-5'/%3E%3C/svg%3E")}
[data-ic="sort"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4v16M4 16l4 4 4-4M16 20V4M12 8l4-4 4 4'/%3E%3C/svg%3E")}
[data-ic="link"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E")}
[data-ic="wallet"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h13v4'/%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Ccircle cx='16.5' cy='13.5' r='1'/%3E%3C/svg%3E")}
/* v10.7 图标与层级优化。图标用 CSS mask（data URI，随文字颜色），由 ui.js 给元素加 data-ic。 */
[data-ic]::before{content:"";display:inline-block;flex:none;width:1.05em;height:1.05em;margin-right:5px;vertical-align:-.17em;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* 统计条：图标圆片 */
#stats .stat[data-ic]::before{width:28px;height:28px;margin:0 8px 0 0;padding:6px;box-sizing:border-box;border-radius:50%;background:var(--accent-bg);-webkit-mask:none;mask:none;content:""}
#stats .stat[data-ic]{position:relative}
#stats .stat[data-ic]::after{content:"";position:absolute;width:16px;height:16px;background:var(--accent);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}

/* 行业标签 / 视图切换 / 筛选 */
#tabs button[data-ic]::before{width:15px;height:15px;margin-right:4px;opacity:.75}
#tabs button.on[data-ic]::before{opacity:1}
#viewsw button[data-ic]::before{width:14px;height:14px}
.filters .chip[data-ic]::before{width:14px;height:14px;margin-right:4px}
.filters .qbox{position:relative}
.filters .qbox::before{content:"";position:absolute;left:11px;top:50%;width:15px;height:15px;margin-top:-7.5px;background:var(--fg3);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;pointer-events:none;z-index:1}
.filters .qbox input{padding-left:34px!important}
#side .card h3[data-ic]::before{color:var(--accent)}

/* 抽屉：栏目标题与指标行 */
aside.drawer h4[data-ic]::before{width:16px;height:16px;color:var(--accent);margin-right:6px;vertical-align:-.2em}
aside.drawer dl.kv dt[data-ic]::before{width:15px;height:15px;color:var(--accent);opacity:.8}

/* 涨跌箭头（仅手机卡片右上角） */
#mc .r small .up::before{content:"▲";font-size:.7em;margin-right:2px;vertical-align:.08em}
#mc .r small .down::before{content:"▼";font-size:.7em;margin-right:2px;vertical-align:.08em}

@media(max-width:760px){
/* 搜索框旁的 AI 小按钮与顶部 AI 条重复，手机上隐藏 */
.filters .qbox .qai{display:none!important}
.filters .qbox input{padding-right:12px!important}
/* 筛选区：三个快捷项压成一行 */
.filters{gap:8px 6px!important}
.filters .chip[data-chip],.filters .chip:not(.mflt):not(#msortd):not(.exp){flex:1 1 auto;text-align:center;padding:8px 8px;font-size:12.5px;white-space:nowrap}
.filters .chip.mflt{display:inline-flex;align-items:center}
/* 卡片：主次——链上市值最醒目，其余次之 */
.m .sub2>span:first-child>b{font-size:15px;font-weight:700;color:var(--fg)}
.m .sub2>span:not(:first-child)>b{font-size:13.5px;font-weight:600}
.m .sub2>span{color:var(--fg3);font-size:11.5px}
/* 未代币化页只有 3 列：市值列放宽 */
html[data-pg=pending] .m .sub2{grid-template-columns:1.45fr .85fr .85fr 1.15fr!important}
html[data-pg=pending] .m .sub2>span:first-child>b{font-size:14.5px}
/* 统计条图标 */
#stats .stat[data-ic]{padding-left:44px!important;min-width:128px!important}
#stats .stat[data-ic]::before{position:absolute;left:10px;top:50%;margin:-14px 0 0}
#stats .stat[data-ic]::after{left:16px;top:50%;margin-top:-8px}
/* 详情抽屉：AI 卡在手机上换成底部固定条 */
aside.drawer .dr-ai{display:none!important}
.fx-cta{position:sticky;bottom:0;z-index:30;display:flex;gap:10px;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px #0b1b3a14}
.fx-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:44px;border-radius:22px;font-size:15px;font-weight:600;text-decoration:none}
.fx-cta a.ask{background:var(--accent-bg);color:var(--accent)}
.fx-cta a.buy{background:var(--accent);color:#fff;flex:1.25}
.fx-cta a::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
}
@media(min-width:761px){
#stats .stat[data-ic]{padding-left:38px;position:relative}
#stats .stat[data-ic]::before{position:absolute;left:0;top:50%;margin:-14px 0 0}
#stats .stat[data-ic]::after{left:6px;top:50%;margin-top:-8px}
.fx-cta{display:none}
}

/* v12.1 first paint: no ghost lines/boxes before the page script renders; soft skeleton instead */
@keyframes fxsk{50%{opacity:.45}}
#hero-text:empty,#stats:empty,#tabs:empty,#filters:empty,#mc:empty{background:#f0f3f8;border-color:transparent!important;border-radius:10px;animation:fxsk 1.3s ease-in-out infinite}
#hero-text:empty{height:70px;width:70%}
#stats:empty{height:26px;width:60%}
#tabs:empty{height:39px;margin-bottom:12px}
#filters:empty{height:36px}
#app-header:empty{min-height:57px}
#side:empty,#dataNote:empty{display:none}
#mc:empty{min-height:460px;background:repeating-linear-gradient(180deg,#f0f3f8 0 78px,transparent 78px 90px)}
.tablewrap:has(#tb:empty){min-height:480px;border-color:transparent;background:repeating-linear-gradient(180deg,#f0f3f8 0 40px,transparent 40px 52px);animation:fxsk 1.3s ease-in-out infinite}
.tablewrap:has(#tb:empty) table{visibility:hidden}
.mainl:has(#empty:not([hidden])) #mc:empty,.mainl:has(#err:not([hidden])) #mc:empty,.mainl:has(#err:not([hidden])) .tablewrap:has(#tb:empty){display:none}
@media(max-width:760px){#app-header:empty{min-height:92px}#hero-text:empty{width:100%}#stats:empty{height:55px;width:100%}#filters:empty{height:120px}}
@media(prefers-reduced-motion:reduce){#hero-text:empty,#stats:empty,#tabs:empty,#filters:empty,#mc:empty,.tablewrap:has(#tb:empty){animation:none}}
