35 lines
2.1 KiB
HTML
35 lines
2.1 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="referrer" content="no-referrer" />
|
|
<title>Ludarium Nintendo 64 player</title>
|
|
<style>
|
|
:root { color-scheme: dark; background: #07090d; font-family: Inter, system-ui, sans-serif; }
|
|
* { box-sizing: border-box; }
|
|
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: #07090d; }
|
|
body { display: grid; place-items: center; }
|
|
#canvas { width: min(100vw, calc(100vh * 4 / 3)); height: min(100vh, calc(100vw * 3 / 4)); outline: none; image-rendering: auto; }
|
|
#status { position: fixed; inset: 0; display: grid; place-content: center; gap: .65rem; padding: 2rem; text-align: center; background: radial-gradient(circle at 50% 35%, #17243a, #07090d 58%); z-index: 3; }
|
|
#status b { color: #f4f7fb; font-size: 1.05rem; }
|
|
#status span { color: #a8b3c4; max-width: 38rem; }
|
|
#status.error b { color: #ffb4ad; }
|
|
#controls { position: fixed; top: .75rem; right: .75rem; display: flex; gap: .45rem; z-index: 2; opacity: .18; transition: opacity 160ms ease; }
|
|
#controls:hover, #controls:focus-within { opacity: 1; }
|
|
button { border: 1px solid #526175; border-radius: .55rem; padding: .45rem .7rem; color: #edf3fa; background: #111927dd; cursor: pointer; }
|
|
button:disabled { opacity: .45; cursor: default; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<canvas id="canvas" width="640" height="480" tabindex="0" aria-label="Ludarium Nintendo 64 player"></canvas>
|
|
<nav id="controls" aria-label="Player controls">
|
|
<button id="save-state" type="button" disabled>Save state</button>
|
|
<button id="load-state" type="button" disabled>Load state</button>
|
|
<button id="fullscreen" type="button">Full screen</button>
|
|
</nav>
|
|
<div id="status" role="status"><b>Preparing the isolated Nintendo 64 player…</b><span>The ROM is read from its read-only library only after this explicit play action.</span></div>
|
|
<script src="/n64-player.js"></script>
|
|
</body>
|
|
</html>
|