@font-face{font-family:Bedstead;src:url(../fonts/bedstead.otf) format("opentype");font-display:block}:root{color-scheme:dark;--bezel: #1c1c1c;--panel: #2a2a2a;--ink: #e8e8e8}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#000;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app{height:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;gap:12px;padding:12px}.screen{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}#teletext{display:block;image-rendering:pixelated;cursor:default}.hint{grid-column:1 / -1;margin:0;font-size:13px;color:#8a8a8a;text-align:center}kbd{font-family:Bedstead,monospace;font-size:11px;padding:1px 4px;border:1px solid #555;border-radius:3px;color:#ddd}.remote-slot{display:flex;align-items:center}.remote{width:168px;padding:12px;border-radius:22px;background:linear-gradient(#333,var(--bezel));box-shadow:inset 0 1px #444,0 6px 20px #0009}.remote-toggle{width:100%;margin-bottom:10px;padding:6px;border:0;border-radius:8px;background:#444;color:#ddd;font-size:12px;cursor:pointer}.remote.collapsed .remote-toggle{margin-bottom:0}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.key{height:40px;border:0;border-radius:10px;background:var(--panel);color:#fff;font-family:Bedstead,monospace;font-size:16px;cursor:pointer;box-shadow:0 2px #111}.key:active{transform:translateY(1px);box-shadow:none}.key:focus-visible,.remote-toggle:focus-visible{outline:2px solid #0ff;outline-offset:2px}.key.mode{font-size:11px}.key.active{background:#0ff;color:#000}.fastext-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}.fx{height:24px}.fx-red{background:red}.fx-green{background:#0f0}.fx-yellow{background:#ff0}.fx-cyan{background:#0ff}.reveal{width:100%}@media(max-width:820px){.app{grid-template-columns:1fr;grid-template-rows:auto auto auto}.screen{height:62vh}.remote-slot{justify-content:center}.remote{width:min(100%,360px)}.keypad{grid-template-columns:repeat(6,1fr)}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:pre-line;border:0}#sr-view:focus{position:fixed;inset:auto 12px 12px 12px;width:auto;height:auto;max-height:50vh;margin:0;padding:12px;overflow:auto;clip:auto;background:#111;color:#fff;border:2px solid #0ff;font-family:Bedstead,monospace;font-size:14px;z-index:10}
