/* Match the public site's shared shell; reuse its compiled CSS and font assets. */
:root{--bg:#11151c;--panel:rgba(14,17,24,.65);--line:rgba(255,255,255,.075);--text:#f5f3ef;--muted:rgba(226,230,236,.56);--gold:#e8ce8d;--green:#d8ad4b}
body{background:transparent;color:var(--foreground);font-family:var(--font-sans);font-size:16px;line-height:1.5}
#site-background{pointer-events:none}
#official-navbar{height:64px;min-height:64px;background:rgba(0,0,0,.3);border-color:rgba(255,255,255,.1);font-family:var(--font-sans)}
#official-navbar nav a{font-size:14px;letter-spacing:0;line-height:1.5}
#official-navbar .jt-account-entry{font-size:13px}
#official-navbar>nav{gap:26px}
.ranking-shell .island-sidebar{display:block}
.ranking-shell .island-content{max-width:none;margin:0;padding:0}
.rank-page{font-size:14px}
.ranking-shell .primary-tabs{display:grid;gap:12px}
.ranking-shell .primary-tabs button{position:relative;display:flex;gap:10px;padding:8px 10px;width:100%;font-size:13.5px;font-weight:500;text-align:left;line-height:1.35;letter-spacing:0;color:rgba(239,241,244,.74);border:1px solid transparent;background:none;border-radius:9px}
.ranking-shell .primary-tabs button[aria-selected=true]{border-color:rgba(231,190,91,.2);background:linear-gradient(90deg,rgba(190,142,41,.24),rgba(190,142,41,.1));color:#f4ddb0;font-weight:650;box-shadow:inset 0 1px 0 #ffffff09}
.ranking-shell .primary-tabs button[aria-selected=true]:after{display:none}
.ranking-shell .primary-tabs button[aria-selected=true]:before{background:#d8ad4b}
.ranking-shell .primary-tabs button:hover{background:rgba(255,255,255,.045);color:#fff}
.ranking-shell .primary-tabs button[aria-selected=true]:hover{background:linear-gradient(90deg,rgba(190,142,41,.24),rgba(190,142,41,.1));color:#f4ddb0}
.sidebar-season{margin:20px 10px 0;padding-top:17px;border-top:1px solid #ffffff10;color:#c1b494;font-size:12px}
.sidebar-season small{display:block;font-size:11px;color:#8b8f99;margin-top:7px}
.page-heading{margin:0 0 20px;align-items:center;gap:14px}
.page-heading h1{font-size:24px;font-weight:700;line-height:1.35;letter-spacing:0;margin:0;color:#f5f3ef}
.page-heading p{font-size:13px;color:rgba(226,230,236,.6);margin:9px 0 0}
.season-control{font-size:12px;color:#a3a6af}
select{font-size:12px;border:1px solid #ffffff15;background:rgba(0,0,0,.23);color:#d7d4ce;border-radius:9px;padding:9px 28px 9px 12px;min-height:38px}
.board-navigation{margin:0 0 22px;padding:0 0 16px;align-items:center;border-color:#ffffff10}
.snapshot{font-size:11px;color:#8c929f;padding:0}.snapshot b{color:#b4b6bf;font-size:11px;margin-left:6px}
.text-button{color:#ccb784;font-size:12px;gap:12px}
.rank-page .class-tabs{display:flex!important;align-items:center;gap:9px;flex-wrap:wrap;padding:15px 17px;margin-bottom:23px;border:1px solid #ffffff12;border-radius:12px;background:rgba(8,12,19,.28)}
.rank-page .class-tabs[hidden]{display:none!important}
.class-filter-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#a9aeb8;margin-right:8px;white-space:nowrap}
.class-filter-label .icon{width:16px;height:16px;color:#cab57f}
.rank-page .class-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1px solid #ffffff12;border-radius:8px;background:rgba(255,255,255,.03);color:#aeb3be;font-size:12px}
.rank-page .class-tabs button[aria-pressed=true]{color:#f0d79f;border-color:#e7be5b44;background:#be8e2929}
.rank-page .class-tabs button:hover{border-color:#e7be5b35;color:#eee6d6}
.rank-page .class-tabs img{width:21px;height:21px;image-rendering:pixelated;object-fit:contain}
.content-layout{grid-template-columns:minmax(0,1fr);gap:22px}
.board-title{margin-bottom:20px;align-items:center;gap:12px}
.board-title h3{font-size:19px;letter-spacing:0;margin:0 0 7px;font-weight:600}
.board-title p{font-size:12px;line-height:1.7;color:#9da3ae;max-width:none}
.total-label{font-size:11px;color:#b0b4be;border:1px solid #ffffff10;background:#ffffff05;padding:4px 9px;border-radius:7px}
.podium{gap:14px;margin-bottom:22px;padding-top:4px}
.champion{border:1px solid #ffffff12;border-radius:14px;background:rgba(8,12,19,.35);padding:20px 12px 13px;text-align:left;min-height:164px;display:grid;grid-template-columns:45px minmax(0,1fr);column-gap:12px;align-content:start;backdrop-filter:blur(8px);transition:border-color 160ms ease,background-color 160ms ease}
.champion:hover,.champion.first:hover{transform:none;border-color:#e1b75455;background:rgba(26,26,29,.6)}
.champion.first{transform:none;background:linear-gradient(140deg,#b1813119,#080c1366);border-color:#e7be5b38}
.champion.third{border-color:#ffffff12}
.champion .avatar{width:43px;height:43px;margin-top:16px;grid-column:1;grid-row:1/3;border-radius:6px}
.champion.first .avatar{border:1px solid #c6a16899}
.champion-name{grid-column:2;grid-row:1;margin:18px 0 5px;font-size:14px;line-height:1.4}
.champion-meta{grid-column:2;grid-row:2;justify-content:start;gap:6px;font-size:10px;align-items:center}
.champion-score{grid-column:1/-1;font-size:24px;font-family:var(--font-sans);letter-spacing:0;margin:16px 0 0;color:#e5e7eb;font-weight:600}
.champion-score small{font-size:10px;color:#8b919d;margin-left:7px}
.champion-foot{grid-column:1/-1;margin-top:10px;font-size:10px;padding-top:8px;border-top-color:#ffffff0a;color:#9097a4}
.place{font-size:10px;letter-spacing:.3px;top:10px;left:12px;color:#a0a5af}.first .place{color:#dcc38d}.third .place{color:#b9a18c}
.rank-table{background:rgba(8,12,19,.3);border-color:#ffffff12;border-radius:14px}
.table-toolbar{padding:15px 19px;border-color:#ffffff0e}
.table-toolbar b{font-size:14px}.table-toolbar>div>span{font-size:11px;color:#9399a5}
.search{background:rgba(0,0,0,.22);border-color:#ffffff18;border-radius:8px;padding:8px 11px;width:228px}
.search input{font-size:12px;color:#e5e7eb}.search input::placeholder{color:#808794}
.search .icon{color:#9aa0ab}.search-hint{display:none}
.search:focus-within{border-color:#caa155}
table{font-size:13px}th{font-size:12px;color:#9199a7;background:rgba(0,0,0,.16);height:40px;padding:0 14px}
td{font-size:12px;padding:0 14px;height:63px;color:#b9bec8;border-top-color:#ffffff08}
.player-cell{gap:11px}.player-cell button{font-size:13px;color:#e5e5e7;max-width:155px}.player-cell small{font-size:10px;color:#8b92a0;margin-top:2px}
.score{font-size:14px;font-weight:600;font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:#edece7}
.rank-number{font-size:13px;font-family:var(--font-sans);color:#a4aab6;font-variant-numeric:tabular-nums}
.class-badge{font-size:10px;padding:2px 7px}.detail-link{font-size:12px;color:#b7a780}
.change{font-size:11px}.change.up{color:#99baa6}.change.down{color:#bf9c92}
tr.mine td{background:#be8e2912;border-top-color:#be8e2918}tr.mine td:first-child{box-shadow:inset 2px 0 #d8ad4b}
.you-tag{color:#dcc38d;background:#be8e2920}.pagination{font-size:11px;padding:12px 17px;border-color:#ffffff10;color:#9299a7}
.pagination button{border-color:#ffffff18;background:#ffffff03;color:#d4d5d9;width:30px;height:30px}
.pagination button:not(:disabled):hover{background:#d8ad4b20}
.content-layout>aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px}
.content-layout>aside>section{margin:0;border-color:#ffffff12;border-radius:14px;background:rgba(8,12,19,.28);padding:20px}
.aside-heading{color:#d9c494}.aside-heading h3{font-size:14px;color:#e8e5de}.tiny-tag{font-size:10px;color:#9297a3}
.my-profile{margin-top:16px;gap:12px}.my-profile b{font-size:14px;color:#e4e4e7}.my-profile small{font-size:11px;color:#989faa}
.my-metric{margin:16px 0 10px}.my-metric small{font-size:11px;color:#969daa}.my-metric strong{font-size:25px;font-family:var(--font-sans);color:#e8dfc9}
.my-metric>div:last-child strong{color:#dfcba0;font-size:20px}
.my-gap{border-color:#e1b75420;background:#bd8c2810;color:#adb0b9;font-size:11px;margin:14px 0;padding:10px 12px;line-height:1.9}
.my-gap b{color:#dfc38a}.outline-button{border-color:#c6a97042;color:#e5d0a5;font-size:12px;padding:9px}.outline-button:hover{background:#d8ad4b12}
.rule-item{margin-top:15px;gap:12px}.rule-item>span{color:#ceb77b;font-size:11px}.rule-item b{font-size:12px;color:#ddd9d0}.rule-item p{font-size:11px;color:#969da9;line-height:1.8}
.rules-card>.text-button{margin-top:16px;padding-top:12px;color:#d4bd8e}
.content-layout>aside>.adventure-note{display:none}.data-note{grid-column:1/-1;font-size:11px;color:#9299a6;margin:0;padding:0;line-height:1.8}
.dungeon-area{margin-bottom:22px}.dungeon-heading{font-size:13px;color:#d2d4da}.dungeon-heading small{font-size:11px;color:#8e96a3}
.dungeon-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dungeon-tabs button{background:rgba(8,12,19,.3);border-color:#ffffff15;border-radius:11px;padding:11px 13px;gap:13px;min-height:97px;transition:background 160ms ease,border-color 160ms ease}
.dungeon-tabs button[aria-pressed=true]{background:linear-gradient(90deg,#be8e2926,#be8e2911);border-color:#e7be5b44;box-shadow:none}
.dungeon-tabs button[aria-pressed=true]:after{color:#d8ad4b}
.dungeon-tabs button:not(:disabled):hover{border-color:#e7be5b40;background:#ffffff08}
.dungeon-tabs b{font-size:13px;color:#e2e0da}.dungeon-tabs small{font-size:10px;color:#969ca7}.dungeon-open{font-size:10px;color:#c7b58e}
.dungeon-art{width:39px;height:70px;border-color:#ffffff16}
.dungeon-tabs .dungeon-locked{background:rgba(0,0,0,.14);opacity:.5;justify-content:center}
.dungeon-filters{padding-top:14px;gap:18px;font-size:12px;color:#a5abb7;flex-wrap:wrap}.dungeon-filters>span{font-size:10px;color:#969ba7;margin-left:0}
.empty-state{padding:45px 20px;color:#9ca3af;font-size:13px}.empty-state b{color:#e5dfd0;font-size:16px}
.team-size{font-size:10px;color:#a3a9b5}.team-avatars{gap:0}
.rank-page footer{margin-top:22px;padding:16px 0 0;font-size:11px;color:#8c94a2;display:flex;border-color:#ffffff0c}.rank-page footer b{color:#b9b7af}
dialog{background:#101b2b;border-color:#d5bc914d;color:#eee8dc;border-radius:14px;font-family:var(--font-sans);padding:25px;line-height:1.6}
dialog::backdrop{background:#040914b3;backdrop-filter:blur(5px)}.dialog-top{color:#d3bb8c;font-size:11px}.dialog-top button{color:#b6b9c2}
dialog h2{font-size:24px;color:#ead2a5;font-weight:600;letter-spacing:0}dialog p{color:#a4aebb;font-size:12px}
.detail-stats div{background:#ffffff03;border-color:#ffffff12}.detail-stats b{font-family:var(--font-sans)}.detail-stats small{color:#a2a9b5}
.equipment{background:#1b2839}.equipment small{color:#aeb6c1}.equipment b{color:#e0c697}.breakdown span{background:#c6ab78}
.member-list .my-profile{border-color:#ffffff12}.dialog-top button:hover{color:#f3e4c3}
#toast{background:#192536;border-color:#ccb18355;color:#e5d1aa;border-radius:9px;font-size:12px}
#mobile-site-menu{position:sticky;top:64px;z-index:45;background:#090f1cf2;border-bottom:1px solid #ffffff18;padding:10px 18px;backdrop-filter:blur(16px)}
#mobile-site-menu a{display:block;padding:10px;color:#d6d5d1;font-size:14px}#mobile-site-menu a[aria-current]{color:#e8ce8d}
@media(min-width:1550px){.content-layout{grid-template-columns:minmax(0,1fr) 270px}.content-layout>aside{display:block}.content-layout>aside>section{margin-bottom:15px}.data-note{margin-top:14px}.dungeon-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.dungeon-tabs button{padding:10px 8px;gap:8px}.dungeon-tabs b{font-size:12px}.dungeon-tabs small{font-size:9px}.dungeon-art{width:35px;height:63px}.dungeon-open{font-size:9px}}
@media(max-width:1200px){#official-navbar>nav{gap:17px}.rank-page .guild-col{display:none}.champion-meta>.podium-guild{display:none}.champion-score{font-size:22px}.champion{column-gap:8px;grid-template-columns:36px minmax(0,1fr);padding:19px 10px 12px}.champion .avatar{width:36px;height:36px}.champion-name{font-size:13px}.dungeon-filters>span{width:100%}}
@media(max-width:1024px){.ranking-shell .island-content-inner{padding:28px 22px 38px}.ranking-shell .island-content{min-width:0}.ranking-shell .island-sidebar{width:250px;flex-basis:250px}.content-layout>aside{grid-template-columns:minmax(0,1fr)}.table-toolbar{padding:12px}.search{width:185px}.table-toolbar>div>span{font-size:10px;margin-left:5px}.page-heading{align-items:start;flex-wrap:wrap}.season-control{margin-left:auto}.rank-page .level-col,.rank-page .change-col{display:none}.dungeon-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.dungeon-heading{display:block}.dungeon-heading small{display:block;margin-top:5px}.champion-name{font-size:12px}.champion-score{font-size:20px}.champion-score small{display:block;font-size:9px;margin:3px 0 0}.champion{min-height:190px;text-align:center;display:block}.champion .avatar{display:block;margin:8px auto 0}.champion-name{margin:9px 0 5px}.champion-meta{justify-content:center}.champion-foot{font-size:9px}.board-navigation{display:flex;padding-bottom:13px}.snapshot{font-size:10px}.snapshot b{font-size:10px}}
@media(max-width:760px){.ranking-shell .island-sidebar{width:100%;padding:14px 12px;position:relative;top:0}.ranking-shell .island-sidebar-header{padding:0 8px 12px;margin-bottom:11px}.ranking-shell .island-sidebar-header h2{font-size:24px;margin-top:9px}.ranking-shell .island-sidebar-header p{display:none}.ranking-shell .island-sidebar-label{min-height:21px;font-size:9px}.ranking-shell .primary-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ranking-shell .primary-tabs .island-nav-group{padding:4px;border-radius:10px}.ranking-shell .primary-tabs button{justify-content:center;font-size:12px;padding:8px 4px;gap:6px}.ranking-shell .primary-tabs .icon{width:16px;height:16px}.sidebar-jobs{display:none}.sidebar-season{display:none}.ranking-shell .island-content-inner{padding:23px 18px 32px}.page-heading h1{font-size:22px}.page-heading p{font-size:12px}.content-layout>aside{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.rank-page .class-tabs{display:flex!important;padding-bottom:18px;gap:7px}.rank-page .class-tabs[hidden]{display:none!important}.rank-page .class-tabs button{background:rgba(0,0,0,.2);border-color:#ffffff14;color:#a3a9b3;font-size:12px;flex:1;padding:9px 6px;justify-content:center;gap:6px}.rank-page .class-tabs button[aria-pressed=true]{color:#e5cc99;background:#be8e2920;border-color:#e7be5b38}.rank-page .class-tabs img{width:23px;height:23px}.podium{gap:10px}.champion{display:grid;text-align:left;min-height:177px;grid-template-columns:37px minmax(0,1fr);column-gap:9px}.champion .avatar{width:37px;height:37px;margin-top:17px}.champion-name{margin:18px 0 5px;font-size:13px}.champion-meta{justify-content:start}.champion-score{font-size:23px}.champion-score small{display:inline;margin-left:7px}.champion-foot{font-size:9px}.dungeon-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.dungeon-filters>span{width:100%}.dungeon-art{width:36px;height:64px}.dungeon-tabs button{gap:9px;padding:10px}.dungeon-tabs b{font-size:12px}.dungeon-tabs small{font-size:9px}.dungeon-open{font-size:9px}}
@media(max-width:580px){.ranking-shell{padding:10px}.ranking-shell .island-content-inner{padding:21px 13px 27px}.ranking-shell .island-sidebar-header h2{font-size:22px}.ranking-shell .island-sidebar-label{display:none}.ranking-shell .island-sidebar-header{padding-bottom:11px}.ranking-shell .primary-tabs button{font-size:11px;gap:4px}.ranking-shell .primary-tabs .icon{width:14px;height:14px}.page-heading{display:block;margin-bottom:17px}.page-heading h1{font-size:22px}.page-heading p{font-size:12px;margin-top:7px}.season-control{justify-content:end;margin-top:15px}.season-control select{font-size:11px;max-width:none;padding:8px 23px 8px 10px}.snapshot{font-size:9px}.snapshot b{font-size:9px}.snapshot>span{display:none}.text-button{font-size:11px}.board-navigation{margin-bottom:17px}.board-title h3{font-size:17px}.board-title p{font-size:11px;max-width:220px}.total-label{font-size:9px;padding:3px 6px}.podium{gap:7px}.champion{display:block;text-align:center;min-height:195px;padding:21px 5px 10px;border-radius:11px}.champion .avatar{width:36px;height:36px;margin:7px auto 0}.champion-name{font-size:11px;margin:9px 0 4px}.champion-meta{justify-content:center;font-size:9px;gap:4px}.champion-score{font-size:18px;margin-top:12px}.champion-score small{display:block;margin:3px 0 0;font-size:9px}.champion-foot{font-size:8px;margin-top:9px;white-space:normal;line-height:1.5}.place{font-size:9px;left:7px;top:8px}.crown{right:6px;top:8px}.table-toolbar{gap:7px;padding:12px 10px}.table-toolbar b{font-size:12px}.table-toolbar>div>span{display:none}.search{width:160px;padding:7px 8px}.search input{font-size:11px}.search .icon{width:13px;height:13px}th{font-size:10px;padding:0 7px;height:36px}td{font-size:10px;padding:0 7px;height:60px}th:first-child,td:first-child{padding-left:10px;width:31px}th:last-child,td:last-child{padding-right:10px}.rank-number{font-size:11px}.player-cell{gap:6px}.player-cell .avatar{width:25px;height:25px}.player-cell button{font-size:11px;max-width:104px}.player-cell small{font-size:9px}.class-badge{font-size:9px;padding:2px 4px}.score{font-size:12px}.detail-link{font-size:10px}.pagination{font-size:10px;padding:11px 10px}.pagination button{width:27px;height:28px}.content-layout>aside{grid-template-columns:minmax(0,1fr)}.content-layout>aside>section{padding:18px}.data-note{font-size:10px}.rule-item p{font-size:11px}.class-tabs button{flex-direction:column!important;font-size:11px!important;gap:4px!important;padding:8px 3px!important}.class-tabs img{width:23px;height:23px}.dungeon-heading{font-size:12px}.dungeon-heading small{font-size:10px}.dungeon-tabs{display:flex;overflow-x:auto;gap:8px;scrollbar-width:thin;padding-bottom:7px}.dungeon-tabs button{min-width:149px;padding:10px;min-height:94px}.dungeon-tabs .dungeon-locked{min-width:122px}.dungeon-tabs b{font-size:12px}.dungeon-art{width:36px;height:64px}.dungeon-filters{font-size:11px;gap:12px}.dungeon-filters select{font-size:11px;padding:7px 21px 7px 8px}.dungeon-filters>span{font-size:9px;line-height:1.8}.rank-page footer{display:block;font-size:10px}.rank-page footer>span{display:block;margin:4px 0}.team-size{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ranking-shell *{transition:none!important;animation:none!important}}
@media(max-width:760px){.rank-page .class-tabs{padding:13px 12px;margin-bottom:19px}.class-filter-label{width:100%;margin:0 0 3px}.rank-page .class-tabs button{flex:1}}
.rank-page .class-tabs img{width:30px;height:30px;image-rendering:auto;filter:drop-shadow(0 2px 3px #0006)}
.rank-page .class-tabs button{gap:8px;padding:8px 13px}
@media(max-width:580px){.rank-page .class-tabs img{width:31px;height:31px}}
