/* Gold Rankings owns its controls, filters and tables. */
.dream-rankings-route .container{padding-top:0}
.dream-rankings-route .dream-page-heading{display:none}
.dream-theme div.container:has(.dream-rankings-page):before{display:none}
.dream-theme .dream-rankings-page{max-width:1280px;margin:0 auto;background:none;border:0;box-shadow:none;border-radius:0}
.dream-rankings-body{padding:0}
.dream-ranking-controls{padding:20px;border:1px solid #ffffff1a;border-radius:15px;background:#04040466;backdrop-filter:blur(20px);margin-bottom:10px}
.dream-ranking-controls :is(a,button):focus-visible{outline:2px solid var(--bb-orange);outline-offset:3px}
.dream-ranking-tabs{display:block;padding:0;margin:0;background:none;border:0}
.dream-ranking-categories{display:flex;gap:10px}
.dream-rank-category{display:flex;align-items:center;flex:1;min-width:0;min-height:60px;margin:0;padding:0 12px;border:1px solid #ffffff80;border-radius:8px;background:var(--rank-art) 100% 100%/100% 100% no-repeat;color:#fff;font:700 14px/20px DreamText,Arial,sans-serif;text-align:left;text-shadow:0 2px 4px #000;cursor:pointer;filter:grayscale(1);transition:filter .3s,box-shadow .3s}
.dream-rank-category-characters{--rank-art:url('../images/dream-rank-characters.webp')}
.dream-rank-category-guilds{--rank-art:url('../images/dream-rank-guilds.webp')}
.dream-rank-category-dungeons{--rank-art:url('../images/dream-rank-dungeons.webp')}
.dream-rank-category-events,.dream-rank-category-pvp{--rank-art:url('../images/dream-rank-events.webp')}
.dream-rank-category:hover,.dream-rank-category[aria-selected=true]{filter:none;border-color:var(--bb-orange);box-shadow:0 0 10px var(--bb-orange)}
.dream-ranking-subtabs{display:flex;gap:20px;margin-top:10px;overflow-x:auto;scrollbar-width:thin}
.dream-ranking-subtabs[hidden],.dream-ranking-class-slot[hidden]{display:none}
.dream-rank-subtab{position:relative;display:flex;flex:1 0 auto;align-items:center;justify-content:center;gap:14px;min-height:62px;padding:10px 16px;border:1px solid #ffffff25;border-radius:15px;background:linear-gradient(#09283dd9,#031d2fd9);box-shadow:inset 0 1px 7px #ffffff07;color:#fff;font:700 14px/20px DreamText,Arial,sans-serif;cursor:pointer}
.dream-rank-subtab:hover{background:linear-gradient(#0c2c43,#062033)}
.dream-rank-subtab[aria-current=true]:after{content:'';position:absolute;left:25%;right:25%;bottom:2px;height:2px;background:var(--bb-orange);box-shadow:0 0 7px var(--bb-orange)}
.dream-rank-tab-image,.dream-ranking-subtabs .dream-icon{width:38px;height:38px;object-fit:contain;flex-shrink:0}
.dream-ranking-subtabs .dream-icon{color:#c6a866}
.dream-ranking-filter-row{display:flex;gap:10px;margin-top:10px;align-items:flex-start}
.dream-ranking-class-slot{flex:1;min-width:0}
.dream-ranking-class-slot #rank_by_class{display:flex;align-items:center;margin:0;padding:0;min-height:35px;overflow-x:auto;border:1px solid #ffffff20;border-radius:15px;background:#051f35;scrollbar-width:none}
.dream-rank-class{position:relative;display:flex;flex:1 0 auto;align-items:center;justify-content:center;min-width:40px;min-height:33px;margin:0;padding:5px 12px;background:none;border:0;color:#9a8787;font:400 14px/18px DreamText,Arial,sans-serif}
.dream-rank-class+.dream-rank-class:before{content:'';position:absolute;left:0;top:25%;bottom:25%;width:1px;background:#ffffff14}
.dream-rank-class:hover,.dream-rank-class[aria-current=true]{color:#fff}
.dream-rank-class[aria-current=true]:after{content:'';position:absolute;bottom:2px;left:25%;right:25%;height:2px;background:var(--bb-orange);box-shadow:0 0 7px var(--bb-orange)}
.dream-rank-class img{width:24px;height:24px;object-fit:cover;border-radius:50%}
#rank_by_class br{display:none}
.dream-rank-character{display:flex;align-items:center;gap:14px;white-space:nowrap}
.dream-rank-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:32px;flex-shrink:0}
.dream-rank-avatar:after{content:'';position:absolute;width:62px;height:62px;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-5px;background:url('../images/dream-rank-frame-10.png') center/contain no-repeat;pointer-events:none}
.dream-rank-place-1:after{background-image:url('../images/dream-rank-frame-1.png')}
.dream-rank-place-2:after{background-image:url('../images/dream-rank-frame-2.png')}
.dream-rank-place-3:after{background-image:url('../images/dream-rank-frame-3.png')}
.dream-rank-avatar img{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;object-fit:cover}
.dream-ranking-results:empty{min-height:220px;border:1px solid #ffffff17;border-radius:15px;background:#06203480}
/* Table */
.dream-theme .dream-rankings-page .dream-ranking-table-scroll{width:100%;overflow-x:auto;background:#051f35;border:1px solid #ffffff1a;border-radius:15px;scrollbar-width:thin;scrollbar-color:#444254 transparent}
.dream-theme .dream-rankings-page .ranking-table{width:100%;margin:0;border:0;min-width:640px;border-collapse:collapse;color:#fff;font:400 14.4px/18px DreamText,Arial,sans-serif}
.dream-theme .dream-rankings-page .ranking-table thead{background:#051f35;border-bottom:1px solid #ffffff1a}
.dream-theme .dream-rankings-page .ranking-table thead tr{background:none}
.dream-theme .dream-rankings-page .ranking-table th{text-transform:none;padding:12px 10px;background:none;border:0;color:#fff;font:400 18px/20px DreamText,Arial,sans-serif;text-align:center}
.dream-theme .dream-rankings-page .ranking-table th.dream-rank-col-name{text-align:left;padding-left:16px}
.dream-theme .dream-rankings-page .ranking-table td{height:auto;padding:10px 10px;background:none;border:0;border-left:1px solid #ffffff1a;color:#fff;font-size:14.4px;vertical-align:middle}
.dream-theme .dream-rankings-page .ranking-table td:first-child{border-left:0}
.dream-theme .dream-rankings-page .ranking-table tbody tr+tr{border-top:1px solid #ffffff1a}
.dream-theme .dream-rankings-page .ranking-table tbody tr:hover{background:#ffffff08}
.dream-theme .dream-rankings-page .ranking-table .dream-rank-gold{color:#ffd600}
.dream-theme .dream-rankings-page .ranking-table td.dream-rank-col-location{color:#c0c7d5;text-align:center}

/* Character cell */
.dream-rank-dot{flex:0 0 auto;width:24px;height:24px;background:url('../images/rankings/offline.png') center/contain no-repeat}
.dream-rank-dot.is-online{background-image:url('../images/rankings/online.png')}
.dream-theme .dream-rankings-page .ranking-table td a.dream-rank-name{color:#ffeca7;font-weight:400;text-decoration:none}
.dream-theme .dream-rankings-page .ranking-table td a.dream-rank-name:hover{color:#ffd600}
.dream-theme .dream-rankings-page .dream-ranking-cache{margin-top:8px;color:#89879a;font-size:12px;text-align:right}

/* Leagues */
.dream-ranking-leagues{display:flex;flex:1;min-width:0;margin-top:0;overflow-x:auto;scrollbar-width:none;background:#051e34;border:1px solid #ffffff20;border-radius:15px}
.dream-ranking-leagues[hidden]{display:none}
.dream-theme .dream-ranking-leagues .dream-league{position:relative;flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:33px;padding:5px 12px;border:0;border-radius:0;box-shadow:none;background:none;color:#89879a;font:400 14px/18px DreamText,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.dream-ranking-leagues .dream-league+.dream-league:before{content:'';position:absolute;left:0;top:25%;bottom:25%;width:1px;background:#ffffff14}
.dream-theme .dream-ranking-leagues .dream-league:hover,.dream-theme .dream-ranking-leagues .dream-league[aria-pressed=true]{color:#fff}
.dream-ranking-leagues .dream-league[aria-pressed=true]:after{content:'';position:absolute;bottom:2px;left:30%;right:30%;height:2px;border-radius:2px;background:var(--bb-orange);box-shadow:0 0 7px var(--bb-orange)}
.dream-league-gem{width:24px;height:24px;object-fit:contain;flex-shrink:0}

/* Guild cell, Grade Score, empty state */
.dream-theme .dream-rankings-page .ranking-table td a.dream-rank-guild{display:inline-flex;align-items:center;gap:10px;color:#ffeca7;font-weight:400;text-decoration:none}
.dream-theme .dream-rankings-page .ranking-table td a.dream-rank-guild:hover{color:#ffd600}
.dream-rank-guild img{width:24px;height:24px;background:#ffffff33;image-rendering:pixelated}
.dream-theme .dream-rankings-page .ranking-table .dream-rank-col-guild{min-width:150px;text-align:left}
.dream-theme .dream-rankings-page .ranking-table .dream-rank-col-grade{min-width:90px}
.dream-theme .dream-rankings-page .ranking-table .dream-rank-col-quests{min-width:70px;text-align:center}
.dream-rank-soon{padding:48px 20px;text-align:center;background:#051f35;border:1px solid #ffffff1a;border-radius:15px}
.dream-theme .dream-rank-soon strong{display:block;margin-bottom:8px;color:#ffeca7;font:700 22px/1.3 DreamText,Arial,sans-serif}
.dream-theme .dream-rank-soon p{margin:0;color:#c0c7d5;font:400 15px/1.5 DreamText,Arial,sans-serif}

@media(max-width:1000px){.dream-ranking-filter-row{flex-wrap:wrap}.dream-ranking-class-slot,.dream-ranking-leagues{flex-basis:100%}}
@media(max-width:700px){
 .dream-ranking-controls{padding:10px;border-radius:12px}
 .dream-ranking-categories{flex-wrap:wrap;gap:6px}
 .dream-rank-category{flex:1 1 40%;min-height:44px;font-size:12px}
 .dream-ranking-subtabs{gap:8px}
 .dream-rank-subtab{min-height:50px;padding:6px 12px;gap:8px;font-size:12px}
 .dream-rank-tab-image,.dream-ranking-subtabs .dream-icon{width:28px;height:28px}
 .dream-rank-class{min-width:36px;padding:5px 8px}
 .dream-theme .dream-rankings-page .dream-ranking-table-scroll{border-radius:12px}
 .dream-theme .dream-rankings-page .ranking-table{min-width:760px;font-size:12px}
 .dream-theme .dream-rankings-page .ranking-table.dream-rank-compact{min-width:520px}
 .dream-theme .dream-rankings-page .ranking-table th{padding:10px 6px;font-size:13px}
 .dream-theme .dream-rankings-page .ranking-table td{padding:5px 6px;font-size:12px}
 .dream-rank-soon{padding:32px 16px}
}

/* Live character / guild search in the controls; results replace the ranking table (rank_search.ejs). */
.dream-theme .dream-rankings-page .dream-ranking-search{position:relative;display:flex;align-items:center;gap:8px;max-width:420px;margin:10px 0 0 auto}
.dream-ranking-search-icon{position:absolute;z-index:1;left:13px;width:18px;height:18px;fill:none;stroke:#89879a;stroke-width:2;stroke-linecap:round;pointer-events:none}
.dream-theme .dream-rankings-page .dream-ranking-search input{flex:1 1 auto;box-sizing:border-box;min-width:0;height:38px;margin:0;padding:0 14px 0 38px;border:1px solid #ffffff20;border-radius:19px;background:#051e34;box-shadow:none;color:#fff;font:400 14px DreamText,Arial,sans-serif}
.dream-theme .dream-rankings-page .dream-ranking-search input::placeholder{color:#89879a}
.dream-theme .dream-rankings-page .dream-ranking-search input:focus{border-color:var(--bb-orange);outline:0;box-shadow:0 0 0 3px #ff953333}
.dream-ranking-search .dream-action{flex:0 0 auto;min-height:38px;padding:8px 18px;font-size:14px}
@media(max-width:700px){.dream-theme .dream-rankings-page .dream-ranking-search{max-width:none;margin-left:0}}
.dream-theme .dream-ranking-leagues .dream-league:disabled{opacity:.35;cursor:not-allowed}
.dream-ranking-search-results[hidden],.dream-ranking-results[hidden]{display:none}
.dream-ranking-search-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.dream-theme .dream-ranking-search-head h2{margin:0;padding:0;background:none;border:0;color:#fff;font:400 18px/1.3 DreamText,Arial,sans-serif;text-transform:none}
.dream-ranking-search-head h2 span{color:#ffeca7}
.dream-ranking-search-back{min-height:34px;padding:0 16px;border:1px solid #ffffff33;border-radius:17px;background:none;color:#d7dee6;font:600 13px/1 DreamText,Arial,sans-serif;cursor:pointer}
.dream-ranking-search-back:hover{border-color:var(--bb-orange);color:#fff}
.dream-ranking-search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;align-items:start}
.dream-theme .dream-rankings-page .ranking-table.dream-rank-search-table{min-width:0}
.dream-theme .dream-rankings-page .ranking-table .dream-rank-col-pos{width:56px;text-align:center}
.dream-theme .dream-rankings-page .ranking-table.dream-rank-search-table td{padding:10px}
.dream-theme .dream-rankings-page .ranking-table.dream-rank-search-table td+td{text-align:left}
.dream-theme .dream-rankings-page .ranking-table td .f16{margin-left:6px}
