#demo-web-invaders{--engine-bg:#f3ece4;--engine-paper:#fbf6ef;--engine-ink:#2d2925;--engine-orange:#c95d14;--engine-room:#f6d39b;--engine-line:rgba(45,41,37,.16);font-family:Arial,sans-serif;color:var(--engine-ink)}#demo-web-invaders *{box-sizing:border-box}#demo-web-invaders button,#demo-web-invaders input{font:inherit}#demo-web-invaders .engine-demo{width:min(1180px,100%);margin:auto;padding:24px;border:1px solid var(--engine-line);background:radial-gradient(circle at 12% 8%,rgba(201,93,20,.08),transparent 28%),var(--engine-bg)}#demo-web-invaders .engine-demo__header{display:flex;justify-content:space-between;gap:24px;margin-bottom:18px}#demo-web-invaders .engine-demo__header h2{margin:4px 0 8px;font-size:clamp(28px,4vw,42px)}#demo-web-invaders .engine-demo__header p{max-width:680px;margin:0;line-height:1.6}#demo-web-invaders .engine-demo__eyebrow{color:var(--engine-orange);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}#demo-web-invaders .engine-demo__stats{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px}#demo-web-invaders .engine-demo__stats span{padding:10px 12px;border:1px solid var(--engine-line);background:rgba(255,255,255,.42);font-size:12px}#demo-web-invaders .engine-demo__stats strong{display:block;margin-top:4px;color:var(--engine-orange);font-size:17px}#demo-web-invaders .engine-demo__toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:14px;border:1px solid var(--engine-line);background:rgba(255,255,255,.35)}#demo-web-invaders .engine-demo__tabs{display:flex;flex-wrap:wrap;gap:6px}#demo-web-invaders .engine-demo__toolbar label{display:grid;gap:6px;min-width:150px;margin-left:auto;font-size:12px;font-weight:700}#demo-web-invaders .engine-demo__toolbar input{padding:10px;border:1px solid var(--engine-line);background:var(--engine-paper)}#demo-web-invaders button{min-height:42px;padding:0 15px;border:1px solid var(--engine-orange);background:var(--engine-orange);color:#fff;cursor:pointer;font-weight:700}#demo-web-invaders button.secondary,#demo-web-invaders [data-mode]:not([aria-selected=true]){background:0 0;color:var(--engine-orange)}#demo-web-invaders [data-mode][aria-selected=true]{background:var(--engine-ink);border-color:var(--engine-ink)}#demo-web-invaders .engine-demo__layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;margin-top:14px}#demo-web-invaders .engine-demo__stage{padding:12px;overflow:auto;border:1px solid var(--engine-line);background:var(--engine-paper)}#demo-web-invaders canvas{display:block;max-width:100%;height:auto;margin:auto;image-rendering:pixelated}#demo-web-invaders .engine-demo__panel{display:grid;align-content:start;gap:12px}#demo-web-invaders .engine-demo__panel section{padding:14px;border:1px solid var(--engine-line);background:rgba(255,255,255,.42)}#demo-web-invaders .engine-demo__panel h3{margin:0 0 10px;font-size:16px}#demo-web-invaders .engine-demo__panel p{margin:5px 0;font-size:13px;line-height:1.45}#demo-web-invaders .engine-demo__inventory{display:flex;flex-wrap:wrap;gap:6px;font-size:13px}#demo-web-invaders .engine-demo__inventory span{padding:5px 8px;border:1px solid rgba(201,93,20,.25);background:rgba(201,93,20,.08)}#demo-web-invaders .engine-demo__message{min-height:45px;margin-top:12px;padding:12px 14px;border-left:4px solid var(--engine-orange);background:rgba(201,93,20,.08);font-weight:700}#demo-web-invaders .engine-demo__legend{display:flex;flex-wrap:wrap;gap:13px;margin-top:12px;font-size:12px}#demo-web-invaders .engine-demo__legend span{display:flex;align-items:center;gap:5px}#demo-web-invaders .engine-demo__mobile-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#demo-web-invaders .engine-demo__mobile-controls button{min-width:0;padding:0}#demo-web-invaders [data-move=up]{grid-column:2}#demo-web-invaders [data-move=left]{grid-column:1}#demo-web-invaders [data-action-mobile]{grid-column:2}#demo-web-invaders [data-move=right]{grid-column:3}#demo-web-invaders [data-move=down]{grid-column:2}#demo-web-invaders .engine-demo__legend i{display:inline-grid;place-items:center;flex:0 0 auto;width:15px;height:15px;margin:0;border:1px solid rgba(45,41,37,.35);font-size:8px;font-style:normal;font-weight:700;line-height:1}#demo-web-invaders .legend-cell{border-radius:0}#demo-web-invaders .legend-object{width:12px;height:12px;border-radius:50%;color:#fff}#demo-web-invaders .wall{background:#2d2925}#demo-web-invaders .room{background:#fffaf1;color:#2d2925}#demo-web-invaders .corridor{background:#c8c8c8}#demo-web-invaders .player{background:#fff;border:2px solid #c95d14 !important}#demo-web-invaders .key{background:#f2d300;color:#2d2925}#demo-web-invaders .door{background:#d100cf;color:#fff}#demo-web-invaders .door-open{background:#9a789a;color:#fff}#demo-web-invaders .shop{background:#2a9a45}#demo-web-invaders .teleporter{background:#00e5df;box-shadow:inset 0 0 0 2px #4d2a73}#demo-web-invaders .secret{background:#00c8cf}#demo-web-invaders .chest{background:#f0aa00}#demo-web-invaders .quest{background:#55c934}#demo-web-invaders .npc{background:#2d77d0}#demo-web-invaders .enemy{background:#e72d2d}#demo-web-invaders .nest{background:#6f5b3a}#demo-web-invaders .isolated{background:#b85c4b}#demo-web-invaders .exit{background:#7fff00;color:#2d2925}#demo-web-invaders .engine-demo__stage{position:relative}#demo-web-invaders .engine-demo__modal{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:rgba(45,41,37,.46)}#demo-web-invaders .engine-demo__modal[hidden]{display:none}#demo-web-invaders .engine-demo__modal-panel{position:relative;width:min(390px,calc(100% - 20px));padding:28px 24px 22px;border:2px solid var(--engine-orange);background:var(--engine-paper);box-shadow:0 12px 35px rgba(45,41,37,.28);text-align:center}#demo-web-invaders .engine-demo__modal-close{position:absolute;top:8px;right:8px;width:34px;min-height:34px;padding:0;border:0;background:0 0;color:var(--engine-ink);font-size:26px;line-height:1}#demo-web-invaders .engine-demo__modal-text{margin:10px 0 20px;font-size:18px;font-weight:700;line-height:1.45}#demo-web-invaders .engine-demo__modal-button{min-width:120px}@media (max-width:820px){#demo-web-invaders .engine-demo__header{display:block}#demo-web-invaders .engine-demo__stats{margin-top:15px}#demo-web-invaders .engine-demo__layout{grid-template-columns:1fr}#demo-web-invaders .engine-demo__panel{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){#demo-web-invaders .engine-demo{padding:15px}#demo-web-invaders .engine-demo__stats,#demo-web-invaders .engine-demo__panel{grid-template-columns:1fr}#demo-web-invaders .engine-demo__toolbar label{width:100%;margin-left:0}}