/* Rendered wiki article body.
 *
 * Shared deliberately between the public article page and the panel editor's
 * live preview, so what an author sees while writing matches what ships. Keep
 * this file free of layout/chrome rules — it styles the parsed markdown only.
 */
.article-content{padding:clamp(1.5rem,4vw,2.6rem) 0;color:var(--an-ink-muted);font-size:1rem;line-height:1.78}
.article-content>*:first-child{margin-top:0}
.article-content :is(h1,h2,h3,h4,h5){color:var(--an-ink);font-family:var(--an-display);letter-spacing:-.025em;scroll-margin-top:6rem}
.article-content h1{font-size:2rem}
.article-content h2{margin:2.6rem 0 .8rem;padding-bottom:.5rem;font-size:1.65rem;border-bottom:1px solid var(--an-line)}
.article-content h3{margin:2rem 0 .65rem;font-size:1.25rem}
.article-content h4{margin:1.6rem 0 .55rem;font-size:1.05rem}
.article-content p{margin:.8rem 0}
.article-content a{color:var(--an-core-soft);text-underline-offset:.18em}
.article-content ul,.article-content ol{padding-left:1.4rem}
.article-content li{margin:.35rem 0}
.article-content blockquote{margin:1.25rem 0;padding:.9rem 1rem;color:var(--an-ink-muted);background:color-mix(in srgb,var(--an-core) 6%,var(--an-surface));border-left:3px solid var(--an-core);border-radius:0 var(--an-radius-sm) var(--an-radius-sm) 0}
.article-content code{padding:.12rem .3rem;color:var(--an-ink);background:var(--an-surface-raised);border-radius:5px;font-family:'JetBrains Mono',monospace;font-size:.88em}
.article-content pre{max-width:100%;overflow:auto;margin:1.2rem 0;padding:1rem;background:var(--an-bg-deep);border:1px solid var(--an-line);border-left:3px solid var(--an-core);border-radius:var(--an-radius-sm)}
.article-content pre code{padding:0;background:transparent}
.article-content hr{margin:2rem 0;border:0;border-top:1px solid var(--an-line)}
.article-content img{display:block;max-width:100%;height:auto;margin:1.25rem auto;border-radius:var(--an-radius-sm)}

/* Data tables are the bulk of this wiki. The box shrink-wraps its content so the
   border hugs narrow tables, and scrolls horizontally once a table outgrows the
   column instead of pushing the page wide. */
.article-content table{display:block;width:max-content;max-width:100%;overflow-x:auto;margin:1.4rem 0;border:1px solid var(--an-line);border-radius:var(--an-radius-md);border-collapse:separate;border-spacing:0}
.article-content th,.article-content td{min-width:120px;padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--an-line)}
.article-content tr:last-child td{border-bottom:0}
.article-content th+th,.article-content td+td{border-left:1px solid var(--an-line)}
.article-content th{color:var(--an-ink);font-weight:800;background:var(--an-surface-raised)}
.article-content tbody tr:hover td{background:color-mix(in srgb,var(--an-core) 5%,transparent)}
/* Item icons inside data tables stay pixel-crisp and compact instead of stretching the row. */
.article-content table img{max-width:32px;height:auto;margin:0;border-radius:0;image-rendering:pixelated}

/* Callouts — Wiki.js authored blockquotes carry {.is-info|is-warning|is-danger|is-success}.
   Without these each severity rendered as the same neutral quote. */
.article-content blockquote.is-info{background:color-mix(in srgb,var(--an-core) 10%,var(--an-surface));border-left-color:var(--an-core)}
.article-content blockquote.is-success{background:color-mix(in srgb,var(--an-positive) 10%,var(--an-surface));border-left-color:var(--an-positive)}
.article-content blockquote.is-warning{background:color-mix(in srgb,var(--an-warning) 12%,var(--an-surface));border-left-color:var(--an-warning)}
.article-content blockquote.is-danger{background:color-mix(in srgb,var(--an-danger) 12%,var(--an-surface));border-left-color:var(--an-danger)}

/* Item grids ("kit contents" on the rank pages) are authored as raw HTML carried over
   from Wiki.js: #grid-cf > .grid-element.tooltip-container > img.displayed + .tooltip-text.
   No stylesheet ever defined them, so every kit collapsed into a tall stack of stray
   labels. Rendered here as Minecraft-style inventory slots with the label on hover,
   matching minecraft-tooltips.css. The id repeats per section in the source, so it is
   matched as an attribute rather than a unique id. */
.article-content [id="grid-cf"]{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.1rem 0}
.article-content .grid-element{position:relative;display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;background:rgba(30,35,45,.65);border:1.5px solid rgba(93,145,199,.45);border-radius:5px;box-shadow:0 2px 6px rgba(0,0,0,.35);cursor:help;transition:transform .15s ease,border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.article-content .grid-element:hover{transform:translateY(-2px);background:rgba(93,145,199,.22);border-color:rgba(110,162,212,.9);box-shadow:0 6px 16px rgba(93,145,199,.35)}
.article-content .grid-element img,.article-content img.displayed{width:32px;height:32px;max-width:none;margin:0;border-radius:0;image-rendering:pixelated;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.article-content .grid-element .tooltip-text{position:absolute;bottom:calc(100% + 10px);left:50%;z-index:1000;padding:6px 10px;color:#fff;font-size:.8rem;font-weight:600;white-space:nowrap;background:rgba(10,4,20,.96);border:1px solid rgba(110,162,212,.5);border-radius:4px;box-shadow:0 8px 20px rgba(0,0,0,.55);text-shadow:0 1px 2px rgba(0,0,0,.8);opacity:0;pointer-events:none;transform:translateX(-50%) translateY(4px);transition:opacity .15s ease,transform .15s ease}
.article-content .grid-element:hover .tooltip-text{opacity:1;transform:translateX(-50%) translateY(0)}
[data-theme="light"] .article-content .grid-element{background:rgba(93,145,199,.08);border-color:rgba(93,145,199,.35);box-shadow:0 2px 6px rgba(30,42,55,.12)}

/* Embeds (published Google Sheets, video) — authored with hard-coded pixel widths that
   would otherwise overflow the reading column and cover the TOC. */
.article-content iframe{display:block;width:100%;max-width:100%;margin:1.5rem 0;aspect-ratio:16/10;background:var(--an-bg-deep);border:1px solid var(--an-line);border-radius:var(--an-radius-sm)}
