/* Shared, shipped icons: text and accessible labels remain the source of meaning. */
.game-icon{display:inline-block;width:22px;height:22px;object-fit:contain;vertical-align:middle;flex:none;margin-right:4px}
button .game-icon,a .game-icon{pointer-events:none}.coin-icon .game-icon,.star-icon .game-icon{width:100%;height:100%;margin:0}.game-icon.local-save-icon{width:15px;height:15px}
#pause-btn .game-icon,#close-arsenal .game-icon,.dialog-close .game-icon{width:26px;height:26px;margin:0}.auto-btn .game-icon{width:18px;height:18px;margin-right:1px}#fire-btn .game-icon{width:23px;height:23px;margin:0 2px 0 0}
.upgrade button .game-icon,#buy-gun .game-icon{width:18px;height:18px;margin-right:1px}.big-number .game-icon{height:44px;width:44px}.settings-row>span{display:flex;align-items:center}.settings-row .game-icon{width:27px;height:27px}.arsenal-header h3{display:flex;align-items:center}.arsenal-header .game-icon{width:22px;height:22px}.arsenal-help .game-icon{width:18px;height:18px}.weapon-detail .game-icon,.catalog-card p .game-icon,.catalog-card dt .game-icon{width:17px;height:17px;margin-right:2px}.forge-ingredient>.game-icon{height:35px!important;width:35px!important}.forge-result-title .game-icon{width:24px;height:24px}
.world-hud .live-pill:after{content:none}.world-hud .live-pill{max-width:calc(100% - 150px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;height:auto;min-height:29px;font-size:10px;letter-spacing:0}.progress-hud{width:calc(50% - 28px);max-width:280px}.progress-hud>div:first-child{gap:8px;align-items:center}.progress-hud #objective-label{min-width:0;line-height:1.4}.progress-hud #progress-text{white-space:nowrap;flex:none}.evolution-hud{width:calc(50% - 28px);max-width:240px}.campaign-challenge{position:absolute;left:18px;top:133px;max-width:calc(100% - 36px);padding:5px 9px;border:1px solid #b99d72;border-radius:10px;background:#fff8e0e8;color:#80664f;font-size:10px;pointer-events:none;display:grid;gap:2px}.campaign-challenge .game-icon{width:17px;height:17px}.campaign-challenge strong{font-size:10px;font-weight:650;padding-left:21px}.campaign-challenge.challenge-missed{background:#efe7e0e8;border-color:#b8aca0;color:#817165}.campaign-challenge[hidden],.campaign-result[hidden],.legacy-campaign-notice[hidden]{display:none}
.legacy-campaign-notice{display:flex;align-items:center;gap:9px;padding:9px 12px;background:#fff0cc;border:2px solid #bca37f;border-radius:13px;color:#806348;margin-bottom:10px}.legacy-campaign-notice p{font-size:11px;margin:0;flex:1}.legacy-campaign-notice button{padding:7px 10px;background:#d4e7c6;border:1px solid #a9b48c;border-radius:8px;font-weight:750;color:#61734e}.legacy-campaign-notice button:last-child{padding:5px;background:none;font-size:20px;border:0}
.campaign-result{position:absolute;inset:12px;z-index:15;border:3px solid #b59675;box-shadow:0 7px #8c725730,0 0 0 30px #58453635;border-radius:22px 19px 23px 18px;padding:20px clamp(16px,4vw,36px);background:#fff8e8fa;overflow:auto;overscroll-behavior:contain;text-align:center;color:#725947;scrollbar-color:#cab08e #fff8e8}.campaign-result header .result-medal{display:block;margin:0 auto 5px;width:54px;height:54px}.campaign-result h2{font-size:24px;margin:3px 0 5px}.campaign-result header p{font-size:12px;margin:0 0 16px;color:#9a7763}.result-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-facts>div{display:grid;gap:5px;padding:12px 4px;background:#e9f0df;border:1px solid #c9d0b6;border-radius:12px}.result-facts strong{font-size:23px;color:#697a51}.result-facts span{font-size:11px}.result-rewards{margin:16px 0 8px;background:#fff1d6;border:1px solid #d6bc93;border-radius:12px;padding:6px 13px}.result-rewards>div{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:8px 0;gap:10px;border-bottom:1px dashed #d9c6aa}.result-rewards>div:last-child{border:0}.result-rewards dt{font-size:12px;font-weight:750}.result-rewards dt small{display:block;font-size:10px;font-weight:450;color:#a0866a;margin-top:2px}.result-rewards dd{margin:0;white-space:nowrap;font-weight:850}.result-total dd{font-size:22px;color:#ab7135}.result-note{font-size:11px;line-height:1.7;color:#917561;margin:9px 0 14px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.result-actions>:first-child{grid-column:1/-1}.result-actions>*{display:flex;align-items:center;justify-content:center;padding:10px;text-decoration:none;font-size:12px}.result-actions .game-icon{width:21px;height:21px}.campaign-journey{width:100%;text-align:left;cursor:pointer}.campaign-journey:disabled{opacity:.7;cursor:default}.campaign-journey>span:nth-child(2){display:grid;gap:4px}.campaign-journey strong{font-size:12px}.campaign-journey small{font-size:10px}.campaign-journey .badge{display:flex;align-items:center;white-space:nowrap;font-size:9px}.campaign-journey .game-icon{width:19px;height:19px}
.lobby-mode-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.lobby-mode-actions .site-primary{font:inherit;font-weight:800;text-align:left;cursor:pointer}.lobby-mode-actions .site-primary small{display:block;margin-top:7px;font-size:11px;font-weight:450}.lobby-mode-actions .secondary-btn{padding:10px 15px}.lobby-mode-actions .text-btn{font-size:12px}.campaign-overview{display:flex;gap:20px;justify-content:space-between;align-items:center;border:2px solid #b3a480;border-radius:20px;padding:20px;background:#f0f3d9;box-shadow:0 4px #d6c8a6;margin-bottom:30px}.campaign-overview strong{font-size:23px;color:#718052}.campaign-overview p{font-size:12px;line-height:1.7;margin:7px 0 0;color:#8b795e}.campaign-overview-actions{display:flex;gap:10px;flex-wrap:wrap}.campaign-overview-actions button{font:inherit;font-size:12px;cursor:pointer;padding:10px 14px}.campaign-chapters{display:grid;gap:30px}.campaign-chapter{--chapter-ground:#e7eed7;--chapter-accent:#89a071;border:2px solid #bba389;border-radius:23px;padding:20px;background:#fff9ec;box-shadow:0 5px #d8c4aa;min-width:0}.chapter-2{--chapter-ground:#f7e5d3;--chapter-accent:#c79a7b}.chapter-3{--chapter-ground:#e4e8f4;--chapter-accent:#969fc0}.chapter-heading{display:flex;align-items:center;gap:18px;padding:0 0 18px}.chapter-art{height:80px;width:100px;flex:none;border-radius:18px;background:var(--chapter-ground);display:grid;place-items:center;border:1px solid var(--chapter-accent)}.chapter-art img{width:70px;height:75px;object-fit:contain}.chapter-heading h2{font-size:24px;margin:0 0 6px}.chapter-heading p{font-size:12px;color:#9a826a;margin:0}.chapter-dots{display:flex;gap:7px;margin-left:auto}.chapter-dots>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#ede8dd;color:#b2a18b;font-size:12px;font-weight:800;border:1px solid #d7c9b6}.chapter-dots>span.done{background:var(--chapter-ground);border-color:var(--chapter-accent)}.chapter-dots .game-icon{width:26px;height:26px;margin:0}.campaign-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.campaign-level{min-width:0;display:flex;flex-direction:column;background:var(--chapter-ground);border:2px solid #c4b69b;border-radius:15px;padding:13px 11px}.campaign-level.current{border-color:#b286a4;box-shadow:0 0 0 2px #f3d4e3}.campaign-level.locked{background:#f0ece3;border-color:#d8cec0;color:#9a8d7b}.level-card-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.level-index{font-weight:900;font-size:16px;color:#92766a}.level-state{font-size:10px;display:flex;align-items:center;white-space:nowrap;color:#8c775f}.level-state .game-icon{width:20px;height:20px;margin-right:2px}.campaign-level h3{font-size:16px;line-height:1.5;margin:12px 0 7px;min-height:48px}.level-goal{font-size:12px;line-height:1.6;margin:0 0 8px;color:#76624f;font-weight:750;min-height:38px}.level-description{font-size:10px;line-height:1.7;color:#8d7b64;min-height:68px;margin:0 0 10px}.level-challenge{display:flex;gap:2px;font-size:10px;line-height:1.6;background:#fff9ef8f;border-radius:8px;padding:7px 5px;min-height:49px}.level-challenge .game-icon{width:19px;height:19px;margin-right:1px}.level-rewards{display:grid;gap:4px;margin-top:10px;font-size:10px;color:#96713d}.level-rewards .game-icon{width:19px;height:19px;margin-right:1px}.level-record{font-size:9px;color:#8e7963;line-height:1.6;margin:9px 0;min-height:29px}.campaign-level button{width:100%;margin-top:auto;padding:7px 3px;font-size:11px;cursor:pointer}.campaign-level button:disabled{cursor:default}.campaign-level button .game-icon{width:19px;height:19px;margin-right:2px}.campaign-storage-note{font-size:11px;line-height:1.7;text-align:center;color:#99816d;margin-top:23px}
@media(max-width:1100px){.campaign-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-overview{flex-wrap:wrap}.campaign-level h3{min-height:0}.level-description{min-height:51px}}
@media(max-width:730px){.world-hud .live-pill{max-width:calc(100% - 139px);font-size:8px;padding:7px 8px}.progress-hud{top:49px;left:10px;width:calc(51% - 17px);padding:5px 7px}.progress-hud>div:first-child{font-size:8px;gap:3px;min-height:23px}.progress-hud strong{font-size:8px}.evolution-hud{top:49px;right:10px;width:calc(49% - 17px);min-width:0}.campaign-challenge{left:10px;top:118px;max-width:calc(100% - 20px);font-size:8px;padding:3px 6px}.campaign-challenge .game-icon{width:15px;height:15px}.campaign-challenge strong{font-size:8px;padding-left:19px}.campaign-result{inset:8px;padding:12px 13px;border-radius:17px}.campaign-result header .result-medal{width:39px;height:39px;margin-bottom:2px}.campaign-result h2{font-size:19px}.campaign-result header p{font-size:10px;margin-bottom:10px}.result-facts{gap:5px}.result-facts>div{padding:8px 2px}.result-facts strong{font-size:19px}.result-facts span{font-size:9px}.result-rewards{margin-top:11px;padding:3px 9px}.result-rewards>div{padding:7px 0}.result-rewards dt{font-size:11px}.result-rewards dt small{font-size:9px}.result-rewards dd{font-size:15px}.result-total dd{font-size:20px}.result-note{font-size:10px;margin:7px 0 11px}.result-actions{gap:8px}.result-actions>*{padding:8px;font-size:11px;min-height:38px}.legacy-campaign-notice{padding:6px 8px;margin:0 0 5px;gap:6px}.legacy-campaign-notice p{font-size:9px}.legacy-campaign-notice button{font-size:9px;padding:6px}.chapter-heading{gap:10px;flex-wrap:wrap;padding-bottom:13px}.chapter-art{width:65px;height:64px}.chapter-art img{width:52px;height:60px}.chapter-heading h2{font-size:21px}.chapter-heading p{font-size:10px}.chapter-dots{margin-left:auto;gap:3px}.chapter-dots>span{width:22px;height:25px;font-size:9px;border-radius:7px}.chapter-dots .game-icon{width:21px;height:21px}.campaign-chapter{padding:13px 11px;border-radius:18px}.campaign-level-grid{grid-template-columns:1fr;gap:11px}.campaign-level{padding:13px;display:grid;grid-template-columns:1fr auto;column-gap:10px}.level-card-top,.campaign-level h3,.level-goal,.level-description,.level-challenge,.level-rewards,.level-record{grid-column:1/-1}.campaign-level h3{font-size:18px;margin:5px 0}.level-goal{min-height:0;font-size:12px;margin-bottom:5px}.level-description{min-height:0;font-size:11px;margin-bottom:9px}.level-challenge{min-height:0;font-size:10px;align-items:center}.level-rewards{display:flex;gap:12px;font-size:10px}.level-record{min-height:0;margin-bottom:8px}.campaign-level button{grid-column:1/-1;min-height:39px}.campaign-overview{padding:16px;gap:13px;margin-bottom:20px}.campaign-overview strong{font-size:21px}.campaign-overview p{font-size:11px}.campaign-overview-actions{width:100%;gap:8px}.campaign-overview-actions button{flex:1;font-size:10px;padding:9px 8px}.campaign-overview-actions .game-icon{width:19px;height:19px}.lobby-mode-actions{gap:11px}.lobby-mode-actions .secondary-btn{font-size:11px}.campaign-storage-note{font-size:10px}.lobby-hero .game-icon{width:22px;height:22px}}
@media(max-width:359px){.chapter-dots{width:100%;margin-left:75px;margin-top:-3px}.campaign-challenge{font-size:7px}.world-hud .live-pill{max-width:calc(100% - 133px)}}
@media(max-height:610px) and (min-width:731px){.campaign-result{padding:12px 25px}.campaign-result header .result-medal{display:none}.campaign-result h2{font-size:19px}.result-rewards>div{padding:5px 0}.result-facts>div{padding:7px}.result-rewards{margin-top:10px}.result-note{margin:6px 0}.result-actions>*{padding:6px}}
#objective-label small{display:block;font-size:8px;font-weight:450;color:#a18664;margin-top:1px}
@media(max-width:730px){#objective-label small{font-size:7px}.progress-hud>div:first-child{min-height:32px}}
/* Keep the firing label inside the round touch target on narrow screens. */
.chapter-4{--chapter-ground:#f1e3d0;--chapter-accent:#b69a80}
.new-region-art{font-size:37px;color:#ad8664;letter-spacing:2px}.new-map-tag{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:5px;background:#fff3bf;color:#91713d;font-size:9px;vertical-align:middle}
.campaign-level-grid{grid-template-columns:repeat(var(--level-columns,5),minmax(0,1fr))}
@media(max-width:1100px){.campaign-level-grid{grid-template-columns:repeat(min(3,var(--level-columns,5)),minmax(0,1fr))}}
@media(max-width:730px){.campaign-level-grid{grid-template-columns:1fr}}
#fire-btn{width:76px;height:76px;padding:0;line-height:1.2}
#fire-btn .fire-label{display:inline-flex;align-items:center;justify-content:center;gap:2px;white-space:nowrap;font-size:17px;letter-spacing:0;line-height:22px}
#fire-btn .fire-label>[data-icon]{display:flex;align-items:center}
#fire-btn .fire-label .game-icon{width:18px;height:18px;margin:0}
#fire-btn small{display:block;white-space:nowrap;font-size:9px;line-height:12px;margin:4px 0 0}
@media(max-width:730px),(pointer:coarse){#fire-btn{display:flex;flex-direction:column;align-items:center;justify-content:center}}

.map-preview-notice{padding:8px 11px;margin-bottom:7px;border:1px solid #bba581;border-radius:10px;background:#fff0c9;font-size:11px;color:#85684b;line-height:1.8;display:flex;flex-wrap:wrap;gap:3px 10px}.map-preview-notice a,.new-map-preview{color:#85684b;font-weight:650}.new-map-preview{display:block;text-align:center;font-size:10px;margin-top:9px;padding:6px;grid-column:1/-1}

.new-region-art{display:flex;align-items:center;justify-content:center;width:100%}.new-region-art img{width:53%;max-width:52px;object-fit:contain}.new-region-art img+img{margin-left:-10px}

.chapter-5{--chapter-ground:#f7dfdc;--chapter-accent:#b58fbd}.chapter-5 .chapter-art img{width:80px;height:70px;object-fit:contain}

.chapter-art canvas{width:90%;height:90%;object-fit:contain}

.chapter-6{--chapter-ground:#e9e2f3;--chapter-accent:#aa93c1}
