/* Ranking styles are confined to the module; the theme shell is preserved. */
.gr-ranking{font:14px/1.5 Arial,Helvetica,sans-serif;letter-spacing:normal;color:#d6e4fb;padding-bottom:35px}.gr-heading{text-align:center;margin:0 0 18px}.gr-heading .gr-eyebrow{font-size:10px;letter-spacing:.28em;color:#7f9bbc}.great-cms .gr-heading h1{font-family:Georgia,serif;font-size:42px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:#edf3ff;margin:9px 0 6px;text-shadow:0 2px 3px #000,0 0 24px #6a9eef66}.gr-heading p{font:17px Georgia,serif;color:#9fbae5;margin:0}.gr-categories{display:flex;justify-content:center;gap:24px;margin-bottom:36px}.gr-categories a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#829abb;padding:6px 0;border-bottom:1px solid transparent}.gr-categories a[aria-current]{color:#d9e9ff;border-color:#8daee9}
.gr-podium{display:grid;grid-template-columns:1fr 1.08fr 1fr;align-items:end;gap:16px;margin:0 12px 28px}.gr-champion{--medal:#b4c9e6;position:relative;display:flex;align-items:center;gap:14px;min-width:0;padding:22px 18px;border:1px solid var(--medal);border-radius:12px 4px;background:linear-gradient(125deg,#14263de8,#080f20f5);box-shadow:inset 0 0 0 3px #9abcef0c,0 10px 28px #0006;transition:transform .25s,box-shadow .25s;outline-offset:4px}.gr-champion:before,.gr-champion:after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--medal);pointer-events:none}.gr-champion:before{left:-3px;top:-3px;border-right:0;border-bottom:0}.gr-champion:after{right:-3px;bottom:-3px;border-left:0;border-top:0}.gr-champion-1{--medal:#e8bd66;min-height:148px;background:radial-gradient(ellipse at top,#a37a2729,transparent 75%),#0d1422;box-shadow:inset 0 0 24px #b68c2219,0 0 25px #dab65b16}.gr-champion-3{--medal:#bc895f}.gr-champion:hover,.gr-champion:focus-visible{transform:translateY(-4px);box-shadow:0 0 24px #8abaf230}.gr-crown{position:absolute;top:-32px;left:50%;transform:translateX(-50%);font:39px Georgia,serif;color:#f6cd70;text-shadow:0 0 16px #f8c14a80}.gr-medal{width:40px;height:40px;object-fit:contain;flex-shrink:0}.gr-champion>.gr-medal{width:46px;height:46px}.gr-champion>.gr-portrait{width:74px;height:94px;border:1px solid var(--medal);background:#0a1427;border-radius:6px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 7px #92bdff30)}.gr-champion-info{min-width:0;flex:1}.gr-champion-info>strong{display:flex;gap:10px;align-items:center;font:600 17px Georgia,serif;color:#eff4ff;overflow-wrap:anywhere}.gr-flag{flex-shrink:0;width:24px;height:16px;object-fit:contain}.gr-guild{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:12px;color:#8dd3ff}.gr-guild img{image-rendering:pixelated;flex-shrink:0}.gr-champion-info>.gr-guild,.gr-champion-info>.gr-muted{margin:8px 0}.gr-champion-stats{display:flex;gap:20px;color:#8fa5c3;font-size:12px}.gr-champion-stats b{color:#e5edfc;margin-left:5px;font-weight:500}.gr-champion-info>small{display:block;color:#8a9cb5;font-size:10px;margin-top:7px}.gr-muted{color:#8393af}
.gr-board{position:relative;padding:14px 12px 6px;border:1px solid #416b9b;background:linear-gradient(140deg,#0b1a30ed,#050e1fed);box-shadow:inset 0 0 40px #4476b20b,0 18px 45px #0004;border-radius:12px 3px}.gr-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 6px 14px}.gr-sorts{display:flex;gap:6px;flex-wrap:wrap}.gr-sorts a{font:12px Georgia,serif;padding:10px 13px;border:1px solid #345d87;border-radius:4px;background:linear-gradient(#16345499,#0c1930);color:#c0d9f8;transition:background .25s,box-shadow .25s}.gr-sorts a[aria-current]{border-color:#96baff;background:linear-gradient(#2658ac,#122760);color:#fff;box-shadow:0 0 12px #548bff66,inset 0 0 6px #78aeff66}.gr-search{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.great-cms .gr-search input,.great-cms .gr-search select{box-sizing:border-box;height:39px;margin:0;padding:8px 12px;min-width:0;border:1px solid #34557f;border-radius:4px;background:#08142a;color:#dce9ff;font:12px Arial,sans-serif}.gr-search input[name=name]{width:180px}.gr-search select{width:145px}.great-theme .gr-search button{width:auto;height:39px;min-width:60px;padding:0 12px;background:#17345b;border:1px solid #547bb0;border-radius:4px;filter:none;font:11px Arial,sans-serif}.gr-table-scroll{overflow-x:auto;border:1px solid #315786;border-radius:5px}.great-cms .gr-table{width:100%;min-width:840px;border-collapse:collapse;table-layout:auto}.great-cms .gr-table th{background:linear-gradient(#122d52,#0c203c);padding:12px 10px;font:600 11px Georgia,serif;text-align:center;color:#9fcbf5;letter-spacing:.05em}.great-cms .gr-table td{padding:7px 10px;font:13px/1.4 Arial,sans-serif;white-space:nowrap;text-align:center;color:#dce8fc;border-bottom:1px solid #29476a88}.great-cms .gr-table th:nth-child(2),.great-cms .gr-table td:nth-child(2),.great-cms .gr-table th:nth-child(3),.great-cms .gr-table td:nth-child(3){text-align:left}.great-cms .gr-table tr:nth-child(even){background:#10234266}.great-cms .gr-table .gr-row-1{background:#b89b4c13}.great-cms .gr-table tr:hover,.great-cms .gr-table tr:focus-visible{background:#315a8c44;box-shadow:inset 3px 0 #8bbdff}.gr-player{display:grid;grid-template-columns:42px 24px minmax(110px,1fr);align-items:center;gap:12px}.gr-player .gr-portrait{width:42px;height:46px;object-fit:contain;border:1px solid #5279a6;border-radius:4px;background:#0a182c}.gr-player strong{display:block;font-weight:600;color:#f0f4ff}.gr-player small{display:block;font-size:11px;color:#9fbce0;margin-top:4px}.gr-table .gr-medal{width:32px;height:32px}.gr-position{display:block;min-width:30px;font-weight:600}.gr-status{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#8e9eb8}.gr-status i{width:8px;height:8px;border-radius:50%;background:#7d8a9f;box-shadow:0 0 0 3px #8ca5cc0b}.gr-status.is-online{color:#91e47d}.gr-status.is-online i{background:#6bdb5a;box-shadow:0 0 9px #7cff6344}.gr-board-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 6px;color:#b4c9e7;font-size:11px}.gr-board-footer small{color:#7c96b9}.gr-board-footer .great-pagination{margin:0}.gr-empty{padding:30px!important}
@media(max-width:1150px){.gr-podium{gap:12px;margin-left:0;margin-right:0}.gr-champion{padding:18px 10px;gap:9px}.gr-champion>.gr-medal{width:30px}.gr-champion>.gr-portrait{width:55px;height:80px}.gr-champion-info>strong{font-size:15px;gap:6px}}
@media(max-width:760px){.great-cms .gr-heading h1{font-size:27px;letter-spacing:.06em}.gr-podium{grid-template-columns:1fr;gap:14px}.gr-champion-1{order:-1;margin-top:8px;min-height:0}.gr-champion{min-height:100px;padding:16px 20px}.gr-champion>.gr-portrait{width:60px;height:75px}.gr-champion-info>strong{font-size:18px}.gr-champion-stats{gap:24px}.gr-categories{gap:18px}.gr-controls{margin:0 0 12px}.gr-sorts{width:100%}.gr-sorts a{flex:1;text-align:center;padding:9px 7px;white-space:nowrap}.gr-search{width:100%}.gr-search input[name=name]{flex:1;width:110px}.gr-search select{width:120px}.gr-board{padding:10px 8px 4px}.gr-board-footer{flex-wrap:wrap}.gr-champion:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.gr-ranking *{transition:none!important;animation:none!important}}
/* Override broad legacy form/table rules only within the ranking board. */
.great-theme .great-cms .gr-search{display:flex;flex-wrap:nowrap;width:auto;margin:0;padding:0}
.great-theme .great-cms .gr-search input[name=name]{width:180px!important;flex:1;min-width:80px;height:39px;padding:8px 12px}
.great-theme .great-cms .gr-search select{width:145px!important;height:39px;padding:8px 10px}
.great-theme .great-cms .gr-search input[type=hidden]{display:none!important}
.great-theme .great-cms .gr-table td{border-left:0;border-right:0}
.gr-player>.gr-flag{grid-column:2}.gr-player>span:last-child{grid-column:3}
@media(max-width:760px){.great-theme .great-cms .gr-search{width:100%;flex-wrap:wrap}.great-theme .great-cms .gr-search input[name=name]{width:110px!important}.great-theme .great-cms .gr-search select{width:120px!important}}
/* Reference podium: silver / gold / bronze, chamfered metal inlays. */
.gr-ranking{max-width:100%;min-width:0;container-type:inline-size}
.gr-ranking *{box-sizing:border-box}
.gr-heading{margin:0 0 20px}
.great-cms .gr-heading h1{font-size:34px;letter-spacing:.09em}
.gr-categories{margin-bottom:32px}
.gr-podium{grid-template-columns:1fr 1.06fr 1fr;gap:12px;margin:0 0 20px}
.gr-champion{isolation:isolate;gap:9px;min-height:116px;padding:16px 12px;border:0;border-radius:0;background:none;box-shadow:none}
.gr-champion:before{inset:3px;z-index:-1;width:auto;height:auto;border:0;background:linear-gradient(125deg,#101f36f5,#060e20fa);clip-path:polygon(13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px),0 13px)}
.gr-champion:after{display:none}
.gr-champion-1{min-height:130px}
.gr-champion-1:before{background:radial-gradient(ellipse at top,#45361c80,transparent 80%),#0d111c}
.gr-card-frame{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--medal);stroke-width:1.3;pointer-events:none;filter:drop-shadow(0 0 3px #aacfff25)}
.gr-champion:hover,.gr-champion:focus-visible{box-shadow:none;filter:drop-shadow(0 0 9px #80baff38)}
.gr-crown{width:40px;height:27px;top:-20px;filter:drop-shadow(0 0 7px #e7ac4b88)}
.gr-medal{display:inline-block;width:42px;height:42px;background-image:url('../images/ranking-laurels.webp');background-repeat:no-repeat;background-size:300% 100%;vertical-align:middle}
.gr-medal-1{background-position:0 50%}.gr-medal-2{background-position:50% 50%}.gr-medal-3{background-position:100% 50%}
.gr-champion>.gr-medal{width:54px;height:54px}
.gr-champion>.gr-portrait{width:65px;height:80px;border-radius:4px;filter:none}
.gr-champion-1>.gr-portrait{height:90px;width:70px}
.gr-champion-info>strong{font-size:16px;gap:8px}
.gr-champion-info>.gr-guild,.gr-champion-info>.gr-muted{display:flex;min-height:24px;margin:5px 0}
.gr-champion-info .gr-guild{font-size:11px;white-space:normal;overflow-wrap:anywhere}
.gr-champion-info .gr-guild img{width:23px;height:23px}
.gr-champion-stats{gap:14px;font:12px Georgia,serif;white-space:nowrap}
.gr-champion-stats b{margin-left:3px}
.gr-board{border-radius:5px;background:linear-gradient(135deg,#0a1931f5,#040c1cf5)}
.gr-board:after{content:'◆';display:block;position:absolute;bottom:-9px;left:50%;font-size:13px;line-height:16px;transform:translateX(-50%);color:#79a9dd;background:#081329;padding:0 6px}
.gr-table .gr-medal{width:38px;height:38px}
.great-cms .gr-table th{text-transform:uppercase;font-size:12px}
.great-cms .gr-table td{padding:5px 9px}
.gr-controls{gap:10px;margin:0 0 12px}
.gr-sorts a{padding:10px}
.great-theme .great-cms .gr-search input[name=name]{width:125px!important}
.great-theme .great-cms .gr-search select{width:118px!important}
@container(max-width:950px){.gr-champion{gap:6px;padding:14px 10px}.gr-champion>.gr-medal{width:42px;height:42px}.gr-champion>.gr-portrait{width:52px;height:72px}.gr-champion-info>strong{font-size:14px}.gr-champion-info .gr-flag{width:18px;height:13px}.gr-champion-stats{gap:8px}}
@container(max-width:720px){.gr-podium{grid-template-columns:1fr;gap:16px}.gr-champion-1{order:-1}.gr-champion,.gr-champion-1{min-height:116px;padding:16px 20px;gap:14px}.gr-champion>.gr-medal{width:60px;height:60px}.gr-champion>.gr-portrait{width:65px;height:80px}.gr-champion-info>strong{font-size:17px}.gr-champion-stats{gap:18px}.great-cms .gr-heading h1{font-size:25px}.gr-categories{gap:14px}}
/* Class leaders are determined before filtering, like the numbered standings. */
.gr-player strong.gr-player-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gr-top-class{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid #d8b56366;border-radius:4px;background:linear-gradient(120deg,#59401d70,#24223999);color:#f3d690;font:600 9px/1.2 Arial,sans-serif;letter-spacing:.06em;white-space:nowrap;box-shadow:inset 0 0 9px #efc66c10,0 0 8px #efc66c0a}
.gr-top-class>span{color:#ffdf91;font-size:12px;filter:drop-shadow(0 0 3px #edc77266)}
.gr-row:hover .gr-top-class{border-color:#edce8a;color:#ffe8b5}

.gr-guild-text{display:flex;flex-direction:column;gap:3px;text-align:left}
.gr-guild .gr-guild-role{display:block;color:#b6a3dc;font:10px/1.3 Arial,sans-serif;letter-spacing:.02em;white-space:nowrap}
.gr-siege-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:22px;flex:0 0 20px;vertical-align:middle;color:#f4cc78;filter:drop-shadow(0 0 4px #d8ad4b55)}
.gr-siege-badge svg{width:19px;height:21px;fill:#84602f55;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.gr-siege-challenger{color:#a5d7ff;filter:drop-shadow(0 0 4px #5eb7ff55)}
.gr-siege-challenger svg{fill:#477da044}
.gr-top-ten{margin:-5px 0 24px;border:1px solid #42628c66;border-radius:5px;background:#08162b99}
.gr-top-ten>summary{display:flex;justify-content:center;align-items:center;gap:12px;padding:10px;cursor:pointer;list-style:none;color:#b7d6ff;font:12px Georgia,serif;letter-spacing:.04em;transition:color .2s,background .2s}
.gr-top-ten>summary::-webkit-details-marker{display:none}
.gr-top-ten>summary:hover,.gr-top-ten>summary:focus-visible{color:#fff;background:#22487544}
.gr-top-ten .gr-hide-ten,.gr-top-ten[open] .gr-show-ten{display:none}
.gr-top-ten[open] .gr-hide-ten{display:inline}
.gr-runners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:4px 12px 12px}
.gr-runner{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid #4c75a45c;border-radius:5px;background:linear-gradient(120deg,#132b48a6,#080f20);transition:border-color .2s,transform .2s}
.gr-runner:hover,.gr-runner:focus-visible{border-color:#9fc9ff;transform:translateY(-2px)}
.gr-runner-place{color:#97bce4;font:17px Georgia,serif}
.gr-runner>.gr-portrait{width:40px;height:48px;object-fit:contain;flex-shrink:0}
.gr-runner>div{min-width:0}
.gr-runner strong{display:block;color:#e5edff;font:600 14px Georgia,serif;margin-bottom:6px;overflow-wrap:anywhere}
.gr-runner .gr-guild{gap:5px;font-size:11px;white-space:normal;overflow-wrap:anywhere}
.gr-runner .gr-guild img{width:20px;height:20px}
.gr-runner .gr-guild-role{display:none}
@container(max-width:900px){.gr-runners{grid-template-columns:repeat(2,minmax(0,1fr))}.gr-champion-info>.gr-guild{flex-wrap:wrap;gap:5px}}
@container(max-width:520px){.gr-runners{grid-template-columns:1fr}}
/* Siege status belongs to the guild name, not the emblem. */
.gr-guild-label{display:inline-flex;align-items:center;gap:4px}
.gr-ranking .gr-siege-badge{width:13px;height:15px;flex:0 0 13px;margin-left:3px;filter:drop-shadow(0 0 2px #9ec8ff44)}
.gr-ranking .gr-siege-badge svg{width:13px;height:15px}
.gr-frame-gleam{stroke:#fff2cf;stroke-width:2;stroke-dasharray:35 1020;animation:gr-border-orbit 9s linear infinite;filter:drop-shadow(0 0 3px var(--medal))}
.gr-champion-2 .gr-frame-gleam{stroke:#e1efff;animation-delay:-3s}
.gr-champion-3 .gr-frame-gleam{stroke:#f9c69e;animation-delay:-6s}
.gr-champion:before{background:radial-gradient(ellipse at 12% 0,#97b9ef20,transparent 65%),linear-gradient(120deg,#12253cf5,#080f20fa)}
.gr-champion-1:before{background:radial-gradient(ellipse at 15% 0,#d5a64d30,transparent 68%),linear-gradient(125deg,#211b22,#0b1223)}
.gr-champion-3:before{background:radial-gradient(ellipse at 15% 0,#bd7e4c24,transparent 68%),linear-gradient(125deg,#211c28,#0b1223)}
.gr-ranking .gr-row-class-leader{--row-glow:#a692e9;--row-tint:#66538d24}
.gr-ranking .gr-row-1{--row-glow:#e4bc6f;--row-tint:#ab883528}
.gr-ranking .gr-row-2{--row-glow:#a9c4e6;--row-tint:#789fca20}
.gr-ranking .gr-row-3{--row-glow:#cc926c;--row-tint:#a0663e24}
.great-cms .gr-table tr:is(.gr-row-class-leader,.gr-row-1,.gr-row-2,.gr-row-3){background:linear-gradient(110deg,var(--row-tint),#0c1729b0)}
.great-cms .gr-table tr:is(.gr-row-class-leader,.gr-row-1,.gr-row-2,.gr-row-3)>td{border-top:1px solid var(--row-glow);border-bottom:1px solid var(--row-glow);animation:gr-row-light 5s ease-in-out infinite}
.great-cms .gr-table tr:is(.gr-row-class-leader,.gr-row-1,.gr-row-2,.gr-row-3)>td:first-child{border-left:1px solid var(--row-glow)}
.great-cms .gr-table tr:is(.gr-row-class-leader,.gr-row-1,.gr-row-2,.gr-row-3)>td:last-child{border-right:1px solid var(--row-glow)}
.gr-top-class{background:linear-gradient(115deg,#31213f,#172d47,#49345d,#31213f);background-size:250% 100%;border-color:#bba0ef99;color:#eadbff;animation:gr-class-light 8s ease-in-out infinite}
@keyframes gr-border-orbit{to{stroke-dashoffset:-1055}}
@keyframes gr-row-light{0%,100%{border-top-color:#62749355;border-bottom-color:#62749355}50%{border-top-color:var(--row-glow);border-bottom-color:var(--row-glow)}}
@keyframes gr-class-light{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.gr-frame-gleam,.gr-top-class,.great-cms .gr-table tr>td{animation:none!important}}
.gr-categories{flex-wrap:wrap}
.gr-race-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px;margin-bottom:30px;border:1px solid #547dab80;border-radius:6px;background:linear-gradient(120deg,#18294bd9,#0c1428e6)}
.gr-race-controls p{flex-basis:100%;margin:0;color:#dbceff;font:17px Georgia,serif}
.gr-race-controls>small{color:#9eafcb;line-height:1.5}
.gr-race-controls label{color:#b9c9e5;font-size:11px}
.great-theme .gr-race-controls input[type=date]{width:145px!important;color-scheme:dark}
.gr-champion-info>small.gr-race-score,.great-cms .gr-table td.gr-race-score{color:#f3d598;font-weight:600}
@media(max-width:760px){.gr-race-controls{padding:12px}.gr-race-controls .gr-search label{flex-basis:100%}}
