/* AIC 監控大屏 · 樣式 aic.css
 * 結構：基礎 → 品牌四色池 → 深色主題 → 國際化皮膚 → 各頁面 → LED 模式(html.led) → 響應式
 */
[hidden]{display:none!important}
html,body{margin:0}

/* Layout: navy command bar on top, four "coin-pool" KPI tiles, then double-framed panels (outer base + inner frame) on a clean white ground. */
:root{
  color-scheme: light;
  /* the four pools: base / inner frame */
  --ice:#D1E2FE; --ice-in:#DDE9FF;
  --blue:#0052FE; --blue-in:#3375FF;
  --navy:#011F65; --navy-in:#30467F;
  --mist:#ECEDEF; --mist-in:#F5F6F8;
  --ground:#FFFFFF; --head:#011F65; --lab1:#30467F; --h200:#011F65; --chipbg:#FFFFFF; --s4bg:#FFF3DD; --tag-h100:#EEE9FF; --tag-p800:#FFF0D6; --ink:#0A1B3D; --sub:#56657F; --faint:#8A95A8; --rule:#E1E4EA;
  --ok:#0B8F5A;
  /* AI accents, one per module */
  --ai-cyan:#19C3FF; --ai-violet:#8B6CFF; --ai-mint:#22D3A6; --ai-amber:#FFB547; --onwhite:#FFFFFF; --onnavy-sub:#AFC3EE;
  --f-ui:"DM Sans","Noto Sans TC","Noto Sans CJK TC","Microsoft JhengHei",system-ui,sans-serif;
  --f-zh:"Noto Sans TC","Noto Sans CJK TC","DM Sans","Microsoft JhengHei",system-ui,sans-serif;
  --f-num:"DM Sans","Noto Sans TC","Noto Sans CJK TC",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{background:var(--ground)}
body{color:var(--ink);font-family:var(--f-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--navy)}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--blue-in);outline-offset:2px}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}

