/* Rank shelves use the existing bright pixel-window theme. */
.quest-rank-board { min-width:0; }
.quest-rank-board .quest-board-tools { align-items:end; }
.quest-rank-board .quest-board-tools .search-field { flex-basis:260px; }
.quest-rank-board .quest-board-tools .select-field { flex:1 1 180px; }
.quest-rank-board .quest-search-help { flex-basis:100%; font:18px/1.25 var(--body); color:var(--ink-soft); margin:0; }
.quest-rank-board .quest-board-caption { align-items:center; flex-wrap:wrap; gap:8px 15px; }
.quest-rank-board .quest-board-caption strong { font-weight:400; color:var(--deep-blue); }
.quest-rank-sections { display:grid; gap:20px; padding-bottom:38px; }
.quest-rank-section { --rank-light:#dcf7ff; --rank-dark:#a8e8ff; min-width:0; border:3px solid var(--border); background:linear-gradient(135deg,#fffdf1,#fff6dc); box-shadow:inset 2px 2px #fff,4px 4px var(--border); }
.quest-rank-intermediate { --rank-light:#e7ffed; --rank-dark:#b6eccd; }
.quest-rank-advanced { --rank-light:#ffebf6; --rank-dark:#ffc9e4; }
.quest-rank-saint { --rank-light:#f0e8ff; --rank-dark:#d5bdff; }
.quest-rank-king { --rank-light:#fff5c8; --rank-dark:#ffd878; }
.quest-rank-emperor { --rank-light:#ffe8e0; --rank-dark:#ffb8b4; }
.quest-rank-god { --rank-light:#fff4d1; --rank-dark:#d7c5ff; }
.quest-rank-heading { display:flex; align-items:center; gap:13px; padding:16px 18px; list-style:none; cursor:pointer; color:var(--deep-blue); background:linear-gradient(105deg,var(--rank-light),var(--rank-dark)); box-shadow:inset 0 2px #fff8df; }
.quest-rank-heading::-webkit-details-marker { display:none; }
.quest-rank-heading:hover { filter:brightness(1.04); }
.quest-rank-heading:focus-visible { outline:3px solid var(--blue); outline-offset:-6px; }
.quest-rank-section[open]>.quest-rank-heading { border-bottom:3px solid var(--border); }
.quest-rank-marker { font:24px/1 var(--body); color:#90528f; text-shadow:1px 1px #fff8df; }
.quest-rank-identity { display:grid; gap:7px; min-width:0; }
.quest-rank-name { font:11px/1.5 var(--pixel); }
.quest-rank-levels { font:20px/1.1 var(--body); color:#655086; }
.quest-rank-count { margin-left:auto; text-align:right; font:21px/1.1 var(--body); color:#523b76; }
.quest-rank-count small { display:block; font:17px/1.2 var(--body); margin-top:6px; color:#73538f; }
.quest-rank-toggle { display:grid; place-items:center; flex:0 0 25px; height:25px; border:2px solid var(--border); background:#fff8df; box-shadow:inset 1px 1px #fff,2px 2px #a98bbe; font:22px/1 var(--body); }
.quest-rank-toggle::before { content:'+'; }
.quest-rank-section[open] .quest-rank-toggle::before { content:'−'; }
.quest-rank-content { padding:18px; }
.quest-rank-board .quest-rank-content .quest-grid { padding:0; margin:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.quest-rank-board .quest-rank-content .quest-tile { min-height:215px; padding:17px 14px; gap:12px; }
.quest-rank-board .quest-rank-content .quest-emblem { display:none; }
.quest-rank-board .quest-rank-content .quest-tile h3 { font-size:25px; }
.quest-rank-board .quest-rank-content .quest-tile p { font-size:20px; }
.quest-rank-board .quest-rank-content .quest-bottom { gap:8px 13px; }
.quest-rank-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:13px; margin-top:19px; padding-top:15px; border-top:2px dashed #c7afde; font:18px/1.2 var(--body); color:#76548e; }
.quest-rank-footer .button { font-size:8px; min-height:44px; }
.quest-rank-complete { color:#436a51; }
.quest-rank-empty { margin:0; padding:12px 0; color:var(--ink-soft); font:21px/1.35 var(--body); }
.quest-rank-board .quest-board-empty { margin-bottom:22px; }
@media(max-width:1180px) {
  .quest-rank-board .quest-rank-content .quest-grid { grid-template-columns:1fr; }
  .quest-rank-board .quest-rank-content .quest-tile { min-height:0; }
}
@media(max-width:560px) {
  .quest-rank-heading { gap:9px; padding:14px 11px; flex-wrap:wrap; }
  .quest-rank-marker { display:none; }
  .quest-rank-name { font-size:10px; }
  .quest-rank-levels { font-size:18px; }
  .quest-rank-count { font-size:19px; }
  .quest-rank-count small { font-size:16px; }
  .quest-rank-toggle { flex-basis:22px; height:22px; }
  .quest-rank-content { padding:13px 10px; }
  .quest-rank-board .quest-rank-content .quest-tile { padding:16px 12px; }
  .quest-rank-board .quest-rank-content .quest-tile h3 { font-size:25px; }
  .quest-rank-footer { font-size:18px; }
  .quest-rank-footer .button { width:100%; font-size:8px; gap:5px; }
  .quest-rank-board .quest-board-caption span:last-child { max-width:none; text-align:left; font-size:17px; }
}
