*{box-sizing:border-box}html,body{color:#e8dcc0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;background:#0d0b06;min-height:100dvh;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.screen{display:flex;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items: center;gap:16px;min-height:100dvh}.screen h1{letter-spacing:.04em;color:#ffb000;margin:0;font-size:1.4rem}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:6px 8px;width:min(92vw,480px)}.topbar .topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items: center;gap:6px}.topbar .user{color:#8a7d5f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34vw;font-size:.75rem}.device{background:#17120a;border:2px solid #2c2314;border-radius:12px;padding:12px;box-shadow:0 0 24px #ffb0000f}.lcd{display:block;aspect-ratio:2;image-rendering:pixelated;touch-action:none;background:#120d05;border-radius:4px;width:min(86vw,448px)}.buttons{display:flex;gap:12px;width:min(92vw,480px)}.button{color:#e8dcc0;font:inherit;cursor:pointer;text-decoration:none;display:inline-flex;white-space:nowrap;background:#17120a;border:2px solid #2c2314;border-radius:10px;justify-content:center;align-items: center}.button:active{color:#ffb000;border-color:#ffb000}.button:disabled{opacity:.5}.button.pad{touch-action:none;user-select:none;-webkit-user-select:none;flex:1;min-height:64px;font-size:1.4rem}.button.small{padding:6px 10px;font-size:.8rem}.button.signin{color:#ffb000;border-color:#ffb000;padding:12px 24px;font-size:1.1rem}.status{color:#8a7d5f}.error{color:#ff6b57}.banner{color:#e8dcc0;display:flex;background:#3a1408;border:1px solid #ff6b57;border-radius:10px;flex-wrap:wrap;align-items: center;gap:8px;width:min(92vw,480px);padding:10px 14px;font-size:.9rem}.button.pad.pressed{color:#ffb000;background:#241a08;border-color:#ffb000}.conn{white-space:nowrap;font-size:.75rem}.conn.ok{color:#7ec850}.conn.bad{color:#ff6b57}
