/* Magicians Keep: the Firefly Board (scores.html). The top twenty catchers, on a parchment board. */
.board-entry picture img{object-position:50% 40%}
.board-wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:860px){.board-wrap{grid-template-columns:1fr}}

.board{position:relative;margin-top:8px;padding:clamp(26px,3.4vw,40px) clamp(16px,3vw,36px) clamp(18px,2.4vw,26px);border-radius:3px;color:var(--ink);
  background:radial-gradient(120% 60% at 20% 0%,rgba(255,255,255,.4),transparent 60%),radial-gradient(90% 60% at 90% 100%,rgba(120,90,50,.2),transparent 70%),#ecdfc2;
  box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 0 50px rgba(120,90,50,.16)}
.board::before,.board::after{content:"";position:absolute;left:-10px;right:-10px;height:16px;border-radius:8px;background:linear-gradient(#b9935b,#8a6634 60%,#6e5026);box-shadow:0 4px 10px rgba(0,0,0,.4)}
.board::before{top:-8px}
.board::after{bottom:-8px}
.board .mono{display:block;text-align:center;color:#7a5a2e}
.board h2{margin-top:4px;text-align:center;font-size:clamp(2rem,3.4vw,2.6rem);color:#2e1c0c}

.ranks{list-style:none;margin:18px 0 0;padding:0;counter-reset:none}
.rank{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px dashed rgba(58,36,16,.3);animation:rise .6s var(--ease-out) both;animation-delay:calc(var(--i,0) * 40ms + 100ms)}
.rank:last-child{border-bottom:0}
.place{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-family:var(--f-display);font-weight:700;font-size:1.25rem;line-height:1;color:#5a4128;border:1.5px solid rgba(90,60,30,.4)}
.r1 .place,.r2 .place,.r3 .place{border:0;color:#2b1d0c;box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(0,0,0,.18)}
.r1 .place{width:40px;height:40px;font-size:1.4rem;background:radial-gradient(circle at 35% 30%,#fff3c4,#e7bd55 45%,#a8792a 90%)}
.r2 .place{background:radial-gradient(circle at 35% 30%,#ffffff,#c9ccd2 45%,#8a8f99 90%)}
.r3 .place{background:radial-gradient(circle at 35% 30%,#ffe2c4,#c98a4f 45%,#8a5426 90%)}
.who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:1.12rem;color:#2e1c0c}
.r1 .who{font-family:var(--f-display);font-size:1.5rem}
.who em{margin-left:8px;padding:.15em .55em;border-radius:999px;font-style:normal;font-family:var(--f-mono);font-weight:400;font-size:.72rem;letter-spacing:.06em;vertical-align:.15em;color:#fff4e0;background:#b8352c}
.count{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:1rem;color:#3a2410;white-space:nowrap}
.count i{width:9px;height:9px;border-radius:50%;background:#f4c160;box-shadow:0 0 6px 2px rgba(244,190,88,.75),0 0 14px 4px rgba(244,190,88,.35)}
.rank.me{margin:2px -8px;padding:10px 16px;border-radius:10px;border-bottom-color:transparent;background:rgba(184,53,44,.1);box-shadow:inset 0 0 0 1.5px rgba(184,53,44,.45)}
.rank.gap{display:block;padding:4px 0;text-align:center;font-family:var(--f-display);font-size:1.3rem;letter-spacing:.4em;color:#8a6634;border-bottom:0}
.board-empty{padding:22px 0 8px;text-align:center;font-family:var(--f-display);font-size:1.6rem;color:#2e1c0c}
.board-empty[hidden],.board .ranks:empty{display:none}

.board-side{display:grid;gap:clamp(20px,3vw,28px)}
.board-side .plaque{padding:20px 16px 18px}
.board-side .form{padding:clamp(22px,3vw,32px)}
.board-side .form .check{margin-bottom:10px}
.board-side .form .lede2{margin-bottom:0}
.board-side .form .btn{width:auto;margin-top:18px}
.board-side .saved{margin-top:8px;min-height:1.4em;text-align:left}
.board-note{margin-top:12px;font-size:.95rem;color:var(--text-secondary)}
.board-msg{margin:0 0 20px;padding:12px 16px;border-radius:10px;border:1px solid rgba(227,168,90,.45);background:rgba(227,168,90,.08);color:#f3d9a8}
.board-msg[hidden]{display:none}

@media (max-width:420px){
  .rank{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:9px 2px}
  .rank.me{margin:2px -6px;padding:9px 8px}
  .who{font-size:1.04rem}
  .r1 .who{font-size:1.3rem}
  .count{font-size:.92rem;gap:6px}
}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.board-side .saved:empty{min-height:0;margin:0}
@media (max-width:360px){.board-entry .chip{font-size:.72rem;letter-spacing:.03em}}
