/* PUBGNOTE weapon damage explorer — shared light/dark theme surface. */
.weapon-damage-stage[hidden], .weapon-vehicle-calculator[hidden] { display: none !important; }
.weapon-damage-detail[hidden] { display: none !important; }
.weapon-damage-stage {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% -10%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 34%),
    var(--theme-canvas);
  color: var(--theme-text);
  container-type: inline-size;
}
.weapon-damage-scroll { height: 100%; overflow-y: auto; overflow-x: hidden; scrollbar-color: var(--theme-border-strong) transparent; }
.weapon-damage-stage .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; }
.weapon-damage-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  padding: 34px max(24px, calc((100% - 1720px) / 2)) 26px;
  border-bottom: 1px solid var(--theme-border);
  background: color-mix(in srgb, var(--theme-surface) 88%, transparent);
}
.weapon-damage-hero .eyebrow { margin: 0; color: var(--theme-accent-foreground); }
.weapon-damage-hero h2 { margin: 8px 0 0; font: 800 clamp(30px, 3vw, 48px) "Barlow Condensed", sans-serif; letter-spacing: -.025em; }
.weapon-damage-hero > div > p:last-child { max-width: 780px; margin: 9px 0 0; color: var(--theme-text-muted); font-size: 13px; line-height: 1.7; }
.weapon-damage-hero .weapon-damage-lead { display:grid; gap:2px; }
.weapon-damage-hero .weapon-damage-lead > span { display:block; }