/* ── command bar */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--navy);color:var(--onwhite)}
.bar-in{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));max-width:1680px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;flex-shrink:0}
.brand svg{width:34px;height:34px}
.brand b{font-family:var(--f-zh);font-size:17px;font-weight:900;letter-spacing:.02em}
.brand small{display:block;font-size:9.5px;letter-spacing:.32em;color:var(--onnavy-sub);font-weight:600;margin-top:1px}
.tabs{display:flex;gap:4px;flex-wrap:wrap;flex:1;min-width:0}
.tabs a{color:var(--onnavy-sub);text-decoration:none;font-weight:600;font-size:13.5px;padding:8px 14px;border-radius:10px;white-space:nowrap}
.tabs a:hover{color:var(--onwhite);background:var(--navy-in)}
.tabs a[aria-current="page"]{background:var(--blue);color:var(--onwhite)}
.tools{display:flex;align-items:center;gap:10px;flex-shrink:0}
.clock{font-size:15px;color:var(--onwhite);min-width:76px}
.date{font-size:11px;color:var(--onnavy-sub)}
.pill{height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--navy-in);background:transparent;color:var(--onwhite);font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.pill:hover{background:var(--navy-in)}
.lang{display:inline-flex;border:1px solid var(--navy-in);border-radius:10px;overflow:hidden}
.lang button{height:32px;padding:0 10px;border:0;background:transparent;color:var(--onnavy-sub);font-size:12.5px;font-weight:700}
.lang button[aria-pressed="true"]{background:var(--onwhite);color:var(--head)}
.live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--onnavy-sub)}
.live i{width:7px;height:7px;border-radius:50%;background:#3FD08F;box-shadow:0 0 0 0 rgba(63,208,143,.6);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(63,208,143,0)}100%{box-shadow:0 0 0 0 rgba(63,208,143,0)}}

/* ── page frame */
main{max-width:1680px;margin:0 auto;padding-block:20px 28px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.view{display:flex;flex-direction:column;gap:16px}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.head h1{margin:0;font-family:var(--f-zh);font-size:26px;font-weight:900;letter-spacing:-.01em;text-wrap:balance}
.head p{margin:2px 0 0;color:var(--sub);font-size:13px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;font-weight:600;color:var(--sub)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px}

/* ── coin-pool KPI tiles */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pool{border-radius:22px;padding:6px;display:flex;flex-direction:column}
.pool .in{border-radius:17px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.pool .lab{font-size:12.5px;font-weight:600;padding:10px 12px 8px;display:flex;justify-content:space-between;gap:8px}
.pool .val{font-size:30px;font-weight:600;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pool .unit{font-size:13px;font-weight:600;margin-left:4px}
.pool .delta{font-size:12px;font-weight:600}
.p1{background:var(--ice);color:var(--head)} .p1 .in{background:var(--ice-in)} .p1 .lab,.p1 .delta{color:var(--lab1)}
.p2{background:var(--blue);color:var(--onwhite)} .p2 .in{background:var(--blue-in)} .p2 .lab,.p2 .delta{color:#E2EBFF}
.p3{background:var(--navy);color:var(--onwhite)} .p3 .in{background:var(--navy-in)} .p3 .lab,.p3 .delta{color:var(--onnavy-sub)}
.p4{background:var(--mist);color:var(--head)} .p4 .in{background:var(--mist-in)} .p4 .lab,.p4 .delta{color:var(--sub)}

/* ── panels: grey base + inner frame */
.grid{display:grid;gap:12px}
.g-map{grid-template-columns:minmax(0,3fr) minmax(300px,1fr)}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-21{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.g-12{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.panel{background:var(--mist);border-radius:22px;padding:6px;display:flex;flex-direction:column;min-width:0}
.panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 9px}
.panel h2{margin:0;font-size:14px;font-weight:700;color:var(--head)}
.panel h2 em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--blue);margin-left:8px}
.panel .meta{font-size:12px;color:var(--sub)}
.panel .in{background:var(--mist-in);border-radius:17px;padding:12px;flex:1;min-width:0}
.chart{width:100%;height:300px}
.chart.tall{height:520px}
.chart.mid{height:360px}

/* tables */
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--sub);padding:8px 10px;border-bottom:1px solid var(--rule);white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--rule);white-space:nowrap}
tr:last-child td{border-bottom:0}
td.r,th.r{text-align:right}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:7px;font-size:11.5px;font-weight:700}
.t-pro{background:var(--ice);color:var(--blue)} .t-h100{background:var(--tag-h100);color:#7C5CFF} .t-h200{background:var(--navy);color:var(--onwhite)} .t-p800{background:var(--tag-p800);color:#D98B00}
.rank{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;background:var(--mist);color:var(--head)}
.rank.top{background:var(--blue);color:var(--onwhite)}
.bar-cell{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.bar-cell span{display:block;height:6px;border-radius:3px;background:var(--blue-in)}

/* list rows (ranking / feed) */
.rows{display:flex;flex-direction:column}
.row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--rule)}
.row:last-child{border-bottom:0}
.row b{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row small{display:block;color:var(--sub);font-size:11.5px}
.feed .row{grid-template-columns:auto minmax(0,1fr) auto}
.feed time{font-size:11.5px;color:var(--faint)}

/* spec cards */
.specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.s4{background:var(--s4bg);color:var(--head)}
.s4::after{filter:hue-rotate(185deg) saturate(2)}
.spec{border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.spec h3{margin:0;font-size:18px;font-weight:700}
.spec dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12.5px}
.spec dt{opacity:.75} .spec dd{margin:0;text-align:right;font-weight:600}
.s1{background:var(--ice-in);color:var(--head)} .s2{background:var(--blue);color:var(--onwhite)} .s3{background:var(--navy);color:var(--onwhite)}

/* key indicators */
.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kv div{background:var(--ground);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.kv span{font-size:11.5px;color:var(--sub)} .kv b{font-size:17px;font-weight:600;color:var(--head)}
.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}
.status i{width:7px;height:7px;border-radius:50%;background:#3FD08F}

/* ── landing */
.hero{position:relative;overflow:hidden;border-radius:28px;background:var(--navy);color:var(--onwhite);padding:48px 40px 40px;display:flex;flex-direction:column;gap:28px}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9;pointer-events:none}
.hero>*:not(canvas){position:relative}
.hero .mark{display:flex;align-items:center;gap:16px}
.hero .mark svg{width:64px;height:64px}
.hero h1{margin:0;font-family:var(--f-zh);font-size:clamp(34px,5vw,58px);font-weight:900;letter-spacing:.01em;line-height:1.1}
.hero .latin{font-size:12px;letter-spacing:.48em;color:var(--onnavy-sub);font-weight:600;margin-top:6px}
.hero p{margin:0;font-size:16px;color:#D5E1FB;max-width:60ch}
.hero .stats{display:flex;gap:36px;flex-wrap:wrap}
.hero .stats div{display:flex;flex-direction:column}
.hero .stats b{font-size:26px;font-weight:600}
.hero .stats span{font-size:12px;color:var(--onnavy-sub)}
.cta{align-self:flex-start;height:52px;padding:0 26px;border-radius:14px;border:0;background:var(--blue);color:var(--onwhite);font-size:16px;font-weight:700;letter-spacing:.2em;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.cta:hover{background:var(--blue-in)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.card{text-decoration:none;border-radius:22px;padding:6px;display:flex;flex-direction:column;transition:transform .2s}
.card:hover{transform:translateY(-3px)}
.card .in{border-radius:17px;padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .no{font-size:11px;font-weight:700;letter-spacing:.2em}
.card h3{margin:0;font-family:var(--f-zh);font-size:20px;font-weight:900}
.card p{margin:0;font-size:12.5px;line-height:1.6}
.card .go{margin-top:auto;font-size:12.5px;font-weight:700;padding-top:14px}
.card.p1 p,.card.p4 p{color:var(--sub)}
.card.p2 p{color:#E2EBFF} .card.p3 p{color:var(--onnavy-sub)}
footer{max-width:1680px;margin:0 auto;padding-block:8px 28px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--faint);font-size:11px;letter-spacing:.14em}


/* ── AI ornaments */
.hico{width:26px;height:26px;border-radius:8px;background:var(--ground);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px var(--ice)}
.hico svg{width:16px;height:16px}
.panel>header{justify-content:flex-start}
.panel>header .meta{margin-left:auto}
.panel{position:relative}
.panel::after{content:"";position:absolute;top:6px;right:6px;width:140px;height:70px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='70' viewBox='0 0 140 70'%3E%3Cg fill='none' stroke='%233375FF' stroke-width='1.2' opacity='.45'%3E%3Cpath d='M140 14H96l-10 10H58'/%3E%3Cpath d='M140 30h-28l-8 8H80'/%3E%3Cpath d='M118 0v8l-8 8'/%3E%3C/g%3E%3Cg fill='%233375FF' opacity='.55'%3E%3Ccircle cx='58' cy='24' r='2.6'/%3E%3Ccircle cx='80' cy='38' r='2.6'/%3E%3Ccircle cx='110' cy='16' r='2'/%3E%3C/g%3E%3C/svg%3E") no-repeat right top;pointer-events:none;border-top-right-radius:17px}
.panel .in{position:relative;background-image:radial-gradient(circle,rgba(51,117,255,.13) 1px,transparent 1.2px);background-size:18px 18px;background-position:9px 9px}
.panel .in::before,.panel .in::after{content:"";position:absolute;width:12px;height:12px;border-color:var(--blue-in);border-style:solid;opacity:.55;pointer-events:none}
.panel .in::before{left:8px;top:8px;border-width:1.5px 0 0 1.5px;border-top-left-radius:4px}
.panel .in::after{right:8px;bottom:8px;border-width:0 1.5px 1.5px 0;border-bottom-right-radius:4px}
.pool .in{position:relative;overflow:hidden}
.pool .in::after{content:"";position:absolute;right:-8px;bottom:-6px;width:120px;height:80px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cg stroke='%230052FE' stroke-width='1' opacity='.32' fill='none'%3E%3Cpath d='M20 18L56 40 92 14M20 62L56 40 92 66M56 40h44M92 14l8 26-8 26'/%3E%3C/g%3E%3Cg fill='%230052FE' opacity='.5'%3E%3Ccircle cx='20' cy='18' r='3'/%3E%3Ccircle cx='20' cy='62' r='3'/%3E%3Ccircle cx='56' cy='40' r='4'/%3E%3Ccircle cx='92' cy='14' r='3'/%3E%3Ccircle cx='92' cy='66' r='3'/%3E%3Ccircle cx='100' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E") no-repeat;pointer-events:none;opacity:.55}
.p2 .in::after,.p3 .in::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cg stroke='%23FFFFFF' stroke-width='1' opacity='.32' fill='none'%3E%3Cpath d='M20 18L56 40 92 14M20 62L56 40 92 66M56 40h44M92 14l8 26-8 26'/%3E%3C/g%3E%3Cg fill='%23FFFFFF' opacity='.5'%3E%3Ccircle cx='20' cy='18' r='3'/%3E%3Ccircle cx='20' cy='62' r='3'/%3E%3Ccircle cx='56' cy='40' r='4'/%3E%3Ccircle cx='92' cy='14' r='3'/%3E%3Ccircle cx='92' cy='66' r='3'/%3E%3Ccircle cx='100' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E");opacity:.8}
.pool .in>*{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:8px;background:var(--ice-in);color:var(--blue);font-size:10.5px;font-weight:700;letter-spacing:.16em;flex-basis:100%;max-width:max-content}
.eyebrow svg{width:14px;height:14px}
.bar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent 0,var(--blue-in) 20%,#9CC0FF 50%,var(--blue-in) 80%,transparent 100%) var(--navy);background-size:40% 100%;background-repeat:no-repeat;animation:stream 3.6s linear infinite}
@keyframes stream{from{background-position:-40% 0}to{background-position:140% 0}}
.mapwrap{position:relative;overflow:hidden;border-radius:12px}
.scan{position:absolute;top:0;bottom:0;width:22%;left:-22%;background:linear-gradient(90deg,transparent,rgba(51,117,255,.10) 70%,rgba(51,117,255,.35) 99%,transparent);animation:scan 7s linear infinite;pointer-events:none}
@keyframes scan{to{left:100%}}
.brand svg{border-radius:9px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.hero .mark svg{border-radius:16px;box-shadow:0 0 0 6px rgba(51,117,255,.22),0 12px 30px rgba(0,0,0,.25)}
.card .in{position:relative;overflow:hidden}
.card .in::after{content:"";position:absolute;right:-6px;top:-4px;width:120px;height:80px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cg stroke='%230052FE' stroke-width='1' opacity='.32' fill='none'%3E%3Cpath d='M20 18L56 40 92 14M20 62L56 40 92 66M56 40h44M92 14l8 26-8 26'/%3E%3C/g%3E%3Cg fill='%230052FE' opacity='.5'%3E%3Ccircle cx='20' cy='18' r='3'/%3E%3Ccircle cx='20' cy='62' r='3'/%3E%3Ccircle cx='56' cy='40' r='4'/%3E%3Ccircle cx='92' cy='14' r='3'/%3E%3Ccircle cx='92' cy='66' r='3'/%3E%3Ccircle cx='100' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E") no-repeat;opacity:.35;pointer-events:none}
.card.p2 .in::after,.card.p3 .in::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='80' viewBox='0 0 120 80'%3E%3Cg stroke='%23FFFFFF' stroke-width='1' opacity='.32' fill='none'%3E%3Cpath d='M20 18L56 40 92 14M20 62L56 40 92 66M56 40h44M92 14l8 26-8 26'/%3E%3C/g%3E%3Cg fill='%23FFFFFF' opacity='.5'%3E%3Ccircle cx='20' cy='18' r='3'/%3E%3Ccircle cx='20' cy='62' r='3'/%3E%3Ccircle cx='56' cy='40' r='4'/%3E%3Ccircle cx='92' cy='14' r='3'/%3E%3Ccircle cx='92' cy='66' r='3'/%3E%3Ccircle cx='100' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E");opacity:.55}
.spec{position:relative;overflow:hidden}
.spec::after{content:"";position:absolute;right:10px;top:10px;width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%233375FF' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='7' y='7' width='10' height='10' rx='2'/%3E%3Cpath d='M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4'/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain;opacity:.7}
.s2::after,.s3::after{filter:brightness(0) invert(1);opacity:.45}
footer .chipline{display:inline-flex;align-items:center;gap:8px}

.rotline{position:absolute;left:0;right:0;top:0;height:3px;background:transparent;z-index:2}
.rotline i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),#9CC0FF);border-radius:0 3px 3px 0;transition:width 1s linear}
.spectotal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--ground);font-size:13px;color:var(--sub)}
.spectotal b{color:var(--head);font-weight:700}
.provs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.prov{border-radius:18px;padding:5px;display:flex;flex-direction:column;background:var(--mist);position:relative;overflow:hidden}
.prov::before{content:"";position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--c)}
.prov .nm{color:var(--head)}
.prov .nm span:first-child::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:6px;box-shadow:0 0 8px var(--c)}
.prov .in{background:var(--ground);color:var(--head)}
.prov .in::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 30%,transparent),transparent 70%)}
.prov:hover{box-shadow:0 10px 26px color-mix(in srgb,var(--c) 30%,transparent);transform:translateY(-2px)}
.prov .in{border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden}
.prov .nm{font-size:12.5px;font-weight:700;padding:7px 10px 6px;display:flex;justify-content:space-between;gap:6px}
.prov .v{font-size:22px;font-weight:600;line-height:1.2}
.prov small{display:block;font-size:11.5px;opacity:.8;padding-right:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prov .spark{position:absolute;right:8px;bottom:8px;width:54px;height:20px}
.search{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:10px;background:var(--ground);border:1px solid var(--rule);margin-bottom:8px;color:var(--sub)}
.search svg{width:16px;height:16px;flex-shrink:0}
.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--ink)}
.search:focus-within{border-color:var(--blue-in)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.view>*{animation:rise .55s cubic-bezier(.2,.7,.2,1) both}
.view>*:nth-child(2){animation-delay:.06s}.view>*:nth-child(3){animation-delay:.12s}.view>*:nth-child(4){animation-delay:.18s}.view>*:nth-child(5){animation-delay:.24s}
@keyframes rise{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
.pool,.panel,.prov,.card{transition:box-shadow .25s,transform .25s}
.pool:hover,.prov:hover{box-shadow:0 10px 28px rgba(0,82,254,.18);transform:translateY(-2px)}
.panel:hover{box-shadow:0 0 0 1px var(--ice),0 12px 30px rgba(1,31,101,.08)}

/* ── entry stage */
body.is-home .bar,body.is-home footer{display:none}
body.is-home main{max-width:none;padding:0}
body.is-home::before{background:#03123A}
.stage{position:relative;overflow:hidden;min-height:100vh;background:radial-gradient(1200px 600px at 50% -10%,#0B3A9E 0%,transparent 60%),radial-gradient(800px 500px at 90% 110%,rgba(139,108,255,.28),transparent 60%),radial-gradient(700px 420px at 0% 100%,rgba(25,195,255,.20),transparent 60%),#03123A;color:#fff;display:flex;flex-direction:column;align-items:center;gap:30px;padding-block:28px 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.stage::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(156,192,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(156,192,255,.07) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 30%,transparent 75%);pointer-events:none}
.stage>*{position:relative;z-index:1}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.75;pointer-events:none}
.stage-top{width:100%;max-width:1280px;display:flex;justify-content:flex-end}
.lang-home{border-color:rgba(156,192,255,.3)}
.ident{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.ident .tile{width:84px;height:84px;border-radius:22px;box-shadow:0 0 0 8px rgba(51,117,255,.18),0 0 60px rgba(25,195,255,.45);animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-6px)}}
.ident .latin{font-size:12px;letter-spacing:.5em;color:#9CC0FF;font-weight:600;margin-top:8px}
.grad{margin:0;font-family:var(--f-zh);font-size:clamp(40px,7vw,84px);font-weight:900;line-height:1.05;letter-spacing:.02em;background:linear-gradient(100deg,#FFFFFF 0%,#9CC0FF 30%,var(--ai-cyan) 55%,var(--ai-violet) 80%,#FFFFFF 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 8s linear infinite}
@keyframes sheen{to{background-position:-220% 0}}
.ident p{margin:0;font-size:15px;letter-spacing:.18em;color:#C9D8F7}
.pulse-strip{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.pulse-strip div{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(156,192,255,.18);backdrop-filter:blur(6px)}
.pulse-strip b{font-size:17px;font-weight:600;color:#fff}
.pulse-strip span:last-child{font-size:12px;color:#AFC3EE}
.dot{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 12px var(--c)}
.mods{width:100%;max-width:1320px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mod{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:24px 22px 20px;border-radius:24px;text-decoration:none;color:#fff;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border:1px solid rgba(156,192,255,.16);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.mod::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--c),transparent)}
.mod::after{content:"";position:absolute;width:220px;height:220px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 45%,transparent),transparent 70%);opacity:.55;transition:opacity .3s}
.mod:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 60%,transparent);box-shadow:0 18px 50px color-mix(in srgb,var(--c) 30%,transparent)}
.mod:hover::after{opacity:1}
.orb{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent),0 0 28px color-mix(in srgb,var(--c) 35%,transparent);margin-bottom:10px;position:relative}
.orb::after{content:"";position:absolute;inset:-7px;border-radius:22px;border:1px dashed color-mix(in srgb,var(--c) 55%,transparent);animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.orb svg{width:28px;height:28px}
.mod .idx{font-size:11px;font-weight:700;letter-spacing:.24em;color:var(--c)}
.mod h3{margin:0;font-family:var(--f-zh);font-size:22px;font-weight:900}
.mod p{margin:0;font-size:13px;line-height:1.65;color:#AFC3EE}
.mod .go{margin-top:auto;padding-top:14px;font-size:13px;font-weight:700;color:var(--c)}
.stage .cta{align-self:center;height:56px;padding:0 34px;border-radius:16px;background:linear-gradient(100deg,var(--blue),#3375FF 50%,var(--ai-violet));box-shadow:0 12px 40px rgba(0,82,254,.45);letter-spacing:.32em;font-size:16px}
.stage .cta .arrow{transition:transform .25s}
.stage .cta:hover .arrow{transform:translateX(5px)}
.stage-foot{font-size:11px;letter-spacing:.24em;color:#6F86B8;margin-top:auto}
@media (max-width:1100px){html:not(.led) .mods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){html:not(.led) .mods{grid-template-columns:minmax(0,1fr)}
html:not(.led) .ident p{letter-spacing:.06em}
html:not(.led) .pulse-strip div{flex:1 1 100%;justify-content:center}}
/* module accents across the system */
.tabs a::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--c,#9CC0FF);margin-right:8px;vertical-align:middle;box-shadow:0 0 8px var(--c,#9CC0FF)}
.tabs a[href="#map"]{--c:var(--ai-cyan)}.tabs a[href="#revenue"]{--c:var(--ai-violet)}.tabs a[href="#models"]{--c:var(--ai-mint)}.tabs a[href="#summary"]{--c:var(--ai-amber)}
#v-map{--acc:var(--ai-cyan)}#v-revenue{--acc:var(--ai-violet)}#v-models{--acc:var(--ai-mint)}#v-summary{--acc:var(--ai-amber)}
.hico{color:var(--acc,var(--blue));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc,var(--blue)) 40%,transparent)}
.panel h2 em{color:var(--acc,var(--blue))}
.eyebrow{color:var(--head)}
.eyebrow svg{color:var(--acc,var(--blue))}
.head h1{background:linear-gradient(90deg,var(--navy),var(--blue) 60%,var(--acc,var(--blue)));-webkit-background-clip:text;background-clip:text;color:transparent}
.view:not(#v-home) .panel>header::after{content:"";position:absolute;left:18px;right:18px;top:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--acc,var(--blue)),transparent 40%);opacity:.7}

.sweep{position:absolute;left:0;right:0;height:120px;top:-120px;background:linear-gradient(180deg,transparent,rgba(25,195,255,.10) 70%,rgba(139,108,255,.35) 98%,transparent);z-index:0;animation:sweep 9s linear infinite;pointer-events:none}
@keyframes sweep{to{top:100%}}
.motes{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.motes i{position:absolute;left:var(--x);bottom:-10px;width:var(--s);height:var(--s);border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c),0 0 22px var(--c);opacity:.8;animation:mote var(--d) linear infinite;animation-delay:var(--dl)}
@keyframes mote{0%{transform:translate(0,0);opacity:0}10%{opacity:.9}90%{opacity:.6}100%{transform:translate(30px,-105vh);opacity:0}}
.eco{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:1080px}
.eco-l{font-size:11px;font-weight:700;letter-spacing:.2em;color:#6F86B8;margin:0 4px 0 10px}
.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:9px;font-size:12px;font-weight:600;color:#E6EEFF;background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 45%,transparent)}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.mod .orb{background:conic-gradient(from 210deg,color-mix(in srgb,var(--c) 22%,transparent),transparent 60%,color-mix(in srgb,var(--c) 22%,transparent))}

/* ═════ DARK UI ═════ deep navy ground, same four pools re-tuned for night */
html[data-ui="dark"]{
  color-scheme:dark;
  --ground:#040B1F; --head:#EAF1FF; --ink:#DCE6FF; --sub:#8EA2CC; --faint:#5E719B; --rule:#1B2C57;
  --ice:#123A8F; --ice-in:#1A49AB; --lab1:#B9D0FF;
  --navy:#0A1A45; --navy-in:#1C3170;
  --mist:#0A1636; --mist-in:#0E1E47;
  --h200:#9CC0FF; --chipbg:#0E1E47; --s4bg:#3A2A0A; --tag-h100:#2A2160; --tag-p800:#3A2A0A;
}
html[data-ui="dark"] body{background:radial-gradient(1200px 700px at 85% -10%,rgba(0,82,254,.18),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(139,108,255,.14),transparent 60%),var(--ground)}
html[data-ui="dark"] .bar{background:rgba(4,11,31,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
html[data-ui="dark"] body::before{background:#040B1F}
html[data-ui="dark"] .panel{background:var(--mist);box-shadow:inset 0 0 0 1px var(--rule)}
html[data-ui="dark"] .panel .in{background-color:var(--mist-in);background-image:radial-gradient(circle,rgba(120,160,255,.10) 1px,transparent 1.2px)}
html[data-ui="dark"] .p1{color:#fff} html[data-ui="dark"] .p4{color:var(--head)}
html[data-ui="dark"] .p3{background:#1C2D63} html[data-ui="dark"] .p3 .in{background:#2A3F80}
html[data-ui="dark"] .pool,html[data-ui="dark"] .prov{box-shadow:inset 0 0 0 1px rgba(120,160,255,.14)}
html[data-ui="dark"] .p4 .in::after,html[data-ui="dark"] .p1 .in::after,html[data-ui="dark"] .card .in::after{filter:brightness(1.6)}
html[data-ui="dark"] .hico,html[data-ui="dark"] .kv div,html[data-ui="dark"] .spectotal,html[data-ui="dark"] .search,html[data-ui="dark"] .prov .in{background:#0A1636}
html[data-ui="dark"] .eyebrow{background:#0E1E47}
html[data-ui="dark"] .head h1{background:linear-gradient(90deg,#FFFFFF,#9CC0FF 55%,var(--acc,#19C3FF));-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-ui="dark"] .rank{background:#14275A;color:var(--head)}
html[data-ui="dark"] .t-pro{background:#123A8F;color:#CFE0FF}
html[data-ui="dark"] .s1{background:#123A8F;color:#fff}
html[data-ui="dark"] .s3{background:#1C2D63}
html[data-ui="dark"] .mapwrap{background:#071334}
html[data-ui="dark"] .panel::after{opacity:.8}
/* theme switch */
.uiswitch{height:34px;padding:0 4px;border-radius:10px;border:1px solid var(--navy-in);background:transparent;display:inline-flex;align-items:center;gap:2px}
.uiswitch button{height:26px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:var(--onnavy-sub);font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:5px}
.uiswitch button svg{width:14px;height:14px}
.uiswitch button[aria-pressed="true"]{background:#FFFFFF;color:#011F65}
.stage .uiswitch{border-color:rgba(156,192,255,.3)}
.stage-top{gap:10px}

/* ═════════ INTERNATIONAL SKIN · fintech clarity + AI accents ═════════ */
:root{--surface:#FFFFFF;--surface2:#F5F6F8;--line:#E6E8EC;--up:#05A660;--down:#E5484D;--upbg:rgba(5,166,96,.10);--downbg:rgba(229,72,77,.10);--navbg:#FFFFFF;--navtxt:#5B6475;--navact:#0052FE;--navactbg:#EAF1FF;--shadow:0 1px 2px rgba(10,27,61,.04),0 4px 16px rgba(10,27,61,.05)}
html[data-ui="dark"]{--ground:#0A0E17;--surface:#111723;--surface2:#161D2C;--line:#222B3D;--rule:#222B3D;--mist:#111723;--mist-in:#161D2C;--up:#2EBD85;--down:#F6465D;--upbg:rgba(46,189,133,.12);--downbg:rgba(246,70,93,.12);--navbg:#0A0E17;--navtxt:#8B95A8;--navact:#FFFFFF;--navactbg:#1C2436;--shadow:none;--head:#F2F5FA;--ink:#DDE3EE;--sub:#8B95A8;--faint:#5F6A80}
body{letter-spacing:-.005em}
html[data-ui="dark"] body{background:radial-gradient(1000px 520px at 88% -8%,rgba(0,82,254,.16),transparent 60%),radial-gradient(800px 500px at -8% 108%,rgba(139,108,255,.10),transparent 60%),var(--ground)}
/* nav */
.bar,html[data-ui="dark"] .bar{background:var(--navbg);color:var(--head);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(10px)}
html[data-ui="light"] .bar,html:not([data-ui]) .bar{background:rgba(255,255,255,.92)}
body::before,html[data-ui="dark"] body::before{background:var(--navbg)}
.bar::after{opacity:.9}
.brand b{color:var(--head)} .brand small{color:var(--sub)}
.tabs{gap:2px}
.tabs a{color:var(--navtxt);border-radius:999px;padding:8px 16px;font-weight:600}
.tabs a:hover{color:var(--head);background:var(--surface2)}
.tabs a[aria-current="page"]{background:var(--navactbg);color:var(--navact)}
.clock{color:var(--head)} .date{color:var(--sub)}
.live{color:var(--sub)}
.pill,.lang,.uiswitch{border-color:var(--line);color:var(--head)}
.pill:hover{background:var(--surface2)}
.lang button,.uiswitch button{color:var(--sub)}
.lang button[aria-pressed="true"],.uiswitch button[aria-pressed="true"]{background:var(--head);color:var(--ground)}
.lang,.uiswitch{border-radius:999px;padding:2px}
.lang button,.uiswitch button{border-radius:999px}
/* ticker */
.ticker{border-bottom:1px solid var(--line);background:var(--surface);overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.track{display:inline-flex;gap:34px;padding-block:9px;animation:marquee 60s linear infinite}
.ticker:hover .track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tk{display:inline-flex;align-items:center;gap:8px;font-size:12.5px}
.tk i{width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.tk b{color:var(--head);font-weight:700} .tk span{color:var(--sub)}
.tk .num{color:var(--head);font-weight:600}
body.is-home .ticker{display:none}
/* change pills */
.chg{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
.chg.up{color:var(--up);background:var(--upbg)} .chg.down{color:var(--down);background:var(--downbg)}
.p2 .chg.up,.p3 .chg.up{color:#7CF0B9;background:rgba(124,240,185,.14)}
/* headings */
.head h1{font-family:var(--f-ui);font-weight:800;font-size:28px;letter-spacing:-.02em}
.eyebrow{border-radius:999px;background:var(--surface2)}
/* panels: single clean surface, hairline border */
.panel,html[data-ui="dark"] .panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:0;box-shadow:var(--shadow)}
.panel>header{padding:16px 18px 6px}
.panel h2{font-size:15px;font-weight:700;color:var(--head);letter-spacing:-.01em}
.panel .in,html[data-ui="dark"] .panel .in{background:transparent;background-image:none;border-radius:0;padding:10px 18px 18px}
.panel .in::before,.panel .in::after{display:none}
.panel::after{opacity:.28;top:0;right:0}
.view:not(#v-home) .panel>header::after{left:18px;right:auto;width:44px;top:0;height:2px}
.panel:hover,html[data-ui="dark"] .panel:hover{box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--acc,var(--blue)) 30%,transparent)}
.hico,html[data-ui="dark"] .hico{background:color-mix(in srgb,var(--acc,var(--blue)) 12%,transparent);box-shadow:none;border-radius:9px}
/* KPI pools keep the four brand pools, slightly flatter */
.pool{border-radius:20px;padding:5px}
.pool .in{border-radius:15px}
.pool .val{font-family:var(--f-ui);font-weight:700;letter-spacing:-.03em;font-size:32px}
.pool .lab{font-weight:600}
/* tables: exchange-style */
th{font-weight:600;color:var(--sub);border-bottom:1px solid var(--line);background:var(--surface)}
td{border-bottom:1px solid var(--line)}
tbody tr{transition:background .15s}
tbody tr:hover{background:var(--surface2)}
.row{border-bottom-color:var(--line)}
.kv div,html[data-ui="dark"] .kv div,.spectotal,html[data-ui="dark"] .spectotal{background:var(--surface2)}
.search,html[data-ui="dark"] .search{background:var(--surface2);border-color:var(--line);border-radius:999px}
.prov,html[data-ui="dark"] .prov{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.prov .in,html[data-ui="dark"] .prov .in{background:transparent}
.prov .v{font-family:var(--f-ui);font-weight:700;letter-spacing:-.02em;color:var(--head)}
.prov .nm{color:var(--head)}
.rank,html[data-ui="dark"] .rank{background:var(--surface2);color:var(--head)}
.rank.top{background:var(--blue);color:#fff}
.mapwrap,html[data-ui="dark"] .mapwrap{background:transparent}
footer{color:var(--faint)}
/* entry stage: light & dark */
.grad{font-family:var(--f-ui);font-weight:800;letter-spacing:-.03em}
.mod h3{font-family:var(--f-ui);font-weight:800;letter-spacing:-.01em}
html[data-ui="light"] .stage{background:radial-gradient(1100px 600px at 50% -15%,#DCE8FF 0%,transparent 60%),radial-gradient(700px 460px at 92% 105%,rgba(139,108,255,.16),transparent 60%),radial-gradient(700px 420px at 0% 100%,rgba(25,195,255,.14),transparent 60%),#FFFFFF;color:var(--head)}
html[data-ui="light"] body.is-home::before{background:#FFFFFF}
html[data-ui="light"] .stage::after{background-image:linear-gradient(rgba(0,82,254,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,82,254,.06) 1px,transparent 1px)}
html[data-ui="light"] .grad{background-image:linear-gradient(100deg,#011F65 0%,#0052FE 35%,var(--ai-cyan) 60%,var(--ai-violet) 85%,#011F65 100%)}
html[data-ui="light"] .ident .latin{color:#3375FF}
html[data-ui="light"] .ident p{color:#56657F}
html[data-ui="light"] .pulse-strip div{background:rgba(255,255,255,.8);border-color:#E1E6F0;box-shadow:0 4px 16px rgba(10,27,61,.06)}
html[data-ui="light"] .pulse-strip b{color:var(--head)} html[data-ui="light"] .pulse-strip span:last-child{color:#56657F}
html[data-ui="light"] .mod{background:#FFFFFF;color:var(--head);border-color:#E6E8EC;box-shadow:0 4px 20px rgba(10,27,61,.06)}
html[data-ui="light"] .mod p{color:#56657F}
html[data-ui="light"] .chip{color:var(--head);background:color-mix(in srgb,var(--c) 10%,#FFFFFF)}
html[data-ui="light"] .eco-l,html[data-ui="light"] .stage-foot{color:#8A95A8}
html[data-ui="light"] .stage .lang,html[data-ui="light"] .stage .uiswitch{border-color:#E1E6F0}
html[data-ui="light"] .sweep{background:linear-gradient(180deg,transparent,rgba(0,82,254,.05) 70%,rgba(139,108,255,.18) 98%,transparent)}
html[data-ui="dark"] .stage{background:radial-gradient(1100px 600px at 50% -15%,#0F2A6B 0%,transparent 60%),radial-gradient(800px 500px at 92% 110%,rgba(139,108,255,.22),transparent 60%),radial-gradient(700px 420px at 0% 100%,rgba(25,195,255,.14),transparent 60%),#0A0E17}
html[data-ui="dark"] body.is-home::before{background:#0A0E17}
html[data-ui="dark"] .stage .lang button[aria-pressed="true"],html[data-ui="dark"] .stage .uiswitch button[aria-pressed="true"]{background:#fff;color:#0A0E17}
.stage .cta{border-radius:999px}
.cta{border-radius:999px}

/* live flashes */
.fl-up{animation:flUp 1.2s ease-out} .fl-dn{animation:flDn 1.2s ease-out}
@keyframes flUp{0%{color:var(--up);background:var(--upbg)}100%{background:transparent}}
@keyframes flDn{0%{color:var(--down);background:var(--downbg)}100%{background:transparent}}
td.fl-up,td.fl-dn{border-radius:0}
.util{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;font-size:12px;margin-top:2px}
.util span{opacity:.75} .util b{font-weight:700}
.util i{grid-column:1/-1;height:6px;border-radius:3px;background:rgba(127,166,255,.22);overflow:hidden}
.util em{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#19C3FF,#8B6CFF);transition:width 1.2s ease}
.s4 .util em{background:linear-gradient(90deg,#FFB547,#FF7A59)}
.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--up);margin-right:6px;animation:pulse 1.6s infinite}

/* ═════ DARK: brighter, higher-contrast night palette ═════ */
html[data-ui="dark"]{--ground:#0B1220;--surface:#131C2E;--surface2:#1B263B;--line:#2C3954;--rule:#2C3954;--mist:#1A2540;--mist-in:#22304F;--head:#FFFFFF;--ink:#E9EEF7;--sub:#AEB9CD;--faint:#8592AB;--navtxt:#AEB9CD;--navbg:#0E1626;--navactbg:#24314C;--ice:#1D4FC2;--ice-in:#2A63DE;--lab1:#DCE8FF;--h200:#B8D2FF}
html[data-ui="dark"] body{background:radial-gradient(1000px 520px at 88% -8%,rgba(0,82,254,.22),transparent 60%),radial-gradient(800px 500px at -8% 108%,rgba(139,108,255,.14),transparent 60%),var(--ground)}
html[data-ui="dark"] .panel{box-shadow:0 0 0 1px rgba(120,160,255,.06),0 10px 30px rgba(0,0,0,.25)}
html[data-ui="dark"] .p3{background:#22377A} html[data-ui="dark"] .p3 .in{background:#30489A}
html[data-ui="dark"] .p4{background:var(--mist)} html[data-ui="dark"] .p4 .in{background:var(--mist-in)}
html[data-ui="dark"] .p4 .lab,html[data-ui="dark"] .p4 .delta{color:var(--sub)}
html[data-ui="dark"] th{color:#C3CDE0}
html[data-ui="dark"] .tk span{color:#AEB9CD}
html[data-ui="dark"] .panel::after{opacity:.5}
html[data-ui="dark"] .panel .meta{color:var(--sub)}
html[data-ui="dark"] .spec.s3{background:#22377A}
html[data-ui="dark"] .t-h200{background:#30489A}

/* K-line in KPI tiles (replaces the network pattern) */
.kpis .pool .in::after{display:none!important}
.kpis .pool .in{min-height:92px}
.kline{position:absolute;right:14px;top:10px;bottom:10px;width:46%;max-width:300px;pointer-events:none}
@media (max-width:600px){html:not(.led) .kline{width:40%}}

.flowwrap{position:relative}
.flowfx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.srcnote{margin:-6px 0 0;font-size:12px;color:var(--sub);display:flex;align-items:center;gap:8px}
.srcnote::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 8px var(--up)}

.mapwrap{background:radial-gradient(circle at 50% 50%,rgba(51,117,255,.22),transparent 62%)!important}
html[data-ui="dark"] .mapwrap{background:radial-gradient(circle at 50% 50%,rgba(51,117,255,.28),rgba(139,108,255,.08) 45%,transparent 66%)!important}
.globe-hint{position:absolute;left:12px;bottom:10px;font-size:11.5px;color:var(--sub);pointer-events:none}

.seg{display:inline-flex;padding:2px;border-radius:999px;background:var(--surface2);border:1px solid var(--line)}
.seg button{height:28px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--sub);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--blue);color:#fff}

/* ═════════ LED WALL MODE · fixed 16:9 canvas (1920×1080 logical, scales to any wall / 8K) ═════════ */
.ledtrack{display:contents}
.ledpager{display:none}
.led-btn[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
html.led,html.led body{overflow:hidden;height:auto}
html.led{background:var(--ground)}
html.led body{display:flex;flex-direction:column;width:1920px;height:1080px;transform-origin:0 0;transform:translate(var(--ledX,0px),var(--ledY,0px)) scale(var(--ledS,1));position:absolute;left:0;top:0;margin:0}
html.led body::before{display:none}
html.led .bar{position:relative;top:0}
html.led .bar-in{max-width:none;flex-wrap:nowrap;padding:12px 28px}
html.led .tabs{flex-wrap:nowrap;flex:1}
html.led .tabs a{font-size:15px;padding:9px 18px}
html.led footer{display:none}
html.led main{max-width:none;padding:0;width:1920px;flex:1;min-height:0;height:auto;overflow:hidden;position:relative}
html.led .bar,html.led .ticker{flex:0 0 auto}
html.led .ledtrack{display:flex;width:7680px;height:100%;transition:transform 1.1s cubic-bezier(.65,0,.25,1);will-change:transform}
html.led .ledtrack>.view,html.led .ledtrack>.view[hidden]{display:grid!important;flex:0 0 1920px;width:1920px;height:100%;box-sizing:border-box;padding:14px 26px 20px;gap:14px;overflow:hidden;animation:none}
html.led .ledtrack>.view>*{animation:none}
html.led .view .grid{display:contents}
html.led .panel{min-height:0;min-width:0;display:flex;flex-direction:column}
html.led .panel .in{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
html.led .panel .chart,html.led .panel .mapwrap,html.led .panel .flowwrap{flex:1;min-height:0;height:auto!important}
html.led .mapwrap .chart,html.led .flowwrap .chart{height:100%!important}
html.led .tbl-wrap{flex:1;min-height:0;overflow:hidden}
html.led .head{align-items:center}
html.led .head h1{font-size:26px}
html.led .head p{display:none}
html.led .eyebrow{flex-basis:auto}
html.led .pool .in{min-height:0}
html.led .kpis,html.led .provs{min-height:0}
html.led .kpis .pool,html.led .provs .prov{min-height:0;height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}
html.led .kpis .pool .in,html.led .provs .prov .in{flex:1;min-height:0}
html.led .panel{overflow:hidden}
html.led .head{display:flex;justify-content:flex-start;gap:18px;flex-wrap:nowrap}
html.led .head>div{min-width:0}
html.led .head .legend{margin-left:auto}
html.led #v-models .srcnote{top:22px}
html.led .bar-cell{white-space:nowrap}
html.led .kpis .pool .lab{padding:8px 12px 6px}
html.led .kpis .pool .in{padding:10px 14px}
html.led .pool .val,html.led .pool .delta,html.led .pool .status,html.led .prov .v,html.led .prov small{flex-shrink:0}
html.led .ledpager{display:flex;position:absolute;left:50%;bottom:6px;transform:translateX(-50%);gap:8px;z-index:30}
html.led .ledpager i{width:26px;height:4px;border-radius:2px;background:var(--line);transition:all .4s}
html.led .ledpager i.on{width:56px;background:linear-gradient(90deg,#19C3FF,#8B6CFF)}
/* page 1 · map */
html.led #v-map{grid-template-columns:400px minmax(0,1fr) 430px;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head head" "kpi globe rank" "kpi globe feed"}
html.led #v-map .head{grid-area:head} html.led #v-map .kpis{grid-area:kpi;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr))}
html.led #v-map .panel:has(#c-map){grid-area:globe} html.led #v-map .panel:has(#m-rank){grid-area:rank} html.led #v-map .panel:has(#m-feed){grid-area:feed}
html.led #v-map .pool .val{font-size:30px}
/* page 2 · revenue */
html.led #v-revenue{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 168px minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"head head head" "kpi kpi kpi" "trend trend sankey" "spec spec table"}
html.led #v-revenue .head{grid-area:head} html.led #v-revenue .kpis{grid-area:kpi}
html.led #v-revenue .panel:has(#c-trend){grid-area:trend} html.led #v-revenue .panel:has(#c-sankey){grid-area:sankey}
html.led #v-revenue .panel:has(#specs){grid-area:spec} html.led #v-revenue .panel:has(#r-table){grid-area:table}
html.led #v-revenue .spec{padding:12px;gap:6px} html.led #v-revenue .spec dl{gap:2px 8px;font-size:12px} html.led #v-revenue .spec h3{font-size:16px}
/* page 3 · models */
html.led #v-models{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1.3fr);grid-template-rows:auto 132px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head head" "provs provs provs" "calls calls pie" "prov rank rank"}
html.led #v-models .head{grid-area:head} html.led #v-models .provs{grid-area:provs}
html.led #v-models .srcnote{position:absolute;right:26px;top:24px;margin:0}
html.led #v-models{position:relative}
html.led #v-models .panel:has(#c-calls){grid-area:calls} html.led #v-models .panel:has(#c-tokpie){grid-area:pie}
html.led #v-models .panel:has(#c-prov){grid-area:prov} html.led #v-models .panel:has(#q-table){grid-area:rank}
html.led #v-models .search{display:none}
/* page 4 · summary */
html.led #v-summary{grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr) minmax(0,.8fr);grid-template-rows:auto 168px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head head" "kpi kpi kpi" "d7 share kv" "combo table table"}
html.led #v-summary .head{grid-area:head} html.led #v-summary .kpis{grid-area:kpi}
html.led #v-summary .panel:has(#c-7d){grid-area:d7} html.led #v-summary .panel:has(#c-share){grid-area:share}
html.led #v-summary .panel:has(#c-combo){grid-area:combo;grid-column:auto!important} html.led #v-summary .panel:has(#s-table){grid-area:table} html.led #v-summary .panel:has(#s-kv){grid-area:kv}
html.led #v-summary .kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} html.led #v-summary .kv div{padding:8px 10px}
html.led .globe-hint{display:none}
html.led #v-summary .kv div:nth-child(n+9){display:none}
/* ═════════ AIC KEY VISUAL · Spatial Computing — cold blue, 16:9, 1920×1080 logical ═════════ */
.kv-host{position:relative;width:100%;height:100%;overflow:hidden;background:#01050F}
.kv-stage{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;overflow:hidden;
  font-family:"DM Sans","Noto Sans TC","Noto Sans CJK TC","Microsoft JhengHei",system-ui,sans-serif;color:#EAF2FF;
  background:radial-gradient(1200px 520px at 62% 30%,rgba(0,82,254,.30),transparent 70%),radial-gradient(900px 500px at 20% 110%,rgba(25,195,255,.12),transparent 70%),linear-gradient(180deg,#010613 0%,#031034 46%,#05173F 64%,#020817 100%)}
.kv-gl{position:absolute;inset:0;width:1920px;height:1080px;display:block}
.kv-shade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(1,6,19,.88) 0%,rgba(1,6,19,.55) 30%,rgba(1,6,19,0) 52%),
  linear-gradient(0deg,rgba(1,6,19,.92) 0%,rgba(1,6,19,.55) 20%,rgba(1,6,19,0) 38%),
  linear-gradient(180deg,rgba(1,6,19,.55) 0%,rgba(1,6,19,0) 16%)}
.kv-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 260px rgba(0,0,0,.65)}
/* brand */
.kv-brand{position:absolute;right:96px;top:72px;display:flex;align-items:center;gap:16px}
.kv-brand svg{width:64px;height:64px;border-radius:16px;box-shadow:0 0 0 1px rgba(156,192,255,.25),0 0 40px rgba(51,117,255,.45)}
.kv-brand b{display:block;font-size:34px;font-weight:800;letter-spacing:.02em;line-height:1}
.kv-brand small{display:block;margin-top:6px;font-size:12.5px;letter-spacing:.34em;color:#8FB3F5;font-weight:600}
/* titles */
.kv-copy{position:absolute;left:104px;top:150px;width:900px}
.kv-eyebrow{display:flex;align-items:center;gap:14px;font-size:15px;font-weight:700;letter-spacing:.32em;color:#7FB0FF}
.kv-eyebrow i{width:56px;height:2px;background:linear-gradient(90deg,#19C3FF,#3375FF)}
.kv-h1{margin:26px 0 0;font-size:88px;line-height:1.08;font-weight:900;letter-spacing:-.01em;
  background:linear-gradient(100deg,#FFFFFF 0%,#FFFFFF 38%,#9CC8FF 50%,#FFFFFF 62%,#FFFFFF 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.kv-en{margin-top:18px;font-size:32px;font-weight:600;letter-spacing:-.01em;color:#A9C6F5}
.kv-sub{margin-top:44px;display:flex;align-items:center;gap:26px}
.kv-sub-txt b{display:block;font-size:30px;font-weight:700;color:#EAF2FF}
.kv-sub-txt span{display:block;margin-top:8px;font-size:18px;color:#86A3D4;letter-spacing:.01em}
.kv-curve{width:150px;height:84px;flex-shrink:0}
/* flow */
.kv-flow{position:absolute;left:200px;right:200px;bottom:96px;height:220px}
.kv-flow svg.kv-line{position:absolute;left:0;top:0;width:1520px;height:220px;overflow:visible}
.kv-node{position:absolute;top:0;width:220px;margin-left:-110px;display:flex;flex-direction:column;align-items:center;text-align:center}
.kv-orb{width:112px;height:112px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;
  background:radial-gradient(circle at 50% 40%,rgba(51,117,255,.35),rgba(3,16,52,.9) 70%);border:1.5px solid rgba(127,176,255,.35)}
.kv-orb::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(127,176,255,.18)}
.kv-orb svg{width:52px;height:52px}
.kv-node b{margin-top:20px;font-size:26px;font-weight:800;color:#EAF2FF}
.kv-node span{margin-top:6px;font-size:14.5px;font-weight:600;letter-spacing:.14em;color:#7E9ACB;text-transform:uppercase}
.kv-step{position:absolute;top:-30px;font-size:13px;font-weight:800;letter-spacing:.2em;color:#5C7FC0}
/* footer */
.kv-foot{position:absolute;left:104px;right:96px;bottom:34px;display:flex;justify-content:space-between;font-size:13px;letter-spacing:.3em;color:#4E6A9E;font-weight:600}

/* KV inside the dashboard */
#v-kv{padding:0;display:block}
#v-kv .kv-host{width:100%;aspect-ratio:16/9;max-height:calc(100vh - 140px);border-radius:22px;overflow:hidden}
html.led #v-kv,html.led .ledtrack>#v-kv[hidden]{display:block!important;padding:0}
html.led #v-kv .kv-host{width:1920px;height:100%;aspect-ratio:auto;max-height:none;border-radius:0}
html.led body.kv-on .bar,html.led body.kv-on .ticker{display:none}
html.led .ledtrack{width:19200px}
.tabs a[href="#kv"]{--c:#3375FF}
/* brand: AIC mark badges, KPI watermark, signature, slide sweep */
.hico svg{width:15px;height:15px}
.eyebrow svg{width:13px;height:13px}
.pool .in::before{content:"";position:absolute;right:10px;top:8px;width:34px;height:34px;opacity:.10;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M16.7 45.6 L25 22 C26.6 18.4 29.3 17.2 32 17.2 C34.7 17.2 37.4 18.4 39 22 L47.3 45.6 H39.2 L32.7 23.8 C32.4 22.9 31.6 22.9 31.3 23.8 L24.7 45.6 Z' fill='%23FFFFFF'/%3E%3C/svg%3E") no-repeat center/contain}
.p1 .pool .in::before,.p1 .in::before,.p4 .in::before{filter:invert(.85) sepia(1) hue-rotate(185deg) saturate(4)}
.ledsig{display:none}
html.led .ledsig{display:flex;align-items:center;gap:8px;position:absolute;left:26px;bottom:4px;font-size:11px;font-weight:700;letter-spacing:.28em;color:var(--faint);z-index:30}
html.led .ledsig svg{width:14px;height:14px;color:var(--blue)}
html.led body.kv-on .ledsig{display:none}
.ledsweep{display:none}
html.led .ledsweep{display:flex;position:absolute;inset:0;z-index:40;align-items:center;justify-content:center;pointer-events:none;opacity:0;
  background:radial-gradient(circle at 50% 50%,rgba(0,82,254,.20),transparent 55%)}
html.led .ledsweep svg{width:120px;height:120px;border-radius:28px;box-shadow:0 0 0 10px rgba(51,117,255,.18),0 0 90px rgba(25,195,255,.6)}
html.led .ledsweep.go{animation:ledSweep 1.15s cubic-bezier(.4,0,.2,1)}
@keyframes ledSweep{0%{opacity:0;transform:scale(.92)}35%{opacity:1;transform:scale(1)}70%{opacity:1}100%{opacity:0;transform:scale(1.04)}}
/* Coinbase-grade restraint: drop decorative circuitry, keep crisp surfaces */
.panel::after,html[data-ui="dark"] .panel::after{display:none!important}
.view:not(#v-home) .panel>header::after{display:none}
.panel:hover,html[data-ui="dark"] .panel:hover{box-shadow:var(--shadow)}
.pool .in::after{opacity:0!important}

/* ═════ PAGE 05 · compute service — Coinbase-grade calm ═════ */
#v-compute{--acc:#0052FE}
.tabs a[href="#compute"]{--c:#38BDF8}
.cs-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"hero hero hero kpis" "heat heat dc dc" "market market market orders"}
.cs-hero{grid-area:hero}.cs-heat{grid-area:heat}.cs-kpis{grid-area:kpis}.cs-market{grid-area:market}.cs-dc{grid-area:dc}.cs-orders{grid-area:orders}
.cs-hero .in{padding:22px 24px 14px}
.cs-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.cs-lab{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--sub)}
.cs-lab svg{width:18px;height:18px;color:var(--blue)}
.cs-big{display:flex;align-items:baseline;gap:10px;margin-top:6px}
.cs-big .num{font-size:52px;font-weight:700;letter-spacing:-.035em;color:var(--head);line-height:1.05}
.cs-big em{font-style:normal;font-size:16px;font-weight:700;color:var(--sub)}
.cs-chg{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:13px;color:var(--sub)}
.cs-range{display:flex;gap:4px;padding:3px;border-radius:999px;background:var(--surface2);border:1px solid var(--line)}
.cs-range button{height:30px;min-width:44px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--sub);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.cs-range button[aria-pressed="true"]{background:var(--surface);color:var(--head);box-shadow:0 1px 3px rgba(10,27,61,.12)}
html[data-ui="dark"] .cs-range button[aria-pressed="true"]{background:#24314C}
#c-supply{height:300px;margin-top:6px}
.cs-kpis{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:12px}
.cs-kpi{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 18px;display:flex;flex-direction:column;justify-content:center;gap:4px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.cs-kpi span{font-size:12.5px;font-weight:600;color:var(--sub)}
.cs-kpi b{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--head)}
.cs-kpi small{font-size:12px;color:var(--sub)}
.cs-kpi .bar{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#0052FE,#38BDF8);transition:width 1s}
/* heat map */
.heat{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px}
.heat i{aspect-ratio:1/1.35;border-radius:4px;background:var(--surface2);transition:background-color 1s}
.heat-leg{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:11.5px;color:var(--sub)}
.heat-leg i{flex:1;height:6px;border-radius:3px;background:linear-gradient(90deg,#DCE8FF,#7FA6FF,#0052FE,#011F65)}
html[data-ui="dark"] .heat-leg i{background:linear-gradient(90deg,#16233D,#1D4FC2,#3375FF,#9CC8FF)}
/* market table */
.cs-asset{display:flex;align-items:center;gap:12px}
.cs-ico{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:11px;font-weight:800;letter-spacing:-.02em}
.cs-asset b{display:block;font-size:14px;font-weight:700;color:var(--head)} .cs-asset small{display:block;font-size:12px;color:var(--sub)}
.cs-util{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.cs-util i{width:72px;height:6px;border-radius:3px;background:var(--surface2);overflow:hidden;display:block}
.cs-util i em{display:block;height:100%;background:var(--blue);border-radius:3px;transition:width 1s}
.cs-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}
.cs-pill.ok{background:var(--upbg);color:var(--up)} .cs-pill.hot{background:rgba(255,181,71,.16);color:#D98B00}
.cs-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
#cs-table td{padding:12px 10px}
/* data centres */
.dclist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dc{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--surface2)}
.dc svg{width:46px;height:46px;flex-shrink:0}
.dc b{display:block;font-size:14px;font-weight:700;color:var(--head)} .dc small{display:block;font-size:11.5px;color:var(--sub);margin-top:2px}
.dc .meta2{margin-left:auto;text-align:right;font-size:11.5px;color:var(--sub);white-space:nowrap}
.dc .meta2 b{font-size:13px}
/* ── v20 fit-safety: never cut glyphs in half ── */
.pool .val{line-height:1.3;overflow:visible;text-overflow:clip;padding-block:1px}
.prov .v{line-height:1.3}
.prov small{overflow:visible;text-overflow:clip}
.num,.val,.prov .v,.cs-kpi .num{min-height:1.25em}
.fitx{white-space:nowrap}
html.led .clipfix{visibility:hidden}
html.led .kpis .pool .in{display:flex;flex-direction:column}
html.led .kpis .pool .in>.kline{position:relative;top:auto;bottom:auto;right:auto;width:100%;max-width:none;height:auto;flex:1 1 0;min-height:0;margin-top:4px}

/* ═════ PAGE 06/07 · green power + agents ═════ */
.tabs a[href="#green"]{--c:#22D3A6} .tabs a[href="#agent"]{--c:#8B6CFF}
.src-head{margin-left:auto;max-width:640px;font-size:11.5px;line-height:1.45;color:var(--faint);text-align:right}
.gr-grid,.ag-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
.gr-grid{grid-template-areas:"k k k k" "mix mix price adv" "add pue live adv"}
.ag-grid{grid-template-areas:"k k k k" "dev dev dev radar" "stars tok why live"}
.xk-row{grid-area:k;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gr-mix{grid-area:mix}.gr-price{grid-area:price}.gr-adv{grid-area:adv}.gr-add{grid-area:add}.gr-pue{grid-area:pue}.gr-live{grid-area:live}
.ag-dev{grid-area:dev}.ag-radar{grid-area:radar}.ag-stars{grid-area:stars}.ag-tok{grid-area:tok}.ag-why{grid-area:why}.ag-live{grid-area:live}
.xk{position:relative;overflow:hidden;border-radius:18px;padding:16px 18px 14px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;min-width:0}
.xk::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--xc,#0052FE)}
.xk>span{font-size:12.5px;font-weight:600;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xk b{display:block;font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--head);line-height:1.3;white-space:nowrap}
.xk b em{font-style:normal;font-size:15px;font-weight:700;color:var(--sub);margin-left:4px;letter-spacing:0}
.xk small{font-size:12px;color:var(--sub);line-height:1.4}
.xk.hl{background:linear-gradient(135deg,#0052FE,#3375FF);border-color:transparent}
.xk.hl>span,.xk.hl small,.xk.hl b em{color:rgba(255,255,255,.82)} .xk.hl b{color:#fff} .xk.hl::before{background:#7CF0B9}
.xk .tagc{position:absolute;right:14px;top:14px;font-size:10.5px;font-weight:800;letter-spacing:.12em;padding:3px 8px;border-radius:999px;background:var(--surface2);color:var(--sub)}
.xk.hl .tagc{background:rgba(255,255,255,.18);color:#fff}
#c-grmix{height:300px} #c-grprice{height:220px} #c-gradd{height:170px} #c-agradar{height:330px} #c-agstars,#c-agtok{height:300px}
.gr-note{font-size:12px;color:var(--sub);line-height:1.5;padding:4px 4px 0}
.gr-note b{color:var(--head)}
.advlist{display:flex;flex-direction:column;gap:8px}
.adv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding:11px 14px;border-radius:14px;background:var(--surface2)}
.adv b{grid-row:span 2;font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--head);min-width:96px;white-space:nowrap;line-height:1.25}
.adv b em{font-style:normal;font-size:13px;color:var(--sub);margin-left:2px}
.adv strong{font-size:13.5px;font-weight:700;color:var(--head)}
.adv small{font-size:11.5px;color:var(--sub);line-height:1.4}
.adv.g b{color:#16A673} html[data-ui="dark"] .adv.g b{color:#5BE3A8}
.adv.v b{color:#6B4CF0} html[data-ui="dark"] .adv.v b{color:#B3A1FF}
.gr-rings{display:flex;gap:12px}
.ring{flex:1;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--surface2);min-width:0}
.ring svg{width:58px;height:58px;flex-shrink:0}
.ring b{display:block;font-size:13px;font-weight:700;color:var(--head)} .ring small{display:block;font-size:11.5px;color:var(--sub);line-height:1.35}
.puelist{display:flex;flex-direction:column;gap:10px;padding:4px 2px}
.pue{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center}
.pue span{font-size:12.5px;font-weight:600;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pue b{font-size:14px;font-weight:700;color:var(--head)}
.pue i{grid-column:1/-1;height:8px;border-radius:4px;background:var(--surface2);overflow:hidden;display:block}
.pue i em{display:block;height:100%;border-radius:4px;background:var(--pc,#7FA6FF);transition:width 1s}
.pue.cn span{color:var(--head)}
.gl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gl .big{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:12px 14px;border-radius:14px;background:var(--surface2)}
.gl .big svg{width:92px;height:92px;flex-shrink:0}
.gl .big div{min-width:0}
.gl .big span{display:block;font-size:12.5px;font-weight:600;color:var(--sub)} .gl .big b{display:block;font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--head);line-height:1.25} .gl .big small{display:block;font-size:11.5px;color:var(--sub)}
.gl .c{padding:10px 12px;border-radius:14px;background:var(--surface2);min-width:0}
.gl .c span{display:block;font-size:11.5px;font-weight:600;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gl .c b{display:block;font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--head);line-height:1.3;white-space:nowrap}
#ag-table td,#ag-table th{padding:10px 10px;white-space:nowrap}
#ag-table tr.me td{background:rgba(0,82,254,.07)}
html[data-ui="dark"] #ag-table tr.me td{background:rgba(51,117,255,.13)}
#ag-table tr.me td:first-child{box-shadow:inset 3px 0 0 #0052FE}
.dv{display:flex;align-items:center;gap:10px}
.dv i{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-style:normal;font-size:10.5px;font-weight:800;color:#fff}
.dv b{display:block;font-size:13.5px;font-weight:700;color:var(--head)} .dv small{display:block;font-size:11.5px;color:var(--sub)}
.yes{color:var(--up);font-weight:700} .no{color:var(--faint)}
.mebadge{display:inline-block;margin-left:6px;font-size:10px;font-weight:800;letter-spacing:.08em;padding:2px 6px;border-radius:6px;background:#0052FE;color:#fff;vertical-align:2px}
/* ═════════ v22 · AIC BRAND SYSTEM — Coinbase neutrals × Bitget market board ═════════ */
html[data-ui="dark"]{--ground:#0A0B0D;--surface:#131417;--surface2:#1B1D21;--line:#25282E;--rule:#25282E;--mist:#131417;--mist-in:#17191C;--navbg:#0A0B0D;--navactbg:#1E2126;--head:#FFFFFF;--ink:#E7E9EC;--sub:#8A919E;--faint:#5B616E;--live:#00E5FF}
:root{--live:#0052FF;--cb:#0052FF}
html[data-ui="dark"] body{background:radial-gradient(1100px 560px at 86% -12%,rgba(0,82,255,.20),transparent 62%),radial-gradient(700px 420px at -6% 108%,rgba(0,229,255,.06),transparent 60%),var(--ground)}
html[data-ui="dark"] .panel .in{background-color:transparent;background-image:none}
html[data-ui="dark"] .eyebrow{background:#16181C;box-shadow:inset 0 0 0 1px #25282E}
html[data-ui="dark"] .rank{background:#1E2126}
html[data-ui="dark"] .xk:not(.hl),html[data-ui="dark"] .pool.p4,html[data-ui="dark"] .prov{background:#131417}
/* module badge = the AIC app tile */
.hico,html[data-ui="dark"] .hico{width:28px;height:28px;padding:0;background:none!important;box-shadow:none!important;border-radius:8px}
.hico svg{width:28px!important;height:28px!important;border-radius:8px;box-shadow:0 0 0 1px rgba(0,82,255,.18),0 2px 8px rgba(0,82,255,.18)}
html[data-ui="dark"] .hico svg{box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 14px rgba(0,82,255,.45)}
.panel>header h2{letter-spacing:-.01em}
/* watermark arch in every module */
.panel{position:relative;overflow:hidden}
.panel>.wm{position:absolute;right:-6px;bottom:-14px;width:118px;height:118px;color:var(--cb);opacity:.045;pointer-events:none;z-index:0}
html[data-ui="dark"] .panel>.wm{color:#FFFFFF;opacity:.035}
.panel>header,.panel>.in{position:relative;z-index:1}
/* top-bar brand lock-up */
.brand svg{width:38px!important;height:38px!important;border-radius:10px;box-shadow:0 0 0 1px rgba(0,82,255,.25),0 0 18px rgba(0,82,255,.35)}
.brand b{font-weight:800;letter-spacing:-.01em}
/* LIVE accents (Bitget cyan in dark) */
.panel header h2 em{color:var(--live)!important}
html[data-ui="dark"] .tk b,html[data-ui="dark"] .cv-live{color:var(--live)}
/* livelier numbers: text flash on every roll */
.rk-up{animation:rkUp .8s ease-out} .rk-dn{animation:rkDn .8s ease-out}
@keyframes rkUp{0%{color:var(--up);text-shadow:0 0 14px var(--upbg)}100%{}}
@keyframes rkDn{0%{color:var(--down);text-shadow:0 0 14px var(--downbg)}100%{}}
.track{animation-duration:42s}
/* LED signature */
html.led .ledsig{gap:10px;bottom:5px;font-size:11.5px;color:var(--sub)}
html.led .ledsig svg{width:20px;height:20px;border-radius:6px}
html.led .ledsig b{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--head)}
html.led .tabs a{padding:8px 9px}
/* home: brand card */
.mod-cv{background:linear-gradient(135deg,#0052FF,#0A2FB8)!important;border-color:transparent!important}
.mod-cv h3,.mod-cv p,.mod-cv .idx,.mod-cv .go{color:#fff!important}
.mod-cv p{opacity:.82}
.mod .orb svg{border-radius:10px}

/* ═════ COVER (1920×1080 stage) ═════ */
#v-cover{padding:0;display:block}
.cv-host{position:relative;width:100%;aspect-ratio:16/9;max-height:calc(100vh - 140px);border-radius:22px;overflow:hidden;background:#050608}
html.led #v-cover,html.led .ledtrack>#v-cover[hidden]{display:block!important;padding:0}
html.led .cv-host{width:1920px;height:100%;aspect-ratio:auto;max-height:none;border-radius:0}
html.led body.kv-on .bar,html.led body.kv-on .ticker{display:none}
.cv{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;overflow:hidden;color:#fff;
  font-family:"DM Sans","Noto Sans TC","Noto Sans CJK TC","Microsoft JhengHei",system-ui,sans-serif;
  background:radial-gradient(900px 700px at 24% 46%,rgba(0,82,255,.42),transparent 62%),radial-gradient(800px 600px at 92% 10%,rgba(0,229,255,.10),transparent 60%),linear-gradient(180deg,#050608,#07090F 60%,#050608)}
.cv-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(1100px 800px at 30% 50%,#000,transparent 75%);mask-image:radial-gradient(1100px 800px at 30% 50%,#000,transparent 75%)}
.cv-glow{position:absolute;left:150px;top:180px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(0,82,255,.55),rgba(0,82,255,0) 65%);filter:blur(10px);animation:cvBreath 5s ease-in-out infinite}
@keyframes cvBreath{50%{transform:scale(1.08);opacity:.75}}
.cv-rings{position:absolute;left:460px;top:490px;width:0;height:0}
.cv-rings i{position:absolute;border-radius:50%;border:1px solid rgba(120,170,255,.22);left:50%;top:50%;transform:translate(-50%,-50%)}
.cv-rings i:nth-child(1){width:560px;height:560px;border-style:dashed;animation:cvSpin 60s linear infinite}
.cv-rings i:nth-child(2){width:760px;height:760px;border-color:rgba(0,229,255,.14);animation:cvSpin 90s linear infinite reverse}
.cv-rings i:nth-child(3){width:980px;height:980px;border-color:rgba(255,255,255,.06)}
.cv-rings i:nth-child(1)::after,.cv-rings i:nth-child(2)::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#00E5FF;box-shadow:0 0 18px #00E5FF;top:-5px;left:50%}
.cv-rings i:nth-child(2)::after{background:#3375FF;box-shadow:0 0 18px #3375FF}
@keyframes cvSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.cv-top{position:absolute;left:110px;right:110px;top:64px;display:flex;gap:28px;align-items:center;font-size:15px;font-weight:600;letter-spacing:.2em;color:rgba(255,255,255,.55)}
.cv-top span:last-child{margin-left:auto}
.cv-live{display:inline-flex;align-items:center;gap:10px;color:#00E5FF;font-weight:800}
.cv-live i{width:9px;height:9px;border-radius:50%;background:#00E5FF;box-shadow:0 0 12px #00E5FF;animation:cvPulse 1.4s infinite}
@keyframes cvPulse{50%{opacity:.25}}
.cv-left{position:absolute;left:150px;top:230px;width:760px}
.cv-mark svg{width:168px;height:168px;border-radius:40px;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 0 16px rgba(0,82,255,.16),0 30px 90px rgba(0,82,255,.65);animation:cvFloat 6s ease-in-out infinite}
@keyframes cvFloat{50%{transform:translateY(-10px)}}
.cv-word{margin-top:44px;font-size:200px;line-height:.9;font-weight:800;letter-spacing:-.04em;
  background:linear-gradient(100deg,#FFFFFF 0%,#FFFFFF 40%,#8FB6FF 50%,#FFFFFF 60%,#FFFFFF 100%);background-size:280% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cvShine 6s linear infinite}
@keyframes cvShine{from{background-position:120% 0}to{background-position:-160% 0}}
.cv-en{margin-top:26px;font-size:30px;font-weight:700;letter-spacing:.28em;color:#fff}
.cv-zh{margin-top:14px;font-size:30px;font-weight:600;color:rgba(255,255,255,.72);letter-spacing:.06em}
.cv-chips{margin-top:40px;display:flex;gap:12px;flex-wrap:wrap}
.cv-chips span{padding:10px 18px;border-radius:999px;font-size:14px;font-weight:700;letter-spacing:.14em;color:#CFE0FF;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.cv-board{position:absolute;right:110px;top:190px;width:820px;padding:30px 34px 22px;border-radius:28px;background:rgba(19,20,23,.78);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 40px 120px rgba(0,0,0,.55);backdrop-filter:blur(12px)}
.cv-bh{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}
.cv-bh b{font-size:22px;font-weight:800;letter-spacing:.12em}
.cv-bh span{font-size:14px;color:#8A919E}
.cv-th,.cv-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.25fr) 128px 170px;gap:16px;align-items:center}
.cv-th{padding:0 6px 12px;border-bottom:1px solid #25282E;font-size:13px;font-weight:700;letter-spacing:.08em;color:#5B616E}
.cv-th .r,.cv-row .r{text-align:right;justify-self:end}
.cv-row{padding:16px 6px;border-bottom:1px solid rgba(255,255,255,.05)}
.cv-row:last-child{border-bottom:0}
.cv-sym{display:flex;align-items:center;gap:14px;min-width:0}
.cv-sym i{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:800;color:#fff;background:var(--c)}
.cv-sym b{display:block;font-size:20px;font-weight:700;white-space:nowrap}
.cv-sym small{display:block;font-size:13px;color:#8A919E;white-space:nowrap}
.cv-last{font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.25}
.cv-chg{display:inline-flex;justify-content:center;min-width:112px;padding:8px 0;border-radius:10px;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.cv-chg.up{background:rgba(46,189,133,.16);color:#2EBD85} .cv-chg.dn{background:rgba(246,70,93,.16);color:#F6465D}
.cv-row svg{width:170px;height:44px;display:block}
.cv-last.rk-up{animation:cvUp .7s} .cv-last.rk-dn{animation:cvDn .7s}
@keyframes cvUp{0%{color:#2EBD85}} @keyframes cvDn{0%{color:#F6465D}}
.cv-foot{position:absolute;left:110px;right:110px;bottom:56px;display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700;letter-spacing:.24em;color:rgba(255,255,255,.45)}
.cv-foot #cvMods{flex:1;display:flex;gap:10px;justify-content:center;letter-spacing:.04em}
.cv-foot #cvMods em{font-style:normal;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.7);font-weight:600;font-size:13.5px}
.cv-foot #cvMods em.on{background:#0052FF;color:#fff}

@media (max-width:1180px){html:not(.led) .gr-grid,html:not(.led) .ag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html:not(.led) .gr-grid{grid-template-areas:"k k" "mix mix" "price adv" "add pue" "live live"}html:not(.led) .ag-grid{grid-template-areas:"k k" "dev dev" "radar why" "stars tok" "live live"}html:not(.led) .xk-row{grid-template-columns:repeat(2,minmax(0,1fr))}html:not(.led) .src-head{max-width:none;text-align:left;margin-left:0;flex-basis:100%}}
@media (max-width:640px){html:not(.led) .gr-grid,html:not(.led) .ag-grid{grid-template-columns:minmax(0,1fr)}html:not(.led) .gr-grid{grid-template-areas:"k" "mix" "price" "adv" "add" "pue" "live"}html:not(.led) .ag-grid{grid-template-areas:"k" "dev" "radar" "why" "stars" "tok" "live"}html:not(.led) .xk-row{grid-template-columns:minmax(0,1fr)}html:not(.led) .ag-dev .tbl-wrap{overflow-x:auto}}
/* LED layout for pages 06/07 */
html.led #v-green,html.led #v-agent{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
html.led .gr-grid,html.led .ag-grid{min-height:0;grid-template-rows:132px minmax(0,1fr) minmax(0,1fr)}
html.led .ag-grid{grid-template-rows:132px minmax(0,1.08fr) minmax(0,1fr)}
html.led #v-green .chart,html.led #v-agent .chart{flex:1;min-height:0;height:auto!important}
html.led .xk{justify-content:center}
html.led .xk b{font-size:34px}
html.led .gr-price .in,html.led .gr-add .in{gap:6px}
html.led .advlist{flex:1;min-height:0;justify-content:space-between}
html.led .adv{flex:1;min-height:0;padding:8px 14px}
html.led .gl{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr)}
html.led .puelist{flex:1;justify-content:space-around}
html.led .src-head{max-width:820px}
html.led .tabs a{font-size:14px;padding:8px 11px}
html.led .ag-grid{grid-template-rows:132px minmax(0,1.22fr) minmax(0,1fr)}
html.led #ag-table td{padding:6px 10px} html.led #ag-table th{padding:6px 10px}
html.led .dv i{width:28px;height:28px}
html.led .gl .big{padding:8px 14px} html.led .gl .big svg{width:74px;height:74px}

@media (max-width:1180px){html:not(.led) .cs-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "kpis" "market" "dc" "heat" "orders"}
html:not(.led) .cs-kpis{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}}
@media (max-width:600px){html:not(.led) .dclist{grid-template-columns:minmax(0,1fr)}
html:not(.led) .heat{grid-template-columns:repeat(12,minmax(0,1fr))}}
/* LED layout for page 05 */
html.led #v-compute{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
html.led #v-compute .cs-grid{min-height:0;grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"hero hero heat kpis" "market market dc orders"}
html.led #v-compute .cs-hero .in{display:flex;flex-direction:column}
html.led #c-supply{flex:1;height:auto!important;min-height:0}
html.led .cs-kpis{min-height:0}
html.led .dclist{grid-template-columns:minmax(0,1fr);gap:8px}
html.led .dc{padding:9px 12px}
html.led .dc svg{width:38px;height:38px}
html.led .cs-big .num{font-size:56px}
#v-compute .fl-up{animation:csUp 1.4s ease-out}#v-compute .fl-dn{animation:csDn 1.4s ease-out}
@keyframes csUp{0%{color:var(--up)}100%{}} @keyframes csDn{0%{color:var(--down)}100%{}}
html.led .cs-heat .in{display:flex;flex-direction:column}
html.led .heat{flex:1;min-height:0;grid-template-rows:repeat(6,minmax(0,1fr))}
html.led .heat i{aspect-ratio:auto}
html.led .dclist{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-auto-rows:minmax(0,1fr);height:100%}
html.led .cs-dc .in{display:flex;flex-direction:column}
html.led .dc{padding:8px 10px;gap:9px}
html.led .dc svg{width:36px;height:36px}
html.led .dc .meta2 .cs-pill{display:none}
html.led .dc b{font-size:13px}
html.led #cs-table td{padding:8px 10px}
html.led .cs-ico{width:30px;height:30px}

@media (max-width:1180px){html:not(.led) .g-map,html:not(.led) .g-21,html:not(.led) .g-12{grid-template-columns:minmax(0,1fr)}
html:not(.led) .kpis,html:not(.led) .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
html:not(.led) .provs{grid-template-columns:repeat(4,minmax(0,1fr))}
html:not(.led) .chart.tall{height:420px}}
@media (max-width:760px){html:not(.led) .g-2{grid-template-columns:minmax(0,1fr)}
html:not(.led) .specs{grid-template-columns:repeat(2,minmax(0,1fr))}
html:not(.led) .tabs{order:3;flex-basis:100%}
html:not(.led) .date,html:not(.led) .live{display:none}
html:not(.led) .pool .val{font-size:24px}
html:not(.led) .hero{padding:32px 22px}
html:not(.led) .chart.tall{height:320px}}
@media (max-width:460px){html:not(.led) .kpis,html:not(.led) .cards{grid-template-columns:minmax(0,1fr)}
html:not(.led) .provs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
