<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>shellphone</title>
<link rel="stylesheet" href="/assets/terminal.css">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; background: #1e1e2e; overflow: hidden; }
#terminal { width: 100%; position: absolute; top: 0; bottom: 0; }
#status {
position: fixed; top: 0; left: 0; right: 0;
padding: 4px 12px;
font-family: monospace; font-size: 12px;
color: #cdd6f4; background: #313244;
z-index: 10;
}
#status.connected { background: #1e6640; }
#status.error { background: #8b2525; }
#status.reconnecting { background: #7c5a00; }
#toolbar {
display: none;
position: fixed; bottom: 0; left: 0; right: 0;
background: #313244; border-top: 1px solid #45475a;
padding: 6px 4px; z-index: 10;
gap: 3px;
justify-content: center;
}
#toolbar button {
background: #45475a; color: #cdd6f4; border: none; border-radius: 4px;
font-family: monospace; font-size: 14px;
height: 40px;
padding: 0;
flex: 1 1 0;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}
#toolbar button:active { background: #585b70; }
#toolbar .spacer { width: 6px; flex-shrink: 0; }
</style>
</head>
<body>
<div id="status">Connecting...</div>
<div id="terminal"></div>
<div id="toolbar">
<button data-key="Escape">Esc</button>
<button data-key="Tab">Tab</button>
<div class="spacer"></div>
<button data-key="ArrowUp">↑</button>
<button data-key="ArrowDown">↓</button>
<button data-key="ArrowLeft">←</button>
<button data-key="ArrowRight">→</button>
<button data-key="Enter">Enter</button>
</div>
<script type="module" src="/assets/terminal.js"></script>
</body>
</html>