/* 共用样式（三站共用；品牌色随站点 copy.json 的 theme 覆盖） */
:root{--bg:#0f1115;--fg:#e8e6e3;--muted:#9aa0a6;--card:#171a21;--line:#2a2f3a;--accent:#c8a24a;--ok:#3fb950;--warn:#d29922}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.7 -apple-system,"Noto Sans JP","Noto Sans KR",system-ui,sans-serif}
header{padding:28px 20px 8px;text-align:center}
h1{margin:0 0 6px;font-size:26px;letter-spacing:.04em}
.sub{color:var(--muted);font-size:14px}
main{max-width:920px;margin:0 auto;padding:16px 20px 80px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:14px 0}
form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
input,select{width:100%;padding:9px 10px;background:#0c0e12;border:1px solid var(--line);border-radius:9px;color:var(--fg)}
button{grid-column:1/-1;padding:12px;border:0;border-radius:10px;background:var(--accent);color:#14171c;font-weight:700;cursor:pointer}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{border-bottom:1px solid var(--line);padding:7px 6px;text-align:left}
th{color:var(--muted);font-weight:600}
.pillars td{font-size:20px;letter-spacing:.1em}
.kv{display:flex;flex-wrap:wrap;gap:10px 22px}
.kv b{color:var(--accent)}
.badges span{display:inline-block;margin:0 6px 6px 0;padding:3px 9px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted)}
.badges .ok{color:var(--ok);border-color:#1f4023}
.bar{height:9px;background:#0c0e12;border-radius:6px;overflow:hidden;margin:3px 0 9px}
.bar i{display:block;height:100%;background:var(--accent)}
.cite{border-left:3px solid var(--accent);padding:2px 0 2px 12px;margin:12px 0}
.cite .src{font-size:12px;color:var(--muted);word-break:break-all}
.tag{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--muted);margin-right:6px}
footer{color:var(--muted);font-size:12px;text-align:center;padding:20px}
.err{color:#f85149}
/* 滚动栏（偶像测算） */
.ticker{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0c0e12;margin:10px 0 4px}
.ticker-track{display:inline-flex;white-space:nowrap;animation:scrollx 90s linear infinite;padding:9px 0;will-change:transform}
.ticker:hover .ticker-track{animation-play-state:paused}
.tick-item{font-size:13px;color:#cfd3d8;padding:0 26px;border-right:1px dashed #2a2f3a}
.tick-item.tick-me{color:var(--accent);font-weight:700}
.tick-item b{color:#fff}
.tick-photo{width:26px;height:26px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px;border:1px solid #2a2f3a;background:#14171c}
.blur-name{filter:blur(4px);transition:filter .18s ease;cursor:help}
.tick-item:hover .blur-name{filter:none}
.tick-ig{font-size:11px;color:#8a9099;border:1px solid #2a2f3a;border-radius:999px;padding:0 6px;margin-left:5px}
.tick-tag{font-size:11px;color:#14171c;background:var(--accent);border-radius:6px;padding:1px 7px;margin-right:9px;font-weight:700;white-space:nowrap}
.pairgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:6px 0 12px}
.pairscore{font-size:19px;font-weight:800;color:var(--accent);margin:10px 0 6px}
.advlink{display:inline-block;margin:8px 0 2px;font-size:12px;color:var(--muted);text-decoration:underline}
.langnav{margin-top:8px;font-size:13px}
.langnav a{color:var(--muted);margin-right:12px;text-decoration:none}
.langnav a.on{color:var(--accent);font-weight:700}
.langnav a:hover{color:#fff}
.poemline{font-size:17px;letter-spacing:.08em;margin:3px 0;color:#f0ece4;font-family:inherit}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.ticker-track{animation:none}}
