:root{--bg:#14110f;--panel:#1f1a16;--panel2:#2a231d;--ink:#efe6d8;--dim:#b3a58f;--gold:#e0b25a;
--line:#3d3329;--accent:#7fb3d5;--t1:#8fbf7a;--t2:#7fb3d5;--t3:#c48fe0;--top:#e0b25a}
:root[data-theme="light"]{--bg:#f6f1e8;--panel:#fffaf2;--panel2:#f1e8da;--ink:#2a2016;--dim:#6d5f4c;
--gold:#9a6b12;--line:#ddd0bc;--accent:#2f6f9a;--t1:#3f7d2e;--t2:#2f6f9a;--t3:#7d3fa0;--top:#9a6b12}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header{background:var(--panel);border-bottom:1px solid var(--line)}
.bar{max-width:1080px;margin:0 auto;padding:12px 16px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.brand{font-weight:700;color:var(--gold);font-size:17px;letter-spacing:.3px}
nav a{color:var(--ink);margin-right:14px}
main{max-width:1080px;margin:0 auto;padding:20px 16px 48px}
h1{font-size:28px;margin:4px 0 6px}h2{font-size:18px;margin:26px 0 10px;color:var(--gold)}
.dim{color:var(--dim)}
.tools{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
input,select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font:inherit}
input{flex:1;min-width:200px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center;color:var(--ink);display:block}
.card:hover{border-color:var(--gold);text-decoration:none}
.card img{height:96px;width:auto;max-width:100%;object-fit:contain}
.card .n{font-weight:600;margin-top:6px}
.badge{display:inline-block;font-size:12px;padding:1px 8px;border-radius:10px;border:1px solid currentColor}
.tier1{color:var(--t1)}.tier2{color:var(--t2)}.tier3{color:var(--t3)}
.deity,.saint,.constellation,.christmas,.special{color:var(--top)}
.hero{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.hero img{width:160px;height:160px;object-fit:contain;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.box h2{margin-top:0}
table{border-collapse:collapse;width:100%}td,th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--dim);font-weight:600;font-size:13px}
.plus{color:var(--gold);text-align:right;width:3em}
.stars{color:var(--gold);font-family:ui-monospace,Consolas,monospace;white-space:nowrap}
.x{color:var(--dim);text-align:right;font-size:13px}
.rhead{display:flex;align-items:center;gap:10px}.rhead img{height:72px;width:auto}.rhead h2{margin:0}
.race ul{margin:4px 0 8px;padding-left:20px}
label{display:flex;flex-direction:column;font-size:13px;color:var(--dim);gap:3px}
.meter{background:var(--panel2);border-radius:4px;height:10px;min-width:90px;overflow:hidden}.meter i{display:block;height:100%;background:var(--gold)}
.list{overflow-x:auto}
.list tr:hover td{background:var(--panel2)}
ol.steps{padding-left:22px}ol.steps li{margin:4px 0}
.small{font-size:13px}
@media (max-width:600px){h1{font-size:23px}.hero img{width:112px;height:112px}}
