/* Every battle feature remains available at each width; only its placement changes. */
.arena-shell { max-width:1360px; padding:20px max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
.arena-shell :is(section,article,aside,form,label),.arena-combatant-heading>div,#arenaIdentityName { min-width:0; }
.arena-shell button { white-space:normal; line-height:1.4; padding:10px 14px; max-width:100%; }
.arena-shell :is(input,select,textarea) { min-width:0; max-width:100%; font-size:16px; }
.arena-shell :is(button,select,input:not([type=hidden])) { min-height:48px; }
.arena-shell :is(button,a,select,input,textarea):focus-visible { outline:3px solid #f3d59a; outline-offset:3px; }
.arena-shell .arena-actions { gap:10px; }
.arena-shell .arena-card button { margin-top:0; }
.arena-shell .arena-grid>.arena-card>[data-action=add] { margin-top:auto; }
.arena-shell .arena-card>h2 { margin-top:0; }
.arena-shell .arena-card :is(p,strong):empty { display:none; }
#arenaError:empty,#arenaStatus:empty { display:none; }
#arenaNav { gap:12px; }
.arena-nav-block { padding:12px; }
.arena-nav-block>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.arena-nav-block button:last-child:nth-child(odd) { grid-column:1/-1; }
.arena-fighting .arena-nav-block button { min-height:44px; font-size:14px; padding:8px 10px; }
.arena-fighting .arena-nav-block { padding:8px; }
#arenaNav button[aria-current=page] { box-shadow:inset 0 0 0 1px #ad7c34; }
.arena-main-actions { gap:10px; }
.arena-shell .arena-main-actions>[data-action=tutorial] { grid-column:1/-1; min-height:48px; flex-direction:row; align-items:center; }
#arenaCreateForm { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-items:start; }
#arenaCreateForm>label { display:grid; gap:6px; }
#arenaRacePreview { justify-self:center; }
#arenaCreateIdentity,#arenaRaceGuide,#arenaCreateForm>button { grid-column:1/-1; }
.arena-race-options { gap:12px; }
.arena-sheet.sheet { padding:16px; }
.arena-sheet-columns { align-items:start; gap:16px; }
.arena-sheet .panel { margin:0 0 16px; padding:16px; }
.arena-sheet-values>div { min-width:0; align-items:baseline; padding:10px 0; }
.arena-sheet-values dt { flex:1 1 38%; min-width:0; }
.arena-sheet-values dd { min-width:0; max-width:62%; font-size:18px; text-align:right; overflow-wrap:anywhere; }
.arena-sheet-identity>.arena-sheet-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
.arena-sheet-identity>.arena-sheet-values>div { display:block; }
.arena-sheet-identity>.arena-sheet-values dd { max-width:none; text-align:left; margin-top:4px; }
.arena-battle-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; align-items:start; }
.arena-battle-main,.arena-battle-side { min-width:0; }
.arena-battle-side { display:grid; gap:18px; align-content:start; }
.arena-battle-side>.arena-combat-inventory,.arena-battle-side>.arena-chat { margin:0; }
.arena-battle-side .arena-log { margin-bottom:0; }
.arena-shell .arena-teams { grid-template-columns:minmax(0,1fr); gap:16px; align-items:start; }
.arena-shell .arena-teams .arena-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
.arena-teams>section>h3 { margin:0 0 10px; font-size:16px; line-height:1.4; }
.arena-shell .arena-combatant-card { padding:14px; gap:8px; font-size:15px; }
.arena-combatant-card .arena-combatant-heading { gap:12px; align-items:center; }
.arena-shell .arena-combatant-card .arena-portrait { width:64px; height:64px; flex:none; }
.arena-combatant-card .arena-combatant-heading h3 { font-size:20px; line-height:1.25; }
.arena-combatant-card .arena-combatant-heading p { font-size:13px; line-height:1.5; }
.arena-combatant-status,.arena-combatant-distance { font-size:13px; color:#d1c3b5; }
.arena-combatant-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0; }
.arena-combatant-values>div { min-width:0; padding:8px 6px; border:1px solid #685337; border-radius:8px; background:#15131c; text-align:center; }
.arena-combatant-values dt { font-size:12px; color:#d1c3b5; }
.arena-combatant-values dd { font-size:22px; line-height:1.3; font-weight:700; font-variant-numeric:tabular-nums; margin:2px 0 0; color:#edcd94; }
.arena-combatant-values>div:first-child dd { color:#b5e8cd; }
.arena-combatant-values>div:nth-child(2) dd { color:#d6bded; }
.arena-shell .arena-turn-controls { padding:16px; gap:12px; margin:16px 0 0; }
.arena-turn-controls>label { display:grid; gap:6px; }
.arena-turn-controls .arena-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.arena-turn-controls [data-action=attack] { grid-column:1/-1; background:linear-gradient(#e4c58c,#ad7c34); color:#241a10; border:1px solid #f0d49b; font-weight:700; }
.arena-turn-controls [data-action=flee] { color:#ffb6ad; border:1px solid #b56b65; }
.arena-combat-inventory li { flex-wrap:wrap; align-items:center; }
.arena-combat-inventory li>span { flex:1 1 160px; min-width:0; }
.arena-combat-inventory li>button { flex:0 1 auto; }
.arena-shell .arena-turn-clock { padding:12px 16px; gap:10px 20px; }
.arena-turn-clock strong { font-size:30px; }
.arena-battle-log>h3 { margin:0 0 10px; font-size:18px; }
.arena-battle-log .arena-log { margin-top:0; padding:12px 12px 12px 28px; }
.arena-chat form button { width:100%; }
.arena-chat-status { grid-column:1/-1; }
.arena-chat-status:empty { display:none; }
.arena-reward-table { max-width:100%; overscroll-behavior-x:contain; }
.arena-modal { box-sizing:border-box; width:min(700px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:20px; overscroll-behavior:contain; overflow-wrap:anywhere; }
.arena-modal :is(button,input,select,textarea) { min-height:48px; max-width:100%; font-size:16px; }
.arena-modal button { white-space:normal; }
.arena-modal .arena-roll-term { min-width:0; flex:1 1 90px; }
.arena-modal .dice-canvas { height:clamp(120px,28dvh,190px); }
.arena-modal .arena-warning-actions { gap:10px; }
.arena-modal .arena-warning-actions button { flex:1 1 130px; }

@media(min-width:600px) {
 .arena-shell .arena-teams { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .arena-nav-block>div { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .arena-nav-block button:last-child:nth-child(odd) { grid-column:auto; }
 .arena-shell .arena-main-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .arena-sheet-identity>.arena-sheet-values { grid-template-columns:repeat(3,minmax(0,1fr)); }
 #arenaCreateForm { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #arenaRacePreview { grid-column:1/-1; }
 #arenaCreateIdentity .character-identity-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .arena-shell .avatar-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; align-items:center; }
 .arena-shell .avatar-preview { margin:0; }
 .arena-shell .avatar-choices>details,.arena-shell .avatar-choices>small,.arena-shell .avatar-change-note { grid-column:1/-1; margin:0; }
}
@media(min-width:760px) {
 .arena-shell { padding:24px; }
 #arenaNav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .arena-sheet.sheet { padding:20px; }
 .arena-sheet-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .arena-shell .arena-combatant-card .arena-portrait { width:76px; height:76px; }
 .arena-chat form { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
 .arena-chat form label,.arena-chat form .arena-muted { grid-column:1/-1; }
 .arena-chat form button { width:auto; }
}
@media(min-width:760px) and (max-width:1099px) {
 #arenaNav .arena-nav-block button { font-size:14px; padding:10px 8px; }
}
@media(min-width:1100px) {
 .arena-shell { padding:28px 32px; }
 .arena-battle-layout { grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr); gap:24px; }
 .arena-shell .arena-main-actions { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .arena-fighting #arenaNav { grid-template-columns:1fr 1fr; }
 .arena-battle-side .arena-chat form { grid-template-columns:minmax(0,1fr); }
 .arena-battle-side .arena-chat form button { width:100%; }
}
@media(max-width:599px) {
 .arena-shell .arena-header h1 { font-size:30px; }
 .arena-shell #arenaIdentity { gap:14px; align-items:flex-start; }
 #arenaIdentityName { font-size:21px; line-height:1.4; }
 .arena-skin { flex:0 0 96px; }
 .arena-skin .arena-portrait { width:76px; height:76px; }
 .arena-skin button { font-size:13px; min-height:44px; padding:8px; width:100%; }
 .arena-shell .arena-main-actions button { min-height:126px; padding:14px; }
 .arena-shell .arena-main-actions strong { font-size:17px; }
 .arena-modal { padding:16px; }
 .arena-modal .arena-roll-outcome strong { font-size:28px; }
 .arena-fighting .arena-nav-block>div { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .arena-fighting .arena-nav-block button:last-child:nth-child(odd) { grid-column:auto; }
 .arena-fighting .arena-nav-block button { font-size:13px; }
 .arena-death-seal { font-size:20px; letter-spacing:2px; }
}
@media(max-height:500px) and (orientation:landscape) {
 .arena-modal { max-height:calc(100dvh - 16px); margin:8px auto; }
 .arena-modal .dice-canvas { height:120px; }
}
