:root{--bg:#1c1e24;--panel:#25282f;--panel2:#2e323a;--line:#393e48;--text:#e8e9ec;--mute:#a3a8b3;--link:#7fb6ff;
--ice:#5fb8e6;--fire:#f07a3c;--storm:#a98cf5;--earth:#9bbb4f;--void:#c768d8;--cel:#f2cf55;
--S:#ff5f57;--A:#ffa53d;--B:#8cc265}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:15.5px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
h1{font-size:clamp(1.45rem,3.6vw,2rem);line-height:1.2;margin:0 0 4px;font-weight:800}
h2{font-size:1.25rem;margin:2em 0 .6em;padding-bottom:6px;border-bottom:2px solid var(--line);font-weight:800}
h3{font-size:1.02rem;margin:0 0 .3em}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
p,li{max-width:62ch;text-wrap:pretty}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}.narrow{max-width:900px}
header.site{background:#14161a;border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.brand{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:800;font-size:1.05rem}.brand:hover{text-decoration:none}
.sigil{width:26px;height:26px;color:#d9a441}
header nav{display:flex;gap:18px;flex-wrap:wrap}header nav a{color:var(--mute);font-size:.93rem;font-weight:600}header nav a:hover{color:var(--text);text-decoration:none}
main{padding:20px 16px 48px}
.phead{display:flex;gap:14px;align-items:center;margin:6px 0 12px}
.phead img{border-radius:6px;border:1px solid var(--line);flex:none}
.upd{margin:0;color:var(--mute);font-size:.88rem}
.lead{color:#cfd2d8}
.note,.crumb{color:var(--mute);font-size:.88rem}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);vertical-align:middle}
.ice{--c:var(--ice)}.fire{--c:var(--fire)}.storm{--c:var(--storm)}.earth{--c:var(--earth)}.void{--c:var(--void)}.cel{--c:var(--cel)}
.filters{display:flex;flex-wrap:wrap;gap:0;margin:12px 0;border:1px solid var(--line);border-radius:6px;overflow:hidden;width:fit-content;max-width:100%}
.filters button{background:var(--panel);color:var(--mute);border:0;border-right:1px solid var(--line);padding:8px 12px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:38px}
.filters button:last-child{border-right:0}
.filters button[aria-pressed=true]{background:var(--panel2);color:var(--text);box-shadow:inset 0 -2px 0 var(--link)}
.tiers{margin:10px 0 8px}
.tgrid{display:grid;grid-template-columns:56px repeat(3,1fr);gap:4px;margin-bottom:4px}
.th{background:var(--panel2);text-align:center;font-weight:700;font-size:.85rem;padding:7px 4px;border-radius:4px;color:#d6d8dd}
.th:first-child{background:none}
.tl{display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:900;color:#17181c;border-radius:4px}
.tS .tl{background:var(--S)}.tA .tl{background:var(--A)}.tB .tl{background:var(--B)}
.cell{background:var(--panel);border-radius:4px;padding:8px;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;min-height:104px}
.cl{display:none}
.pc{display:flex;flex-direction:column;align-items:center;width:76px;color:var(--text);font-size:.78rem;font-weight:600;text-align:center;line-height:1.2}
.pc:hover{text-decoration:none}.pc:hover img{outline:2px solid var(--link)}
.pic{position:relative;display:block;width:72px;height:72px;margin-bottom:4px}
.pic img{display:block;width:72px;height:72px;border-radius:5px;border:2px solid var(--c);background:#111}
.pic .dot{position:absolute;top:-3px;left:-3px;width:14px;height:14px;border:2px solid var(--bg)}
.rar{position:absolute;right:2px;bottom:2px;font-style:normal;font-size:.75rem;font-weight:800;background:rgba(10,10,12,.82);color:var(--cel);padding:0 4px;border-radius:3px}
.pc[hidden],tr[hidden]{display:none}
.el{display:inline-block;font-size:.76rem;font-weight:700;padding:1px 8px;border-radius:4px;color:#15161a;background:var(--c)}
.el.ice{background:var(--ice)}.el.fire{background:var(--fire)}.el.storm{background:var(--storm)}.el.earth{background:var(--earth)}.el.void{background:var(--void)}.el.cel{background:var(--cel)}
.teams,.facs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.team,.fac{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px 14px}
.team p,.fac p{margin:.4em 0;font-size:.93rem}.fac .trait{color:var(--mute)}
.faces{display:flex;gap:6px;margin:6px 0}.faces img{border-radius:5px;border:1px solid var(--line)}
.fac .cell{background:none;padding:6px 0 0;min-height:0}
.faq details{border-bottom:1px solid var(--line);padding:10px 0}.faq summary{cursor:pointer;font-weight:600}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px}
table{border-collapse:collapse;width:100%;min-width:660px;font-size:.92rem}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:var(--panel2);color:var(--mute);font-weight:700}
td small{color:var(--mute)}
td.who{display:flex;gap:10px;align-items:center}td.who img{border-radius:4px;flex:none}
.tt{font-weight:900}.tt.tS{color:var(--S)}.tt.tA{color:var(--A)}.tt.tB{color:var(--B)}
.hero{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start;margin-top:8px}
.hero .art{width:220px;height:auto;border-radius:6px}
.stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:12px 0 0}
.stat div{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 10px}
.stat dt{color:var(--mute);font-size:.78rem;font-weight:600}.stat dd{margin:2px 0 0;font-weight:700}.stat dd.tt{font-size:1.5rem;line-height:1.1}
.abs{display:grid;gap:8px}.ab{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 14px}
.ab h3 span{display:inline-block;margin-right:8px;font-size:.72rem;font-weight:800;color:#15161a;background:var(--mute);padding:1px 6px;border-radius:3px;vertical-align:2px}
.ab p{margin:.2em 0 0;color:#cfd2d8}
.pairs{display:flex;flex-wrap:wrap;gap:10px}
footer.site{border-top:1px solid var(--line);color:var(--mute);font-size:.85rem;padding:18px 0 28px;background:#17191e}footer.site p{margin:.3em 0}
@media (max-width:700px){
.tgrid{grid-template-columns:44px 1fr}.tgrid:first-child{display:none}
.tier .tl{grid-row:span 3}.cell{min-height:0}.cl{display:block;width:100%;font-size:.75rem;color:var(--mute);font-weight:700}
.hero{grid-template-columns:1fr}.hero .art{width:160px}}
/* impeccable 11-11: the element dot + border on every portrait is intentional — it's the data readers scan for (same as prydwen/game8). */
.tb{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px;margin:14px 0}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.slot{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text);font:inherit;text-align:center;min-height:132px;cursor:pointer}
.slot b{font-size:.9rem}.slot small{color:var(--mute);font-size:.74rem;line-height:1.25}
.slot.empty{border-style:dashed;justify-content:center;color:var(--mute);font-weight:700;cursor:default}
.tbtools{display:flex;gap:8px;align-items:center;margin-top:10px}
.tbtools button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:7px 12px;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}
.tbtools button:first-child{background:var(--link);color:#0f1115;border-color:var(--link)}
.report{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rcol{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px 14px}
.score{float:right;font-size:.85rem;color:var(--mute)}
.mu{list-style:none;padding:0;margin:6px 0 0}.mu li{padding:6px 0 6px 26px;position:relative;border-top:1px solid var(--line);font-size:.92rem;max-width:none}
.mu li:first-child{border-top:0}.mu i{position:absolute;left:0;top:6px;font-style:normal;font-weight:900;width:18px;text-align:center}
.mu .good i{color:var(--B)}.mu .mid i{color:var(--A)}.mu .bad i{color:var(--S)}
.picker{display:flex;flex-wrap:wrap;gap:8px}
.pk{background:none;border:0;padding:0;font:inherit;cursor:pointer}.pk[hidden]{display:none}
.pk{display:flex;flex-direction:column;align-items:center;width:76px;color:var(--text);font-size:.78rem;font-weight:600}
.pk[aria-pressed=true] img{outline:3px solid var(--link);outline-offset:1px}.pk[aria-pressed=true] .nm{color:var(--link)}
.rr{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
@media (max-width:700px){.slots{grid-template-columns:repeat(2,1fr)}.report{grid-template-columns:1fr}}
