:root{
  --board:#141A2E; --ink:#1B1F24; --ink-2:#6B7280; --paper:#FAF9F6; --chalk:#F3F1EA;
  --line:#DED9CC; --accent:#C2410C; --brass:#D9A441; --team:#2E5FA3;
  --sans:system-ui,"Microsoft YaHei","PingFang SC",sans-serif;
  --num:"DIN Alternate",Consolas,ui-monospace,monospace;
  --fs:15px;
  --g-S:#D6336C;--g-A:#E8590C;--g-B:#F59F00;--g-C:#2F9E44;--g-D:#1C7ED6;--g-E:#4C6EF5;--g-F:#868E96;--g-G:#ADB5BD;
  --sp-gold:#B8860B;--sp-gold-bg:#FFF6DA;--sp-green:#2B7A3E;--sp-green-bg:#E6F6E9;
  --sp-blue:#1864AB;--sp-blue-bg:#E3F0FA;--sp-red:#C0392B;--sp-red-bg:#FDE7E7;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:var(--fs)/1.7 var(--sans)}
a{color:inherit;text-decoration:none}
.board{background:var(--board);color:#fff}
.board-in{max-width:1180px;margin:0 auto;padding:14px 20px 10px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.mark{font-size:26px;font-weight:800;letter-spacing:.04em}
.mark-en{font-size:11px;letter-spacing:.22em;color:var(--brass)}
.board-meta{margin-left:auto;font-size:12px;color:#B9C0CC}
.nav{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;gap:0;overflow-x:auto}
.nav a{padding:10px 15px;font-size:14px;color:#C9D0DC;white-space:nowrap;border-bottom:3px solid transparent}
.nav a.on,.nav a:hover{color:#fff;border-bottom-color:var(--brass)}
.view{max-width:1180px;margin:0 auto;padding:24px 20px 60px}
.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--accent);font-weight:700}
h1{font-size:26px;margin:2px 0 14px}h2{font-size:18px;margin:26px 0 10px}h3{font-size:15px;margin:18px 0 8px}
.muted{color:var(--ink-2)}.small{font-size:12.5px}
.empty{background:var(--chalk);border:1px dashed var(--line);padding:26px;text-align:center;color:var(--ink-2)}
.empty b{display:block;font-size:16px;color:var(--ink);margin-bottom:6px}

/* 名鉴 */
.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.tools input,.tools select{font:14px var(--sans);padding:7px 10px;border:1px solid var(--line);border-radius:4px;background:#fff}
.chip{font:13px var(--sans);padding:6px 12px;border:1px solid var(--line);background:#fff;border-radius:14px;cursor:pointer}
.chip.on{background:var(--board);color:#fff;border-color:var(--board)}
.grid-p{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.pcard{display:flex;gap:11px;align-items:center;background:var(--chalk);border:1px solid var(--line);
  border-left:4px solid var(--team);padding:9px 11px}
.pcard:hover{background:#fff}
.ava{width:46px;height:46px;flex:0 0 46px;border-radius:4px;object-fit:cover;display:flex;
  align-items:center;justify-content:center;background:var(--team);color:#fff;font-size:18px;font-weight:700}
.pc-b{min-width:0;flex:1}
.nm{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:14.5px;font-weight:700;line-height:1.35}
.sb{font-size:12px;color:var(--ink-2)}
.no{font:700 12px var(--num);color:var(--ink-2)}
.pb{display:inline-flex;align-items:center;justify-content:center;min-width:1.55em;height:1.55em;padding:0 .28em;
  font:700 11px/1 var(--sans);border:1px solid;border-radius:3px}
.pb-p{border-color:#F0A6C4;background:#FDE7F0;color:#C2255C}
.pb-c{border-color:#8FC1E8;background:#E3F0FA;color:#1864AB}
.pb-i{border-color:#E8C766;background:#FFF3CC;color:#8A6100}
.pb-o{border-color:#8FCC9C;background:#E4F5E6;color:#2B7A3E}
.pb-x{border-color:var(--line);background:#F1EFE8;color:#5A6159}
.pb-sub{opacity:.62;border-style:dashed;font-weight:600}

/* 个人页 */
.back{display:inline-block;font-size:13px;color:var(--accent);margin-bottom:10px}
.php{position:relative;display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;
  background:var(--chalk);border:1px solid var(--line);padding:20px 18px 16px;margin-bottom:20px}
.php::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--team)}
.php .ava{width:78px;height:78px;flex-basis:78px;font-size:30px}
.php h1{margin:2px 0 6px}
.kv{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px}
.kv>div b{display:block;font-size:11px;color:var(--ink-2);font-weight:600}
.two{display:grid;gap:22px;grid-template-columns:minmax(280px,1fr) minmax(300px,1.1fr)}
.bars{max-width:420px}
.bar{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.bar .lb{flex:0 0 5.2em;font-size:13px;color:var(--ink-2)}
.bar .track{flex:1;height:14px;background:var(--chalk);border:1px solid var(--line);position:relative}
.bar .fill{display:block;height:100%}
.bar .vv{flex:0 0 4.4em;text-align:right;font:700 14px var(--num)}
.g{font-weight:800}
.g-S{color:var(--g-S)}.g-A{color:var(--g-A)}.g-B{color:var(--g-B)}.g-C{color:var(--g-C)}
.g-D{color:var(--g-D)}.g-E{color:var(--g-E)}.g-F{color:var(--g-F)}.g-G{color:var(--g-G)}
.sub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:330px}
.sub-chip{display:flex;align-items:center;justify-content:space-between;border:1.5px solid;border-radius:5px;
  padding:0 0 0 10px;font-size:13px;line-height:1;min-height:30px;overflow:hidden}
.sub-chip .sg{align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:2em;
  padding:0 5px;font:800 13px/1 var(--num)}
.sub-hi{border-color:#2196E8;background:#DFF1FC;color:#0B4E7C} .sub-hi .sg{background:#2196E8;color:#fff}
.sub-mid{border-color:#C9DCE6;background:#F3F8FB;color:#4A6675} .sub-mid .sg{background:#DCE9F0;color:#37576A}
.sub-lo{border-color:#E8262A;background:#FDE3E4;color:#9B1F22} .sub-lo .sg{background:#E8262A;color:#fff}
.sub-na{border-color:var(--line);background:#FAFAF7;color:var(--ink-2)} .sub-na .sg{background:#EEEAE0;color:var(--ink-2)}
.sp-wrap{display:flex;flex-wrap:wrap;gap:6px}
.sp{font-size:13px;padding:4px 9px;border:1.5px solid;border-radius:4px;cursor:help;position:relative}
.sp-gold{border-color:var(--sp-gold);background:var(--sp-gold-bg);color:var(--sp-gold)}
.sp-green{border-color:var(--sp-green);background:var(--sp-green-bg);color:var(--sp-green)}
.sp-blue{border-color:var(--sp-blue);background:var(--sp-blue-bg);color:var(--sp-blue)}
.sp-red{border-color:var(--sp-red);background:var(--sp-red-bg);color:var(--sp-red)}
.sp-bluered{border-color:var(--sp-blue);background:linear-gradient(90deg,var(--sp-blue-bg) 0 50%,var(--sp-red-bg) 50%);color:var(--sp-blue)}
.sp[data-tip]:hover::after,.sp[data-tip]:focus::after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 6px);
  z-index:40;white-space:pre-wrap;width:max-content;max-width:300px;background:var(--board);color:#fff;
  padding:8px 10px;border-radius:4px;font-size:12px;line-height:1.5;box-shadow:0 6px 20px rgba(0,0,0,.28)}
.radar{border:1px solid var(--line);background:#fff;padding:6px}
.radar svg{display:block;width:100%;height:auto;max-width:420px;margin:0 auto}
.foot{max-width:1180px;margin:0 auto;padding:18px 20px 40px;color:var(--ink-2);font-size:12px;border-top:1px solid var(--line)}
@media(max-width:640px){
  :root{--fs:14px}
  .view{padding:18px 14px 50px}
  .two{grid-template-columns:1fr}
  .grid-p{grid-template-columns:1fr}
  .sub-grid{grid-template-columns:1fr}
  .bars{max-width:none}
  .sp[data-tip]:hover::after{display:none}
}
