/* US English needs room to breathe. Load after the gameplay and HUD styles. */
html[lang="en-US"] {font-family:ui-rounded,"Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;}
html[lang="en-US"] :is(button,a,summary,label,h1,h2,h3,p,small) {overflow-wrap:break-word;}
.topbar .brand {min-width:0;gap:9px;flex-shrink:1;}
.topbar .game-brand-name {display:block;min-width:0;font-size:20px;font-weight:900;line-height:1.05;letter-spacing:.02em;white-space:normal;text-wrap:balance;}
.topbar .game-brand-name small {display:block;margin-top:4px;font-size:10px;font-weight:750;letter-spacing:.12em;line-height:1.2;}
.topbar .wallet {flex:none;gap:8px;}
.topbar .wallet > div {min-width:0;}
.topbar .wallet small {white-space:nowrap;}
.topbar .icon-btn {flex:none;min-width:44px;min-height:44px;}
.launch-copy h1 {max-width:680px;margin:7px auto;font-size:clamp(28px,4.2vw,44px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;}
.launch-copy p {font-size:16px;line-height:1.4;text-wrap:balance;}
.launch-copy button {min-width:min(290px,100%);max-width:100%;white-space:normal;line-height:1.25;}
.launch-copy small {display:block;line-height:1.6;text-wrap:balance;}
.site-nav {flex-wrap:wrap;}
.site-nav a {min-height:44px;white-space:normal;}
.site-heading h1,.lobby-hero h1,.panel-heading h2 {text-wrap:balance;line-height:1.18;}
.site-heading p,.lobby-hero p,.site-box p {text-wrap:pretty;}
.site-primary,.primary-btn,.secondary-btn,.text-btn,.site-setting button {white-space:normal;line-height:1.4;}
.site-primary,.primary-btn,.secondary-btn,.site-setting button {min-height:44px;}
.lobby-mode-actions > * {max-width:100%;}
.catalog-controls {flex-wrap:wrap;}
.catalog-controls label {min-width:0;}
.catalog-controls input,.catalog-controls select {max-width:100%;}
.catalog-card {min-width:0;}
.catalog-top {flex-wrap:wrap;align-items:center;}
.catalog-top small {padding-top:0;}
.catalog-card h2 {line-height:1.3;}
.catalog-card dl {gap:10px;flex-wrap:wrap;}
.catalog-card button {min-height:44px;line-height:1.4;white-space:normal;}
.skin-grid span {line-height:1.4;}
.tabs button {min-width:0;line-height:1.25;white-space:normal;padding-inline:6px;}
.upgrade-top {gap:8px;}
.upgrade-top > div:not(.upgrade-icon) {min-width:0;}
.upgrade h3 {line-height:1.3;}
.upgrade button {min-height:44px;gap:8px;flex-wrap:wrap;white-space:normal;line-height:1.35;}
.upgrade button > span {white-space:normal;}
.journey-item {min-width:0;gap:8px;}
.journey-item > :nth-child(2) {min-width:0;}
.journey-item .badge {flex:none;white-space:normal;text-align:right;line-height:1.3;}
.chapter-heading > div,.level-card-top {min-width:0;}
.level-card-top {flex-wrap:wrap;gap:5px;}
.level-state {white-space:normal;line-height:1.4;}
.campaign-level h3 {text-wrap:balance;}
.campaign-level > button {min-height:44px;line-height:1.35;}
.campaign-overview-actions {flex-wrap:wrap;}
.campaign-overview-actions button {white-space:normal;line-height:1.4;}
.campaign-result .result-hero header > div {min-width:0;}
.campaign-result .result-hero h2 {text-wrap:balance;}
.result-primary-action > * {min-height:46px;white-space:normal;line-height:1.25;text-align:center;}
.campaign-result .result-actions > * {min-height:44px;white-space:normal;line-height:1.4;}
.result-rewards dt {min-width:0;padding-right:8px;}
.result-rewards dd {flex:none;white-space:nowrap;}
.combat-failure {overflow-y:auto;}
.combat-failure-card {margin-block:auto;}
.combat-failure h2 {text-wrap:balance;line-height:1.2;}
.combat-failure button,.combat-failure a {min-height:44px;white-space:normal;line-height:1.35;}

/* Keep actual goal, weapon, and bonus labels readable instead of ellipsizing. */
.compact-hud .compact-hud-left > .live-pill,
.compact-hud #objective-label,
.compact-hud #challenge-progress,
.compact-hud #boss-name,
.compact-hud #arsenal-current-name,
.compact-hud #arsenal-current-dps {overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:break-word;}
.compact-hud .progress-hud > div:first-child,
.compact-hud .evolution-hud > div:first-child {align-items:flex-start;line-height:1.35;}
.compact-hud .evolution-hud > div:first-child > span {min-width:0;}
.compact-hud #campaign-challenge {align-items:flex-start;border-radius:9px;line-height:1.4;}
.compact-hud #campaign-challenge::before {flex:none;}
.compact-hud #challenge-progress {font-size:9px;}
.compact-hud #boss-name {max-width:none;flex:1 1 100px;}
.compact-hud #arsenal-toggle {min-height:58px;}
.compact-hud #arsenal-current-name {font-size:11px;line-height:1.2;}
.compact-hud #arsenal-current-dps {line-height:1.3;}
.compact-hud #arsenal-badge {max-width:70px;white-space:normal;}
.arsenal-header {display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:8px;}
.arsenal-header > div {min-width:0;}
.arsenal-header small {line-height:1.4;}
.arsenal-help {max-width:96px;white-space:normal;line-height:1.25;min-height:44px;}
.arsenal-dock #quick-weapons button {flex-basis:170px;min-height:72px;}
.arsenal-dock #quick-weapons span {overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35;}
.arsenal-dock #bag-grid .slot {height:auto;min-height:88px;padding-top:17px;}
.arsenal-dock #bag-grid .slot small {white-space:normal;line-height:1.3;}
.arsenal-dock #bag-grid .slot.equipped::before {font-size:7px;}
.arsenal-dock .forge-ingredient,.arsenal-dock .forge-output {height:auto;min-height:96px;}
.arsenal-dock .forge-ingredient small,.arsenal-dock .forge-output small {overflow-wrap:break-word;line-height:1.3;}
.arsenal-dock .forge-heading {flex-wrap:wrap;}
.arsenal-dock .forge-heading button {white-space:normal;}
.arsenal-dock .forge-comparison > span {min-width:0;}
.arsenal-dock .forge-comparison b {white-space:normal;}
.arsenal-dock .bag-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.arsenal-dock .bag-actions button,.arsenal-dock #buy-gun,.arsenal-dock #forge-confirm,.arsenal-dock #forge-again {white-space:normal;line-height:1.35;}
.arsenal-dock #buy-gun {flex-wrap:wrap;}
.fusion-guide-top {align-items:flex-start;}
#dismiss-fusion-guide {width:auto;min-width:44px;white-space:normal;}
.fusion-guide-steps li {align-items:flex-start;line-height:1.35;overflow-wrap:normal;}
.fusion-guide-steps li::before {margin-top:1px;}

/* Settings retain full labels; their toggles never steal the label column. */
dialog {max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;}
dialog h2 {line-height:1.2;text-wrap:balance;}
dialog .settings-row,.site-setting,.audio-channel-title {gap:12px;align-items:center;}
dialog .settings-row > span,.site-setting > div,.audio-channel-title > :first-child {min-width:0;flex:1;}
dialog .settings-row button,.site-setting button,.audio-channel-title .secondary-btn {flex:none;min-width:74px;max-width:120px;width:auto;min-height:44px;white-space:normal;line-height:1.3;}
.audio-auditions button {min-height:44px;white-space:normal;}
.audio-volume {grid-template-columns:minmax(92px,auto) minmax(0,1fr);}
.audio-subtitles-option {align-items:flex-start;line-height:1.5;}
.audio-subtitles-option input {flex:none;margin-top:3px;}
.motion-settings .settings-row small {line-height:1.6;}
body:not(.site-page) .play-column:has(> .compact-hud) > .map-preview-notice {flex-wrap:wrap;}
body:not(.site-page) .play-column:has(> .compact-hud) > .map-preview-notice > span {flex-basis:100%;overflow:visible;text-overflow:clip;white-space:normal;}

@media(max-width:730px) {
 .topbar .game-brand-name {font-size:16px;}
 .topbar .game-brand-name small {font-size:8px;letter-spacing:.09em;}
 .topbar .wallet {gap:4px;}
 .topbar .wallet > div {padding:4px;gap:2px;}
 .topbar .wallet strong {font-size:11px;}
 .launch-copy h1 {font-size:clamp(27px,7.6vw,36px);max-width:420px;}
 .launch-copy p {font-size:14px;}
 .launch-copy small {max-width:340px;}
 .site-nav a {flex:1 1 130px;justify-content:center;padding:5px 8px;}
 .catalog-controls label {flex:1 1 145px;}
 .catalog-controls input,.catalog-controls select {width:100%;}
 .catalog-card h2 {font-size:15px;}
 .catalog-card button {font-size:11px;}
 .campaign-result .result-hero h2 {font-size:21px;}
 .campaign-result .result-actions {grid-template-columns:1fr;}
 .result-primary-action > * {font-size:16px;}
 .arsenal-header {grid-template-columns:minmax(0,1fr) 44px;}
 .arsenal-header > div {grid-column:1;grid-row:1;}
 .arsenal-header #close-arsenal {grid-column:2;grid-row:1;}
 .arsenal-header .arsenal-help {grid-column:1/-1;justify-self:start;max-width:none;min-height:44px;padding:6px 10px;}
 .arsenal-dock #bag-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
 .arsenal-dock #bag-grid .slot {min-height:88px;}
 .arsenal-dock #bag-grid .slot small {font-size:10px;}
 .arsenal-dock .forge-ingredient small,.arsenal-dock .forge-output small {font-size:10px;}
 .fusion-guide-steps {grid-template-columns:1fr;gap:4px;}
 .fusion-guide-steps li {align-items:center;padding:5px 7px;font-size:10px;}
 body:not(.site-page) #panel-upgrade .upgrade h3 {font-size:11px;}
 body:not(.site-page) #panel-upgrade .upgrade-top {align-items:flex-start;}
 body:not(.site-page) #panel-upgrade .upgrade .level {margin-left:0;}
 body:not(.site-page) #panel-upgrade .upgrade button {display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;min-height:48px;padding:5px 3px;gap:3px;}
 body:not(.site-page) #panel-upgrade .upgrade button span {font-size:10px;}
}
@container battle-hud (max-width:760px) {
 .compact-hud #arsenal-current-name {font-size:10px;}
 .compact-hud .compact-hud-left > .live-pill {line-height:1.2;}
 .compact-hud #arsenal-toggle {padding:6px;}
}
@media(max-width:380px) {
 .topbar .game-brand-name {font-size:13px;}
 .topbar .game-brand-name small {font-size:7px;letter-spacing:.04em;}
 .topbar .brand {gap:0;}
 .topbar .brand-mark {display:none;}
 .topbar .coin-icon,.topbar .star-icon {width:19px;height:19px;}
 .topbar .wallet > div {padding:3px;}
 .topbar .wallet strong {font-size:10px;}
 .topbar .icon-btn {width:44px;padding:4px;}
 .arsenal-dock .bag-actions {grid-template-columns:1fr;}
 dialog .settings-row {flex-wrap:wrap;}
 dialog .settings-row > span {flex-basis:160px;}
 .audio-volume {gap:8px;grid-template-columns:90px minmax(0,1fr);}
}
@media(max-height:560px) and (orientation:landscape) {
 body:not(.site-page):has(.game-shell.compact-hud) .brand .game-brand-name small {display:block;font-size:7px;letter-spacing:.04em;margin-top:2px;}
 body:not(.site-page):has(.game-shell.compact-hud) .topbar .game-brand-name {font-size:14px;}
 .arsenal-header {grid-template-columns:minmax(0,1fr) auto 44px;}
 .arsenal-header > div {grid-column:1;grid-row:1;}
 .arsenal-header .arsenal-help {grid-column:2;grid-row:1;max-width:96px;}
 .arsenal-header #close-arsenal {grid-column:3;grid-row:1;}
 .campaign-result .result-hero h2 {font-size:18px;}
 .campaign-result .result-actions {grid-template-columns:repeat(2,minmax(0,1fr));}
}
