/* Character ranking: CABAL background, cool blue table, preserved online state. */
.ranking-page{position:relative;isolation:isolate;min-height:calc(100vh - 92px);padding:66px 28px 95px;background:#090f18}.ranking-page:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#090f1855 0%,#090f18b8 42%,#090f18ed 100%),url('../img/cabal-world.jpg') center top/cover no-repeat;pointer-events:none}.ranking-container{max-width:1320px;margin:auto}.ranking-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 8px;margin-bottom:36px}.ranking-heading .eyebrow{font-size:10px;letter-spacing:3px;margin-bottom:10px}.ranking-heading h1{font-size:38px;font-weight:500;margin:0 0 5px;letter-spacing:.5px}.ranking-heading p{color:#a4b7c8;font-size:14px;margin:0}.ranking-summary{display:flex;align-items:center;gap:9px;background:#0d1926d9;border:1px solid #32506c;border-radius:25px;padding:10px 18px;color:#9fb3c5;font-size:12px;white-space:nowrap}.ranking-summary strong{color:#a4e8c9;font-size:15px}.ranking-toolbar{display:flex;justify-content:space-between;align-items:center;padding:15px 8px;color:#a6b8c9;font:11px Arial,sans-serif;letter-spacing:1.5px}.ranking-toolbar b{font-weight:400;color:#71889d;margin-left:8px}.ranking-toolbar small{font:12px Kanit,Arial,sans-serif;color:#92a7ba;letter-spacing:0}.ranking-table-wrap{overflow:auto;border:1px solid #263140;border-radius:20px;background:#090f1be8;box-shadow:0 24px 80px #0005;backdrop-filter:blur(8px)}.ranking-table{border-collapse:collapse;width:100%;min-width:970px;text-align:left;table-layout:fixed}.ranking-table th{height:64px;background:#151b27e8;color:#94a5b8;font-size:12px;letter-spacing:1.5px;font-weight:500;border-bottom:1px solid #283240;padding:0 24px;white-space:nowrap}.ranking-table th:nth-child(1){width:8%}.ranking-table th:nth-child(2){width:24%}.ranking-table th:nth-child(3){width:21%}.ranking-table th:nth-child(4){width:11%}.ranking-table th:nth-child(5){width:14%}.ranking-table th:nth-child(6){width:12%}.ranking-table th:nth-child(7){width:10%}.ranking-table td{padding:19px 24px;border-bottom:1px solid #ffffff07;height:73px;font-size:14px;color:#c3ced9;vertical-align:middle}.ranking-table tbody tr:last-child td{border-bottom:0}.rank-row{transition:background .18s}.rank-row:hover{background:#1c34484f}.rank-position{font-weight:600;text-align:center}.rank-position span{display:inline-grid;place-items:center;min-width:27px;height:27px}.rank-1 .rank-position span{background:#b99a4b20;color:#ffdc82;border:1px solid #a38a454d;border-radius:7px}.rank-2 .rank-position span{background:#a5bdca15;color:#dceefb;border:1px solid #95abba40;border-radius:7px}.rank-3 .rank-position span{background:#b9784920;color:#e4b18a;border:1px solid #b9784940;border-radius:7px}.rank-character{display:flex;align-items:center;gap:16px;min-width:0}.rank-character strong{color:#f3f6fa;font-size:14px;font-weight:600;overflow-wrap:anywhere;line-height:1.6}.class-emblem{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1px solid #2a7394;transform:rotate(-8deg);background:radial-gradient(#285d7b,#0b1b30);border-radius:6px;font:15px Georgia,serif;color:#9cd5f3;text-shadow:0 0 6px #60bfff;box-shadow:0 0 7px #149bdf30}.class-4{color:#e9d284;border-color:#a99048}.class-7{color:#c1b6ff;border-color:#606dbb}.class-8{color:#97e1c9;border-color:#348f8c}.class-9{color:#dcbbfc;border-color:#8b5dbe}.class-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #2b526e;border-radius:24px;padding:9px 13px;background:#101c2b8c;color:#d5deeb;font:600 10px Arial,sans-serif;letter-spacing:.6px;white-space:nowrap}.class-badge>span{font:13px Georgia,serif;color:#77c7f5}.ranking-table .rank-level{color:#afe3f5;font-weight:600;white-space:nowrap}.ranking-table .power-cell{text-align:right}.ranking-table .rank-power{color:#67d3ff;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.ranking-table .rank-guild{color:#8fa2b7;overflow-wrap:anywhere;line-height:1.6}.presence{display:inline-flex;align-items:center;gap:7px;font:11px Arial,sans-serif;white-space:nowrap}.presence i{width:6px;height:6px;border-radius:50%;display:inline-block}.is-online{color:#83deb2}.is-online i{background:#71e3a9;box-shadow:0 0 8px #64daa870}.is-offline{color:#697a8e}.is-offline i{background:#546276}.ranking-table .ranking-empty{text-align:center;padding:65px 24px;color:#9eafc1}.ranking-footnote{display:flex;justify-content:space-between;gap:16px;color:#8296aa;font-size:11px;margin:20px 8px 0}.ranking-data-note{color:#73869a;font-size:11px;margin:8px}.ranking-table-wrap:focus-visible{outline:2px solid #719ebc;outline-offset:4px}
@media(max-width:800px){.ranking-page{padding:38px 16px 65px}.ranking-heading{align-items:flex-start;flex-direction:column;margin-bottom:20px;gap:20px}.ranking-heading h1{font-size:31px}.ranking-table{min-width:970px}.ranking-summary{padding:9px 13px;font-size:11px}.ranking-toolbar{align-items:flex-start;gap:12px}.ranking-toolbar>span{font-size:10px}.ranking-toolbar small{font-size:10px}.ranking-table th,.ranking-table td{padding-left:20px;padding-right:20px}.ranking-footnote{font-size:10px;line-height:1.6}.ranking-page:before{background-position:43% top}.ranking-table-wrap{border-radius:14px}}

.ranking-scroll-hint{display:none}@media(max-width:800px){.ranking-scroll-hint{display:block;color:#8fa9be;font-size:11px;margin:0 8px 12px}}


.ranking-class-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 8px 26px}.ranking-class-filters a,.class-short{font:700 12px/1 Arial,sans-serif;letter-spacing:1px;color:#445a80;border:1px solid #d2e0f0;border-radius:24px;background:linear-gradient(180deg,#fff,#e9f0fa);text-decoration:none;text-align:center;min-width:52px;padding:11px 17px;box-shadow:0 3px 12px #0002}.ranking-class-filters a:first-child{font-family:Kanit,Arial,sans-serif;font-size:12px;letter-spacing:0}.ranking-class-filters a:hover{background:#d4e8ff;border-color:#8fbee2}.ranking-class-filters a.selected{background:linear-gradient(135deg,#87d4f3,#b4e6f5);border-color:#d5f5ff;color:#132b43;box-shadow:0 0 15px #56bde630}.class-short{display:inline-block;min-width:54px;padding:10px 14px;text-decoration:none;cursor:help}.ranking-table .pvp-cell{text-align:right}.ranking-table .rank-pvp{color:#69d8ff;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.nation-label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px}.nation-label i{display:block;width:6px;height:6px;transform:rotate(45deg);background:currentColor;box-shadow:0 0 8px currentColor}.nation-capella{color:#9aafff}.nation-procyon{color:#efb477}.nation-neutral{color:#899bab}.nation-gm{color:#e4c77f}.ranking-table th:nth-child(2){width:25%}.ranking-table th:nth-child(3){width:13%}.ranking-table th:nth-child(4){width:12%}.ranking-table th:nth-child(5){width:16%}.ranking-table th:nth-child(6){width:16%}.ranking-table th:nth-child(7){width:10%}.ranking-scroll-hint{display:none}@media(max-width:800px){.ranking-scroll-hint{display:block;color:#8fa9be;font-size:11px;margin:0 8px 12px}.ranking-class-filters{gap:8px}.ranking-class-filters a{min-width:46px;padding:10px 13px}.ranking-heading p{font-size:12px;line-height:1.8}.ranking-summary{white-space:normal}.ranking-footnote{flex-wrap:wrap}}

/* FREEREIN ranking: show readable full class names, WITHOUT any class icon.
   Only the ranking table is affected; class filter chips stay unchanged. */
.ranking-table .ranking-class-name {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 9px 12px;
    border: 1px solid #345978;
    border-radius: 999px;
    background: rgba(15, 28, 46, .75);
    color: #dce8f6;
    font: 700 11px/1.25 Arial, sans-serif;
    letter-spacing: .15px;
    text-align: center;
    white-space: nowrap;
    text-decoration: none;
}
/* Long class names such as FORCE SHIELDER need enough table space. */
.ranking-table th:nth-child(2) { width: 24%; }
.ranking-table th:nth-child(3) { width: 18%; }
.ranking-table th:nth-child(4) { width: 11%; }
.ranking-table th:nth-child(5) { width: 15%; }
.ranking-table th:nth-child(6) { width: 14%; }
.ranking-table th:nth-child(7) { width: 10%; }
@media (max-width: 800px) {
    .ranking-table { min-width: 1030px; }
    .ranking-table .ranking-class-name { padding: 8px 10px; font-size: 10px; }
}

/* RGB character names only when dbo.cabal_pvp_ranking.Login = 1.
   Offline names keep the original ranking text color. */
.ranking-table .rank-character strong.rank-name-online-rgb {
    color: #7ddaff;
    text-shadow: 0 0 8px rgba(91, 173, 255, .30);
    animation: freerein-name-rgb-cycle 6s linear infinite;
}
@keyframes freerein-name-rgb-cycle {
    0%, 100% { color: #ff769b; }
    16.66% { color: #ffd37f; }
    33.33% { color: #a2f58f; }
    50% { color: #6bf0d5; }
    66.66% { color: #78b9ff; }
    83.33% { color: #dba0ff; }
}
/* Honor accessibility settings and avoid flashing colors for motion-sensitive visitors. */
@media (prefers-reduced-motion: reduce) {
    .ranking-table .rank-character strong.rank-name-online-rgb {
        animation: none;
        color: #8edcff;
    }
}
