:root{
  --panel:rgba(10,14,18,.88);
  --panel-strong:rgba(8,11,15,.96);
  --gold:#d6b15f;
  --gold-soft:#f2ddb0;
  --text:#f7f1e6;
  --muted:#c7c2b7;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#11171a}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
button{font:inherit}
.sprite-world-game{position:fixed;inset:0;overflow:hidden;isolation:isolate;background:
  radial-gradient(circle at 52% 18%,rgba(215,232,212,.18),transparent 32%),
  linear-gradient(180deg,#667570 0 34%,#374741 34% 100%);
  touch-action:none;
}
#spriteWorldCanvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}
.sprite-hud,.sprite-top-tools,.sprite-character-switcher,.sprite-mobile-controls,.sprite-help{position:absolute;z-index:100}
.sprite-hud{
  top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));
  max-width:min(540px,72vw);padding:11px 15px;border:1px solid rgba(214,177,95,.72);
  border-radius:16px;background:linear-gradient(180deg,rgba(15,19,23,.93),rgba(9,12,16,.88));
  box-shadow:0 14px 40px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.05);pointer-events:none;
}
.sprite-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(19px,2.2vw,30px);font-weight:700;letter-spacing:.025em;color:#f0d89d;text-shadow:0 1px 0 #000}
#spriteStatus{margin-top:3px;font-size:12px;line-height:1.35;color:var(--muted)}
.sprite-top-tools{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));display:flex;gap:8px}
.sprite-top-tools button,.sprite-character-switcher button,.sprite-mobile-controls button{
  border:1px solid rgba(214,177,95,.68);background:linear-gradient(180deg,rgba(24,29,34,.96),rgba(11,15,19,.96));color:var(--text);
  box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);-webkit-tap-highlight-color:transparent;
  user-select:none;-webkit-user-select:none;touch-action:none;cursor:pointer
}
.sprite-top-tools button{padding:10px 14px;border-radius:12px;font-size:12px;font-weight:800}
.sprite-top-tools button:active,.sprite-character-switcher button:active,.sprite-mobile-controls button.is-held,.sprite-mobile-controls button:active{
  transform:translateY(1px);background:linear-gradient(180deg,rgba(99,78,38,.96),rgba(40,31,16,.98));
}
.sprite-character-switcher{
  left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(84px,1fr));
  width:min(560px,62vw);gap:6px;padding:7px;border:1px solid rgba(214,177,95,.58);border-radius:16px;background:rgba(7,10,13,.78);backdrop-filter:blur(7px);
}
.sprite-character-switcher button{min-height:42px;border-radius:11px;padding:7px 10px;font-size:12px;font-weight:800}
.sprite-character-switcher button.is-active{color:#17120a;background:linear-gradient(180deg,#f2d482,#bc8e38);border-color:#ffdfa0;text-shadow:none}
.sprite-mobile-controls{
  left:0;right:0;bottom:max(14px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:flex-end;
  padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));pointer-events:none;
}
.sprite-dpad,.sprite-actions{pointer-events:auto}
.sprite-dpad{display:grid;grid-template-columns:62px 62px 62px;grid-template-rows:56px 56px;gap:6px}
.sprite-dpad button{min-width:62px;min-height:56px;border-radius:14px;font-size:27px;font-weight:900}
.sprite-dpad [data-hold="up"]{grid-column:2;grid-row:1}
.sprite-dpad [data-hold="left"]{grid-column:1;grid-row:2}
.sprite-dpad [data-hold="down"]{grid-column:2;grid-row:2}
.sprite-dpad [data-hold="right"]{grid-column:3;grid-row:2}
.sprite-actions{display:grid;grid-template-columns:74px 74px;grid-template-rows:56px 56px;gap:6px}
.sprite-actions button{border-radius:14px;font-size:11px;font-weight:900;padding:7px}
.sprite-actions [data-hold="run"]{grid-column:1;grid-row:1 / span 2}
.sprite-actions [data-game-action="jump"]{grid-column:2;grid-row:1}
.sprite-actions [data-game-action="attack"]{grid-column:2;grid-row:2}
.sprite-help{left:50%;bottom:74px;transform:translateX(-50%);display:flex;gap:10px;padding:7px 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(6,9,12,.63);font-size:10px;color:#edf0ed;pointer-events:none;white-space:nowrap}
@media (pointer:coarse),(max-width:900px){
  .sprite-help{display:none}
  .sprite-top-tools{top:max(72px,env(safe-area-inset-top))}
  .sprite-top-tools button{padding:8px 10px;font-size:11px}
  .sprite-hud{max-width:68vw}
  .sprite-title{font-size:18px}
  .sprite-character-switcher{bottom:136px;width:min(96vw,560px);grid-template-columns:repeat(4,1fr)}
  .sprite-character-switcher button{min-height:38px;padding:6px 4px;font-size:11px}
}
@media (pointer:fine) and (min-width:901px){.sprite-mobile-controls{opacity:.38}}
@media (max-width:560px){
  .sprite-dpad{grid-template-columns:54px 54px 54px;grid-template-rows:50px 50px;gap:5px}
  .sprite-dpad button{min-width:54px;min-height:50px;font-size:24px}
  .sprite-actions{grid-template-columns:66px 66px;grid-template-rows:50px 50px;gap:5px}
  .sprite-character-switcher{bottom:126px}
  .sprite-hud{padding:9px 11px}
  #spriteStatus{font-size:11px}
}
@media (max-width:410px){
  .sprite-dpad{grid-template-columns:48px 48px 48px;grid-template-rows:46px 46px}
  .sprite-dpad button{min-width:48px;min-height:46px}
  .sprite-actions{grid-template-columns:60px 60px;grid-template-rows:46px 46px}
  .sprite-character-switcher{bottom:114px}
}
