/* Shared in-game shell: loading, settings, stats — no controller UI */
#ash-game-shell { position: fixed; inset: 0; z-index: 99980; pointer-events: none; font-family: "IBM Plex Sans", system-ui, sans-serif; }
#ash-game-shell * { box-sizing: border-box; }

#ash-load-screen {
  position: fixed; inset: 0; z-index: 99985; pointer-events: none;
  display: flex; align-items: center; justify-content: center;
  background: #0a0c10; color: #e8ecf4;
  transition: opacity .45s ease;
}
#ash-load-screen.blocking { pointer-events: auto; }
#ash-load-screen.hide { opacity: 0; pointer-events: none; }
#ash-load-screen .inner { text-align: center; max-width: 22rem; padding: 1.5rem; }
#ash-load-screen .brand { font-family: "Bebas Neue", Impact, sans-serif; font-size: 2rem; letter-spacing: .12em; color: #ffb347; }
#ash-load-screen .tip { font-size: .82rem; color: #8a94a8; margin-top: .75rem; line-height: 1.45; }
#ash-load-screen .bar { height: 4px; background: rgba(255,255,255,.1); border-radius: 99px; margin-top: 1rem; overflow: hidden; }
#ash-load-screen .bar i { display: block; height: 100%; width: 0%; background: linear-gradient(90deg, #00d4aa, #ffb347); animation: ashLoadBar 1.2s ease forwards; }
@keyframes ashLoadBar { to { width: 100%; } }

#ash-settings-btn {
  position: fixed; top: max(.5rem, env(safe-area-inset-top)); left: max(.5rem, env(safe-area-inset-left));
  z-index: 99981; pointer-events: auto;
  width: 2.2rem; height: 2.2rem; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.2); background: rgba(12,14,20,.85);
  color: #c8d0dc; font-size: 1rem; cursor: pointer;
}
#ash-settings-btn:hover { border-color: #ffb347; color: #ffb347; }

#ash-settings-panel {
  position: fixed; top: max(3rem, calc(env(safe-area-inset-top) + 2.5rem)); left: max(.5rem, env(safe-area-inset-left));
  z-index: 99982; pointer-events: auto; width: min(16rem, 92vw);
  padding: .85rem; border-radius: 12px;
  background: rgba(14,16,22,.96); border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 40px rgba(0,0,0,.45);
  display: none;
}
#ash-settings-panel.show { display: block; }
#ash-settings-panel h3 { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #8a94a8; margin: 0 0 .5rem; }
#ash-settings-panel label { display: block; font-size: .72rem; color: #a8b0c0; margin-bottom: .25rem; }
#ash-settings-panel input[type="range"] { width: 100%; margin-bottom: .65rem; accent-color: #00d4aa; }
#ash-settings-panel select { width: 100%; padding: .4rem; border-radius: 6px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); color: #e8ecf4; margin-bottom: .5rem; }

.ash-stats-panel {
  margin: .75rem auto 0; max-width: 28rem; text-align: left;
  padding: .65rem .75rem; border-radius: 10px;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  font-size: .78rem; color: #9aa4b8; line-height: 1.55;
}
.ash-stats-panel strong { color: #e8ecf4; font-weight: 600; }

.ash-briefing {
  margin-top: .75rem; padding: .75rem; border-radius: 10px; text-align: left;
  background: rgba(232,163,23,.08); border: 1px solid rgba(232,163,23,.25);
}
.ash-briefing h3 { font-family: "Bebas Neue", Impact, sans-serif; letter-spacing: .08em; color: #e8a317; margin-bottom: .35rem; }
.ash-briefing p { font-size: .82rem; color: #b8c0cc; line-height: 1.45; }

#daily-contract {
  margin: .65rem auto; max-width: 34rem; padding: .55rem .75rem;
  border-radius: 10px; background: rgba(74,154,72,.15); border: 1px solid rgba(126,200,90,.35);
  font-size: .82rem; color: #c8e8c8;
}
#daily-contract strong { color: #7ec85a; }
