.rank-layout{display:flex;flex-direction:column;gap:20px}@media (min-width:992px){.rank-layout{flex-direction:row;align-items:flex-start}}.rank-main{flex:1;min-width:0}.rank-sidebar{display:none}@media (min-width:992px){.rank-sidebar{display:block;width:280px;flex-shrink:0}}.mobile-actions{display:flex;gap:10px;margin-bottom:15px}@media (min-width:992px){.mobile-actions{display:none}}.mobile-actions__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 15px;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);border-radius:5px;color:#fff;font-family:'Oswald',Arial,sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .15s ease}.mobile-actions__btn i{font-size:14px}.mobile-actions__btn:hover{background:rgba(255,255,255,0.25)}.mobile-actions__btn.is-active{background:#009cd6;border-color:#009cd6}.my-rank-widget{margin-bottom:20px}.my-rank-widget--mobile{display:none;margin-bottom:15px}@media (min-width:992px){.my-rank-widget--mobile{display:none !important}}.my-rank-widget--desktop{display:none}@media (min-width:992px){.my-rank-widget--desktop{display:block}}.my-rank-widget__title{margin:0 0 10px 0;font-family:'Oswald',Arial,sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;color:#fff}.my-rank-widget__list{background:#fff;border-radius:5px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.my-rank-widget .btn-block{display:block;width:100%;text-align:center}.my-rank-item{display:flex;align-items:center;gap:10px;padding:15px;border-bottom:1px solid #f9f9f9}.my-rank-item:last-child{border-bottom:none}.my-rank-item--me{background:rgba(0,156,214,0.12);font-weight:700}.my-rank-item--me .my-rank-item__pos{background:#009cd6;color:#fff}.my-rank-item__pos{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#efefef;border-radius:50%;font-family:'Oswald',Arial,sans-serif;font-size:14px;font-weight:700;color:#666}.my-rank-item__name{flex:1;font-family:'Oswald',Arial,sans-serif;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333}.my-rank-item__pts{flex-shrink:0;font-family:'Oswald',Arial,sans-serif;font-size:14px;color:#aaa}.tournois-sidebar__title{margin:0 0 10px 0;font-family:'Oswald',Arial,sans-serif;font-size:16px;font-weight:700;text-transform:uppercase;color:#fff}.tournois-sidebar__title i{display:none}.tournois-sidebar__list{display:flex;flex-direction:column;gap:5px}.tournoi-sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 15px;background:#fff;border-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,0.1);color:#333;text-decoration:none;transition:all .15s ease}.tournoi-sidebar-item:hover{box-shadow:0 2px 6px rgba(0,0,0,0.15);transform:translateY(-1px)}.tournoi-sidebar-item.is-active{background:#009cd6;color:#fff}.tournoi-sidebar-item.is-active .tournoi-sidebar-item__name{color:#fff}.tournoi-sidebar-item__icon{width:36px;height:36px;object-fit:contain;border-radius:3px;background:#f9f9f9;flex-shrink:0}.tournoi-sidebar-item__icon--default{display:flex;align-items:center;justify-content:center;background:#efefef;color:#aaa;font-size:16px}.tournoi-sidebar-item__name{flex:1;font-family:'Oswald',Arial,sans-serif;font-size:14px;line-height:1.3}.tournoi-sidebar-item--archives{margin-top:10px;background:#f9f9f9}.tournoi-sidebar-item--archives:hover{background:#efefef}.tournoi-header{display:flex;align-items:center;gap:15px;margin-top:15px;margin-bottom:20px}@media (min-width:992px){.tournoi-header{margin-top:40px}}.tournoi-header__icon{flex-shrink:0;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.tournoi-header__icon img{width:50px;height:50px;object-fit:contain}.tournoi-header__info{flex:1;min-width:0}.tournoi-header__title{margin:0 0 5px 0;font-family:'Oswald',Arial,sans-serif;font-size:26px;font-weight:400;color:#fff;text-transform:uppercase;line-height:1.2}@media (min-width:768px){.tournoi-header__title{font-size:30px}}.tournoi-header__desc{margin:0;font-size:14px;color:#ccc;line-height:1.4}.rank-table-wrapper{background:#fff;border-radius:5px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.rank-table{width:100%;border-collapse:collapse;font-size:14px}.rank-table thead{background:#efefef;border-bottom:1px solid #ddd}.rank-table thead th{padding:10px 15px;font-family:'Oswald',Arial,sans-serif;font-weight:700;text-align:left;font-size:13px;text-transform:uppercase;color:#333}.rank-table thead th.rank-th-pos{width:50px;text-align:center}.rank-table thead th.rank-th-pts,.rank-table thead th.rank-th-evol,.rank-table thead th.rank-th-members{width:80px;text-align:center}.rank-table thead th.rank-th-action{width:50px}.rank-table tbody tr{border-bottom:1px solid #f9f9f9;transition:background .15s ease}.rank-table tbody tr:last-child{border-bottom:none}.rank-table tbody tr:hover{background:#efefef}.rank-table tbody td{padding:10px 15px;vertical-align:middle}.rank-row--me{background:rgba(0,156,214,0.08) !important}.rank-row--me:hover{background:rgba(0,156,214,0.12) !important}.rank-td-pos{text-align:center}.rank-pos-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-family:'Oswald',Arial,sans-serif;font-weight:700;font-size:13px;background:#efefef;color:#666}.rank-pos-1{background:linear-gradient(135deg, #ffd700, #ffa500);color:#fff;box-shadow:0 2px 4px rgba(255,215,0,0.4)}.rank-pos-2{background:linear-gradient(135deg, #c0c0c0, #a0a0a0);color:#fff;box-shadow:0 2px 4px rgba(192,192,192,0.4)}.rank-pos-3{background:linear-gradient(135deg, #cd7f32, #8b4513);color:#fff;box-shadow:0 2px 4px rgba(205,127,50,0.4)}.rank-td-player,.rank-td-team{max-width:200px}.rank-player-link,.rank-team-link{display:flex;align-items:center;gap:10px;color:#333}.rank-player-link:hover,.rank-team-link:hover{color:#009cd6}.rank-avatar,.rank-team-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;object-fit:cover;background:#f9f9f9}.rank-team-avatar{border-radius:3px}.rank-team-avatar--default{display:flex;align-items:center;justify-content:center;background:#efefef}.rank-team-avatar--default i{font-size:16px;color:#aaa}.rank-player-name,.rank-team-name{font-family:'Oswald',Arial,sans-serif;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-gender{margin-left:5px;font-size:12px}.rank-gender--m{color:#009cd6}.rank-gender--f{color:#E91E63}.rank-td-pts{text-align:center;font-family:'Oswald',Arial,sans-serif}.rank-td-pts strong{font-size:15px;color:#333}.rank-td-evol{text-align:center}.rank-evol{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:3px;font-family:Arial,sans-serif;font-size:12px;font-weight:400}.rank-evol i{font-size:14px}.rank-evol--up{background:rgba(39,174,96,0.15);color:#27ae60}.rank-evol--down{background:rgba(243,39,33,0.15);color:#f32721}.rank-evol--stable{color:#ccc}.rank-td-members{text-align:center;font-family:'Oswald',Arial,sans-serif;font-size:13px;color:#666}.rank-td-action{text-align:center}.rank-btn-join{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#27ae60;color:#fff;border-radius:50%;font-size:14px;text-decoration:none;transition:all .2s ease}.rank-btn-join:hover{background:#1e8449;transform:scale(1.1)}.rank-btn-recruit{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#009cd6;color:#fff;border-radius:50%;font-size:14px;text-decoration:none;transition:all .2s ease}.rank-btn-recruit:hover{background:#0077a3;transform:scale(1.1)}.rank-empty{padding:30px;text-align:center;color:#ccc;font-style:italic}.rank-cta{margin-top:30px;text-align:center}@media (max-width:576px){.rank-table{font-size:13px;table-layout:fixed;width:100%}.rank-table thead th,.rank-table tbody td{padding:5px}.rank-table .rank-th-pos,.rank-table .rank-td-pos{width:36px}.rank-table .rank-th-pts,.rank-table .rank-td-pts{width:55px}.rank-table .rank-th-action,.rank-table .rank-td-action{width:40px}.rank-table .rank-th-evol,.rank-table .rank-td-evol{width:45px}.rank-table .rank-th-members,.rank-table .rank-td-members{display:none}.rank-avatar,.rank-team-avatar{width:28px;height:28px}.rank-player-name,.rank-team-name{max-width:120px}.rank-pos-badge{width:24px;height:24px;font-size:11px}.rank-gender{display:none}}@media (max-width:400px){.rank-table{font-size:12px}.rank-table .rank-th-pts,.rank-table .rank-td-pts{width:50px}.rank-avatar,.rank-team-avatar{width:24px;height:24px}.rank-player-name,.rank-team-name{max-width:90px}.rank-player-link,.rank-team-link{gap:4px}}.archives-grid{max-height:70vh;overflow-y:auto}.archives-year{margin-bottom:30px}.archives-year:last-child{margin-bottom:0}.archives-year__title{margin:0 0 15px 0;padding-bottom:5px;border-bottom:2px solid #009cd6;font-family:'Oswald',Arial,sans-serif;font-size:1.25em;font-weight:700;color:#333}.archives-year__list{display:flex;flex-wrap:wrap;gap:10px}.archive-tournoi{display:block;width:60px;height:60px;padding:5px;background:#f9f9f9;border-radius:5px;transition:all .15s ease}.archive-tournoi:hover{background:#efefef;transform:scale(1.1)}.archive-tournoi img{width:100%;height:100%;object-fit:contain}