<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>Демо v2 — воксельный рендер</title>
<style>
html, body { margin: 0; height: 100%; background: #17171d; }
body { display: grid; place-items: center; }
/* низкое разрешение бэкинг-стора, CSS-масштаб целый ×2, пиксели резкие */
canvas {
width: 960px;
height: 540px;
image-rendering: pixelated;
image-rendering: crisp-edges;
}
/* HUD: подсказка взаимодействия у точки */
#hint {
position: fixed;
top: 12px;
left: 50%;
transform: translateX(-50%);
padding: 6px 14px;
background: rgba(23, 23, 29, 0.85);
color: #d99a32;
font: 16px/1.4 monospace;
border: 1px solid #44454e;
border-radius: 4px;
white-space: nowrap;
}
/* Диалог: панель внизу экрана, реплика + варианты (кнопки) */
#dialog {
position: fixed;
bottom: 24px;
left: 50%;
transform: translateX(-50%);
width: 640px;
max-width: 92vw;
padding: 12px 16px;
background: rgba(23, 23, 29, 0.92);
color: #c9c9d2;
font: 16px/1.5 monospace;
border: 1px solid #44454e;
border-radius: 6px;
}
#dialog .speaker { color: #d99a32; font-weight: bold; }
#dialog .choices { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
#dialog .choices button {
text-align: left;
padding: 4px 10px;
background: #23232c;
color: #c9c9d2;
border: 1px solid #44454e;
border-radius: 3px;
font: inherit;
cursor: pointer;
}
#dialog .choices button:hover { border-color: #d99a32; color: #fff; }
#dialog .continue { margin-top: 8px; color: #626c4c; font-size: 13px; }
</style>
</head>
<body>
<canvas id="scene"></canvas>
<div id="hint" hidden></div>
<div id="dialog" hidden></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>