:root{--surface-page:#151719;--surface-panel:#1d2023;--surface-raised:#25292d}
:root{color-scheme:dark;--bg:#08090a;--panel:#101214;--raised:#151719;--line:#303235;--text:#f5f5f3;--muted:#9b9ea3;--accent:#f76c02;--accent-rgb:247 108 2;--font:Arial,Helvetica,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--title:Impact,"Arial Narrow",sans-serif}
.ipad-landscape-notice{display:none}
.phone-portrait-notice{display:none}
 .phone-landscape{overflow:hidden}
 .phone-landscape .phone-portrait-notice{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;background:#08090af2;color:#f5f5f3;text-align:center;touch-action:none}
@media(min-width:700px) and (max-width:1180px) and (orientation:portrait){
 .wardogs-ipad.ipad-portrait{overflow:hidden}
 .wardogs-ipad.ipad-portrait .ipad-landscape-notice{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;background:#08090af2;color:#f5f5f3;text-align:center;touch-action:none}
 .ipad-landscape-copy{max-width:440px;padding:32px;border:1px solid #3a3e41;background:var(--surface-panel)}
 .ipad-rotation-icon{display:block;color:var(--accent);font-size:62px;line-height:1}
 .ipad-landscape-copy h2{margin:15px 0 8px;font:normal 36px/1 var(--title);letter-spacing:.05em}
 .ipad-landscape-copy p{margin:0;color:#aab0b4;font:13px/1.6 var(--mono)}
}
*{box-sizing:border-box}body{margin:0;background:var(--surface-page);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}button,select{font:inherit}a{color:inherit}button,select,a{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{color:inherit}a:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img[hidden],span[hidden]{display:none}
.site-header{display:flex;justify-content:center;position:relative;padding:21px 20px 19px;border-bottom:1px solid var(--line);background:#0b0c0d}.site-header:after{position:absolute;bottom:-1px;left:calc(50% - 25px);width:50px;height:2px;background:var(--accent);content:""}.creator{display:flex;align-items:center;flex-direction:column;text-decoration:none;color:#fff;width:max-content;gap:9px}.creator-eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.28em;padding-left:.28em}.creator-logo-frame{display:block;position:relative;overflow:hidden;width:164px;height:116px}.creator-logo{position:absolute;display:block;width:333px;height:auto;max-width:none;left:-84px;top:-26px;filter:grayscale(1) invert(1) contrast(8);mix-blend-mode:screen}.creator-follow{font-size:.8125rem;display:flex;align-items:center;gap:7px;color:#fff}.creator-follow svg{height:13px;width:13px;stroke:currentColor;fill:none;stroke-width:1.5}.creator:hover .creator-follow{color:var(--accent)}
main{max-width:1440px;padding:37px 28px 0;margin:auto}.page-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:30px}h1{font-family:var(--title);font-size:clamp(1.8rem,3.2vw,3rem);font-weight:400;line-height:1.15;letter-spacing:.045em;margin:0;overflow-wrap:anywhere}h1>span{color:var(--accent)}
.comparison{display:grid;grid-template-columns:minmax(0,1fr) 158px minmax(0,1fr);align-items:stretch}.weapon-head{position:relative;min-width:0;border:1px solid var(--line);border-top:3px solid #777c80;background:var(--surface-raised);padding:22px 26px 20px}.weapon-head:after{content:"";position:absolute;top:0;right:0;width:15px;height:15px;border-right:2px solid #a0a3a6;border-top:2px solid #a0a3a6;pointer-events:none}.slot-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.75rem;letter-spacing:.08em;color:#aeb0b4;font-family:var(--mono)}.slot-line label{display:flex;align-items:center;gap:10px}.slot-number{color:#fff;border:1px solid #555a5e;padding:0 5px;letter-spacing:0}.base-tag{font-size:.75rem;color:#93999f;white-space:nowrap}select{display:block;width:100%;color:#fff;background-color:transparent;border:0;border-bottom:1px solid #3c4044;font-family:var(--title);font-weight:400;font-size:clamp(1.55rem,2.7vw,2.5rem);letter-spacing:.04em;margin:16px 0 0;padding:0 27px 13px 0;appearance:none;border-radius:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23f76c02' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;transition:color .15s}select:hover{color:var(--accent)}select option,select optgroup{background:#1d2023;color:#fff;font-family:var(--font);font-size:1rem;font-weight:400;letter-spacing:normal}
.weapon-visual{display:flex;align-items:center;justify-content:center;height:280px;margin:8px -12px 12px;position:relative;overflow:hidden}.weapon-visual:before,.weapon-visual:after{content:"";position:absolute;left:12px;right:12px;height:7px;background:repeating-linear-gradient(90deg,#555c63 0 1px,transparent 1px 20px);opacity:.3;pointer-events:none;z-index:2}.weapon-visual:before{top:16px}.weapon-visual:after{bottom:9px}.weapon-visual img{display:block;object-fit:contain;width:100%;height:100%;position:relative;z-index:1;transition:transform .3s ease}.weapon-head:hover .weapon-visual img{transform:scale(1.03)}.image-unavailable{color:var(--muted);font-family:var(--mono);font-size:.875rem}.weapon-meta{font-size:.875rem;color:#aaafb3;min-height:24px}.weapon-meta .caliber{color:#e0e3e5}.meta-divider{margin:0 8px;color:#5b6267}.weapon-unlock,.weapon-modes,.weapon-magazines{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:.875rem;color:#d9dcde}.weapon-unlock{padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.weapon-modes,.weapon-magazines{margin-top:6px}.unlock-label,.mode-label{font-family:var(--mono);font-size:.75rem;letter-spacing:.03em;color:#9a9fa4;min-width:48px}.unlock-value,.mode-value{font-weight:500}
.versus{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.versus>span{font-family:var(--title);font-size:1.75rem;color:#71787e;letter-spacing:.05em}.versus button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #53575b;background:#111315;transition:background .2s,border-color .2s}.versus button:hover{border-color:var(--accent);background:var(--surface-panel)}.versus svg{width:21px;height:21px;stroke:var(--accent);fill:none;stroke-width:1.5;stroke-linecap:square}
.stat-rows,.stat-row{display:contents}.stat-cell{position:relative;min-width:0;background:var(--surface-panel);border-right:1px solid var(--line);border-left:1px solid var(--line);padding:16px 26px 13px}.stat-cell:after{content:"";position:absolute;left:26px;right:26px;bottom:0;border-bottom:1px solid #24272a}.stat-line{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px}.numeric{font-family:var(--mono);font-size:1.65rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:-.055em;white-space:nowrap}.unit{font-family:var(--font);font-size:.8125rem;font-weight:400;letter-spacing:0;color:#999fa5;margin-left:7px}.outcome{color:#92999f;font-family:var(--mono);font-size:.75rem;line-height:1.4;text-align:right}.outcome.is-win{color:var(--accent);background:var(--surface-panel);padding:4px 7px;border:1px solid var(--accent)}.winner .numeric{color:var(--accent)}.winner .unit{color:var(--accent)}.missing .numeric{color:#939ba2;font-size:1rem;letter-spacing:0}.meter{height:3px;background:#272b2e;overflow:hidden;margin-top:10px}.meter-fill{height:100%;background:#7b8389;transition:width .22s ease}.winner .meter-fill{background:var(--accent)}.stat-label{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:.875rem;font-weight:600;line-height:1.25;padding:10px 8px;gap:5px;color:#dce0e3}.stat-direction{font-size:.75rem;font-weight:400;color:#959da4}.advantage{min-width:0;padding:20px 26px 22px;background:var(--surface-panel);border:1px solid var(--line);border-top:0}.advantage-heading{font-family:var(--mono);font-size:.75rem;letter-spacing:.13em;color:#9aa2a9}.advantage p{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0;font-size:.8125rem;color:#a8b0b7;min-height:28px}.advantage-chip{border:1px solid var(--accent);background:var(--surface-panel);padding:3px 8px;color:var(--accent)}.summary-middle{display:flex;align-items:center;justify-content:center;color:#555d64;font-size:1.4rem}
.ttk-section{margin-top:32px;border-top:2px solid #555d63;padding-top:19px}.ttk-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.ttk-heading h2{font-family:var(--title);font-size:1.625rem;font-weight:400;letter-spacing:.06em;line-height:1.2;margin:0}.ttk-heading h2 span{font-family:var(--mono);font-size:.6875em;font-weight:400;color:var(--accent);border:1px solid var(--accent);vertical-align:middle;padding:4px 7px;margin-left:10px;letter-spacing:0}.model-settings{font-family:var(--mono);font-size:.75rem;color:#9da4aa;text-align:right}.ttk-comparison{display:grid;grid-template-columns:minmax(0,1fr) 158px minmax(0,1fr)}.ttk-comparison .stat-cell{border-top:1px solid var(--line)}.ttk-comparison .stat-cell:after{display:none}.ttk-comparison .ttk-weapon{font-family:var(--mono);color:#949da5;font-size:.75rem;display:block;margin-bottom:9px;letter-spacing:.03em}.model-note{font-size:.8125rem;color:#949ca3;max-width:850px;margin:14px 0 0;line-height:1.6}.under-comparison{display:flex;justify-content:space-between;gap:18px;margin:32px 0 23px;color:#929ba3;font-family:var(--mono);font-size:.75rem;letter-spacing:.03em}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0 27px;border-top:1px solid var(--line);font-size:.75rem;color:#8f969d}footer>span:first-child{font-weight:800;letter-spacing:.12em;color:#c4c9ce}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notice{padding:20px;border:1px solid var(--accent);color:var(--accent)}
@media(min-width:1600px){.weapon-visual{height:315px}.stat-cell{padding-top:19px;padding-bottom:16px}}
@media(max-width:1000px){main{padding:28px 24px 0}.comparison,.ttk-comparison{grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr)}.weapon-head{padding:18px 20px}.weapon-visual{height:230px;margin-left:-12px;margin-right:-12px}.base-tag{display:none}.stat-cell{padding-left:20px;padding-right:20px}.stat-cell:after{left:20px;right:20px}.advantage{padding-left:20px;padding-right:20px}.numeric{font-size:1.4rem}.ttk-heading{align-items:flex-start}.model-settings{max-width:250px}.weapon-meta .meta-divider{display:none}.weapon-meta .caliber{display:block}.weapon-meta{min-height:42px}}
@media(max-width:640px){.site-header{padding:16px 14px}.creator{gap:7px}.creator-logo-frame{width:139px;height:98px}.creator-logo{width:282px;left:-71px;top:-22px}.creator-follow{font-size:.75rem}main{padding:26px 12px 0}.page-heading{gap:12px;margin-bottom:24px}h1{font-size:1.6rem;letter-spacing:.025em;max-width:360px}.legend{font-size:.75rem}.comparison,.ttk-comparison{grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr)}.weapon-head{padding:13px 10px}.slot-line{letter-spacing:0;font-size:.75rem}.slot-line label{align-items:flex-start;flex-direction:column;gap:6px}.slot-number{font-size:.75rem}.weapon-head:after{width:10px;height:10px}select{font-family:var(--font);font-size:1rem;font-weight:750;letter-spacing:-.03em;margin-top:12px;padding:0 18px 9px 0;background-size:14px;line-height:1.5}.weapon-visual{height:160px;margin:2px -7px 6px}.weapon-visual:before{top:8px}.weapon-visual:after{bottom:8px}.weapon-visual:before,.weapon-visual:after{left:5px;right:5px}.weapon-meta{font-size:.75rem;line-height:1.5;min-height:36px;overflow-wrap:anywhere}.weapon-unlock,.weapon-modes,.weapon-magazines{font-size:.8125rem;gap:4px;flex-direction:column;align-items:flex-start;line-height:1.35}.weapon-unlock{margin-top:10px;padding-top:10px}.weapon-modes,.weapon-magazines{margin-top:10px}.unlock-label,.mode-label{font-size:.75rem}.image-unavailable{font-size:.75rem}.versus{gap:14px}.versus>span{font-size:1.25rem}.versus button{width:33px;height:33px}.versus svg{width:18px;height:18px}.stat-cell{padding:14px 10px 12px}.stat-cell:after{left:10px;right:10px}.stat-line{flex-direction:column;align-items:flex-start;gap:7px;min-height:53px}.numeric{font-size:1.25rem;letter-spacing:-.065em}.unit{font-size:.75rem;margin-left:4px}.outcome{font-size:.75rem;text-align:left;min-height:17px}.outcome.is-win{padding:2px 4px}.stat-label{font-size:.8125rem;padding:8px 4px;overflow-wrap:anywhere}.stat-direction{font-size:.75rem;line-height:1.3}.advantage{padding:16px 10px}.advantage-heading{font-size:.75rem;letter-spacing:0}.advantage p{font-size:.75rem}.advantage-chip{padding:2px 4px;max-width:100%;overflow-wrap:anywhere}.ttk-section{margin-top:26px;padding-top:16px}.ttk-heading{flex-direction:column;gap:10px}.ttk-heading h2{font-size:1.4rem}.ttk-heading h2 span{font-size:.75rem;margin-left:6px}.model-settings{text-align:left;font-size:.75rem;max-width:none;line-height:1.7}.model-note{font-size:.75rem}.under-comparison{flex-direction:column;gap:5px;font-size:.75rem;margin-top:25px}footer{align-items:flex-start;font-size:.75rem;padding-top:20px}footer>span:last-child{text-align:right;max-width:215px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Compact comparison: keep the first results close to the selectors. */
.site-header{padding:10px 16px}.creator{gap:3px}.creator-logo-frame{width:99px;height:70px}.creator-logo{width:201px;left:-51px;top:-16px}
main{padding-top:20px}.page-heading{margin-bottom:18px}h1{font-size:clamp(1.6rem,2.6vw,2.35rem)}
.weapon-head{padding:14px 22px 12px}select{font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.2;margin-top:10px;padding-bottom:9px}
.weapon-visual{height:170px;margin:4px -10px 5px}.weapon-visual img{object-fit:contain}.weapon-visual img.tall-weapon{object-fit:contain}.weapon-head:hover .weapon-visual img{transform:none}
.weapon-visual:before{top:5px}.weapon-visual:after{bottom:5px}.weapon-meta{min-height:21px}.weapon-unlock{padding-top:6px;margin-top:6px}.weapon-modes,.weapon-magazines{margin-top:2px}
.stat-cell{padding:10px 22px 9px}.stat-line{min-height:27px}.numeric{font-size:1.4rem}.meter{margin-top:6px}.stat-label{padding-top:6px;padding-bottom:6px;gap:2px}.advantage{padding:13px 22px}.ttk-section{margin-top:22px;padding-top:14px}.ttk-heading{margin-bottom:12px}
@media(max-width:1000px){main{padding-top:18px}.weapon-head{padding:12px 16px}.weapon-visual{height:140px}.stat-cell{padding-left:16px;padding-right:16px}}
@media(max-width:640px){.site-header{padding:9px 12px}.creator-logo-frame{width:86px;height:61px}.creator-logo{width:175px;left:-44px;top:-14px}main{padding-top:16px}.page-heading{margin-bottom:15px}h1{font-size:1.5rem}.weapon-head{padding:10px 9px}.slot-line label{gap:3px}select{font-size:1rem;margin-top:8px;line-height:1.3}.weapon-visual{height:92px;margin:2px -5px 5px}.weapon-visual img{object-fit:contain}.weapon-unlock,.weapon-modes,.weapon-magazines{gap:1px}.weapon-modes,.weapon-magazines{margin-top:5px}.stat-cell{padding:9px}.stat-line{min-height:48px;gap:4px}.numeric{font-size:1.2rem}.advantage{padding:12px 9px}}

.ammo-section{margin-top:22px}.ammo-title{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-family:var(--mono);font-size:1rem;letter-spacing:.04em;margin:0;padding:12px 15px;background:#1b1e20;border-left:3px solid var(--accent)}.ammo-status{font-size:.75rem;color:var(--muted);font-weight:400}.damage-row{display:grid;grid-template-columns:minmax(0,1fr) 158px minmax(0,1fr);border-bottom:1px solid var(--line)}.damage-header{position:sticky;top:0;z-index:3;background:#202326;text-align:center;font-family:var(--mono);font-weight:700;font-size:.875rem;padding:10px 0}.damage-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 16px;background:var(--surface-panel)}.damage-value{text-align:center;font-family:var(--mono)}.damage-value strong{display:block;font-size:1.125rem;font-variant-numeric:tabular-nums}.damage-value span{display:block;font-size:.75rem;color:var(--muted)}.damage-value.is-better strong{color:var(--accent)}.damage-target{display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.875rem}.damage-target span{color:var(--muted);font-size:.8125rem}.damage-row:nth-child(7){border-top:2px solid #62686c}
@media(max-width:1000px){.damage-row{grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr)}}
@media(max-width:640px){.damage-row{grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr)}.damage-values{padding:8px 4px;gap:6px 2px;grid-template-columns:1fr}.damage-value{display:flex;justify-content:space-between;align-items:center;gap:3px}.damage-value strong{font-size:.875rem}.damage-value span{font-size:.75rem}.ammo-title{font-size:.875rem;gap:4px}.ammo-status{width:100%}.damage-header{font-size:.75rem}}

/* Three aligned ammunition tables on desktop. */
#ttk-results{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:20px;align-items:start}
.ammo-section{min-width:0;margin-top:0;border:1px solid var(--line)}
.ammo-title{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:70px;padding:10px 12px;letter-spacing:0}
.damage-header>div{min-width:0;overflow-wrap:anywhere;padding:0 4px}
@media(min-width:1200px){
  #ttk-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .damage-row{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)}
  .damage-header{min-height:60px;align-items:center;font-size:.875rem}
  .damage-values{padding:10px 5px;gap:3px;align-items:center;min-height:66px}
  .damage-value strong{font-size:.875rem;letter-spacing:-.04em}
  .damage-value span{font-size:.75rem;white-space:nowrap}
  .damage-target{font-size:.875rem;line-height:1.4;text-align:center}
  .damage-target span{font-size:.75rem}
}

/* Phone layout: two readable columns, shared labels above each pair. */
@media(max-width:640px){
 main{padding-left:12px;padding-right:12px}
 .comparison{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px}
 .left-head{grid-column:1;grid-row:1}.right-head{grid-column:2;grid-row:1}
 .weapon-head{padding:12px 10px}.slot-line label{flex-direction:row;align-items:center;gap:6px;font-size:.75rem}
 .slot-number{display:none}select{font-size:1.125rem;min-height:44px;margin-top:2px}
 .weapon-visual{height:96px}.weapon-meta{font-size:.875rem;min-height:42px}
 .weapon-unlock,.weapon-modes,.weapon-magazines{font-size:.875rem;line-height:1.4;gap:1px}
 .unlock-label,.mode-label{font-size:.75rem}.weapon-unlock{margin-top:7px;padding-top:7px}
 .versus{grid-column:1/-1;grid-row:2;flex-direction:row;gap:12px;padding:8px 0}
 .versus>span{font-size:1rem}.versus button{width:44px;height:36px}
 .stat-row{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;margin-bottom:8px}
 .stat-label{grid-column:1/-1;grid-row:1;flex-direction:row;justify-content:space-between;text-align:left;background:#1b1e20;padding:8px 10px;font-size:.875rem;gap:8px}
 .stat-direction{font-size:.75rem;white-space:nowrap}
 .stat-cell{grid-row:2;padding:11px 10px;border-bottom:1px solid var(--line)}
 .stat-line{min-height:50px;gap:6px}.numeric{font-size:1.375rem;letter-spacing:-.04em}.unit{font-size:.8125rem}
 .stat-cell:after{display:none}.outcome{font-size:.75rem}.meter{margin-top:7px}
 .summary-middle{display:none}.advantage{padding:12px 10px}.advantage-heading{font-size:.75rem}.advantage p{font-size:.8125rem}
 .ttk-heading{gap:8px}.ttk-heading h2{font-size:1.35rem}.ttk-heading h2 span{display:inline-block;margin-top:5px}
 .model-note{font-size:.875rem;line-height:1.5}.model-settings{font-size:.8125rem}
 .ammo-title{font-size:1rem;min-height:68px}.ammo-status{font-size:.75rem}
 .damage-row{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px}
 .damage-header{min-height:44px;align-items:center;font-size:.875rem;padding:8px 4px}
 .damage-header>div:nth-child(2){display:none}
 .damage-target{grid-column:1/-1;grid-row:1;flex-direction:row;justify-content:space-between;padding:7px 10px;background:#1b1e20;font-size:.875rem}
 .damage-target span{font-size:.875rem}
 .damage-values{grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 5px;gap:3px;min-height:62px}
 .damage-value{display:block;text-align:center}.damage-value strong{font-size:1rem;letter-spacing:-.04em}.damage-value span{font-size:.75rem;white-space:nowrap}
 .damage-row:nth-child(7){border-top:2px solid #62686c}
 .under-comparison{line-height:1.5}
}

/* Mobile weapon cards: preserve the useful facts, without six separate rows. */
@media(max-width:640px){
 .weapon-head{padding:12px 10px 10px}
 .weapon-visual{height:126px;margin:0 -7px 3px}
 .weapon-meta{min-height:0;font-size:.72rem;line-height:1.35}
 .weapon-meta .meta-divider{display:inline;margin:0 4px}
 .weapon-meta .caliber{display:inline}
 .weapon-unlock,.weapon-modes,.weapon-magazines{flex-direction:row;justify-content:center;align-items:baseline;gap:4px;margin-top:4px;font-size:.72rem;line-height:1.25}
 .weapon-unlock{margin-top:6px;padding-top:0}
 .unlock-label,.mode-label{min-width:0;font-size:.64rem;letter-spacing:.02em}
 .weapon-unlock .unlock-value,.weapon-modes .mode-value,.weapon-magazines .mode-value{white-space:nowrap}
 .weapon-head .advantage{min-height:34px;padding-top:7px}
 .community-favorite{padding-top:7px}
 .mobile-weapon-bar:not([hidden]){pointer-events:auto}
 .mobile-weapon-bar .sticky-weapon{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:1px;padding:0 4px 3px;border:0;background:transparent;color:inherit}
 .mobile-weapon-bar .sticky-weapon+.sticky-weapon{border-left:1px solid var(--line)}
 .mobile-weapon-bar .sticky-weapon[aria-expanded="true"]::after{content:"";position:absolute;left:24%;right:24%;bottom:-7px;height:2px;background:var(--accent)}
 .mobile-weapon-bar .sticky-weapon:active img{transform:scale(.96)}
 .sticky-picker-menu{position:absolute;top:100%;left:6px;right:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-height:calc(100vh - var(--nav-height) - 88px);overflow-y:auto;overflow-anchor:none;padding:0 8px 10px;background:#141618;border:1px solid #383c40;border-top:2px solid var(--accent);box-shadow:0 18px 38px rgb(0 0 0 / .72)}
 .sticky-picker-group{grid-column:1/-1;margin:9px 0 3px;padding:9px 7px 6px;border-top:1px solid #303438;color:var(--accent);font:700 .64rem var(--mono);letter-spacing:.16em}
 .sticky-picker-group:first-child{margin-top:0;border-top:0}
 .sticky-picker-option{display:block;width:100%;min-height:44px;padding:10px 11px;border:1px solid transparent;background:#1a1d1f;color:#e8eaec;font:700 .82rem var(--font);text-align:left}
 .sticky-picker-option:hover,.sticky-picker-option:focus-visible{border-color:#5d6267;background:#202326;color:#fff;outline:none}
 .sticky-picker-option[aria-selected="true"]{border-color:var(--accent);background:rgb(var(--accent-rgb) / .1);color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
}

.damage-weapon-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.damage-weapon-thumb{display:block;width:120px;max-width:100%;height:54px;object-fit:contain}
@media(max-width:640px){.comparison-spacer{display:none}.comparison>.stat-rows+.advantage{margin-top:0}.left-head,.right-head{margin-bottom:10px}.damage-weapon-thumb{width:140px;height:60px}}

/* Small mobile refinements: the comparison stays compact while its primary facts remain scannable. */
.weapon-head .advantage{flex-direction:column;gap:7px}
.weapon-head .advantage .advantage-heading{display:block;color:#818990}
.weapon-head .advantage p{margin:0}
@media(max-width:640px){
 .meta-heading h1{font-size:2.12rem;line-height:.95}
 .meta-heading{margin-bottom:14px}
 .mobile-weapon-bar:not([hidden]){gap:6px;padding:3px 10px 4px}
 .mobile-weapon-bar img{width:104px;height:32px}
 .mobile-weapon-bar strong{font-size:.78rem;line-height:16px;color:var(--accent)}
 .mobile-weapon-bar .sticky-weapon{padding:0 3px 1px}
 .mobile-weapon-bar .sticky-weapon[aria-expanded="true"]::after{bottom:-4px}
 .sticky-picker-menu{max-height:calc(100vh - var(--nav-height) - 70px)}
 .stat-label{justify-content:center;text-align:center}
 .stat-line{flex-direction:row;align-items:center;justify-content:space-between;min-height:32px}
 .armor-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 .armor-controls .armor-none{grid-column:1/-1}
 .vote-actions{flex-wrap:nowrap}
 .vote-action-buttons{flex:0 0 auto}
 .weapon-head .advantage{gap:5px;padding-top:9px}
}

.mobile-weapon-bar{display:none}
#sticky-picker-menu[hidden]{display:none}
@media(max-width:640px){
 .mobile-weapon-bar:not([hidden]){position:fixed;top:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:5px 12px 7px;background:var(--surface-panel);border-bottom:1px solid #777c80;box-shadow:0 5px 16px #0008;pointer-events:auto}
 /* Only weapon triggers are centered. Centering the overflowing picker clips its first categories. */
 .mobile-weapon-bar>.sticky-weapon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:1px}
 .mobile-weapon-bar>.sticky-weapon+.sticky-weapon{border-left:1px solid var(--line)}
 .mobile-weapon-bar>.sticky-picker-menu{display:grid;align-content:start;align-items:stretch;justify-content:normal;grid-auto-rows:max-content;overscroll-behavior-y:contain;scroll-behavior:auto}
 .mobile-weapon-bar img{width:120px;max-width:100%;height:42px;object-fit:contain}
 .mobile-weapon-bar strong{font-size:.875rem;line-height:20px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text)}
 .compact-bar-visible .damage-header{top:76px}
}

@media(max-width:640px){.damage-weapon-thumb{display:none}.damage-header{position:static}.compact-bar-visible .damage-header{top:auto}}

/* WARDOGS ARMORY navigation */
:root{--nav-height:64px}
html{scroll-padding-top:calc(var(--nav-height) + 16px)}
body{padding-top:var(--nav-height)}
.armory-nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1440px)/2 + 28px));background:var(--surface-panel);border-bottom:1px solid var(--line)}
.armory-brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:16px;font-weight:800;letter-spacing:1px;white-space:nowrap}
.armory-brand b{color:var(--accent)}
.armory-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--accent);color:var(--accent);font:900 20px Arial}
.menu-toggle,.menu-close{border:1px solid var(--line);background:transparent;color:var(--text);width:44px;height:44px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.menu-toggle{flex-direction:column;gap:5px}
.menu-toggle span{width:20px;height:2px;background:var(--text)}
.menu-toggle:hover,.menu-close:hover{border-color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.navigation-panel{position:fixed;inset:0 0 0 auto;margin:0;width:min(380px,92vw);height:100dvh;max-height:none;max-width:none;padding:24px;border:0;border-left:1px solid var(--line);background:var(--surface-panel);color:var(--text)}
.navigation-panel::backdrop{background:rgb(0 0 0 / 72%)}
.navigation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px}
.navigation-heading h2{font:700 16px Arial;letter-spacing:1px}
.menu-close{font-size:28px;flex-shrink:0}
.navigation-panel nav>a,.nav-placeholder{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--text);text-decoration:none}
.navigation-panel nav>a:hover{color:var(--accent)}
.nav-placeholder{color:var(--muted)}
.nav-placeholder small{font-size:10px;text-transform:uppercase;letter-spacing:1px}
.navigation-message{color:var(--muted);font-size:14px;line-height:1.6;margin-top:36px}
.navigation-open{overflow:hidden}
.page-heading{margin-bottom:24px}
.brand-tagline{font-size:16px;margin:10px 0 5px;color:var(--text)}
.brand-message{font-size:12px;margin:0;color:var(--muted)}
.compare-title{font:700 12px Consolas,monospace;letter-spacing:2px;color:var(--muted);margin:0 0 14px}
footer a{color:var(--text);text-decoration:none}
.damage-header{top:var(--nav-height)}
@media(max-width:640px){
 :root{--nav-height:52px}
 .armory-nav{padding:0 12px}
 .armory-brand{font-size:13px;letter-spacing:.5px;gap:8px}
 .armory-mark{width:26px;height:26px;font-size:18px}
 .mobile-weapon-bar:not([hidden]){top:var(--nav-height);z-index:40}
 .page-heading h1{font-size:30px}
 .brand-tagline{font-size:13px;line-height:1.4}
 .brand-message{font-size:11px}
 .page-heading{margin-bottom:20px}
 .damage-header{position:static}
 html{scroll-padding-top:calc(var(--nav-height) + 90px)}
}
/* Community voting */
.vote-page{max-width:1240px;padding-top:32px}
.vote-heading{margin-bottom:30px}
.section-eyebrow{font:700 12px Consolas,monospace;letter-spacing:2px;color:var(--muted);margin:0 0 10px}
.vote-heading h1{font:clamp(30px,5vw,46px) Impact,'Arial Narrow',sans-serif;letter-spacing:1px;margin:0 0 12px}
.vote-heading h1 span{color:var(--accent)}
.vote-heading p{line-height:1.5}
.vote-note{color:var(--muted);font-size:13px;line-height:1.5}
.vote-category{border:0;padding:0;margin:0 0 30px;min-width:0}
.vote-category legend{font-size:18px;font-weight:700;padding:0;margin-bottom:14px}
.vote-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.vote-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--surface-panel);border:1px solid var(--line);padding:14px 10px;cursor:pointer;min-width:0;text-align:center}
.vote-card:has(:checked){border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
.vote-card:has(:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.vote-card input{position:absolute;top:12px;right:12px;width:20px;height:20px;accent-color:var(--accent);cursor:pointer}
.vote-card img{width:100%;height:180px;object-fit:contain;margin:24px 0 12px;filter:none}
.vote-card strong{font-size:15px;overflow-wrap:anywhere}
.vote-total{font-size:13px;color:var(--muted)}
.vote-actions{position:sticky;bottom:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;background:var(--surface-page);border-top:1px solid var(--line)}
.vote-actions>div{display:flex;flex-direction:column;gap:5px;min-width:0}
#selection-count{font-size:15px}
#vote-status{font-size:13px;line-height:1.4;color:var(--muted)}
#save-votes{border:0;background:var(--accent);color:#08090a;font-weight:800;min-height:46px;padding:12px 20px;cursor:pointer;flex-shrink:0}
#save-votes:disabled{background:#62676c;cursor:wait}
.navigation-panel nav>a[aria-current=page]{color:var(--accent)}
@media(max-width:1100px){.vote-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.vote-page{padding-top:24px}.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vote-card img{height:132px;margin-top:22px}.vote-actions{padding:12px 0 max(12px,env(safe-area-inset-bottom))}#save-votes{padding:12px;font-size:12px}.vote-heading{margin-bottom:24px}}

/* Compact shared masthead and unified wishlist */
.armory-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}
.armory-brand{justify-self:start}
.menu-toggle{justify-self:end}
.nav-tagline{margin:0;text-align:center;color:var(--text);font-size:14px;line-height:1.35}
.nav-icon{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav-label{flex:1}
.navigation-panel nav>a,.nav-placeholder{font-size:14px;gap:12px}
.vote-heading{text-align:center;max-width:740px;margin:0 auto 30px}
.vote-category .sr-only{margin:0;padding:0}
.vote-page>.vote-note{text-align:center}
@media(max-width:1000px){
 :root{--nav-height:82px}
 .armory-nav{grid-template-columns:1fr auto;grid-template-rows:48px 24px;gap:0 12px;align-content:center;padding-left:16px;padding-right:16px}
 .armory-brand{grid-column:1;grid-row:1}
 .menu-toggle{grid-column:2;grid-row:1}
 .nav-tagline{grid-column:1/-1;grid-row:2;font-size:12px}
}
@media(max-width:640px){
 :root{--nav-height:78px}
 .armory-nav{grid-template-rows:44px 24px;padding-left:12px;padding-right:12px}
 .nav-tagline{font-size:clamp(10px,2.8vw,12px)}
 .vote-heading{margin-bottom:24px}
}

/* Restored original WARDOGS ARMORY palette. */
:root{color-scheme:dark;--bg:#08090a;--panel:#101214;--raised:#151719;--line:#303235;--text:#f5f5f3;--muted:#9b9ea3}
body{background:var(--surface-page);background-image:none}
.armory-nav{background:var(--surface-panel);border-bottom-color:#303235;box-shadow:none}
.armory-brand,.menu-toggle,.menu-close{color:#f5f5f3}.nav-tagline{color:#c4c7cb}.menu-toggle span{background:#f5f5f3}.armory-mark{border-color:var(--accent);color:var(--accent)}.armory-brand b{color:var(--accent)}
.navigation-panel{background:var(--surface-panel);color:#f5f5f3;border-left-color:#303235}.navigation-panel nav>a{color:#f5f5f3;border-bottom-color:#303235}.navigation-panel nav>a:hover{color:var(--accent)}.nav-placeholder,.navigation-message{color:#9b9ea3}
.comparison-spacer{background:var(--surface-page)}.weapon-head{background:var(--surface-raised);border-color:#303235;border-top-color:#777c80;box-shadow:none}.weapon-head:after{border-color:#a0a3a6}.slot-line,.base-tag{color:#aeb0b4}.slot-number{color:#f5f5f3;border-color:#555a5e}
select{color:#f5f5f3;border-bottom-color:#3c4044;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23f76c02' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}select option,select optgroup{background:#1d2023;color:#f5f5f3}.weapon-meta{color:#aaafb3}.weapon-meta .caliber,.weapon-unlock,.weapon-modes,.weapon-magazines{color:#d9dcde}.unlock-label,.mode-label{color:#9a9fa4}.weapon-unlock{border-top-color:#303235}
.weapon-visual{background:var(--surface-raised)}.weapon-visual img{transform:scale(1.55)!important;filter:brightness(1.04) contrast(1.05)}.weapon-visual:before,.weapon-visual:after{background:repeating-linear-gradient(90deg,#555c63 0 1px,transparent 1px 20px);opacity:.3}.image-unavailable{color:#9b9ea3}
.stat-cell,.advantage{background:var(--surface-panel);border-color:#303235}.stat-cell:after{border-bottom-color:#24272a}.stat-label,.summary-middle{background:var(--surface-panel);color:#dce0e3}.stat-direction,.outcome,.unit{color:#959da4}.outcome.is-win{background:var(--surface-panel);border-color:var(--accent);color:var(--accent)}.winner .numeric,.winner .unit{color:var(--accent)}.numeric{color:#f5f5f3}.meter{background:#272b2e}.meter-fill{background:#7b8389}.winner .meter-fill{background:var(--accent)}.advantage-heading{color:#9aa2a9}.advantage p{color:#a8b0b7}
.ttk-section{border-top-color:#555d63}.model-settings,.model-note,.under-comparison,footer{color:#949ca3}footer{border-top-color:#303235}footer>span:first-child{color:#c4c9ce}
.ammo-section{border-color:#303235}.ammo-title,.damage-header{background:#1b1e20;color:#f5f5f3}.ammo-status,.damage-value span,.damage-target span{color:#9b9ea3}.damage-values{background:var(--surface-panel)}.damage-target{color:#f5f5f3}.damage-value.is-better strong{color:var(--accent)}.damage-row{border-bottom-color:#303235}.damage-row:nth-child(7){border-top-color:#62686c}
.vote-card{background:var(--surface-panel);border-color:#303235}.vote-card:has(:checked){background:var(--surface-raised);border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}.vote-card strong{color:#f5f5f3}.vote-total,.vote-note,.section-eyebrow,#vote-status{color:#9b9ea3}.vote-actions{background:var(--surface-page);border-top-color:#303235}#save-votes{background:var(--accent);color:#08090a}#save-votes:disabled{background:#62676c;color:#101214}
@media(max-width:640px){.weapon-visual img{transform:scale(1.35)!important}.mobile-weapon-bar:not([hidden]){background:var(--surface-panel);border-bottom-color:#777c80}.mobile-weapon-bar strong{color:#f5f5f3}.stat-label,.damage-target{background:#1b1e20}}

/* YOUR META RIFLE */
.meta-page{max-width:1180px;padding-top:38px}
.meta-heading{max-width:720px;margin:0 auto 30px;text-align:center}
.meta-heading h1{font:clamp(2.7rem,7vw,5.2rem)/.92 var(--title);letter-spacing:.035em;margin:0 0 14px}
.meta-heading h1 span{color:var(--accent)}
.meta-heading>p:last-child{max-width:560px;margin:auto;color:var(--muted);line-height:1.55}
.meta-controls{padding:22px clamp(16px,4vw,42px) 26px;border:1px solid var(--line);background:var(--surface-panel);text-align:center}
.meta-control-label{margin:0 0 11px;font:700 .72rem var(--mono);letter-spacing:.16em;color:var(--muted)}
.meta-control-label+.meta-category-controls{margin-bottom:22px}
.meta-category-controls,.meta-priority-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.meta-choice{min-height:40px;padding:9px 13px;border:1px solid #4b4e54;background:var(--surface-raised);color:#d8dadd;font:700 .72rem var(--mono);letter-spacing:.05em;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}
.meta-choice:hover,.meta-choice:focus-visible{border-color:#92969d;outline:none}
.meta-choice.is-selected{border-color:var(--accent);background:#1d1e20;color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.meta-priority{display:inline-flex;align-items:center;gap:7px}
.meta-priority>span{font:700 1rem/1 Arial;color:currentColor}
.meta-result{position:relative;margin:28px auto 0;padding:23px clamp(16px,5vw,62px) 30px;overflow:hidden;border:1px solid var(--line);background:var(--surface-panel);text-align:center}
.meta-result:before,.meta-result:after{content:"";position:absolute;left:22px;right:22px;height:1px;background:repeating-linear-gradient(90deg,#555c63 0 1px,transparent 1px 16px);opacity:.45;pointer-events:none}.meta-result:before{top:16px}.meta-result:after{bottom:16px}
.meta-result-topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;font:700 .72rem var(--mono);letter-spacing:.15em;color:#9ca1a8}
.meta-result-topline strong{padding:5px 8px;border:1px solid #4a4e53;color:var(--accent);font:inherit}
.meta-weapon-image-wrap{height:clamp(235px,33vw,410px);margin:4px auto 0;display:flex;align-items:center;justify-content:center}
.meta-weapon-image-wrap img{width:auto;max-width:100%;height:auto;max-height:96%;object-fit:contain;filter:brightness(1.05) contrast(1.06);transition:opacity .16s ease,transform .2s ease}
.meta-weapon-title{position:relative;z-index:1}.meta-weapon-title h2{margin:0;color:var(--accent);font:clamp(2.2rem,6vw,4.8rem)/.95 var(--title);letter-spacing:.04em}.meta-weapon-title p{margin:8px 0 0;color:#b0b4ba;font-size:.94rem}
.meta-summary{position:relative;z-index:1;max-width:480px;margin:20px auto;color:#d5d8dc;font-size:1rem;line-height:1.45}
.meta-stat-list{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:760px;margin:0 auto}
.meta-stat{min-width:0;padding:12px 10px;border:1px solid #34373c;background:var(--surface-raised);text-align:left}.meta-stat span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9ca1a8;font:700 .65rem var(--mono);letter-spacing:.06em}.meta-stat strong{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f5f5f3;font-size:1rem;font-variant-numeric:tabular-nums}
.meta-runner-up{position:relative;z-index:1;margin:20px 0 0;color:#9ca1a8;font:700 .68rem var(--mono);letter-spacing:.1em}
.meta-result.is-empty{grid-template-columns:1fr;min-height:190px;place-items:center;text-align:center}
.meta-result.is-empty .meta-result-topline{display:none}
.meta-result.is-empty .meta-weapon-image-wrap{display:none}
.meta-result.is-empty .meta-weapon-title{grid-column:1;grid-row:auto;align-self:auto}
.meta-result.is-empty .meta-weapon-title h2{font-size:clamp(2.3rem,4.5vw,4.2rem)}
.meta-result.is-empty .meta-weapon-title p{margin:12px 0 0;font:700 .78rem var(--mono);letter-spacing:.1em;color:#c4c8cd}
.meta-result.is-empty .meta-summary{display:none}
.meta-result.is-empty .meta-stat-list,.meta-result.is-empty .meta-runner-up{display:none}
.meta-page footer{margin-top:42px}
@media(max-width:640px){.meta-page{padding:24px 12px 0}.meta-heading{margin-bottom:22px}.meta-heading h1{font-size:2.55rem}.meta-heading>p:last-child{font-size:.9rem}.meta-controls{padding:18px 12px 20px}.meta-category-controls,.meta-priority-controls{gap:6px}.meta-choice{min-height:37px;padding:8px 9px;font-size:.64rem}.meta-result{margin-top:16px;padding:18px 12px 24px}.meta-result-topline{font-size:.62rem;gap:7px}.meta-weapon-image-wrap{height:205px}.meta-weapon-title h2{font-size:2.9rem}.meta-weapon-title p{font-size:.82rem}.meta-summary{font-size:.9rem;margin:16px auto}.meta-stat-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.meta-stat{padding:10px 9px}.meta-stat span{font-size:.6rem}.meta-stat strong{font-size:.94rem}.meta-runner-up{font-size:.6rem;line-height:1.4}}
@media(max-width:640px){.meta-result.is-empty{min-height:150px}.meta-result.is-empty .meta-weapon-title h2{font-size:2.25rem}.meta-result.is-empty .meta-weapon-title p{font-size:.64rem;margin-top:9px}}

/* Compact desktop composition for the Meta Rifle result. */
.meta-page{max-width:1440px;padding-top:28px}
.meta-heading{margin-bottom:20px}
.meta-heading h1{font-size:clamp(2.65rem,5vw,4.4rem);margin-bottom:8px}
.meta-controls{padding-top:16px;padding-bottom:18px}
.meta-control-label{margin-bottom:8px}
.meta-control-label+.meta-category-controls{margin-bottom:15px}
@media(min-width:720px){
 .meta-result{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(330px,.92fr);grid-template-rows:auto auto auto auto auto;column-gap:clamp(26px,4vw,62px);align-items:center;min-height:390px;padding:16px clamp(28px,5vw,70px) 20px;text-align:left}
 .meta-result-topline{grid-column:1/-1;justify-content:flex-start;margin:0 0 2px}
 .meta-weapon-image-wrap{grid-column:1;grid-row:2/6;width:100%;height:330px;margin:0;justify-content:flex-start}
 .meta-weapon-image-wrap img{max-width:100%;max-height:100%;transform:scale(1.05);transform-origin:left center}
 .meta-weapon-title{grid-column:2;grid-row:2;align-self:end}
 .meta-weapon-title h2{font-size:clamp(2.7rem,4.4vw,4.8rem)}
 .meta-summary{grid-column:2;grid-row:3;max-width:none;margin:10px 0 16px}
 .meta-stat-list{grid-column:2;grid-row:4;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;max-width:none}
 .meta-runner-up{grid-column:2;grid-row:5;margin:15px 0 0}
}
@media(max-width:719px){.meta-page{padding-top:24px}.meta-heading{margin-bottom:18px}.meta-heading h1{font-size:2.55rem;margin-bottom:8px}.meta-controls{padding:18px 12px 20px}.meta-control-label{margin-bottom:9px}.meta-control-label+.meta-category-controls{margin-bottom:18px}}

/* The finder leads straight into the next action once it has a result. */
.meta-heading h1{font-size:clamp(2.5rem,4.6vw,4.05rem)}
.meta-lab-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:0 0 8px;color:var(--accent);text-decoration:none;font:700 .7rem/1.2 var(--mono);letter-spacing:.13em}
.meta-lab-link:hover,.meta-lab-link:focus-visible{color:var(--accent-tone-ff8a24);outline:0}
.meta-lab-link span{font:400 1.1rem/1 Arial}
@media(max-width:719px){.meta-heading h1{font-size:2.38rem}.meta-lab-link{margin-bottom:7px;font-size:.6rem;letter-spacing:.09em}}

/* Direct route from comparison to the personal finder. */
.meta-home-link{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 0 16px;padding:12px 18px;border:1px solid #303235;background:var(--surface-panel);color:#aeb2b7;text-decoration:none;font:700 .72rem/1.2 var(--mono);letter-spacing:.08em;text-align:center;transition:border-color .16s ease,color .16s ease,background .16s ease}
.meta-home-link strong{color:var(--accent);font:inherit;letter-spacing:.12em}.meta-home-link b{font:400 1.2rem/1 Arial;color:var(--accent)}.meta-home-link:hover{border-color:var(--accent);background:var(--surface-raised);color:#f5f5f3}
@media(max-width:640px){.meta-home-link{gap:7px;flex-wrap:wrap;margin-bottom:12px;padding:11px 12px;font-size:.64rem}.meta-home-link strong{flex-basis:100%}.meta-home-link b{display:none}}

/* The two homepage routes read as one compact choice row. */
.home-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px}
.home-quick-links .meta-home-link{min-width:0;margin:0;padding:11px 12px}
.home-quick-links .meta-home-link span,.home-quick-links .meta-home-link strong{min-width:0}
@media(max-width:640px){.home-quick-links{gap:6px;margin-bottom:12px}.home-quick-links .meta-home-link{min-height:58px;gap:4px;padding:8px 6px;font-size:.54rem;letter-spacing:.025em}.home-quick-links .meta-home-link strong{flex-basis:auto;font-size:.6rem;letter-spacing:.055em}.home-quick-links .meta-home-link b{display:none}}

/* Compact, one-line weapon identity. */
.weapon-meta,.weapon-unlock{display:inline-flex;min-height:0;vertical-align:baseline;white-space:nowrap}
.weapon-meta{margin-right:10px}.weapon-unlock{margin-top:0;padding-top:0}
@media(max-width:640px){.weapon-meta{margin-right:6px}.weapon-meta,.weapon-unlock{font-size:.68rem!important}.unlock-label{font-size:.6rem!important}}

/* Two distinct homepage routes, centered with enough room around them. */
.home-quick-links{grid-template-columns:repeat(2,minmax(300px,470px));justify-content:center;gap:14px}
@media(max-width:640px){.home-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

/* One deliberate, centered line for the essential weapon identity. */
.weapon-info{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;margin-top:7px;color:#b9c0c5;font:700 .7rem/1.3 var(--mono);letter-spacing:.055em;text-transform:uppercase}
.weapon-info .weapon-meta,.weapon-info .weapon-unlock{display:flex;align-items:center;gap:6px;margin:0;padding:0;color:inherit;font:inherit;white-space:nowrap}
.weapon-info .weapon-meta .caliber,.weapon-info .weapon-unlock .unlock-value{color:#e4e7e9;font:inherit}
.weapon-info .meta-divider{margin:0;color:#6e777e}
.weapon-info .unlock-label{min-width:0;color:#8e979e;font:inherit}
@media(max-width:640px){.weapon-info{gap:7px;margin-top:5px;font-size:.58rem;letter-spacing:.035em}.weapon-info .weapon-meta,.weapon-info .weapon-unlock{gap:4px}.weapon-info .unlock-label{font-size:inherit!important}}

/* The damage scenario selector is a readable, self-contained control surface. */
.damage-controls{width:min(840px,100%);padding:16px 20px;box-sizing:border-box;border:1px solid #30363a;background:var(--surface-panel);gap:15px}
.damage-control-block{width:100%;gap:9px}
.damage-control-label{color:#b9c0c5;font-size:.76rem;letter-spacing:.16em}
.ammo-controls,.armor-controls{width:100%;display:grid;justify-content:stretch}
.ammo-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
.armor-controls{grid-template-columns:repeat(5,minmax(0,1fr))}
.ammo-controls button,.armor-controls button{min-height:52px;border-color:#3b4247;background:#171a1c;color:#e0e4e6;font-size:.86rem}
.ammo-controls button[aria-pressed=true],.armor-controls button[aria-pressed=true]{background:var(--accent);color:#08090a;border-color:var(--accent);box-shadow:none}
.ammo-controls button[aria-pressed=true] .ammo-sub{opacity:.72}
@media(max-width:640px){.damage-controls{padding:12px 10px;gap:13px}.damage-control-label{font-size:.66rem;letter-spacing:.12em}.ammo-controls button,.armor-controls button{min-height:46px;font-size:.72rem}.armor-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Purpose-built navigation glyphs: one consistent technical line language. */
.nav-icon{width:24px;height:24px;stroke-width:1.45}
.navigation-panel nav>a{justify-content:flex-start;gap:16px}
.navigation-panel nav>a[aria-current=page] .nav-icon{color:var(--accent)}

/* Larger in-panel weapon presentation, preserving one shared scale. */
.weapon-visual img{width:auto;max-width:96%;height:auto;max-height:90%;object-fit:contain;transform:none!important;filter:none}
@media(max-width:640px){.weapon-visual img{transform:none!important}}

/* Selected weapon name is a primary identifier, not a secondary label. */
select{color:var(--accent)!important}

/* Canonical assets point right. Mirror only the right comparison slot. */
.right-head .weapon-visual img{transform:scaleX(-1)!important}
@media(max-width:640px){.right-head .weapon-visual img{transform:scaleX(-1)!important}}

/* Damage tables, redesigned for scanning rather than dense grids. */
.damage-row{grid-template-columns:104px minmax(0,1fr) minmax(0,1fr)}
.damage-header{min-height:54px;padding:0;position:static}
.damage-weapon-heading{font-family:var(--title);font-size:1.15rem;letter-spacing:.04em;color:#f5f5f3}
.damage-weapon-heading:first-child{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;color:#9b9ea3}
.damage-target{align-items:flex-start;padding:13px 14px;background:var(--surface-raised);border-right:1px solid #303235;font-size:.875rem;line-height:1.25}
.damage-target strong{color:#f5f5f3}
.damage-values{display:grid;grid-template-columns:1fr;padding:0;background:var(--surface-panel)}
.damage-values+.damage-values{border-left:1px solid #303235}
.damage-value{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;min-height:44px;padding:10px 16px;border-bottom:1px solid #24272a;text-align:left}
.damage-value:last-child{border-bottom:0}
.damage-value strong{font-size:1.05rem;line-height:1;font-variant-numeric:tabular-nums;color:#f5f5f3}
.damage-value span{font-size:.72rem;line-height:1;letter-spacing:.04em;color:#9b9ea3}
.damage-value.is-better{background:linear-gradient(90deg,rgb(var(--accent-rgb) / .1),transparent 78%)}
.damage-value.is-better strong{font-size:1.42rem;color:var(--accent)}
.damage-value.is-better span{color:#f3b071}
.damage-value.is-equal{background:#131619}
.damage-value.is-equal strong{color:#d9dcde}
@media(min-width:1200px){.damage-row{grid-template-columns:86px minmax(0,1fr) minmax(0,1fr)}.damage-header{min-height:58px}.damage-weapon-heading{font-size:1.2rem}.damage-value{min-height:46px;padding:11px 16px}.damage-value strong{font-size:1.08rem}.damage-value.is-better strong{font-size:1.5rem}}
@media(max-width:640px){.damage-row{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr);column-gap:0}.damage-header{min-height:45px}.damage-weapon-heading{font-size:.95rem}.damage-weapon-heading:first-child{font-size:.62rem}.damage-target{grid-column:auto;grid-row:auto;flex-direction:column;justify-content:center;padding:10px 7px;font-size:.75rem}.damage-target span{font-size:.7rem}.damage-values{grid-row:auto}.damage-value{min-height:42px;padding:9px 8px;gap:3px}.damage-value strong{font-size:.9rem}.damage-value span{font-size:.62rem}.damage-value.is-better strong{font-size:1.08rem}}

/* Practical comparison: one scenario, three concise outcomes. */
#ttk-results{display:block}
.quick-controls{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}
.quick-switch{display:flex;gap:6px;flex-wrap:wrap}
.quick-switch button{padding:12px 16px;min-height:44px;background:var(--surface-raised);color:#c4c9ce;border:1px solid #41464a;font:600 .875rem var(--mono)}
.quick-switch button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.quick-context,.quick-caution{color:#aeb5bb;font-size:.875rem;margin:8px 0}
.quick-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}
.quick-card{background:var(--surface-raised);border:1px solid #303235;padding:22px;min-width:0}
.quick-card h3{margin:0;color:#abb1b6;font:600 .875rem var(--mono);letter-spacing:.08em}
.quick-verdict{font-size:1.2rem;line-height:1.4;min-height:3em;margin:14px 0 20px;color:#f5f5f3;font-weight:650}
.quick-verdict.has-winner{color:var(--accent)}
.quick-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quick-weapon{min-width:0}.quick-weapon+ .quick-weapon{border-left:1px solid #303235;padding-left:14px}
.quick-weapon h4{margin:0 0 8px;font-size:1rem;overflow-wrap:anywhere}
.quick-time{display:block;font:700 clamp(1.15rem,1.6vw,1.75rem) var(--mono);white-space:nowrap;color:#e0e3e5;min-height:38px}
.quick-weapon.best .quick-time{color:var(--accent);font-size:clamp(1.25rem,1.8vw,1.95rem)}
.quick-shots{font-size:.9375rem;color:#b1b7bd}.quick-levels{margin:20px 0 0;color:#9ba3aa;font-size:.8125rem}
.full-breakdown{border-top:1px solid #41464a;margin:24px 0;padding-top:16px}
.full-breakdown>summary{cursor:pointer;color:#c4c9ce;padding:12px 0;font:600 .875rem var(--mono)}
.full-tables{margin-top:16px}.full-tables [hidden]{display:none!important}
.full-tables .damage-row{grid-template-columns:140px minmax(0,1fr) minmax(0,1fr)}
.full-tables .damage-header>div{display:flex}
.full-tables .damage-value span{font-size:.8125rem}
@media(max-width:1050px){.quick-cards{grid-template-columns:1fr}.quick-verdict{min-height:0}.quick-time,.quick-weapon.best .quick-time{font-size:1.8rem}}
@media(max-width:640px){.quick-card{padding:18px}.quick-switch button{padding:10px;font-size:.8125rem}.quick-switch:first-child{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.quick-controls{gap:12px}.quick-time,.quick-weapon.best .quick-time{font-size:1.4rem}.full-tables .damage-row{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr)}.full-tables .damage-header>div:nth-child(2){display:flex}.full-tables .damage-value{gap:4px;padding:10px 6px}.full-tables .damage-value span{font-size:.75rem}}

/* Detailed damage matrix: choose ammunition, then scan the full armor breakdown. */
.ammo-controls{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 8px}
.ammo-controls button{min-height:44px;padding:11px 15px;background:var(--surface-raised);border:1px solid #41464a;color:#c4c9ce;font:600 .82rem var(--mono);letter-spacing:.035em}
.ammo-controls button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.ammo-selection-note{margin:0 0 16px;color:#9b9ea3;font:.75rem var(--mono);letter-spacing:.06em}
#ttk-results>.ammo-section{margin-top:0}
#ttk-results>.ammo-section[hidden]{display:none!important}
@media(max-width:640px){.ammo-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ammo-controls button{min-height:40px;padding:8px 5px;font-size:.68rem}.ammo-selection-note{font-size:.64rem;line-height:1.5}}

/* Compact navigation and focused damage selector. */
:root{--nav-height:56px}
.armory-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:56px;gap:16px;align-content:stretch}
.nav-tagline{grid-column:2;grid-row:1;white-space:nowrap;font-size:13px}
.armory-brand{grid-column:1;grid-row:1}.menu-toggle{grid-column:3;grid-row:1}
.ttk-section{max-width:1080px;margin:29px auto 78px;padding-top:26px}
.ttk-heading{justify-content:center;margin-bottom:22px}.ttk-heading h2{text-align:center}
.damage-controls{display:grid;gap:10px;margin:0 0 10px}
.ammo-controls,.armor-controls{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.armor-controls button{min-height:40px;padding:9px 13px;background:var(--surface-raised);border:1px solid #41464a;color:#c4c9ce;font:600 .76rem var(--mono);letter-spacing:.035em}
.armor-controls button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}
.ammo-selection-note{margin:4px 0 18px;text-align:center}
#ttk-results>.ammo-section{max-width:1080px;margin:0 auto}
@media(max-width:1000px){
 :root{--nav-height:56px}
 .armory-nav{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:56px;gap:12px;padding-left:16px;padding-right:16px}
 .nav-tagline{grid-column:2;grid-row:1;font-size:12px}
 .armory-brand{grid-column:1;grid-row:1}.menu-toggle{grid-column:3;grid-row:1}
}
@media(max-width:640px){
 :root{--nav-height:52px}
 .armory-nav{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:52px;padding:0 12px}
 .armory-brand{grid-column:1}.menu-toggle{grid-column:2}.nav-tagline{display:none}
 .ttk-section{margin:42px auto 56px;padding-top:20px}.ttk-heading{margin-bottom:18px}
 .damage-controls{gap:7px}.armor-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .armor-controls button{min-height:38px;padding:7px 3px;font-size:.66rem}
 .ammo-selection-note{font-size:.68rem;margin-bottom:14px}
}

/* Active damage filters show one ammunition table and one protection level only. */
.damage-controls{justify-items:center}
.ammo-controls,.armor-controls{justify-content:center}
.damage-row[hidden]{display:none!important}
select:focus-visible{outline:none;outline-offset:0}

/* Shared metric column: values read from the outside toward the middle. */
.damage-row{grid-template-columns:104px minmax(0,1fr) 92px minmax(0,1fr)}
.damage-header{grid-template-columns:104px minmax(0,1fr) 92px minmax(0,1fr)}
.damage-metric-heading{background:#1b1e20}
.damage-metric-labels{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));align-items:center;background:#1b1e20;border-left:1px solid #303235;border-right:1px solid #303235;color:#9b9ea3;font:600 .72rem var(--mono);letter-spacing:.04em;text-align:center}
.damage-metric-labels span{display:flex;align-items:center;justify-content:center;min-height:44px;border-bottom:1px solid #24272a}.damage-metric-labels span:last-child{border-bottom:0}
.damage-values .damage-value{display:flex;align-items:baseline;grid-template-columns:none;text-align:left}.damage-values .damage-value span{display:none}
.damage-metric-labels + .damage-values .damage-value{justify-content:flex-end;text-align:right}
.stat-left .stat-line{justify-content:flex-start}.stat-left .outcome{margin-left:auto}
.stat-right .stat-line{flex-direction:row-reverse;justify-content:flex-start}.stat-right .outcome{text-align:left;margin-right:auto}.stat-right .meter{direction:rtl}
@media(max-width:640px){
 .damage-row,.damage-header{grid-template-columns:66px minmax(0,1fr) 52px minmax(0,1fr);column-gap:0}
 .damage-header>div:nth-child(2){display:flex}.damage-metric-heading{display:block!important}
 .damage-metric-labels{font-size:.58rem}.damage-metric-labels span{min-height:42px}
 .damage-values .damage-value{padding:9px 7px}.damage-values .damage-value strong{font-size:.95rem}
}

/* Advantages continue each weapon card and end at the score divider. */
.weapon-head .advantage{display:flex;align-items:center;justify-content:center;min-height:46px;padding:14px 0 0;background:transparent;border:0}
.weapon-head .advantage p{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin:0;min-height:0}
.weapon-head .advantage-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--accent);color:var(--accent);background:var(--surface-panel);font:600 .75rem var(--mono);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
.weapon-head .advantage-icon{display:inline-grid;place-items:center;width:12px;font-family:var(--font);font-size:.95rem;line-height:1}
.weapon-head .advantage-label{text-transform:uppercase}
@media (min-width:641px) and (max-width:1100px){
 .weapon-head .advantage{padding-top:12px}
 .weapon-head .advantage p[data-count]{display:grid;width:100%;gap:5px}
 .weapon-head .advantage p[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
 .weapon-head .advantage p[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
 .weapon-head .advantage p[data-count="2"]{grid-template-columns:repeat(2,minmax(0,120px));justify-content:center}
 .weapon-head .advantage p[data-count="1"]{grid-template-columns:minmax(0,150px);justify-content:center}
 .weapon-head .advantage-chip{min-width:0;justify-content:center;gap:3px;padding:5px 3px;font-size:.62rem;letter-spacing:0}
 .weapon-head .advantage-icon{width:10px;font-size:.78rem}
}

/* Weapon Compare is a self-contained desktop terminal: weapons outside, verdicts in the centre. */
@media(min-width:1101px){
 .weapon-compare-page main{max-width:1640px;padding:16px 32px 0}
 .weapon-compare-page .home-quick-links{margin-bottom:12px}
 .weapon-compare-page .comparison{grid-template-columns:minmax(300px,1fr) minmax(310px,.7fr) minmax(300px,1fr);gap:0;align-items:stretch;border:1px solid #303235;background:var(--surface-panel)}
 .weapon-compare-page .comparison-spacer{display:none}
 .weapon-compare-page .left-head{grid-column:1;grid-row:1}
 .weapon-compare-page .stat-rows{grid-column:2;grid-row:1}
 .weapon-compare-page .right-head{grid-column:3;grid-row:1}
 .weapon-compare-page .weapon-head{display:flex;flex-direction:column;min-height:520px;border:0;background:var(--surface-raised);padding:14px 18px 15px}
 .weapon-compare-page .weapon-head.left-head{border-right:1px solid #303235}
 .weapon-compare-page .weapon-head.right-head{border-left:1px solid #303235}
 .weapon-compare-page .weapon-visual{height:205px;margin:4px -8px 4px}
 .weapon-compare-page .weapon-info{min-height:24px}
 .weapon-compare-page .weapon-head .advantage{margin-top:auto;padding-top:12px}
 .weapon-compare-page .community-favorite{margin-top:10px}
 .weapon-compare-page .stat-rows{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));min-height:520px;background:var(--surface-panel)}
 .weapon-compare-page .stat-row{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);min-height:0;border-bottom:1px solid #24272a}
 .weapon-compare-page .stat-row:last-child{border-bottom:0}
 .weapon-compare-page .stat-cell{display:flex;align-items:center;padding:9px 12px;background:var(--surface-panel);border:0}
 .weapon-compare-page .stat-cell:after{display:none}
 .weapon-compare-page .stat-line{width:100%;min-height:0}
 .weapon-compare-page .stat-label{order:0;padding:8px 5px;background:#181b1e;color:#aeb5bb;font:.64rem/1.15 var(--mono);letter-spacing:.04em;text-transform:uppercase}
 .weapon-compare-page .stat-left{order:-1}.weapon-compare-page .stat-right{order:1}
 .weapon-compare-page .numeric{font-size:1.28rem}.weapon-compare-page .unit{font-size:.68rem}.weapon-compare-page .meter{margin-top:5px}
 .weapon-compare-page .stat-cell.winner::before{display:none}
}

/* Ammo Compare is deliberately only the ballistic terminal, with no duplicate weapon cards above it. */
.ammo-compare-page .page-heading,.ammo-compare-page .ammo-weapon-selectors{display:none!important}
.ammo-compare-page main{padding-top:24px}
.ammo-compare-page .ttk-section{margin-top:0}
@media(min-width:761px){.ammo-compare-page .ttk-section{max-width:1620px;margin-left:auto;margin-right:auto}}

/* Mobile header: logo and control share the exact vertical centre line. */
@media(max-width:640px){
 .armory-nav{align-items:center}
 .armory-brand,.menu-toggle{align-self:center}
 .menu-toggle{width:31px;height:31px;gap:3px}
 .menu-toggle span{width:14px;height:2px}
}
@media(max-width:640px){.weapon-head .advantage{min-height:38px;padding-top:10px}.weapon-head .advantage p{gap:5px}.weapon-head .advantage-chip{gap:4px;padding:5px 6px;font-size:.62rem}.weapon-head .advantage-icon{width:10px;font-size:.78rem}}

/* Weapon reference details remain balanced under the image. */
.weapon-meta{text-align:center}
.weapon-unlock,.weapon-modes,.weapon-magazines{justify-content:center;text-align:center}
select option:checked{background:var(--accent)!important;color:#08090a!important;box-shadow:0 0 0 100vmax var(--accent) inset}
@media(max-width:640px){.weapon-unlock,.weapon-modes,.weapon-magazines{align-items:center;text-align:center}}

/* Keep guidance readable without competing with the metric itself. */
.stat-direction{color:#687078}
.ammo-controls button{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:1rem;letter-spacing:.045em}
.ammo-icon{font-family:var(--font);font-size:1.12em;line-height:1;color:currentColor}
@media(max-width:640px){.ammo-controls button{gap:5px;font-size:.72rem}.ammo-icon{font-size:1.08em}}

/* The winning stat is read from its position, not from an extra numeric badge. */
.stat-cell.winner .outcome{display:none}
@media(min-width:641px){
 .stat-label{background:var(--surface-page)}
 .stat-cell.stat-left{border-right:0}
 .stat-cell.stat-right{border-left:0}
 .stat-cell.winner::before{content:"";position:absolute;top:50%;z-index:3;width:0;height:0;transform:translateY(-50%);border-top:10px solid transparent;border-bottom:10px solid transparent}
 .stat-cell.stat-left.winner::before{right:-1px;border-right:11px solid var(--accent)}
 .stat-cell.stat-right.winner::before{left:-1px;border-left:11px solid var(--accent)}
}

/* Keep the selector itself as the only control label. */
.weapon-head>select{margin-top:0}
.stat-cell.winner .outcome{display:inline-flex}

/* One quiet frame, without the decorative corner or duplicate top line. */
.weapon-head{border-top-width:1px}
.weapon-head:after{display:none}
@media(min-width:641px){
 .stat-cell.stat-left{border-right:1px solid #303235}
 .stat-cell.stat-right{border-left:1px solid #303235}
 #stat-rows .stat-row:last-child .stat-cell{border-bottom:1px solid #303235}
}

/* The artwork remains the visual focus, without decorative measuring rails. */
.weapon-head{border-top-color:#303235}
.weapon-visual:before,.weapon-visual:after{display:none}

/* Header and stat hierarchy. */
.armory-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:230px}
.armory-brand{gap:2px;min-width:150px;flex-direction:column;align-items:flex-start;justify-content:center}
.brand-word{display:block;background-image:url('/assets/artwork/wardogs-armory-logo.png');background-repeat:no-repeat;background-size:189px 12.5px;height:13px}
.brand-wardogs{width:115px;background-position:left center}
.brand-armory{position:relative;width:115px;height:13px;background:none}
.brand-armory::after{content:'';display:block;width:75px;height:13px;margin-left:auto;background-image:url('/assets/artwork/wardogs-armory-logo.png');background-repeat:no-repeat;background-size:189px 12.5px;background-position:right center;transform:scaleX(1.53);transform-origin:right center}
.brand-weapons{display:flex;justify-content:space-between;align-items:center;width:115px;color:#c8cbd0;font:400 10px/1 Arial,Helvetica,sans-serif;letter-spacing:0;text-indent:0;white-space:nowrap;transform:none}
.brand-weapons>span{display:block;flex:none}
.brand-logo{display:block;width:136.85px;height:30.6px;background:transparent url('/assets/artwork/wardogs-weapons-clear-v3.png') center/contain no-repeat}
.menu-toggle span{background:var(--accent)}
.outcome.is-win{color:#9da3aa;border-color:#5c636a;background:var(--surface-panel)}
select{border-bottom:0}
.weapon-unlock{border-top:0}
@media(max-width:640px){.armory-brand{min-width:120px;gap:1px}.brand-word{background-size:155px 10.25px;height:11px}.brand-wardogs{width:94px}.brand-armory{width:94px;height:11px}.brand-armory::after{width:61px;height:11px;background-size:155px 10.25px}.brand-weapons{width:94px;font-size:8px}}
@media(max-width:640px){:root{--nav-height:60px}.brand-logo{width:101.15px;height:23.8px;background-size:contain}}

/* Ammunition changes the large technical round under the damage heading. */
.ttk-section .ttk-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:8px;text-align:center}
.ttk-section .ttk-heading h2{width:100%;margin:0;text-align:center}
.ammo-hero{width:100%;height:112px;display:flex;align-items:center;justify-content:center}
.ammo-hero img{display:block;width:min(440px,78vw);height:112px;object-fit:contain;object-position:center}
@media(max-width:640px){.ammo-hero,.ammo-hero img{height:84px}.ammo-hero img{width:min(330px,82vw)}}

/* Custom weapon picker keeps the orange selection state consistent on every browser. */
.weapon-picker{position:relative;margin-top:0}
.weapon-picker>select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.weapon-picker-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:0;border:0;background:transparent;color:var(--accent);font:400 clamp(1.4rem,2.2vw,2rem)/1.2 var(--title);letter-spacing:.04em;text-align:left;cursor:pointer}
.weapon-picker-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.weapon-picker-caret{width:11px;height:11px;margin:0 8px 4px 16px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex:0 0 auto}
.weapon-picker-trigger:hover,.weapon-picker-trigger:focus-visible{color:var(--accent-tone-ff7a13);outline:none}
.weapon-picker-trigger:focus-visible .weapon-picker-label{outline:1px solid var(--accent);outline-offset:5px}
.right-head .weapon-picker-trigger{flex-direction:row-reverse;text-align:right}
.right-head .weapon-picker-caret{margin:0 16px 4px 8px}
.weapon-picker-menu{position:absolute;z-index:30;top:calc(100% + 10px);left:0;right:0;max-height:min(65vh,520px);overflow-y:auto;padding:6px 0;background:#1d2023;border:1px solid #303235;box-shadow:0 14px 28px rgb(0 0 0 / .45)}
.weapon-picker-group{margin:8px 0 4px;padding:8px 14px 6px;border-top:1px solid #35393d;color:var(--accent);font:700 .68rem var(--mono);letter-spacing:.15em}
.weapon-picker-group:first-child{margin-top:0;border-top:0}
.right-head .weapon-picker-group{text-align:right}
.weapon-picker-option{display:block;width:100%;padding:9px 14px;border:0;background:transparent;color:#f5f5f3;font:700 .95rem var(--font);text-align:left;cursor:pointer}
.right-head .weapon-picker-option{text-align:right}
.weapon-picker-option:hover,.weapon-picker-option:focus-visible,.weapon-picker-option[aria-selected="true"]{background:var(--accent);color:#08090a;outline:none}
@media(min-width:641px){#stat-rows .stat-row:last-child .stat-cell{padding-bottom:22px}}
@media(max-width:640px){.weapon-picker-trigger{font:750 1rem/1.3 var(--font);letter-spacing:-.03em}.weapon-picker-caret{width:8px;height:8px;margin-left:10px;margin-right:5px}.right-head .weapon-picker-caret{margin-left:5px;margin-right:10px}.weapon-picker-menu{top:calc(100% + 6px)}.weapon-picker-option{padding:10px 11px;font-size:.9rem}.weapon-picker-group{padding-left:11px;padding-right:11px}}

/* Portrait tablets need two wide weapon columns, not a third narrow metric rail. */
@media (min-width:641px) and (max-width:1100px){
 html,body{overflow-x:clip}
 .home-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .home-quick-links .meta-home-link{min-height:68px;align-items:flex-start;justify-content:center;gap:5px;padding:12px 16px;white-space:normal;text-align:left}
 .home-quick-links .meta-home-link span,.home-quick-links .meta-home-link strong{white-space:normal}
 .home-quick-links .meta-home-link strong{color:var(--accent)}
 .comparison{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
 .comparison-spacer{display:none}
 .left-head{grid-column:1;grid-row:1}
 .right-head{grid-column:2;grid-row:1}
 .stat-row{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;margin-bottom:10px}
 .stat-label{grid-column:1/-1;grid-row:1;flex-direction:row;justify-content:space-between;text-align:left;background:#1b1e20;padding:9px 14px;font-size:.875rem}
 .stat-direction{white-space:nowrap}
 .stat-cell{grid-row:2;padding:12px 16px;border-bottom:1px solid var(--line)}
 .stat-cell:after{display:none}
 .stat-line{min-height:48px}
 .stat-left .stat-line,.stat-right .stat-line{flex-direction:row;justify-content:flex-start}
 .stat-left .outcome{margin-left:auto}
 .stat-right .outcome{margin-left:auto;margin-right:0;text-align:right}
 .stat-right .meter{direction:ltr}
 .stat-cell.winner::before{display:none}
 .weapon-head .advantage p[data-count]{display:flex;width:auto}
 .weapon-head .advantage-chip{padding:5px 7px;font-size:.67rem}
}

/* Community actions and compact voting layout. */
.ttk-section{border-top:0}
.vote-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vote-card{min-height:236px;padding:12px 12px 13px;gap:5px}
.vote-card img{height:156px;margin:13px 0 5px}
.vote-card-placeholder{display:grid;place-items:center;width:100%;height:156px;margin:13px 0 5px;border:1px solid #303235;background:repeating-linear-gradient(135deg,#111315 0 8px,#141719 8px 16px);color:#737a80;font:700 .62rem var(--mono);letter-spacing:.18em}
.community-favorite{display:flex;justify-content:center;gap:10px;padding-top:11px}
.community-favorite button{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #303235;background:transparent;color:#9da3aa;font:600 .68rem var(--mono);letter-spacing:.04em;cursor:pointer}
.community-favorite button>span:first-child{font:1rem/1 var(--font);color:#7c8289}
.community-favorite button small{min-width:1.25rem;padding-left:5px;border-left:1px solid #303235;color:#c7cbd0;font:600 .68rem var(--mono)}
.community-favorite button:hover,.community-favorite button:focus-visible,.community-favorite button[aria-pressed="true"]{border-color:var(--accent);color:#f5f5f3;outline:none}
.community-favorite button[aria-pressed="true"]>span:first-child{color:var(--accent)}
.community-favorite button[aria-pressed="true"]{border-color:#303235;color:#9da3aa}
.community-favorite button:disabled{opacity:.65;cursor:wait}
.weapon-lab-action{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #303235;background:transparent;color:#9da3aa;font:600 .68rem var(--mono);letter-spacing:.04em;text-decoration:none;cursor:pointer}
.weapon-lab-action svg{width:13px;height:13px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.weapon-lab-action:hover,.weapon-lab-action:focus-visible{border-color:var(--accent);color:#f5f5f3;outline:none}
@media(max-width:1100px){.vote-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vote-card{min-height:190px;padding:10px}.vote-card img,.vote-card-placeholder{height:112px;margin:12px 0 3px}.community-favorite{gap:7px;padding-top:8px}.community-favorite button{font-size:.58rem;gap:4px;padding:4px 5px}.community-favorite button small{font-size:.58rem}}
@media(max-width:640px){.weapon-lab-action{gap:4px;padding:4px 5px;font-size:.58rem}.weapon-lab-action svg{width:11px;height:11px}}

/* Damage table hierarchy. */
.damage-weapon-heading:not(:first-child):not(.damage-metric-heading){color:var(--accent)}
.damage-weapon-button{
 display:inline-flex;
 min-width:0;
 align-items:center;
 justify-content:center;
 gap:10px;
 padding:4px 8px;
 border:0;
 background:transparent;
 color:var(--accent);
 font:inherit;
 letter-spacing:inherit;
 cursor:pointer;
}
.damage-weapon-button:hover,.damage-weapon-button:focus-visible{background:#25282a;outline:none}
.damage-weapon-button .damage-weapon-thumb{width:62px;height:30px;object-fit:contain}
.damage-weapon-caret{color:var(--accent);font:700 .9rem/1 Arial,sans-serif}
.damage-weapon-picker-menu{
 position:fixed;
 z-index:1000;
 width:280px;
 max-height:380px;
 overflow:auto;
 box-shadow:0 18px 45px rgba(0,0,0,.55);
}
.damage-weapon-picker-menu[hidden]{display:none!important}
.ammo-label{display:inline-flex;align-items:baseline;gap:7px}
.ammo-main{font:700 1rem var(--mono)}
.ammo-sub{color:currentColor;opacity:.65;font:600 .7rem var(--mono);letter-spacing:.02em}
@media(max-width:640px){.ammo-label{gap:4px}.ammo-main{font-size:.72rem}.ammo-sub{font-size:.53rem}}

/* Vote cards and compact controls. */
.vote-card strong{color:var(--accent)}
.vote-weapon-category{min-height:1.15em;color:#8f969d;font:600 .72rem var(--mono);letter-spacing:.035em}
.vote-action-buttons{display:flex;align-items:center;gap:8px}
#reset-votes{min-height:38px;padding:8px 12px;border:1px solid #4c5359;background:#24282b;color:#aab0b5;font:700 .72rem var(--mono);letter-spacing:.06em;cursor:pointer}
#reset-votes:hover,#reset-votes:focus-visible{border-color:#8f969d;color:#f5f5f3;outline:0}
#reset-votes:disabled{opacity:.55;cursor:wait}
.damage-controls{gap:18px;margin:4px 0 18px}
.damage-control-block{display:grid;justify-items:center;gap:11px;padding:6px 0 8px}
.damage-control-label{margin:0;color:#898f95;font:700 .7rem var(--mono);letter-spacing:.13em}
.made-by-warfog{display:inline-flex;flex-direction:column;align-items:center;gap:4px;color:#aeb5bb;text-decoration:none;font:700 .65rem var(--mono);letter-spacing:.12em}
.made-by-warfog img{display:block;width:76px;height:auto;max-height:42px;object-fit:contain}
.made-by-warfog:hover,.made-by-warfog:focus-visible{color:var(--accent);outline:0}
@media(max-width:640px){.ttk-section{margin:21px auto 56px}.vote-action-buttons{gap:6px}#reset-votes{min-height:36px;padding:8px 9px;font-size:.64rem}.vote-weapon-category{font-size:.62rem}.damage-controls{gap:13px;margin:7px 0 14px}.damage-control-block{gap:9px;padding:5px 0}.damage-control-label{font-size:.62rem}.made-by-warfog{gap:4px;font-size:.58rem}.made-by-warfog img{width:61px;max-height:34px}}

/* Footer credit is a single centered, branded link. */
footer{justify-content:center;text-align:center}

/* Keep the two voting actions on one compact row. */
.vote-actions>.vote-action-buttons{flex-direction:row;flex-wrap:nowrap}

/* Compact glyphs make target and protection states scannable without adding a new column. */
.damage-target{gap:7px}
.damage-zone-label,.damage-protection-label{display:flex;align-items:center;gap:6px}
.damage-zone-label strong{line-height:1}
.damage-protection-label{color:#8f969d;font-size:.78rem;line-height:1.15}
.damage-zone-icon,.damage-armor-icon{display:block;width:17px;height:17px;object-fit:contain;flex:0 0 17px}
.damage-zone-icon{filter:saturate(.88) brightness(1.05)}
.damage-armor-icon{filter:saturate(.25) brightness(.7)}
#ttk-results{margin-top:10px}
@media(max-width:640px){.damage-target{gap:5px}.damage-zone-label,.damage-protection-label{gap:4px}.damage-protection-label{font-size:.68rem}.damage-zone-icon,.damage-armor-icon{width:14px;height:14px;flex-basis:14px}}

/* Slightly thinner scan lines keep the home cards calmer without changing the layout. */
.weapon-visual:before,.weapon-visual:after{height:5px}
.meter{height:2px}
.project-links{margin-top:20px;border-top:1px solid var(--line)}
.project-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--text);text-decoration:none}
.project-links a:hover,.project-links a:focus-visible{color:var(--accent);outline:none}
.project-links a>span:last-child{display:grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;font:700 .7rem var(--mono)}
.unlock-level{color:var(--accent);font-weight:900}
.language-picker{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.language-title{display:block;margin-bottom:11px;color:var(--muted);font:700 .68rem var(--mono);letter-spacing:.16em}
.language-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.language-options button{display:flex;min-width:0;height:39px;align-items:center;justify-content:center;gap:5px;padding:0 6px;border:1px solid var(--line);background:var(--surface-raised);color:var(--text);font-size:1rem;cursor:pointer}
.language-options button:hover,.language-options button:focus-visible,.language-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);outline:none}
.language-options small{font:800 .61rem var(--mono);letter-spacing:.04em}
.info-page{max-width:1080px;padding-top:44px;padding-bottom:70px}
.info-hero{position:relative;padding:0 0 32px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.info-hero:after{position:absolute;left:0;bottom:-1px;width:92px;height:2px;background:var(--accent);content:""}
.info-eyebrow{margin:0 0 9px;color:#90979e;font:700 .72rem var(--mono);letter-spacing:.16em}
.info-page h1{font-size:clamp(2.35rem,5vw,4.25rem);line-height:.98;margin-bottom:15px}
.info-lede{max-width:780px;margin:0;color:#c0c6cb;font-size:1.05rem;line-height:1.65}
.info-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:29px;background:var(--line);border:1px solid var(--line)}
.info-facts>span{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#0e1012;color:#edf0f2;font:700 .78rem var(--mono);letter-spacing:.035em}
.info-facts small{color:var(--accent);font:700 .62rem var(--mono);letter-spacing:.12em}
.info-feature{display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;margin:0 0 12px;padding:26px 27px;border:1px solid #3a3d40;background:linear-gradient(110deg,#17191b,#0f1113)}
.info-feature h2{margin:0 0 8px;color:var(--accent);font:400 clamp(1.55rem,3vw,2.15rem) var(--title);letter-spacing:.04em}
.info-feature p{max-width:760px;margin:0;color:#c4c9ce;line-height:1.65}
.info-card-index{color:#777f86;font:700 .68rem var(--mono);letter-spacing:.14em}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.info-card{position:relative;display:flex;flex-direction:column;min-height:190px;padding:22px;border:1px solid #303235;background:var(--surface-panel);overflow:hidden;transition:border-color .18s,background .18s,transform .18s}
.info-card:after{position:absolute;right:-30px;bottom:-47px;width:110px;height:110px;border:1px solid #24282b;transform:rotate(45deg);content:"";pointer-events:none}
.info-card:hover{border-color:#555b60;background:#121517;transform:translateY(-2px)}
.info-card h2{margin:13px 0 9px;color:var(--accent);font:400 1.45rem var(--title);letter-spacing:.04em}
.info-card p{margin:0;color:#c5cbd0;line-height:1.6}
.info-disclaimer{display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:25px;margin-top:12px;padding:19px 22px;border:1px solid var(--line);background:#0d0f10}
.info-disclaimer div{display:flex;flex-direction:column;gap:3px}
.info-disclaimer div span{color:var(--accent);font:700 .66rem var(--mono);letter-spacing:.13em}
.info-disclaimer div strong{font:400 1.1rem var(--title);letter-spacing:.04em}
.info-disclaimer p{margin:0;color:#9fa6ac;font-size:.86rem;line-height:1.55}
.info-disclaimer a,.info-card-link{position:relative;z-index:1;color:#f1f3f4;text-decoration:none;font:700 .72rem var(--mono);letter-spacing:.06em;white-space:nowrap}
.info-disclaimer a:hover,.info-disclaimer a:focus-visible,.info-card-link:hover,.info-card-link:focus-visible{color:var(--accent);outline:none}
.help-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
.help-shortcuts a{display:flex;flex-direction:column;gap:3px;padding:15px 16px;border:1px solid #34383b;background:#141719;text-decoration:none;transition:border-color .18s,background .18s}
.help-shortcuts a:hover,.help-shortcuts a:focus-visible{border-color:var(--accent);background:#181b1e;outline:none}
.help-shortcuts span{color:#8f969d;font:700 .62rem var(--mono);letter-spacing:.12em}
.help-shortcuts strong{color:#eef0f2;font:700 .76rem var(--mono);letter-spacing:.03em}
.help-card{min-height:300px}
.help-card .help-best{margin-top:15px;padding-top:13px;border-top:1px solid #292d30;color:#9fa6ac;font-size:.78rem}
.help-best span{display:block;margin-bottom:4px;color:var(--accent);font:700 .62rem var(--mono);letter-spacing:.12em}
.info-card-link{margin-top:auto;padding-top:20px}
.info-card-link span{color:var(--accent);font-size:1rem}
.help-tip{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;align-items:start;margin-top:12px;padding:20px 22px;border:1px solid #3b3f42;background:var(--surface-raised)}
.help-tip-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--accent);color:var(--accent);font:700 1rem var(--mono)}
.help-tip strong{color:var(--accent);font:700 .7rem var(--mono);letter-spacing:.12em}
.help-tip p{margin:5px 0 0;color:#bdc3c8;font-size:.88rem;line-height:1.6}
@media(max-width:760px){
 .info-page{padding-top:28px;padding-bottom:45px}
 .info-hero{padding-bottom:24px}
 .info-page h1{font-size:2.35rem}
 .info-lede{font-size:.95rem}
 .info-facts{grid-template-columns:1fr}
 .info-facts>span{padding:12px 14px}
 .info-feature{grid-template-columns:1fr;gap:10px;padding:20px}
 .info-grid,.help-shortcuts{grid-template-columns:1fr}
 .info-card{min-height:0;padding:19px}
 .help-card{min-height:270px}
 .info-disclaimer{grid-template-columns:1fr;gap:13px;padding:19px}
 .info-disclaimer a{width:max-content}
 .help-tip{grid-template-columns:34px minmax(0,1fr);padding:18px}
 .help-tip-mark{width:32px;height:32px}
}

/* Weapon artwork is an alternate, touch-friendly selector trigger. */
.weapon-head .weapon-visual[role="button"],.lab-art[role="button"]{cursor:pointer}
.weapon-head .weapon-visual[role="button"]:focus-visible,.lab-art[role="button"]:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}

/* Mobile navigation uses only the height required by the logo and menu control. */
@media(max-width:640px){
 :root{--nav-height:52px}
 .armory-nav{height:52px;grid-template-rows:52px;padding-top:0;padding-bottom:0;align-items:center;align-content:center}
 .armory-brand,.menu-toggle{align-self:center}
 .brand-logo{width:96px;height:22px}
 .menu-toggle{width:29px;height:29px;gap:3px}
 .menu-toggle span{width:14px;height:2px}
}

/* Keep the armor label readable and make the damage selector denser. */
.ttk-section{margin:18px auto 46px;padding-top:12px}
.ttk-section .ttk-heading{gap:3px;margin-bottom:6px}
.ammo-hero,.ammo-hero img{height:86px}
.damage-controls{gap:12px;margin:0 0 12px}
.damage-control-block{gap:7px;padding:0 0 4px}
.damage-row,.damage-header{grid-template-columns:120px minmax(0,1fr) 86px minmax(0,1fr)}
.damage-target{padding-left:10px;padding-right:10px}
.damage-protection-label{white-space:nowrap}
@media(max-width:640px){
 .ttk-section{margin:14px auto 42px;padding-top:10px}
 .ttk-section .ttk-heading{gap:2px;margin-bottom:4px}
 .ammo-hero,.ammo-hero img{height:72px}
 .damage-controls{gap:9px;margin:0 0 10px}
 .damage-control-block{gap:6px;padding:0}
 .damage-row,.damage-header{grid-template-columns:86px minmax(0,1fr) 52px minmax(0,1fr)}
 .damage-target{padding:8px 4px}
 .damage-zone-label,.damage-protection-label{gap:3px}
 .damage-protection-label{font-size:.66rem}
 .damage-zone-icon,.damage-armor-icon{width:12px;height:12px;flex-basis:12px}
}

/* Final comparison polish: separate the two identity facts without breaking the line. */
.weapon-info .weapon-unlock{position:relative;margin-left:5px!important;padding-left:17px!important}
.weapon-info .weapon-unlock::before{content:"";position:absolute;left:0;top:50%;width:1px;height:1.25em;background:#515960;transform:translateY(-50%)}
@media(max-width:640px){.weapon-info .weapon-unlock{margin-left:2px!important;padding-left:9px!important}}

/* The two routes are deliberately separate choices, with room for both messages to stay whole. */
@media(min-width:641px){
 .home-quick-links{grid-template-columns:repeat(2,minmax(0,520px));gap:62px}
 .home-quick-links .meta-home-link{min-height:54px;gap:14px;padding:11px 16px;white-space:nowrap;font-size:clamp(.58rem,.72vw,.72rem)}
 .home-quick-links .meta-home-link span,.home-quick-links .meta-home-link strong{white-space:nowrap}
}

/* Active ammunition and armour must retain strong contrast, not disappear into orange. */
.damage-controls{justify-items:center;text-align:center}
.ammo-controls,.armor-controls{display:grid;justify-content:stretch}
.ammo-controls button,.armor-controls button{text-align:center}
.ammo-controls button[aria-pressed=true],.armor-controls button[aria-pressed=true]{background:var(--accent)!important;border-color:var(--accent)!important;color:#090a0b!important;box-shadow:none!important}
.ammo-controls button[aria-pressed=true] .ammo-label,.ammo-controls button[aria-pressed=true] .ammo-main,.ammo-controls button[aria-pressed=true] .ammo-sub{color:#090a0b!important;opacity:1}

/* The selector and the complete comparison stage share one deliberate width. */
#ttk-results{display:block!important;width:100%;margin:0!important}
#ttk-results .damage-controls{width:min(100%,1172px);margin:0 auto 12px}
.damage-results-stage{display:grid;grid-template-columns:76px minmax(0,1fr);justify-content:center;align-items:start;gap:16px;width:min(100%,1172px);margin:0 auto}
.damage-results-stage>.ammo-section{width:100%;margin:0!important}
.damage-results-stage .ammo-hero{display:flex;width:76px;min-height:0;padding:0;align-items:center;justify-content:center;overflow:visible}
.damage-results-stage .ammo-hero img{display:block;height:auto;max-width:none;transform:rotate(-90deg);transform-origin:center center}
@media(max-width:760px){
 .damage-results-stage{display:block}
 .damage-results-stage .ammo-hero{display:none}
}

/* Desktop comparison reads from the centre outward: values first, deltas second. */
@media(min-width:641px){
 .stat-left .stat-line{flex-direction:row-reverse;justify-content:space-between}
 .stat-left .outcome{margin-left:0;text-align:left}
 .stat-right .stat-line{flex-direction:row;justify-content:space-between}
 .stat-right .outcome{margin-right:0;text-align:right}
}

/* Full terms make the centre key self-explanatory without changing the values. */
.damage-row,.damage-header{grid-template-columns:120px minmax(0,1fr) 108px minmax(0,1fr)}
.damage-metric-labels{font-size:.62rem;line-height:1.15}
.damage-metric-labels span{padding:0 5px;white-space:normal}
@media(max-width:640px){
 .damage-row,.damage-header{grid-template-columns:86px minmax(0,1fr) 52px minmax(0,1fr)}
 .damage-metric-labels span{font-size:0;padding:0 2px}
 .damage-metric-labels span::after{content:attr(data-short-label);font-size:.58rem;line-height:1}
}

@media (min-width:641px) and (max-width:1100px){
 .home-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .home-quick-links .meta-home-link{min-height:68px;align-items:flex-start;justify-content:center;gap:5px;padding:12px 16px;white-space:normal;text-align:left}
 .home-quick-links .meta-home-link span,.home-quick-links .meta-home-link strong{white-space:normal}
 .home-quick-links .meta-home-link strong{color:var(--accent)}
}

/* On phones, weapon class and unlock information must stay inside each card. */
@media(max-width:640px){
 .weapon-info{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;width:100%;min-width:0;margin-top:7px;text-align:center}
 .weapon-info .weapon-meta,.weapon-info .weapon-unlock{display:flex;width:100%;min-width:0;justify-content:center;gap:4px;margin:0!important;padding:0!important;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.25}
 .weapon-info .weapon-meta{font-size:.6rem!important}
 .weapon-info .weapon-unlock{font-size:.58rem!important}
 .weapon-info .weapon-unlock::before{display:none}
}

/* Keep the chosen weapon prominent while cropping the empty canvas around it. */
@media(max-width:719px){
 .meta-weapon-title{margin-top:10px}
 .meta-weapon-image-wrap{height:142px;margin:8px auto 4px;overflow:hidden}
 .meta-weapon-image-wrap img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;transform:none}
}
@media(min-width:720px){
 .meta-weapon-image-wrap{height:255px;overflow:hidden}
 .meta-weapon-image-wrap img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;transform:none}
}

/* Final desktop Weapon Compare composition. Scope is intentionally homepage-only. */
.weapon-compare-title{display:none}
@media(min-width:1101px){
 .weapon-compare-page main{max-width:1440px;padding:12px 28px 0}
 .weapon-compare-page .home-quick-links{margin-bottom:5px}
 .weapon-compare-page .weapon-compare-title{display:block;margin:0 0 5px;text-align:center;color:var(--accent);font:400 clamp(1.35rem,1.8vw,1.8rem)/1 var(--title);letter-spacing:.055em}
 .weapon-compare-page .weapon-compare-title span{color:#f5f5f3}
 .weapon-compare-page .comparison{display:grid;grid-template-columns:minmax(0,36fr) minmax(350px,28fr) minmax(0,36fr);grid-template-rows:clamp(560px,calc(100vh - 210px),650px);width:100%;height:auto;gap:0;align-items:stretch;border:1px solid #303235;background:var(--surface-panel);overflow:visible}
 .weapon-compare-page .comparison-spacer{display:none}
 .weapon-compare-page .left-head{grid-column:1;grid-row:1}
 .weapon-compare-page .stat-rows{grid-column:2;grid-row:1}
 .weapon-compare-page .right-head{grid-column:3;grid-row:1}
 .weapon-compare-page .weapon-head{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;padding:13px 20px 12px;border:0;background:var(--surface-raised)}
 .weapon-compare-page .weapon-head.left-head{border-right:1px solid #303235}
 .weapon-compare-page .weapon-head.right-head{border-left:1px solid #303235}
 .weapon-compare-page .weapon-picker{flex:0 0 auto;min-height:39px}
 .weapon-compare-page .weapon-picker-trigger{font-size:clamp(2rem,2.4vw,2.65rem);line-height:1}
 .weapon-compare-page .weapon-picker-caret{width:12px;height:12px}
 .weapon-compare-page .weapon-visual{flex:0 0 clamp(235px,28vh,310px);height:clamp(235px,28vh,310px);margin:0 -8px 2px;overflow:hidden}
 .weapon-compare-page .weapon-visual img{width:100%;max-width:100%;height:100%;max-height:100%;object-fit:contain;transform:none!important;filter:none}
 .weapon-compare-page .weapon-info{display:flex;flex:0 0 auto;min-height:20px;margin-top:0;gap:10px;font-size:.67rem;line-height:1.2;letter-spacing:.045em}
 .weapon-compare-page .weapon-info .weapon-meta,.weapon-compare-page .weapon-info .weapon-unlock{font-size:inherit;line-height:inherit}
 .weapon-compare-page .weapon-head .advantage{display:flex;flex-direction:column;justify-content:flex-start;flex:0 0 auto;min-height:58px;margin:5px 0 0;padding:5px 0 0}
 .weapon-compare-page .weapon-head .advantage-heading{font-size:.67rem}
 .weapon-compare-page .weapon-head .advantage p{gap:5px;margin-top:5px}
 .weapon-compare-page .weapon-head .advantage-chip{padding:5px 7px;font-size:.69rem}
 .weapon-compare-page .community-favorite{margin-top:auto;padding-top:7px;gap:8px}
 .weapon-compare-page .community-favorite button,.weapon-compare-page .weapon-lab-action{min-height:34px;padding:6px 9px;font-size:.64rem}
 .weapon-compare-page .stat-rows{display:grid;grid-template-rows:repeat(11,minmax(0,1fr));height:100%;min-height:0;background:var(--surface-panel)}
 .weapon-compare-page .stat-row{display:grid;grid-template-columns:minmax(0,1fr) 136px minmax(0,1fr);min-width:0;min-height:0;border-bottom:1px solid #292d30}
 .weapon-compare-page .stat-row:last-child{border-bottom:0}
 .weapon-compare-page .stat-cell{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:8px 13px;background:var(--surface-panel);border:0}
 .weapon-compare-page .stat-cell:after,.weapon-compare-page .stat-cell.winner::before{display:none!important}
 .weapon-compare-page .stat-line{display:flex;width:100%;min-height:25px;align-items:baseline}
 .weapon-compare-page .stat-left .stat-line{flex-direction:row;justify-content:flex-end;text-align:right}
 .weapon-compare-page .stat-right .stat-line{flex-direction:row;justify-content:flex-start;text-align:left}
 .weapon-compare-page .numeric{font-size:clamp(1.18rem,1.42vw,1.52rem);line-height:1;letter-spacing:-.045em}
 .weapon-compare-page .unit{font-size:.67rem;margin-left:5px}
 .weapon-compare-page .outcome{display:none!important}
 .weapon-compare-page .meter{width:100%;height:3px;margin-top:7px;background:#2b3034}
 .weapon-compare-page .stat-left .meter{direction:rtl}
 .weapon-compare-page .stat-right .meter{direction:ltr}
 .weapon-compare-page .meter-fill{background:#8b9399}
 .weapon-compare-page .winner .meter-fill{background:var(--accent)}
 .weapon-compare-page .stat-label{display:flex;align-items:center;justify-content:center;order:0;padding:6px 5px;border-left:1px solid #303235;border-right:1px solid #303235;background:#1a1d1f;color:#aeb5bb;font:700 .65rem/1.15 var(--mono);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
 .weapon-compare-page .stat-context{display:block;margin-top:3px;color:#808990;font:500 .53rem/1.1 var(--mono);letter-spacing:0;white-space:nowrap}
 .weapon-compare-page .stat-left{order:-1}.weapon-compare-page .stat-right{order:1}
 .weapon-compare-page footer{padding-top:10px;padding-bottom:12px}
}
@media(min-width:1101px) and (max-height:930px){
 .weapon-compare-page .home-quick-links .meta-home-link{min-height:50px;padding-top:8px;padding-bottom:8px}
 .weapon-compare-page .weapon-visual{flex-basis:clamp(225px,27vh,255px);height:clamp(225px,27vh,255px)}
}

/* Compact desktop Weapon Compare: keep the weapons prominent without the empty lower shelf. */
@media(min-width:1101px){
 .weapon-compare-page .home-quick-links{margin-bottom:0}
 .weapon-compare-page .weapon-compare-title{
  margin:0;
  padding:11px 0 13px;
  font-size:clamp(1.75rem,2.2vw,2.2rem)
 }
 .weapon-compare-page .comparison{
  grid-template-rows:clamp(470px,calc(100vh - 410px),500px)
 }
 .weapon-compare-page .weapon-visual{
  flex:1 1 auto;
  min-height:205px;
  height:auto;
  max-height:none;
  margin-bottom:0
 }
 .weapon-compare-page .weapon-head .advantage{
  min-height:49px;
  margin-top:2px;
  padding-top:2px
 }
 .weapon-compare-page .community-favorite{
  margin-top:4px;
  padding-top:3px
 }
 .weapon-compare-page .stat-cell{
  position:relative;
  padding-top:6px;
  padding-bottom:6px
 }
 .weapon-compare-page .stat-cell.winner::before{
  display:block!important;
  content:"";
  position:absolute;
  top:50%;
  z-index:3;
  width:0;
  height:0;
  transform:translateY(-50%);
  border-top:5px solid transparent;
  border-bottom:5px solid transparent
 }
 .weapon-compare-page .stat-left.winner::before{
  right:-1px;
  border-right:6px solid var(--accent)
 }
 .weapon-compare-page .stat-right.winner::before{
  left:-1px;
  border-left:6px solid var(--accent)
 }
}

@media(max-width:1100px){
 .weapon-detail{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex-direction:column;
  text-align:center;
 }
 .weapon-detail>span{
  color:#818990;
  font:700 .56rem/1.1 var(--mono);
  letter-spacing:.06em;
 }
 .weapon-detail>strong{
  color:#e4e7e9;
  font:700 .62rem/1.2 var(--mono);
 }
 .weapon-detail .unlock-level{color:var(--accent)}
}

@media(min-width:1101px) and (max-height:930px){
 .weapon-compare-page .comparison{
  grid-template-rows:clamp(455px,calc(100vh - 405px),480px)
 }
 .weapon-compare-page .weapon-visual{min-height:190px}
}

/* Shared full-width workspace heading and minimal footer, matching Weapon Lab. */
.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px}
.workspace-title{flex:none;margin:0;color:var(--accent);font:400 clamp(30px,4vw,52px)/1 var(--title);letter-spacing:1px;text-align:left}
.workspace-title span{color:#f5f5f3}
.workspace-heading .home-quick-links{display:grid;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:end;gap:10px;max-width:920px;margin:0}
.workspace-heading .home-quick-links .meta-home-link{min-height:42px;padding:8px 12px;font-size:clamp(.55rem,.65vw,.66rem);white-space:nowrap}
.workspace-heading .home-quick-links .meta-home-link span,.workspace-heading .home-quick-links .meta-home-link strong{white-space:nowrap}
.workspace-bottom{display:flex;flex:none;align-items:center;justify-content:space-between;padding:8px 0 0;border:0;color:#818990;font-size:11px;text-align:left}
.workspace-bottom a{color:#b8bec3;text-decoration:none;white-space:nowrap}
.workspace-bottom a:hover,.workspace-bottom a:focus-visible{color:var(--accent)}

/* Every application footer uses the same clean typography as Weapon Lab. */
footer,.workspace-bottom,.lab-bottom{
 font-family:Arial,Helvetica,sans-serif;
 font-size:11px;
 font-weight:400;
 letter-spacing:0;
}
footer>span:first-child,.workspace-bottom>span:first-child{
 color:#818990;
 font-weight:400;
 letter-spacing:0;
}
footer a,.workspace-bottom a,.lab-bottom a{
 color:#b8bec3;
 font-family:Arial,Helvetica,sans-serif;
 font-size:11px;
 font-weight:400;
 letter-spacing:0;
 text-decoration:none;
}

@media(min-width:1101px){
 .weapon-compare-page{height:100dvh;overflow:hidden}
 .weapon-compare-page main{display:flex;height:calc(100dvh - var(--nav-height));min-height:0;flex-direction:column;padding-top:20px;padding-bottom:10px;box-sizing:border-box}
 .weapon-compare-page .workspace-heading{flex:0 0 auto}
 .weapon-compare-page .comparison{flex:1 1 auto;grid-template-rows:minmax(0,1fr);height:auto;min-height:0}
 .weapon-compare-page .weapon-head,.weapon-compare-page .stat-rows{height:100%}
 .weapon-compare-page .workspace-bottom{height:20px}
 .ammo-compare-page{height:100dvh;overflow:hidden}
 .ammo-compare-page .ammo-page{
  display:flex;
  height:calc(100dvh - var(--nav-height));
  min-height:0;
  flex-direction:column;
  padding-top:20px;
  padding-bottom:10px;
  box-sizing:border-box;
 }
 .ammo-compare-page .workspace-heading{flex:0 0 auto;margin-bottom:14px}
 .ammo-compare-page .ttk-section{
  display:flex;
  width:100%;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
  margin:0 auto;
  padding:0;
  border-top:0;
 }
 .ammo-compare-page #ttk-results{
  display:flex!important;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
 }
 .ammo-compare-page .damage-results-stage{min-height:0;flex:1 1 auto}
 .ammo-compare-page .workspace-bottom{height:20px;margin-top:auto}
}

/* The outer comparison frame owns the desktop bottom edge. */
@media(min-width:1101px){
 .weapon-compare-page #stat-rows .stat-row:last-child .stat-cell{border-bottom:0}
 .weapon-compare-page .stat-rows{height:auto;align-self:stretch;overflow:hidden}
}

@media(max-width:1100px){
 .workspace-heading{align-items:stretch;flex-direction:column;gap:12px}
 .workspace-heading .home-quick-links{width:100%;max-width:none}
}

@media(max-width:640px){
 .workspace-heading{margin-bottom:12px}
 .workspace-title{font-size:2rem}
 .workspace-heading .home-quick-links{gap:6px}
 .workspace-heading .home-quick-links .meta-home-link{min-height:54px;padding:8px 6px;font-size:.53rem;white-space:normal}
 .workspace-heading .home-quick-links .meta-home-link span,.workspace-heading .home-quick-links .meta-home-link strong{white-space:normal}
 .workspace-bottom{display:none}
}

/* Shared WARDOGS visual system, Weapon Lab is the canonical reference. */
.workspace-bottom{
 margin-top:14px;
 padding:0 0 12px;
 line-height:1.5;
}
.weapon-compare-page .weapon-head,
.weapon-compare-page .left-head,
.weapon-compare-page .right-head,
.weapon-compare-page .weapon-visual,
.weapon-compare-page .comparison,
.weapon-compare-page .stat-rows,
.weapon-compare-page .stat-cell,
.weapon-compare-page .stat-label,
.ammo-compare-page .damage-controls,
.ammo-compare-page .ammo-section,
.ammo-compare-page .damage-values{
 background:var(--surface-panel);
}
.weapon-compare-page .comparison,
.weapon-compare-page .weapon-head,
.weapon-compare-page .stat-cell,
.ammo-compare-page .damage-controls,
.ammo-compare-page .ammo-section{
 border-color:#292d30;
}

@media(min-width:1101px){
 .weapon-compare-page main,
 .ammo-compare-page .ammo-page{
  gap:14px;
  padding-bottom:12px;
 }
 .weapon-compare-page .workspace-heading,
 .ammo-compare-page .workspace-heading{
  margin-bottom:0;
 }
 .weapon-compare-page .workspace-bottom,
 .ammo-compare-page .workspace-bottom{
  height:auto;
  margin-top:0;
  padding:0;
 }
}

/* Cleaner comparison surface: one outer frame, no internal boxes. */
@media(min-width:1101px){
 .weapon-compare-page .weapon-head.left-head,
 .weapon-compare-page .weapon-head.right-head,
 .weapon-compare-page .stat-label{
  border:0;
 }
 .weapon-compare-page .stat-row{
  border-bottom:0;
 }
 .weapon-compare-page .stat-row[data-metric="rpm"] .unit{
  color:#959da4!important;
 }

 .ammo-compare-page .damage-controls{
  width:min(100%,1172px);
  margin:0 auto 12px;
  padding:0;
  border:0;
  background:transparent;
 }
 .ammo-compare-page .damage-results-stage{
  align-items:stretch;
 }
 .ammo-compare-page .damage-results-stage>.ammo-section{
  display:flex;
  min-height:0;
  height:100%;
  flex-direction:column;
 }
 .ammo-compare-page .damage-results-stage>.ammo-section[hidden]{
  display:none!important;
 }
 .ammo-compare-page .damage-table{
  display:grid;
  min-height:0;
  height:100%;
  grid-template-rows:auto repeat(2,minmax(0,1fr));
 }
}

/* Weapon card hierarchy: identity, technical facts, strengths, actions. */
@media(min-width:1101px){
 .weapon-compare-page .weapon-head.left-head{
  border-right:1px solid #292d30;
 }
 .weapon-compare-page .weapon-head.right-head{
  border-left:1px solid #292d30;
 }
 .weapon-compare-page .weapon-visual{
  flex:0 0 clamp(190px,23vh,235px);
  height:clamp(190px,23vh,235px);
  min-height:0;
  margin:0 -8px;
  align-items:flex-start;
 }
 .weapon-compare-page .weapon-visual img{
  object-position:center top;
 }
 .weapon-compare-page .weapon-info{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  min-height:66px;
  margin-top:0;
  padding:10px 0 9px;
  border-top:1px solid #292d30;
  border-bottom:1px solid #292d30;
 }
 .weapon-compare-page .weapon-detail{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  padding:0 9px;
  text-align:center;
 }
 .weapon-compare-page .weapon-detail+.weapon-detail{
  border-left:1px solid #292d30;
 }
 .weapon-compare-page .weapon-detail>span{
  color:#818990;
  font:700 .58rem/1.1 var(--mono);
  letter-spacing:.08em;
 }
 .weapon-compare-page .weapon-detail>strong{
  min-width:0;
  color:#e4e7e9;
  font:700 .66rem/1.2 var(--mono);
  letter-spacing:.035em;
  overflow-wrap:anywhere;
 }
 .weapon-compare-page .unlock-level{
  color:var(--accent);
 }
 .weapon-compare-page .weapon-head .advantage{
  min-height:50px;
  margin:0;
  padding:8px 0;
 }
 .weapon-compare-page .community-favorite{
  margin-top:auto;
  padding-top:9px;
  border-top:1px solid #292d30;
 }
}

/* Minimal separators restore scanning rhythm without rebuilding a boxed grid. */
@media(min-width:1101px){
 .weapon-compare-page .stat-row:not(:last-child){
  border-bottom:1px solid #292d30;
 }
 .weapon-compare-page .weapon-head .advantage{
  border-bottom:1px solid #292d30;
 }
}

/* Ammo Compare: quieter controls, stronger weapon identity and target column. */
.ammo-compare-page .ammo-controls button[aria-pressed=true],
.ammo-compare-page .armor-controls button[aria-pressed=true]{
 background:#171a1c!important;
 border-color:var(--accent)!important;
 color:#e4e7e9!important;
 box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb) / .22)!important;
}
.ammo-compare-page .ammo-controls button[aria-pressed=true] .ammo-label,
.ammo-compare-page .ammo-controls button[aria-pressed=true] .ammo-main,
.ammo-compare-page .ammo-controls button[aria-pressed=true] .ammo-sub{
 color:#e4e7e9!important;
 opacity:1;
}
.ammo-compare-page .damage-results-stage{gap:32px}
.ammo-compare-page .damage-row,
.ammo-compare-page .damage-header{grid-template-columns:150px minmax(0,1fr) 86px minmax(0,1fr)}
.ammo-compare-page .damage-header{min-height:145px}
.ammo-compare-page .damage-weapon-button{
 width:100%;
 min-height:145px;
 gap:10px;
}
.ammo-compare-page .damage-weapon-button .damage-weapon-thumb{
 display:block;
 width:min(280px,72%);
 height:105px;
 min-width:0;
 flex:1 1 280px;
}
.ammo-compare-page .damage-weapon-button>span:not(.damage-weapon-caret){
 flex:0 0 auto;
 font-size:1.45rem;
 white-space:nowrap;
}
.ammo-compare-page .damage-target{
 gap:10px;
 padding:14px 18px;
 background:#171a1c;
}
.ammo-compare-page .damage-zone-label strong{
 font-size:1rem;
 letter-spacing:.035em;
}
.ammo-compare-page .damage-protection-label{
 font-size:.78rem;
 color:#aeb4b8;
}
.ammo-compare-page .damage-zone-icon,
.ammo-compare-page .damage-armor-icon{
 width:24px;
 height:24px;
 flex-basis:24px;
}
@media(max-width:760px){
 .ammo-compare-page .damage-results-stage{gap:0}
 .ammo-compare-page .damage-row,
 .ammo-compare-page .damage-header{grid-template-columns:104px minmax(0,1fr) 52px minmax(0,1fr)}
 .ammo-compare-page .damage-header{min-height:76px}
 .ammo-compare-page .damage-weapon-button{min-height:76px;gap:6px;padding:3px}
 .ammo-compare-page .damage-weapon-button .damage-weapon-thumb{display:block;width:76px;height:42px;flex-basis:76px}
 .ammo-compare-page .damage-weapon-button>span:not(.damage-weapon-caret){font-size:.9rem}
 .ammo-compare-page .damage-target{padding:10px 8px}
 .ammo-compare-page .damage-zone-icon,
 .ammo-compare-page .damage-armor-icon{width:18px;height:18px;flex-basis:18px}
}
/* Profile access stays beside the menu on every page. */
.armory-nav .nav-actions{grid-column:3;grid-row:1;justify-self:end;align-self:center;display:flex;align-items:center;gap:14px;min-width:0}
.armory-nav .nav-actions .menu-toggle{grid-column:auto;grid-row:auto;justify-self:auto;align-self:center}
.profile-trigger{width:34px;height:34px;display:grid;place-items:center;color:var(--accent);text-decoration:none;border:1px solid transparent;border-radius:4px;flex:none}
.profile-trigger svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.profile-trigger:hover,.profile-trigger:focus-visible{border-color:var(--accent);background:rgb(var(--accent-rgb) / .12);outline:none}
.profile-trigger.is-signed-in{width:auto;min-width:34px;max-width:210px;display:flex;gap:7px;padding:0 4px}
.profile-trigger img{width:28px;height:28px;object-fit:contain;flex:none}
.profile-trigger .profile-name{font:700 12px/1 monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-trigger .profile-initial{font:900 22px/1 monospace}
.profile-trigger.is-signed-in{position:relative}
.profile-hover-hint{pointer-events:none;position:absolute;top:calc(100% + 14px);right:0;z-index:75;width:max-content;max-width:min(310px,calc(100vw - 24px));box-sizing:border-box;padding:12px 14px;border:1px solid #51575b;background:#171a1c;box-shadow:0 10px 26px #000a;color:#c8cdd0;font:12px/1.45 Arial,sans-serif;text-align:left;white-space:normal;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s}
.profile-hover-hint strong{display:block;margin-bottom:5px;color:var(--accent);font:700 12px monospace}
.profile-hover-hint span{display:block}.profile-hover-hint span+span{margin-top:6px}.profile-hover-hint b{color:var(--accent)}
@media(hover:hover){.profile-trigger.is-signed-in:hover .profile-hover-hint,.profile-trigger.is-signed-in:focus-visible .profile-hover-hint{opacity:1;visibility:visible;transform:translateY(0)}}
.header-level-control{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--accent);white-space:nowrap;padding:5px 0;cursor:pointer;font:700 12px/1 monospace;letter-spacing:.035em}
.header-level-control[hidden]{display:none}
.header-level-control:hover,.header-level-control:focus-visible{color:var(--accent);outline:none}
.header-level-divider{height:23px;border-left:1px solid #62676b;margin-right:4px}
.header-level-control img{width:29px;height:29px;object-fit:contain;mix-blend-mode:screen}
@media(max-width:760px){.header-level-control{display:none!important}}
@media(max-width:640px){.armory-nav .nav-actions{grid-column:2;gap:9px}.profile-trigger{width:30px;height:30px}.profile-trigger svg{width:21px;height:21px}}
@media(max-width:640px){.profile-trigger.is-signed-in{max-width:118px}.profile-trigger img{width:25px;height:25px}.profile-trigger .profile-name{font-size:10px}}
/* Center the visible weapon within the image stage at every viewport size. */
.weapon-compare-page .weapon-visual{align-items:center}
.weapon-compare-page .weapon-visual img{object-position:center center}
/* Your Meta Rifle stays in one viewport, matching Compare and Weapon Lab. */
.meta-body{height:100dvh;overflow:hidden}
.meta-body .meta-page{box-sizing:border-box;width:100%;max-width:1440px;height:calc(100dvh - var(--nav-height));min-height:0;padding:16px 28px 10px;display:flex;flex-direction:column;gap:10px}
.meta-body .meta-heading{width:100%;max-width:none;min-height:0;margin:0;flex:none;text-align:left}
.meta-body .meta-heading h1{font-size:clamp(30px,4vw,52px);margin:0}
.meta-body .meta-lab-link{float:right;margin:12px 0 0}
.meta-body .meta-controls{flex:none;padding:11px 18px 13px;text-align:center}
.meta-body .meta-control-label{margin-bottom:6px;font-size:11px}
.meta-body .meta-control-label+.meta-category-controls{margin-bottom:9px}
.meta-body .meta-choice{min-height:34px;padding:7px 11px;font-size:11px}
.meta-body .meta-result{flex:1 1 auto;min-height:0;margin:0;padding:14px clamp(20px,3vw,42px);column-gap:clamp(18px,3vw,42px)}
.meta-body .meta-result:before{top:8px}.meta-body .meta-result:after{bottom:8px}
.meta-body .meta-weapon-image-wrap{height:100%;min-height:0;max-height:100%;margin:0;overflow:hidden}
.meta-body .meta-weapon-image-wrap img{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center}
.meta-body .meta-summary{margin:6px 0 10px;font-size:14px;line-height:1.3}
.meta-body .meta-stat{padding:8px 10px}.meta-body .meta-stat strong{margin-top:3px}
.meta-body .meta-runner-up{margin:7px 0 0}
.meta-body .meta-page footer{flex:none;margin:0;padding:4px 0 0}
@media(min-width:720px){
 .meta-body .meta-result{grid-template-rows:auto minmax(0,1fr) auto auto auto;min-height:0}
 .meta-body .meta-weapon-image-wrap{grid-column:1;grid-row:2/6}
 .meta-body .meta-weapon-title h2{font-size:clamp(30px,4vw,58px)}
}
@media(max-width:719px){
 .meta-body .meta-page{padding:9px 12px 7px;gap:6px}
 .meta-body .meta-heading h1{font-size:28px}
 .meta-body .meta-lab-link{font-size:9px;letter-spacing:0;margin:6px 0 0}
 .meta-body .meta-controls{padding:8px 9px 9px}
 .meta-body .meta-control-label{margin:0 0 5px;font-size:9px}
 .meta-body .meta-control-label+.meta-category-controls{margin-bottom:7px}
 .meta-body .meta-category-controls{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:5px;overflow-x:auto;scrollbar-width:thin}
 .meta-body .meta-category-controls .meta-choice{flex:none}
 .meta-body .meta-priority-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
 .meta-body .meta-choice{min-height:28px;padding:5px 4px;font-size:9px}
 .meta-body .meta-priority{justify-content:center;gap:3px}
 .meta-body .meta-priority>span{font-size:11px}
 .meta-body .meta-result{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;gap:3px;padding:10px 10px 8px;text-align:center}
 .meta-body .meta-result-topline{font-size:9px;gap:5px}
 .meta-body .meta-result-topline strong{padding:3px 5px}
 .meta-body .meta-weapon-title{margin:0}
 .meta-body .meta-weapon-title h2{font-size:clamp(27px,7vw,40px)}
 .meta-body .meta-weapon-title p{margin:2px 0 0;font-size:11px}
 .meta-body .meta-weapon-image-wrap{height:100%;min-height:45px;grid-row:3}
 .meta-body .meta-summary{margin:0;font-size:12px}
 .meta-body .meta-stat-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%}
 .meta-body .meta-stat{padding:5px 3px}.meta-body .meta-stat span{font-size:8px}.meta-body .meta-stat strong{font-size:11px}
 .meta-body .meta-runner-up{margin:0;font-size:9px}
 .meta-body .meta-page footer{display:flex;min-height:14px;padding:0;font-size:10px}
}
@media(max-height:690px){
 .meta-body .meta-page{gap:5px;padding-top:8px;padding-bottom:5px}
 .meta-body .meta-controls{padding-top:7px;padding-bottom:7px}
 .meta-body .meta-result{padding-top:8px;padding-bottom:7px}
 .meta-body .meta-choice{min-height:28px;padding-top:5px;padding-bottom:5px}
}
/* Compact section title, 25% smaller than the previous Weapon Compare size. */
.weapon-compare-page .workspace-title{font-size:clamp(22.5px,3vw,39px)}
@media(max-width:640px){.weapon-compare-page .workspace-title{font-size:1.5rem}}

/* Consistent three-part heading across the four tools. */
.section-heading.workspace-heading,
.meta-body .meta-heading.section-heading,
.lab-body .lab-heading.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: none;
  text-align: center;
}
.section-heading .section-cta {
  display: flex;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding: 8px 10px;
  box-sizing: border-box;
  gap: 8px;
  font-size: clamp(.53rem, .65vw, .66rem);
  white-space: normal;
}
.section-heading .section-cta strong { white-space: normal; }
.section-heading .workspace-title,
.meta-body .meta-heading.section-heading h1,
.lab-body .lab-heading.section-heading h1 {
  margin: 0;
  text-align: center;
  white-space: nowrap;
}
.meta-body .meta-heading.section-heading h1 { font-size: clamp(22.5px, 3vw, 39px); }
.meta-body .meta-heading.section-heading .section-cta { float: none; }
@media (max-width: 760px) {
  .section-heading.workspace-heading,
  .meta-body .meta-heading.section-heading,
  .lab-body .lab-heading.section-heading {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 6px;
  }
  .section-heading .workspace-title,
  .meta-body .meta-heading.section-heading h1,
  .lab-body .lab-heading.section-heading h1 {
    grid-column: 1 / -1;
    grid-row: 1;
    font-size: 24px;
  }
  .section-heading .section-cta { min-height: 40px; padding: 5px 6px; gap: 4px; font-size: .55rem; }
  .section-heading .section-cta:first-child { grid-column: 1; grid-row: 2; }
  .section-heading .section-cta:last-child { grid-column: 2; grid-row: 2; }
  .section-heading .section-cta b { display: none; }
}

/* Mobile navigation stays compact without changing desktop copy. */
.section-heading .section-cta .mobile-cta-copy { display:none; }
@media (max-width:760px) {
  .section-heading .section-cta .desktop-cta-copy { display:none; }
  .section-heading .section-cta .mobile-cta-copy { display:block; }
  .section-heading .section-cta {
    min-height:42px;
    flex-direction:column;
    justify-content:center;
    gap:1px;
    line-height:1.2;
  }
  .section-heading .section-cta span,
  .section-heading .section-cta strong {
    display:block;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    flex-basis:auto;
  }
  .section-heading .section-cta .desktop-cta-copy { display:none; }
}

/* The phone viewport shows the working area; long comparison data scrolls inside it. */
@media (max-width:640px) {
  .weapon-compare-page,
  .ammo-compare-page { height:100dvh; overflow:hidden; }
  .weapon-compare-page main,
  .ammo-compare-page .ammo-page {
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
    height:calc(100dvh - var(--nav-height));
    min-height:0;
    padding:8px 10px;
    gap:6px;
  }
  .weapon-compare-page .workspace-heading,
  .ammo-compare-page .workspace-heading { flex:none; margin:0; }
  .weapon-compare-page .comparison {
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .weapon-compare-page .weapon-head { padding:7px 6px; margin-bottom:3px; }
  .weapon-compare-page .weapon-visual { height:clamp(65px,11dvh,100px); margin:0 -4px 2px; }
  .weapon-compare-page .weapon-info { flex-wrap:wrap; justify-content:center; gap:2px 6px; }
  .weapon-compare-page .stat-row { margin-bottom:3px; }
  .weapon-compare-page .stat-label { padding:3px 6px; font-size:.7rem; }
  .weapon-compare-page .stat-cell { padding:4px 7px; }
  .weapon-compare-page .stat-line { min-height:24px; }
  .weapon-compare-page .meter { margin-top:3px; }
  .ammo-compare-page .ttk-section {
    flex:1 1 auto;
    min-height:0;
    width:100%;
    margin:0;
    padding:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .ammo-compare-page #ttk-results { min-height:0; }
  .ammo-compare-page .damage-controls { margin:0 auto 6px; gap:5px; padding:6px; }
  .ammo-compare-page .damage-control-block { gap:4px; padding:0; }
  .ammo-compare-page .ammo-controls button,
  .ammo-compare-page .armor-controls button { min-height:34px; }
  .ammo-compare-page .damage-header { min-height:44px; }
}

/* Give the shared heading title breathing room without widening its buttons. */
@media(min-width:761px){
 .section-heading.workspace-heading,
 .meta-body .meta-heading.section-heading,
 .lab-body .lab-heading.section-heading{column-gap:clamp(24px,2.4vw,46px)}
 .section-heading .section-cta{padding-left:6px;padding-right:6px}
}

/* The meta result details form one vertically centered block beside the image. */
.meta-info-stack{display:contents}
@media(min-width:720px){
 .meta-body .meta-info-stack{display:flex;grid-column:2;grid-row:2/6;align-self:stretch;min-height:0;flex-direction:column;justify-content:center}
 .meta-body .meta-info-stack .meta-weapon-title{align-self:stretch;margin-top:0}
}

/* All tool headings follow Weapon Compare's title size and spacing. */
.section-heading .workspace-title,
.meta-body .meta-heading.section-heading h1,
.lab-body .lab-heading.section-heading h1{font-size:clamp(22.5px,3vw,39px);line-height:1}
@media(max-width:760px){
 .section-heading .workspace-title,
 .meta-body .meta-heading.section-heading h1,
 .lab-body .lab-heading.section-heading h1{font-size:24px}
}

/* Fixed header geometry: switching tools keeps both slogans and the title in place. */
.section-heading .workspace-title,
.meta-body .meta-heading.section-heading h1,
.lab-body .lab-heading.section-heading h1{
 font-family:var(--title);font-weight:400;letter-spacing:1px
}
@media(min-width:761px){
 .section-heading.workspace-heading,
 .meta-body .meta-heading.section-heading,
 .lab-body .lab-heading.section-heading{
  grid-template-columns:minmax(0,1fr) clamp(230px,26vw,340px) minmax(0,1fr);
  height:50px;
  min-height:50px;
  column-gap:clamp(24px,2.4vw,46px);
  margin:0;
 }
 .section-heading .section-cta{height:50px;min-height:50px;overflow:hidden;white-space:nowrap}
 .section-heading .section-cta span,
 .section-heading .section-cta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:760px){
 .section-heading.workspace-heading,
 .meta-body .meta-heading.section-heading,
 .lab-body .lab-heading.section-heading{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:6px;row-gap:6px}
 .section-heading .section-cta{height:42px;min-height:42px}
}
.meta-body .meta-page{padding-top:20px}
@media(max-width:760px){
 .weapon-compare-page main,
 .ammo-compare-page .ammo-page,
 .meta-body .meta-page{padding:8px 10px}
}

/* Shared masthead: supplied Discord mark, opposite the profile/menu controls. */
.armory-nav .brand-actions{grid-column:1;grid-row:1;justify-self:start;align-self:center;display:flex;align-items:center;gap:14px;min-width:0}
.armory-nav .brand-actions .armory-brand{min-width:0;grid-column:auto;grid-row:auto}
.discord-trigger{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid transparent;border-radius:4px;text-decoration:none}
.discord-trigger:hover,.discord-trigger:focus-visible{border-color:var(--accent);background:rgb(var(--accent-rgb) / .12);outline:none}
.discord-mark{display:block;width:28px;height:28px;background:var(--accent);-webkit-mask:url('/assets/icons/discord-smooth.png') center/28px 28px no-repeat;mask:url('/assets/icons/discord-smooth.png') center/28px 28px no-repeat}
@media(max-width:640px){.armory-nav .brand-actions{gap:8px}.discord-trigger{width:30px;height:30px}.discord-mark{width:25px;height:25px;-webkit-mask-size:25px 25px;mask-size:25px 25px}}

.kofi-trigger{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid transparent;border-radius:4px;color:var(--accent);text-decoration:none}
.kofi-trigger:hover,.kofi-trigger:focus-visible{border-color:var(--accent);background:rgb(var(--accent-rgb) / .12);outline:none}
.kofi-mark{display:block;width:28px;height:28px}
@media(max-width:640px){.kofi-trigger{width:30px;height:30px}.kofi-mark{width:25px;height:25px}}

.meta-body .meta-result.is-empty{display:flex;align-items:center;justify-content:center;text-align:center}
.meta-body .meta-lab-link[hidden]{display:none}
.meta-body .meta-result.is-empty > :not(.meta-empty-message){display:none}
.meta-empty-message{display:flex;flex-direction:column;align-items:center;gap:10px;font:700 clamp(15px,2vw,26px)/1.25 var(--mono);letter-spacing:.035em}
.meta-empty-message strong{color:var(--accent)}
.meta-empty-message span{color:#f5f5f3}
.meta-empty-message .meta-pending-rifle{display:block;width:100%;max-width:min(980px,90vw);height:auto;max-height:min(36dvh,340px);margin-top:14px;object-fit:contain}
.meta-result:not(.is-empty) .meta-empty-message{display:none}
@media(max-width:640px){.meta-empty-message{font-size:clamp(14px,3.4vw,19px);gap:8px;padding:0 8px}.meta-empty-message .meta-pending-rifle{max-width:100%;max-height:30dvh;margin-top:10px}}

/* Center the match heading across both desktop result columns. */
.meta-body .meta-result-topline{justify-content:center;text-align:center}

@media(max-width:760px){
 /* Every section title occupies the same centered row as Weapon Compare. */
 .section-heading.workspace-heading .workspace-title,
 .meta-body .meta-heading.section-heading h1,
 .lab-body .lab-heading.section-heading h1,
 .vote-page .vote-heading.section-heading h1{grid-column:1/-1;grid-row:1;justify-self:stretch;width:100%;margin:0;text-align:center}
 .meta-body .meta-stat{text-align:center}
}

@media(max-width:640px){
 /* Save the few pixels needed to keep the ammo table and footer in view. */
 .ammo-compare-page .ammo-page{gap:4px;padding-top:6px;padding-bottom:6px}
 .ammo-compare-page .damage-controls{margin-bottom:2px;padding:4px 6px;gap:3px}
 .ammo-compare-page .damage-values .damage-value{padding:5px 7px}
 .ammo-compare-page .damage-metric-labels span{min-height:34px}
}

/* Consistent, simple flag icons with accessible names on their buttons. */
.language-options button{height:29px;padding:0;border:0;background:transparent;opacity:.72}
.language-options button:hover,.language-options button[aria-pressed=true]{border:0;background:transparent;color:inherit;opacity:1}
.language-options button:focus-visible{border:0;outline:2px solid var(--accent);outline-offset:2px}
.flat-flag{display:block;width:22px;height:15px;border:0;box-shadow:none;background:center/contain no-repeat}
.flat-flag-en{background-image:url('/assets/icons/flag-en.png')}
.flat-flag-it{background-image:url('/assets/icons/flag-it.png')}
.flat-flag-de{background-image:url('/assets/icons/flag-de.png')}
.flat-flag-fr{background-image:url('/assets/icons/flag-fr.png')}

/* Voting uses the same header coordinates as the four weapon tools. */
.vote-page{max-width:1440px;padding-top:20px}
.vote-page .vote-heading.section-heading{max-width:none;margin:0 0 14px;text-align:center;display:grid;grid-template-columns:minmax(0,1fr) clamp(230px,26vw,340px) minmax(0,1fr);align-items:center;column-gap:clamp(24px,2.4vw,46px);width:100%;height:50px;min-height:50px}
.vote-page .vote-heading.section-heading h1{margin:0;color:var(--accent);font:400 clamp(22.5px,3vw,39px)/1 var(--title);letter-spacing:1px;white-space:nowrap}
.vote-page .vote-heading.section-heading h1 span{color:#f5f5f3}
@media(max-width:760px){
 .vote-page{padding:8px 10px}
 .vote-page .vote-heading.section-heading{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;min-height:0;column-gap:6px;row-gap:6px;margin:0 0 12px}
 .vote-page .vote-heading.section-heading h1{grid-column:1/-1;grid-row:1;font-size:24px}
}

/* Help is one compact card per section; About is the founder's story alone. */
.help-page h1,.about-page h1{margin-bottom:24px}
.help-grid .help-card{display:block;min-height:145px;color:inherit;text-decoration:none}
.help-grid .help-card h2{margin:0 0 10px}
.help-grid .help-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.about-story{max-width:850px;color:#c5cbd0;font-size:1.05rem;line-height:1.75}
.about-story p{margin:0 0 1.2em}
@media(max-width:760px){.help-grid .help-card{min-height:0}.about-story{font-size:1rem}}
@media(min-width:761px){
 .about-page{padding-top:24px;padding-bottom:12px}
 .about-page h1{font-size:clamp(35px,3vw,48px);margin-bottom:12px}
 .about-story{max-width:100%;font-size:15px;line-height:1.42}
 .about-story p{margin-bottom:.7em}
}

/* Compare: quiet chip outlines and an even rhythm across horizontal dividers. */
.weapon-compare-page .weapon-head .advantage-chip{
 border-color:#555c61;
 background:transparent;
 color:var(--accent);
}
.weapon-compare-page .weapon-head .advantage-icon,
.weapon-compare-page .weapon-head .advantage-label{color:var(--accent)}
@media(min-width:1101px){
 .weapon-compare-page .weapon-info{padding-top:10px;padding-bottom:10px}
 .weapon-compare-page .weapon-head .advantage{min-height:0;margin:0;padding:10px 0}
 .weapon-compare-page .weapon-head .advantage p{margin-top:10px}
 .weapon-compare-page .community-favorite{padding-top:10px}
}
@media(max-width:760px){
 .weapon-compare-page .weapon-detail>span{display:none}
}

/* Phone comparison: one compact line per metric, with both values beside its label. */
@media(max-width:640px){
 .weapon-compare-page .outcome{display:none!important}
 .weapon-compare-page .comparison{column-gap:8px;align-content:start}
 .weapon-compare-page .comparison-spacer{display:none}
 .weapon-compare-page #stat-rows{display:grid;grid-column:1/-1;grid-row:2;grid-template-columns:minmax(0,1fr);grid-template-rows:none;width:100%;height:auto;min-width:0;gap:0}
 .weapon-compare-page .stat-row{display:grid;grid-column:1;grid-template-columns:minmax(0,1fr) minmax(124px,33%) minmax(0,1fr);column-gap:0;align-items:stretch;min-height:30px;margin:0;border-bottom:1px solid #292d30}
 .weapon-compare-page .stat-row:last-child{border-bottom:0}
 .weapon-compare-page .stat-label{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;padding:3px 2px;gap:0;background:#1a1d1f;color:#aeb5bb;font:700 .55rem/1.12 var(--mono);letter-spacing:0;text-transform:uppercase}
 .weapon-compare-page .stat-cell{grid-row:1;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:3px 6px;border:0;background:var(--surface-panel)}
 .weapon-compare-page .stat-cell:after,.weapon-compare-page .stat-cell.winner::before{display:none!important}
 .weapon-compare-page .stat-left{grid-column:1;order:0}
 .weapon-compare-page .stat-right{grid-column:3;order:0}
 .weapon-compare-page .stat-line,.weapon-compare-page .stat-left .stat-line,.weapon-compare-page .stat-right .stat-line{display:flex;flex-direction:row;align-items:baseline;min-height:0;width:100%;gap:0}
 .weapon-compare-page .stat-left .stat-line{justify-content:flex-end;text-align:right}
 .weapon-compare-page .stat-right .stat-line{justify-content:flex-start;text-align:left}
 .weapon-compare-page .numeric{font-size:clamp(.94rem,3.7vw,1.13rem);line-height:1.05;letter-spacing:-.04em}
 .weapon-compare-page .unit{font-size:.56rem;margin-left:2px}
 .weapon-compare-page .meter{width:100%;height:2px;margin-top:3px}
 .weapon-compare-page .stat-left .meter{direction:rtl}
 .weapon-compare-page .stat-right .meter{direction:ltr}
 .weapon-compare-page .section-heading.workspace-heading{row-gap:4px}
 .weapon-compare-page .section-heading .workspace-title{font-size:22px}
 .weapon-compare-page .section-heading .section-cta{height:36px;min-height:36px;padding-top:3px;padding-bottom:3px}
 .weapon-compare-page .weapon-visual{height:clamp(58px,9dvh,76px)}
}

/* Phone: class and caliber share one line; the masthead keeps its centered controls. */
@media(max-width:640px){
 :root{--nav-height:48px}
 .armory-nav{height:48px;grid-template-rows:48px}
 .weapon-compare-page .weapon-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;justify-content:center;gap:2px 4px;min-height:0;width:100%;margin-top:0}
 .weapon-compare-page .weapon-detail{min-width:0;line-height:1.2}
 .weapon-compare-page .weapon-detail:nth-child(3){grid-column:1/-1}
 .weapon-compare-page .weapon-detail>strong{font-size:clamp(.51rem,2.25vw,.62rem);line-height:1.2;white-space:nowrap}
}

/* Shorter mobile action copy leaves room for both controls in each weapon card. */
@media(max-width:640px){
 .weapon-compare-page .community-favorite button[id^="favorite-"]>span:nth-child(2){font-size:0}
 .weapon-compare-page .community-favorite button[id^="favorite-"]>span:nth-child(2)::after{content:'FAVORITE';font:600 .58rem var(--mono);letter-spacing:.04em}
 .weapon-compare-page .community-favorite button,.weapon-compare-page .weapon-lab-action{white-space:nowrap}
 .weapon-compare-page .weapon-head .advantage-heading{font-size:.56rem;letter-spacing:.045em}
}

/* Mobile strengths use six reserved slots so both action rows stay aligned. */
.weapon-compare-page .advantage-placeholder{display:none}
@media(min-width:761px){
 .weapon-compare-page .unlock-mobile{display:none}
 .weapon-compare-page .weapon-head .advantage p[data-count]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,28px);gap:6px;width:100%;min-height:62px;align-content:start;justify-content:stretch}
 .weapon-compare-page .weapon-head .advantage-chip{width:100%;min-width:0;height:28px;justify-content:center;padding:4px 2px;font-size:clamp(.55rem,.7vw,.7rem);overflow:hidden}
 .weapon-compare-page .advantage-placeholder{display:block;visibility:hidden}
 .weapon-compare-page .advantage-empty-state,.weapon-compare-page .advantage-chip:nth-child(n+7){display:none}
}
@media(max-width:760px){.weapon-compare-page .unlock-desktop{display:none}}
@media(max-width:640px){
 .weapon-compare-page .weapon-head .advantage p[data-count]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,24px);align-content:start;justify-content:stretch;gap:4px;width:100%;height:52px;min-height:52px;margin-top:5px}
 .weapon-compare-page .weapon-head .advantage-chip{min-width:0;width:100%;height:24px;justify-content:center;gap:2px;padding:2px 1px;font-size:.56rem;overflow:hidden}
 .weapon-compare-page .weapon-head .advantage-icon{flex:none;width:auto;font-size:.67rem;line-height:1}
 .weapon-compare-page .advantage-label{font-size:0}
 .weapon-compare-page .advantage-label::after{content:attr(data-mobile-label);font:600 .56rem var(--mono);letter-spacing:0}
 .weapon-compare-page .advantage-empty-state,.weapon-compare-page .advantage-chip:nth-child(n+7){display:none}
 .weapon-compare-page .advantage-placeholder{display:block;visibility:hidden}
}

/* Phone comparison: shorter actions, class separator, balanced title and winning arrows. */
@media(max-width:640px){
 .weapon-compare-page .community-favorite button[id^="favorite-"]>span:nth-child(2)::after{content:'FAV'}
 .weapon-compare-page .weapon-lab-action span,.ammo-compare-page .weapon-lab-action span{font-size:0}
 .weapon-compare-page .weapon-lab-action span::after,.ammo-compare-page .weapon-lab-action span::after{content:'TUNE';font:600 .58rem var(--mono);letter-spacing:.04em}
 .weapon-compare-page .weapon-detail:nth-child(2){position:relative}
 .weapon-compare-page .weapon-detail:nth-child(2)::before{content:'|';position:absolute;left:-5px;top:50%;transform:translateY(-50%);color:#697078;font:400 .7rem var(--mono)}
 .weapon-compare-page .section-heading.workspace-heading{row-gap:8px}
 .weapon-compare-page .stat-label{position:relative;padding-left:12px;padding-right:12px}
 .weapon-compare-page .stat-label[data-winner=left]::before,
 .weapon-compare-page .stat-label[data-winner=right]::after{content:'';position:absolute;top:50%;width:0;height:0;transform:translateY(-50%);border-top:4px solid transparent;border-bottom:4px solid transparent}
 .weapon-compare-page .stat-label[data-winner=left]::before{left:3px;border-right:6px solid var(--accent)}
 .weapon-compare-page .stat-label[data-winner=right]::after{right:3px;border-left:6px solid var(--accent)}
}

/* Extend the mobile metric panel to the available viewport height and close its frame. */
@media(max-width:640px){
 .weapon-compare-page .comparison{grid-template-rows:auto minmax(0,1fr);align-content:stretch}
 .weapon-compare-page #stat-rows{height:100%;min-height:275px;grid-template-rows:repeat(11,minmax(25px,1fr));border-left:1px solid #292d30;border-right:1px solid #292d30;border-bottom:1px solid #292d30;box-sizing:border-box}
 .weapon-compare-page #stat-rows .stat-row{min-height:0}
 .weapon-compare-page #stat-rows .meter{display:none}
 .weapon-compare-page #stat-rows .stat-cell{padding-top:1px;padding-bottom:1px}
 .weapon-compare-page #stat-rows .stat-line{min-height:0}
 .weapon-compare-page .weapon-head{margin-bottom:0}
}

/* The meters already separate each metric on phone screens. */
@media(max-width:640px){
 .weapon-compare-page #stat-rows .stat-row{border-bottom:0}
}
.stat-label.has-explanation{cursor:help;text-decoration:underline dotted var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}
.stat-label.has-explanation:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.stat-explanation{position:fixed;z-index:1500;box-sizing:border-box;width:min(320px,calc(100vw - 24px));padding:15px 17px 16px;border:1px solid #50545a;border-left:3px solid var(--accent);background:#17191c;box-shadow:0 12px 32px #000b;color:#e9ecef;font:400 14px/1.45 var(--mono,monospace);text-align:left;pointer-events:none}
.stat-explanation[hidden]{display:none}
.stat-explanation strong{display:block;margin:0 0 7px;color:var(--accent);font-size:13px;letter-spacing:.07em}
.stat-explanation p{margin:0;color:#e9ecef}
.damage-metric-labels span.has-explanation{cursor:help;text-decoration:underline dotted var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.damage-metric-labels span.has-explanation:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(max-width:640px){.damage-metric-labels span.has-explanation{text-decoration:none}.damage-metric-labels span.has-explanation::after{text-decoration:underline dotted var(--accent);text-underline-offset:3px}}
@media(min-width:761px){.ammo-compare-page .damage-row,.ammo-compare-page .damage-header{grid-template-columns:150px minmax(0,1fr) 116px minmax(0,1fr)}.ammo-compare-page .damage-metric-labels span{white-space:nowrap}}
@media(max-width:640px){
 .weapon-compare-page .stat-label.has-explanation,.ammo-compare-page .damage-metric-labels span.has-explanation::after{ text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px }
 .stat-explanation{pointer-events:auto}
}
.numeric,.stat-measure{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap;font-variant-numeric:tabular-nums}
.numeric .unit{margin-left:0}
.stat-measure__unit{font-size:.65em;font-weight:400;letter-spacing:0}
.ammo-compare-page .damage-value strong.stat-measure{display:inline-flex;align-items:baseline;gap:3px}
.meta-stat strong.stat-measure{display:inline-flex;align-items:baseline;gap:3px}
.meta-stat strong.stat-measure .stat-measure__value,.meta-stat strong.stat-measure .stat-measure__unit{display:inline;overflow:visible;color:inherit;font:inherit;letter-spacing:inherit}
.meta-stat strong.stat-measure .stat-measure__unit{font-size:max(10px,.65em);font-weight:400;letter-spacing:0}

/* Four per-weapon attachment slots, sourced from the selected weapon bundle. */
.weapon-compare-page .compare-attachment-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;margin:6px 0 0}
.weapon-compare-page .compare-attachment-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:66px;padding:4px 3px;background:#171a1c;border:1px solid #3b4044;color:#e4e7e9;cursor:pointer;text-align:center}
.weapon-compare-page .compare-attachment-slot:hover,.weapon-compare-page .compare-attachment-slot:focus-visible{border-color:var(--accent);outline:none}
.weapon-compare-page .compare-slot-visual{display:grid;place-items:center;width:100%;height:32px}
.weapon-compare-page .compare-slot-visual img{display:block;max-width:96%;max-height:30px;object-fit:contain}
.weapon-compare-page .compare-slot-copy{min-width:0;width:100%}
.weapon-compare-page .compare-slot-copy small{display:block;color:var(--accent);font:700 .55rem var(--mono);letter-spacing:.05em}
.weapon-compare-page .compare-slot-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 .53rem var(--mono);color:#9da3aa}
.weapon-compare-page .compare-attachment-slot.is-equipped strong{color:#e4e7e9}
.weapon-compare-page .compare-attachment-slot.is-unavailable{position:relative;cursor:not-allowed;opacity:.58}
.weapon-compare-page .compare-attachment-slot.is-unavailable::after{content:'×';position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);color:#e25244;font:700 34px/1 Arial,sans-serif;text-shadow:0 1px 3px #08090a}
.weapon-compare-page .compare-attachment-slot.is-unavailable:hover{border-color:#3b4044}
.weapon-compare-page .compare-attachment-slot.is-unavailable .compare-slot-copy strong{font-size:.53rem;color:#9aa0a4}
.weapon-compare-page .community-favorite [hidden]{display:none!important}
.compare-attachment-picker{position:fixed;inset:0;box-sizing:border-box;width:min(580px,calc(100vw - 32px));max-height:min(650px,75dvh);margin:auto;padding:22px;border:1px solid #41474c;background:#111416;color:#f5f5f3}
.compare-attachment-picker::backdrop{background:#000b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.compare-attachment-picker header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.compare-attachment-picker h2{margin:0;color:var(--accent);font:700 24px Impact,'Arial Narrow',sans-serif;letter-spacing:1px}
.compare-attachment-picker header button{border:0;background:none;color:var(--accent);font-size:1.8rem;cursor:pointer}
.compare-attachment-picker input{box-sizing:border-box;display:block;width:100%;margin:0 0 12px;padding:11px;background:#1a1e21;border:1px solid #3d4449;color:#fff;font:600 16px var(--mono)}
#compare-attachment-options{display:block;max-height:min(58dvh,620px);overflow-y:auto;padding-right:6px}
.attachment-track-heading{padding:9px 2px 3px;color:var(--accent);font:700 .66rem var(--mono);letter-spacing:.09em;text-transform:uppercase}
.compare-attachment-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:72px;margin-bottom:6px;padding:13px 10px;border:1px solid #30363b;background:#181c1f;color:#eee;cursor:pointer;text-align:left}
.compare-attachment-option:hover,.compare-attachment-option:focus-visible{border-color:var(--accent);outline:none}
.compare-attachment-option[aria-pressed="true"]{border-color:var(--accent);background:#252a2d;box-shadow:inset 2px 0 var(--accent)}
.compare-option-visual{display:grid;place-items:center;width:46px;height:46px;flex:none;border:1px solid #41484e;background:#111315}
.compare-option-visual img{max-width:44px;max-height:44px;object-fit:contain}
.compare-option-copy{flex:1;min-width:0}
.compare-option-copy strong{display:block;color:#eee;font:700 14px var(--mono)}
.compare-option-copy.has-attachment strong{color:var(--accent)}
.compare-option-copy small{display:block;margin-top:5px;color:#929ba2;font:600 12px var(--mono)}
.compare-option-effects{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 12px;width:fit-content;max-width:min(310px,42vw);margin-left:auto;flex:none}
.compare-option-effect{display:flex;flex-direction:column;gap:4px;white-space:nowrap;font:11px var(--mono)}
.compare-option-effect small{color:#8d969d;font:9px var(--mono);letter-spacing:.04em}
.compare-option-effect strong{font:700 12px var(--mono);color:#b8bec3}
.compare-option-unit{color:#aab0b5}
.compare-attachment-option .attachment-value-good{color:#62cf7e}
.compare-attachment-option .attachment-value-bad{color:#ff625b}
.compare-empty{padding:15px;color:#aab0b5;font:600 .75rem var(--mono)}
@media(max-width:760px){
 .weapon-compare-page .compare-attachment-slots{gap:3px;margin-top:4px}
 .weapon-compare-page .compare-attachment-slot{min-height:46px;padding:2px 1px}
 .weapon-compare-page .compare-slot-visual{height:22px}
 .weapon-compare-page .compare-slot-visual img{max-height:20px}
 .weapon-compare-page .compare-slot-copy small{font-size:.46rem}
 .weapon-compare-page .compare-slot-copy strong{font-size:.43rem}
 .weapon-compare-page .compare-attachment-slot:not(.is-equipped) .compare-slot-copy strong{display:none}
}

@media(min-width:1101px){.weapon-compare-page .weapon-visual{min-height:145px}.weapon-compare-page .compare-attachment-slots{flex:0 0 auto}}

/* One scroll area per picker, with the document locked by the modal dialog. */
.compare-attachment-picker[open],.compare-build-picker[open]{display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;max-height:min(78dvh,700px)}
.compare-attachment-picker[open]{max-height:min(650px,75dvh)}
.compare-attachment-picker header,.compare-attachment-picker input,.compare-build-picker header{flex:none}
#compare-attachment-options{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#62686c #24292c}
#compare-attachment-options::-webkit-scrollbar{width:2px}
#compare-attachment-options::-webkit-scrollbar-track{background:#24292c}
#compare-attachment-options::-webkit-scrollbar-thumb{background:#62686c}
@media(max-width:760px){.compare-attachment-picker{padding:14px}.compare-attachment-picker header{margin-bottom:12px}.compare-attachment-picker h2{font-size:28px}.compare-attachment-option{align-items:flex-start;padding:9px}.compare-option-visual{width:40px;height:40px}.compare-option-visual img{max-width:38px;max-height:38px}.compare-option-copy strong{font-size:13px}.compare-option-effects{display:grid;grid-template-columns:repeat(2,minmax(58px,1fr));gap:7px;width:min(170px,44vw)}.compare-option-effect{gap:3px}.compare-option-effect small{font-size:8px}}
.compare-build-picker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(510px,calc(100vw - 28px));margin:0;padding:0;border:1px solid #485057;background:var(--surface-panel);color:#f5f5f3;box-shadow:0 20px 70px #000c}
.compare-build-picker::backdrop{background:#000b}
.compare-build-picker header{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid #303235}
.compare-build-picker h2{margin:0;color:var(--accent);font:700 1.3rem var(--title)}
.compare-build-picker header button{border:0;background:none;color:var(--accent);font-size:1.8rem;cursor:pointer}
#compare-build-options{display:grid;gap:7px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:13px;scrollbar-width:thin}
.compare-build-option{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:8px 12px;border:1px solid #3b4044;background:#171a1c;color:#f5f5f3;text-align:left;cursor:pointer}
.compare-build-option:hover,.compare-build-option:focus-visible{border-color:var(--accent);outline:none}
.compare-build-option strong{font:700 .78rem var(--mono);overflow-wrap:anywhere}
.compare-build-option span{color:#aab0b5;font:600 .62rem var(--mono);text-align:right;flex-shrink:0}
.compare-build-notice{color:#aab0b5;font:600 .75rem var(--mono)}
.weapon-compare-page .community-favorite .compare-save-build{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:34px;padding:6px;border:1px solid #303235;background:transparent;color:#9da3aa;font:700 .6rem var(--mono);letter-spacing:.02em;cursor:pointer;white-space:nowrap}
.weapon-compare-page .community-favorite .compare-save-build:hover{border-color:var(--accent);color:#f5f5f3}
.weapon-compare-page .community-favorite .compare-save-build:active{background:var(--accent);color:#08090a}
.weapon-compare-page .community-favorite .compare-save-build span{font:inherit;color:inherit}
.weapon-compare-page .compare-save-build{gap:5px}
.weapon-compare-page .compare-save-build svg{width:14px;height:14px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.weapon-compare-page .community-favorite .compare-save-build:focus-visible{outline:2px solid #fff;outline-offset:2px}
.compare-save-dialog{box-sizing:border-box;width:min(490px,calc(100vw - 32px));max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto;background:#111416;color:#f5f5f3;border:1px solid #53595e;box-shadow:0 24px 80px #000c}
.compare-save-dialog::backdrop{background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.compare-save-dialog form{padding:24px}
.compare-save-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.compare-save-dialog header small,.compare-save-weapon span,.compare-save-dialog label{color:#aab1b6;font:700 11px/1.4 monospace;letter-spacing:1.5px}
.compare-save-dialog h2{margin:3px 0 0;color:var(--accent);font:32px/1 Impact,"Arial Narrow",sans-serif;letter-spacing:1px}
#compare-save-close{border:0;background:transparent;color:#acb2b7;font:30px/1 sans-serif;cursor:pointer}
#compare-save-close:hover{color:var(--accent)}
.compare-save-weapon{display:flex;align-items:center;gap:16px;min-height:108px;padding:10px 16px;margin-bottom:22px;background:#181c1f;border:1px solid #30363b}
.compare-save-weapon img{width:52%;height:98px;object-fit:contain}
.compare-save-weapon div{display:grid;gap:5px}
.compare-save-weapon strong{color:#fff;font:25px/1 Impact,"Arial Narrow",sans-serif;letter-spacing:1px}
.compare-save-dialog label{display:block;margin-bottom:8px}
#compare-build-name{box-sizing:border-box;width:100%;padding:13px 14px;background:#1a1e21;color:#fff;border:1px solid #53595e;border-radius:0;font:700 15px/1.3 monospace;outline:none}
#compare-build-name:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.compare-save-dialog label[for="compare-build-note"]{margin-top:15px}
.compare-save-dialog label[for="compare-build-note"] span{font-weight:400;color:#879198}
#compare-build-note{box-sizing:border-box;width:100%;min-height:72px;max-height:130px;resize:vertical;padding:11px 13px;background:#1a1e21;color:#fff;border:1px solid #53595e;border-radius:0;font:13px/1.4 Consolas,monospace;outline:none}
#compare-build-note:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.compare-save-hint{color:#aab1b6;font:12px/1.5 monospace;margin:10px 0 0}
#compare-save-error{color:#ff9c54;font:12px/1.4 monospace;margin:10px 0 0}
#compare-save-error:empty{display:none}
.compare-save-buttons{display:flex;gap:10px;margin-top:24px}
.compare-save-buttons button{flex:1;padding:13px 10px;color:#c2c6c9;background:#181c1f;border:1px solid #53595e;border-radius:0;font:700 13px/1 monospace;letter-spacing:1px;cursor:pointer}
.compare-save-buttons #compare-save-confirm{color:var(--accent);border-color:var(--accent)}
.compare-save-buttons button:hover:not(:disabled),.compare-save-buttons button:focus-visible{color:#111416;background:var(--accent);border-color:var(--accent)}
.compare-save-buttons button:disabled{opacity:.65;cursor:wait}
@media(max-width:600px){.compare-save-dialog form{padding:17px}.compare-save-dialog h2{font-size:27px}.compare-save-weapon{min-height:80px;padding:8px 12px}.compare-save-weapon img{height:76px}}
@media(max-width:760px){.weapon-compare-page .community-favorite .compare-save-build{min-height:28px;padding:3px;font-size:.52rem}.weapon-compare-page .compare-save-build svg{width:11px;height:11px}.weapon-compare-page .community-favorite .compare-save-build span{font-size:0}.weapon-compare-page .compare-save-build span::after{content:'SAVE';font:600 .52rem var(--mono)}}
.weapon-compare-page .community-favorite{gap:5px}
.weapon-compare-page .community-favorite .compare-load-build{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px;border:1px solid #303235;background:transparent;color:#9da3aa;font:600 .64rem var(--mono);letter-spacing:.04em;cursor:pointer;white-space:nowrap}
.weapon-compare-page .community-favorite .compare-load-build:hover,.weapon-compare-page .community-favorite .compare-load-build:focus-visible{border-color:var(--accent);color:#f5f5f3;outline:none}
.weapon-compare-page .compare-load-build svg{width:14px;height:14px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:760px){
 .weapon-compare-page .community-favorite{gap:3px}
 .weapon-compare-page .community-favorite button,.weapon-compare-page .community-favorite .compare-load-build,.weapon-compare-page .community-favorite .weapon-lab-action{min-width:0;min-height:28px;gap:2px;padding:3px;font-size:.52rem}
 .weapon-compare-page .compare-load-build svg{width:11px;height:11px}
 .weapon-compare-page .compare-load-build span{font-size:0}
 .weapon-compare-page .compare-load-build span::after{content:'LOAD';font:600 .52rem var(--mono)}
}

/* Center the compare loadout between the strengths and action dividers. */
.weapon-compare-page .compare-attachment-area{position:relative;display:flex;flex:1 1 auto;min-height:0;align-items:center;padding:17px 0 8px}
.weapon-compare-page .compare-attachment-slots{align-items:start;margin:0}
.weapon-compare-page .compare-attachment-cell{display:flex;flex-direction:column;min-width:0}
.weapon-compare-page .compare-attachment-cell .compare-attachment-slot{width:100%}
.weapon-compare-page .compare-slot-effects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 3px;min-height:43px;align-content:start;padding:4px 1px 0}
.weapon-compare-page .compare-slot-effect{min-width:0;color:#9da3aa;font:600 .53rem/1.25 var(--mono);white-space:nowrap}
.weapon-compare-page .compare-slot-effect.is-benefit{color:var(--accent)}
.weapon-compare-page .compare-slot-effect.is-penalty{color:#d3d7da}
.weapon-compare-page .compare-slot-effect.is-neutral{color:#899198}
@media(max-width:760px){
 .weapon-compare-page .compare-attachment-area{flex:none;min-height:0;padding:18px 0 5px}
 .weapon-compare-page .compare-slot-effects{display:block;min-height:39px;padding:3px 0 0}
 .weapon-compare-page .compare-slot-effect{display:block;overflow:hidden;text-overflow:clip;font-size:clamp(.41rem,1.25vw,.52rem);line-height:1.18}
}
@media(min-width:1101px){
 .weapon-compare-page .weapon-visual{min-height:125px}
 .weapon-compare-page .compare-attachment-area{padding:12px 0 6px}
 .weapon-compare-page .compare-attachment-slot{min-height:54px}
 .weapon-compare-page .compare-slot-visual{height:26px}
 .weapon-compare-page .compare-slot-visual img{max-height:25px}
 .weapon-compare-page .compare-slot-effects{min-height:33px}
}
@media(max-width:760px){
 .weapon-compare-page .compare-slot-effect.is-neutral{display:none}
 .weapon-compare-page .compare-slot-effects{min-height:34px}
}

/* One legible effect per line under each attachment; cost and weight stay in the stat table. */
.weapon-compare-page .compare-slot-effects{display:flex;flex-direction:column;gap:3px;min-height:62px;padding:8px 2px 0}
.weapon-compare-page .compare-slot-effect{display:flex;align-items:baseline;justify-content:space-between;gap:3px;width:100%;font:600 .56rem/1.1 var(--mono);white-space:nowrap}
.weapon-compare-page .compare-effect-label{color:#8e969c;font-weight:600}
.weapon-compare-page .compare-slot-effect .compare-effect-value{color:var(--accent);font-weight:700}
.weapon-compare-page .compare-slot-effect.is-penalty .compare-effect-value{color:#d4d8db}
.weapon-compare-page .compare-no-effects{display:block;color:#7d858b;font:600 .51rem/1.25 var(--mono);text-align:center;white-space:nowrap}
@media(max-width:760px){
 .weapon-compare-page .compare-slot-effects{display:flex;min-height:46px;gap:2px;padding:5px 0 0}
 .weapon-compare-page .compare-slot-effect{display:flex;gap:1px;font-size:clamp(.38rem,1.25vw,.48rem);line-height:1.1}
 .weapon-compare-page .compare-no-effects{font-size:.42rem;white-space:normal}
}
@media(max-width:640px){
 .weapon-compare-page .community-favorite button[id^="favorite-"]>span:nth-child(2)::after{content:none}
 .weapon-compare-page .community-favorite button[id^="favorite-"] small{min-width:0;padding-left:3px}
 .weapon-compare-page .compare-attachment-cell:nth-child(4) .compare-slot-copy small{font-size:0}
 .weapon-compare-page .compare-attachment-cell:nth-child(4) .compare-slot-copy small::after{content:'MAG';font:700 .46rem var(--mono);letter-spacing:.05em}
 .weapon-compare-page .compare-effect-label[data-mobile-label]{font-size:0}
 .weapon-compare-page .compare-effect-label[data-mobile-label]::after{content:attr(data-mobile-label);font:600 clamp(.38rem,1.25vw,.48rem)/1.1 var(--mono)}
 .weapon-compare-page .compare-no-effects{display:none}
 .weapon-compare-page .compare-attachment-area{padding:14px 0 0}
 .weapon-compare-page .compare-slot-effects{min-height:38px;gap:1px;padding-top:3px}
 .weapon-compare-page .community-favorite{margin-top:0;padding-top:2px}
}
@media(max-width:640px){
 .weapon-compare-page .section-heading .workspace-title{font-size:17px}
 .weapon-compare-page .section-heading.workspace-heading{row-gap:4px}
 .weapon-compare-page .weapon-info{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:3px;min-height:0;white-space:nowrap}
 .weapon-compare-page .weapon-info .weapon-detail{display:inline-flex;flex:none;flex-direction:row;align-items:center;gap:0;min-width:0;line-height:1.2}
 .weapon-compare-page .weapon-info .weapon-detail>strong{font-size:clamp(6.5px,2vw,8px);line-height:1.2;letter-spacing:-.025em;white-space:nowrap}
 .weapon-compare-page .weapon-info .weapon-detail:first-child>strong{font-size:0}
 .weapon-compare-page .weapon-info .weapon-detail:first-child>strong::after{content:attr(data-mobile-label);font:700 clamp(6.5px,2vw,8px)/1.2 var(--mono);letter-spacing:-.025em}
 .weapon-compare-page .weapon-info .weapon-detail:nth-child(n+2)::before{content:'|';position:static;display:inline-block;transform:none;margin-right:3px;color:#697078;font:400 clamp(6.5px,2vw,8px)/1.2 var(--mono)}
 .weapon-compare-page .weapon-head .advantage{min-height:0;margin:0;padding:3px 0 0;gap:2px}
 .weapon-compare-page .weapon-head .advantage p[data-count]{grid-template-rows:repeat(2,20px);gap:3px;height:43px;min-height:43px;margin-top:2px}
 .weapon-compare-page .weapon-head .advantage-chip{height:20px;padding:1px}
 .weapon-compare-page .compare-attachment-area{padding-top:10px}
 .weapon-compare-page .comparison{background:var(--surface-page)}
 .weapon-compare-page .compare-attachment-area{padding-top:3px}
 .weapon-compare-page #stat-rows{min-height:242px;grid-template-rows:repeat(11,minmax(22px,1fr))}
}

/* Match the LEVELS hit area to the profile control. */
.armory-nav .header-level-control{height:34px;display:flex;align-items:center;gap:7px;padding:0 7px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--accent);cursor:pointer;font:700 12px/1 monospace;white-space:nowrap}
.armory-nav .header-level-control:hover,.armory-nav .header-level-control:focus-visible{border-color:var(--accent);background:rgb(var(--accent-rgb) / .12);outline:none}
.armory-nav .header-level-control img{width:40px;height:40px;flex:none;object-fit:contain;mix-blend-mode:screen;transform:scale(1.16)}
.armory-nav .header-level-divider{height:23px;flex:none;margin:0 -5px 0 -5px;border-left:1px solid #62676b}
.armory-nav .header-level-divider[hidden]{display:none}
@media(max-width:760px){.armory-nav .header-level-divider{display:none!important}}

#compare-build-name{text-transform:uppercase}
.kofi-trigger{display:inline-flex;align-items:center;gap:5px;width:auto;padding:0 5px}
.kofi-support-label{color:var(--accent);font:700 10px/1 var(--mono);letter-spacing:.07em;white-space:nowrap}
.footer-support{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:#6c747a}
.footer-support a{color:#aeb4b8;text-decoration:none;font:700 .7rem/1 var(--mono);white-space:nowrap}
.footer-support a:hover,.footer-support a:focus-visible{color:var(--accent);outline:none}
.footer-support .footer-support-heart{color:var(--accent)}
.about-page .about-story{max-width:100%;color:#d3d6d8;font-family:Arial,Helvetica,sans-serif;line-height:1.57;-webkit-font-smoothing:antialiased}
.about-story .about-kicker{margin:0 0 5px;color:var(--accent);font:700 .78rem/1.2 var(--mono);letter-spacing:.17em}
.about-story .about-lead{max-width:32ch;margin:0 0 22px;color:#f1f2f2;font:400 clamp(1.65rem,2.6vw,2.5rem)/1.17 var(--title);letter-spacing:.015em}
.about-story .about-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,58px);max-width:1060px}
.about-story .about-columns p{margin:0;font-size:clamp(.92rem,1.13vw,1.02rem);line-height:1.62}
.about-story .about-signoff{margin:22px 0;color:#f1f2f2;font:700 .85rem/1.3 var(--mono);letter-spacing:.04em}
.about-story .about-disclaimer{max-width:1050px;padding:14px 0 0;border-top:1px solid #373c40;color:#818b91;font:400 .7rem/1.45 Arial,Helvetica,sans-serif}
.about-story .about-disclaimer p{margin:0 0 5px}
@media(max-width:760px){
 .kofi-trigger{width:30px;padding:0;justify-content:center}
 .kofi-support-label,.footer-support{display:none}
 .section-heading.workspace-heading .workspace-title,.meta-heading.section-heading h1,.lab-heading.section-heading h1,.vote-heading.section-heading h1,.community-heading.section-heading h1,.info-page h1{width:100%;text-align:center}
 .about-story .about-columns{grid-template-columns:1fr;gap:12px}
 .about-story .about-lead{margin-bottom:17px}
}
.profile-xp{display:inline-flex;align-items:baseline;gap:3px;margin-left:6px;white-space:nowrap;font:800 10px/1 var(--mono,monospace);letter-spacing:.02em}.profile-xp strong{color:var(--accent)}.profile-xp small{font:700 9px/1 var(--mono,monospace);color:#898f93}
@media(max-width:760px){.profile-xp{margin-left:3px;font-size:9px}.profile-xp small{font-size:8px}}

/* iPad: keep the compare loadout in its own space, below the strengths. */
.wardogs-ipad .weapon-compare-page .weapon-head .advantage{flex:none;margin-top:3px;padding-bottom:5px}
.wardogs-ipad .weapon-compare-page .compare-attachment-area{flex:0 0 auto;min-height:0;margin:0;padding:10px 0 4px;align-items:flex-start}
.wardogs-ipad .weapon-compare-page .compare-slot-effects{min-height:48px;padding-top:10px}
.wardogs-ipad .weapon-compare-page .community-favorite{margin-top:auto}
.wardogs-ipad .weapon-compare-page .weapon-visual{flex-basis:clamp(130px,19vh,190px);height:clamp(130px,19vh,190px)}
.wardogs-ipad .weapon-compare-page .comparison{grid-template-rows:minmax(580px,calc(100dvh - 206px))}
/* Touch Safari needs an explicit dotted cue even without a hover state. */
.wardogs-ipad .stat-label.has-explanation,.wardogs-ipad .damage-metric-labels span.has-explanation,.wardogs-ipad .lab-stat-label.has-explanation{ text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px }
/* Recommendation headline and its direct Lab action. */
.meta-body .meta-result-topline{font-size:clamp(16px,1.65vw,23px);letter-spacing:.07em;flex-wrap:wrap}
.meta-body .meta-result-topline strong{padding:5px 9px}
.meta-body .meta-result .meta-lab-link{float:none;align-self:center;margin:11px 0 0;padding:7px 11px;border:1px solid #474d51;background:#171a1c;font-size:11px;letter-spacing:.04em}
.meta-body .meta-result .meta-lab-link:hover{border-color:var(--accent)}
@media(max-width:719px){
 .meta-body .meta-result{row-gap:6px;padding:12px 10px 9px}
 .meta-body .meta-result-topline{justify-content:center;font-size:clamp(13px,3.3vw,17px);line-height:1.25}
 .meta-body .meta-info-stack{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
 .meta-body .meta-weapon-image-wrap{min-height:0;margin:0;overflow:hidden}
 .meta-body .meta-summary,.meta-body .meta-runner-up{line-height:1.25}
 .meta-body .meta-result .meta-lab-link{margin:3px 0 0;padding:5px 7px;font-size:9px}
}
/* The filter meaning remains readable on touch devices without opening a tooltip. */
.level-filter-description{display:none}
@media(max-width:760px){.community-body .level-filter-description{display:block;max-width:55ch;margin:0 auto 9px;color:#aeb5b9;text-align:center;font:700 10px/1.4 var(--mono)}}
/* The earning instructions occupy the middle of the space before the manifesto. */
.xp-page .xp-earn{flex:none;margin-top:auto;margin-bottom:auto}
.xp-page .xp-manifesto{flex:0 0 auto;min-height:clamp(200px,32vh,370px)}
@media(max-width:780px){.xp-page .xp-manifesto{min-height:clamp(165px,27vh,240px)}}
/* About fills the normal workspace and keeps the shared footer at the bottom. */
.about-page.info-page{display:flex;flex-direction:column;box-sizing:border-box;width:100%;max-width:1440px;min-height:calc(100dvh - var(--nav-height));padding:clamp(20px,3vh,32px) clamp(20px,4vw,54px) 14px}
.about-page .about-story{width:100%;max-width:1100px;margin:clamp(14px,3vh,36px) auto 0}
.about-page .workspace-bottom{width:100%;flex:none;margin-top:auto;padding-top:clamp(18px,3vh,36px)}
@media(min-width:761px) and (max-width:1180px){.about-page .about-story{max-width:900px}.about-page .about-columns{gap:24px}.about-page .about-lead{font-size:clamp(26px,3vw,34px)}}
/* iPad comparison and ammo workspaces stay above the shared footer. */
.wardogs-ipad .weapon-compare-page,.wardogs-ipad .ammo-compare-page{height:100dvh;overflow:hidden}
.wardogs-ipad .weapon-compare-page main,.wardogs-ipad .ammo-compare-page .ammo-page{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100dvh - var(--nav-height));min-height:0;gap:5px;padding-top:7px;padding-bottom:5px}
.wardogs-ipad .weapon-compare-page .workspace-heading,.wardogs-ipad .ammo-compare-page .workspace-heading{flex:none;margin:0}
.wardogs-ipad .weapon-compare-page .workspace-bottom,.wardogs-ipad .ammo-compare-page .workspace-bottom{flex:none;min-height:20px;margin:0;padding:0}
.wardogs-ipad .weapon-compare-page .comparison{flex:1 1 auto;height:auto;min-height:0;grid-template-rows:minmax(0,1fr);overflow:hidden}
.wardogs-ipad .weapon-compare-page .weapon-head{height:100%;min-height:0;overflow:hidden}
.wardogs-ipad .weapon-compare-page .weapon-visual{flex-basis:clamp(90px,15dvh,150px);height:clamp(90px,15dvh,150px)}
.wardogs-ipad .ammo-compare-page .ttk-section,.wardogs-ipad .ammo-compare-page #ttk-results{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;margin:0;overflow:hidden}
.wardogs-ipad .ammo-compare-page .damage-results-stage{flex:1 1 auto;min-height:0;gap:0;align-items:stretch}
.wardogs-ipad .ammo-compare-page .damage-results-stage>.ammo-section:not([hidden]){display:flex;flex-direction:column;min-height:0;height:100%}
.wardogs-ipad .ammo-compare-page .damage-table{display:grid;grid-template-rows:auto repeat(2,minmax(0,1fr));min-height:0;height:100%}
.wardogs-ipad .ammo-compare-page .damage-controls{flex:none;margin-bottom:3px;padding:5px}
.wardogs-ipad .ammo-compare-page .damage-header{min-height:52px}
.wardogs-ipad .ammo-compare-page .damage-weapon-button{min-height:52px}
.wardogs-ipad .ammo-compare-page .damage-weapon-thumb{height:43px}
@media(max-width:640px){
 .ammo-compare-page .ammo-page{gap:2px;padding-top:3px;padding-bottom:3px}
 .ammo-compare-page .damage-controls{margin-bottom:0;padding:3px 5px}
 .ammo-compare-page .damage-header,.ammo-compare-page .damage-weapon-button{min-height:39px}
 .ammo-compare-page .damage-metric-labels span{min-height:31px}
 .ammo-compare-page .workspace-bottom{min-height:18px}
}
@media(min-width:720px){.meta-body .meta-result-topline{font-size:clamp(20px,2vw,28px)}}
@media(max-width:760px){
 .armory-nav .header-level-control{display:flex!important;justify-content:center;box-sizing:border-box;width:32px;height:32px;min-width:32px;padding:0}
 .armory-nav .header-level-control[hidden]{display:none!important}
 .armory-nav .header-level-control img{width:30px;height:30px;transform:none}
 .armory-nav .header-level-control span{display:none}
 .armory-nav .nav-actions{gap:3px}
 .xp-page .xp-earn{margin-bottom:clamp(8px,1.5dvh,14px)}
 .xp-page .xp-manifesto{min-height:clamp(145px,23dvh,195px)}
}
/* Fit the entire navigation menu without a scrolling panel. */
.navigation-panel{box-sizing:border-box;flex-direction:column;overflow:hidden;padding:clamp(10px,1.5dvh,18px) clamp(14px,2vw,22px)}
.navigation-panel[open]{display:flex}
.navigation-heading{flex:none;margin-bottom:clamp(5px,1dvh,11px)}
.navigation-heading h2{margin:0;font-size:14px}
.navigation-panel nav{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}
.navigation-panel nav>a{box-sizing:border-box;flex:none;min-height:clamp(27px,4.3dvh,38px);gap:10px;padding:3px 0;font-size:clamp(11px,1.4dvh,13px)}
.navigation-panel .nav-icon{width:18px;height:18px}
.project-links{flex:none;margin-top:clamp(4px,1dvh,9px)}
.project-links a{box-sizing:border-box;min-height:clamp(27px,4.1dvh,36px);padding:3px 0;font-size:12px}
.language-picker{flex:none;margin-top:clamp(4px,1dvh,9px);padding-top:clamp(4px,1dvh,9px)}
.language-options button{height:clamp(25px,3.5dvh,30px)}
.project-links a:first-child>span:last-child{color:var(--accent)}

/* Shared command navigation, sized for each viewport. */
.nav-command{display:none}
@media all{
 .navigation-panel{width:min(540px,calc(100vw - 24px));padding:19px 24px 21px;border-left:1px solid #41484c;background:#101315;box-shadow:-22px 0 60px #0009}
 .navigation-panel::backdrop{background:rgb(0 0 0 / 62%);animation:nav-command-dim .2s ease-out}
 .navigation-panel[open]{animation:nav-command-enter .24s cubic-bezier(.2,.8,.2,1)}
 .navigation-heading{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #30383c}
 .navigation-heading h2{color:#eff1f2;font:800 14px/1.2 Consolas,monospace;letter-spacing:.12em}
 .navigation-panel>nav{display:none}
 .navigation-panel .nav-command{display:flex;flex:1;min-height:0;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#434b4f transparent}
 .nav-command-user{display:grid;grid-template-columns:56px minmax(0,1fr) 18px;align-items:center;gap:13px;flex:none;min-height:110px;margin-bottom:10px;padding:12px 14px;border:1px solid #424c51;border-radius:8px;background:#181e21;color:#f2f3f3;text-decoration:none}
 .nav-command-user:hover,.nav-command-user:focus-visible{border-color:var(--accent);outline:none}
 .nav-command-avatar{display:grid;place-items:center;width:56px;height:56px;border:1px solid #555f64;border-radius:6px;color:var(--accent);background:#101518}
 .nav-command-avatar img{width:47px;height:47px;object-fit:contain}
 .nav-command-avatar svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.6}
 .nav-command-avatar .profile-initial{font:900 24px/1 Consolas,monospace}
 .nav-command-identity{display:flex;flex-direction:column;gap:4px;min-width:0}
 .nav-command-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);font:800 17px/1.1 Consolas,monospace}
 .nav-command-rank{color:#c7ccce;font:700 11px/1.2 Consolas,monospace;letter-spacing:.04em}
 .nav-command-xp{color:var(--accent);font:800 12px/1 Consolas,monospace}
 .nav-command-progress{display:block;height:5px;margin-top:2px;border-radius:3px;background:#343c40;overflow:hidden}
 .nav-command-progress>span{display:block;height:100%;background:var(--accent);box-shadow:0 0 8px rgb(var(--accent-rgb) / 0.50196)}
 .nav-command-remaining{color:#939da2;font:700 10px/1.1 Consolas,monospace}
 .nav-command-user.is-guest{min-height:75px}
 .nav-command-user.is-guest .nav-command-xp,.nav-command-user.is-guest .nav-command-progress,.nav-command-user.is-guest .nav-command-remaining{display:none}
 .nav-command-group{flex:none;margin:0 0 9px}
 .nav-command-group h3{margin:0 0 3px;padding:0 5px;color:#8e999e;font:800 10px/1.4 Consolas,monospace;letter-spacing:.17em}
 .nav-command-group>a{display:grid;grid-template-columns:25px minmax(0,1fr) 16px;align-items:center;gap:12px;min-height:45px;padding:5px 10px;border:1px solid transparent;border-radius:6px;color:#e5e9eb;text-decoration:none;transition:background .17s,border-color .17s,color .17s}
 .nav-command-group>a:hover,.nav-command-group>a:focus-visible{border-color:#59504a;background:#25201b;color:#fff;outline:none}
 .nav-command-group>a[aria-current=page]{border-color:var(--accent-tone-b75b14);background:#281d16;box-shadow:inset 3px 0 var(--accent)}
 .nav-command-group .nav-icon{width:21px;height:21px;color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.55;stroke-linejoin:round;stroke-linecap:round}
 .nav-command-symbol{display:grid;place-items:center;width:21px;height:21px;color:var(--accent);font:800 17px/1 Consolas,monospace}
 .nav-command-copy{display:flex;flex-direction:column;min-width:0;gap:2px}
 .nav-command-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 12px/1.1 Consolas,monospace;letter-spacing:.03em}
 .nav-command-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8f9a9f;font:500 11px/1.1 Arial,sans-serif}
 .nav-command-arrow{justify-self:end;color:#899398;font:400 22px/1 Arial,sans-serif;transition:transform .17s,color .17s}
 .nav-command-group>a:hover .nav-command-arrow,.nav-command-group>a:focus-visible .nav-command-arrow{transform:translateX(3px);color:var(--accent)}
 .nav-command-language{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:none;margin-top:auto;padding:12px 5px 0;border-top:1px solid #354045;color:#a9b1b5;font:800 10px/1 Consolas,monospace;letter-spacing:.14em}
 .nav-command-language .language-options{display:flex;gap:12px}
 .nav-command-language .language-options button{width:32px;height:28px}
}
@media(max-height:810px){.nav-command-user{min-height:88px;padding-block:8px}.nav-command-group{margin-bottom:5px}.nav-command-group>a{min-height:38px;padding-block:3px}}
@keyframes nav-command-enter{from{transform:translateX(28px);opacity:.92}to{transform:translateX(0);opacity:1}}
@keyframes nav-command-dim{from{background:rgb(0 0 0 / 0%)}to{background:rgb(0 0 0 / 62%)}}
@media(prefers-reduced-motion:reduce){.navigation-panel[open],.navigation-panel::backdrop{animation:none!important}.nav-command-arrow{transition:none!important}}
/* Keep the same hierarchy on touch screens, with density adapted to height. */
@media(max-width:1100px){
 .navigation-panel{width:min(460px,100vw);padding:clamp(10px,1.7dvh,18px) clamp(14px,3vw,22px)}
 .navigation-heading{margin-bottom:clamp(5px,1dvh,10px);padding-bottom:clamp(5px,1dvh,10px)}
 .nav-command-user{min-height:clamp(69px,11dvh,94px);margin-bottom:clamp(3px,.8dvh,9px);padding:8px 10px;grid-template-columns:48px minmax(0,1fr) 16px;gap:10px}
 .nav-command-avatar{width:48px;height:48px}
 .nav-command-avatar img{width:41px;height:41px}
 .nav-command-group{margin-bottom:clamp(2px,.65dvh,7px)}
 .nav-command-group h3{margin-bottom:1px}
 .nav-command-group>a{min-height:clamp(34px,5.5dvh,45px);padding:3px 8px;gap:9px}
 .nav-command-language{padding-top:clamp(6px,1dvh,12px)}
}
@media(max-width:640px){
 .navigation-panel{width:min(420px,100vw);padding-inline:14px}
 .nav-command-copy small{font-size:10px}
 .nav-command-name{font-size:15px}
 .nav-command-rank{font-size:10px}
}
@media(max-height:690px){
 .nav-command-user{min-height:66px;padding-block:5px}
 .nav-command-avatar{width:42px;height:42px}
 .nav-command-avatar img{width:36px;height:36px}
 .nav-command-group>a{min-height:32px;padding-block:2px}
 .nav-command-group{margin-bottom:2px}
 .nav-command-language{padding-top:5px}
}
.menu-toggle,.menu-close,.nav-command-language .language-options button{border-radius:8px}

/* Laptop-height desktop workspaces: reserve actual space for controls and results. */
@media (min-width:1101px) and (max-height:1100px){
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head{padding-bottom:8px}
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-visual{
  flex:1 1 0;
  min-height:130px;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-info{
  min-height:54px;
  padding:6px 0;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-detail{gap:3px}
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head .advantage{
  min-height:0;
  margin:0;
  padding:5px 0 6px;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head .advantage p{margin-top:5px}
 html:not(.wardogs-ipad) .weapon-compare-page .community-favorite{
  margin-top:2px;
  padding-top:5px;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-area{
  flex:0 0 auto;
  padding:6px 0 4px;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-slots{
  width:100%;
 }
 html:not(.wardogs-ipad) .ammo-compare-page .damage-header,
 html:not(.wardogs-ipad) .ammo-compare-page .damage-weapon-button{
  min-height:100px;
 }
 html:not(.wardogs-ipad) .ammo-compare-page .damage-weapon-button .damage-weapon-thumb{
  height:70px;
 }
 html:not(.wardogs-ipad) .ammo-compare-page .damage-value{
  min-height:38px;
  padding:6px 12px;
 }
 html:not(.wardogs-ipad) .ammo-compare-page .damage-metric-labels span{
  min-height:38px;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result{
  grid-template-rows:auto minmax(0,1fr);
  row-gap:10px;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result-topline{grid-row:1}
 html:not(.wardogs-ipad) .meta-body .meta-weapon-image-wrap,
 html:not(.wardogs-ipad) .meta-body .meta-info-stack{grid-row:2}
}

/* Desktop Meta result: the match sits above the rifle, level with its name. */
@media (min-width:1101px){
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty){
  grid-template-rows:auto minmax(0,1fr);
  row-gap:10px;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-result-topline{
  grid-column:1;
  grid-row:1;
  align-self:start;
  justify-content:center;
  margin:0;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-weapon-image-wrap{
  grid-column:1;
  grid-row:2;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-info-stack{
  grid-column:2;
  grid-row:1 / 3;
  justify-content:flex-start;
 }
}

/* iPad Compare: share spare height between the weapon card sections. */
.wardogs-ipad .weapon-compare-page .weapon-head{justify-content:space-between}
.wardogs-ipad .weapon-compare-page .weapon-visual{
 flex:0 1 clamp(90px,15dvh,150px);
 min-height:clamp(90px,15dvh,150px);
}
.wardogs-ipad .weapon-compare-page .community-favorite{margin-top:0}
.wardogs-ipad .weapon-compare-page .weapon-head{row-gap:4px}
.wardogs-ipad .weapon-compare-page .weapon-head .advantage{
 flex:0 0 auto;
 min-height:96px;
 margin:0;
 padding:6px 0;
 justify-content:center;
}

/* Give the equipped attachment effects the remaining card height. */
@media (min-width:761px){
 .weapon-compare-page .compare-attachment-area{
  flex:1 1 auto;
  min-height:120px;
  align-items:center;
  padding:10px 0;
 }
 .weapon-compare-page .compare-attachment-slots{width:100%}
}
@media (min-width:1101px) and (max-height:1100px){
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-visual{
  flex:0 1 clamp(130px,21dvh,230px);
  height:clamp(130px,21dvh,230px);
 }
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-area{
  flex:1 1 auto;
 }
}
@media (min-width:761px){
 .wardogs-ipad .weapon-compare-page .compare-attachment-area{
  flex:1 1 auto;
  min-height:120px;
  margin:0;
  padding:8px 0;
  align-items:center;
 }
}

/* Meta result: one compact stock-weapon fact sheet beside the artwork. */
@media (min-width:720px){
 .meta-body .meta-result:not(.is-empty){
  grid-template-columns:minmax(0,48fr) minmax(0,52fr);
  grid-template-rows:auto minmax(0,1fr);
  column-gap:clamp(14px,2.2vw,36px);
  row-gap:8px;
 }
 .meta-body .meta-result:not(.is-empty) .meta-result-topline{
  grid-column:1/-1;
  grid-row:1;
  justify-content:center;
 }
 .meta-body .meta-result:not(.is-empty) .meta-weapon-image-wrap{
  grid-column:1;
  grid-row:2;
 }
 .meta-body .meta-result:not(.is-empty) .meta-info-stack{
  grid-column:2;
  grid-row:2;
  justify-content:center;
  gap:5px;
 }
 .meta-body .meta-result:not(.is-empty) .meta-stat-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  width:100%;
 }
 .meta-body .meta-result:not(.is-empty) .meta-stat{box-sizing:border-box;min-height:48px;padding:5px 8px}
 .meta-body .meta-result:not(.is-empty) .meta-stat > span{
  white-space:normal;
  line-height:1.15;
  font-size:clamp(9px,.65vw,11px);
 }
 .meta-body .meta-result:not(.is-empty) .meta-stat strong{font-size:clamp(14px,1.15vw,19px)}
 .meta-body .meta-result:not(.is-empty) .meta-weapon-title h2{font-size:clamp(30px,3.5vw,56px)}
 .meta-body .meta-result:not(.is-empty) .meta-summary{margin:0;font-size:clamp(11px,.85vw,14px)}
 .meta-body .meta-result:not(.is-empty) .meta-runner-up{margin:3px 0 0}
 .meta-body .meta-result:not(.is-empty) .meta-lab-link{margin:3px 0 0}
}
@media (max-width:719px){
 .meta-body .meta-result:not(.is-empty){grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(60px,1fr) auto;row-gap:4px}
 .meta-body .meta-result:not(.is-empty) .meta-result-topline{grid-column:1;grid-row:1}
 .meta-body .meta-result:not(.is-empty) .meta-weapon-image-wrap{grid-column:1;grid-row:2}
 .meta-body .meta-result:not(.is-empty) .meta-info-stack{grid-column:1;grid-row:3;gap:3px}
 .meta-body .meta-result:not(.is-empty) .meta-weapon-title h2{font-size:clamp(24px,6vw,34px)}
 .meta-body .meta-result:not(.is-empty) .meta-weapon-title p{font-size:10px}
 .meta-body .meta-result:not(.is-empty) .meta-summary{font-size:10px}
 .meta-body .meta-result:not(.is-empty) .meta-stat-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
 .meta-body .meta-result:not(.is-empty) .meta-stat{box-sizing:border-box;min-height:38px;padding:3px 5px;text-align:left}
 .meta-body .meta-result:not(.is-empty) .meta-stat > span{white-space:normal;font-size:8px;line-height:1.1}
 .meta-body .meta-result:not(.is-empty) .meta-stat strong{margin-top:2px;font-size:12px}
 .meta-body .meta-result:not(.is-empty) .meta-runner-up{font-size:8px}
}

/* Meta desktop: recommendation and rifle artwork on the left, fact sheet on the right. */
.meta-body .meta-result:not(.is-empty) .meta-result-topline{
 display:flex;
 align-items:center;
 justify-content:center;
 flex-wrap:nowrap;
 gap:clamp(10px,1.2vw,20px);
 width:100%;
 margin:0;
 text-align:center;
 font:700 clamp(18px,2vw,32px)/1 var(--title);
 letter-spacing:.045em;
 color:#eef1f4;
}
.meta-body .meta-result:not(.is-empty) .meta-result-topline > span{white-space:nowrap}
.meta-body .meta-result:not(.is-empty) .meta-result-topline strong{
 display:inline-flex;
 align-items:center;
 gap:8px;
 margin:0;
 padding:6px clamp(9px,1.25vw,18px);
 border:1px solid var(--accent);
 color:#e6e9ec;
 font:400 clamp(17px,1.8vw,29px)/1 var(--title);
 letter-spacing:.025em;
 white-space:nowrap;
}
.meta-body .meta-result:not(.is-empty) .meta-score-value{color:var(--accent)}
@media (min-width:1101px){
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty){
  grid-template-columns:minmax(0,60fr) minmax(0,40fr);
  grid-template-rows:auto minmax(0,1fr);
  column-gap:0;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-result-topline{
  grid-column:1;grid-row:1;
  padding:10px 20px 0 0;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-weapon-image-wrap{
  grid-column:1;grid-row:2;
  min-height:0;
  width:calc(100% - clamp(38px,4vw,64px));
  margin-right:clamp(38px,4vw,64px);
 }
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-info-stack{
  grid-column:2;grid-row:1/3;
  align-self:stretch;
  border-left:1px solid #3b3e42;
  padding:4px 0 4px clamp(16px,2vw,30px);
  justify-content:center;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-weapon-title h2{
  font-size:clamp(43px,3.6vw,66px);
 }
}
@media (min-width:1101px) and (max-height:1100px){
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty){padding-top:10px;padding-bottom:10px}
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-weapon-title h2{font-size:clamp(34px,2.65vw,49px);line-height:1.08}
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-info-stack{gap:4px;padding-top:12px;padding-bottom:12px}
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-stat{min-height:42px;padding:4px 7px}
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-stat-list{gap:4px}
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-lab-link{margin-top:5px}
}
@media (min-width:720px){
 .wardogs-ipad .meta-body .meta-result:not(.is-empty){grid-template-rows:auto minmax(0,1fr)}
 .wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-result-topline{grid-column:1;grid-row:1;justify-content:center;gap:8px;font-size:clamp(15px,1.7vw,22px)}
 .wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-result-topline strong{font-size:clamp(14px,1.65vw,20px);padding:4px 7px}
 .wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-weapon-image-wrap{grid-column:1;grid-row:2}
 .wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-info-stack{grid-column:2;grid-row:1/3;justify-content:flex-start;padding-top:2px}
 .wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-weapon-title h2{font-size:clamp(30px,3vw,43px)}
}
@media (min-width:720px) and (max-width:1100px){
 .meta-body .meta-result:not(.is-empty) .meta-result-topline{gap:12px}
 .meta-body .meta-result:not(.is-empty) .meta-result-topline > span{font-size:clamp(18px,2vw,24px)}
}
@media (max-width:719px){
 .meta-body .meta-result:not(.is-empty) .meta-result-topline{font-size:clamp(14px,4vw,19px);gap:7px;letter-spacing:.025em}
 .meta-body .meta-result:not(.is-empty) .meta-result-topline strong{font-size:clamp(14px,3.8vw,18px);padding:4px 7px;gap:4px}
}

/* Let the Meta fact sheet use its available height without changing the panel. */
.meta-body .meta-result:not(.is-empty) .meta-stat > span{color:var(--accent)}
@media (min-width:1101px) and (min-height:1101px){
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-info-stack{
  justify-content:space-around;
  padding-top:12px;
  padding-bottom:12px;
 }
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-stat-list{row-gap:17px}
}
@media (min-width:720px){
 .wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-info-stack{
  justify-content:space-between;
  padding-top:10px;
  padding-bottom:10px;
 }
 .wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-stat-list{row-gap:8px}
}

/* The saved level filter is visible wherever the signed-in LEVELS control appears. */
.armory-nav .header-level-control{height:38px}
.armory-nav .header-level-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.armory-nav .header-level-status{display:block;color:#92989b;font:700 8px/1 var(--mono);letter-spacing:.03em}
.armory-nav .header-level-status b{color:#ff0000;text-shadow:0 0 5px #ff0000,0 0 11px #ff000099;font:800 9px/1 var(--mono)}
.armory-nav .header-level-status[data-on="true"] b{color:#52ff78;text-shadow:0 0 5px #52ff78,0 0 11px #52ff7899}
@media(max-width:760px){
 .armory-nav .header-level-control{width:34px;height:40px;min-width:34px;flex-direction:column;gap:0}
 .armory-nav .header-level-control img{width:26px;height:26px}
 .armory-nav .header-level-control .header-level-copy{display:flex;align-items:center;gap:0}
 .armory-nav .header-level-control .header-level-copy>span,
 .armory-nav .header-level-control .header-level-status>span{display:none}
 .armory-nav .header-level-control .header-level-status{display:block;font-size:8px}
 .armory-nav .header-level-control .header-level-status b{font-size:8px}
}
/* Shared corner treatment for the site's bordered surfaces. */
:root{--surface-radius:8px}
.weapon-compare-page .comparison,.ammo-section,.ammo-compare-page .damage-controls,.damage-controls,.meta-controls,.meta-choice,.meta-result,.meta-stat,.quick-card,.vote-card,.vote-card-placeholder,.info-card,.navigation-panel,.weapon-picker-menu,.sticky-picker-menu,.profile-hover-hint,.compare-save-dialog,.notice{border-radius:var(--surface-radius)}
.weapon-head .advantage-chip,.meta-home-link,.meta-lab-link,.weapon-lab-action,.ammo-controls button,.compare-save-buttons button,#compare-build-name,#compare-build-note{border-radius:4px}
/* Weapon Compare attachment tiles and the attachment selection surface. */
.weapon-compare-page .compare-attachment-slot,.compare-attachment-picker,.compare-build-picker{border-radius:8px}
.compare-attachment-picker input,.compare-attachment-option{border-radius:4px}
.header-level-control.is-opening::after{content:'';width:14px;height:14px;flex:none;box-sizing:border-box;border:2px solid rgb(var(--accent-rgb) / 0.25098);border-top-color:var(--accent);border-radius:50%;box-shadow:0 0 9px rgb(var(--accent-rgb) / 0.43922);animation:levels-header-spin .8s linear infinite}
@keyframes levels-header-spin{to{transform:rotate(360deg)}}
/* One-versus-one community voting. */
.vote-page .battle-section,.vote-page .battle-ranking{border:1px solid #30383d;border-radius:8px;background:#101416;padding:clamp(14px,2vw,26px);text-align:center}
.vote-page .battle-section h2,.vote-page .battle-ranking h2{margin:0;color:#f4f4f2;font:400 clamp(22px,2.4vw,32px)/1.1 var(--title);letter-spacing:.05em}
.vote-page .battle-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:18px auto 21px}
.vote-page .battle-tab{border:1px solid #454d52;border-radius:4px;background:#171b1e;color:#b9c0c4;padding:9px 13px;font:700 11px/1 var(--mono);letter-spacing:.04em;cursor:pointer}
.vote-page .battle-tab:hover,.vote-page .battle-tab:focus-visible,.vote-page .battle-tab[aria-selected=true]{border-color:var(--accent);color:var(--accent);outline:none}
.vote-page .battle-tab[aria-selected=true]{background:#261b14}
.vote-page .battle-arena{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);align-items:center;gap:14px}
.vote-page .battle-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:255px;padding:15px;border:1px solid #3b454a;border-radius:8px;background:#151a1d;color:#f5f5f3;cursor:pointer;transition:border-color .16s,box-shadow .16s,background .16s,opacity .16s}
.vote-page .battle-card:hover:not(:disabled):not(.battle-hover-suppressed),.vote-page .battle-card:focus-visible:not(:disabled){border-color:var(--accent);background:#1c2022;box-shadow:0 0 16px rgb(var(--accent-rgb) / 0.21961);outline:none}
.vote-page .battle-arena{position:relative}
.vote-page .battle-vote-flash{position:absolute;z-index:2;box-sizing:border-box;pointer-events:none;border-color:var(--accent);background:#1c2022;box-shadow:0 0 16px rgb(var(--accent-rgb) / 0.21961);animation:battle-vote-flash .24s ease-out forwards}
@keyframes battle-vote-flash{0%,38%{opacity:1}100%{opacity:0}}
@media(hover:none){.vote-page .battle-card:hover:not(:disabled){border-color:#3b454a;background:#151a1d;box-shadow:none}}
.vote-page .battle-card:disabled{cursor:default}
.vote-page .battle-card img{display:block;width:100%;max-width:520px;height:190px;object-fit:contain}
.vote-page .battle-card img{filter:brightness(1.17) contrast(1.06)}
.vote-page .battle-card strong{font:400 clamp(21px,2.4vw,32px)/1 var(--title);letter-spacing:.04em}
.vote-page .battle-weapon-details{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:31px;max-width:100%;font:700 10px/1.25 var(--mono);letter-spacing:.025em}
.vote-page .battle-weapon-caliber{color:var(--accent);font:inherit}
.vote-page .battle-weapon-note{color:#aeb5b8;font:inherit;overflow-wrap:anywhere}
.vote-page .battle-versus{color:var(--accent);font:400 29px/1 var(--title)}
.vote-page .battle-status{min-height:16px;margin:12px 0 0;color:var(--accent);font:700 10px/1.4 var(--mono);letter-spacing:.1em}
.vote-page .battle-status:empty{display:none}
.vote-page .battle-arena.is-transitioning .battle-card{opacity:.55}
.vote-page .battle-ranking{margin-top:20px;text-align:left}
.vote-page .battle-ranking h2{text-align:center}
.vote-page .battle-ranking-explain{position:relative;display:inline-block;border:0;padding:0 0 8px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;cursor:help}
.vote-page .battle-ranking-explain::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:radial-gradient(circle,var(--accent) 1.2px,transparent 1.5px) left center/7px 3px repeat-x}
.vote-page .battle-ranking-explain:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.vote-page .battle-ranking-tooltip{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,-4px);z-index:10;box-sizing:border-box;width:min(330px,calc(100vw - 48px));padding:12px 14px;border:1px solid #4b5357;border-radius:8px;background:#171b1d;box-shadow:0 10px 25px #0009;color:#c8cdd0;font:12px/1.45 var(--mono);letter-spacing:normal;text-align:left;text-decoration:none;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s}
.vote-page .battle-ranking-explain:is(:hover,:focus-visible,[aria-expanded=true]) .battle-ranking-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.vote-page .battle-ranking h3{margin:16px 0 9px;color:var(--accent);font:700 12px var(--mono);letter-spacing:.12em}
.vote-page .battle-ranking ol{margin:0;padding:0;list-style:none;counter-reset:rank}
.vote-page .battle-ranking li{counter-increment:rank;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 4px;border-top:1px solid #293135}
.vote-page .battle-ranking li::before{content:counter(rank) '.';color:#888f93;font:700 14px var(--mono)}
.vote-page .battle-ranking li span{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 13px;min-width:0}
.vote-page .battle-ranking li strong{color:#edf0f1;font:700 15px var(--mono)}
.vote-page .battle-ranking li small{color:#8f989e;font:700 12px var(--mono)}
.vote-page .battle-ranking li small span{display:inline;min-width:auto}
.vote-page .battle-ranking li small em{color:var(--accent);font-style:normal;font-variant-numeric:tabular-nums}
.vote-page .battle-ranking li b{color:var(--accent);font:700 19px var(--mono);font-variant-numeric:tabular-nums}
.nav-online{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font:700 10px/1 var(--mono);letter-spacing:.035em}
.nav-online[hidden]{display:none!important}
.nav-online-dot{width:5px;height:5px;flex:none;border-radius:50%;background:#62b979;box-shadow:0 0 5px 1px #62b97980}
.nav-online-number{color:#f1f3f4;font:700 10px/1 var(--mono);font-variant-numeric:tabular-nums}
.nav-online-label{color:#858c91}
.nav-online-header{margin-left:1px}
.nav-online-menu{display:none}
.nav-online-footer{display:none}
@media(max-width:1100px){.armory-nav .nav-online-header{display:none!important}.navigation-heading .nav-online-menu:not([hidden]){display:inline-flex;margin-left:auto;margin-right:8px}}
.wardogs-ipad .armory-nav .nav-online-header:not([hidden]){display:inline-flex!important}
.wardogs-ipad .navigation-heading .nav-online-menu{display:none!important}
@media(max-width:740px){.armory-nav .nav-online-header{display:none!important}.navigation-heading .nav-online-menu{display:none!important}.site-footer-enhanced .nav-online-footer:not([hidden]){display:inline-flex}}
@media(max-width:640px){.vote-page .battle-section,.vote-page .battle-ranking{padding:12px}.vote-page .battle-tabs{gap:5px;margin:12px auto}.vote-page .battle-tab{padding:8px;font-size:9px}.vote-page .battle-arena{grid-template-columns:minmax(0,1fr);gap:7px}.vote-page .battle-card{min-height:155px;padding:9px;gap:3px}.vote-page .battle-card img{height:116px}.vote-page .battle-card strong{font-size:21px}.vote-page .battle-versus{font-size:20px}.vote-page .battle-ranking li strong{font-size:12px}.vote-page .battle-ranking li small{font-size:10px}.vote-page .battle-ranking li b{font-size:17px}}
@media(max-width:640px){.vote-page .battle-weapon-details{font-size:9px;min-height:27px;gap:2px}}
@media(max-width:640px){.vote-page #battle-title{font-size:clamp(9px,2.55vw,13px);letter-spacing:0;white-space:nowrap}}
/* The mobile winner arrows sit against the outside edges of the metric column. */
@media(max-width:640px){
 .weapon-compare-page .stat-label[data-winner=left]::before{left:-6px}
 .weapon-compare-page .stat-label[data-winner=right]::after{right:-6px}
 .weapon-compare-page .stat-left{padding-right:14px}
 .weapon-compare-page .stat-right{padding-left:14px}
}

/* Compact compare slots: mobile keeps the category and image, while the picker shows the full name. */
@media(max-width:640px){.weapon-compare-page .compare-attachment-slot .compare-slot-copy strong{display:none}}

/* The winning arrow must paint above the right value cell on narrow screens. */
@media(max-width:640px){
 .weapon-compare-page #stat-rows .stat-label[data-winner]{z-index:1}
 .weapon-compare-page #stat-rows .stat-label[data-winner=left]::before{left:-6px}
 .weapon-compare-page #stat-rows .stat-label[data-winner=right]::after{right:-6px}
}

/* An empty attachment tile already communicates that it can be opened. */
@media(min-width:761px){
 .weapon-compare-page .compare-attachment-slot:not(.is-equipped):not(.is-unavailable) .compare-slot-copy strong{display:none}
}

/* Phone loadout fills its section before the action row. */
@media(max-width:640px){
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-area{
  flex:1 1 auto;
  min-height:96px;
  margin-top:6px;
  border-top:0;
 }
}

/* Phone: the section rule reaches the card edges, while the loadout sits centrally below it. */
@media(max-width:640px){
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-area{
  border-top:0;
  margin-top:6px;
  padding:24px 0 0;
  align-items:center;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-area::before{
  content:'';
  position:absolute;
  top:0;
  left:-6px;
  right:-6px;
  height:1px;
  background:#292d30;
  pointer-events:none;
 }
 .weapon-compare-page .compare-slot-effects{padding-top:7px}
}

/* Phone comparison: center the visible loadout with equal breathing room above and below. */
@media(max-width:640px){
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-area{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
  min-height:112px;
  margin-top:6px;
  padding:14px 0;
 }
 .weapon-compare-page .compare-attachment-slots{
  flex:none;
  width:100%;
  height:max-content;
  margin:0;
 }
 .weapon-compare-page .compare-slot-effects{min-height:0;padding-top:10px}
 .weapon-compare-page .compare-slot-effects:empty,
 .weapon-compare-page .compare-slot-effects:has(.compare-no-effects){display:none}

}

/* Actions sit below each weapon's attachments, before the comparison data. */
@media(min-width:1101px){.weapon-compare-page .comparison{grid-template-rows:minmax(0,1fr)}}
.wardogs-ipad .weapon-compare-page .comparison{grid-template-rows:minmax(0,1fr)}
.weapon-compare-page .weapon-head .community-favorite button,
.weapon-compare-page .weapon-head .community-favorite .weapon-lab-action{border-radius:8px}
@media(max-width:640px){
 .weapon-compare-page .comparison{grid-template-rows:auto minmax(0,1fr)}
 .weapon-compare-page #stat-rows{border-bottom:1px solid #292d30}
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head .community-favorite{
  position:relative;
  flex:none;
  margin:0;
  padding:7px 0 4px;
  gap:3px;
  border-top:0;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head .community-favorite::before{
  content:'';
  position:absolute;
  top:0;
  left:-6px;
  right:-6px;
  height:1px;
  background:#292d30;
  pointer-events:none;
 }
 .weapon-compare-page .weapon-head .community-favorite button,
 .weapon-compare-page .weapon-head .community-favorite .weapon-lab-action{
  flex:1 1 0;
  width:0;
  height:21px;
  min-height:21px;
  padding:1px 2px;
  line-height:1;
 }
}

/* Phone: close the frame and center each section between full-width rules. */
@media(max-width:640px){
 html:not(.wardogs-ipad) .weapon-compare-page .comparison{
  border-bottom:1px solid #292d30;
  box-shadow:inset 0 -1px #292d30;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head{padding-bottom:0}
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head .advantage{
  position:relative;
  flex:none;
  margin-top:3px;
  padding:6px 0;
  justify-content:center;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head .community-favorite{
  min-height:31px;
  padding:5px 0;
  align-items:center;
  box-sizing:border-box;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-area{
  flex:0 0 auto;
  min-height:0;
  margin-top:3px;
  padding:8px 0;
 }
 html:not(.wardogs-ipad) .weapon-compare-page .compare-slot-effects{padding-top:6px}
}

/* Wide Compare: each attachment and its existing modifiers share one tile. */
@media(min-width:761px){
 .weapon-compare-page .compare-attachment-area,
 .wardogs-ipad .weapon-compare-page .compare-attachment-area{
  flex:0 0 auto;
  min-height:0;
  margin:0;
  padding:7px 0 9px;
  align-items:stretch;
 }
 .weapon-compare-page .compare-attachment-slots{
  align-items:stretch;
  gap:7px;
 }
 .weapon-compare-page .compare-attachment-cell{
  min-height:152px;
  box-sizing:border-box;
  padding:6px 7px 8px;
  border:1px solid #3b4044;
  border-radius:8px;
  background:#171a1c;
  transition:border-color .18s,background .18s;
 }
 .weapon-compare-page .compare-attachment-cell:has(.compare-attachment-slot:not(:disabled)):hover,
 .weapon-compare-page .compare-attachment-cell:focus-within{
  border-color:var(--accent);
 }
 .weapon-compare-page .compare-attachment-cell .compare-attachment-slot{
  flex:0 0 auto;
  min-height:70px;
  padding:2px 0 7px;
  border:0;
  border-radius:0;
  background:transparent;
 }
 .weapon-compare-page .compare-attachment-cell .compare-attachment-slot:hover,
 .weapon-compare-page .compare-attachment-cell .compare-attachment-slot:focus-visible{
  border:0;
 }
 .weapon-compare-page .compare-attachment-cell .compare-slot-visual{height:35px}
 .weapon-compare-page .compare-attachment-cell .compare-slot-visual img{max-height:34px}
 .weapon-compare-page .compare-attachment-cell .compare-slot-copy small{font-size:.55rem}
 .weapon-compare-page .compare-attachment-cell .compare-slot-copy strong{margin-top:3px;font-size:.53rem}
 .weapon-compare-page .compare-attachment-cell .compare-slot-effects,
 .wardogs-ipad .weapon-compare-page .compare-attachment-cell .compare-slot-effects{
  flex:1 1 auto;
  min-height:0;
  gap:5px;
  padding:9px 0 0;
  border-top:1px solid #3b4044;
 }
 .weapon-compare-page .compare-attachment-cell .compare-slot-effect{font-size:11px;line-height:1.3}
 .weapon-compare-page .compare-attachment-cell .compare-effect-value{font-size:12px}
 .weapon-compare-page .compare-attachment-cell .compare-no-effects{font-size:10px}
 .weapon-compare-page .weapon-head .community-favorite,
 .wardogs-ipad .weapon-compare-page .weapon-head .community-favorite{
  margin-top:0;
  padding-top:8px;
 }
}
@media(min-width:761px) and (max-width:1100px){
 .weapon-compare-page .compare-attachment-slots{gap:5px}
 .weapon-compare-page .compare-attachment-cell{min-height:143px;padding:5px 4px 7px}
 .weapon-compare-page .compare-attachment-cell .compare-attachment-slot{min-height:66px}
 .weapon-compare-page .compare-attachment-cell .compare-slot-effects{gap:4px}
 .weapon-compare-page .compare-attachment-cell .compare-slot-effect{font-size:8.5px;letter-spacing:-.035em}
 .weapon-compare-page .compare-attachment-cell .compare-effect-value{font-size:9.5px}
 .weapon-compare-page .compare-attachment-cell .compare-no-effects{font-size:8.5px}
}

/* Keep Safari viewport and overscroll on the same opaque site canvas. */
html{background-color:var(--surface-page)}

/* Touch attachment selector: dedicated single-line names and separate data rows. */
@media(max-width:760px){
.compare-attachment-picker{width:min(680px,calc(100vw - 24px));padding:14px}
.compare-attachment-option{box-sizing:border-box;display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px 12px;align-items:center;padding:12px}
.compare-attachment-option .compare-option-copy{display:contents}
.compare-attachment-option .compare-option-copy>strong{grid-column:1 / -1;grid-row:1;display:block;min-width:0;max-width:100%;margin:0;font-size:14px;line-height:1.5;white-space:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#62686c #24292c}
.compare-attachment-option .compare-option-visual{grid-column:1;grid-row:2;width:46px;height:46px}
.compare-attachment-option .compare-option-copy>small{grid-column:2;grid-row:2;margin:0;font-size:12px;line-height:1.5}
.compare-attachment-option .compare-option-effects{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;justify-content:start;width:100%;max-width:none;margin:0;padding-top:10px;border-top:1px solid #30363b}
.compare-attachment-option .compare-option-effect{gap:4px;min-width:0}
.compare-attachment-option .compare-option-effect small{margin:0;font-size:10px;line-height:1.3}
.compare-attachment-option .compare-option-effect strong{font-size:13px;line-height:1.4}
}

/* Remove only the rule between the weapon artwork and its facts on desktop and iPad. */
@media(min-width:761px){.weapon-compare-page .weapon-info{border-top:0}}
.wardogs-ipad .weapon-compare-page .weapon-info{border-top:0}

.weapon-compare-page .compare-slot-effects:empty{display:none}

/* Desktop Compare: give the attachment tiles and actions their own vertical space. */
@media(min-width:1101px){
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-visual{min-height:85px}
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-area{flex:0 0 auto;padding:6px 0 8px}
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-cell .compare-slot-effects{flex:0 0 auto;gap:1px;padding-top:6px}
 html:not(.wardogs-ipad) .weapon-compare-page .compare-attachment-cell .compare-slot-effect{line-height:1.1}
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head .community-favorite{flex:0 0 auto;margin-top:3px}
}

/* Phone attachment list: compact data without shrinking the part name. */
@media(max-width:640px){
 html:not(.wardogs-ipad) .compare-attachment-option{grid-template-columns:32px minmax(0,1fr);gap:5px 9px;padding:7px 9px;min-height:0}
 html:not(.wardogs-ipad) .compare-attachment-option .compare-option-copy>strong{font-size:14px;line-height:1.3}
 html:not(.wardogs-ipad) .compare-attachment-option .compare-option-visual{width:32px;height:32px}
 html:not(.wardogs-ipad) .compare-attachment-option .compare-option-visual img{max-width:30px;max-height:30px}
 html:not(.wardogs-ipad) .compare-attachment-option .compare-option-copy>small{font-size:11px;line-height:1.25}
 html:not(.wardogs-ipad) .compare-attachment-option .compare-option-effects{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 7px;padding-top:5px}
 html:not(.wardogs-ipad) .compare-attachment-option .compare-option-effect{gap:2px}
 html:not(.wardogs-ipad) .compare-attachment-option .compare-option-effect small{font-size:9px;line-height:1.1}
 html:not(.wardogs-ipad) .compare-attachment-option .compare-option-effect strong{font-size:12px;line-height:1.15}
}

/* Reserve the existing heading space while removing both slogan panels. */
.section-heading .section-cta{visibility:hidden;pointer-events:none}

/* WEAPONS invariant: the title occupies the same coordinates in all four tools. */
:is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body){--weapons-heading-top:20px;--weapons-heading-height:50px;--weapons-heading-size:clamp(22.5px,3vw,39px)}
:is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) main{padding-top:var(--weapons-heading-top)!important}
:is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) .section-heading{height:var(--weapons-heading-height)!important;min-height:var(--weapons-heading-height)!important;flex:none!important;margin:0!important;padding:0!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;align-items:center!important}
:is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) .section-heading h1{grid-column:1 / -1!important;grid-row:1!important;justify-self:center!important;align-self:center!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;font-size:var(--weapons-heading-size)!important;line-height:1!important;text-align:center!important}
@media(max-width:760px){
 :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body){--weapons-heading-top:8px;--weapons-heading-height:30px;--weapons-heading-size:24px}
 :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) .section-heading .section-cta{display:none!important}
 :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) .section-heading{grid-template-columns:1fr!important;gap:0!important}
}

:is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) .section-heading .section-cta{display:none!important}

/* iPad uses the desktop attachment row, scaled to the tablet dialog. */
.wardogs-ipad .compare-attachment-picker{width:min(680px,calc(100vw - 32px));padding:22px}
.wardogs-ipad .compare-attachment-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 10px}
.wardogs-ipad .compare-attachment-option .compare-option-copy{display:block;flex:1;min-width:0}
.wardogs-ipad .compare-attachment-option .compare-option-copy>strong{font-size:14px;line-height:1.4;white-space:nowrap;overflow-x:auto}
.wardogs-ipad .compare-attachment-option .compare-option-copy>small{margin-top:5px;font-size:12px;line-height:1.4}
.wardogs-ipad .compare-attachment-option .compare-option-visual{width:46px;height:46px}
.wardogs-ipad .compare-attachment-option .compare-option-visual img{max-width:44px;max-height:44px}
.wardogs-ipad .compare-attachment-option .compare-option-effects{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 12px;width:fit-content;max-width:310px;margin-left:auto;padding:0;border:0;flex:none}
.wardogs-ipad .compare-attachment-option .compare-option-effect{gap:4px}
.wardogs-ipad .compare-attachment-option .compare-option-effect small{margin:0;font-size:9px;line-height:normal}
.wardogs-ipad .compare-attachment-option .compare-option-effect strong{font-size:12px;line-height:normal}

/* iPad: equal space from the masthead to the title and from the title to the working panel. */
.wardogs-ipad :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body){--weapons-heading-top:8px}
.wardogs-ipad :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) main{row-gap:8px!important}
.wardogs-ipad .compare-attachment-option .compare-option-copy>small{font-size:11px}
.wardogs-ipad .compare-attachment-option .compare-option-effect small{font-size:8px}
.wardogs-ipad .compare-attachment-option .compare-option-effect strong{font-size:11px}

/* iPad picker values retain breathing room at the right edge. */
.wardogs-ipad .compare-attachment-option .compare-option-copy>small{font-size:10px}
.wardogs-ipad .compare-attachment-option .compare-option-effect small{font-size:7px}
.wardogs-ipad .compare-attachment-option .compare-option-effect strong{font-size:10px}
.wardogs-ipad .compare-attachment-option .compare-option-effects{box-sizing:border-box;padding-right:4px}
.wardogs-ipad .weapon-compare-page .compare-attachment-cell .compare-slot-effects{padding-right:3px}
.wardogs-ipad .weapon-compare-page .compare-attachment-cell .compare-slot-effect{font-size:10px}
.wardogs-ipad .weapon-compare-page .compare-attachment-cell .compare-effect-value{font-size:11px}
@media(max-width:1100px){
 .wardogs-ipad .weapon-compare-page .compare-attachment-cell .compare-slot-effect{font-size:7.5px}
 .wardogs-ipad .weapon-compare-page .compare-attachment-cell .compare-effect-value{font-size:8.5px}
}

/* Every iPad page shares one footer anchored to the viewport. */
.wardogs-ipad .ipad-site-footer{position:fixed!important;inset:auto 0 0!important;z-index:40;display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;height:calc(28px + env(safe-area-inset-bottom,0px))!important;min-height:28px!important;margin:0!important;padding:0 28px env(safe-area-inset-bottom,0px)!important;gap:12px!important;border:0!important;border-radius:0!important;background:var(--surface-page)!important;color:#818990!important;font:400 11px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;text-align:left!important}
.wardogs-ipad .ipad-site-footer a{font:400 11px/1.5 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;color:#b8bec3;text-decoration:none;white-space:nowrap}
.wardogs-ipad body>main{padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))!important}

/* iPad Compare: reclaim padding before the action row rather than clipping its buttons. */
.wardogs-ipad .weapon-compare-page .weapon-head{justify-content:flex-start;row-gap:2px}
.wardogs-ipad .weapon-compare-page .weapon-info{padding-bottom:5px}
.wardogs-ipad .weapon-compare-page .weapon-head .advantage{min-height:0;padding:4px 0;margin:0}
.wardogs-ipad .weapon-compare-page .compare-attachment-area{flex:0 0 auto;min-height:0;padding:4px 0 5px}
.wardogs-ipad .weapon-compare-page .weapon-head .community-favorite{flex:0 0 auto;margin-top:auto;padding-top:5px}

/* Header title trial: no change to masthead height, phone headings remain in the page. */
.armory-nav .nav-online-header,.wardogs-ipad .armory-nav .nav-online-header:not([hidden]),.navigation-heading .nav-online-menu:not([hidden]){display:none!important}
.nav-active-title{display:none}
@media(min-width:761px){
 .nav-active-title{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:34vw;margin:0;padding:0;color:#f5f5f3;font:400 clamp(16px,1.65vw,22px)/1 var(--title);letter-spacing:.04em;text-align:center;white-space:nowrap}
 .nav-active-title span{color:var(--accent)}
 .header-title-source{display:none!important}
 :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) .section-heading{display:none!important}
}
.wardogs-ipad .nav-active-title{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:34vw;margin:0;padding:0;color:#f5f5f3;font:400 18px/1 var(--title);letter-spacing:.04em;text-align:center;white-space:nowrap}
.wardogs-ipad .header-title-source{display:none!important}
.wardogs-ipad :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) .section-heading{display:none!important}
/* Existing flexible work panels receive the recovered title height. */
@media(min-width:761px){
 .weapon-compare-page .weapon-visual{max-height:none}
 .meta-body .meta-controls{padding-top:14px;padding-bottom:14px}
}
@media(min-width:1101px){html:not(.wardogs-ipad) .weapon-compare-page .weapon-visual{flex:1 1 0}}
.wardogs-ipad .weapon-compare-page .weapon-visual{flex:1 1 0}

/* Compare section boundaries remain open on every device. */
.weapon-compare-page .weapon-head .advantage{border-bottom:0!important}
.weapon-compare-page .compare-attachment-area,.weapon-compare-page .weapon-head .community-favorite{border-top:0!important}
.weapon-compare-page .compare-attachment-area::before,.weapon-compare-page .weapon-head .community-favorite::before{content:none!important}
.weapon-compare-page .weapon-head .community-favorite{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.weapon-compare-page .weapon-head .community-favorite :is(button,.weapon-lab-action){box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:34px;min-height:34px;padding:6px;line-height:1;white-space:nowrap}
.wardogs-ipad .weapon-compare-page .weapon-head .advantage p{margin-top:3px}
/* Coarse-pointer hover must not leave the last selected attachment highlighted. */
.wardogs-ipad .weapon-compare-page .compare-attachment-cell:hover:not(:has(:focus-visible)),
.wardogs-ipad .weapon-compare-page .compare-attachment-cell:focus-within:not(:has(:focus-visible)){border-color:#3b4044}
@media(max-width:760px){
 html:not(.wardogs-ipad) .weapon-compare-page .weapon-head .community-favorite :is(button,.weapon-lab-action){height:28px;min-height:28px;padding:3px 2px}
 html:not(.wardogs-ipad) .weapon-compare-page .community-favorite button[id^="favorite-"] small{border-left:0;padding-left:0;min-width:0}
 html:not(.wardogs-ipad) .armory-nav .kofi-trigger,
 html:not(.wardogs-ipad) .armory-nav .profile-trigger :is(img,.profile-initial,.profile-xp,.profile-hover-hint){display:none!important}
 html:not(.wardogs-ipad) .armory-nav .brand-actions{gap:4px}
 html:not(.wardogs-ipad) .armory-nav .brand-logo{width:72px;background-size:contain}
 html:not(.wardogs-ipad) .armory-nav .discord-trigger{width:22px;height:28px}
 html:not(.wardogs-ipad) .armory-nav .discord-mark{width:20px;height:20px;mask-size:20px 20px;-webkit-mask-size:20px 20px}
 html:not(.wardogs-ipad) .armory-nav .nav-actions{gap:3px}
 html:not(.wardogs-ipad) .armory-nav .profile-trigger.is-signed-in{max-width:44px;min-width:0;padding:0}
 html:not(.wardogs-ipad) .armory-nav .profile-name{font-size:10px}
 html:not(.wardogs-ipad) .armory-nav .header-level-control{width:28px;min-width:28px}
 html:not(.wardogs-ipad) .armory-nav .menu-toggle{width:28px;min-width:28px}
 html:not(.wardogs-ipad) .nav-active-title{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;max-width:calc(100vw - 216px);margin:0;padding:0;color:#f5f5f3;font:400 13px/1.12 var(--title);letter-spacing:.025em;text-align:center;white-space:normal}
 html:not(.wardogs-ipad) .nav-active-title span{color:var(--accent)}
 html:not(.wardogs-ipad) .header-title-source{display:none!important}
 html:not(.wardogs-ipad) :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body) .section-heading{display:none!important}
}

/* Header titles reload the current section without the usual dotted hover marker. */
a.nav-active-title,a.nav-active-title:hover,a.nav-active-title:focus-visible{color:#f5f5f3;text-decoration:none!important;border-bottom:0!important;cursor:pointer}
a.nav-active-title::after,a.nav-active-title::before{content:none!important}
a.nav-active-title:focus-visible{outline:1px solid #818990;outline-offset:5px}
.header-section-explanation{pointer-events:none!important}
.wardogs-ipad :is(.weapon-compare-page,.ammo-compare-page,.meta-body,.lab-body){--weapons-heading-top:13px}
@media(min-width:761px){.compare-attachment-cell:has(button:not(:disabled)),.lab-slot-cell:has(button:not(:disabled)){cursor:pointer}}
.wardogs-ipad :is(.compare-attachment-cell,.lab-slot-cell):has(button:not(:disabled)){cursor:pointer}

/* Meta starts with the stock weapon; the result flexes into the remaining space. */
.meta-intro{flex:none;padding:0 2px;text-align:center}
.meta-intro h2{margin:0 0 6px;color:var(--accent);font:400 clamp(23px,2.2vw,31px)/1.1 var(--title);letter-spacing:.04em}
.meta-intro p{margin:0;color:var(--muted);font:13px/1.5 var(--mono)}
.meta-intro p+p{margin-top:3px}
.meta-body .meta-result{padding-top:10px;padding-bottom:10px}
.wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-info-stack{justify-content:center;gap:4px;padding-top:2px;padding-bottom:2px}
.wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-stat-list{row-gap:4px}
@media(max-width:760px){
 html:not(.wardogs-ipad){--nav-height:48px;--mobile-brand-width:clamp(80px,calc(100vw - 264px),96px)}
 html:not(.wardogs-ipad) .armory-nav{height:48px;grid-template-rows:48px;align-items:center;align-content:center;padding-top:0;padding-bottom:0}
 html:not(.wardogs-ipad) .armory-nav .brand-logo{width:var(--mobile-brand-width);height:22px}
 html:not(.wardogs-ipad) .nav-active-title{width:min(120px,calc(100vw - var(--mobile-brand-width) - var(--mobile-brand-width) - 76px));max-width:calc(100vw - var(--mobile-brand-width) - var(--mobile-brand-width) - 76px);font-size:clamp(11px,3.5vw,13px);line-height:1.12;text-wrap:balance}
 html:not(.wardogs-ipad) .meta-intro h2{font-size:23px;margin-bottom:5px}
 html:not(.wardogs-ipad) .meta-intro p{font-size:12px;line-height:1.4}
 html:not(.wardogs-ipad) .meta-intro p+p{margin-top:3px}
}
@media(max-width:719px){
 html:not(.wardogs-ipad) .meta-body{height:auto;min-height:100dvh;overflow-y:auto}
 html:not(.wardogs-ipad) .meta-body .meta-page{height:auto;min-height:calc(100dvh - var(--nav-height));gap:8px}
 html:not(.wardogs-ipad) .meta-body .meta-result{flex:1 0 auto}
 html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty){grid-template-rows:auto minmax(70px,14dvh) auto}
 html:not(.wardogs-ipad) .meta-body .meta-result.is-empty{min-height:160px}
 html:not(.wardogs-ipad) .meta-body .meta-page footer{margin-top:auto}
}

.meta-intro .meta-intro-mobile{display:none}
@media(max-width:760px){
 html:not(.wardogs-ipad) .meta-intro>p:not(.meta-intro-mobile){display:none}
 html:not(.wardogs-ipad) .meta-intro .meta-intro-mobile{display:block;white-space:nowrap;margin-top:0}
}

/* Keep equal action heights, with content-sized widths on larger screens. */
@media(min-width:761px){
 .weapon-compare-page .weapon-head .community-favorite{display:flex;justify-content:center}
 .weapon-compare-page .weapon-head .community-favorite :is(button,.weapon-lab-action){width:auto;flex:0 1 auto;padding-inline:9px}
}
.wardogs-ipad .weapon-compare-page .weapon-head .community-favorite{display:flex;justify-content:center}
.wardogs-ipad .weapon-compare-page .weapon-head .community-favorite :is(button,.weapon-lab-action){width:auto;flex:0 1 auto;padding-inline:9px}
.meta-artwork-stack{display:contents}
.meta-body .meta-result.is-empty .meta-artwork-stack{display:none}
.meta-priority-label-compact{display:none}
@media(min-width:720px){
 .meta-body .meta-result:not(.is-empty) .meta-artwork-stack{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:center;min-height:0;gap:8px}
 .meta-body .meta-result:not(.is-empty) .meta-artwork-stack .meta-weapon-image-wrap{flex:1 1 auto;width:100%;height:auto;min-height:0;margin:0}
 .meta-body .meta-result:not(.is-empty) .meta-artwork-stack .meta-lab-link{flex:none;margin:0;float:none}
}
@media(max-width:760px){
 html:not(.wardogs-ipad) .meta-priority[data-priority=velocity] .meta-priority-label-full{display:none}
 html:not(.wardogs-ipad) .meta-priority[data-priority=velocity] .meta-priority-label-compact{display:inline;font:inherit}
}

.meta-priority .meta-priority-label-full{font:inherit}

/* Shared Meta introductory copy on every viewport. */
.meta-intro p{color:#c5cbd0}
@media(max-width:760px){html:not(.wardogs-ipad) .meta-intro>p:not(.meta-intro-mobile){display:block}}

/* Dark desktop scrollbars, including modal and picker scroll surfaces. */
@media(min-width:761px) and (pointer:fine){
 *{scrollbar-color:#343a3f #111315;scrollbar-width:thin}
 *::-webkit-scrollbar{width:9px;height:9px}
 *::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:#111315}
 *::-webkit-scrollbar-thumb{background:#343a3f;border:2px solid #111315;border-radius:5px}
 *::-webkit-scrollbar-thumb:hover{background:#454d53}
 *::-webkit-scrollbar-button{background-color:#111315;background-repeat:no-repeat;background-position:center;height:12px}
 *::-webkit-scrollbar-button:vertical:decrement{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23f76c02' d='M4 2 7 6H1Z'/%3E%3C/svg%3E")}
 *::-webkit-scrollbar-button:vertical:increment{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23f76c02' d='m1 2 3 4 3-4Z'/%3E%3C/svg%3E")}
}
/* TTK's nested numeric spans must not inherit hidden secondary labels. */
.ammo-compare-page .damage-values .damage-value,.ammo-compare-page .damage-metric-labels+.damage-values .damage-value{align-items:center;justify-content:center;text-align:center}
.ammo-compare-page .damage-value .stat-measure>span{display:inline;color:inherit}
.ammo-compare-page .damage-metric-labels>span{position:relative;text-align:center}
.ammo-compare-page .damage-metric-labels>[data-winner]::before{content:'';position:absolute;top:50%;transform:translateY(-50%);border-top:4px solid transparent;border-bottom:4px solid transparent}
.ammo-compare-page .damage-metric-labels>[data-winner=left]::before{left:3px;border-right:6px solid var(--accent)}
.ammo-compare-page .damage-metric-labels>[data-winner=right]::before{right:3px;border-left:6px solid var(--accent)}
.ammo-compare-page .damage-weapon-button .damage-weapon-thumb{width:min(340px,85%);height:120px;flex:1 1 auto}
.wardogs-ipad .ammo-compare-page .damage-weapon-button .damage-weapon-thumb{width:min(230px,80%);height:64px;flex:1 1 auto}
@media(max-width:760px){
 html:not(.wardogs-ipad) .ammo-compare-page #ttk-results{display:flex!important;flex-direction:column;min-height:100%;gap:8px}
 html:not(.wardogs-ipad) .ammo-compare-page .damage-controls{flex:none}
 html:not(.wardogs-ipad) .ammo-compare-page .damage-results-stage{display:flex;flex:1;min-height:0}
 html:not(.wardogs-ipad) .ammo-compare-page .damage-results-stage>.ammo-section:not([hidden]){display:flex;flex:1;flex-direction:column;min-height:0}
 html:not(.wardogs-ipad) .ammo-compare-page .damage-table{display:grid;flex:1;grid-template-rows:auto repeat(2,minmax(135px,1fr))}
 html:not(.wardogs-ipad) .ammo-compare-page .damage-values,html:not(.wardogs-ipad) .ammo-compare-page .damage-metric-labels{display:grid;grid-template-rows:repeat(3,minmax(0,1fr))}
 html:not(.wardogs-ipad) .ammo-compare-page .damage-header,html:not(.wardogs-ipad) .ammo-compare-page .damage-weapon-button{min-height:110px}
 html:not(.wardogs-ipad) .ammo-compare-page .damage-weapon-button .damage-weapon-thumb{display:block;width:100%;height:85px;flex:1 1 auto}
}

/* Keep the data column distinct without changing the comparison layout. */
.weapon-compare-page #stat-rows,
.weapon-compare-page #stat-rows .stat-label,
.weapon-compare-page #stat-rows .stat-cell{background-color:#171a1c}

/* Removed page titles must not leave their old heading containers behind. */
.vote-page>.vote-heading:has(.header-title-source){display:none!important}

/* Help uses the same full-height workspace and bottom footer as the other pages. */
.help-page.info-page{display:flex;flex-direction:column;box-sizing:border-box;width:100%;max-width:1440px;min-height:calc(100dvh - var(--nav-height));padding-bottom:12px}
.help-page>.workspace-bottom{width:100%;flex:none;margin-top:auto;padding-top:8px}

.wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-result-topline{padding-top:10px}
.wardogs-ipad .meta-body .meta-result:not(.is-empty) .meta-lab-link{margin-top:14px;padding:12px 20px;font-size:16px;min-height:44px;box-sizing:border-box}
@media(max-width:760px){html:not(.wardogs-ipad) .meta-intro p:first-of-type,html:not(.wardogs-ipad) .meta-summary{display:none!important}}
.build-weapon-divider{margin:12px 0 6px;padding:10px 0 0;border-top:1px solid var(--line);color:var(--muted);font:700 11px/1.4 var(--mono)}

.help-grid .help-card{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:14px;align-content:center;box-sizing:border-box}
.help-section-icon{grid-column:1;grid-row:1/3;align-self:center;width:38px;height:38px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.help-grid .help-card h2,.help-grid .help-card p{grid-column:2;min-width:0}
.help-grid .help-card::after{display:none}
@media(min-width:761px){
.help-page.info-page{height:calc(100dvh - var(--nav-height));min-height:540px;padding-top:18px;gap:12px}
.help-page .help-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:auto 0}
.help-grid .help-card{min-height:130px;padding:16px;column-gap:12px}
.help-grid .help-card h2{font-size:22px;line-height:1.15;margin-bottom:7px}
.help-grid .help-card p{font-size:14px;line-height:1.4}
.help-page>.workspace-bottom{margin-top:0;padding-top:0}
}
.wardogs-ipad .help-page .help-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wardogs-ipad .help-grid .help-card{min-height:120px;padding:13px;grid-template-columns:32px minmax(0,1fr);column-gap:10px}
.wardogs-ipad .help-section-icon{width:30px;height:30px}
@media(max-width:760px){html:not(.wardogs-ipad) .help-grid .help-card{padding:16px;grid-template-columns:34px minmax(0,1fr);column-gap:12px}html:not(.wardogs-ipad) .help-section-icon{width:30px;height:30px}}

/* Readable mobile META labels, centered within their existing tiles. */
@media(max-width:760px){
html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px}
html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-stat>span{font-size:clamp(11px,3vw,13px);line-height:1.15;letter-spacing:.015em}
html:not(.wardogs-ipad) .meta-body .meta-result:not(.is-empty) .meta-stat strong{margin:0;font-size:clamp(10px,2.75vw,12px)}
}
@media(min-width:761px){.help-grid .help-card{min-height:clamp(104px,15dvh,125px);padding:12px}.help-grid .help-card p{margin:0;font-size:13px;line-height:1.3}.help-grid .help-card h2{font-size:20px;margin-bottom:5px}}
.wardogs-ipad .help-grid .help-card{min-height:clamp(104px,15dvh,125px);padding:11px}

/* Mobile browser compatibility. Shared rules, no Safari-specific theme. */
@media(max-width:760px){
html:not(.wardogs-ipad){-webkit-text-size-adjust:100%;text-size-adjust:100%;--phone-safe-top:env(safe-area-inset-top,0px);--phone-safe-bottom:env(safe-area-inset-bottom,0px)}
html:not(.wardogs-ipad) body>main,html:not(.wardogs-ipad) .comparison,html:not(.wardogs-ipad) .lab-workspace,html:not(.wardogs-ipad) .meta-result,html:not(.wardogs-ipad) .sniper-cards{min-width:0}
html:not(.wardogs-ipad) .sticky-picker-menu{max-height:calc(100vh - var(--nav-height) - 70px);max-height:calc(100dvh - var(--nav-height) - 70px)}
html:not(.wardogs-ipad) .armory-nav{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
html:not(.wardogs-ipad) dialog{box-sizing:border-box;max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
}
@supports not (height:100dvh){
@media(max-width:760px){
html:not(.wardogs-ipad) .weapon-compare-page,html:not(.wardogs-ipad) .ammo-compare-page{height:100vh;height:-webkit-fill-available}
html:not(.wardogs-ipad) .weapon-compare-page main,html:not(.wardogs-ipad) .ammo-compare-page .ammo-page{height:calc(100vh - var(--nav-height));max-height:calc(100vh - var(--nav-height))}
html:not(.wardogs-ipad) dialog{max-height:calc(100vh - 24px)}
}
}

/* Move the existing profile panel to the top of the menu. */
.navigation-panel .navigation-heading{position:absolute;right:16px;top:14px;z-index:2;margin:0;padding:0;border:0}
.navigation-panel .navigation-heading h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.navigation-panel .nav-command-user{padding-right:46px}
.navigation-panel .nav-command-user>.nav-command-arrow{visibility:hidden}

/* Keep the menu close control accessible without a surrounding box. */
.navigation-panel .menu-close{border:0;border-radius:0;background:transparent;box-shadow:none}
.navigation-panel .menu-close{display:none}
@media(max-width:760px){
html:not(.wardogs-ipad) .navigation-panel .menu-close{display:flex;-webkit-tap-highlight-color:transparent}
html:not(.wardogs-ipad) .navigation-panel .menu-close:hover,
html:not(.wardogs-ipad) .navigation-panel .menu-close:active,
html:not(.wardogs-ipad) .navigation-panel .menu-close:focus{color:var(--text);background:transparent;border:0;box-shadow:none;outline:none}
html:not(.wardogs-ipad) .navigation-panel .menu-close:focus-visible{outline:1px solid var(--text);outline-offset:2px}
}

/* Guest invitation to configure attachment unlock levels. */
#compare-attachment-picker header,#lab-picker header{flex-wrap:wrap}
#compare-attachment-picker header h2,#lab-picker header h2{min-width:0;flex:1}
.attachment-guest-filter{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:1px solid #39ff14;border-radius:4px;background:var(--surface-raised);color:var(--text);box-shadow:0 0 8px #39ff1466,inset 0 0 5px #39ff1426;text-decoration:none;font:600 10px/1.3 var(--mono);text-align:center;transition:box-shadow .15s,color .15s}
.attachment-guest-filter[hidden]{display:none}
.attachment-guest-filter svg{width:17px;height:17px;flex:none;color:#39ff14;filter:drop-shadow(0 0 3px #39ff1480)}
.attachment-guest-filter:hover,.attachment-guest-filter:focus-visible{border-color:#39ff14;color:#39ff14;box-shadow:0 0 13px #39ff1499,inset 0 0 6px #39ff1433}
@media(max-width:760px){#compare-attachment-picker header .attachment-guest-filter,#lab-picker header .attachment-guest-filter{order:3;flex-basis:100%;font-size:10px}#compare-attachment-picker header button,#lab-picker header button{margin-left:auto}}
.attachment-guest-filter.is-account-filter{border-color:#41474c;background:var(--surface-raised);box-shadow:none;color:var(--text)}
.attachment-guest-filter.is-account-filter svg{color:#aab0b5;filter:none}
.attachment-guest-filter.is-account-filter:hover,.attachment-guest-filter.is-account-filter:focus-visible{border-color:#899299;box-shadow:none;color:var(--text)}
.attachment-filter-state{font:700 10px/1.3 var(--mono)}
.attachment-filter-state::before{content:': ';color:#aab0b5}
.attachment-filter-state[data-on=true]{color:#39ff14}.attachment-filter-state[data-on=false]{color:#ff0000}
.attachment-guest-filter[aria-disabled=true]{opacity:.65;cursor:wait}
.attachment-filter-error{margin:0 0 8px;color:#ff625b;font:400 12px/1.3 var(--mono)}
.attachment-filter-error[hidden],.attachment-filter-state[hidden]{display:none}

:root{--accent-tone-21180f:#21180f;--accent-tone-24190f:#24190f;--accent-tone-b75b14:#b75b14;--accent-tone-ff7100:#ff7100;--accent-tone-ff7a13:#ff7a13;--accent-tone-ff8617:#ff8617;--accent-tone-ff8730:#ff8730;--accent-tone-ff8a24:#ff8a24;--accent-tone-ff8e35:#ff8e35;--accent-tone-ff912d:#ff912d;--accent-tone-ff9a47:#ff9a47;--accent-tone-ff9a48:#ff9a48;}

/* Personal accent tint preserves avatar detail and transparency; locked choices remain grayscale. */
img[src^="/assets/avatars/"],.header-level-control img[src="/assets/icons/set-your-levels.png"]{filter:var(--avatar-tint-filter,none)}

@media(max-width:760px){
 .weapon-compare-page #stat-rows .stat-row:not(:last-child){border-bottom:1px solid #292d30}
}

/* Weapon menus never paint a persistent accent selection. */
.weapon-picker-option[aria-selected=true],.weapon-picker-option:hover,.weapon-picker-option:focus-visible,
.lab-weapon-menu .weapon-picker-option[aria-selected=true],.lab-weapon-menu .weapon-picker-option:hover,.lab-weapon-menu .weapon-picker-option:focus-visible{background:var(--surface-raised);color:var(--text);outline:none;box-shadow:none}
.weapon-picker-trigger[aria-expanded=true],.lab-weapon-trigger[aria-expanded=true],.damage-weapon-button[aria-expanded=true]{border-color:var(--line);outline:none;box-shadow:none}
.weapon-picker-trigger[aria-expanded=true] .weapon-picker-label{outline:none}
.mobile-weapon-bar .sticky-weapon[aria-expanded=true]::after{display:none}

.xp-help-popup{position:fixed;z-index:10000;box-sizing:border-box;width:max-content;max-width:min(320px,calc(100vw - 16px));padding:12px;border:1px solid #41474c;border-radius:8px;background:var(--surface-panel);color:var(--text);font:400 13px/1.45 var(--font);box-shadow:0 8px 28px #0008;text-align:left}
