:root { --bg: #0f1115; --card: #1a1d23; --line: #2a2e36; --fg: #e8eaed; --mut: #9aa0a6; --ok: #34c759; --bad: #ff5a52; --btn: #2f6fed; }
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 16px/1.45 system-ui, sans-serif; }
#home { max-width: 640px; margin: 0 auto; padding: 16px; }
[hidden] { display: none !important; }
header { display: flex; align-items: center; gap: 10px; }
h1 { font-size: 22px; margin: 4px 0 12px; flex: 1; }
h2 { font-size: 16px; margin: 20px 0 6px; }
p { color: var(--mut); margin: 6px 0 12px; }
#notice { color: var(--bad); }
#lockstate { color: var(--mut); font-size: 14px; }
button { display: block; width: 100%; margin: 8px 0; padding: 13px; font: inherit; border: 0; border-radius: 10px; background: var(--btn); color: #fff; }
button.quiet { background: var(--card); color: var(--fg); border: 1px solid var(--line); }
button.small { width: auto; margin: 0; padding: 6px 12px; font-size: 14px; }
.machine { display: block; width: 100%; text-align: left; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin: 10px 0; color: var(--fg); }
.machine .top { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.dot { width: 10px; height: 10px; border-radius: 50%; background: var(--bad); }
.dot.up { background: var(--ok); }
.machine .seen { margin-left: auto; color: var(--mut); font-weight: 400; font-size: 14px; }
.machine .nums { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; color: var(--mut); font-size: 14px; }
pre { background: var(--card); border-radius: 10px; padding: 12px; white-space: pre-wrap; word-break: break-all; font-size: 13px; }
#termview { display: flex; flex-direction: column; height: 100dvh; }
#termbar { padding: 6px 8px; border-bottom: 1px solid var(--line); }
#termname { font-weight: 600; flex: 1; }
#termstate { color: var(--mut); font-size: 14px; }
#term { flex: 1; min-height: 0; padding: 4px; background: #000; }
#keys { display: flex; gap: 4px; padding: 4px; border-top: 1px solid var(--line); }
#keys button { flex: 1; margin: 0; padding: 10px 0; background: var(--card); border: 1px solid var(--line); font-size: 14px; }
#keys button.on { background: var(--btn); }
@media (hover: hover) and (pointer: fine) { #keys { display: none; } }
