@font-face{font-family:'Russo One';src:url('./fonts/RussoOne-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{font-family:'Russo One','Segoe UI',sans-serif}
button,select,input,.team strong,.round,.battle-strip{font-family:'Russo One','Segoe UI',sans-serif;font-weight:400}
.weapon .ammo{font-family:'Russo One',sans-serif;font-size:16px;line-height:1;top:1px;right:2px;color:#fff5d5;opacity:1;z-index:1;text-shadow:-1px -1px #173035,1px -1px #173035,-1px 1px #173035,1px 1px #173035,0 2px 2px #071e22;font-variant-numeric:tabular-nums;min-width:15px;text-align:center;pointer-events:none}
.weapon .icon{transform:translateX(-3px)}
.health-track{height:14px;border:2px solid #cda65f;border-radius:8px;background:#0d282b;box-shadow:0 1px 0 #071c20,inset 0 1px 2px #071c20;overflow:hidden}
.health-track i{border-radius:5px;background:linear-gradient(#e6ffa4,#a9d967);box-shadow:inset 0 2px #ffffff40,inset 0 -2px #17362d33}
.team-b .health-track i{background:linear-gradient(#ffd1b5,#ee9576)}
.team b{margin-bottom:5px}.round b{font-weight:400}.brand{font-weight:400;letter-spacing:-1px}.brand small{letter-spacing:2px}
@media(max-width:800px){.weapon .ammo{font-size:16px;right:1px;top:1px}.team b{font-size:9px}.team strong{font-size:9px}.health-track{height:14px}.brand small{font-size:6px;letter-spacing:1.3px}}
@media(max-height:500px){.weapon .ammo{font-size:15px;top:0}.team b{margin-bottom:3px}.health-track{height:12px}}

#themeStatus:empty{display:none}#themeStatus{font-size:12px;line-height:1.5;margin:8px 0}

.world-wrap[data-overview="true"] .map-label,.world-wrap[data-overview="true"] .wind{display:none}
.world-wrap .wind{left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;pointer-events:none}
body.touch-mode .world-wrap #overview{left:auto;right:8px;transform:none}
@media(max-width:800px){.world-wrap .map-label{display:flex;align-items:center;max-width:calc(50% - 58px)}.world-wrap .map-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.world-wrap .map-label i{flex-shrink:0}body.touch-mode .world-wrap #overview{max-width:calc(50% - 58px)}}
nav #setupButton{width:auto;min-width:108px;padding:0 10px;white-space:nowrap;font-size:12px;flex-shrink:0}
#mapSeed{width:100%;padding:9px;color:#f1d698;background:#122f32;border:1px solid #bd9a5d;border-radius:0}
@media(max-width:500px){header .brand{font-size:14px;padding-left:27px}header .brand small{display:none}header .brand-icon{width:23px;height:23px}header nav{gap:2px}header nav button{width:34px;font-size:14px}header nav select{width:50px}nav #setupButton{min-width:88px;padding:0 4px;font-size:10px}}
@media(max-width:380px){header .brand{font-size:0;width:28px;padding-left:0}header .brand>span:not(.brand-icon){font-size:0}}

/* Center content inside the painted frame instead of padded native baselines. */
header nav button{display:inline-grid;place-items:center;text-align:center;line-height:1;padding:0}
header nav select{appearance:none;text-align:center;text-align-last:center;line-height:1;padding:0}

.terrain-setting{border-top:1px solid #d4ab6544;margin-top:20px;padding-top:12px}.terrain-setting h3{font-size:13px;color:#f0d397}.terrain-setting label{display:grid;grid-template-columns:1fr auto;gap:12px}.terrain-setting input{grid-column:1/-1;width:100%;accent-color:#d7f68c}.terrain-setting p{font-size:11px;line-height:1.5;color:#b7cdc7}
#displayDialog,#advancedDialog{max-height:calc(100dvh - 24px);overflow:auto}
#advancedDialog .terrain-setting{border-top:0;margin-top:0;padding-top:0}#advancedDialog label{margin:16px 0}
@media(min-width:801px) and (hover:hover) and (pointer:fine){
 header{flex-basis:48px;height:48px}
 main{max-width:none;width:100%;padding:6px 6px 8px;margin:0}
 .scoreboard{flex-basis:56px;height:56px;padding-left:max(22px,calc((100vw - 1320px)/2));padding-right:max(22px,calc((100vw - 1320px)/2))}
 .battle-strip{flex-basis:34px;min-height:34px;padding-left:max(22px,calc((100vw - 1320px)/2));padding-right:max(22px,calc((100vw - 1320px)/2))}
 .controls{width:min(1320px,100%);margin:8px auto 0}
}
.ultimate-track{position:relative;height:7px;margin-top:6px;background:#071e25;border:1px solid #d8b775;border-radius:5px;overflow:visible}.ultimate-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7a74bf,#ffe393);border-radius:4px}.ultimate-track span{position:absolute;right:0;top:-1px;font-size:7px;line-height:8px;color:white;text-shadow:0 1px 2px black}.weapon[data-weapon=ultimate]{border-color:#e7cd85}.weapon[data-weapon=ultimate] .ammo{font-size:13px}
.weapon .shot-count{position:absolute;left:6px;top:5px;font-size:11px;color:#fff4c9;text-shadow:1px 1px 2px #102a2b;pointer-events:none}
