:root{
 --navy:#0a2350;--navy2:#0f3270;--deep:#061634;--blue:#1d5fd1;--sky:#5aa2ff;
 --gold:#d6a630;--gold2:#f4d27a;--paper:#f3f6fc;--ink:#0d1b33;--muted:#5b6b85;--ok:#1f9d63;--bad:#d2453b;
 --font:"Segoe UI","Noto Sans","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
 --mono:"Cascadia Mono","Consolas","Noto Sans Mono","DejaVu Sans Mono",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);color:var(--ink)}
.serial{font-family:var(--mono);letter-spacing:.12em;font-weight:700}
.zh{color:var(--muted);font-weight:500}
.badge{display:block}
.badge svg{display:block;width:100%;height:auto}
.badge.locked svg{filter:grayscale(1);opacity:.35}
.demo-tag{display:inline-block;background:#fff4d6;color:#7a5600;border:2px dashed var(--gold);border-radius:8px;font-weight:800;padding:2px 10px}
.ai-cap{font-size:14px;color:rgba(255,255,255,.85);background:rgba(0,0,0,.4);padding:3px 8px;border-radius:6px}
.tbd{background:#fff4d6;color:#7a5600;border:2px dashed var(--gold);border-radius:8px;padding:0 8px;font-weight:700}
/* word cloud */
.cloud{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;align-content:center;gap:.15em .5em;line-height:1.1}
.cloud span{font-weight:900;transition:transform .3s}
.cloud span.new{animation:pop .6s ease}
@keyframes pop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
.c0{color:var(--navy)}.c1{color:var(--blue)}.c2{color:#b8860b}.c3{color:#2c7a7b}.c4{color:#7a3fb0}.c5{color:#c0392b}
