/* ---- Wildwood Run (ui/wildrun-ui.js) ------------------------------------
   The run map reads left to right: three acts, each a few layers of
   clearings and a boss. Glowing clearings are the ones you can reach. */
.m-wildrun .wr-lede { font-size: 14px; line-height: 1.45; margin: 0 0 10px; color: var(--sheet-text, var(--text)); }
.m-wildrun .wr-note { padding: 8px 12px; border-radius: 12px; font-size: 13.5px; font-weight: 600; background: rgba(0, 0, 0, .08); }
.m-wildrun .wr-note.good { color: var(--good-text); }
.m-wildrun .wr-note.bad { color: var(--bad-text); }
.wr-purse { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-weight: 700; font-size: 14px; background: rgba(0, 0, 0, .12); white-space: nowrap; }
.wr-purse svg { width: 18px; height: 18px; }
.wr-purse i { width: 1px; height: 16px; margin: 0 4px; background: currentColor; opacity: .3; }

/* Your band: the animals in the deck and the relics found. */
.wr-band { display: grid; gap: 8px; margin: 4px 0 10px; }
.wr-deck { display: flex; flex-wrap: wrap; gap: 6px; }
.wr-deck-pic { width: 44px; height: 44px; border-radius: 12px; overflow: hidden; background: rgba(0, 0, 0, .12); display: inline-grid; place-items: center; }
.wr-deck-pic img { width: 100%; height: 100%; object-fit: cover; }
.wr-relics { display: flex; flex-wrap: wrap; gap: 6px; }
.wr-relic { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px 4px 7px; border-radius: 999px; font-size: 12px; background: rgba(0, 0, 0, .1); }
.wr-relic svg { width: 14px; height: 14px; }
.wr-relic.r-rare { box-shadow: inset 0 0 0 1.5px #5cc3e6; }
.wr-relic.r-epic { box-shadow: inset 0 0 0 1.5px #c79bff; }
.wr-none { opacity: .7; }

/* The map. */
.wr-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 8px; }
.wr-act { border-radius: 14px; padding: 8px; background: rgba(0, 0, 0, .08); min-width: 0; }
.wr-act h4 { margin: 0 0 6px; font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; opacity: .8; }
.wr-layers { display: flex; gap: 6px; align-items: stretch; }
.wr-layer { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 6px; min-width: 0; }
.wr-node {
  display: grid; justify-items: center; gap: 2px; padding: 6px 2px; border-radius: 12px; cursor: pointer;
  font: inherit; color: inherit; background: rgba(255, 255, 255, .06); border: 1.5px solid transparent;
}
.wr-node[disabled] { cursor: default; }
.wr-node-ico { width: 28px; height: 28px; display: grid; place-items: center; }
.wr-node-ico svg { width: 26px; height: 26px; }
.wr-node small { font-size: 10px; font-weight: 700; line-height: 1.1; text-align: center; overflow: hidden; text-overflow: ellipsis; max-width: 100%; white-space: nowrap; }
.wr-q { font-size: 22px; line-height: 1; }
.wr-node.s-shut { opacity: .38; }
.wr-node.s-done { opacity: .55; background: rgba(0, 0, 0, .14); }
.wr-node.s-here { border-color: var(--gold-text); background: rgba(242, 193, 78, .14); }
.wr-node.s-open { border-color: #9be06a; background: rgba(155, 224, 106, .16); animation: wr-glow 1.8s ease-in-out infinite; }
.wr-node.s-open:hover, .wr-node.s-open:focus-visible { background: rgba(155, 224, 106, .3); }
.wr-node.k-boss .wr-node-ico svg { width: 30px; height: 30px; }
.wr-node.k-elite .wr-node-ico { color: #e0782a; }
@keyframes wr-glow { 50% { box-shadow: 0 0 0 3px rgba(155, 224, 106, .3); } }
@media (prefers-reduced-motion: reduce) { .wr-node.s-open { animation: none; } }

/* Between fights: rewards, peddlers, campfires and mysteries. */
.wr-panel { border-radius: 16px; padding: 12px; margin-bottom: 8px; background: rgba(0, 0, 0, .08); }
.wr-panel h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 17px; }
.wr-panel h3 svg { width: 22px; height: 22px; }
.wr-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.wr-opt {
  display: grid; justify-items: center; gap: 3px; padding: 10px 8px; border-radius: 14px; cursor: pointer; text-align: center;
  font: inherit; color: inherit; background: rgba(255, 255, 255, .07); border: 2px solid rgba(255, 255, 255, .12);
}
.wr-opt:hover, .wr-opt:focus-visible { border-color: #9be06a; }
.wr-opt.r-rare { border-color: rgba(92, 195, 230, .6); }
.wr-opt.r-epic { border-color: rgba(199, 155, 255, .7); }
.wr-opt small { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }
.wr-opt b { font-size: 15px; }
.wr-opt span { font-size: 12.5px; line-height: 1.35; opacity: .9; }
.wr-opt em { font-style: normal; font-weight: 700; color: var(--gold-text); }
.wr-opt .wr-opt-ico svg { width: 34px; height: 34px; }
.wr-opt .wr-opt-pic { width: 64px; height: 64px; border-radius: 14px; overflow: hidden; }
.wr-opt .wr-opt-pic img { width: 100%; height: 100%; object-fit: cover; }
.wr-opt.sold { opacity: .4; cursor: default; }
.wr-opt.poor em { color: var(--bad-text); }
.wr-extra { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }

@media (max-width: 760px) {
  .wr-map { grid-template-columns: minmax(0, 1fr); }
}
