/* CSS placed here will be applied to all skins */
.skill > span {
    font-size: 0.875em !important;
}
/* DX2 SHARED LOCAL DESIGN */
/* One visual language for the entire testing wiki. */
body { background:#eef2f1; color:#203331; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
#content { background:#fff; border-color:#d8e2df; border-radius:16px 0 0 0; padding:28px; }
#firstHeading, .mw-parser-output h2, .mw-parser-output h3 { font-family:inherit; color:#193e3c; }
#firstHeading { font-size:2em; letter-spacing:-.025em; }
.mw-body-content { font-size:16px; line-height:1.75; }
a { color:#176b65; } a:visited { color:#586b8d; }
.mw-parser-output h2 { margin-top:1.8em; border-bottom:1px solid #dae5e1; padding-bottom:.3em; }
.wikitable { border-color:#d7e0de; background:white; }
.wikitable > tr > th, .wikitable > tbody > tr > th { background:#edf4f1; color:#244b45; }
.wikitable > tr > td, .wikitable > tbody > tr > td, .wikitable > tbody > tr > th { border-color:#d7e0de; padding:10px 12px; }
#mw-panel { font-size:14px; } #mw-panel .portal h3 { color:#637b72; }
.toc { border-radius:10px; background:#f6f9f7; border-color:#d7e0de; }
.mw-parser-output img { object-fit:contain; }
.dx2-demon { max-width:1000px; font-size:16px; line-height:1.75; }
.dx2-note { padding:16px 20px; background:#fff6e2; border-left:4px solid #bd9140; border-radius:0 10px 10px 0; margin:20px 0; }
.dx2-demon .wikitable { width:100% !important; max-width:100% !important; margin:20px 0; }
.dx2-demon .skill { margin:8px 0; padding:8px 0; }
.dx2-demon .skill, .dx2-demon .skill * { font-size:16px !important; line-height:1.75 !important; }
.dx2-demon img { height:auto !important; max-width:100%; vertical-align:middle; }
.dx2-resistance-wrap { overflow-x:auto; }
.dx2-list-scroll { overflow-x:auto; border:1px solid #d7e0de; border-radius:12px; margin:20px 0; }
.dx2-list-scroll .wikitable { margin:0; min-width:1600px; }
.dx2-demon .dx2-resistances { min-width:640px; }
.dx2-demon .dx2-resistances td[rowspan] { min-width:100px; width:120px !important; }
.mw-parser-output span[style*="font-size:11px"], .mw-parser-output span[style*="font-size: 11px"] { font-size:15px !important; }
.dx2-demon .spirit-panels td { text-align:left; }
.dx2-demon .spirit-panels th { font-weight:700; }
.dx2-demon .spirit-panels caption { font-weight:700; color:#244b45; }
.dx2-demon > p:has(> br:only-child) { display:none; }
@media(max-width:700px) {
 #content { padding:18px; }
 .dx2-demon .wikitable td, .dx2-demon .wikitable th { padding:8px; }
 .dx2-demon .spirit-panels tr { display:grid; grid-template-columns:1fr; border:1px solid #d7e0de; margin:12px 0; border-radius:10px; }
 .dx2-demon .spirit-panels tr:first-child { display:none; }
 .dx2-demon .spirit-panels td, .dx2-demon .spirit-panels th { border:0; width:auto !important; }
 .dx2-demon .spirit-panels td:last-child { background:#eef4f1; }
}
/* Native MediaWiki anchors, presented as a compact sticky mini menu. */
html { scroll-padding-top:150px; }
.mw-parser-output h2, .mw-parser-output h3, #spirit-panels { scroll-margin-top:150px; }
.mw-parser-output > .toc {
 position:sticky; top:8px; z-index:20; display:block; width:auto;
 margin:16px 0 24px; padding:10px 14px; border:1px solid #d7e0de;
 background:rgba(255,255,255,.97); box-shadow:0 4px 16px #20333112;
 max-height:130px; overflow:auto; backdrop-filter:blur(8px);
}
.mw-parser-output > .toc .toctitle { text-align:left; margin-bottom:6px; }
.mw-parser-output > .toc .toctitle h2 { font-size:12px; font-weight:700; color:#637b72; margin:0; padding:0; border:0; }
.mw-parser-output > .toc .toctogglespan { display:none; }
.mw-parser-output > .toc > ul { display:flex; flex-wrap:wrap; gap:4px 8px; margin:0; }
.mw-parser-output > .toc li { list-style:none; margin:0; }
.mw-parser-output > .toc li ul { display:none; }
.mw-parser-output > .toc .tocnumber { display:none; }
.mw-parser-output > .toc a { display:block; padding:5px 10px; border-radius:7px; font-size:14px; text-decoration:none; }
.mw-parser-output > .toc a:hover, .mw-parser-output > .toc a:focus-visible { background:#edf4f1; outline:2px solid #a5bdb4; }
@media(min-width:1250px) {
 body:has(.mw-parser-output > .toc) #content { margin-right:246px; }
 .mw-parser-output > .toc { position:fixed; top:105px; right:18px; width:192px; max-height:calc(100vh - 140px); margin:0; padding:14px; }
 .mw-parser-output > .toc > ul { display:block; }
 .mw-parser-output > .toc li ul { display:block; margin-left:12px; }
 .mw-parser-output > .toc a { padding:7px 10px; }
 html { scroll-padding-top:24px; }
 .mw-parser-output h2, .mw-parser-output h3, #spirit-panels { scroll-margin-top:24px; }
}
/* Searchable skill directory: concise previews, full details on demand. */
.dx2-skill-intro { color:#526965; max-width:760px; margin:12px 0 20px; }
.dx2-skill-controls { position:sticky; top:8px; z-index:20; background:#fff; border:1px solid #d7e0de; box-shadow:0 4px 16px #20333112; border-radius:12px; padding:16px; margin-bottom:24px; }
.dx2-skill-controls > label { display:block; font-weight:650; margin-bottom:7px; }
#dx2-skill-search { box-sizing:border-box; width:100%; font:inherit; padding:11px 13px; border:1px solid #b8cbc4; border-radius:8px; background:#fafcfb; }
.dx2-skill-filter-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.dx2-skill-filter-row select, #dx2-skill-clear, #dx2-skill-pagination button { font:inherit; padding:7px 10px; border:1px solid #cbd9d3; border-radius:7px; background:#fff; color:#244b45; }
#dx2-skill-status { font-size:13px; color:#526965; margin:10px 0 0; }
#dx2-skill-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); gap:16px; }
.dx2-skill-card { border:1px solid #d7e0de; border-radius:12px; background:#fff; padding:20px; min-width:0; }
.mw-parser-output .dx2-skill-card h2 { font-size:20px; line-height:1.4; margin:0 0 12px; border:0; padding:0; }
.dx2-skill-tags { display:flex; flex-wrap:wrap; gap:6px; }
.dx2-skill-tags span { font-size:12px; font-weight:600; background:#edf4f1; border-radius:6px; color:#39564e; padding:4px 8px; }
.dx2-skill-preview, .dx2-skill-effect { white-space:pre-line; overflow-wrap:anywhere; font-size:15px; line-height:1.75; }
.dx2-skill-preview { white-space:normal; max-height:7em; overflow:hidden; }
.dx2-skill-details summary { cursor:pointer; color:#176b65; font-size:14px; font-weight:600; padding:6px 0; }
.dx2-skill-details h3 { font-size:15px; }
.dx2-skill-details[open] { border-top:1px solid #e1e9e5; margin-top:12px; }
.dx2-skill-card:has(details[open]) .dx2-skill-preview { display:none; }
.dx2-skill-card-footer { display:flex; flex-wrap:wrap; gap:14px; font-size:13px; margin-top:16px; padding-top:12px; border-top:1px solid #edf1ef; }
#dx2-skill-pagination { display:flex; justify-content:center; align-items:center; gap:16px; margin:24px 0; }
#dx2-skill-pagination button:disabled { opacity:.45; }
.dx2-skill-empty { padding:28px; border:1px dashed #bdcdc6; border-radius:12px; }
.dx2-skill-fallback { color:#6c7f78; font-size:13px; margin-top:24px; }
.dx2-pvp-tiers { width:100%; }
.dx2-pvp-tiers th:first-child { width:65px; }
.dx2-pvp-demon { display:inline-flex; flex-direction:column; align-items:center; gap:4px; padding:10px; margin:5px; max-width:145px; text-align:center; background:#f8faf9; border:1px solid #dce6e0; border-radius:8px; font-size:13px; vertical-align:top; }
.dx2-pvp-demon small { max-width:140px; color:#60766c; }
.dx2-pvp-meta { color:#65796e; font-size:13px; }
#pvp-sample { font:inherit; padding:8px; border:1px solid #becfc5; border-radius:7px; background:#fff; }
#dx2-skill-search:focus-visible, .dx2-skill-filter-row select:focus-visible, .dx2-skill-controls button:focus-visible { outline:2px solid #658d7f; outline-offset:2px; }
/* Aura Gate 2: shared floor navigation and original boss evidence */
.dx2-aura-nav{border:1px solid #cbd5df;border-radius:12px;padding:16px 20px;margin:20px 0;background:#f4f7fb;line-height:2}
.dx2-aura-nav strong{display:block;font-size:1.1em}.dx2-aura-nav a{white-space:nowrap}
.dx2-aura-boss{border:1px solid #cbd5df;border-radius:14px;padding:20px;margin:16px 0 28px;background:#fff;box-shadow:0 4px 16px #24364a0a}
.dx2-aura-party{overflow:auto}.dx2-aura-party table{width:100%;margin:0 0 16px!important;table-layout:auto!important}
.dx2-aura-party table:first-child img{max-width:100%;height:auto!important;object-fit:contain}
.dx2-aura-screenshots{border-top:1px solid #dce3ea;padding-top:18px}.dx2-aura-screenshots>strong{display:block;margin-bottom:14px;color:#344b64}
.dx2-aura-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px;align-items:start}
.dx2-aura-gallery .thumb{float:none!important;margin:0!important;width:auto!important}.dx2-aura-gallery .thumbinner{width:auto!important;max-width:100%;box-sizing:border-box;border:1px solid #dce3ea;border-radius:8px;background:#f8fafc;padding:10px}
.dx2-aura-gallery img{max-width:100%!important;width:auto!important;height:auto!important;object-fit:contain}.dx2-aura-gallery .thumbcaption{font-size:14px;line-height:1.5;padding-top:8px}
@media(max-width:600px){.dx2-aura-boss{padding:12px}.dx2-aura-party table{font-size:13px}.dx2-aura-nav{padding:12px}}
/* Wrapping affinity cards replace the fixed-width resistance table. */
.dx2-affinities{border:1px solid #d7e0de;border-radius:14px;padding:18px;margin:20px 0;box-sizing:border-box;min-width:0;background:#fff}
.dx2-affinity-heading{display:flex;align-items:center;gap:18px;margin-bottom:18px;font-size:1.15em}
.dx2-affinity-portrait{flex:0 0 80px}.dx2-affinity-portrait img{width:auto;max-width:80px;max-height:110px;height:auto}
.dx2-affinity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr));gap:10px;min-width:0}
.dx2-affinity-card{border:1px solid #dce3e7;border-radius:10px;text-align:center;overflow-wrap:anywhere;min-width:0;background:#f8fafb}
.dx2-affinity-label{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 6px;font-size:14px}
.dx2-affinity-label img{width:24px;height:auto}.dx2-affinity-value{border-top:1px solid #dce3e7;background:#fff;padding:10px 6px;font-size:15px;font-weight:600;border-radius:0 0 10px 10px}
.dx2-affinity-fire{background:#fff0ea}.dx2-affinity-ice{background:#eaf5ff}.dx2-affinity-elec{background:#fffbdc}.dx2-affinity-force{background:#f0f7e7}.dx2-affinity-light{background:#fff9ea}.dx2-affinity-dark{background:#f6edfb}
/* Structured AG2 enemy cards; no ordinary summonable-demon stats reused. */
.dx2-ag2-speed{padding:12px 16px;background:#edf3f8;border-radius:8px;margin-bottom:16px}
.dx2-ag2-enemies{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}
.dx2-ag2-enemy{border:1px solid #d7e0de;border-radius:12px;padding:18px;min-width:0;background:#fff}
.dx2-ag2-enemy h4{font-size:20px;margin:0!important}.dx2-ag2-enemy>small{color:#657681}
.dx2-ag2-stats,.dx2-ag2-skills{padding:12px 0;line-height:1.8}.dx2-ag2-pending{color:#687783;font-size:14px;padding:12px 0}
.dx2-ag2-affinities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0}.dx2-ag2-affinities>div{background:#f3f6f8;border:1px solid #dce3e7;border-radius:6px;text-align:center;font-size:13px;padding:6px 2px}.dx2-ag2-affinities strong,.dx2-ag2-affinities span{display:block}
.dx2-ag2-reference{border:1px solid #dce3e7;border-radius:8px;padding:14px;margin:18px 0}.dx2-ag2-reference>.mw-collapsible-content{padding-top:16px}
/* Main page: readable navigation cards that wrap to the available width. */
.dx2-home{max-width:1300px;min-width:0}.dx2-home-intro{padding:24px;border:1px solid #d8e2e8;border-radius:14px;background:#f3f7fb}.dx2-home-intro>span{font-size:13px;letter-spacing:.04em;color:#617588}.dx2-home-intro h2{margin:8px 0!important;border:0!important;padding:0!important;font-size:26px;line-height:1.3}.dx2-home-intro p{margin-bottom:0;color:#526474}
.dx2-home-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0;font-size:0}.dx2-home-shortcuts a{display:inline-block;font-size:15px;background:#edf4f1;border:1px solid #cdded7;border-radius:8px;padding:9px 12px;text-decoration:none;font-weight:600}.dx2-home-shortcuts a:hover{background:#deece6}
.dx2-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;align-items:start}.dx2-home-card{border:1px solid #d7e0e5;border-radius:12px;padding:20px;background:white;box-shadow:0 3px 12px #16394d06;min-width:0;overflow-wrap:anywhere}.dx2-home-card h3{font-size:19px;margin:0 0 12px!important}.dx2-home-card ul{margin:0 0 0 20px}.dx2-home-card li{padding:5px 0;line-height:1.65}.dx2-home-card li img{max-width:28px;max-height:32px;width:auto;height:auto;object-fit:contain;vertical-align:middle;margin-right:5px}.dx2-home-tools ul{columns:2;column-gap:28px}.dx2-home-tools li{break-inside:avoid}.dx2-home-tools hr{display:none}.dx2-home-event-note{color:#647481;margin:10px 0 16px}.dx2-home-events>.mw-collapsible-content{padding-top:16px}
@media(max-width:650px){.dx2-home-tools ul{columns:1}.dx2-home-intro{padding:18px}.dx2-home-intro h2{font-size:23px}.dx2-home-card{padding:16px}}

.dx2-home-shortcuts>p{display:flex;flex-wrap:wrap;gap:8px;margin:0}
/* Main page simplified: four destinations and a quiet expandable directory. */
.dx2-home-simple{max-width:1100px}.dx2-home-welcome{padding:8px 0 20px}.dx2-home-welcome>strong{font-size:28px;color:#193e3c;letter-spacing:-.02em}.dx2-home-welcome p{margin:4px 0;color:#617079}
.dx2-home-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dx2-home-destination{padding:20px;border:1px solid #d8e2e5;border-radius:10px;background:#f8fafb;min-width:0}.dx2-home-destination strong{font-size:19px}.dx2-home-destination a{text-decoration:none}.dx2-home-destination p{font-size:14px;color:#60717b;margin:6px 0 0;line-height:1.5}
.dx2-home-start{margin:20px 0;padding:12px 0;border-bottom:1px solid #e3e9ec;font-size:15px}.dx2-home-simple h2{font-size:20px;margin:22px 0 12px;border:0}
.dx2-home-directory{padding:14px 0;border-bottom:1px solid #e0e7eb;font-size:16px}.dx2-home-directory>.mw-collapsible-content{padding:14px 16px;background:#f8fafb;border-radius:8px;margin-top:14px}.dx2-home-directory img{max-width:24px;height:auto;vertical-align:middle}.dx2-home-directory ul{margin-left:22px}.dx2-home-directory li{padding:3px 0;line-height:1.65}.dx2-home-directory .mw-collapsible-toggle{font-size:13px}
.dx2-home-footer{font-size:14px;margin-top:24px;color:#657681}
@media(max-width:450px){.dx2-home-destination{padding:14px}.dx2-home-destination strong{font-size:17px}.dx2-home-destination p{font-size:13px}}
.dx2-newest-demons{padding:12px 16px;margin:0 0 18px;border:1px solid #d8e2e5;border-radius:8px;background:#f5f8fa;font-size:15px;line-height:1.8}.dx2-newest-demons strong{margin-right:6px;color:#344d59}.dx2-newest-demons a{white-space:nowrap}
.dx2-home-simple .dx2-home-start{margin:0 0 16px;padding:14px 16px;background:#fff8e9;border:1px solid #eadfc6;border-radius:8px}.dx2-home-start img,.dx2-home-destination img,.dx2-home-directory-label img,.dx2-home-footer img,.dx2-newest-demons img{vertical-align:middle;object-fit:contain;width:auto;height:auto;max-height:32px;margin-right:6px}.dx2-home-destination strong{display:flex;align-items:center;gap:6px}.dx2-newest-demons>span{display:inline-block;white-space:nowrap}
/* Balanced homepage: visible directory, wider columns, archived events folded. */
.dx2-home-simple{max-width:none}.dx2-home-welcome{padding:2px 0 14px}.dx2-home-welcome>strong{font-size:24px}.dx2-home-primary{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}.dx2-home-destination{padding:16px}.dx2-home-start{margin-bottom:12px!important}.dx2-newest-demons{margin-bottom:12px}
.dx2-home-browse-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:16px;align-items:start}.dx2-home-browse-grid>.dx2-home-directory{padding:18px;border:1px solid #d8e2e5;border-radius:10px;background:white;margin:0}.dx2-home-directory-label{font-size:17px;line-height:1.5;margin-bottom:14px}.dx2-home-directory-content{font-size:14px;line-height:1.65}.dx2-home-directory-content>p{font-weight:600;color:#59716b;margin:16px 0 6px}.dx2-home-directory-content>p:first-child{margin-top:0}.dx2-home-directory-content ul{margin:0 0 8px 19px}.dx2-home-directory-content li{padding:3px 0}.dx2-home-directory-content hr{margin:14px 0;border-color:#e4eaed}.dx2-home-events{margin-top:20px}.dx2-home-events>.dx2-home-directory-label{margin-bottom:0}.dx2-home-directory-content img{max-height:26px;max-width:24px;object-fit:contain;vertical-align:middle}
@media(min-width:1400px){.dx2-home-browse-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dx2-featured{border:1px solid #cddbe3;background:#f2f6fa;border-radius:14px;padding:20px;margin:16px 0 24px}.dx2-featured-title{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:18px}.dx2-featured-title>strong{font-size:21px}.dx2-featured-title>span{font-size:13px;color:#617383}.dx2-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dx2-featured-demon{background:#fff;border:1px solid #dce4e9;border-radius:10px;padding:16px;text-align:center;min-width:0}.dx2-featured-demon img{max-width:100%;width:auto;height:auto;max-height:330px;object-fit:contain}.dx2-featured-demon>div{padding-top:12px;line-height:1.7}.dx2-featured-demon strong{font-size:19px}.dx2-featured-demon a.external{font-size:13px}