.weapon-damage-status { max-width: 1720px; margin: 22px auto 0; padding: 14px 18px; border: 1px solid var(--theme-border); border-radius: 10px; background: var(--theme-surface); color: var(--theme-text-muted); font-size: 12px; }
.weapon-damage-status:empty, .weapon-damage-status[hidden] { display: none; }
.weapon-damage-status.is-error { border-color: color-mix(in srgb, var(--theme-danger) 42%, var(--theme-border)); color: var(--theme-danger); }
.weapon-damage-workspace {
  display: grid;
  grid-template-areas: "controls visual";
  grid-template-columns: minmax(560px, 1fr) minmax(360px, 440px);
  gap: 18px;
  width: min(1720px, calc(100% - 48px));
  margin: 22px auto;
  align-items: start;
}
.weapon-damage-detail { grid-area: detail; }
.weapon-damage-controls { grid-area: controls; }
.weapon-damage-visual { grid-area: visual; }
.weapon-damage-workspace[hidden] { display: none; }
.weapon-damage-controls, .weapon-damage-visual, .weapon-damage-detail {
  min-width: 0;
  border: 1px solid var(--theme-border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-surface) 96%, transparent);
  box-shadow: 0 16px 40px color-mix(in srgb, #000 15%, transparent);
}
.weapon-damage-controls, .weapon-damage-detail { padding: 18px; }
.weapon-damage-controls > header, .weapon-damage-detail > header { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--theme-border); }
.weapon-damage-controls > header > span, .weapon-damage-detail > header > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: var(--accent); color: var(--brand-lime-text); font: 800 13px "Barlow Condensed", sans-serif; }
.weapon-damage-controls header small, .weapon-damage-detail header small, .weapon-damage-visual > header small { display: block; color: var(--theme-accent-foreground); font: 700 9px "Barlow Condensed", sans-serif; letter-spacing: .14em; }
.weapon-damage-controls h3, .weapon-damage-detail h3, .weapon-damage-visual h3 { margin: 2px 0 0; font-size: 16px; }
.weapon-damage-selected-card { display: flex; align-items: center; gap: 14px; min-height: 92px; margin-top: 16px; padding: 10px 14px; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--theme-border)); border-radius: 11px; background: color-mix(in srgb, var(--accent) 7%, var(--theme-surface-soft)); }
.weapon-damage-selected-image, .weapon-vehicle-result-icon { display: grid; flex: 0 0 auto; place-items: center; width: 150px; height: 68px; overflow: hidden; border: 1px solid #c8cec4; border-radius: 9px; background: #eef1eb; }
.weapon-damage-selected-image img, .weapon-vehicle-result-icon img {
  display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%;
  padding: 8px; object-fit: contain; object-position: center; box-sizing: border-box;
}
.weapon-damage-selected-image i, .weapon-vehicle-result-icon i { color: #727b73; font: 800 9px "Barlow Condensed", sans-serif; letter-spacing: .14em; }
.weapon-damage-selected-card small { display: block; color: var(--theme-accent-foreground); font: 800 9px "Barlow Condensed", sans-serif; letter-spacing: .12em; }
.weapon-damage-selected-card strong { display: block; margin-top: 4px; color: var(--theme-text); font: 900 30px "Barlow Condensed", sans-serif; }
.weapon-static-selected-meta { display:flex; align-items:center; gap:6px; min-width:0; margin-top:5px; white-space:nowrap; }
.weapon-damage-selected-card .weapon-static-selected-meta em { display:inline-flex; align-items:center; width:fit-content; margin:0; padding:3px 7px; border-radius:999px; background:color-mix(in srgb, var(--accent) 16%, var(--theme-surface)); color:var(--theme-accent-foreground); font-size:8px; line-height:1.25; font-style:normal; font-weight:800; white-space:nowrap; }
.weapon-damage-selected-card .weapon-static-selected-meta em[data-static-selected-base-damage] { background:color-mix(in srgb, var(--accent) 28%, var(--theme-surface)); color:var(--theme-text); }
.weapon-training-picker { margin-top: 16px; overflow: hidden; border: 1px solid color-mix(in srgb, #a9c2d4 44%, var(--theme-border)); border-radius: 4px; background: color-mix(in srgb, #263747 82%, transparent); box-shadow: inset 0 1px 0 color-mix(in srgb, #d5e7f4 20%, transparent); color: #f3f6f8; }
.weapon-training-picker-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; padding: 7px 11px; border-bottom: 1px solid color-mix(in srgb, #c8d9e5 24%, transparent); }
.weapon-training-picker-head > div { display:flex; align-items:baseline; gap:8px; min-width:0; white-space:nowrap; }
.weapon-training-picker-head > div > span { display: block; flex:none; font-size: 18px; font-weight: 800; }
.weapon-training-picker-head > div > small { display: block; min-width:0; margin:0; color: #b9c5cd; font-size: 9px; }
.weapon-training-tree { overflow: visible; }
.weapon-training-category { border-bottom: 1px solid color-mix(in srgb, #d5e7f4 13%, transparent); }
.weapon-training-category:last-child { border-bottom: 0; }
.weapon-training-category > summary, .weapon-training-category.is-unavailable { position: relative; display: grid; grid-template-columns: 16px minmax(0,1fr) auto; align-items: center; gap: 3px; min-height: 34px; padding: 0 9px 0 6px; color: #eef3f6; list-style: none; }
.weapon-training-category > summary::-webkit-details-marker { display: none; }
.weapon-training-category > summary { cursor: pointer; user-select: none; }
.weapon-training-category > summary:hover { background: color-mix(in srgb, #d6e7f2 10%, transparent); }
.weapon-training-category > summary:focus-visible { z-index: 1; outline: 2px solid var(--accent); outline-offset: -2px; }
.weapon-training-category > summary strong, .weapon-training-category.is-unavailable strong { min-width: 0; font-size: 12px; font-weight: 700; }
.weapon-training-category > summary small, .weapon-training-category.is-unavailable small { color: #b6c2ca; font-size: 9px; font-weight: 700; }
.weapon-training-category.is-unavailable { color: #9ca9b1; background: color-mix(in srgb, #14212a 30%, transparent); }
.weapon-training-category.is-unavailable small { color: #87959e; }
.weapon-training-chevron { position: relative; display: block; width: 16px; height: 18px; }
.weapon-training-chevron::before { content: ''; position: absolute; left: 4px; top: 5px; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease; }
.weapon-training-category[open] > summary .weapon-training-chevron::before { transform: rotate(135deg) translate(-1px,-1px); }
.weapon-training-category.is-unavailable .weapon-training-chevron::before { opacity: .28; }
.weapon-training-items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px; padding: 4px 7px 6px 21px; background: color-mix(in srgb, #111d26 38%, transparent); }
.weapon-training-item { display: block; min-width: 0; min-height: 40px; padding: 4px 7px; overflow: hidden; border: 1px solid color-mix(in srgb, #d5e7f4 16%, transparent); border-radius: 3px; background: color-mix(in srgb, #1a2934 74%, transparent); color: #eef3f6; text-align: left; cursor: pointer; }
.weapon-training-item:hover { border-color: color-mix(in srgb, #d5e7f4 48%, transparent); background: color-mix(in srgb, #3a4c5a 70%, transparent); }
.weapon-training-item:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.weapon-training-item.active { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 18%, #1a2934); box-shadow: inset 3px 0 0 var(--accent); }
.weapon-training-item-copy { min-width: 0; }
.weapon-training-item-copy strong, .weapon-training-item-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.weapon-training-item-copy strong { font-size: 10.5px; line-height: 1.2; }
.weapon-training-item-copy small { margin-top: 2px; color: #b6c2ca; font-size: 7.5px; line-height: 1.2; }
.weapon-training-empty { margin: 0; padding: 24px 14px; color: #c4ced4; text-align: center; font-size: 11px; }
html[data-theme="light"] .weapon-training-picker { border-color: #aeb9ad; background: #e7ebe4; color: #172019; box-shadow: inset 0 1px 0 #fff; }
html[data-theme="light"] .weapon-training-picker-head { border-bottom-color: #bdc6ba; }
html[data-theme="light"] .weapon-training-picker-head > div > small, html[data-theme="light"] .weapon-training-category > summary small { color: #606d62; }

html[data-theme="light"] .weapon-training-category > summary, html[data-theme="light"] .weapon-training-category.is-unavailable { color: #263128; }
html[data-theme="light"] .weapon-training-category { border-bottom-color: #c6cec2; }
html[data-theme="light"] .weapon-training-category > summary:hover { background: #dce2d9; }
html[data-theme="light"] .weapon-training-category.is-unavailable { color: #7a857c; background: #dde2da; }
html[data-theme="light"] .weapon-training-items { background: #dce2d9; }
html[data-theme="light"] .weapon-training-item { border-color: #b7c1b4; background: #f4f6f1; color: #172019; }
html[data-theme="light"] .weapon-training-item:hover { border-color: #859183; background: #e9ede6; }
html[data-theme="light"] .weapon-training-item.active { border-color: #82930b; background: #eef8b8; color: #172019; }
html[data-theme="light"] .weapon-training-item-copy small { color: #59645b; }
.weapon-damage-class-filter { display: grid; gap: 8px; margin-top: 16px; }
.weapon-damage-class-filter > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.weapon-damage-class-filter > header span { color: var(--theme-text-muted); font-size: 11px; font-weight: 700; }
.weapon-damage-class-filter > header small { color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-class-filter > div { display: grid; grid-template-columns: repeat(8, minmax(52px, 1fr)); gap: 6px; }
.weapon-damage-class-filter button { display: grid; place-items: center; gap: 1px; min-width: 0; min-height: 46px; padding: 5px 3px; border: 1px solid var(--theme-border); border-radius: 8px; background: var(--theme-surface-soft); color: var(--theme-text-muted); cursor: pointer; }
.weapon-damage-class-filter button span { font: 900 12px "Barlow Condensed", "Noto Sans KR", sans-serif; }
.weapon-damage-class-filter button small { color: inherit; font: 700 8px "Barlow Condensed", sans-serif; opacity: .72; }
.weapon-damage-class-filter button:hover, .weapon-damage-class-filter button:focus-visible { border-color: var(--theme-border-strong); color: var(--theme-text); }
.weapon-damage-class-filter button.active { border-color: var(--accent); background: var(--accent); color: var(--brand-lime-text); }
.weapon-damage-field { display: grid; gap: 7px; margin-top: 16px; }
.weapon-damage-field > span, .weapon-damage-filter-group legend { color: var(--theme-text-muted); font-size: 11px; font-weight: 700; }
.weapon-damage-field select, .weapon-damage-search input {
  width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--theme-border); border-radius: 9px;
  background: var(--theme-surface-soft); color: var(--theme-text); font: 700 13px inherit;
}
.weapon-damage-field select:focus-visible, .weapon-damage-search input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.weapon-damage-search { display: block; margin-top: 8px; }
.weapon-damage-weapon-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; max-height: 252px; margin-top: 8px; overflow-y: auto; scrollbar-color: var(--theme-border-strong) transparent; }
.weapon-damage-weapon-grid button { position: relative; display: grid; grid-template-rows: 44px auto; place-items: center; min-width: 0; min-height: 72px; padding: 6px 5px; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 8px; background: var(--theme-surface-soft); color: var(--theme-text-muted); font-size: 10px; cursor: pointer; }
.weapon-damage-weapon-grid button > b { position: absolute; z-index: 1; top: 4px; right: 4px; padding: 2px 4px; border-radius: 4px; background: color-mix(in srgb, var(--theme-surface) 88%, transparent); color: var(--theme-accent-foreground); font: 900 7px "Barlow Condensed", sans-serif; letter-spacing: .04em; }
.weapon-damage-weapon-grid button img {
  display: block; width: 100%; height: 100%; max-width: 72px; padding: 5px 8px; border-radius: 6px;
  background: #eef1eb; object-fit: contain; object-position: center; box-sizing: border-box;
}
.weapon-damage-weapon-grid button span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.weapon-damage-weapon-grid button i { color: var(--theme-text-muted); font: 800 8px "Barlow Condensed", sans-serif; letter-spacing: .08em; }
.weapon-damage-weapon-grid button:hover, .weapon-damage-weapon-grid button:focus-visible { border-color: var(--theme-border-strong); color: var(--theme-text); }
.weapon-damage-weapon-grid button.active { border-color: color-mix(in srgb, var(--accent) 64%, var(--theme-border)); background: color-mix(in srgb, var(--accent) 17%, var(--theme-surface)); color: var(--theme-text); font-weight: 800; }
.weapon-damage-weapon-grid button[hidden] { display: none; }
.weapon-damage-filter-group { min-width: 0; margin: 16px 0 0; padding: 0; border: 0; }
.weapon-damage-filter-group legend { margin-bottom: 8px; }
.weapon-damage-filter-group > small { display: block; margin-top: 7px; color: var(--theme-text-muted); font-size: 9px; line-height: 1.5; }
.weapon-damage-distance-explorer { padding: 14px; border: 1px solid var(--theme-border); border-radius: 11px; background: var(--theme-surface-soft); }
.weapon-damage-distance-presets { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 7px; }
.weapon-damage-distance-presets button {
  display: grid; align-content: start; min-width: 0; min-height: 68px; padding: 9px 10px; overflow: hidden;
  border: 1px solid var(--theme-border); border-radius: 8px; background: var(--theme-surface); color: var(--theme-text-muted); text-align: left; cursor: pointer;
}
.weapon-damage-distance-presets button:hover, .weapon-damage-distance-presets button:focus-visible { border-color: var(--theme-border-strong); outline: none; }
.weapon-damage-distance-presets button.active { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, var(--theme-surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent); }
.weapon-damage-distance-presets button b { overflow: hidden; color: var(--theme-text); text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.weapon-damage-distance-presets button span { margin-top: 4px; color: var(--theme-accent-foreground); font: 900 14px "Barlow Condensed", sans-serif; }
.weapon-damage-distance-presets button small { margin-top: 3px; overflow: hidden; color: var(--theme-text-muted); text-overflow: ellipsis; white-space: nowrap; font-size: 8px; }
.weapon-damage-distance-slider { display: grid; gap: 8px; margin-top: 12px; padding: 11px 12px; border: 1px solid var(--theme-border); border-radius: 9px; background: var(--theme-surface); }
.weapon-damage-distance-slider > span:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--theme-text-muted); font-size: 10px; font-weight: 800; }
.weapon-damage-distance-slider output { color: var(--theme-text); font: 900 15px "Barlow Condensed", sans-serif; }
.weapon-damage-distance-slider input { width: 100%; min-height: 24px; margin: 0; accent-color: var(--accent); cursor: pointer; }
.weapon-damage-distance-slider input:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.weapon-damage-distance-axis { display: flex; justify-content: space-between; color: var(--theme-text-muted); font: 800 9px "Barlow Condensed", sans-serif; }
.weapon-damage-trend { min-width: 0; margin-top: 12px; padding: 11px; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 10px; background: var(--theme-surface); }
.weapon-damage-trend > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.weapon-damage-trend > header small { display: block; color: var(--theme-accent-foreground); font: 800 8px "Barlow Condensed", sans-serif; letter-spacing: .12em; }
.weapon-damage-trend > header strong { display: block; margin-top: 3px; font-size: 11px; }
.weapon-damage-trend-legend { display: flex; flex-wrap: wrap; justify-content: end; gap: 5px 9px; color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-trend-legend span { display: inline-flex; align-items: center; gap: 4px; }
.weapon-damage-trend-legend i { display: inline-block; width: 13px; height: 3px; border-radius: 9px; background: var(--theme-text-muted); }
.weapon-damage-trend-legend i.is-high { background: var(--theme-danger); }
.weapon-damage-trend-legend i.is-mid { background: var(--theme-warning); }
.weapon-damage-trend-legend i.is-low { background: var(--theme-success); }
.weapon-damage-trend-chart { display: block; width: 100%; height: auto; min-height: 190px; margin-top: 8px; overflow: visible; color: var(--theme-text-muted); touch-action: manipulation; }
.weapon-damage-trend-chart .trend-grid { stroke: var(--theme-border); stroke-width: 1; stroke-dasharray: 3 7; }
.weapon-damage-trend-chart .trend-axis-label { fill: var(--theme-text-muted); font: 700 10px "Barlow Condensed", sans-serif; }
.weapon-damage-trend-chart .trend-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.weapon-damage-trend-chart .trend-line.is-high, .weapon-damage-trend-chart .trend-point.is-high { stroke: var(--theme-danger); }
.weapon-damage-trend-chart .trend-line.is-mid, .weapon-damage-trend-chart .trend-point.is-mid { stroke: var(--theme-warning); }
.weapon-damage-trend-chart .trend-line.is-low, .weapon-damage-trend-chart .trend-point.is-low { stroke: var(--theme-success); }
.weapon-damage-trend-chart .trend-point { fill: var(--theme-surface); stroke-width: 2; }
.weapon-damage-trend-chart .trend-selected { stroke: var(--accent); stroke-width: 2; stroke-dasharray: 5 5; pointer-events: none; }
.weapon-damage-trend-chart .trend-hit-area { fill: transparent; cursor: crosshair; }
.weapon-damage-distance-details { margin-top: 10px; border: 1px solid var(--theme-border); border-radius: 9px; background: var(--theme-surface); }
.weapon-damage-distance-details summary { display: flex; justify-content: space-between; gap: 12px; padding: 10px 11px; color: var(--theme-text); font-size: 10px; font-weight: 800; cursor: pointer; }
.weapon-damage-distance-details summary span { color: var(--theme-text-muted); font-weight: 700; }
.weapon-damage-distance-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; max-height: 250px; padding: 0 9px 9px; overflow-y: auto; scrollbar-color: var(--theme-border-strong) transparent; }
.weapon-damage-distance-list button { min-width: 0; padding: 8px; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 7px; background: var(--theme-surface-soft); color: var(--theme-text-muted); text-align: left; cursor: pointer; }
.weapon-damage-distance-list button:hover, .weapon-damage-distance-list button:focus-visible { border-color: var(--theme-border-strong); color: var(--theme-text); outline: none; }
.weapon-damage-distance-list button.active { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 11%, var(--theme-surface-soft)); color: var(--theme-text); }
.weapon-damage-distance-list button b, .weapon-damage-distance-list button span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.weapon-damage-distance-list button b { font: 900 11px "Barlow Condensed", sans-serif; }
.weapon-damage-distance-list button span { margin-top: 3px; font-size: 8px; }
.weapon-damage-strict-note {
  display: grid; gap: 4px; margin: 16px 0 0; padding: 11px 12px; border: 1px solid color-mix(in srgb, var(--accent) 32%, var(--theme-border));
  border-radius: 9px; background: color-mix(in srgb, var(--accent) 7%, var(--theme-surface-soft)); color: var(--theme-text-muted); font-size: 10px; line-height: 1.55;
}
.weapon-damage-strict-note strong { color: var(--theme-accent-foreground); font-size: 11px; }
.weapon-damage-reference {
  margin-top: 16px; padding: 14px; border: 1px solid color-mix(in srgb, var(--theme-warning) 42%, var(--theme-border));
  border-radius: 11px; background: color-mix(in srgb, var(--theme-warning) 5%, var(--theme-surface-soft));
}
.weapon-damage-reference > header { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.weapon-damage-reference > header small { display: block; color: var(--theme-warning); font: 800 8px "Barlow Condensed", sans-serif; letter-spacing: .12em; }
.weapon-damage-reference > header h3 { margin: 3px 0 0; font-size: 15px; }
.weapon-damage-reference > header > span { flex: 0 0 auto; max-width: 48%; padding: 5px 7px; border-radius: 999px; background: var(--theme-surface); color: var(--theme-text-muted); font-size: 8px; font-weight: 800; text-align: right; }
.weapon-damage-reference-separation { margin: 11px 0 0; color: var(--theme-text-muted); font-size: 9px; line-height: 1.55; }
.weapon-damage-reference-separation strong { color: var(--theme-warning); }
.weapon-damage-reference-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 11px 0 0; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 8px; background: var(--theme-border); }
.weapon-damage-reference-metrics div { min-width: 0; padding: 9px; background: var(--theme-surface); }
.weapon-damage-reference-metrics dt { color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-reference-metrics dd { margin: 4px 0 0; color: var(--theme-text); overflow-wrap: anywhere; font: 800 13px/1.25 "Barlow Condensed", "Noto Sans KR", sans-serif; }
.weapon-damage-reference > p[data-damage-reference-note] { margin: 10px 0 0; color: var(--theme-text-muted); font-size: 8px; line-height: 1.55; }
.weapon-damage-reference-source { margin: 9px 0 0; padding-top: 9px; border-top: 1px solid var(--theme-border); color: var(--theme-text-muted); font-size: 8px; line-height: 1.55; }
.weapon-damage-reference-source a { color: var(--theme-accent-foreground); font-weight: 800; overflow-wrap: anywhere; }
.weapon-damage-segments { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.weapon-damage-segments.is-distance { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 264px; overflow-y: auto; padding-right: 3px; scrollbar-color: var(--theme-border-strong) transparent; }
.weapon-damage-segments button { display: grid; place-items: center; min-width: 0; min-height: 44px; padding: 5px 3px; border: 1px solid var(--theme-border); border-radius: 7px; background: var(--theme-surface-soft); color: var(--theme-text-muted); font-size: 10px; cursor: pointer; }
.weapon-damage-segments button.has-armor-icon { grid-template-columns: 34px minmax(0,1fr); gap: 2px; text-align: left; }
.weapon-damage-segments button img { display: block; width: 31px; height: 31px; padding: 2px; border-radius: 6px; background: #eef1eb; object-fit: contain; box-sizing: border-box; }
.weapon-damage-segments button span { min-width: 0; }
.weapon-damage-segments.is-distance button { align-content: center; gap: 2px; min-height: 50px; }
.weapon-damage-segments.is-distance button small { color: inherit; font: 800 9px "Barlow Condensed", sans-serif; opacity: .78; }
.weapon-damage-segments button:hover, .weapon-damage-segments button:focus-visible { border-color: var(--theme-border-strong); color: var(--theme-text); }
.weapon-damage-segments button.active { border-color: var(--accent); background: var(--accent); color: var(--brand-lime-text); font-weight: 900; }
html[data-theme="light"] .weapon-damage-weapon-grid button,
html[data-theme="light"] .weapon-damage-class-filter button:not(.active),
html[data-theme="light"] .weapon-damage-segments button:not(.active) {
  border-color: #c4cbc0;
  background: #eef1eb;
  color: #4c574d;
}
html[data-theme="light"] .weapon-damage-weapon-grid button:hover,
html[data-theme="light"] .weapon-damage-weapon-grid button:focus-visible,
html[data-theme="light"] .weapon-damage-class-filter button:not(.active):hover,
html[data-theme="light"] .weapon-damage-class-filter button:not(.active):focus-visible,
html[data-theme="light"] .weapon-damage-segments button:not(.active):hover,
html[data-theme="light"] .weapon-damage-segments button:not(.active):focus-visible {
  border-color: #8d988c;
  background: #e1e6de;
  color: #151b16;
}
html[data-theme="light"] .weapon-damage-weapon-grid button.active {
  border-color: #82930b;
  background: #dff43f;
  color: #182000;
}
.weapon-damage-weapon-grid button img,
.weapon-damage-segments button img,
.weapon-damage-selected-image img,
.weapon-vehicle-result-icon img { filter: none; }
.weapon-damage-visual { position: static; overflow: hidden; }
.weapon-damage-visual > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 74px; padding: 14px 18px; border-bottom: 1px solid var(--theme-border); }
.weapon-damage-visual > header h3 { font: 800 26px "Barlow Condensed", sans-serif; }
.weapon-damage-visual > header > span { padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--theme-border)); border-radius: 999px; background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--theme-text); font: 800 12px "Barlow Condensed", sans-serif; }
.weapon-damage-body-shell { position: relative; display: grid; place-items: center; min-height: 590px; padding: 12px 12px 0; background: linear-gradient(180deg, color-mix(in srgb, var(--theme-surface-soft) 60%, transparent), transparent); }
.weapon-damage-body { display: block; width: min(100%, 560px); height: 560px; overflow: visible; }
.weapon-damage-body .body-grid path { fill: none; stroke: var(--theme-border); stroke-width: 1; stroke-dasharray: 3 7; opacity: .52; }
.weapon-damage-body .body-region { fill: color-mix(in srgb, var(--theme-text) 17%, var(--theme-surface)); stroke: color-mix(in srgb, var(--theme-text) 42%, var(--theme-border)); stroke-width: 2; cursor: pointer; transition: fill .15s ease, stroke .15s ease, filter .15s ease; }
.weapon-damage-body .body-region:hover, .weapon-damage-body .body-region:focus { stroke: var(--accent); filter: drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 40%, transparent)); outline: none; }
.weapon-damage-body .body-region.is-selected { stroke: var(--accent); stroke-width: 4; filter: drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 40%, transparent)); }
.weapon-damage-body .body-region.is-sufficient { fill: color-mix(in srgb, var(--theme-success) 30%, var(--theme-surface)); }
.weapon-damage-body .body-region.is-reference { fill: color-mix(in srgb, var(--theme-warning) 28%, var(--theme-surface)); }
.weapon-damage-body .body-region.is-insufficient { fill: color-mix(in srgb, var(--theme-danger) 26%, var(--theme-surface)); }
.weapon-damage-body .body-region.is-unavailable { fill: color-mix(in srgb, var(--theme-text-muted) 12%, var(--theme-surface)); opacity: .65; }
.weapon-damage-body .body-callouts path { fill: none; stroke: var(--theme-border-strong); stroke-width: 1.5; }
.weapon-damage-body .body-callouts text { fill: var(--theme-text-muted); font: 800 15px "Noto Sans KR", sans-serif; }
.weapon-damage-body .body-callouts text.value { fill: var(--theme-text); font: 900 24px "Barlow Condensed", sans-serif; }
.weapon-damage-body-shell > p { margin: -4px 0 12px; color: var(--theme-text-muted); text-align: center; font-size: 10px; line-height: 1.55; }
.weapon-damage-body-shell > p strong { color: var(--theme-text); }
.weapon-damage-region-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--theme-border); }
.weapon-damage-region-list button { min-width: 0; min-height: 72px; padding: 10px 4px; border: 0; border-right: 1px solid var(--theme-border); border-bottom: 1px solid var(--theme-border); background: transparent; color: var(--theme-text-muted); cursor: pointer; }
.weapon-damage-region-list button:nth-child(5n) { border-right: 0; }
.weapon-damage-region-list button:nth-last-child(-n + 5) { border-bottom: 0; }
.weapon-damage-region-list button b, .weapon-damage-region-list button span { display: block; }
.weapon-damage-region-list button b { font-size: 11px; }
.weapon-damage-region-list button span { margin-top: 5px; color: var(--theme-text); font: 900 17px "Barlow Condensed", sans-serif; }
.weapon-damage-region-list button small { display: block; margin-top: 2px; font-size: 8px; line-height: 1.35; }
.weapon-damage-region-list button.active { background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--theme-text); box-shadow: inset 0 -3px 0 var(--accent); }

.weapon-damage-observed-result { margin: 14px; padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--theme-border)); border-radius: 12px; background: color-mix(in srgb, var(--accent) 6%, var(--theme-surface-soft)); }
.weapon-damage-observed-result > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.weapon-damage-observed-result > header small { display: block; color: var(--theme-accent-foreground); font: 800 9px "Barlow Condensed", sans-serif; letter-spacing: .12em; }
.weapon-damage-observed-result > header h3 { margin: 4px 0 0; font-size: 17px; }
.weapon-damage-observed-result > header > span { flex: 0 0 auto; max-width: 48%; padding: 5px 8px; border-radius: 999px; background: var(--theme-surface); color: var(--theme-text-muted); font-size: 8px; font-weight: 800; text-align: right; }
.weapon-damage-observed-primary { display: grid; grid-template-columns: minmax(90px,.65fr) minmax(180px,1.35fr); align-items: center; gap: 12px; margin-top: 14px; padding: 13px; border: 1px solid var(--theme-border); border-radius: 10px; background: var(--theme-surface); }
.weapon-damage-observed-primary > div small { display: block; color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-observed-primary > div strong { display: block; margin-top: 4px; font: 900 46px/1 "Barlow Condensed", sans-serif; }
.weapon-damage-observed-primary dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 8px; background: var(--theme-border); }
.weapon-damage-observed-primary dl div { min-width: 0; padding: 9px; background: var(--theme-surface-soft); }
.weapon-damage-observed-primary dt { color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-observed-primary dd { margin: 4px 0 0; overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; font: 800 14px/1.3 "Barlow Condensed", "Noto Sans KR", sans-serif; }
.weapon-damage-confidence { overflow-wrap: anywhere; }
.weapon-damage-observed-primary[hidden], .weapon-damage-limb-primary[hidden] { display: none; }
.weapon-damage-result-status { display: block; width: fit-content; max-width: 100%; margin-top: 10px; padding: 5px 8px; border-radius: 999px; background: var(--theme-surface-soft); color: var(--theme-text-muted); font-size: 8px; font-weight: 800; overflow-wrap: anywhere; }
.weapon-damage-result-status.is-sufficient { color: var(--theme-success); }
.weapon-damage-result-status.is-reference { color: var(--theme-warning); }
.weapon-damage-result-status.is-insufficient { color: var(--theme-danger); }
.weapon-damage-limb-primary { margin-top: 14px; padding: 13px; border: 1px solid var(--theme-border); border-radius: 10px; background: var(--theme-surface); }
.weapon-damage-limb-primary > header { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.weapon-damage-limb-primary > header small { display: block; color: var(--theme-accent-foreground); font: 800 8px "Barlow Condensed", sans-serif; letter-spacing: .12em; }
.weapon-damage-limb-primary > header strong { display: block; margin-top: 3px; font-size: 13px; }
.weapon-damage-limb-primary > header > span { flex: 0 0 auto; padding: 5px 7px; border-radius: 999px; background: var(--theme-surface-soft); color: var(--theme-text-muted); font-size: 8px; font-weight: 800; }
.weapon-damage-limb-bands { display: grid; grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)); gap: 8px; margin-top: 11px; }
.weapon-damage-limb-band { min-width: 0; padding: 11px; border: 1px solid var(--theme-border); border-left: 3px solid var(--theme-text-muted); border-radius: 8px; background: var(--theme-surface-soft); }
.weapon-damage-limb-band.is-high { border-left-color: var(--theme-danger); }
.weapon-damage-limb-band.is-mid { border-left-color: var(--theme-warning); }
.weapon-damage-limb-band.is-low { border-left-color: var(--theme-success); }
.weapon-damage-limb-band > small { display: block; color: var(--theme-text-muted); font-size: 8px; font-weight: 800; }
.weapon-damage-limb-damage { display: flex; align-items: end; gap: 5px; margin-top: 5px; }
.weapon-damage-limb-damage strong { color: var(--theme-text); font: 900 34px/1 "Barlow Condensed", sans-serif; }
.weapon-damage-limb-damage span { padding-bottom: 3px; color: var(--theme-text-muted); font: 800 9px "Barlow Condensed", sans-serif; }
.weapon-damage-limb-band dl { display: grid; gap: 5px; margin: 10px 0 0; }
.weapon-damage-limb-band dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; min-width: 0; }
.weapon-damage-limb-band dt { color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-limb-band dd { margin: 0; color: var(--theme-text); text-align: right; overflow-wrap: anywhere; font: 800 11px "Barlow Condensed", "Noto Sans KR", sans-serif; }
.weapon-damage-limb-primary > p { margin: 10px 0 0; color: var(--theme-text-muted); font-size: 8px; line-height: 1.55; }
.weapon-damage-body .body-callouts text.value.is-multiband { font-size: 18px; letter-spacing: -.02em; }
.weapon-damage-change-summary { margin: 12px 0 0; padding: 9px 10px; border-radius: 8px; background: var(--theme-surface); color: var(--theme-text-muted); font-size: 9px; line-height: 1.55; }
.weapon-damage-observed-result .weapon-damage-metrics dd { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; line-height: 1.35; }

.weapon-damage-primary { margin-top: 16px; padding: 18px; border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--theme-border)); border-radius: 12px; background: color-mix(in srgb, var(--accent) 8%, var(--theme-surface-soft)); }
.weapon-damage-primary small, .weapon-damage-primary strong, .weapon-damage-primary span { display: block; }
.weapon-damage-primary small { color: var(--theme-text-muted); font-size: 9px; }
.weapon-damage-primary strong { margin-top: 5px; font: 900 54px/1 "Barlow Condensed", sans-serif; letter-spacing: -.03em; }
.weapon-damage-primary span { width: fit-content; margin-top: 10px; padding: 5px 8px; border-radius: 999px; background: var(--theme-surface); color: var(--theme-text-muted); font-size: 9px; font-weight: 800; }
.weapon-damage-primary span.is-sufficient { color: var(--theme-success); }
.weapon-damage-primary span.is-reference { color: var(--theme-warning); }
.weapon-damage-primary span.is-insufficient { color: var(--theme-danger); }
.weapon-damage-one-shot { margin-top: 14px; padding: 14px; border: 1px solid color-mix(in srgb, var(--theme-warning) 40%, var(--theme-border)); border-radius: 12px; background: color-mix(in srgb, var(--theme-warning) 7%, var(--theme-surface-soft)); }
.weapon-damage-one-shot > header { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.weapon-damage-one-shot > header small { display: block; color: var(--theme-warning); font: 800 9px "Barlow Condensed", sans-serif; letter-spacing: .12em; }
.weapon-damage-one-shot h4 { margin: 3px 0 0; font-size: 13px; }
.weapon-damage-one-shot > header > span { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; background: var(--theme-surface); color: var(--theme-text-muted); font-size: 8px; font-weight: 800; }
.weapon-damage-one-shot > header > span.is-sufficient { color: var(--theme-success); }
.weapon-damage-one-shot > header > span.is-reference { color: var(--theme-warning); }
.weapon-damage-one-shot > header > span.is-insufficient { color: var(--theme-danger); }
.weapon-damage-one-shot-value { display: flex; align-items: end; gap: 9px; margin-top: 12px; }
.weapon-damage-one-shot-value strong { color: var(--theme-text); font: 900 38px/1 "Barlow Condensed", sans-serif; }
.weapon-damage-one-shot-value small { padding-bottom: 3px; color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-one-shot dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; margin: 12px 0 0; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 8px; background: var(--theme-border); }
.weapon-damage-one-shot dl div { min-width: 0; padding: 8px; background: var(--theme-surface); }
.weapon-damage-one-shot dt { color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-one-shot dd { margin: 3px 0 0; color: var(--theme-text); font: 800 13px "Barlow Condensed", sans-serif; }
.weapon-damage-one-shot > p { margin: 10px 0 0; color: var(--theme-text-muted); font-size: 9px; line-height: 1.55; }
.weapon-damage-metrics { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; margin: 14px 0 0; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 10px; background: var(--theme-border); }
.weapon-damage-metrics div { min-width: 0; padding: 11px; background: var(--theme-surface-soft); }
.weapon-damage-metrics dt { color: var(--theme-text-muted); font-size: 8px; }
.weapon-damage-metrics dd { margin: 5px 0 0; overflow: hidden; color: var(--theme-text); text-overflow: ellipsis; white-space: nowrap; font: 800 14px "Barlow Condensed", "Noto Sans KR", sans-serif; }
.weapon-damage-interpretation { margin: 14px 0 0; padding: 11px; border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); color: var(--theme-text-muted); font-size: 10px; line-height: 1.6; }
.weapon-damage-sample-guide { margin-top: 16px; }
.weapon-damage-sample-guide h4 { margin: 0; font-size: 11px; }
.weapon-damage-sample-guide ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; margin: 9px 0 0; padding: 0; list-style: none; color: var(--theme-text-muted); font-size: 9px; }
.weapon-damage-sample-guide li { display: flex; align-items: center; gap: 6px; }
.weapon-damage-sample-guide i { width: 7px; height: 7px; border-radius: 50%; background: var(--theme-text-muted); }
.weapon-damage-sample-guide i.is-sufficient { background: var(--theme-success); }
.weapon-damage-sample-guide i.is-reference { background: var(--theme-warning); }
.weapon-damage-sample-guide i.is-insufficient { background: var(--theme-danger); }
.weapon-vehicle-calculator { width: min(1720px, calc(100% - 48px)); margin: 24px auto; padding: 22px; border: 1px solid var(--theme-border); border-radius: 14px; background: color-mix(in srgb, var(--theme-surface) 96%, transparent); box-shadow: 0 16px 40px color-mix(in srgb, #000 12%, transparent); }
.weapon-vehicle-calculator > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 17px; border-bottom: 1px solid var(--theme-border); }
.weapon-vehicle-calculator > header span { color: var(--theme-accent-foreground); font: 800 10px "Barlow Condensed", sans-serif; letter-spacing: .14em; }
.weapon-vehicle-calculator > header h3 { margin: 5px 0 0; font-size: 20px; }
.weapon-vehicle-calculator > header p { max-width: 540px; margin: 0; color: var(--theme-text-muted); font-size: 10px; line-height: 1.6; text-align: right; }
.weapon-vehicle-layout { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(520px,1.5fr); gap: 18px; margin-top: 18px; }
.weapon-vehicle-selectors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-content: start; gap: 10px; }
.weapon-vehicle-selectors label { display: grid; gap: 7px; }
.weapon-vehicle-selectors label span { color: var(--theme-text-muted); font-size: 10px; font-weight: 800; }
.weapon-vehicle-selectors select { width: 100%; min-height: 46px; padding: 0 11px; border: 1px solid var(--theme-border); border-radius: 8px; background: var(--theme-surface-soft); color: var(--theme-text); font-size: 11px; font-weight: 700; }
.weapon-vehicle-selectors select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.weapon-vehicle-selectors > p { grid-column: 1 / -1; margin: 4px 0 0; padding: 11px 12px; border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); color: var(--theme-text-muted); font-size: 10px; line-height: 1.6; }
.weapon-vehicle-result { min-width: 0; padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--theme-border)); border-radius: 12px; background: color-mix(in srgb, var(--accent) 6%, var(--theme-surface-soft)); }
.weapon-vehicle-result-heading { display: flex; align-items: center; gap: 12px; }
.weapon-vehicle-result-icon { width: 116px; height: 54px; }
.weapon-vehicle-result-heading > div { min-width: 0; flex: 1; }
.weapon-vehicle-result-heading small { display: block; overflow: hidden; color: var(--theme-text-muted); text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.weapon-vehicle-result-heading h4 { margin: 4px 0 0; overflow: hidden; color: var(--theme-text); text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
.weapon-vehicle-result-heading > span:last-child { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: var(--theme-surface); color: var(--theme-text-muted); font-size: 8px; font-weight: 800; }
.weapon-vehicle-result-heading > span.is-sufficient { color: var(--theme-success); }
.weapon-vehicle-result-heading > span.is-reference { color: var(--theme-warning); }
.weapon-vehicle-result-heading > span.is-limited { color: var(--theme-danger); }
.weapon-vehicle-primary { display: flex; align-items: end; gap: 7px; margin-top: 15px; }
.weapon-vehicle-primary small { align-self: center; margin-right: 8px; color: var(--theme-text-muted); font-size: 9px; }
.weapon-vehicle-primary strong { font: 900 48px/1 "Barlow Condensed", sans-serif; }
.weapon-vehicle-primary span { padding-bottom: 4px; color: var(--theme-text-muted); font: 800 13px "Barlow Condensed", sans-serif; }
.weapon-vehicle-result dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin: 15px 0 0; overflow: hidden; border: 1px solid var(--theme-border); border-radius: 8px; background: var(--theme-border); }
.weapon-vehicle-result dl div { min-width: 0; padding: 10px; background: var(--theme-surface); }
.weapon-vehicle-result dt { color: var(--theme-text-muted); font-size: 8px; }
.weapon-vehicle-result dd { margin: 4px 0 0; color: var(--theme-text); font: 800 14px "Barlow Condensed", sans-serif; }
.weapon-vehicle-result > p { margin: 12px 0 0; color: var(--theme-text-muted); font-size: 9px; line-height: 1.6; }
.weapon-vehicle-caveat { margin: 16px 0 0; color: var(--theme-text-muted); font-size: 9px; line-height: 1.7; }
.weapon-vehicle-caveat strong { margin-right: 6px; color: var(--theme-text); }
.weapon-damage-methodology { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(280px, 1.5fr) minmax(260px, 1fr); gap: 20px; width: min(1720px, calc(100% - 48px)); margin: 0 auto 28px; padding: 20px 22px; border: 1px solid var(--theme-border); border-radius: 12px; background: var(--theme-surface); }
.weapon-damage-methodology span { color: var(--theme-accent-foreground); font: 800 10px "Barlow Condensed", sans-serif; letter-spacing: .14em; }
.weapon-damage-methodology h3 { margin: 5px 0 0; font-size: 15px; }
.weapon-damage-methodology p { margin: 0; color: var(--theme-text-muted); font-size: 10px; line-height: 1.7; }

@container (max-width: 1250px) {
  .weapon-damage-workspace { grid-template-areas: "controls visual"; grid-template-columns: minmax(0,1fr) minmax(360px,400px); }
  .weapon-damage-weapon-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .weapon-vehicle-layout { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .weapon-damage-hero { display: grid; padding: 22px 16px 18px; }
  .weapon-damage-hero h2 { font-size: 34px; }
  .weapon-damage-status { margin: 14px 12px 0; }
  .weapon-damage-workspace { grid-template-areas: "controls" "visual"; grid-template-columns: minmax(0,1fr); width: calc(100% - 24px); margin: 14px auto; }
  .weapon-damage-controls, .weapon-damage-detail { padding: 14px; }
  .weapon-damage-weapon-grid { grid-template-columns: repeat(4, minmax(0,1fr)); max-height: 240px; }
  .weapon-damage-body-shell { min-height: 510px; }
  .weapon-damage-body { height: 470px; }
  .weapon-damage-visual { position: static; }
  .weapon-damage-detail > header { display: flex; }
  .weapon-damage-primary { margin-top: 14px; }
  .weapon-damage-one-shot { margin-top: 14px; }
  .weapon-damage-methodology { grid-template-columns: 1fr; width: calc(100% - 24px); gap: 10px; margin-bottom: 18px; padding: 16px; }
  .weapon-vehicle-calculator { width: calc(100% - 24px); margin: 14px auto; padding: 16px; }
  .weapon-vehicle-calculator > header { display: grid; }
  .weapon-vehicle-calculator > header p { text-align: left; }
  .weapon-vehicle-selectors { grid-template-columns: 1fr; }
  .weapon-vehicle-selectors > p { grid-column: auto; }
}
@media (max-width: 520px) {
  .weapon-damage-hero { gap: 16px; }
  .weapon-damage-hero > div > p:last-child { font-size: 11px; }
  .weapon-damage-workspace { gap: 12px; }
  .weapon-damage-selected-image { width: 112px; }
  .weapon-damage-class-filter > header { align-items: end; }
  .weapon-damage-class-filter > header small { max-width: 150px; text-align: right; }
  .weapon-damage-class-filter > div { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x proximity; scrollbar-color: var(--theme-border-strong) transparent; }
  .weapon-damage-class-filter button { flex: 0 0 58px; scroll-snap-align: start; }
  .weapon-damage-weapon-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .weapon-damage-weapon-grid button { min-height: 66px; grid-template-rows: 38px auto; }
  .weapon-damage-distance-explorer { padding: 10px; }
  .weapon-damage-distance-presets { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .weapon-damage-distance-presets button { min-height: 64px; padding: 8px; }
  .weapon-damage-trend > header { flex-wrap: wrap; }
  .weapon-damage-trend-legend { justify-content: start; }
  .weapon-damage-trend-chart { min-height: 160px; }
  .weapon-damage-distance-list { grid-template-columns: 1fr; }
  .weapon-damage-segments.is-distance { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .weapon-damage-segments button { font-size: 9px; }
  .weapon-damage-segments button.has-armor-icon { grid-template-columns: 1fr; text-align: center; }
  .weapon-damage-segments button img { width: 26px; height: 26px; }
  .weapon-damage-visual > header { min-height: 66px; padding: 12px 14px; }
  .weapon-damage-visual > header h3 { font-size: 22px; }
  .weapon-damage-body-shell { min-height: 440px; padding-right: 0; padding-left: 0; }
  .weapon-damage-body { width: 100%; height: 410px; }
  .weapon-damage-region-list { grid-template-columns: repeat(5, minmax(52px, 1fr)); }
  .weapon-damage-region-list button { min-height: 66px; padding: 8px 4px; }
  .weapon-damage-region-list button b { font-size: 9px; }
  .weapon-damage-region-list button span { font-size: 15px; }
  .weapon-damage-region-list button small { display: none; }
  .weapon-damage-primary strong { font-size: 48px; }
  .weapon-damage-observed-result { margin: 10px; padding: 12px; }
  .weapon-damage-observed-result > header { display: grid; }
  .weapon-damage-observed-result > header > span { max-width: none; width: fit-content; text-align: left; }
  .weapon-damage-observed-primary { grid-template-columns: 1fr; }
  .weapon-damage-observed-primary > div strong { font-size: 42px; }
  .weapon-damage-limb-bands { grid-template-columns: 1fr; }
  .weapon-damage-limb-band { padding: 10px; }
  .weapon-damage-sample-guide ul { grid-template-columns: 1fr 1fr; }
  .weapon-vehicle-result-heading { align-items: start; flex-wrap: wrap; }
  .weapon-vehicle-result-heading > div { min-width: calc(100% - 132px); }
  .weapon-vehicle-primary strong { font-size: 42px; }
  .weapon-vehicle-result dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
}


/* Static weapon damage review overlay — no Telemetry trend or observation UI. */
.weapon-static-workspace { grid-template-columns: minmax(330px, 420px) minmax(520px, 1fr); }
.weapon-static-mark { display:grid; flex:0 0 auto; width:68px; height:68px; place-items:center; border:1px solid color-mix(in srgb,var(--theme-warning) 55%,var(--theme-border)); border-radius:12px; background:color-mix(in srgb,var(--theme-warning) 12%,var(--theme-surface)); color:var(--theme-warning); font:900 26px "Barlow Condensed",sans-serif; }
.weapon-static-selected > div { min-width:0; }
.weapon-static-selected strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.weapon-static-distance { padding:14px; border:1px solid var(--theme-border); border-radius:11px; background:var(--theme-surface-soft); }
.weapon-static-distance .weapon-damage-distance-slider { margin-top:0; }

.weapon-static-workspace .weapon-damage-class-filter > div { grid-template-columns:repeat(6,minmax(48px,1fr)); }
.weapon-static-workspace .weapon-damage-class-filter button { min-height:42px; padding:5px; font:800 10px "Barlow Condensed","Noto Sans KR",sans-serif; }
.weapon-static-workspace .weapon-damage-weapon-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:320px; }
.weapon-static-workspace .weapon-damage-weapon-grid button { display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto; align-items:center; gap:2px 8px; min-height:64px; padding:8px 9px; text-align:left; place-items:initial; }
.weapon-static-workspace .weapon-damage-weapon-grid button > span { grid-row:1 / 3; display:grid; width:34px; height:34px; place-items:center; border-radius:8px; background:color-mix(in srgb,var(--accent) 12%,var(--theme-surface)); color: var(--theme-accent-foreground); font:900 10px "Barlow Condensed",sans-serif; }
.weapon-static-workspace .weapon-damage-weapon-grid button > strong { min-width:0; overflow:hidden; color:var(--theme-text); text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.weapon-static-workspace .weapon-damage-weapon-grid button > small { min-width:0; overflow:hidden; color:var(--theme-text-muted); text-overflow:ellipsis; white-space:nowrap; font-size:8px; }
.weapon-static-workspace .weapon-damage-body .body-region.active { fill:color-mix(in srgb,var(--accent) 28%,var(--theme-surface)); stroke:var(--accent); stroke-width:4; filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 40%,transparent)); }
.weapon-static-result .weapon-damage-observed-primary > div > strong { font-size:38px; }
.weapon-static-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.weapon-static-metrics dd { overflow-wrap:anywhere; }
.weapon-static-provenance { margin-top:18px; }
.weapon-static-provenance [data-static-source-sha] { font-size:10px; }
.weapon-static-methodology { border-color:color-mix(in srgb,var(--theme-warning) 35%,var(--theme-border)); }
.weapon-static-methodology > div span { color:var(--theme-warning); }

@media (max-width:1100px) {
  .weapon-static-workspace { grid-template-columns:minmax(300px,390px) minmax(420px,1fr); }
  .weapon-static-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .weapon-static-workspace { grid-template-columns:minmax(0,1fr); grid-template-areas:"controls" "visual"; }
  .weapon-static-workspace .weapon-damage-controls,
  .weapon-static-workspace .weapon-damage-visual { width:100%; }
  .weapon-static-workspace .weapon-damage-body-shell { min-height:520px; }
}
@media (max-width:560px) {
  .weapon-training-picker-head { align-items: center; flex-direction: row; gap: 0; }
  .weapon-training-items { grid-template-columns: repeat(2,minmax(0,1fr)); padding-left: 18px; }
  .weapon-static-workspace .weapon-damage-class-filter > div { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .weapon-static-workspace .weapon-damage-weapon-grid { grid-template-columns:minmax(0,1fr); max-height:300px; }
  .weapon-static-workspace .weapon-damage-body { height:auto; }
  .weapon-static-workspace .weapon-damage-body-shell { min-height:470px; padding-right:4px; padding-left:4px; }
  .weapon-static-result .weapon-damage-observed-primary { grid-template-columns:minmax(0,1fr); }
  .weapon-static-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .weapon-static-selected strong { font-size:25px; }
}

/* Three-column operator review layout: controls | body | damage data. */
.weapon-static-workspace {
  grid-template-areas:"controls visual detail";
  grid-template-columns:minmax(300px,360px) minmax(430px,1fr) minmax(300px,380px);
  align-items:start;
}
.weapon-static-detail { display:block; min-width:0; padding:0; overflow:hidden; }
.weapon-static-detail .weapon-static-result { margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.weapon-static-detail .weapon-damage-observed-primary { grid-template-columns:minmax(0,1fr); }
.weapon-static-detail .weapon-static-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
.weapon-static-workspace .weapon-damage-segments button.has-armor-icon { grid-template-columns:32px minmax(0,1fr); min-height:50px; padding:5px 4px; }
.weapon-static-workspace .weapon-damage-segments button.has-armor-icon img { width:31px; height:31px; }

@media (min-width:1101px) {
  .weapon-static-workspace > .weapon-damage-controls,
  .weapon-static-workspace > .weapon-static-detail {
    position:sticky;
    top:16px;
    align-self:start;
    max-height:calc(100vh - var(--header-h, 76px) - 40px);
    max-height:calc(100dvh - var(--header-h, 76px) - 40px);
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-color:var(--theme-border-strong) transparent;
  }
  .weapon-static-workspace > .weapon-damage-controls { scrollbar-gutter:stable; }
}

@media (max-width:1100px) and (min-width:901px) {
  .weapon-static-workspace {
    grid-template-areas:"controls visual" "detail detail";
    grid-template-columns:minmax(300px,380px) minmax(430px,1fr);
  }
  .weapon-static-detail .weapon-damage-observed-primary { grid-template-columns:minmax(150px,.8fr) minmax(180px,1.2fr); }
  .weapon-static-detail .weapon-static-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .weapon-static-workspace {
    grid-template-areas:"controls" "visual" "detail";
    grid-template-columns:minmax(0,1fr);
  }
  .weapon-static-detail { width:100%; }
}

/* Target armor spans the body calculator above the hit-region model. */
.weapon-static-body-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:0;
  min-width:0;
}
.weapon-static-body-layout > .weapon-damage-body-shell { min-width:0; }
.weapon-static-armor-panel {
  display:grid;
  align-content:start;
  gap:13px;
  min-width:0;
  margin:14px 14px 0;
  padding:13px;
  border:1px solid var(--theme-border);
  border-radius:10px;
  background:var(--theme-surface-soft);
}
.weapon-static-armor-panel > header { display:grid; gap:3px; padding-bottom:10px; border-bottom:1px solid var(--theme-border); }
.weapon-static-armor-panel > header small { color: var(--theme-accent-foreground); font:800 8px "Barlow Condensed",sans-serif; letter-spacing:.13em; }
.weapon-static-armor-panel > header strong { color:var(--theme-text); font-size:12px; }
.weapon-static-armor-panel .weapon-damage-filter-group { min-width:0; margin:0; padding:0; border:0; background:transparent; }
.weapon-static-armor-panel .weapon-damage-filter-group legend { margin-bottom:7px; }
.weapon-static-armor-panel .weapon-damage-filter-group > small { display:block; margin-top:6px; font-size:8px; line-height:1.45; }
.weapon-static-armor-panel .weapon-damage-segments { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.weapon-static-armor-panel .weapon-damage-segments button { min-width:0; min-height:58px; }
.weapon-static-armor-panel .weapon-damage-segments button.has-armor-icon {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:31px auto;
  justify-items:center;
  gap:2px;
  min-width:0;
  min-height:58px;
  padding:4px 2px;
}
.weapon-static-armor-panel .weapon-damage-segments button.has-armor-icon img { width:31px; height:31px; }
.weapon-static-armor-panel .weapon-damage-segments button span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }

/* Readability and metric switcher for the static damage review. */
.weapon-static-workspace .weapon-damage-controls header small,
.weapon-static-workspace .weapon-damage-detail header small,
.weapon-static-workspace .weapon-damage-visual > header small { font-size:10px; }
.weapon-static-workspace .weapon-damage-controls h3,
.weapon-static-workspace .weapon-damage-detail h3 { font-size:20px; }
.weapon-static-workspace .weapon-damage-visual > header {
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  min-height:0;
  padding:16px 18px 18px;
}
.weapon-static-workspace .weapon-damage-visual > header > div:first-child { flex:0 0 auto; }
.weapon-static-workspace .weapon-damage-visual > header h3 { font-size:29px; white-space:nowrap; }
.weapon-static-selected .weapon-damage-selected-image { width:124px; height:68px; border-color:color-mix(in srgb,var(--theme-warning) 45%,var(--theme-border)); background:color-mix(in srgb,var(--theme-warning) 7%,#eef1eb); }
.weapon-static-selected .weapon-damage-selected-image img { padding:5px 7px; }
.weapon-static-selected .weapon-damage-selected-image i { max-width:100%; padding:0 8px; overflow:hidden; color:#576058; text-overflow:ellipsis; white-space:nowrap; font-size:14px; letter-spacing:.04em; }
.weapon-static-selected strong { font-size:32px; }
.weapon-static-selected .weapon-static-selected-meta em { font-size:11px; }
.weapon-static-workspace .weapon-training-picker-head > div > span { font-size:20px; }
.weapon-static-workspace .weapon-training-picker-head > div > small { font-size:11px; }

.weapon-static-workspace .weapon-training-category > summary strong,
.weapon-static-workspace .weapon-training-category.is-unavailable strong { font-size:13px; }
.weapon-static-workspace .weapon-training-category > summary small,
.weapon-static-workspace .weapon-training-category.is-unavailable small { font-size:10px; }
.weapon-static-workspace .weapon-training-item-copy strong { font-size:12px; }
.weapon-static-workspace .weapon-training-item-copy small { font-size:9.5px; }
.weapon-static-workspace .weapon-damage-distance-slider > span:first-child { font-size:12px; }
.weapon-static-workspace .weapon-damage-distance-slider output { font-size:18px; }
.weapon-static-workspace .weapon-damage-distance-axis { font-size:11px; }
.weapon-static-detail-distance {
  display:grid;
  gap:8px;
  margin:0 0 14px;
  padding:12px;
}
.weapon-static-detail-distance > legend { margin:0; color:var(--theme-text); font-size:14px; font-weight:900; }
.weapon-static-detail-distance .weapon-damage-distance-slider { margin:0; }
.weapon-static-visual-actions { display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; width:100%; min-width:0; }
.weapon-static-metric-tabs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,720px);
  margin-inline:auto;
  gap:8px;
  padding:5px;
  border:2px solid color-mix(in srgb,var(--accent) 38%,var(--theme-border));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 6%,var(--theme-surface-soft));
  box-shadow:0 8px 22px color-mix(in srgb,#000 14%,transparent);
  box-sizing:border-box;
}
.weapon-static-metric-tabs button {
  display:grid;
  place-items:center;
  min-width:0;
  min-height:52px;
  padding:11px 14px;
  border:1px solid var(--theme-border-strong);
  border-radius:8px;
  background:var(--theme-surface);
  color:var(--theme-text);
  font:900 clamp(13px,1.3vw,17px)/1 "Barlow Condensed",sans-serif;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease;
}
html[data-theme="light"] .weapon-static-metric-tabs button:not(.active) { color:#596258; }
html[data-theme="dark"] .weapon-static-metric-tabs button:not(.active) { color:#dffb4f; }
.weapon-static-metric-tabs button:hover { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--theme-surface)); color:var(--theme-text); }
.weapon-static-metric-tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.weapon-static-metric-tabs button.active { border-color:color-mix(in srgb,var(--accent) 82%,var(--theme-border)); background:var(--accent); color:var(--brand-lime-text); box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent),0 5px 16px color-mix(in srgb,var(--accent) 32%,transparent); }
.weapon-static-workspace .weapon-damage-body .body-callouts text { font-size:15px; }
.weapon-static-workspace .weapon-damage-body .body-callouts text.value { font-size:24px; }
.weapon-static-workspace .weapon-damage-region-list button { min-height:82px; padding:11px 5px; }
.weapon-static-workspace .weapon-damage-region-list button b { font-size:13px; }
.weapon-static-workspace .weapon-damage-region-list button span { font-size:20px; }
.weapon-static-workspace .weapon-damage-region-list button small { font-size:9.5px; }
.weapon-static-workspace .weapon-static-armor-panel > header small { font-size:9px; }
.weapon-static-workspace .weapon-static-armor-panel > header strong { font-size:14px; }
.weapon-static-workspace .weapon-static-armor-panel .weapon-damage-filter-group > small { font-size:9.5px; }
.weapon-static-workspace .weapon-static-armor-panel .weapon-damage-segments button span { font-size:10.5px; }
.weapon-static-result .weapon-damage-observed-result > header h3 { font-size:20px; }
.weapon-static-result .weapon-damage-observed-result > header > span { font-size:10px; }
.weapon-static-result .weapon-damage-observed-primary > div small { font-size:10px; }
.weapon-static-result .weapon-damage-observed-primary > div > strong { font-size:42px; }
.weapon-static-result .weapon-damage-observed-primary dt,
.weapon-static-result .weapon-damage-metrics dt { font-size:10px; }
.weapon-static-result .weapon-damage-observed-primary dd,
.weapon-static-result .weapon-damage-metrics dd { font-size:16px; }

@media (max-width:1200px) {
  .weapon-static-workspace .weapon-damage-visual > header { align-items:stretch; flex-direction:column; }
  .weapon-static-visual-actions { justify-content:center; width:100%; }
}

@media (max-width:700px) {
  .weapon-static-workspace .weapon-damage-visual > header h3 { white-space:normal; }
  .weapon-static-metric-tabs { flex:1 1 100%; width:100%; gap:4px; padding:4px; }
  .weapon-static-metric-tabs button { min-width:0; min-height:48px; padding:8px 3px; font-size:13px; }
  .weapon-static-selected .weapon-damage-selected-image { width:108px; height:62px; }
  .weapon-static-selected strong { font-size:28px; }
  .weapon-static-armor-panel { gap:10px; margin:10px 8px 0; padding:10px; }
  .weapon-static-armor-panel .weapon-damage-segments { gap:3px; }
  .weapon-static-armor-panel .weapon-damage-segments button,
  .weapon-static-armor-panel .weapon-damage-segments button.has-armor-icon { min-height:52px; padding:3px 1px; }
  .weapon-static-armor-panel .weapon-damage-segments button.has-armor-icon { grid-template-rows:27px auto; }
  .weapon-static-armor-panel .weapon-damage-segments button.has-armor-icon img { width:27px; height:27px; }
  .weapon-static-armor-panel .weapon-damage-segments button span { font-size:8px; }
}

@media (max-width:560px) {
  .weapon-static-body-layout { grid-template-columns:minmax(0,1fr); gap:0; }
  .weapon-static-armor-panel {
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin:10px 10px 0;
  }
  .weapon-static-armor-panel > header { grid-column:1 / -1; }
  .weapon-static-armor-panel .weapon-damage-filter-group { align-self:start; }
}
