/* S05-B: Home owns masthead/HUD geometry; these rules only compose Battlefront. */
.br-battlefront main.container { max-width:1320px; padding:8px 24px 16px!important; }
.battlefront { min-width:0; flex-shrink:0; border:3px solid var(--br-outline); border-bottom:0; border-radius:12px 12px 0 0; background:#101e22; box-shadow:inset 0 2px 0 #b6c08a22; }
.br-battlefront .home-genesis .bf-heading { grid-template-columns:minmax(0,1fr); margin:0; }
.bf-heading h1 { margin:0; color:var(--br-gold); font-size:1.3rem; line-height:1.2; }
.bf-heading p,.bf-status p { margin:0; }
.bf-heading p,.bf-note { color:var(--br-text-muted); font-size:.8rem; line-height:1.5; }
.bf-status { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; font-size:.8rem; border-bottom:1px solid #495958; background:linear-gradient(#25362f,#101e22); border-radius:9px 9px 0 0; }
.bf-status > p { flex:1 1 240px; min-width:0; }
.bf-actions { display:flex; align-items:stretch; gap:8px; }
.bf-status .br-btn { display:flex; align-items:center; justify-content:center; min-height:48px; font-size:.8rem; padding:8px 14px; text-decoration:none; }
.bf-status .br-btn-primary { background:linear-gradient(#ffe476,#ffcd3e 40%,#dca321); border-radius:6px 6px 10px 10px; }
.bf-empty { display:grid; align-content:center; min-height:300px; padding:48px 24px; text-align:center; border-bottom:2px solid #7b865c; background:radial-gradient(ellipse at 50% 35%,#89946b25,transparent 65%),linear-gradient(#25362f,#101e22); }
.bf-empty p { max-width:38rem; margin:0 auto; line-height:1.6; color:var(--br-text-muted); }
.bf-empty h2 { font-size:1.65rem; color:var(--br-gold); }
.bf-arena { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); border-bottom:2px solid #7b865c; background:radial-gradient(ellipse at 30% 36%,#89946b35,transparent 60%),linear-gradient(135deg,#102329,#304c45 62%,#192b2d); }
.bf-cycle { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; padding:12px 18px; color:var(--br-gold); font-size:.85rem; border-bottom:1px solid #71837644; background:#10211f; }
.bf-cycle p { margin:0; }
.bf-cycle time { display:block; color:var(--br-text); font-variant-numeric:tabular-nums; }
.bf-scene { height:400px; min-width:0; display:flex; justify-content:center; align-items:flex-end; background:radial-gradient(ellipse at 50% 94%,#08110abf,transparent 42%),linear-gradient(176deg,transparent 64%,#3e4833 64.3%,#202d26); }
.bf-scene img { width:400px; height:400px; max-width:100%; object-fit:contain; object-position:bottom center; transform-origin:bottom center; }
.bf-wall-controls { min-width:0; align-self:center; margin:18px; padding:18px; border:3px solid var(--br-outline); border-radius:10px 10px 16px 16px; background:linear-gradient(#25362f,#101e22); box-shadow:inset 0 2px 0 #b6c08a44,0 4px 0 #080f13; }
.bf-progress-heading { display:flex; justify-content:space-between; gap:10px; margin-bottom:8px; }
.bf-progress { height:24px; overflow:hidden; border-radius:6px; background:#080f13; border:3px solid var(--br-outline); box-shadow:0 1px 0 #b2c27d55; }
.bf-progress span { display:block; height:100%; background:linear-gradient(#d4ff75,#7caf22); box-shadow:inset 0 2px 0 #ffffff88; }
.bf-totals,.bf-participation,.bf-personal { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0 0; }
.battlefront dt { color:var(--br-text-muted); font-size:.75rem; font-weight:500; }
.battlefront dd { margin:3px 0 0; font-weight:800; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.bf-totals dd { font-size:clamp(1rem,2vw,1.4rem); color:var(--br-gold); }
.bf-wall-controls p { margin:12px 0 0; font-size:.8rem; overflow-wrap:anywhere; }
.bf-wall-controls small { display:block; color:var(--br-text-muted); }
.bf-summary { padding:18px; display:grid; grid-template-columns:1fr 2fr; gap:18px; border-bottom:1px solid #526153; background:linear-gradient(#25362f,#101e22); }
.bf-participation > div,.bf-personal > div { min-width:0; border-left:2px solid #67744877; padding-left:10px; }
.bf-participation { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.bf-personal { grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; }
.bf-summary h2 { margin:0 0 8px; }
.bf-records { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:18px; }
.bf-panel { min-width:0; border:3px solid var(--br-outline); border-top-color:#8f7f47; border-radius:8px 8px 12px 12px; padding:16px; background:linear-gradient(#25362f,#101e22); box-shadow:inset 0 2px 0 #b6c08a22,0 4px 0 var(--br-outline); }
.bf-panel h2 { margin-bottom:8px; color:var(--br-gold); }
.bf-tabs,.bf-pagination { display:flex; align-items:center; gap:8px; }
.bf-tabs .br-btn { flex:1; }
.bf-tabs [aria-pressed='true'] { border-color:var(--br-gold); color:var(--br-gold); box-shadow:inset 0 -3px 0 var(--br-gold); }
.bf-panel .br-btn { min-height:44px; font-size:.8rem; padding:8px; }
.bf-pagination { justify-content:space-between; margin-top:12px; font-size:.75rem; }
.bf-ranks { list-style:none; padding:0; margin:8px 0; }
.bf-ranks li { display:grid; grid-template-columns:minmax(85px,1fr) minmax(0,1fr); gap:8px; margin:6px 0; padding:10px 8px; border:1px solid #526153; border-radius:4px; background:#0d191c; box-shadow:inset 0 2px 3px #0005; font-size:.85rem; }
.bf-ranks li[data-is-me='true'] { border-left:3px solid var(--br-accent-green); background:#c8ff3d12; }
.bf-ranks strong { overflow-wrap:anywhere; text-align:right; font-variant-numeric:tabular-nums; }
.bf-history-entry { margin-top:12px; border:1px solid #526153; border-radius:6px; padding:12px; background:#0d191c; }
.bf-history-entry h3 { display:flex; flex-wrap:wrap; gap:6px 12px; color:var(--br-gold); }
.bf-history-entry dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:8px; }
.bf-history-entry p,[data-board-status],[data-history-status] { font-size:.8rem; margin:10px 0; }
.br-battlefront main > .br-bottom-nav { flex-shrink:0; margin:0; border:3px solid var(--br-outline); border-top:1px solid #7b865c; border-radius:0 0 10px 10px; }
.br-battlefront .br-nav-item { text-decoration:none; word-break:normal; overflow-wrap:normal; }
.br-battlefront [hidden] { display:none!important; }
@media(max-width:767.98px) {
 .br-battlefront main.container { padding:4px 8px 8px!important; }
 .br-battlefront .home-genesis .bf-heading { padding-left:116px; }
 .br-battlefront main > .br-mobile-dock { position:sticky; bottom:0; left:auto; right:auto; width:100%; }
 .bf-status { padding:10px; }
 .bf-status > p { flex-basis:100%; }
 .bf-actions { width:100%; }
 .bf-actions > a { flex:1; }
 .bf-arena { grid-template-columns:minmax(0,1fr); }
 .bf-scene { height:340px; }
 .bf-scene img { width:340px; height:340px; }
 .bf-cycle { padding:12px 12px 0; font-size:.75rem; }
 .bf-wall-controls { margin:10px; padding:12px; }
 .bf-totals { grid-template-columns:1fr 1fr; }
 .bf-totals > div:first-child { grid-column:1/-1; }
 .bf-summary,.bf-records { grid-template-columns:1fr; gap:16px; }
 .bf-summary,.bf-records { padding:12px 10px; }
 .bf-personal { grid-template-columns:1fr 1fr; }
 .bf-panel { padding:12px; }
 .bf-empty { padding:40px 16px; }
}

.br-battlefront [data-anonymous] a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px; }

.br-battlefront .br-btn-neutral, .br-battlefront .br-btn-green { --button-ink:var(--br-text); }

/* C5 human review: keep English control labels whole without shrinking type. */
.br-battlefront [data-refresh] { white-space:nowrap; flex-shrink:0; }
.br-battlefront [data-nav-item="battlefront"] > span:last-child {
 word-break:normal; overflow-wrap:normal; white-space:nowrap;
}
@media(max-width:600px) {
 html[lang="en"] .br-battlefront main > .br-bottom-nav {
  grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.85fr);
 }
}
