:root{--bg: #0f0f12;--bg-2: #17171c;--bg-3: #1f1f27;--line: #2a2a33;--text: #e8e8ee;--muted: #9a9aa8;--accent: #d62976;--accent-2: #5b51d8;--danger: #e0445b}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overscroll-behavior-y:contain}.center{display:flex;height:100%;align-items:center;justify-content:center;padding:24px;color:var(--muted);text-align:center}.muted{color:var(--muted)}.error{color:var(--danger);font-size:13px}.error.banner{padding:10px 16px;background:#2a1418}.signin{display:flex;flex-direction:column;gap:12px;max-width:340px;margin:0 auto;padding:18vh 24px 24px}.signin h1{margin:0;font-size:28px}.signin h1 span{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}input{width:100%;background:var(--bg-2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:13px 14px;font-size:16px}input:focus{outline:none;border-color:var(--accent-2)}button{font:inherit;cursor:pointer;background:var(--bg-3);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 14px}button.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));border:0;font-weight:600;padding:14px}button:disabled{opacity:.5}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 10px) 14px 10px;background:var(--bg-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-weight:700;margin-right:auto}.brand span{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}button.icon{background:transparent;border:0;color:var(--muted);font-size:18px;padding:6px 8px}.searchbar{display:flex;gap:8px;padding:10px 14px;background:var(--bg-2);border-bottom:1px solid var(--line)}.filter-toggle{flex:0 0 auto;font-size:14px}.filter-toggle.on{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-color:transparent}.tagrow{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line)}.chip{font-size:13px;padding:6px 11px;border-radius:999px}.chip.on{background:linear-gradient(90deg,var(--accent),var(--accent-2));border-color:transparent}.chip .count{opacity:.6;font-size:11px}.chip.clear{background:transparent;border-color:transparent;color:var(--muted);text-decoration:underline}.count-line{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;color:var(--muted);font-size:12px}.sort{display:inline-flex;align-items:center;gap:6px}.sort select{background:var(--bg-3);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12px}.list{list-style:none;margin:0;padding:0 0 calc(env(safe-area-inset-bottom) + 16px);overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.pic{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--bg-3);flex:0 0 auto}.pic.fallback{display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--muted)}.meta{flex:1 1 auto;min-width:0}.name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.handle{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rowtags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.minitag{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px}.score{flex:0 0 auto;text-align:right;font-weight:700;font-size:14px;display:flex;flex-direction:column}.score .sub{font-weight:400;font-size:10px;color:var(--muted)}.pane{flex:1;min-height:0;display:flex;flex-direction:column}.tabbar{display:flex;border-top:1px solid var(--line);background:var(--bg-2);padding-bottom:env(safe-area-inset-bottom);flex:0 0 auto}.tabbar button{flex:1;background:transparent;border:0;border-radius:0;padding:14px 0;color:var(--muted);font-size:13px}.tabbar button.on{color:var(--text);box-shadow:inset 0 2px 0 var(--accent)}.detail{display:flex;flex-direction:column;height:100%}.detail-body{flex:1;overflow-y:auto;padding:16px 16px calc(env(safe-area-inset-bottom) + 24px);display:flex;flex-direction:column;gap:20px}.detail-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.pic.big{width:92px;height:92px;font-size:34px}.detail-name{font-size:19px;font-weight:700}button.wide{width:100%}.detail section h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.stats{display:flex;flex-direction:column;gap:8px}.stats>div{display:flex;justify-content:space-between;align-items:baseline}.stats>div span{color:var(--muted);font-size:14px}.stats>div.sub{font-size:12px;opacity:.7}.tagrow.flat{padding:0;border:0;margin-bottom:10px}.chip .x{background:transparent;border:0;color:inherit;padding:0 0 0 6px;font-size:16px;line-height:1}.chip.warn{color:var(--danger);border-color:var(--danger)}.tag-add{display:flex;gap:8px}.tag-add input{flex:1}.rank{display:flex;flex-direction:column;height:100%}.cards{flex:1;min-height:0;display:flex;gap:10px;padding:10px}.card{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;gap:8px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:14px 10px}.card-main{background:transparent;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;color:inherit;min-width:0}.card-name{font-weight:600;font-size:14px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.center-tags{justify-content:center}.card-actions{margin-top:auto;display:flex;flex-direction:column;gap:6px}.card-actions button{font-size:12px;padding:8px 6px}.ig{background:linear-gradient(90deg,var(--accent),var(--accent-2));border:0;font-weight:600}.kick{color:var(--danger);border-color:#52242c}.rank-controls{flex:0 0 auto;padding:12px 16px;border-top:1px solid var(--line);background:var(--bg-2)}.slider-ends{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:6px}.slider-ends span{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slider{width:100%;accent-color:var(--accent);height:28px}.verdict{text-align:center;font-size:14px;margin:6px 0 10px}.rank-actions{display:flex;gap:10px}.rank-actions button{flex:1;padding:14px}.rank-actions .primary{flex:2}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal{width:100%;max-width:340px;display:flex;flex-direction:column;gap:10px;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:20px}.modal h3{margin:0;font-size:17px}.modal p{margin:0;font-size:13px;line-height:1.5}.small{font-size:12px}.modal-actions{display:flex;gap:10px;margin-top:6px}.modal-actions button{flex:1;padding:12px}
