@font-face {
  font-family:"Orbit Pixel";
  src:url("assets/orbit-pixel.woff") format("woff");
  font-display:swap;
}
:root {
  color-scheme:dark;
  --ink:#211923;
  --paper:#f1dbb7;
  --dust:#c5aa91;
  --rust:#ab5138;
  font:16px/1.5 "Orbit Pixel",sans-serif;
  color:var(--paper);
  background:var(--ink);
}
* { box-sizing:border-box }
[hidden] { display:none !important }
body { margin:0; overflow:hidden }
.stage { position:relative; height:100vh; height:100dvh; overflow:hidden; background:#201823 }
#game { display:block; width:100%; height:100%; image-rendering:pixelated; cursor:crosshair }
#combatHud { position:absolute; inset:0; pointer-events:none; image-rendering:pixelated }
.overlay { position:absolute; inset:0; display:flex; align-items:center; padding:clamp(16px,7vw,110px); overflow:auto }
.card { width:min(420px,100%); margin:auto 0; padding:26px 24px; background:#261d29; border:2px solid #82644f; box-shadow:6px 6px #130f18 }
h1 { margin:0 0 20px; font-size:32px; line-height:1.12; font-weight:400 }
.actions { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px }
button,select { border:2px solid #82644f; padding:6px 9px; background:#45313a; color:var(--paper); font:inherit; cursor:pointer }
button.primary { background:var(--paper); color:var(--ink); border-color:var(--paper) }
button:hover,button:focus-visible,select:focus-visible,summary:focus-visible,input:focus-visible { outline:2px solid var(--paper); outline-offset:2px }
details { color:var(--dust) }
summary { width:max-content; cursor:pointer; color:var(--paper) }
dl { margin:12px 0 0 }
dt { color:var(--paper); margin-top:8px }
dd { margin:0 }
#notice { position:absolute; top:45%; left:50%; transform:translate(-50%,-50%); text-align:center; white-space:pre-line; pointer-events:none; font-size:32px; text-shadow:2px 2px var(--ink) }
#notice:empty { display:none }
.map-picker { margin:0 0 15px }
.map-picker label { margin-right:10px }
.map-picker p { margin:8px 0 0; color:var(--dust) }
.aim-setting { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:12px }
.aim-setting label { flex:1 0 100% }
.aim-setting input { accent-color:#91bdae }
.pause-mode { flex:1 0 100%; margin-bottom:4px }
.pause-mode select { margin-left:8px }
