*{margin:0;padding:0;box-sizing:border-box}body{background:#0d0d0d;min-height:100vh;display:flex;flex-direction:column;align-items:center;color:#e0e0e0}.container{margin:calc(1 * var(--s));background:#1a1a1a;border-radius:calc(.5 * var(--s));box-shadow:0 8px 32px rgba(0,0,0,.8);width:fit-content;max-width:98%;overflow:hidden;border:1px solid #2a2a2a}.header{background:linear-gradient(135deg,#1f1f1f 0%,#252525 100%);padding:calc(.875 * var(--s))calc(1.25 * var(--s));text-align:center;border-bottom:1px solid #2a2a2a}.header h1{font-size:calc(1.25 * var(--s));margin-bottom:calc(.125 * var(--s));color:#fbbf24;font-weight:600}.header p{font-size:calc(.6875 * var(--s));color:#888;font-weight:400}.pet-icon{display:inline-block;border-radius:4px;background:#111;border:1px solid transparent;line-height:1;padding:0 1px;vertical-align:middle}.pet-icon{display:inline-block;vertical-align:middle;border-radius:3px;outline:1.5px solid transparent}.pet-glow-white{outline-color:#cacaca}.pet-glow-green{outline-color:#4ade80}.pet-glow-blue{outline-color:#4b8bff}.pet-glow-violet{outline-color:#a78bfa}.pet-glow-orange{outline-color:#fb923c}.pet-glow-red{outline-color:#ef4444}.ladder-tabs{display:flex;flex-wrap:wrap;background:#161616;border-bottom:1px solid #2a2a2a}.ladder-tab{flex:0 0 calc(100%/8);width:calc(100%/8);padding:calc(.5625 * var(--s))calc(.75 * var(--s));background:0 0;border:none;border-bottom:2px solid transparent;color:#666;font-size:calc(.8125 * var(--s));font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.ladder-tab:hover{color:#aaa;background:#1a1a1a}.ladder-tab.active{color:#fbbf24;border-bottom-color:#fbbf24;background:#1a1a1a}.leaderboard{max-height:75vh;overflow:auto}.leaderboard-mobile{display:none}table{width:auto;border-collapse:collapse;font-size:calc(.8125 * var(--s));table-layout:auto}th{background:#1f1f1f;padding:calc(.5 * var(--s));text-align:left;font-weight:600;font-size:calc(.6 * var(--s));color:#999;text-transform:uppercase;letter-spacing:.1px;border-bottom:1px solid #2a2a2a;position:sticky;top:0;z-index:10;cursor:pointer;user-select:none;transition:background .15s;white-space:nowrap}th:hover{background:#252525}th.sortable::after{content:" ↓";opacity:.3;font-size:calc(.5625 * var(--s));margin-left:calc(.1875 * var(--s))}th.sort-asc::after{content:" ▲";opacity:1;color:#4b8bff}th.sort-desc::after{content:" ▼";opacity:1;color:#4b8bff}th.stats,th.skills,th.master,th.gold,th.rating{direction:rtl}td{padding:calc(.5 * var(--s))calc(.625 * var(--s));border-bottom:1px solid #232323;text-align:left;white-space:nowrap}tr{transition:background .12s}tr:hover{background:#222}tr.gold{background:rgba(255,215,0,9%)}tr.silver{background:rgba(192,192,192,6%)}tr.bronze{background:rgba(205,127,50,6%)}.rank{font-weight:600;text-align:center;color:#999;width:1%;padding-left:calc(.75 * var(--s));padding-right:calc(.75 * var(--s))}td.rank{font-size:calc(.875 * var(--s))}th.rank{font-size:calc(.6875 * var(--s))}tr.gold .rank{color:gold}tr.silver .rank{color:silver}tr.bronze .rank{color:#cd7f32}.nickname{font-weight:500;color:#e0e0e0;width:1%}.level{font-weight:600;color:#4b8bff;text-align:center;width:1%}.race{color:#888;text-transform:capitalize;width:1%;font-size:calc(.75 * var(--s))}.clazz{color:#a3c4f3;text-transform:capitalize;width:1%;font-size:calc(.75 * var(--s))}.title{color:#a78bfa;font-style:italic;width:1%;font-size:calc(.75 * var(--s));max-width:calc(12.5 * var(--s));overflow:hidden;text-overflow:ellipsis}.stats{color:#4ade80;font-weight:500;text-align:right;width:1%}.rating{color:#fbbf24;font-weight:700;text-align:right;width:1%}.skills{color:#38bdf8;font-weight:500;text-align:right;width:1%}.master{color:#a78bfa;font-weight:500;text-align:right;width:1%}td.gold{color:#fbbf24;font-weight:600;text-align:right;width:1%}.deaths{color:#ef4444;font-weight:500;text-align:center;width:1%;padding-right:calc(.75 * var(--s))}th.rank,th.level,th.deaths{text-align:center}th.stats,th.skills,th.master,th.gold,th.rating{text-align:right}.empty{text-align:center;padding:calc(1.875 * var(--s))calc(1.25 * var(--s));color:#666;font-size:calc(.8125 * var(--s))}.footer{padding:calc(.75 * var(--s));text-align:center;border-top:1px solid #2a2a2a;background:#1a1a1a}.close-btn{background:#2563eb;color:#fff;padding:calc(.5 * var(--s))calc(1.5 * var(--s));border:none;border-radius:calc(.3125 * var(--s));cursor:pointer;font-size:calc(.8125 * var(--s));font-weight:500;transition:all .2s}.close-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.close-btn:active{transform:translateY(0)}.leaderboard::-webkit-scrollbar,.leaderboard-mobile::-webkit-scrollbar{width:calc(.375 * var(--s));height:calc(.375 * var(--s))}.leaderboard::-webkit-scrollbar-track,.leaderboard-mobile::-webkit-scrollbar-track{background:#1a1a1a}.leaderboard::-webkit-scrollbar-thumb,.leaderboard-mobile::-webkit-scrollbar-thumb{background:#333;border-radius:calc(.1875 * var(--s))}.leaderboard::-webkit-scrollbar-thumb:hover,.leaderboard-mobile::-webkit-scrollbar-thumb:hover{background:#444}.leaderboard::-webkit-scrollbar-corner,.leaderboard-mobile::-webkit-scrollbar-corner{background:#1a1a1a}@media(max-width:768px){body{padding:0;align-items:stretch}.container{width:100%;max-width:100%;min-height:100vh;border-radius:0;border:none;display:flex;flex-direction:column;margin-top:0}.header{display:none}.ladder-tabs{flex-shrink:0}.ladder-tab{flex:none;width:auto;padding:10px 8px;font-size:13px}.leaderboard{display:none!important}.leaderboard-mobile{display:flex;flex-direction:column;flex:1;overflow:hidden;max-height:calc(100vh - 160px)}.mobile-sort-bar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:8px;background:#161616;border-bottom:1px solid #2a2a2a;flex-shrink:0;overflow:visible}.mobile-sort-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#252525;border:1px solid #333;border-radius:20px;color:#777;font-size:13px;font-weight:500;padding:5px 11px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;line-height:1}.mobile-sort-btn:active{transform:scale(.95)}.mobile-sort-btn.active{background:#162a46;border-color:#3b6fd4;color:#e0e0e0}.msb-arrow::after{content:"⇅";font-size:9px;opacity:.35}.mobile-sort-btn.active .msb-arrow::after{opacity:1;color:#4b8bff}.mobile-sort-btn.active.asc .msb-arrow::after{content:"▲"}.mobile-sort-btn.active.desc .msb-arrow::after{content:"▼"}.mobile-cards-wrapper{flex:1;overflow-y:auto;padding:8px}.mobile-card{background:#1f1f1f;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;padding:12px;transition:background .2s}.mobile-card:active{background:#252525}.mobile-card.gold{background:rgba(255,215,0,9%);border-color:rgba(255,215,0,.2)}.mobile-card.silver{background:rgba(192,192,192,6%);border-color:rgba(192,192,192,.2)}.mobile-card.bronze{background:rgba(205,127,50,6%);border-color:rgba(205,127,50,.2)}.mobile-card-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.mobile-rank{font-size:18px;font-weight:600;color:#999;min-width:32px;text-align:center}.mobile-card.gold .mobile-rank{color:gold}.mobile-card.silver .mobile-rank{color:silver}.mobile-card.bronze .mobile-rank{color:#cd7f32}.mobile-main{flex:1;min-width:0}.mobile-nickname{font-size:16px;font-weight:600;color:#e0e0e0;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-meta{display:flex;gap:8px;font-size:12px}.mobile-race{color:#888;text-transform:capitalize}.mobile-clazz{color:#a3c4f3;text-transform:capitalize}.mobile-title{color:#a78bfa;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.mobile-level{font-size:24px;font-weight:700;color:#4b8bff;min-width:40px;text-align:right}.mobile-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:8px;border-top:1px solid #2a2a2a}.mobile-card-stats.skills-8{grid-template-columns:repeat(4,1fr)}.mobile-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.mobile-stat-label{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.3px}.mobile-stat-value{font-size:14px;font-weight:600}.mobile-stat-value.stats{color:#4ade80}.mobile-stat-value.skills{color:#38bdf8}.mobile-stat-value.master{color:#a78bfa}.mobile-stat-value.gold{color:#fbbf24}.mobile-stat-value.deaths{color:#ef4444}.mobile-stat-value.rating{color:#fbbf24}.footer{border-radius:0;padding:12px;background:#1a1a1a;border-top:1px solid #2a2a2a}.close-btn{width:100%;padding:12px 24px;font-size:14px}.empty{padding:40px 20px;font-size:14px}}