@font-face { font-family: 'SNJayne'; src: url('fonts/jayne.ttf') format('truetype'); }
@font-face { font-family: 'SNArialB'; src: url('fonts/arialb.ttf') format('truetype'); }
@font-face { font-family: 'SNArial14'; src: url('fonts/arial14.ttf') format('truetype'); }
@font-face { font-family: 'SNNiamey'; src: url('fonts/niamey.ttf') format('truetype'); }

:where(html, html *) { scrollbar-width:thin; scrollbar-color:#d3d3c4 #4b4b44; }
:where(html) ::-webkit-scrollbar { width:9px; height:9px; }
:where(html) ::-webkit-scrollbar-track { background:#4b4b44; border-radius:5px; }
:where(html) ::-webkit-scrollbar-thumb { background:#d3d3c4; border-radius:5px; border:2px solid transparent; background-clip:padding-box; }

html, body { margin: 0; height: 100%; background: #000; overflow: hidden; touch-action: manipulation; }
#wrap { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; }
#stage { position: relative; width: 800px; height: 600px; flex: none; transform-origin: 50% 50%; overflow: hidden;
  -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
#c { position: absolute; left: 0; top: 0; width: 800px; height: 600px; display: block; }
[hidden] { display: none !important; }

.ov { position: absolute; left: 0; top: 0; transform-origin: 0 0; box-sizing: border-box; margin: 0; }

#rules { overflow: hidden; -webkit-user-select: text; user-select: text; }
#rules p { margin: 0; }
#rulesbar { background: #4b4b44; border: 1px solid #8a8a7c; box-sizing: border-box; cursor: default; }
#rulesthumb { position: absolute; left: 1px; right: 1px; top: 0; background: #d3d3c4; border: 1px solid #f0f0e6; box-sizing: border-box; }

#note { position: absolute; left: 200px; top: 280px; width: 400px; text-align: center; font: 14px Arial, sans-serif; color: #ddd; }
