.portal-main{min-width:0;display:flex;flex-direction:column;gap:12px}.portal-hero{padding:24px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,var(--surface),var(--primary-soft));box-shadow:var(--shadow)}.portal-hero small{color:var(--primary);font-weight:800}.portal-hero h1{margin:4px 0}.portal-hero p{margin:0;color:var(--muted)}
.ranking-section{padding:0!important;overflow:hidden}.ranking-section>h2{margin:0!important;padding:12px 14px!important;background:var(--surface-soft,#f1f4f5)!important;border-bottom:1px solid var(--border);font-size:13px;letter-spacing:.02em}.ranking-section-body{padding:0}.contest-table{margin:0}.contest-table th{background:var(--surface-soft,#f5f7f8);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.contest-table th,.contest-table td{padding:11px 13px}.contest-table th:first-child,.contest-table td:first-child{width:48px;text-align:center}.contest-table th:nth-child(2),.contest-table td:nth-child(2){text-align:left}.contest-table th:nth-child(3),.contest-table td:nth-child(3),.contest-table th:nth-child(4),.contest-table td:nth-child(4){text-align:right}.contest-table td:last-child{color:var(--primary);font-weight:800}.contest-table tbody tr:hover{background:var(--primary-soft)}.ranking-section .empty{margin:0;min-height:130px;display:grid;place-items:center}
@media(max-width:680px){.portal-hero{padding:18px}.ranking-section>h2{padding:10px 11px!important}.contest-table th,.contest-table td{padding:9px 8px;font-size:11px}}
