:root{--bg:#0e0e12;--panel:#16161c;--panel2:#1b1b22;--line:#26262f;--line2:#33333f;--txt:#e9e9ee;--dim:#a7adb4;--dimmer:#7f858c;--accent:#c0392b;--cls:#a855f7;--good:#34d399;--warn:#fbbf24;--bad:#f87171;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--txt);font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;-webkit-font-smoothing:antialiased}button{font-family:inherit}.app{display:flex;flex-direction:column;height:100vh}header{padding:11px 16px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,#101016,#0e0e12)}header h1{font-size:15px;margin:0;letter-spacing:.02em;color:var(--accent);font-weight:700}header h1 b{color:var(--txt)}header .sub{color:var(--dimmer);font-size:11px}.controls{padding:9px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.row{margin:5px 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.lab{color:var(--dim);font-size:11px;min-width:54px;flex:none;text-transform:lowercase}input,select{background:#0b0b0f;color:var(--txt);border:1px solid var(--line2);border-radius:6px;padding:5px 9px;font:12px ui-monospace,monospace}input.search{width:min(300px,60vw)}input.num{width:60px}.chip{background:#1e1e26;color:#cfd2d8;border:1px solid var(--line2);border-radius:20px;padding:4px 12px;font:11px/1 ui-monospace,monospace;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.chip:hover{border-color:#50505f}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.chip.cls{padding:5px 13px}.chip.cls.on{background:var(--cls);border-color:var(--cls);color:#0c0c10;font-weight:700;box-shadow:0 0 0 1px var(--cls),0 4px 14px -6px var(--cls)}.chip.skill{display:inline-flex;align-items:center;gap:7px;background:#14141a}.chip.skill .dot{width:7px;height:7px;border-radius:50%;background:var(--cls);flex:none}.chip.skill:hover{border-color:var(--cls)}.chip.lv{padding:4px 9px;min-width:30px;text-align:center}.chip.lv.on{background:var(--cls);border-color:var(--cls);color:#0c0c10;font-weight:700}.link{color:var(--dimmer);font-size:11px;cursor:pointer;border:0;background:none;padding:2px 4px}.link:hover{color:var(--cls)}.seg{display:inline-flex;border:1px solid var(--line2);border-radius:8px;overflow:hidden}.seg button{background:#14141a;color:var(--dim);border:0;border-right:1px solid var(--line2);padding:5px 14px;font:11px ui-monospace,monospace;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.seg button:last-child{border-right:0}.seg button small{font-size:9px;color:var(--dimmer)}.seg button.on{background:var(--cls);color:#0c0c10;font-weight:700}.seg button.on small{color:#0c0c10;opacity:.7}.tabs{display:flex;gap:4px}.tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--dim);padding:5px 10px 7px;font:12px ui-monospace,monospace;cursor:pointer}.tab.on{color:var(--txt);border-color:var(--accent)}.tab:hover{color:var(--txt)}.wrap{overflow:auto;flex:1;min-height:0}.wrap.rec{padding:0 16px 60px}table{border-collapse:collapse;width:100%}th,td{padding:5px 9px;text-align:left;border-bottom:1px solid #1d1d24;white-space:nowrap;vertical-align:middle}th{position:sticky;top:0;background:#13131a;color:#9096a0;cursor:pointer;font-weight:700;z-index:1}th.nosort{cursor:default}tr:hover td{background:#15151c}td.affix{white-space:normal;color:#aeb4bb;max-width:360px;line-height:1.4}img.ic{width:26px;height:26px;image-rendering:pixelated;border-radius:4px;background:#0b0b0f;vertical-align:middle}.count{color:var(--dim);padding:9px 4px;font-size:11px}.r-common{color:#9aa0a6}.r-rare{color:#3aa0e6}.r-epic{color:#b06ddb}.r-legendary{color:#f0913a}.r-mythic{color:#ff5a4d}.fit{font-weight:700}.fit-core{color:#34d399}.fit-option{color:#3aa0e6}.fit-ok{color:#cfd2d8}.fit-off{color:#6c727a}.blurb{color:var(--dim);font-size:11.5px;margin:12px 0 0;max-width:80ch}.hdr{display:flex;align-items:stretch;gap:14px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--panel2),var(--panel));margin:14px 0 4px;overflow:hidden;flex-wrap:wrap}.head-hero{padding:12px 18px;border-right:1px solid var(--line);min-width:150px;background:color-mix(in srgb,var(--cls) 10%,transparent)}.head-hero .k{color:var(--cls);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.head-hero .v{font-size:26px;font-weight:700;color:var(--cls);font-variant-numeric:tabular-nums;line-height:1.1;margin-top:3px}.stats{display:flex;flex-wrap:wrap;align-items:center;flex:1}.stat{padding:8px 16px}.stat .k{color:var(--dimmer);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.stat .v{font-size:16px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.stat .v small{font-size:10px;color:var(--dim);font-weight:400}.sec-h{display:flex;align-items:baseline;gap:10px;margin:16px 0 9px;flex-wrap:wrap}.sec-h h2{font-size:12.5px;margin:0;color:var(--txt);font-weight:700}.sec-h .hint{color:var(--dimmer);font-size:11px}.approx{color:var(--warn);font-size:10px}.bay{display:flex;flex-direction:column;gap:7px}.bayrow{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden;transition:border-color .16s var(--ease);animation:rise .3s var(--ease) both}.bayrow.open{border-color:var(--cls);box-shadow:0 0 0 1px var(--cls)}.bayhead{display:flex;gap:12px;align-items:center;padding:10px 13px;cursor:pointer}.bayhead:hover{background:var(--panel2)}.bayhead .slot{color:var(--dimmer);font-size:10px;text-transform:uppercase;letter-spacing:.06em;width:54px;flex:none}.bayhead .ic{width:34px;height:34px}.bayhead .mid{flex:1;min-width:0}.bayhead .nm{font-weight:700;font-size:13px}.itemlink{cursor:pointer}.itemlink:hover{text-decoration:underline}.bosswrap{max-width:880px}img.bossic{width:40px;height:40px;image-rendering:pixelated;border-radius:6px;background:#0b0b0f;vertical-align:middle;object-fit:cover}.bayhead .st{color:var(--dim);font-size:11px;margin-top:2px}.bayhead .src{color:var(--dimmer);font-size:10.5px;margin-top:4px}.bayhead .src .where{color:#cdb4f0}.chev{color:var(--dimmer);flex:none;transition:transform .18s var(--ease)}.bayrow.open .chev{transform:rotate(90deg);color:var(--cls)}.pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.pill{font-size:10px;padding:2px 7px;border-radius:11px;background:#14141a;border:1px solid var(--line2);color:var(--dim);white-space:nowrap}.pill.hit{border-color:color-mix(in srgb,var(--good) 55%,transparent);color:var(--good);background:color-mix(in srgb,var(--good) 9%,transparent)}.bayalts{border-top:1px solid var(--line);background:#101015;padding:6px 10px 10px}.bayalts .ah{color:var(--dimmer);font-size:10.5px;padding:6px 4px}.alt{display:grid;grid-template-columns:30px 1fr auto 90px;gap:10px;align-items:center;padding:5px 4px;border-top:1px solid #1b1b22}.alt:first-of-type{border-top:0}.alt .an{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:12px}.alt .as{color:var(--dimmer);font-size:10px;margin-top:2px;white-space:normal}.alt .equip{font-size:9.5px;color:#0c0c10;background:var(--cls);border-radius:4px;padding:1px 5px;font-weight:700}.bar{position:relative;height:6px;border-radius:4px;background:#202028;overflow:hidden}.bar i{position:absolute;top:0;right:100%;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--cls) 55%,#000),var(--cls));transition:right .5s var(--ease)}.pop{position:fixed;z-index:50;background:#14141a;border:1px solid var(--line2);border-radius:10px;padding:7px;box-shadow:0 18px 50px -12px #000;max-width:280px}.pop .ph{color:var(--dimmer);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:3px 6px 6px}.pop .opt{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:6px 8px;border-radius:7px;cursor:pointer}.pop .opt:hover{background:var(--panel2)}.pop .opt.cur{outline:1px solid var(--cls)}.pop .opt .meta{color:var(--dimmer);font-size:10px}.pop .opt.dis{opacity:.4;cursor:not-allowed}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
