/* Weapon page and the weapon drawer of /wiki/weapons, in the site's Expedition theme (2026-10-22): flat navy
   surfaces, white-alpha lines, Oswald capitals, one yellow accent. Self-contained on purpose: the drawer is moved to
   <body> (wiki-weapon-drawer.js), outside the page's .dzw-page scope, so nothing here may rely on wiki-theme.css. */
.wd-view {--wd-display:'Oswald','Roboto',system-ui,sans-serif;--wd-mono:'Roboto Mono',ui-monospace,monospace;
    color:var(--dz-text,#e5e7eb);font:15px/1.5 Roboto,system-ui,sans-serif;min-width:0;}
.wd-view * {box-sizing:border-box;}
.wd-view h1,.wd-view h2,.wd-view p,.wd-view dl,.wd-view dd {margin:0;}
.wd-view a {color:inherit;text-decoration:none;}
.wd-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;}
.wd-title-row {display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:10px;}
.wd-view h1 {font:600 42px/1.02 var(--wd-display);text-transform:uppercase;letter-spacing:.005em;color:#fff;}
.wd-heading p {max-width:760px;color:var(--dz-text-2,#c3c9d4);font-size:16px;}
.wd-view .wd-compare {flex-shrink:0;display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border:1px solid var(--dz-accent-glass-line,rgba(250,204,21,.5));border-radius:8px;
    color:var(--dz-accent-glass-ink,#fde047);background:var(--dz-accent-glass,rgba(250,204,21,.14));font-weight:700;font-size:14px;transition:background-color .15s ease;}
.wd-view .wd-compare:hover {background:var(--dz-accent-glass-hover,rgba(250,204,21,.24));}
/* "Try it in-game": the solid accent, the one loud button on the page (DZSA direct connect to the minigames server) */
.wd-heading__actions {flex-shrink:0;display:flex;align-items:center;gap:10px;}
.wd-view .wd-try {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:0 18px;border:1px solid var(--dz-accent,#facc15);border-radius:8px;
    color:var(--dz-accent-ink,#0a0e1c);background:var(--dz-accent,#facc15);font-weight:700;font-size:14px;transition:background-color .15s ease,border-color .15s ease;}
.wd-view .wd-try:hover {background:var(--dz-accent-press,#eab308);border-color:var(--dz-accent-press,#eab308);}
.wd-view .wd-try:focus-visible,.wd-view .wd-compare:focus-visible {outline:2px solid #fff;outline-offset:2px;}

/* source chips: the theme's quiet chip with a coloured dot (wiki-theme.css does the same under .dzw-page) */
.wd-view :is(.badge-vanilla,.badge-modded,.badge-namalsk,.badge-deerisle) {display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:2px 8px;
    border:1px solid var(--dz-line-strong,rgba(255,255,255,.14));border-radius:6px;background:rgba(255,255,255,.03);backdrop-filter:none;
    color:var(--dz-text-2,#c3c9d4);font:600 11px/1.4 Roboto,system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap;}
.wd-view :is(.badge-vanilla,.badge-modded,.badge-namalsk,.badge-deerisle)::before {content:'';width:6px;height:6px;border-radius:50%;flex:0 0 6px;}
.wd-view .badge-vanilla::before {background:#4ade80;}
.wd-view .badge-modded::before {background:var(--dz-accent,#facc15);}
.wd-view .badge-namalsk::before {background:#5eead4;}
.wd-view .badge-deerisle::before {background:#fb923c;}

.wd-overview {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:22px;margin-bottom:22px;align-items:center;
    border:1px solid var(--dz-line,rgba(255,255,255,.08));border-radius:14px;
    background:radial-gradient(ellipse 60% 70% at 25% 50%,rgba(148,163,196,.14),rgba(148,163,196,0) 70%),var(--dz-surface,#0a0e1c);}
.wd-image-button {display:block;width:100%;background:none;border:0;border-radius:10px;cursor:zoom-in;}
.wd-image-button:not([href]) {cursor:default;}
.wd-image-button:focus-visible {outline:2px solid var(--dz-accent,#facc15);outline-offset:4px;}
.wd-image-button img {width:100%;height:auto;max-height:240px;object-fit:contain;filter:drop-shadow(0 8px 14px #000a);transition:transform .3s ease;}
.wd-image-button:hover img,.wd-image-button:focus-visible img {transform:scale(1.05);}
.wd-stats {min-width:0;display:grid;gap:5px;}
.wd-stat {display:grid;grid-template-columns:128px minmax(0,1fr);gap:10px;font-size:12px;align-items:center;}
.wd-stat dt {font-weight:600;color:var(--dz-text-2,#c3c9d4);}
.wd-stat dd {position:relative;min-width:0;min-height:22px;display:flex;align-items:center;justify-content:flex-end;}
.wd-stat__track {position:absolute;inset:0;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden;}
.wd-stat__track>span {display:block;height:100%;opacity:.85;}
.wd-stat__value {position:relative;padding:1px 7px;font:600 12px/1.4 var(--wd-mono);color:#fff;white-space:nowrap;text-shadow:0 1px 3px #000;}
.wd-stat__comparison {display:none;position:absolute;right:7px;font:600 12px/1.4 var(--wd-mono);color:#fff;white-space:nowrap;text-shadow:0 1px 3px #000;}
.wd-stat:hover .wd-stat__value,.wd-stat:focus .wd-stat__value {opacity:0;}
.wd-stat:hover .wd-stat__comparison,.wd-stat:focus .wd-stat__comparison {display:block;}
.wd-stat:focus-visible {outline:2px solid var(--dz-accent,#facc15);outline-offset:3px;border-radius:3px;}

.wd-view #damage-chart {height:500px;}
.wd-armor-note {font-size:12px;color:var(--dz-muted,#8b95a8);}
.wd-panel {padding:22px;margin-bottom:20px;border:1px solid var(--dz-line,rgba(255,255,255,.08));border-radius:12px;background:var(--dz-surface,#0a0e1c);}
.wd-panel h2 {display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--dz-line,rgba(255,255,255,.08));
    font:600 22px/1.15 var(--wd-display);text-transform:uppercase;letter-spacing:.01em;color:#fff;}
.wd-panel h2::before {content:'';width:4px;height:17px;border-radius:2px;background:var(--dz-accent,#facc15);flex:0 0 4px;}
.wd-chart-heading {display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--dz-line,rgba(255,255,255,.08));}
.wd-chart-heading h2 {margin:0;padding:0;border:0;}

/* Health / Shock switch (wiki-weapon-detail.js toggles .is-active) */
.wd-seg {display:inline-flex;gap:2px;padding:3px;border:1px solid var(--dz-line-strong,rgba(255,255,255,.14));border-radius:9px;background:var(--dz-field,#0f1424);}
.wd-seg__btn {min-height:30px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--dz-text-2,#c3c9d4);font:600 13px/1 Roboto,system-ui,sans-serif;cursor:pointer;}
.wd-seg__btn:hover {color:#fff;}
.wd-seg__btn.is-active {background:var(--dz-accent,#facc15);color:var(--dz-accent-ink,#0a0e1c);}

.wd-chart-controls {display:flex;align-items:flex-end;gap:10px;}
.wd-field {display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dz-muted,#8b95a8);}
.wd-field input,.wd-field select,.wd-listbox {width:100%;min-width:0;border:1px solid var(--dz-line-strong,rgba(255,255,255,.14));border-radius:8px;padding:9px 11px;
    background:var(--dz-field,#0f1424);color:var(--dz-text,#e5e7eb);font:400 14px/1.4 Roboto,system-ui,sans-serif;letter-spacing:0;text-transform:none;}
.wd-field input:focus,.wd-field select:focus,.wd-listbox:focus {border-color:var(--dz-accent,#facc15);outline:none;box-shadow:0 0 0 3px var(--dz-accent-soft,rgba(250,204,21,.12));}
.wd-field select option,.wd-field select optgroup,.wd-listbox option {background:var(--dz-field,#0f1424);color:var(--dz-text,#e5e7eb);}
.wd-field-control {display:flex;align-items:center;gap:8px;min-width:0;}
.wd-control-preview {width:48px;height:40px;object-fit:contain;flex-shrink:0;}
.wd-btn-clear {min-height:40px;padding:0 16px;border:1px solid rgba(248,113,113,.45);border-radius:8px;background:rgba(248,113,113,.1);color:#fca5a5;font:600 13px/1 Roboto,system-ui,sans-serif;cursor:pointer;}
.wd-btn-clear:hover {background:rgba(248,113,113,.18);}
.wd-listbox-wrap {margin-top:8px;}
.wd-listbox {padding:4px;}
.wd-results-list {max-height:12rem;overflow-y:auto;border:1px solid var(--dz-line-strong,rgba(255,255,255,.14));border-radius:8px;background:var(--dz-field,#0f1424);}
.wd-selection-preview {display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--dz-line,rgba(255,255,255,.08));border-radius:8px;background:var(--dz-field,#0f1424);}
.wd-selection-preview>img {width:112px;height:48px;object-fit:contain;flex-shrink:0;}
.wd-preview-label,.wd-preview-name {display:block;}
.wd-preview-label {font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dz-muted,#8b95a8);}
.wd-preview-name {font-size:14px;color:var(--dz-text,#e5e7eb);}
.wd-selection-preview[hidden],.wd-control-preview[hidden] {display:none;}
.wd-search-result {display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;text-align:left;border:0;border-bottom:1px solid var(--dz-line,rgba(255,255,255,.08));background:transparent;cursor:pointer;}
.wd-search-result:last-child {border-bottom:0;}
.wd-search-result:hover,.wd-search-result:focus-visible {background:var(--dz-hover,rgba(255,255,255,.06));}
.wd-search-result img {width:80px;height:36px;object-fit:contain;flex-shrink:0;}
.wd-search-result span {min-width:0;overflow-wrap:anywhere;}
.wd-control-preview,.wd-selection-preview img,.wd-search-result img {filter:drop-shadow(0 2px 4px #000c);transition:transform .2s ease;}
.wd-field-control:hover .wd-control-preview,.wd-selection-preview:hover img,.wd-search-result:hover img,.wd-search-result:focus-visible img {transform:scale(1.1);}
.wd-tooltip {position:absolute;padding:8px 12px;border:1px solid var(--dz-line-strong,rgba(255,255,255,.14));border-radius:8px;background:rgba(10,14,28,.97);
    box-shadow:var(--dz-shadow-2,0 6px 20px rgba(0,0,0,.45));color:var(--dz-text,#e5e7eb);font-size:12px;z-index:50;pointer-events:none;}
.wd-results {padding:12px 14px;border:1px solid var(--dz-line,rgba(255,255,255,.08));border-radius:8px;background:var(--dz-field,#0f1424);font-size:12px;color:var(--dz-text-2,#c3c9d4);}

.wd-chips {display:flex;flex-wrap:wrap;gap:8px;}
.wd-chip {display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:1px solid var(--dz-line-strong,rgba(255,255,255,.14));border-radius:7px;background:var(--dz-field,#0f1424);
    color:var(--dz-text,#e5e7eb);font-size:13px;font-weight:600;}

.wd-compatible {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.wd-view .wd-item-link {display:flex;align-items:center;gap:10px;padding:8px 10px;min-width:0;border:1px solid var(--dz-line,rgba(255,255,255,.08));background:var(--dz-field,#0f1424);
    border-radius:8px;color:var(--dz-text,#e5e7eb);font-size:14px;transition:border-color .15s ease,background-color .15s ease;}
.wd-view .wd-item-link:hover {border-color:var(--dz-accent-glass-line,rgba(250,204,21,.5));background:var(--dz-raised,#151b2e);}
.wd-item-link:hover>span:first-of-type {color:var(--dz-accent-hover,#fde047);}
.wd-item-link img {width:48px;height:40px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8));transition:transform .2s ease;}
.wd-item-link:hover img,.wd-item-link:focus-visible img {transform:scale(1.1);}
.wd-item-link>span:first-of-type {flex:1;min-width:0;overflow-wrap:anywhere;}
.wd-slots {display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:0;font-size:13px;}
.wd-slots li {padding:6px 10px;border:1px solid var(--dz-line,rgba(255,255,255,.08));background:var(--dz-field,#0f1424);border-radius:7px;color:var(--dz-text-2,#c3c9d4);}
.wd-view .wd-slots a {color:var(--dz-text,#e5e7eb);}
.wd-view .wd-slots a:hover {color:var(--dz-accent-hover,#fde047);}
.wd-slots .wd-slots__class {color:var(--dz-muted,#8b95a8);font:400 11px/1.4 var(--wd-mono);}
.wd-technical>div {display:flex;gap:16px;padding:6px 0;border-bottom:1px solid var(--dz-line,rgba(255,255,255,.08));}
.wd-technical>div:last-child {border-bottom:0;}
.wd-technical dt {color:var(--dz-muted,#8b95a8);min-width:120px;}
.wd-technical dd {overflow-wrap:anywhere;font-family:var(--wd-mono);font-size:13px;}
.wd-view a:focus-visible,.wd-view button:focus-visible,.wd-view input:focus-visible,.wd-view select:focus-visible {outline:2px solid var(--dz-accent,#facc15);outline-offset:3px;}

/* "Where it spawns" / "Keycard crates": WikiCommon.renderSpawnTables (wiki-common.js) writes Tailwind markup into
   .wd-spawn-tables; these rules dress it like the panels above until that shared renderer emits theme classes. */
.wd-view .wd-spawn-tables > div {display:flex;flex-direction:column;gap:20px;margin-bottom:20px;}
.wd-view .wd-spawn-tables > div > * {margin:0 !important;}
.wd-view .wd-spawn-tables > div > div {padding:22px;border:1px solid var(--dz-line,rgba(255,255,255,.08));border-radius:12px;background:var(--dz-surface,#0a0e1c);}
.wd-view .wd-spawn-tables h3 {display:flex;align-items:center;gap:12px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--dz-line,rgba(255,255,255,.08));
    font:600 22px/1.15 var(--wd-display);text-transform:uppercase;letter-spacing:.01em;color:#fff;}
.wd-view .wd-spawn-tables h3::before {content:'';width:4px;height:17px;border-radius:2px;background:var(--dz-accent,#facc15);flex:0 0 4px;}
.wd-view .wd-spawn-tables p {color:var(--dz-text-2,#c3c9d4);}
.wd-view .wd-spawn-tables p.text-gray-500 {color:var(--dz-muted,#8b95a8);}
.wd-view .wd-spawn-tables p strong {color:var(--dz-accent-hover,#fde047);}
.wd-view .wd-spawn-tables table {border:1px solid var(--dz-line,rgba(255,255,255,.08));border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden;}
.wd-view .wd-spawn-tables thead tr {background:var(--dz-field,#0f1424);border-color:var(--dz-line-strong,rgba(255,255,255,.14));color:var(--dz-muted,#8b95a8);}
.wd-view .wd-spawn-tables thead th {font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--dz-line-strong,rgba(255,255,255,.14));}
.wd-view .wd-spawn-tables tbody > tr + tr {border-color:var(--dz-line,rgba(255,255,255,.08));}
.wd-view .wd-spawn-tables tbody td {border-top:1px solid var(--dz-line,rgba(255,255,255,.08));}
.wd-view .wd-spawn-tables tbody tr:first-child td {border-top:0;}
.wd-view .wd-spawn-tables tbody tr:hover {background:var(--dz-hover,rgba(255,255,255,.06));}
.wd-view .wd-spawn-tables a {color:var(--dz-accent,#facc15);}
.wd-view .wd-spawn-tables a:hover {color:var(--dz-accent-hover,#fde047);}

/* the drawer of /wiki/weapons */
#detail-sidebar[aria-hidden="true"] {visibility:hidden;}
#detail-sidebar.wd-drawer {background:var(--dz-bg,#000027);border-left:1px solid var(--dz-line-strong,rgba(255,255,255,.14));box-shadow:var(--dz-shadow-3,0 20px 48px rgba(0,0,0,.6));}
.wd-drawer__bar {height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;
    border-bottom:1px solid var(--dz-line,rgba(255,255,255,.08));background:var(--dz-surface,#0a0e1c);}
.wd-drawer__label {color:var(--dz-muted,#8b95a8);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.wd-drawer__btn {display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--dz-text-2,#c3c9d4);cursor:pointer;transition:background-color .15s ease,color .15s ease;}
.wd-drawer__btn:hover {background:var(--dz-hover,rgba(255,255,255,.06));color:var(--dz-accent,#facc15);}
.wd-spinner {display:inline-block;width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:var(--dz-accent,#facc15);animation:wd-spin .8s linear infinite;}
@keyframes wd-spin {to {transform:rotate(360deg);}}
#sidebar-content.wd-drawer-content {display:block;padding:24px;overflow-y:auto;overscroll-behavior:contain;height:100%;}
#sidebar-content.wd-drawer-content .wd-view h1 {font-size:34px;}

/* Weapon page, drawer and comparison lists share the site's dark chrome. */
:is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select) {
    color-scheme:dark;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#47536b #0a0e1c;
}
@supports selector(::-webkit-scrollbar) {
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select) {scrollbar-width:auto;scrollbar-color:auto;}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar {width:8px;height:8px;}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar-track {background:#0a0e1c;border-radius:999px;margin-block:8px;}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar-thumb {background:#47536b;background-clip:padding-box;border:2px solid #0a0e1c;border-radius:999px;min-height:40px;}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar-thumb:hover {background-color:var(--dz-accent,#facc15);}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar-thumb:active {background-color:var(--dz-accent-press,#eab308);}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar-button {display:none;width:0;height:0;}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar-corner {background:transparent;}
}
@media(forced-colors:active) {
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select) {scrollbar-color:auto;}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar-thumb {background:CanvasText;border-color:Canvas;}
    :is(html:has(#page-container > .wd-view),#sidebar-content.wd-drawer-content,.wd-view #compare-search-results,.wd-view #compare-weapon-select)::-webkit-scrollbar-track {background:Canvas;}
}
.wd-page {padding-top:30px;}
@media(max-width:768px){#detail-sidebar{width:100%;min-width:0;}}
@media(max-width:1000px) {.wd-overview{grid-template-columns:minmax(0,1fr);gap:16px;}.wd-heading{align-items:flex-start;}.wd-view h1{font-size:34px;}}
@media(max-width:600px) {.wd-heading{flex-direction:column;}.wd-heading__actions{width:100%;}.wd-heading__actions>a{flex:1 1 0;justify-content:center;}.wd-compatible{grid-template-columns:minmax(0,1fr);}.wd-panel{padding:16px 14px;}.wd-overview{padding:14px;}.wd-chart-controls{flex-wrap:wrap;}.wd-stat{grid-template-columns:120px minmax(0,1fr);}.wd-chart-heading{flex-wrap:wrap;}.wd-view h1{font-size:30px;}.wd-panel h2{font-size:20px;}}
@media(max-width:600px){.wd-chart-controls:has(#calc-armor-select)>.wd-field{flex-basis:100%;}}
@media(prefers-reduced-motion:reduce){.wd-view img{transition:none!important;transform:none!important;}.wd-spinner{animation-duration:2s;}}
