:root{--accent:#a78bfa;--line:#292633;--muted:#aaa6b8;--cyan:#25f4ee}
button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.title-bar h1{font-size:20px;font-weight:700;letter-spacing:2px;background:linear-gradient(135deg,#a78bfa,#7c4dff,#25f4ee);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tab-btn.active::after{background:linear-gradient(90deg,#7c4dff,#25f4ee)}
.divisions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 16px 0}
.divisions button{padding:8px 0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#888;font-size:11px;font-weight:600}
.divisions button.selected{color:#fff;background:rgba(124,77,255,.18);border-color:rgba(124,77,255,.5)}
.update-bar{gap:8px;flex-wrap:wrap}
.search{display:flex;align-items:center;gap:12px;padding:5px 10px;margin:12px 16px 0;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.04)}
.search>span{white-space:nowrap;flex-shrink:0;color:var(--muted);font-size:11px}
.search input{width:100%;min-width:0;background:none;border:0;color:white;font-size:12px;padding:4px}
.list-caption{display:flex;justify-content:space-between;font-size:10px;margin:12px 16px 8px;color:#888}
.ranking-list{padding-bottom:0}
.diamond-count{display:block;font-size:9px;color:#888;margin-top:3px}
.achievement{display:block;font-size:9px;color:var(--cyan);margin-top:3px}
.data-footnote{text-align:center;font-size:10px;line-height:1.8;color:var(--muted);padding:24px 16px}
.empty{text-align:center;padding:40px 20px;font-size:13px;line-height:1.9;color:var(--muted)}
.event-details{padding:24px 20px}.event-details h2{font-size:22px;color:#d3bcff;margin-bottom:12px}.event-details h3{font-size:15px;margin:28px 0 10px}
.event-details p{font-size:12px;line-height:1.9;color:#d5d1de}.event-details table{width:100%;border-collapse:collapse;margin-top:14px;font-size:10px}
.event-details th,.event-details td{text-align:left;border-bottom:1px solid var(--line);padding:12px 3px}.event-details th{color:var(--muted);font-weight:normal}
.rules{background:#1b1526;padding:10px 14px}.rules p{display:flex;justify-content:space-between}
.event-details p.muted{font-size:10px;color:var(--muted);margin-top:10px}.event-details dl{font-size:12px;line-height:2}.event-details dt{color:var(--muted);margin-top:10px}
.source-link{display:block;text-align:center;color:#d3bcff;border:1px solid #614c7e;border-radius:6px;padding:14px;margin-top:28px;font-size:12px;text-decoration:none}
footer{text-align:center;border-top:1px solid var(--line);padding:28px 16px;color:var(--muted);font-size:11px;line-height:2}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hero-video-wrap video{visibility:hidden}.hero-video-wrap{background:center/cover url('header-poster.webp')}}
@media(max-width:350px){.rank-avatar{width:36px;height:36px;margin:0 6px}.rank-num{width:24px}.rank-card{padding:10px 6px}.rank-info .nickname{font-size:12px}.rank-score{margin-left:4px}.rank-score .diamonds{font-size:12px}}
