
.mc-icon, .mc-icon-lg { image-rendering: pixelated; vertical-align: middle; }
.mc-anim {
  display: inline-block; vertical-align: middle;
  width: var(--s); height: var(--s);
  image-rendering: pixelated;
  background-repeat: no-repeat;
  background-size: var(--s) auto;
  animation: mc-frames var(--d) steps(var(--f)) infinite;
}
@keyframes mc-frames {
  from { background-position: 0 0; }
  to   { background-position: 0 calc(var(--s) * var(--f) * -1); }
}
.mc-id { opacity: .7; font-size: .85em; }
.mc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
           gap: .5rem; margin: 1rem 0; }
.mc-card { display: flex; align-items: center; gap: .5rem; padding: .5rem .7rem;
           border: 1px solid var(--md-default-fg-color--lightest); border-radius: 8px;
           text-decoration: none !important; }
.mc-card:hover { background: var(--md-accent-fg-color--transparent); }
.mc-card img { image-rendering: pixelated; }

/* crafting recipe grid */
.mc-recipe { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
             margin: .4rem 0 1rem; }
.mc-recipe-grid { display: grid; grid-template-columns: repeat(3, 50px);
                  grid-auto-rows: 50px; gap: 3px; }
.mc-recipe-row { display: flex; flex-wrap: wrap; gap: 3px; }
.mc-slot { position: relative; width: 50px; height: 50px;
           display: flex; align-items: center; justify-content: center;
           background: var(--md-default-fg-color--lightest);
           border: 2px solid var(--md-default-fg-color--light);
           border-radius: 4px; overflow: hidden; }
.mc-slot-out { background: var(--md-accent-fg-color--transparent);
               border-color: var(--md-accent-fg-color); }
a.mc-slot { text-decoration: none !important; color: inherit; }
a.mc-slot:hover { border-color: var(--md-accent-fg-color);
                  box-shadow: 0 0 0 2px var(--md-accent-fg-color--transparent); }
.mc-slot-text span { font-size: 9px; line-height: 1.05; text-align: center;
                     padding: 2px; word-break: break-word; }
.mc-count { position: absolute; right: 2px; bottom: 0;
            font-size: 11px; font-weight: 700;
            text-shadow: 1px 1px 0 rgba(0,0,0,.8); color: #fff; }
.mc-arrow { font-size: 26px; opacity: .8; padding: 0 .3rem; }

/* sort toolbar */
.mc-sortbar { display: flex; align-items: center; gap: .4rem; margin: .5rem 0 1rem;
              font-size: .85rem; opacity: .9; }
.mc-sort-btn { cursor: pointer; padding: .25rem .7rem; border-radius: 6px;
               border: 1px solid var(--md-default-fg-color--lighter);
               background: transparent; color: inherit; font: inherit; }
.mc-sort-btn:hover { background: var(--md-accent-fg-color--transparent); }
.mc-sort-btn.active { background: var(--md-accent-fg-color);
                      color: var(--md-accent-bg-color); border-color: transparent; }

/* Terraria-style weapon infobox (floated right) */
.wiki-infobox { float: right; width: 260px; max-width: 45%; margin: 0 0 1rem 1.25rem;
                border: 1px solid var(--md-default-fg-color--lighter); border-radius: 8px;
                background: var(--md-default-fg-color--lightest); overflow: hidden; }
.wiki-infobox-title { text-align: center; font-weight: 700; padding: .5rem;
                      background: var(--md-accent-fg-color--transparent);
                      border-bottom: 1px solid var(--md-default-fg-color--lighter); }
.wiki-infobox-img { display: flex; align-items: center; justify-content: center;
                    padding: 1rem .5rem; }
.wiki-infobox-img img, .wiki-infobox-img .mc-anim { image-rendering: pixelated; }
.wiki-infobox-stats { width: 100%; border-collapse: collapse; font-size: .85rem; }
.wiki-infobox-stats th, .wiki-infobox-stats td { padding: .3rem .6rem; text-align: left;
                        border-top: 1px solid var(--md-default-fg-color--lighter); }
.wiki-infobox-stats th { width: 45%; font-weight: 600; opacity: .85; }
.wiki-infobox-stats td { text-align: right; font-variant-numeric: tabular-nums; }
.wiki-infobox-id { padding: .4rem .6rem; font-size: .7rem; opacity: .6;
                   text-align: center; word-break: break-all;
                   border-top: 1px solid var(--md-default-fg-color--lighter); }
@media screen and (max-width: 600px) {
  .wiki-infobox { float: none; width: 100%; max-width: 100%; margin: 0 0 1rem 0; }
}

/* armour class progression tracks — single row, scrolls if it overflows */
.armor-track { display: flex; flex-wrap: nowrap; align-items: center; gap: .45rem;
               margin: .3rem 0 1.6rem; overflow-x: auto; padding-bottom: .5rem; }
.armor-track .mc-card { margin: 0; flex-shrink: 0; }
.armor-track .mc-card span { white-space: nowrap; }
.armor-arrow { opacity: .55; font-size: 1.4rem; padding: 0 .1rem; flex-shrink: 0; }
.armor-branch-group { display: flex; flex-direction: column; gap: .35rem; flex-shrink: 0;
                      border-left: 3px solid var(--md-accent-fg-color);
                      padding-left: .55rem; }
